본문 바로가기

네트워크/R&S 일반

Multicast - Part 1


2012년 새해가 밝았네요.
올해의 첫 번째 블로그 글은 Multicast(멀티캐스트) Part 1 입니다. 
몇 번에 걸쳐서 올리게 될지는 모르겠네요. 항상 그렇듯이 배움에는 끝이 없겠지만 조금씩 천천히라도 정리해봅니다.


Multicast 특징

   1. 특정 서비스를 받고자 하는 그룹의 사용자들에게 Data를 동시에 전송.

   2. IPTV, 사내방송 등과 같은 Multi-Media 전송 시에 유리함

        - Unicast 전송에 비해서 불필요한 대역폭 및 서버 Session 감소.

        - Broadcast 전송에 비해서 해당 서비스를 원하지 않는 사용자들의 장비에서의 부하량 감소

   3. “Best Effort”, Data 수신에 대한 신뢰성을 보장하지는 않음.




 

◎ Multicast 주소

   1. D Class : 224.0.0.0 ~ 239.255.255.255

   2. Local Network Control용으로 사용되는 대표적인 Multicast 주소 

   3. Multicast Mac 주소 변환

      ) Mac Address 48Bit ,

            앞의 25bit 01:00:5E(24bit) + 0(1bit), 뒤의 23bitIP Address 32bit중 뒤의 23bit를 결합해서

           MulticastMac-Address를 만듬.

      ) Multicast IP의 제일 앞의 4bit‘1110’으로 결정되어 있으므로, 32 – 4 – 23 = 5bit에 대해서

           서로 다른 MulticastIP가 동일 Multicast MAC으로 중복되게 변환 됨. (2^5=32)

 

◎ IGMP (Internet Group Management Protocol)
    - Router와 Host(Multicast를 서비스 받는) 간에 사용하는 프로토콜

    - Client는 IGMP를 이용해서 Router에 자신이 Service 받고자 하는 Multicasting Group Address를 등록 및 해제.

          : 목적지 주소를 224.0.0.2로 보냄. (Multicast가 동작하는 모든 라우터를 대상으로 함)

    - Router는 IGMP를 이용해서 Multicasting Service를 받으려는 Host가 존재하는지 확인.

          : 목적지 주소를 224.0.0.1로 보냄. (Multicast가 동작하는 모두 Host를 대상으로 보냄)


   
- Router
60(Cisco: default / RFC Default : 125)마다 Host에게 Multicast Group에 참여를 원하는지
      Query를 하고, 해당 Multicast Group에 참여하는 HostRouter Report를 하게 된다.

        Query : 224.0.0.1 전송                 Report : 224.0.0.2 전송

 

  ◈ 동일 Network에서의 Multicast Issue.
     동일 Network에서의 Multicast의 전송방식은 일반 Broadcast와 동일하게 동작한다. 

     왜냐면, Switch에서는 Unknown Unicast와 Multicast, Broadcast는 모두 Port에 Flooding 되기 때문이다.
     하지만, 이 경우에 동일 Network에서의 Multicast 효율성이 떨어지기 때문에 CGMP나, IGMP Snooping을 이용한다.

◎ CGMP (Cisco Group Management Protocol)
    - 동일 Network에서의 Multicast 전송을 최적화 하기 위하여 만든 Cisco 전용 프로토콜
    - Layer3에서의 Multicast 동작과 동일하게, Multicast Service가 필요한 Host가 연결된 Port로만 데이터 전송.
    - 동작 순서
   Ⅰ. Router는 Multicast Service를 받고자하는 Host로부터 IGMP를 이용해서 해당 Host의 정보(Mac-Address)를 등록.
   Ⅱ. Router를 해당 Host의 Mac-Address와 Host가 Service 받고자하는 Multicast의 Mac-Address를 
        CGMP를 이용해서 Switch로 전송해서 알려주게 된다.
   Ⅲ. Switch에서는 CGMP를 통해서 받은 Mac-Address를 이용해서 CGMP Table을 만든다.
        Multicast Mac-Address를 Host Mac-address를 이용해서 얻은 Port정보를 각각 Mapping 하게 되면
        특정 포트에서 어떤 Multicast 서비스를 받고자 하는지 알 수 있게 된다.
   Ⅳ. 실제 Multicast 데이터를 Router에서 Switch로 전송하게 되면, Switch에서는 목적지 Mac-Address가  0100.5E-로 
      시작하는 Multicast Mac-Address임을 확인하고 CGMP Address-Table을 검색해서 해당 목적지 포트로 전송한다.
  

※ Cisco 장비 간에는 CGMP를 이용해서 Router가 Multicast를 Service 받으려는 Host에 대한 정보를 Switch로 전송함.




◎ IGMP Snooping
   - Swtich에서 HOST가 Router로 IGMP를 통해 Multicast Group 등록하는 데이터를 읽어서, 해당 Group Mac-Address
     와
  Swtich Port에 Mapping하여 Multicast 에 대한 Mac-Address Table을 만듬. 
       ▶ show mac-address-table multicast 로 확인
※ 단, Switch에서는 이 기능을 실행하기 위해서 모든 데이터가 IGMP 데이터인지 확인해야 하므로, 장비의 부하 증가.



  • Mintchoco 2015.07.21 13:45

    최근 블로그에서 많이 배워가는 중입니다. 그동안 정말 열심히 해오신거 같아 어쩐지 부끄러워 집니다. (=_=)

  • 스마트석 2016.11.08 17:42

    동일 세그먼트상에 존재하는 L2스위치에서 IGMP SNOOPING GROUP 리스트는 모두 정상입니다만, show mac-address-table multicast로 확인시 c2950의 경우 정상적으로 multicast mac entry가 표시되는 반면 c2960에서는 entry가 비어있네요.
    2960에서는 단지 표시만 안해주는 것일까요?