| 리포트 | 기술문서 | 테크-블로그 | 글로벌 블로그 | 원샷 갤러리 | 통신 방송 통계  | 한국 ICT 기업 총람 |

제품 검색

| 네트워크/통신 뉴스 | 기술자료실 | 자유게시판 |  
 
 
섹션 5G 4G LTE C-RAN/Fronthaul Gigabit Internet IPTV/UHD IoT SDN/NFV Wi-Fi Video Streaming KT SK Telecom LG U+ OTT Network Protocol CDN YouTube Data Center
 
스폰서채널 |

 

  스폰서채널 서비스란?
IPTV 서비스를 위한 IGMP Snooping
IGMP Snooping for IPTV Service
January 09, 2013 | By 유창모 (cmyoo@netmanias.com)
코멘트 (20)
18
 IGMP(RFC 2236)는 Ethernet 환경에서 단말(Multicast Host)이 라우터(Multicast 라우터)에게 Multicast 트래픽을 요청하기 위해 사용되는 IP 기반의 L3 프로토콜입니다. 
 Snooping이란 패킷의 목적지가 내가 아닌데 어떠한 이유로 그 패킷의 내용을 중간에서 훔쳐 보는 것을 말합니다. IGMP Snooping 이외에도 ARP Snooping, DHCP Snooping등이 있죠.
■ 그럼 IGMP Snooping(RFC 4541)이란? 통상적으로 이 기능은 IPTV 실시간 방송 서비스를 위해 L2 스위치에서 지원을 합니다. 그 목적은 L2 스위치가 단말(STB)과 라우터간에 주고 받는 IGMP 메시지를 중간에서 훔쳐 그 메시지를 해석하여 L2 스위치가 Multicast Group Membership(어느 포트(단말)에서 어느 Multicast 트래픽을 요청했나?)을 관리할 수 있도록 하는 기능입니다.
  • IGMP Snooping을 지원하지 않는 L2 스위치(지금은 그런 장비가 없겠지만요)가 Multicast 트래픽을 수신하는 경우에는 Broadcast 패킷과 동일하게 모든 포트로 Multicast 트래픽을 flooding 합니다.
  • 하지만 IGMP Snooping을 지원하는 L2 스위치의 경우, Multicast 트래픽을 요청한 단말들에게만(해당 포트들로만) Multicast 트래픽을 전달합니다.
 
한 마디로 정리하면, L2 스위치의 IGMP Snooping 기능은 Multicast 트래픽을 모든 포트로 flooding 하지 않고, 이를 필요로 하는 단말들로만 전달하기 위한 기능이라 보시면 됩니다.
 
IGMP Snooping 기능은 그 동작 방식에 따라 매우 다양한 종류가 있습니다만 오늘은 가장 기본이 되는 기능 위주로 설명을 드리고자 합니다(Specific Query/General Query 설명 생략). 자세한 내용은 넷매니아즈 기술 문서 "IGMP Snooping 상세 동작 원리"를 참조하세요.
 
[1] 아무도 TV를 안봐
  • STB1은 L2 스위치 1번 포트에 연결되어 있고, STB2는 2번 포트에 연결되어 있습니다. 아무도 실시간 방송 요청을 하지 않았으므로 STB과 L2 스위치로는 Multicast 스트림이 수신되고 있지 않습니다.

 

 

[2] STB1 이용자가 KBS1 채널 선택: KBS1 채널에 대한 IGMP Join(233.18.145.192) 보내기

  1. STB1은 KBS1 채널에 대한 IGMP Join(233.18.145.192) 메시지를 IP 망으로 전송하고, 
  2. L2 스위치가 IGMP Join 메시지를 가로채서 "Port 1에서 Multicast 스트림 233.18.145.192를 요청했음"을 IGMP Snoop Table에 기록합니다. 
  3. L2 스위치는 현재 Multicast Stream(233.18.145.192)을 수신하고 있지 않으므로 STB1이 보낸 IGMP Join 메시지를 업링크를 통해 IP 망으로 보내고, 
  4. IP 망으로 부터 Multicast Stream(233.18.145.192)을 수신합니다. 
  5. 그러면 IGMP Snoop Table에 기록된 정보를 토대로 Multicast Stream(233.18.145.192)을 Port 1로 전송하여 STB1이 수신할 수 있도록 합니다. (다른 Port로는 전송하지 않음)

 

 

