IGMP, IGMP Snooping Internet Group Management Protocol 인터넷 그룹 관리 프로토콜
출처 : http://www.ktword.co.kr/abbr_view.php?nav=&m_temp1=1716&mgid=064&m_search=igmp
채널변경시 끊김장애는 EPG 문제임.
PIM Source Specific Multicast 동작방식
1. Receiver는 Out of band(EPG) Source List를 요청하고
2. Receiver는 제공받은 Source List 통하여 (S,G) Join을 First Hop Router 로 요청
3. Shotest Path Tree 가 생성되고, Multicast 를 수신하게 된다.
1. 개요
IGMP는, 서브넷(로컬 네트워크) 상의 멀티캐스팅을 위한 제어용 프로토콜로써,
- 하나의 라우터와 여러 호스트로 구성되는 서브네트워크(Sub-Network) 상에서,
- 라우터가 자신에 속한 호스트들이 어떤 멀티캐스트 그룹에 속하는 가를 알기위한 일종의 그룹관리용
신호 프로토콜(Signaling Protocol)을 말한다.
2. 동작설명
ㅇ 멀티캐스트 라우터는 주기적으로 Subnet 호스트 그룹들(224.0.0.1)에게 IGMP Query 메시지를 전송한다.
ㅇ 호스트는 IGMP Query 메시지에 응답하며, 자신이 가입하고자 하는 그룹주소 정보를 IGMP Report
메시지를 통해 라우터에게 알려준다.
ㅇ 한편, 호스트는 Query 메시지 없이도 먼저 Report 메시지를 라우터에게 전송할 수 있다.
3. IGMP 패킷 구성
20 8 바이트
┌──────────────┲━━━━━━━━┓
│ IP Header (Protocol ID = 2) ┃ IGMP 메세지 ┃
└──────────────┺━━━━━━━━┛
┌───┬───┬────┬─────┬──────────────┐
IGMPv1 │ 버젼│유형 │Un used | Checksum │멀티캐스트 그룹 주소│
└───┴───┴────┴─────┴──────────────┘
4 4 8 16 32 비트
ㅇ 버젼 : IGMP 버젼
ㅇ 유형 : 질의(조회) 및 응답(보고)
- 질의(조회) : 1 (Host Membership Query) (라우터 -> 호스트)
. 특정 그룹에 참여를 원하는 호스트 있는지 확인조회
- 응답(보고) : 2 (Host Membership Report) (호스트 -> 라우터)
. 특정 그룹에 참여를 원하거나, Query에 응답
ㅇ 멀티캐스트 그룹 주소(goupid) : 클래스 D 인 IP 주소 ☞ Multicast
┌───────┬────┬─────┬──────────────┐
IGMPv2 │ 유형 │ MRT │ Checksum │ 멀티캐스트 그룹 주소 │
└───────┴────┴─────┴──────────────┘
8 8 16 32 비트
ㅇ 유형
- Membership Query : 0x11
- Membership Report : 0x16
0x12 (IGMPv1과의 호환)
- 특정그룹 탈퇴 : Leave Group : 0x17
ㅇ MRT (Membership Response Time)
4. IGMP 동작 구분
ㅇ 그룹 가입 (joining) : 그룹에 가입하고자 하는 요청을 라우터에 보고
ㅇ 그룹 멤버쉽 조사 (monitoring) : 멤버쉽 질의 메시지를 보내서 응답을 기다림
ㅇ 멤버쉽 연속 (member continuation) : 계속해서 유지하기 원하는 보고 메시지
ㅇ 그룹 탈퇴 (leavinig) : 탈퇴에 대한 응답메시지를 보내지 않음
5. IGMP Snooping
IGMP Snooping은 라우터와 호스트 사이에 있는 스위치가 IGMP 메세지들을 들을 수 있게하는 기능을 말한다.
그 결과 스위치는 multicast traffic을 필요로 하는 client에게만 전달할 것이다.
- 이 대화내용은 multicast network에 보내진 IGMP packet들이며 구성은 Later3 packet들로
되어있다.
- Switch안에서 IGMP snooping이 enable되면 host와 switch 혹은 multicast router간의
IGMP packet을 분석한다.
- 주어진 Multicast group에 대하여 IGMP report를 받을 땐 multicast group에 host의
port 번호를 더하는 역할을 수행하고 IGMP가 나가면(leave) host의 port를 제거한다.
- multicast를 이해못하는 switch는 broadcast multicast traffic을 LAN상의 모든 포트에 뿌리지만
IGMP snooping을 이용하는 switch는 해당 traffic을 관심있어 하는 clint에게만 전달 할 것 이다.
- 상기와 같은 multicast traffic의 감소는 switch에게서 packet processing을 줄여주어 메모리
가격을 줄여 줄 수 있으며 host에게 있어서는 network card나 운영체제가 네트웍상에 발생되는 모든
multicast traffic에 대하여 filter역할을 해 주므로 workload를 줄여줄 수 있다.
6. 관련표준
ㅇ RFC 1112 (Host extensions for IP Multicasting, IGMP v1)
ㅇ RFC 2236 (IGMP v2)
ㅇ RFC 3376 (IGMP v3)