본문 바로가기

IT Tech/Network

멀티캐스트(Multicast) 개론 간략 정리

반응형






1. H/W multicast (대부분의 경우 이더넷 멀티캐스트)
이더넷 멀티캐스트 주소 : 01.00.00.00.00.00
최상위 옥텟중 최하위 비트를 사용함


2. IP Multicast
best-effort => 멀티캐스트 데이타그램이 손실, 지연, 중복 또는 순서가 틀리게 전달될 수도 있다.
멀티캐스트 주소는 무조건 destination 필드에만 올 수 있다.

Class D : 224.0.0.0 ~ 239.255.255.255

224.0.0.0
예약되어 어떤 그룹에도 할당될 수 없다.

224.0.0.1
IP 멀티캐스트에 참여하는 모든 호스트와 라우터를 포함하는 all hosts group에 영구히 할당, 지역망에서 주로 사용되고 인터넷에서 모든 호스트를 지시하는 IP 멀티캐스트 주소는 없다.



3. IP 멀티캐스트 => 이더넷 멀티캐스트 Mapping

IP Multicast 주소의 하위 23비트를 특정 Ethernet Multicast 주소인 01.00.5E.00.00.00의 하위 23비트에 넣어준다.

ex) 224.0.0.1 => 01.005E.00.00.01


IP Multicast 주소는 멀티캐스트 그룹을 식별하는 28비트 중에서 23비트를 사용하기때문에 유일하지는 않지만 23비트가 동일한 주소를 선택할 가능성은 적다. (절충안)


4. IGMP
- 멀티캐스트 라우터와 호스트는 IGMP를 사용해서 멀티캐스트 멤버쉽 정보를 전달한다.
- ICMP와 유사


단계 1: 호스트가 새로운 멀티캐스트 그룹에 가입할 때 all host 멀티캐스트 주소로 IGMP 메시지를 보내면, 지역 멀티캐스트 라우터는 그 메시지를 수신하고, 인터넷을 통하여 그룹 멤버쉽 정보를 다른 멀티캐스트 라우터에 전파 -> 필요한 경로를 설정


단계 2 : 어떤 라우터가 어떤 그룹의 구성원으로 남아 잇는지를 결정하기 위해 지녁 멀티캐스트 라우터는 주기적으로 지역망상의 호스트들을 폴링한다. 멤버쉽을 보고하는 호스트가 없다면 다른 멀티캐스트 라우터에게 그룹 멤버쉽을 알리지 않는다.



5. IGMP 구현

- 호스트와 멀티캐스트 라우터간 통신은 all hosts 멀티캐스트 주소의 IP 멀티캐스트를 사용

- 멀티캐스트 라우터 분당 하나꼴로 그룹 멤버쉽 정보 Polling.
- 여러 그룹에 가입된 호스트는 동시에 여러 개의 응답을 보내지 않고 10초 이내의 지연을 두고 응답을 분리시켜 전송함.

멀티캐스트 라우터는 멤버쉽의 정확한 유지보다는 그룹에 가입된 호스트가 있는지 없는지가 중요함.
따라서 다수의 호스트가 가입이 되어 있다고 하더라도 가장 짧은 지연 시간을 갖는 호스트가 멀티캐스트를 사용하여 자신의 응답을 전송하면, 다른 참여 호스트들은 그 복사본을 받아보고 자신의 응답을 취소한다. 실제로는 그룹에서 단 한 호스트만이 멀티캐스트 라우터로부터 요청 메시지에 대해 응답한다.


6. 그룹 멤버쉽의 상태 전이

호스트는 응용 프로그램이 새로운 그룹에 가입할 때마다 IGMP 소프트웨어는 엔트리 하나를 할당하고 엔트리내의 group reference counter를 증가시킨다.
단일 타이머 방법을 사용함. 인터넷의 상태 전이도 참조 ^^;;


7. DVMRP (RFC 1075)

Distance Vector Multicast Routing Protocol
RIP에 몇 가지 개념들이 추가되어 강력해짐.


8. Mrouted
UNIX 시스템에서 멀티캐스트 경로배정을 다루는 프로그램

- route propagation, 경로 전파 : DVMRP를 사용
- multicast tuneling : 멀티캐스트 경로 배정에 참여하지 않은 중간 라우터 구간
실제로 터널은 두 라우터에서 실행되고 있는 mrouted 프로그램간의 협상으로 이루어지고 멀티캐스트 데이타그램은 캡슐화되어 전송된다.


참고로 멀티캐스트 터널은 인터넷의 MBONE(Multicast Backbone)의 근간을 형성하고, 음성 및 화상 원격회의와 같은 서비스에 사용됨.



...







반응형