[3] STB2 이용자가 MBC 채널 선택: MBC 채널에 대한 IGMP Join(233.18.145.194) 보내기

  1. STB2는 MBC 채널에 대한 IGMP Join(233.18.145.194) 메시지를 IP 망으로 전송하고, 
  2. L2 스위치는 이 메시지를 가로채서 "Port 2에서 Multicast 스트림 233.18.145.194를 요청했음"을 IGMP Snoop Table에 기록합니다. 
  3. L2 스위치는 현재 Multicast Stream(233.18.145.194)을 수신하고 있지 않으므로 STB2가 보낸 IGMP Join 메시지를 업링크로 전송하고, 
  4. 업링크를 통해 Multicast Stream(233.18.145.194)을 수신합니다. 
  5. 그리고 IGMP Snoop Table에 기록된 정보를 토대로 Multicast Stream(233.18.145.194)을 Port 2로 전송하여 STB2가 수신할 수 있도록 합니다.

 

 

[4-1] STB2 이용자가 MBC에서 KBS1으로 채널 변경 - 1단계: MBC 채널에 대한 IGMP Leave(233.18.145.194) 보내기

  1. STB2는 현재 수신되고 있는 MBC 채널(Multicast 스트림)을 더 이상 받지 않기 위해 IGMP Leave(233.18.145.194) 메시지를 IP 망으로 전송하고, 
  2. L2 스위치는 IGMP Leave 메시지를 가로채서 IGMP Snoop Table에 기록되어 있던 {233.18.145.194, Port 2} 정보를 삭제합니다. 
  3. IGMP Snoop Table에 정보가 삭제됨과 동시에 L2 스위치는 더 이상 Port 2로 Multicast Stream(233.18.145.194)을 전달하지 않습니다(Fast Leave).
  4. 그리고 L2 스위치는 Multicast Stream(233.18.145.194)을 수신할 STB이 더 이상 아무도 없으므로 STB2가 보낸 IGMP Leave 메시지를 업링크로 보내어 
  5. 더 이상 Multicast Stream(233.18.145.194)이 L2 스위치로 수신되지 않도록 합니다.

 

 

[4-2] STB2 이용자가 MBC에서 KBS1으로 채널 변경 - 2단계: KBS1 채널에 대한 IGMP Join(233.18.145.192) 보내기

  1. STB2는 IGMP Leave(233.18.145.194) 메시지를 보낸 직후 KBS1 채널에 대한 IGMP Join(233.18.145.192) 메시지를  IP 망으로 전송하고 
  2. 이를 가로챈 L2 스위치는 IGMP Snoop Table에 Port 2 정보를 추가합니다. 
  3. L2 스위치는 IGMP Snoop Table에 Port 2를 추가함과 동시에 Port 1과 함께 Port 2로도 Multicast Stream (233.18.145.192)을 전송합니다(업링크 포트로 받은 Multicast 스트림을 2개의 다운링크 포트로 전달 - Multicasting 합니다). [2]번 과정에 의해서 Multicast Stream(233.18.145.192)이 이미 L2 스위치로 수신되고 있었으므로 STB2가 보낸 IGMP Join(233.18.145.192) 메시지는 업링크로 전달하지 않습니다(IGMP Snooping with Report/Leave Suppression - 이미 수신하고 있는 Multicast 스트림을 또 달라고(IGMP Join) 할 필요가 없잖아!).

 역자 주: IGMP Snooping 모드에 따라 IGMP Join 메시지를 업링크로 전달 할 수도 있고(IGMP Transparent Snooping), 안 할 수도 있습니다(IGMP Snooping with Report/Leave Suppression). 

 

 

 

