본문 바로가기

SW 개발 공부/실수 기록

UDP 멀티캐스트 1

개요) IP 주소 클래스

 

A, B, C, D ,E

 

멀티캐스트는 D class 영역의 주소를 사용한다.

(224.0.0.0 ~ 239.255.255.255)

 

C 클래스로 설정한 pc 장치의 ip 주소의 네트워크 ID 영역이 동일할때,

프로그램 내에서 D 클래스 영역의 IP주소로 데이터를 전송하면해당 멀티캐스트 주소에 join한 모든 장치들은 데이터를 수신할 수 있다.

 

단, 각 이더넷 장치의 IP 주소는 233.0.0.0보다 크게 설정할 수 없는데, 이유는 무엇인가?

=> 네트워크 통신이 가능한 영역의 주소의 한계?

 

즉, 같은 네트워크 ID로 연결되어있는 네트워크 상에서

수신자가 멀티캐스트 주소를 join한다면 모두 데이터를 수신할 수 있다.

 

< 예제 >

 

[멀티 캐스트 서버( 송신)]

 

IPAddresss destIP = IPAdress.Parse("229.1.1.229");

int portNum= 2222;

 

UdpClient udp = new UdpClient();

IPEndPoint multicastEP = new IPEndPoint(destIP,portNum);

 

udp.Send(dgram,dgram.Length,multicastEP);

 

- 다른 udp 전송과 동일함.

 

[멀티 캐스트 클라이언트(수신)]