Computer Science/Network

[Network] IGMP(Internet Group Management Protocol)

LeeJaeJun 2023. 12. 23. 23:51
728x90
반응형

- IGMP(Internet Group Management Protocol)

  • 여러 장치가 하나의 IP 주소를 공유하여 모두 동일한 데이터를 수신할 수 있도록 하는 프로토콜
  • IPv4를 사용하는 네트워크에서 멀티캐스팅을 설정하는데 사용되는 네트워크 계층 프로토콜
  • 호스트와 인접한 라우터가 IP 네트워크에서 멀티캐스트 통신을 위해 사용하며 메시지/데이터 패킷을 효율적으로 전송하는 데 사용됩니다.
  • 사용 분야: 비디오 스트리밍, 게임, Zoom, Webex와 같은 웹 회의 도구 등.

 

- IGMP 작동방식

  1. 멀티캐스트 그룹 가입: 호스트(클라이언트)가 특정 멀티캐스트 그룹에 가입하고자 할 때, 호스트의 운영 체제는 IGMP 멤버십 레포트 메시지를 생성합니다. 이 메시지는 멀티캐스트 그룹의 IP 주소를 목적지로 하며, 해당 그룹에 가입하고자 하는 호스트의 IP 주소를 출발지로 합니다. 호스트는 이 메시지를 멀티캐스트 그룹에 가입하고 있는 라우터나 스위치에게 전송합니다.(IGMP를 지원하는 라우터가 어떤 장치가 어떤 멀티캐스트 그룹에 속하는지 파악하기 위해서 장치에서 IGPM 전송을 수신) 각 멀티캐스트 그룹은 이러한 IP 주소 중 하나를 공유합니다. 라우터가 공유 IP 주소로 전달되는 일련의 패킷을 수신하면 해당 패킷을 복제하여 멀티캐스트 그룹의 모든 구성원에게 복사본을 보냅니다.
  2. 멀티캐스트 그룹 유지: 라우터 또는 스위치는 IGMP 멤버십 레포트 메시지를 수신하면 해당 호스트를 멀티캐스트 그룹의 멤버로 인식하고, 그룹 멤버십 정보를 업데이트합니다. 이를 통해 멀티캐스트 그룹에 속한 호스트들의 멤버십 정보를 파악할 수 있습니다. 그룹 멤버십 정보는 라우터나 스위치의 IGMP 캐시에 저장됩니다.
  3. 멀티캐스트 그룹 탈퇴: 호스트가 특정 멀티캐스트 그룹에서 탈퇴하고자 할 때, 호스트의 운영 체제는 IGMP 멤버십 어답 메시지를 생성합니다. 이 메시지는 멀티캐스트 그룹의 IP 주소를 목적지로 하며, 탈퇴하고자 하는 호스트의 IP 주소를 출발지로 합니다. 호스트는 이 메시지를 해당 멀티캐스트 그룹에 가입하고 있는 라우터나 스위치에게 전송합니다.
  4. 멀티캐스트 데이터 전송: 라우터는 멀티캐스트 그룹에 속한 호스트들의 멤버십 정보를 확인하고, 멀티캐스트 데이터를 해당 그룹의 멤버들에게 전송합니다. 데이터는 해당 그룹에 가입한 호스트들에게만 전달되므로 네트워크 대역폭을 효율적으로 사용할 수 있습니다.

 

IGMP 메세지

  • 멤버십 보고서: 장치에서는 멀티캐스트 그룹의 구성원이 되기 위해 멤버십 보고서를 멀티캐스트 라우터로 보냅니다.
  • 그룹 나가기 메시지: 이 메시지는 장치에서 라우터로 이동하여 장치가 멀티캐스트 그룹에서 나갈 수 있도록 합니다.
  • 일반 멤버십 쿼리: 멀티캐스트 지원 라우터는 연결된 전체 장치 네트워크에 이 메시지를 전송하여 네트워크의 모든 그룹에 대한 멀티캐스트 그룹 멤버십을 업데이트합니다.
  • 그룹별 멤버십 쿼리: 라우터는 이러한 메시지를 전체 네트워크 대신 특정 멀티캐스트 그룹으로 보냅니다.
 

- 멀티캐스팅

  • 장치 그룹이 모두 동일한 메세지 또는 패킷을 수신하는 경우
  • 여러 장치 간에 IP 주소를 공유하여 작동하는데, 해당 IP주소로 전달되는 모든 네트워크 트래픽은 하나의 장치가 아닌 IP주소를 공유하는 모든 장치에 도달합니다.
  • 예를 들어, 유튜브 라이브 스트링이라고 하면 방송하는 사람은 한 명인데 다수의 사람이 동시에 방송을 볼 것입니다. 

 

- 애니캐스트, 유니케스트, 멀티캐스트

모두 네트워크 통신에서 사용되는 세 가지 주요한 전송 모드입니다. 

애니캐스트(Anycast):

  • 애니캐스트는 동일한 IP 주소를 가진 여러 대의 서버 또는 장치들이 존재할 때, 클라이언트가 가장 가까운 서버 또는 장치에게 데이터를 전송하는 방식입니다.
  • 여러 대의 서버 중 가장 가까운 서버가 선택되어 데이터를 처리하며, 다수의 서버가 같은 서비스를 제공할 수 있습니다.
  • 애니캐스트는 주로 로드 밸런싱, 가용성 및 성능 향상을 위해 사용됩니다.
  • 모든 일반 IP주소를 

유니캐스트(Unicast):

  • 유니캐스트는 네트워크에서 한 송신자와 한 수신자 간의 일대일 통신을 의미합니다.
  • 데이터 패킷은 송신자의 IP 주소에서 수신자의 IP 주소로 직접 전송됩니다.
  • 유니캐스트는 가장 일반적인 통신 모드로, 개인적인 통신이나 파일 전송 등에 사용됩니다. 

멀티캐스트(Multicast):

  • 멀티캐스트는 한 송신자가 여러 대의 수신자에게 데이터를 동시에 전송하는 방식입니다.
  • 멀티캐스트 그룹에 속한 수신자들만이 해당 데이터를 수신하게 됩니다.
  • 멀티캐스트는 데이터의 효율적인 분배와 대역폭 절약을 위해 사용됩니다.
  • 스트리밍 서비스, 온라인 게임, 동시 다발적인 데이터 전송 등에 활용됩니다.
  • 멀티캐스트 IP주소 범위는 224.0.0.0에서 239.255.255.255 사이입니다.
728x90
반응형