43
1 Switch Block Core Video Servers Host IP Multicast Applicatio n IP Multicast Applicatio n NIC Card Server Block Core Block Access Switch Distribution Switch Distribution Switch Planning Multicast Winsock V1.1 과 V2.0 과 과과과과 TCP/IP Stack 과 Multicast 과 Enable 과과 과과 . Server, Client 과 IP Multicast 과 과과과과 Application 과 과과과 과과 . Switch 과 Multicast 과 과과과과 과과 과과과 Port 과 Multicast Traffic 과 Forwarding 과과 과과 과과과 과과과 과 과과과 과과 . 과과과 과과과과 과과과과 Multicast 과 과과과과과 과과 Vendor 과과 과과과과 과과 Multicast Routin g Protocol 과 과과 과과 . Multicast 를 를를를를 IP Protocol Stack Multicast 를 를를를를 IP Protocol Stack

1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

Embed Size (px)

Citation preview

Page 1: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

1

Switch Block

Core

Video Servers

Host

IP Multicast Application

IP Multicast Application

NIC Card

Server Block Core Block

Access Switch

Distribution Switch

Distribution Switch

Planning Multicast

Winsock V1.1 과 V2.0 을 지원하는 TCP/IP Stack 은 Multicast 가 Enable 되어 있다 .Server, Client 는 IP Multicast 를 지원하는 Application 이 있어야 한다 .Switch 가 Multicast 를 인식하여 모든 스위치 Port 에 Multicast Traffic 이 Forwarding 되는 것을 적절히 통제할 수 있어야 한다 . 최근의 대부분의 라우터는 Multicast 를 지원하지만 모든 Vendor 에서 지원하는 표준 Multicast Routing Protocol 은 아직 없다 .

Multicast 를 지원하는IP Protocol Stack

Multicast 를 지원하는IP Protocol Stack

Page 2: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

2

Core

VideoServers

Multicast RoutingProtocols (PIM)

Channel 1

Channel 2

Channel 3

CGMP

IGMPMBONE(DVMRP) 1

3

2

IP Multicast 관련 Protocol

Internet Group Management Protocol(IGMP) 은 라우터와 호스트간에 Multicast Group Membership 정보를 교환한다 . IP multicast routing protocol 인 Protocol Independent Multicast (PIM) 은 라우터간에 Multicast Group 정보를 교환한다 .Cisco Group Management Protocol(CGMP) 는 Multicast Group 에 속한 Node 가 있는 Port로만 Multicast Packet 이 Forward 되게 하기 위하여 라우터가 스위치에게 특정 Multicast Group 에 속한 Host 의 Address 를 알려준다 .Cisco IOS 는 PIM-to-DVMRP Interaction 을 지원한다 .

Page 3: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

3

Router(config)#ip multicast routing Router#show running-configBuilding configuration...Current configuration:!hostname Router!!ip multicast-routing

ip multicast routing 을 Enable 시키는 것은 Cisco IOS software 가 multicast packet 을 다른 Interface 로 forward 시키는 것을 가능케 한다 .

Default 로 Multicast Routing 은 Disable 되어 있다 . IP multicast routing 을 Enable 시키는 것이 자동으로 Interface 에 Multic

ast 를 Enable 시키지 않는다 . 따라서 Interface 별로 Multicasting 을 설정해 주어야 한다 .

Enabling IP Multicast Routing

Page 4: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

4

Router(config)#interface vlan41Router(config-if)# ip pim sparse-dense

Router#show running-confighostname Router!ip multicast-routing(text deleted)interface Vlan101 ip address 172.16.1.41 255.255.0.0 ip pim sparse-dense-mode

Configuring Multicast Interface

