UDP에서 유명한 멀티캐스팅(Multi Casting)과 브로드캐스팅(Broad Casting)에 대해서 알아보자.
*참고 유니캐스트(Unicast)는 1대1 통신, 멀티캐스팅과 브로드캐스팅은 1대 다통신이다.
멀티캐스팅 (MultiCasting)
UDP 소켓 기반
멀티캐스팅은 TTL 개념이 있다. (Time-To-Live)
TTL 설정 값에 따라서 해외까지 송출이 가능하다.
한 번만 전송하기 때문에 전송방식은 같지만 트래픽 양이 적다.
멀티캐스트 그룹을 대상으로 데이터를 딱 한 번 전송한다.
TTL이 라우터 거친 수에 따라서 1씩 감소하고, 0이되면 패킷이 소멸된다.
브로드캐스팅(BroadCasting)
UDP 소켓 기반
1. Directed 브로드캐스트 <Broadcast IP of each Subnet>
- Send Packet to every host on local IP network.
- Send Packet to every host on foreign IP network.
ex) ping 10.1.1.255
- 1 1 -> 255.255 해당 네트워크에 있는 모든 호스트에게 전달 된다.
2. Local 브로드캐스트
- Send Packet to every host on local IP network.
ex) ping 255.255.255.255
- 255.255.255.255 전송한 호스트가 속한 네트워크로 데이터가 전송된다.
하나의 네트워크로 연결되어 있는 집단내에서의 데이터 전달 목적 (ex 국내 방송)
데이터 전송 대상이 호스트가 아닌 네트워크다.
서브넷이란? (Subnet)
서브넷은 IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크를 뜻한다.
이러한 서브넷을 만들 때 사용하는 것이 서브넷 마스크이다.
서브넷마스크는 IP주소를 네트워크 ID와 호스트 ID를 분리학는 역할을 한다.
예를들어 C클래스크는 앞의 24비트는 NETWORK ID, 뒤의 8비트는 HOST ID이다.
이 때, 서브넷마스크를 이용하면 원본 네트워크를 여러개의 네트워크로 분리할 수 있다.
이러한 과정을 서브넷팅(Subnetting)이라고 한다.
IP 어드레스에서 서브넷마스크를 AND 연산을 하면 Network ID를 구할 수 있다.
예제에서 할당 가능한 호스트 수는 2^8-2 = 254개이다.
192.168.32.0은 Network Address로 쓰이고 마지막 주소인 192.168.32.255는 Broadcast로 쓰이기 때문에 호스트에 할 당 할 수 없기 때문이다.
이제 서브넷 마스크의 비트 수를 1 증가하여 192.168.32.0/25로 변경하게 된다면 아래 그림처럼 된다.
위 그림을 보면 네트워크 수가 어떻게 2개로 늘어났는지 이해하기 쉬울 것이다.
Network ID = First IP Address in each Sub-Network
Broadcast IP = Last IP Address in each Sub-Network
First HOST IP = IP Address after the Network ID
LAST HOST IP = IP Address before the Broadcast IP
Next Network = IP Address after Broadcast IP
IP Address = Number of IP addresses in sub-network
CIDR/Subnet = Converting between CIDR/Subnet Mask
서브넷팅 관련 잘 정리 된 글 : https://code-lab1.tistory.com/34
서브넷팅 관련 잘 정리 된 동영상: https://www.youtube.com/watch?v=BWZ-MHIhqjM
[네트워크] 서브넷, 서브넷마스크, 서브넷팅이란? | 서브넷팅 예제
서브넷의 등장 배경 흔히 사용되는 IPv4 주소 체계는 클래스를 나누어 IP를 할당한다. 하지만 이 방식은 매우 비효율적이다. 예를 들어 어떤 기관에 A 클래스를 할당한다고 하면 16,777,214개의 호스
code-lab1.tistory.com
'Tech Blog > TCP-IP' 카테고리의 다른 글
IPC란 ? (Inter-Process Communication) (0) | 2023.01.30 |
---|---|
3way HandShaking, 4way HandShaking (0) | 2023.01.30 |
TCP IP의 I/O 모델 (Linux & Windows) (0) | 2023.01.29 |
빅엔디안과 리틀엔디안 (0) | 2023.01.27 |
TCP / IP 소켓 프로그래밍 기초 다지기 (0) | 2021.07.07 |