[5] STB1 이용자가 TV 그만 보기: KBS1 채널에 대한 IGMP Leave(233.18.145.192) 보내기

  1. STB1은 현재 수신 중인 채널에 대해 IGMP Leave(233.18.145.192) 메시지를 전송하고 
  2. 이를 수신한 L2 스위치는 IGMP Snoop Table에서 Port 1 정보를 삭제합니다. 
  3. 삭제와 동시에 이제 더 이상 Port 1로는 Multicast Stream(233.18.145.192)을 전송하지 않습니다(Fast Leave). [4-2]번 과정에 의해 현재 Multicast Stream(233.18.145.192)이 Port 2로 전달 중에 있으므로 L2 스위치는 STB1이 보낸 IGMP Leave(233.18.145.192) 메시지를 업링크로 전달하지 않습니다(IGMP Snooping with Report/Leave Suppression - 다른 이용자에게 전달 중인 Multicast 스트림을 그만 보내라고(IGMP Leave) 할 필요가 없잖어!).

 역자 주: IGMP Snooping 모드에 따라 IGMP Leave 메시지를 업링크로 전달 할 수도 있고(IGMP Transparent Snooping), 안 할 수도 있습니다(IGMP Snooping with Report/Leave Suppression). 

 

 

 

[6] STB2 이용자가 TV 그만 보기: KBS1 채널에 대한 IGMP Leave(233.18.145.192) 보내기

  1. STB2는 현재 수신 중인 채널에 대해 IGMP Leave(233.18.145.192) 메시지를 전송하고 
  2. 이를 수신한 L2 스위치는 IGMP Snoop Table에서 {233.18.145.192, Port 2} 정보를 삭제합니다. 
  3. 삭제와 동시에 이제 더 이상 Port 2로는 패킷을 전송하지 않습니다(Fast Leave). 
  4. Multicast Stream(233.18.145.192)을 필요로 하는 STB이 더 이상 없으므로 L2 스위치는 STB2가 보낸 IGMP Leave 메시지를 업링크로 전달하여 
  5. 더 이상 Multicast Stream(233.18.145.192)이 L2 스위치로 전달되지 않도록 합니다.

 

* IGMP Join의 정확한 이름은 "IGMP Membership Report", IGMP Leave의 정확한 이름은 "IGMP Leave Group"입니다.

JasonPark 2013-01-09 20:01:03
이해가 쏙쏙되내요!!
문종호 2013-01-21 20:07:03
이거 담아가고싶어요 ㅠㅠ
넷매니아즈 2013-01-22 23:25:27
제가 "담아가는 기능"이 어떤거지 잘 몰라서요... ^^*
혹시 네이버 블로그에서 그런 기능을 제공하고 있다면 다음 URL에서 담아가시면 될 듯 합니다.
http://blog.naver.com/NETMANIASCOM

감사합니다.
한용수 2013-02-01 01:13:31
이제 멀티캐스트에 대해서 이해했습니다.
감사 감사...
김동환 2013-03-20 16:44:19
쉽게 설명 되어있네요.
김세환 2013-04-23 09:46:52
좋은 자료 정말 감사합니다.
강유섭 2013-08-14 09:41:11
감사합니다. 이해가 쏙쏙쏙쏙!! 되네요^^ ㅎㅎ
김세호 2014-01-17 10:13:57
L2 또는 L3에서 last leave message를 받는 경우 querier 동작에 대해서 궁금 합니다.
L2에서 snoop 하고 있다가 last leave 인 경우 uplink L3로 last leave message를 보내고, 가입자 단으로 실제 마지막 message 인지 확인 하는 query 를 보내는 것은 어떻게 동작하는 것이 옳을 까요? 표준이 있는지 ? 어떻게 동작해도 상관 없는 것인지 ?
박병건 2014-05-01 17:42:56
이해가 잘 됩니다. 감사합니다.
김용주 2014-05-12 22:00:56
이렇게이해하기 좋은자료는 첨이네요 잘보고갑니다.
성재우 2014-11-15 16:19:00

감사합니다, 정말 이해가 쏙쏙 되네요

박동훈 2014-12-17 14:13:43

잘읽엇습니다 감사합니다^^

김세영 2015-01-19 15:22:24

이해하기 쉽게 설명해 주셨네요. 자료 감사드립니다... 