라우터는 Interface 별로 Multicast Traffic 을 전달하므로 Multicast Routing Protocol이 Interface 별로 설정되어야 한다 . Interface 에 Multicast Routing Protocol 이 Enable 될 때 , 비로소 Interface 에 IGMP가 Enable 된다 . Interface 는 Dense Mode, Sparse Mode, Sparse-Dense Mode 로 설정할 수 있다 . Dense Mode 는 각각의 Multicast Group 에 대해서 Network 상의 모든 라우터가 Multicast Traffic 을 Distribute 할 때 사용된다 . Sparse Mode 는 각각의 Multicast Group 에 대해서 Network 상의 소수의 라우터가 Multicast Traffic 을 Distribute 할 때 사용된다 .Sparse-Dense Mode 는 Multicast Group 별로 Sparse Mode 와 Dense Mode 를 병행하여 사용한다 .Sparse-Dense Mode 는 rendezvous point 가 Detect 되면 Interface가 Sparse mode 로 취급되고 , rendezvous point 가 Detect 되지 않으면 Interface 는 Dense Mode 로 취급된다 .

Page 5: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

5

Source

Dense Mode 로 설정된 Interface 로는 모든 IP Multicast Packet 이 Flooding 된다 . 모든 Multicast Router 는 Outgoing Interface List(OilList) 를 유지하는데 Interface 상에 PIM Neighbor Router 가 Detection 되는 경우 ,Interface 에 연결된 호스트가 Multicast Group 에 Join 하는 경우 및 Interface 를 수동으로 Multicast Group 에 Join 시킨 경우에 Interface 는 OilList 에 포함된다 (즉 Multicast Packet 이 Forwarding 된다 .)

라우터 F에 특정 Multicast Packet 에 해당되는 Group Member 가 없는 경우 , 또는 PIM Neighbor 가 더 Detection 되지 않는 경우에 라우터 F 는 특정 Multicast Packet을 보낸 Source 쪽으로 Prune Message 를 보내고 , Source 쪽의 라우터 D 는 라우터 F 에 연결된 Interface 를 해당 Multicast Group 에 대해서 Pruning 시키고 , 따라서 해당 Multicast Packet 은 라우터로 Flooding 되지 않는다 .

PIM DM 은 DVMRP 와 Interoperability 가 있다 .

Dense Mode

Receiver 1

B

E

A D F

C

Receiver 2

No Receivers

Prune Message

Page 6: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

6

• Multicast Packet 에 대한 명시적인 요청 (PIM Join) 이 있는 경우에만 해당 라우터로 Multicast Traffic 이 Forward 된다 .

• Multicast traffic 을 송수신하려는 Router 들은 RP(Rendezvous point) 를 설정하여야 한다 .

• RP 는 Multicast Group Packet 을 보내야 할 Interface 에 대한 oilist 를 관리한다 .

• Multicast Traffic 이 더 이상 필요치 않는 Router 는 RP 를 향해 PIM Prune 을 보내어 RP 가 Multicast Traffic 을 Prune 하도록 한다 .

Receiver 1

B

E

A D F

Source 1

C

Non-Viewer

Non-Viewers

Rendezvous Point

Sparse Mode

Page 7: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

B

E

A D F

C

Non-Viewer

Non-Viewers

Rendezvous Point

IGMP Report

PIM Shared Tree Joins

Receiver1 이 Multicast Group 에 Join 하면 , Router C 는 설정된 RP 를 향해 PIM(*,G),(S,G) Join Message 를 보낸다 .

Receiver 1

Page 8: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

B

E

A D F

C

Non-Viewer

Non-Viewers

Rendezvous Point

(*,G) Join

PIM Shared Tree Joins

