본문 바로가기

카테고리 없음

멀티캐스트란?

멀티캐스트 방식의 데이터 전송은 UDP를 기반으로 하고 있습니다.

일반적인 UDP와의 차이점은 데이터 전송시 발생합니다.

UDP 전송의 경우 하나의 호스트 목적지를 둔 후 전송 멀티캐스트의

경우 특정 그룹에 등록되어 있는 다수의 호스트에게 전송합니다.


멀티캐스트의 데이터 전송 특성

- 멀티캐스트 서버는 특정 멀티캐스트 그룹을 대상으로 데이터를 한번 전송합니다.

- 한번 전송되는 데이터는 그룹에 속하는 모든 호스트가 수신합니다.

- 멀티캐스트 그룹의 수는 IP주소 범위 내에서라면 얼마든지 추가가 가능합니다.

- 특정 멀티캐스트 그룹에 전송되는 데이터를 받고 싶다면 해당 그룹에 등록하면 됩니다.




멀티캐스트 주소 범위


- Prefix는 해당 프레임이 멀티캐스트임을 보이며 바로 다음비트는 항상 0으로 동일합니다.

- IP 멀티캐스트 주소에서 32비트 IP주소 중 최상위 4개 비트는 1110으로 고정되어 있으며

  나머지는 하위 28비트를 사용합니다.

- 라우터에 멀티캐스트를 활성화 합니다.




IGMPv1


- 호스트가 라우터에게 호스트가 관심을 가지는 멀티캐스트의 그룹 정보를 발신하고,

라우터의 서브넷에 존재하는 호스트가 멀티캐스트 그룹에 지속하여 참여할지에 대한

질의응답으로 구성됩니다.


- 호스트와 직접적으로 연결되어 있는 멀티캐스트 라우터 간의 작동하는 프로토콜.


- 호스트는 224.0.0.2를 목적지 IP주소로 두며 IGMP 레포트 메시지를 전송하고, 라우터는

224.0.0.1을 목적지로 지정하여 IGMP 쿼리 패킷을 전송합니다.



- 버젼: igmp 버전1을 나타냅니다. 버젼 0은 RFC-988에 규정되어 있으나 지금은 사용을 하고 있지 않습니다.

- TYPE: TYPE(1) 호스트멤버쉽 쿼리

           TYPE(2) 호스트 멤버쉽 리포트

- Unused: Unused 필드는 0으로 전송하며 수신될 경우 무시합니다.

- 그룹 주소: 호스트 멤버쉽 쿼리 메시지에서 그룹 주소 필드는 0.0.0.0으로 전송하고

                 수신될 경우는 무시됩니다. 호스트 멤버쉽 리포트 메시지에서 그룹 주소 필드는

                 보고되는 그룹의 ip 호스트 그룹주소도 포함됩니다.

- 라우터는 주기적으로 IGMP 호스트들에게 멀티캐스트 그룹에 참여하고 있는지 질의합니다.

   IGMP 멤버쉽 리포트는 하나의 호스트만 응답하면 됩니다.

   이처럼 특정된 멀티캐스트 그룹에 대한 질의가 아닌 모든 그룹주소의 대한 질의를 General 쿼리라고 합니다.


IGMPv2

- 그룹 탈퇴 메시지가 보완


-TYPE : 그룹 멤범 질의 메시지

- 최대 응답 시간 : 라우터의 그룹 멤버 질의에 대한 호스트가 보고를 전송하기 전 각

                         호스트가 랜덤한 시간을 기다리는데에 소요될수있는 최대 응답시

- Unused : 0으로 전송, 수신시 무시

- 그룹 주소 : 호스트 멤버쉽 쿼리 메시지에서 그룹 주소 필드는 0.0.0.0으로 전송하며,

                  수신될때에는 무시, 호스트 멤버쉽 리포트 메시지에서 그룹 주소필드는

                  보고되는 그룹의 ip 호스트 그룹 주소가 포함되고 있습니다.

-그룹 탈퇴 메시지를 서브넷의 라우터에게 전송합니다. 만일 전송된 호스트가

 마지막 리포터였을 시 라우터가 그룹 명시 질의를 전송합니다. 남아있는 해당 그룹 호스트가 있다면

 그룹보고메시지를 전송합니다. 라우터는 전송을 지속하여 유지합니다.

- Fast convergence 를 보장합니다.

* 동시에 여러 라우터가 쿼리를 전송하면 수신 호스트가 두번씩 그룹 보고메시지를 송신해야 하기에

  낮은 IP 주소를 가진 라우터가 질의자가 되고 다른 라우터는Querier가 일정 기간동안 그룹 질의 메시지를

  전송하지 않으면 자신이 Querier가 되어 쿼리를 보내게 됩니다.


RPF

- 수신된 패킷이 최적의 경로를 ㅌ옹하여 수신되었는지를 확인하며 경로를 선택합니다.


멀티캐스트 트래픽의 전달 범위

-멀티 캐스트 트래픽은 유니캐스트와 다르게 목적지 주소를 향하여 전송되는 것이 아니라, 그룹

 주소를 목적지 주소로 하여금 방송하는 것처럼 동작하기 때문에 전달 범위를 제한할 필요가 있습니다.

 멀티캐스트 트래픽의 전달범위를 제한하기 위하여 기본적으로 IP 헤더의 TTL 필드를 사용하고 있습니다.