Multicasting

1. Multicast
2. Multicast와 관련된 프로토콜


네트워크 통신 형태에는 Unicast, Multicast, Broadcast가 있다.
Unicast는 수신자를 지정하여 ‘1 : 1’ 통신할 때, Broadcast는 수신자를 지정하지 않고 ‘1 : 모든 불특정N’ 으로 통신할 때 사용한다.

Multicast는 그럼 언제 사용할까?
특정 그룹에 속한 수신자를 지정하여 ‘1 : 특정N’으로 통신할 때 사용한다.

토폴로지1. Multicasting 예시

Multicast IP

A , B, C 클래스의 IP는 네트워크 부분과 호스트 부분으로 나눈다. 하지만 D클래스 대역을 사용하는 Multicast IP는 네트워크와 호스트의 구분이 없다. (참고로 D클래스 범위는 224.0.0.0~239.255.255.255).
하나의 주소가 곧 특정 그룹 전체를 지칭한다. 오직 동일 그룹인지 도일한 그룹이 아닌지만 판단할 수 있다.

Multicast가 IP패킷을 보낼 때, 주소는 아래와 같이 지정한다.
출발지: ‘송신 장비의 인터페이스 IP’
목적지: ‘Multicast IP’

Multicast MAC

 ” XXXX . XXXX . XXXX “
MAC 주소는 16진수로 이루어져있으므로
각 자리당 4 Bit, 즉, 두 자리당 1 Byte이다.

IP주소 1번째 Byte → MAC주소의 첫 3 Byte  0100.5e 로 변환.
IP주소 2번째 Byte → 첫번째 Bit를 0으로 변경한 뒤 16진수로 변환.
IP주소 3, 4번째 Byte → 16진수로 변환.

그래서 Multicast MAC은
0100.5eXX.XXXX

Multicast IP 와 MAC 관계

(1) Multicast IP는 첫번째 옥텟이 224~239이므로 항상 첫 4 Bit는 1110으로 고정된다. 224~239는 1110 0000 ~ 1110 1111이다.

(2) 근데 위에 언급한 바와 같이 IP주소 1번째 Byte를 MAC주소 3 Byte로 변환한다고 했다. 다시말해, IP주소 8 Bit를 MAC주소 24 Bit로 변환한 것이고,  변환 후 IP주소는 24Bit, MAC주소는 24 Bit가 남는다.

(3) 남는 IP주소 24Bit는 MAC주소 24Bit로 변환한다.

위 순서대로 진행해보면

1110 _ _ _ _ . _ XXX XXXX . XXXX XXXX

이렇게 나오는데
“_”는 0이나 1이 올 수 있는 Bit.
“X”는 IP가 MAC으로 변환된 Bit.

25 = 32, 즉 32개의 IP 주소가 같은 MAC 주소를 사용한다.


2. Multicast 관련 프로토콜

토폴로지2. Multicast 관련 프로토콜
동작과정

(1) IGMP
PC가 라우터에게 Multicast IP가 239.1.1.1인 패킷을 달라고 요청.

(2) IGMP Snooping
스위치는 239.1.1.1 패킷을 요청한 PC로만 보내기 위해
나중에 239.1.1.1 패킷을 받으면 해당 PC로 보낼 준비를 한다.
만약, IGMP Snooping을 하지 않는다면 해당 패킷을 Flooding 한다.

(3) Multicast Routing Protocol
PC로부터 239.1.1.1 패킷을 요청받은 라우터는 어느 경로를 통해 해당 패킷을 받을 수 있는지 알고 있다. PIM-DM / PIM-SM 같은 MRP가 있다.

2-1. IGMP : Internet Group Management Protocol

– Multicast가 동작하는 호스트와 라우터 간에 사용된다.
– 호스트가 특정 Multicast Group에 가입 or 가입 중지할 때 사용한다.
– IGMP는 버전 1, 2, 3, 3 Lite가 있다. ( 버전 별 차이 )
– 인터페이스에 Multicast Routing Protocol을 설정하면 자동으로 동작한다.
– IPv4 패킷  ‘Protocol’ 필드번호 2, TTL 1로 고정된다.

2-2. Multicast Routing Protocol

MULTICAST ROUTING PROTOCOL: PIM-DM / PIM-SM 참고

2-3. IGMP Snooping

Transparent Bridging에 의하면, Multicast 패킷은 Flooding 해야한다.
하지만 Multicast 패킷이 많아질수록 장비에게 오는 부하도 커진다.
이런 문제를 해결하고자 IGMP Snooping과 CGMP가 있다.

IGMP Snooping 동작과정
(1) PC가 라우터로 IGMP를 이용해 특정 Multicast 패킷을 요청한다.
(2) 이 때, 스위치가 이 패킷을 엿보고, 이후에 라우터로부터 해당 Multicast 패킷을 수신하면 요청한 PC로 보낼 수 있도록 준비한다.
(3) 라우터에서 PC로 Multicast 패킷을 전송할 때, 스위치가 해당 인터페이스로만 패킷을 중계한다.

CGMP 동작과정
Cisco Group Management Protocol
라우터가 스위치에게 특정 Multicast 패킷은 특정 Unicast MAC을 소유한 호스트로 전송하라고 알려준다.

2-4. RPF

Reverse Path Forwarding Check.

Multicast 패킷 루프를 방지하기 위해 RPF를 확인해야 한다. 또한, RPF를 확인하기 위해선 Unicast 라우팅이 동작 중이어야 한다.
항상 Multicast 패킷의 Source IP를 확인한다.

그림. RPF

우선 SW1에서 10.10.0.0/24로 오는 패킷은 F0/5로 수신한다.

①은 정상이다.

②는 F0/2로 수신한다.
Source IP – 인터페이스가 일치하지 않아 폐기된다.

답글 남기기

이메일 주소는 공개되지 않습니다.