RP 는 (*,G, (S,G) Join 을 받아 , 자신의 Multicast Routing Table 의 (*,G), (S,G) State Entry 를 만들어 Router C 를 Outgoing Interface List 에 추가한다 . 이 시점에서 Multicast Group G 에 대해서 RP – Router C – Receiver 1 의 Shared Tree 가 만들어 진다 .

Receiver 1

Page 9: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

B

E

A D F

C

Non-Viewers

Rendezvous Point

IGMP Report

PIM Shared Tree Joins

Receiver2 가 Multicast Group 에 Join 하면 , Router E(Router C 와 Dense Mode로 연결된 경우 ) 는 PIM(*,G), (S,G) Join Message 를 보낸다 .

Receiver 2Receiver 1

Page 10: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

B

E

A D F

C

Non-Viewers

Rendezvous Point

(*,G) Join

PIM Shared Tree Joins

Router C 가 PIM(*,G), (S,G) Join Message 를 받게 되면 이미 (*,G) Entry 를 갖고 있으므로 Router E 를 Outgoing List 에 단순히 추가하면 된다 .

Receiver 1 Receiver 2

Page 11: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

B

E

A D F

C

Non-Viewers

Rendezvous Point

PIM Shared Tree Joins

이 시점에서 Multicast Group G 에 대해서 RP – Router C – Router E - Receiver 2 의 Shared Tree 가 확장된다 .

Receiver 2Receiver 1

Page 12: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

B

E

A D F

C

Non-Viewers

Rendezvous Point

IGMP Leave

PIM Shared Tree Prunes

Receiver 2 가 Multicast Group G 를 떠나면서 IGMP Leave Message 를 보낸다 .

Receiver 1 Receiver 2

Page 13: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

B

E

A D F

C

Non-Viewers

Rendezvous Point

(*,G) Prune

PIM Shared Tree Prunes

Router E 는 (*,G) Entry 의 Outgoing Interface List 에서 Ethernet Interface 를 제거한다 . 이 경우 , Outgoing Interface List 는 Null 이 되며 이는 Router E 가 더 이상 Group G 의 Multicast Traffic 을 필요로 하지 않는다는 것을 의미하므로 RP 를 향해 Prune Message 를 보낸다 .

Receiver 1

Page 14: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

B

E

A D F

C

Non-Viewers

Rendezvous Point

PIM Shared Tree Prunes

Router C 가 Prune Message 를 받아 (*,G) Entry 의 Outgoing Interface List 에서 Router E 에 대한 Link 를 제거한다 . Router C 의 (*,G) Entry 의 Outgoing Interface List 는 Null 이 아니므로 RP 에 대해 Prune Message 를 보내지 않는다 .

Receiver 1

Page 15: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

15

RSM144#show ip pim interface

Address Interface Mode Nbr Query DR Count Intvl172.16.1.143 Vlan1 Sparse-Dense 1 30 172.16.1.144172.16.11.143 Vlan41 Sparse-Dense 1 30 172.16.11.144172.16.12.143 Vlan42 Sparse-Dense 0 30 172.16.12.144172.16.13.143 Vlan43 Sparse-Dense 1 30 172.16.13.144172.16.14.143 Vlan44 Sparse-Dense 1 30 172.16.14.144172.16.51.143 Vlan51 Sparse-Dense 4 30 172.16.51.144172.16.52.143 Vlan52 Sparse-Dense 4 30 172.16.52.144

show ip pim interface 명령은 PIM이 Configuration된 Interface에 대한 정보를 보여 준다 .

Verifying the PIM Interface Configuration

Page 16: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

172.16.41.144PIM Router 2

Highest IP AddressElected as DR

PIM Query

172.16.41.143PIM Router 1

PIM Query

Selecting a Designated Router

PIM 은 네트워크 상의 PIM Router 를 찾기 위해서 주기적으로 Query 를 보낸다 . Ethernet 등 Multiaccess Network 에서 PIM Query Message 는 224.0.0.2 번 Multicast Group Address 로 모든 라우터에 보내어 진다 .Multiaccess network 상에서 DR 을 선출하기 위하여 PIM 라우터는 PIM Neighbor 로 부터 오는 PIM query message 를 분석하여 , 자신의 PIM Interface 의 IP Address 와 PIM Neighbor의 IP Address 를 비교하여 가장 높은 IP Address 를 갖는 PIM 라우터가 DR 이 된다 . 일정시간 동안 DR 로 부터의 PIM Query Message 가 없으면 DR 선출과정이 다시 시작된다 .

Page 17: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

Designated Router

MultipleAccess Network 에서는 단지 DR 만이 Host Query Message 를 보낼 수 있다 .

Host 로부터의 Reply 는 Subnet 상의 모든 PIM router 들이 받게 된다 .

Host QueryHost Query

Host ReplyHost Reply

PIMRouter

Selecting a Designated Router

Page 18: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

RSM145> show ip pim neighborPIM Neighbor TableNeighbor Address Interface Uptime Expires Mode

172.16.51.143 FastEthernet1/0 2d02h 00:01:08 v1 Sparse-Dense172.16.51.144 FastEthernet1/0 3d01h 00:01:24 v1 Sparse-Dense (DR)172.16.52.143 FastEthernet2/0 2d02h 00:01:08 v1 Sparse-Dense172.16.52.144 FastEthernet2/0 3d01h 00:01:24 v1 Sparse-Dense (DR)

Displaying the PIM Neighbor Table

Page 19: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

19

Router144(config)# ip pim rp-address 176.16.36.116

172.16.31.116Rendezvous Point

172.16.41.144Leaf Router

CampusNetwork

Router144#show runhostname Router(text deleted)!ip classlessip pim rp-address 176.16.31.116

Leaf Router

IPTV Server

Configuring a Rendezvous Point

Leaf Router(Multicast Group Member 에 연결된 라우터 ) 에서는 rendezvous point 의 IP address 가 반드시 설정되어야 한다 . Leaf Router 는 RP Address 를 사용하여 PIM Join 및 Prune Message 를 RP 에게 보낸다 .하나의 PIM Router 는 여러 Multicast Group 의 RP 로 작동할 수 있으며 , 하나의 Multicast Group 은 여러 개의 RP 를 가질 수 있다 .

Page 20: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

CampusNetwork

I would like to be the RP

for Group XYZ.

I would like to be the RP

for Group XYZ.I would like to be the RP

for Group ABC.

I would like to be the RP

for Group ABC.

RP Mapping Agent

Router A

Router B

Router A is theRP for Group ABC and Router B is

is the RP for Group XYZ.

Router A is theRP for Group ABC and Router B is

is the RP for Group XYZ.

Designated Router

Designated Router

Designated Router

Auto-RP

Page 21: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

Cisco IOS 11.1 에서 부터 지원하는 기능이다 .

PIM SM Router 들에 수동으로 RP 를 설정하는 것이 가장 기본적인 방법이지만 RP가 되는 라우터의 IP 가 바뀌게 되면 많은 라우터에서 수동적인 작업을 되풀이 해야 하고 , 설정에 있어서 실수가 있을 수도 있다 . 이 경우 Auto-RP 를 사용할 수 있다 .

Candidate RP 가 RP Announcement 를 하면 RP Mapping Agent 가 RP Announcement Message 를 받아 PIM SM Router 에게 Group-RP Mapping 정보를 전달한다 . PIM SM Router 는 자신의 네트워크에 연결된 Multicast Sender 와 Receiver 가 어느 RP를 사용할지를 알아낼 수 있다 .

Candidate RP 는 Auto RP Announcement Message 를 Well-Known Address 인 224.0.1.39 번 (Cisco-RP-Announce) 을 사용하여 RP-Mapping Agent 에게 보낸다 .

RP-Mapping Agent 는 RP-Group Mapping 정보를 224.0.1.40 번 (Cisco-RP-Discovery) 을 사용 PIM Router 들에게 보내면 PIM Router 들은 어떤 RP 를 사용할 지를 결정할 수 있다 .모든 PIM Router 들은 224.0.0.40 번 Multicast Group 에 속해 있다 .

Auto-RP

Page 22: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

Well-Known Group224.0.1.39

RP Mapping Agent

RP Candidate

Well-Known Group224.0.1.40

Designated Router

rp-announceMessage

rp-announceMessage

RP Candidate

rp-discoveryMessage

Designated Router

Designated Router

Well-Known Group224.0.1.40

Designated Router

Designated Router

Designated Router

rp-discoveryMessage

Auto-RP Discovery

Page 23: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

23

interface loopback0ip address 172.16.1.1 255.255.255.0

ip pim send-rp-announce loopback0 scope 16 group-list 10

Access-list 10 permit 239.254.0.0 0.0.255.255Access-list 10 permit 239.255.0.0 0.0.255.255

Configuring send rp-announce

ip pim send-rp-announce 명령은 라우터를 특정 Multicast Address Range(Default는 모든 Multicast Group 의 RP 가 되며 , Access-List 로 특정 Address Range 를 제한할 수 있다 .) 의 RP 역할을 하는 Candidate RP 가 되게 한다 .Loopback Interface 를 RP Announce Interface 로 설정하면 PIM 가 Enable 된 모든 Interface 로 RP Announce 를 하게 된다 .Auto-RP 는 Default 로 Disabled 되어 있다 .

Page 24: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

24

Router#show running-confighostname Router!!ip multicast-routing(text deleted)

interface loopback0ip address 192.168.100.2 255.255.255.0

ip pim send-rp-discovery scope 16

Router(config)#ip pim send-rp-discovery scope 16

Configuring send rp-discovery

특정 라우터를 PIM RP Mapping Agent 로 설정하기 위하여 ip pim send-rp-discovery 명령을 사용하여 설정하여야 한다 . PIM RP Mapping Agent 는 ttl 범위 내의 PIM SM 라우터들에게 Cisco-RP-Discovery 정보를 전달한다.Redundancy 를 위하여 네트워크 상에 여러 개의 Mapping Agent 를 둘 수 있다 .Router ID 가 높은 라우터 (높은 IP Address 를 갖고 있는 라우터 )가 Primary 가 되고 , Primary Fail 시 Secondary 가 작동한다 .

Page 25: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

25

interface Vlan101 ip address 172.16.1.113 255.255.255.0 ip pim sparse-dense-mode ip multicast ttl-threshold 16

Router(config)#interface vlan101Router(config-if)#ip multicast ttl-threshold 16

interface TTL threshold 보다 TTL 값이 큰 Multicast Packet 만이 (Multicast 가 Enable 된 Interface 를 넘어 ) Forward 될 수 있다 .

Interface TTL Threshold 의 Default 값은 0 으로 모든 Multicast Packet 이 (Multicast 가 Enable 된 Interface 를 넘어 ) Forward 된다 .

Configuring ttl-threshold

Page 26: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

Host Entry

Source Entry

Displaying the Multicast Routing Table

각각의 PIM Router 는 Multicast Routing Table 을 유지한다 .Multicast Routing Table 은 (S,G) Entry 를 유지하는데 S 는 Datagram 의 Source를 G 는 Destination Multicast Group Address 를 의미한다 .Host Entry (*, 224.2.253.119) 는 224.2.253.119 가 Destination 인 Multicast Packet 을 받으면 Forward 시킬 Interface 를 나타내며 , Source Entry (172.16.53.1, 224.2.253.119) 는 172.16.53.1 번 Host 와 224.2.253.119 번 Group Address 와의 상태 (Join 또는 Prune 상태 ) 를 나타낸다 .

(*, 224.2.253.119), 3d03h/00:02:59, RP 172.16.53.3, flags: SJC Incoming interface: null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Sparse, 1d21h/00:02:13

(172.16.53.1, 224.2.253.119), 00:02:55/00:00:04, flags: PCT Incoming interface: FastEthernet0/0, RPF nbr 0.0.0.0 Outgoing interface list: Null

Page 27: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

27

Address of the Packet Source

Receiving InterfaceMulticast group address

Bytes in the Packet

Action Taken on the Packet

Router# debug ip mpacketIP multicast packets debugging is onRSM114#3d06h : IP: s=172.16.53.1 (Vlan51) d=224.2.210.17 len 60, mforward3d06h : IP: s=172.16.53.1 (Vlan52) d=224.2.210.17 len 60, mforward3d06h : IP: s=172.16.53.1 (Vlan51) d=224.0.1.24 len 65, mforward3d06h : IP: s=172.16.53.1 (Vlan52) d=224.0.1.24 len 65, mforward

Logging Multicast Packets

Page 28: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

I am a member of Group 224.1.2.3. I will answer that ping.

I am a member of Group 224.1.2.3. I will answer that ping.

RSM144(config-if)# ip igmp join-group 224.1.2.3RSM144#show ip igmp int vlan41Vlan41 is up, line protocol is up Internet address is 172.16.41.144/24 IGMP is enabled on interface Current IGMP version is 2 (text deleted) Multicast designated router (DR) is 172.16.41.144 (this system) IGMP querying router is 172.16.41.143 Multicast groups joined: 224.0.1.40 224.0.1.39 224.1.2.3

CampusNetwork

Router# ping 224.1.2.3

Type escape sequence to abort.Sending 1, 100-byte ICMP Echos to 224.1.2.3, timeout is 2 seconds:

Reply to request 0 from 172.16.41.143, 1 ms

List of Group Memberships

IP Address of the

Interface Servicing the Group

172.16.41.143

Joining a Multicast Group

Router의 Interface를 특정 Multicast 그룹에 소속 시키면 그 Interface는 영구적으로 특정 Multicast 그룹에 소속된다 . 해당 Interface는 해당 Multicast 그룹 Address에 대한 Ping에 응답한다 .

Page 29: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

Leave to224.0.0.2

224.1.2.3

IGMPv1 Router

IGMPv1 Host1.2.3.11

I am configured as a IGMPv1 Router. I

will ignore any IGMPv2 leave

messages.

I am configured as a IGMPv1 Router. I

will ignore any IGMPv2 leave

messages.

IGMPv1 Host1.2.3.12

IGMPv2 Host1.2.3.13

H3H1 H2

IGMP Version 1 과 2 과 혼재하는 네트워크에서 Cisco Router 는 자동으로 서브넷상의 시스템의 IGMP Version 을 Detect 해서 Version 을 Switch 하는 기능이 없다 .

현재의 대부분의 Host 와 Router 는 IGMP Version 2 를 지원한다 . 구형 시스템이 IGMP Version 1 을 운영하므로써 호환성에 문제가 생기는 경우는 Version 2 의 시스템을 Version 1 으로 조정하여 문제를 해결할 수 있다 .

IGMPv2 and IGMPv1 Devices in the Same Subnet

Page 30: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

IGMP V1,V2 Interoperability

•Version 1 의 Router 는 Version 2 Host 가 보내는 IGMP V2 Report 를 무시한다 .

•Version 2 의 Host 는 Version 1 Router 의 Query 에 대해서 , IGMP Version 1 Report 를 할 수 있다 .(IGMP V2 Type 0x12 : Version 1 Membership Report)

•Version 2 의 Host 는 Leave Group Message 를 Suppress 할 수 있다 .

•Version 2 의 Host 는 IGMP V1 Query 를 듣게 되면 해당 Interface 를 IGMP V1 Interface 로 Mark 하고 , IGMP V2 Message Sending 을 중단한다 .

•Version 2 Host 는 IGMP Packet 의 Maximum Response Time Field 를 참조하여 V1 Query 와 V2 Query 를 구별한다 .

•Version 2 의 Host 는 IGMP V1 Query 를 듣게 되면 400-Second Countdown Timer 를 시작한다 .Timeout 이전에 또 IGMP V1 Query 를 듣게 되면 Timer 가 Reset 된다 . Timeout 이전에 IGMP V1 Query 를 듣지 못하면 Interface 는 IGMP V2 Interface 로 복귀된다 .

V2 Host / V1 Router : V2 Host 와 V1 Router 는 Interoperability 가 제공된다 .

Page 31: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

IGMP V1,V2 Interoperability

V1 Host / V2 Router : V2 Router 는 Version 1 으로 Version 을 바꾸어야 한다 .

•IGMP V2 Query Message 에 Version 1 Host 가 응답하여 IGMP V1 Report 를 보낸다 .

•IGMP V1 Host 들은 IGMP V2 Report 를 이해하지 못하므로 IGMP V1 Host들은 IGMP V2 Report 에 대해서 Report Suppression 을 하지 않고 , 따라서 IGMP V2 Router 는 IGMP V2 Report 와 V1 Report 를 모두 받게 된다 .

•IGMP V1 Host 들은 IGMP V2 Group Specific Query 를 이해하지 못하여 IGMP Report 를 하지 않으므로 IGMP v1 Host 가 특정 Multicast Group 의 마지막 Member 인 경우는 IGMP V2 Router 가 특정 Multicast Group 을 Timeout 시키는 부적절한 조치를 하게 된다 .

V1 Router / V2 Router : 모든 라우터는 IGMP V1 으로 설정되어야 한다 .

•IGMP V2 Router 가 IGMP V1 Router 를 Auto-Detection 하도록 하는 Implementation 이 불완전하여 , V1 Router 와 V2 Router 가 혼재하는 Subnet 에서는 모든 라우터는 IGMP V1 으로 설정되어야 한다 .

Page 32: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

32

Router# show ip igmp interfaceVlan101 is up, line protocol is up Internet address is 172.16.1.113, subnet mask is 255.255.255.0 IGMP is enabled on interface Current IGMP version is 2 CGMP is enabled on interface IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Inbound IGMP access group is not set Multicast routing is enabled on interface Multicast TTL threshold is 16 Multicast designated router (DR) is 172.16.1.114 IGMP querying router is 172.16.1.113 (this system) Multicast groups joined: 224.0.1.40 224.0.1.39 224.1.2.3

Determining the IGMP Version

Page 33: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

33

Router(config-if)# ip igmp version 1

interface Vlan41 ip address 172.16.411.143 255.255.255.0 ip pim sparse-dense-mode ip multicast ttl-threshold 16 ip igmp version 1

Changing the IGMP Version

IGMP Version 은 Default 로 Version 2 이다 . V1 Host 나 V1 Router 가 혼재하는 환경에서 Router 를 Version 1 으로 변경한다 .

Page 34: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

I don’t want to receive this video stream, but my CPU still needs to process that 1.5 MB

of data!

1.5 Mb

1.5 Mb 1.5 Mb

1.5 Mb 1.5 Mb 1.5 Mb 1.5 Mb

Receiver Receiver Receiver Not A Receiver

VideoServer

Layer 2 Multicast

IP Multicast Traffic 은 Layer 2 Multicast Address 를 사용하여 전송되므로 Layer 2 스위치의 경우 , 스위치의 모든 포트에 IP Multicast Traffic 이 전송된다 .CGMP 는 IP Multicast Traffic 이 IP Multicast Client 가 있는 Port 로만 전송되도록 한다 .

Page 35: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

0000.0c12.3456

IGMP Join Request 0000.0c12.3456 would like to join multicast

group XYZ.

0000.0c12.3456 would like to join multicast

group XYZ.

CGMP는 Cisco-Developed Protocol(Cisco Proprietary Protocol)로 Catalyst Switch가 Cisco Router 및 Layer3 Switch가 주는 정보에 의해 Multicast Client의 존재를 파악하게 한다.

IP Multicast Router가 호스트의 IGMP Join 및 Leave Information을 Catalyst Switch에 전달한다 .

CGMP(Cisco Group Management Protocol)

Page 36: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

Device 0000.0c12.3456wants to join

Group 234.10.8.5

Device 0000.0c12.3456wants to join

Group 234.10.8.5

CGMP Message

0000.0c12.3456

CGMP Message

I have no knowledge of

device 0000.0c12.3456

I have no knowledge of

device 0000.0c12.3456

I can reach device0000.0c12.3456

out of Port 1. I will add 234.10.8.5 to my switch

forwarding table.

CGMP

Router 가 Host 로부터 IGMP Information 을 받으면 Router 는 Multicast Group Address, Multicasting Host 의 Actual MAC address 를 포함하는 CGMP packet 을 만든다 .CGMP packet 은 Well-known Multicast Address(0100.0cdd.dddd) 로 라우터에 연결된 모든 스위치에 전달된다 .CGMP Packet 은 스위치에서 해석되어 Forwarding Table 의 한 Entry 가 된다 .Forwarding Table 의 Entry 는 Multicast Group Address 와 Host 의 Mac Address 의 Mapping 으로 구성된다 .

Page 37: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

37

Router#show run(text deleted)interface Vlan41 mac-address 4004.0114.0011 ip address 172.16.41.144 255.255.255.0 no ip redirects ip pim sparse-mode ip cgmp

Router(config-if)# ip cgmp

CGMP 는 Default 로 Disabled 되어 있다 . CGMP 는 PIM 이 설정된 Interface 에서만 작동한다 .

Enabling CGMP on the Router

Page 38: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

38

Switch (enable) set cgmp enable

Switch (enable) show config (text deleted)#cgmpset cgmp enableset cgmp leave disable

Default 로 Switch 에서 CGMP 는 Disable 되어있다 . CGMP 를 Enable 시키기전에 IGMP Snooping 은 반드시 Disable 되어 있어야 한다 .(set igmp disable 명령을 사용한다 .)

Enabling CGMP on the Switch

Page 39: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

39

0000.0c12.3456

I can reach device 000.0c12.3456 out of Port 2. I will add that port to group 224.1.2.3 in my switch forwarding table.

I can reach device 000.0c12.3456 out of Port 2. I will add that port to group 224.1.2.3 in my switch forwarding table.

CGMP Join MAC Address 0000.0c12.3456 to224.1.2.3

0100.0cdd.dddd 0100.0cdd.dddd

I have no knowledge of

device 0000.0c12.3456

I have no knowledge of

device 0000.0c12.3456

I am 0000.0c12.3456. I would like to join

multicast group224.1.2.3

I am 0000.0c12.3456. I would like to join

multicast group224.1.2.3

To 224.0.0.2

CGMP :Joining a Group

0100.0cdd.dddd 는 CGMP Message 가 라우터로 부터 스위치로 보내어 질 때의 Well-Known Mac Address 이다 .

Page 40: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

40

0000.0c12.3456

I can reach device0000.0c12.3456out of Port 2. I will remove that port from group 224.1.2.3in my switchforwarding table.

I can reach device0000.0c12.3456out of Port 2. I will remove that port from group 224.1.2.3in my switchforwarding table.

CGMP Remove MAC Address 0000.0c12.3456 from224.1.2.3

0100.0cdd.dddd 0100.0cdd.dddd

I have no knowledge of

device 0000.0c12.3456

I have no knowledge of

device 0000.0c12.3456

IGMPLeave to224.0.0.2

CGMP :Leaving a Group

Page 41: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

41

Switch (enable) set cgmp leave enableCGMP leave processing enabled.

(text deleted)!#cgmpset cgmp enableset cgmp leave enable!

기본적으로는 Router 가 특정 Multicast Group 에 더 이상 소속 Member가 없다는 것을 감지하면 Router 는 모든 스위치에 CGMP Remove Message를 낸다 .

추가하여 set cgmp leave enable 명령을 사용하면 ,호스트가 보내는 IGMP Leave Message(IGMP V2 의 경우 )를 라우터가 받아서 스위치에 알려 주면 스위치는 일정시간 대기후 Leave Message 에 있는 Multicast Group에 대해서는 Distribution Tree 에서 Pruning 시킨다 .이를 CGMP fast-leave Function 이라 한다 .

CGMP leave 는 default 로 disabled 되어 있다 .

Enabling CGMP Leave on the Switch

Page 42: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

42

Switch (enable) show cgmp statistics 41CGMP enabledCGMP statistics for vlan 41:valid rx pkts received 211915invalid rx pkts received 0valid cgmp joins received 211729valid cgmp leaves received 186valid igmp leaves received 0valid igmp queries received 3122igmp gs queries transmitted 0igmp leaves transmitted 0failures to add DSW144 to RTR144 0topology notifications received 80number of CGMP packets dropped 2032227

Verifying CGMP on the Switch

Page 43: 1 Switch Block Core Video Servers Host IP Multicast Application NIC Card Server Block Core Block Access Switch Distribution Switch Planning Multicast

참고 : IGMP Snooping

1.Catalyst Switch 에서 CGMP 를 Disable 시키고 , IGMP 를 Enable 시킨다 . 이는 CGMP 와 IGMP Snooping 이 동시에 사용될 수 없기 때문이다 .

Switch (enable) set cgmp disableSwitch (enable) set igmp enable

2.Multicast Router 가 Catalyst 의 어느 Port 에 연결되어 있는지를 설정한다 .

Switch (enable) set multicast router mod_num/port_num

CGMP 를 인식하지 못하는 Non-Cicso Router 와 Cisco Catalyst Switch 를 연결하여 사용하는 경우에는 CGMP 를 사용하여 Port 별로 Multicast Packet을 처리할 수 없으므로 별도의 조치가 필요하다 .