김영민 2015-04-02 10:34:02

도움 감사 드립니다~

덕분에 이해가 잘 됐습니다

후라이드칙힌 2016-01-11 11:10:04

덕분에 쏙쏙 이해가 되었습니다. 감사합니다. 

ㅇㅇ 2016-07-11 14:02:38

감사합니다.

김인 2017-08-11 11:14:18

좋은자료네요 감사합니ㅣ다

이기태 2019-02-26 08:55:10

L2 SW에서 IGMP snoop table을 IP로 관리하는 것이 맞는지요? L2이니 MAC으로 table을 관리하는 것 아닌가요? 답변 부탁 드립니다

유창모 2019-02-26 11:19:11

이해를 돕고자 IP 주소로 표현한 것이고, 이기태님 말씀처럼 Multicast MAC 주소가 들어가는게 맞습니다 (Multicast IP와 매핑되는 Multicast MAC 주소).

넥스젠 2019-04-14 18:08:16

왜 스위치허브중에도 IGMP 모델이라고 몇천원씩 비싸게 받나 했더니 이런 기능이었군요. 좋은 글 감사합니다.

Thank you for visiting Netmanias! Please leave your comment if you have a question or suggestion.
View All (973)
5G (68) AI (5) ALTO (1) AR (2) ARP (6) AT&T (1) Akamai (5) Authentication (5) BT (1) Backhaul (2) Big Data (2) Bridging (5) C-RAN/Fronthaul (17) CDN (20) CIoT (2) CPRI (6) Carrier Aggregation (5) Charging (2) China Mobile (2) Cisco (6) CoMP (3) Comcast (1) DHCP (6) DNS (15) Data Center (15) EDGE (11) EMM (1) EPS Bearer (7) Ethernet (3) FTTH (8) GSLB (5) Gigabit Internet (17) Google (17) Google Global Cache (8) Google TV (1) HLS (5) HTTP (5) HTTP Adaptive Streaming (7) HTTP Progressive Download (2) Handover (5) Huawei (1) IGMP (3) IP (6) IP Allocation (8) IP Routing (20) IPSec (4) IPTV (25) IoST (2) IoT (45) KT (45) Korea (8) Korea ICT Vendor (1) L3 Switch (5) LG U+ (24) LTE (99) LTE-A (10) LTE-A Pro (1) LTE-M (1) LTE-U (3) LoRa (5) MEC (11) MPLS (3) MWC 2013 (1) MWC 2015 (3) MWC 2016 (2) MWC 2017 (1) Mobile IPTV (1) Multi-Screen (1) Multicast (2) NAT (9) NB-IoT (6) NTT Docomo (1) Netflix (5) Network Protocol (49) Network Slicing (3) OSPF (3) OTT (20) Operator CDN (1) P2P (3) PS-LTE (3) Pooq (2) QoS (5) RCS (1) RRH (1) Request Routing (3) SD-WAN (8) SDN/NFV (34) SK Broadband (1) SK Telecom (38) Samsung (2) Security (8) Self-Driving (3) Shortest Path Tree (2) Small Cell (3) Spectrum Sharing (1) TAU (2) Transparent Caching (9) UHD (7) VLAN (2) VPN (3) VR (3) Video Streaming (22) VoLTE (1) VoWiFi (1) WAN Optimization (1) Wi-Fi (30) WiBro(WiMAX) (2) YouTube (16) eICIC (1) eMBMS (1) ePDG (6) u+ tv G (4) 로컬 5G (1)

 

 

     
         
     

 

     
     

넷매니아즈 회원 가입 하기

2019년 1월 현재 넷매니아즈 회원은 49,000+분입니다.

 

넷매니아즈 회원 가입을 하시면,

► 넷매니아즈 신규 컨텐츠 발행 소식 등의 정보를

   이메일 뉴스레터로 발송해드립니다.

► 넷매니아즈의 모든 컨텐츠를 pdf 파일로 다운로드

   받으실 수 있습니다. 

     
     

 

     
         
     

 

 

비밀번호 확인
코멘트 작성시 등록하신 비밀번호를 입력하여주세요.
비밀번호