IGMP프로토콜
- 멀티캐스팅 : 특정 그룹의 모든 호스트에 메시지를 전송하는 방식
- 멀티캐스트 라우팅 : 멀티캐스팅에 필요한 라우팅 알고리즘
- 멀티캐스트 그룹에 가입하거나 탈퇴할 때 사용하는 프로토콜
- 멀티캐스트 그룹에 가입한 호스트와 라우터 사이에 멤버 정보를 교환할때 사용
질의 메시지 : 멀티캐스트 라우터가 그룹 정보를 얻기 위하여 호스트에 전달
보고 메시지 : 질의의 대한 응답으로 호소트가 보고 메시지를 회신
IGMP의 그룹관리
멀티캐스트 라우팅에서는 다수의 호스트를 논리적인 하나의 단위로 관리하기 위한 그룹 관리 기능이 필요함.
그룹 관리의 주요 기능에는 그룹의 생성/제거, 전송 호스트의 그룹참가/탈퇴 등이 있음.
목적지 주소가 멀티캐스트 그룹 주소로 지정된 패킷을 그룹의 모든 호스트에 전달하려면, 라우터가 입력 패킷을 호스트의 수만큼 복사해 전달하는 기능을 수행해야 함. 따라서 멀티캐스팅은 유니캐스팅보다 복잡한 기능을 수행함.
멀티캐스팅 기능
1. 다중 호스트를 표시하는 멀티캐스트 그룹 주소 표기 방법의 통일
2. 라우터가 멀티캐스트 주소와 이 그룹에 속하는 호스트 사이의 연관성 처리
3. 멀티캐스트 라우팅 알고리즘은 그룹의 모든 멤버에게 가장 짧은 경로를 선택하는 기능 제공
IGMP 헤더 구조
- IGMP 메시지는 ICMP 메시지처럼 IP 패킷에 실려서 전달됨.
Type (유형) 필드
0x11 : 멀티 캐스트 라우터가 전송한 질의 메시지
0x16 : 호스트가 전송하는 보고 메시지
0x17 : 그룹 탈퇴에 관한 메시지
Max Response Time (최대 응답 시간) 필드
- 질의에 대한 보고 메시지가 전송되는 최대 응답시간
Checksum (체크섬) 필드
- IP 프로토콜에서 사용하는 알고리즘과 동일. (오류 검출용)
Group Address (그룹 주소) 필드
- 질의 메시지는 0, 보고 메시지에는 호소트가 원하는 그룹 주소를 표기.
IGMP 동작 과정
(a) 그룹 가입 : 해당 멀티캐스트 주소를 표기한 IGMP 보고 메시지를 전송 (0x16는 질의)
(b) 그룹 유지 or 주기적 확인 : IGMP 보고 메시지를 사용해 IGMP 질의에 응답해야함
(c) 그룹 탈퇴(0x11) : 라우터의 질의 메시지에 대해 호스트의 보고 메시지 응답이 없음. 응답이 없으므로 그룹에서 탈퇴
한 것으로 간주.
IGMP 메시지의 전송
- IGMP는 IP패킷에 캡슐화되어 보내짐
- 즉, IGMP 메시지는 IP 프로토콜의 데이터로 처리되기 때문에 IP 패킷의 헤더에 실려서 계층 2 프로토콜로 전달됨.
- ICMP 메시지 전송과 동일
'Network > Computer Science' 카테고리의 다른 글
[Network] TCP 프로토콜 (0) | 2021.12.03 |
---|---|
[Network] 전송 계층의 기능 (0) | 2021.12.03 |
[Network] ICMP 프로토콜 (0) | 2021.12.01 |
[Network] ARP 프로토콜 (0) | 2021.11.25 |
[Network] 이동 IP 프로토콜 (0) | 2021.11.25 |