최신판 |
당신의 편집 |
1번째 줄: |
1번째 줄: |
| [[분류:네트워크]] | | [[분류:네트워크]] |
| | | * 멀티캐스트 호스트와 라우터 사이에 동작하는 방식으로 라우터는 호스트에게 멀티캐스트 참여 상태를 질의하고 호스트는 라우터에게 수신할 멀티캐스트 주소를 통보 |
| ;Internet Group Management Protocol
| | * 인터넷에서 IPTV 와 같은 멀티캐스트 실시간 전송을 위해서 사용하는 프로토콜 |
| | |
| 서브넷(로컬 네트워크) 상의 멀티캐스팅 멤버십 제어(그룹 관리)를 위한 프로토콜
| |
| | |
| * 하나의 라우터와 여러 호스트로 구성되는 서브 네트워크(Sub-Network) 상에서
| |
| * 호스트들이 어떤 멀티캐스트 그룹에 속하는 가를 라우터에게 알리기 위한
| |
| * 일종의 그룹 관리용 신호 프로토콜(Signaling Protocol)
| |
| | |
| == 통신계층상의 위치 ==
| |
| | |
| * IGMP,ICMP 등은 데이터 전송용 프로토콜이 아니고, 네트워크 상에 이벤트 또는 변화를 알리는데 사용되는 제어용 프로토콜임
| |
| | |
| [[파일:IGMP의 통신계층 상의 위치.png]]
| |
| | |
| == 동작 개요 ==
| |
| | |
| * 멀티캐스트 라우터는, 주기적으로, [[서브넷]] 호스트 그룹들(224.0.0.1 : 멀티캐스트 주소)에게 IGMP Query 메시지를 전송 | |
| * 호스트는, 이러한 Query 요청 메시지에 응답하면서, 자신이 가입하려는 그룹 정보(멀티캐스트 주소)를 IGMP Report 메시지를 통해 라우터에게 알려줌
| |
| * 한편, 호스트는 자체적으로, IGMP Query 메시지(라우터 -> 호스트) 없이도, 먼저 Report 메시지를 라우터에게 전송도 가능
| |
| | |
| == IGMP 메시지 종류 ==
| |
| | |
| * '''Membership Query''' (라우터 -> 호스트)
| |
| ** 그룹 멤버십 조사 (monitoring) : 멤버십 질의 메시지를 보내서 응답을 기다림
| |
| ** 일정 횟수 이상 응답이 없거나, 탈퇴 메세지를 주면, 라우터는 해당 호스트를 그룹에서 탈퇴 시킴
| |
| * '''Membership Report''' (호스트 -> 라우터)
| |
| ** 그룹 가입 (joining): 그룹에 가입하고자 하는 요청을 라우터에 보고
| |
| ** 멤버십 연속 (member continuation) : 계속해서 해당 그룹에 남기를 원하는 보고
| |
| * '''Leave Report''' (호스트 -> 라우터)
| |
| ** 그룹 탈퇴 (leavinig): 더이상 그룹에 남아있지 않고 탈퇴함
| |
| | |
| == IGMP 패킷 ==
| |
| [[파일:IGMP 패킷.jpg]]
| |
| | |
| * [[IP 데이터그램|IPv4 헤더]] 내 IGMP 관련
| |
| ** 프로토콜 ID : 2 ☞ IANA의 공식 PPP Numbers
| |
| ** IGMP의 TTL : 1
| |
| *** 로컬 서브네트워크를 벗어나면 자동 폐기됨
| |
| ** IPv4 옵션 : Router Alert 옵션이 사용됨
| |
| * 유형(type) (8 비트)
| |
| ** 0x11 : Membership Query
| |
| ** 0x12 : IGMP v1 Membership Report [<nowiki>RFC 1112</nowiki>]
| |
| ** 0x16 : IGMP v2 Membership Report [<nowiki>RFC 2236</nowiki>]
| |
| ** 0x17 : IGMP v2 Leave Group [<nowiki>RFC 2236</nowiki>]
| |
| ** 0x22 : IGMP v3 Membership Report [<nowiki>RFC 3376</nowiki>]
| |
| | |
| == IGMP 버전 ==
| |
| | |
| * '''IGMPv1''' : Membership Query, Membership Report [<nowiki>RFC 1112</nowiki>]
| |
| * '''IGMPv2''' : Membership Query, Membership Report, Leave Report [<nowiki>RFC 2236</nowiki>]
| |
| ** IGMPv1에 그룹 탈퇴(Leave Report) 기능 추가
| |
| ** 또한, 그룹 탈퇴를 좀더 확인하기 위한 Group Specific Query 메세지도 추가됨
| |
| * '''IGMPv3''' : Membership Query, Membership Report [<nowiki>RFC 3376</nowiki>]
| |
| ** SSM(Source-specific Multicast) 기능 추가
| |
| ** source filter 모드
| |
| *** include 모드 : 명시한 모든 source list를 포함
| |
| *** exclude 모드 : 명시한 source list를 제외한 기타 모든 source들을 포함
| |
| *** include null : 어떠한 source에서 입력된 해당 그룹에 대해 수신 안함
| |
| *** exclude null : 모든 source에서 입력된 해당 그룹에 대해 join
| |
| | |
| == 기타 기능 ==
| |
| | |
| * IGMP Snooping
| |
| ** IGMP Snooping은 라우터와 호스트 사이에 있는 스위치가 IGMP 메세지들을 들을 수 있게 하는 기능
| |
| * IGMP Querier Election
| |
| ** 동일 LAN에 여러 멀티캐스트 라우터가 있으면, IPv4 주소 중 가장 낮은 주소를 갖는 라우터가 Querier 역할을 집중하게 함
| |
| | |
| == 관련 표준 ==
| |
| | |
| * <nowiki>RFC 1112</nowiki> (IGMP v1, Host extensions for IP Multicasting) | |
| * <nowiki>RFC 2236</nowiki> (IGMP v2, Internet Group Management Protocol, Version 2)
| |
| * <nowiki>RFC 3376</nowiki> (IGMP v3, Internet Group Management Protocol, Version 3)
| |
| | |
| == 참고 문헌 ==
| |
| * 정보통신기술용어해설
| |