当前位置:首页阅读

详解组播Multicast PIM-SM

详解组播Multicast PIM-SM

详解

详解组播Multicast PIM-SM

组网要求:

1.网络拓扑、IP地址规划如上图所示;

2. R1、R2、R3、R4运行OSPF协议,打通网络的单播路由;

3. R1、R2、R3、R4同时也是组播路由器,运行PIM-SM;

4. R3为RP,配置Loopback0,IP地址为3.3.3.3,该地址作为RP的地址;

5. 接收者加入组播组224.1.1.1;观察RPT的构建;

6. 在R4上将RPT-SPT的切换设置为永远不切换,同时从源开始发送组播数据,观察源的注册过程、RP到源的SPT建立过程、组播流量沿着RPT下行的过程。

7. 在R4上将RPT-SPT的切换恢复为默认值,同时将R4的GE0/0/1口的OSPF Cost值稍稍调大,观察RPT到SPT的切换过程。

一、eNSP详解视频:

二、IP设置:

1、组播源:10.10.10.10/24,网关:10.10.10.254/24,组播组:224.1.1.1

2、R1:GE0/0/0:10.1.12.1/24,GE0/0/1:10.1.14.1/24

3、R2:GE0/0/0:10.1.12.2/24,GE0/0/1:10.1.23.2/24,GE0/0/2:10.10.10.254/24

4、R3:GE0/0/0:10.1.23.3/24,GE0/0/1:10.1.34.3/24

5、R4:GE0/0/0:10.1.14.4/24,GE:0/0/1:10.1.34.4/24,GE0/0/2:10.1.1.254/24

6、PC1:接受者:10.1.1.1/24,网关:10.1.1.254,组播组:224.1.1.1

三、配置步骤:

1. R1、R2、R3及R4完成接口IP地址的配置,运行OSPF。

R1的基础配置如下:

[R1] interface GigabitEthernet0/0/0

[R1-GigabitEthernet0/0/0] ip address 10.1.12.1 24

[R1] interface GigabitEthernet0/0/1

[R1-GigabitEthernet0/0/1] ip address 10.1.14.1 24

[R1] ospf 1 router-id 1.1.1.1

[R1-ospf-1] area 0

[R1-ospf-1-area-0.0.0.0] network 10.1.12.1 0.0.0.0

[R1-ospf-1-area-0.0.0.0] network 10.1.14.1 0.0.0.0

R2的基础配置如下:

[R2] interface GigabitEthernet0/0/0

[R2-GigabitEthernet0/0/0] ip address 10.1.12.2 24

[R2] interface GigabitEthernet0/0/1

[R2-GigabitEthernet0/0/1] ip address 10.1.23.2 24

[R2] interface GigabitEthernet0/0/2

[R2-GigabitEthernet0/0/2] ip address 10.10.10 24

[R2] ospf 1 router-id 2.2.2.2

[R2-ospf-1] area 0

[R2-ospf-1-area-0.0.0.0] network 10.1.12.2 0.0.0.0

[R2-ospf-1-area-0.0.0.0] network 10.1.23.2 0.0.0.0

[R2-ospf-1-area-0.0.0.0] network 10.10.10.254 0.0.0.0

[R2-ospf-1-area-0.0.0.0] quit

[R2-ospf-1] silent-interface GigabitEthernet0/0/2

R3的基础配置如下:

[R3] interface GigabitEthernet0/0/0

[R3-GigabitEthernet0/0/0] ip address 10.1.23.3 24

[R3] interface GigabitEthernet0/0/1

[R3-GigabitEthernet0/0/1] ip address 10.1.34.3 24

[R3] interface loopback 0

[R3-loopback0] ip address 3.3.3.3 255.255.255.255

#该地址作为RP的地址

[R3] ospf 1 router-id 3.3.3.3

[R3-ospf-1] area 0

[R3-ospf-1-area-0.0.0.0] network 10.1.23.3 0.0.0.0

[R3-ospf-1-area-0.0.0.0] network 10.1.34.3 0.0.0.0

[R3-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0

R4的基础配置如下:

[R4] interface GigabitEthernet0/0/0

[R4-GigabitEthernet0/0/0] ip address 10.1.14.4 255.255.255.0

[R4] interface GigabitEthernet0/0/1

[R4-GigabitEthernet0/0/1] ip address 10.1.34.4 255.255.255.0

[R4] interface GigabitEthernet0/0/2

[R4-GigabitEthernet0/0/2] ip address 10.1.1.254 255.255.255.0

[R4] ospf 1 router-id 4.4.4.4

[R4-ospf-1] area 0

[R4-ospf-1-area-0.0.0.0] network 10.1.14.4 0.0.0.0

[R4-ospf-1-area-0.0.0.0] network 10.1.34.4 0.0.0.0

[R4-ospf-1-area-0.0.0.0] network 1.1.1.254 0.0.0.0

[R4-ospf-1-area-0.0.0.0] quit

[R4-ospf-1] silent-interface GigabitEthernet0/0/2

2.

R1、R2、R3及R4部署PIM-SM

R1的配置如下:

[R1] multicast routing-enable

[R1] interface GigabitEthernet0/0/0

[R1-GigabitEthernet0/0/0] pim SM

#在接口上激活PIM-SM

[R1] interface GigabitEthernet0/0/1

[R1-GigabitEthernet0/0/1] pim SM

#在接口上激活PIM-SM

[R1] pim

[R1-pim] static-rp 3.3.3.3

#设置静态RP地址3.3.3.3

R2的配置如下:

[R2] multicast routing-enable

[R2] interface GigabitEthernet0/0/0

[R2-GigabitEthernet0/0/0] pim SM

[R2] interface GigabitEthernet0/0/1

[R2-GigabitEthernet0/0/1] pim SM

[R2] interface GigabitEthernet0/0/2

[R2-GigabitEthernet0/0/2] pim SM

[R2] pim

[R2-pim] static-rp 3.3.3.3

R3的配置如下:

[R3] multicast routing-enable

[R3] interface GigabitEthernet0/0/0

[R3-GigabitEthernet0/0/0] pim SM

[R3] interface GigabitEthernet0/0/1

[R3-GigabitEthernet0/0/1] pim SM

[R3] interface loopback0

[R3-loopback0] pim SM

[R3] pim

[R3-pim] static-rp 3.3.3.3

R4的配置如下:

[R4] multicast routing-enable

[R4] interface GigabitEthernet0/0/0

[R4-GigabitEthernet0/0/0] pim SM

[R4] interface GigabitEthernet0/0/1

[R4-GigabitEthernet0/0/1] pim SM

[R4] interface GigabitEthernet0/0/2

[R4-GigabitEthernet0/0/2] igmp enable

#连接组播接收者的接口激活IGMP

[R4] pim

[R4-pim] static-rp 3.3.3.3

完成配置后,先做一下初步的验证:

R4display pim neighbor

VPN-Instance: public net

Total Number of Neighbors = 2

Neighbor

Interface

Uptime

Expires

Dr-Priority BFD-Session

10.1.14.1 GE0/0/0

00:53:40

00:01:24

1 N

10.1.34.3 GE0/0/1

00:53:39

00:01:37

1 N

上述输出的是R4的PIM邻居表,可以看到R4发现了两个PIM邻居。在其他路由器上也做相应的查看,确保PIM邻居都发现完整了。

R4display pim rp-info

VPN-Instance: public net

PIM SM static RP Number:1

Static RP: 3.3.3.3

上面的输出查看的是R4的PIM RP信息,我们为R4手工告知了RP的地址,3.3.3.3,其实也就是R3。

3. 组播用户加入组224.1.1.1,查看RPT的建立过程

现在组播接收者PC加入组224.1.1.1(具体的操作方法请见本手册的PIM-DM实验小节,有详细描述),这将触发PC发送IGMP成员关系报告,R4最为最后一跳路由器会从GE0/0/2口上收到这个报告,它便知道该接口下出现了组播组224.1.1.1的成员,它将建立(* , 224.1.1.1)的组播路由表项:

R4display pim routing-table

VPN-Instance: public net

Total 1 (*, G) entry; 0 (S, G) entry

(*, 224.1.1.1)

RP: 3.3.3.3

Protocol: pim-SM, Flag: WC EXT

UpTime: 00:00:04

Upstream interface: GigabitEthernet0/0/1

Upstream neighbor: 10.1.34.3

RPF prime neighbor: 10.1.34.3

Downstream interface(s) information: None

随后R4会向RPF上行接口发送(*,G)PIM Join消息,请求加入共享树RPT。R4如何判断哪个接口是RPF上行接口呢?R4通过单播路由表来判断,对于RPT,PIM路由器在做RPF检查的时候是朝向RP的,因此R4在单播路由表中查找到达RP3.3.3.3的路由,选择路由的出接口作为RPF接口,但是这里由于全网接口COST都是默认值,因此R4上关于3.3.3.3的OSPF路由在R1及R3上出现等价负载均衡,这时R4会选择R1及R3中接口IP较大的作为RPF的主邻居,也就是R3,因此R4的GE0/0/1成为RPF接口。这与上面的输出吻合。R3在收到R4发上来的PIM Join消息后,它会创建一个(*,224.1.1.1)表项,将收到该报文的接口GE0/0/1添加到下行接口列表中,由于自己就是RP了,因此共享树的一个分支就此建立完成。

R3display pim routing-table

VPN-Instance: public net

Total 1 (*, G) entry; 0 (S, G) entry

(*, 224.1.1.1)

RP: 3.3.3.3 (local)

Protocol: pim-SM, Flag: WC

UpTime: 00:00:09

Upstream interface: Register

Upstream neighbor: NULL

RPF prime neighbor: NULL

Downstream interface(s) information:

Total number of downstreams: 1

#下行接口列表

1: GigabitEthernet0/0/1

Protocol: pim-SM, UpTime: 00:00:09, Expires: 00:03:21

详解组播Multicast PIM-SM_WWW.XUNWANGBA.COM

4. 源注册、RP到源的SPT建立过程、组播报文的传输过程

接下去我们来观察一下源注册、RP到源的SPT建立过程及组播报文的传输过程。首先在R4上将RPT-SPT的切换设置为永远不切换,因为这个特性我们在下一步中再去关注,这里暂时忽略掉。

[R4] pim

[R4-pim] spt-switch-threshold infinity

使用上述配置将R4的PIM SPT切换特性设置为永远不切换。 现在组播源开始向组播组224.1.1.1发送组播数据(这可以通过ping 224.1.1.1来模拟)。组播数据到达第一跳路由器R2后,R2会将组播数据封装在单播的PIM Register报文中发往RP也就是R3。通过在R2的GE0/0/1口上抓包,可以看到Register报文,这是一个单播包,目的地址是3.3.3.3。

R3在收到这个包后,解封装发现里头是个(10.10.10.10,224.1.1.1)的组播数据包,因此在本地创建一个(10.10.10.10,224.1.1.1)表项,同时将组播数据包沿着RPT先传下去(从

GE0/0/1口发出去)。另一方面,R3紧接着向源的方向(同样是借助单播路由表查找到

10.10.10.10的路由来获得RPF接口)发送(10.10.10.10,224.1.1.1)的PIM Join消息,试图在自己与源之间建立一条源树SPT。

R3display pim routing-table

VPN-Instance: public net

Total 1 (*, G) entry; 1 (S, G) entry

(*, 224.1.1.1)

RP: 3.3.3.3 (local)

Protocol: pim-SM, Flag: WC

UpTime: 00:02:57

Upstream interface: Register

Upstream neighbor: NULL

RPF prime neighbor: NULL

Downstream interface(s) information:

Total number of downstreams: 1

1: GigabitEthernet0/0/1

Protocol: pim-SM, UpTime: 00:02:57, Expires: 00:02:33

(10.10.10.10, 224.1.1.1)

RP: 3.3.3.3 (local)

Protocol: pim-SM, Flag: SPT 2MSDP ACT

UpTime: 00:00:22

Upstream interface: GigabitEthernet0/0/0

Upstream neighbor: 10.1.23.2

RPF prime neighbor: 10.1.23.2

Downstream interface(s) information:

Total number of downstreams: 1

1: GigabitEthernet0/0/1

Protocol: pim-SM, UpTime: 00:00:22, Expires: -

R2收到这个Join消息后,将GE0/0/1口添加到(10.10.10.10,224.1.1.1)组播表项的下行接口列表中国,然后将组播流量沿着建立好的SPT转发到RP,而不再将组播流量封装到Register报文中。

R2dis pim routing-table

VPN-Instance: public net

Total 0 (*, G) entry; 1 (S, G) entry

(10.10.10.10, 224.1.1.1)

RP: 3.3.3.3

Protocol: pim-SM, Flag: SPT LOC ACT

UpTime: 00:00:41

Upstream interface: GigabitEthernet0/0/2

Upstream neighbor: NULL

RPF prime neighbor: NULL

Downstream interface(s) information:

Total number of downstreams: 2

1: GigabitEthernet0/0/1

Protocol: pim-SM, UpTime: 00:00:41, Expires: 00:02:49

2: Register

Protocol: pim-SM, UpTime: 00:00:41, Expires: -

详解组播Multicast PIM-SM_WWW.XUNWANGBA.COM

5.

SPT切换过程

现在,将R4上之前配置的SPT切换的相关配置去除(undo spt-switch-threshold)。在默认情况下,R4作为最后一跳路由器,只要一收到224.1.1.1的组播数据包,则立即进行SPT的切换。接着将R4的GE0/0/1口OSPF Cost稍稍调大,调节为2(默认是1),我们通过这个动作来模拟这样一个事实:“R4从R1到达源,比从R3到达源要更近”。现在,当R4从GE0/0/1口收到第一个224.1.1.1的组播数据包时,将启动SPT切换机制,朝着源的方向(也就是R1)发送(10.10.10.10,224.1.1.1)的PIM Join消息,请求加入SPT。

R1收到这个Join消息后,创建(10.10.10.10,224.1.1.1)表项,将GE0/0/1口添加到下行接口列表,同时向R2发送Join消息。R2收到这个Join消息后,将自己的GE0/0/0口添加到(10.10.10.10,224.1.1.1)表项的下行接口列表,并开始向GE0/0/0口下传组播数据。

R2display multicast routing-table

Multicast routing table of VPN-Instance: public net

Total 1 entry

00001. (10.10.10.10, 224.1.1.1)

Uptime: 00:00:05

Upstream Interface: GigabitEthernet0/0/2

List of 3 downstream interfaces

1: GigabitEthernet0/0/0

2: GigabitEthernet0/0/1

3: Register

这一步完成之后,网络中的组播路径树如下所示:

详解组播Multicast PIM-SM_WWW.XUNWANGBA.COM

现在R4会从R1及R3收到组播数据的两份拷贝,这显然是没有意义的,因此它向R3发送一个Prune消息,将自己从RPT上剪除。R3收到这个消息后,将接口GE0/0/1从(*,224.1.1.1)表项的下行接口列表中删除,也就不再向GE0/0/1口发送组播流量了,然后发现下行接口列表为空,因此向R2发送一个Prune消息,请求将自己从SPT上修剪掉,因为它不再需要组播流量了。R2收到这个Prune消息后,将GE0/0/1口从表项的下行接口列表中删除。最终R2的组播表项如下:

R2display pim routing-table

VPN-Instance: public net

Total 0 (*, G) entry; 1 (S, G) entry

(10.10.10.10, 224.1.1.1)

RP: 3.3.3.3

Protocol: pim-SM, Flag: SPT LOC ACT

UpTime: 00:00:19

Upstream interface: GigabitEthernet0/0/2

Upstream neighbor: NULL

RPF prime neighbor: NULL

Downstream interface(s) information:

Total number of downstreams: 2

1: GigabitEthernet0/0/0

Protocol: pim-SM, UpTime: 00:00:19, Expires: 00:03:11

2: Register

Protocol: pim-SM, UpTime: 00:00:19, Expires: -

组播路径树如下:

详解组播Multicast PIM-SM_WWW.XUNWANGBA.COM

四、R1的主要配置文件:

#

sysname R1

#

multicast routing-enable

#

interface GigabitEthernet0/0/0

ip address 10.1.12.1 255.255.255.0

pim SM

#

interface GigabitEthernet0/0/1

ip address 10.1.14.1 255.255.255.0

pim SM

#

ospf 1 router-id 1.1.1.1

area 0.0.0.0

network 10.1.12.0 0.0.0.255

network 10.1.14.0 0.0.0.255

#

pim

static-rp 3.3.3.3

#

return

五、R2的主要配置文件:

#

sysname R2

#

multicast routing-enable

#

interface GigabitEthernet0/0/0

ip address 10.1.12.2 255.255.255.0

pim SM

#

interface GigabitEthernet0/0/1

ip address 10.1.23.2 255.255.255.0

pim SM

#

interface GigabitEthernet0/0/2

ip address 10.10.10.254 255.255.255.0

pim SM

#

interface NULL0

#

ospf 1 router-id 2.2.2.2

silent-interface GigabitEthernet0/0/2

area 0.0.0.0

network 10.1.12.0 0.0.0.255

network 10.1.23.0 0.0.0.255

network 10.10.10.0 0.0.0.255

#

pim

static-rp 3.3.3.3

#

return

六、R3的主要配置文件:

#

sysname R3

#

multicast routing-enable

#

interface GigabitEthernet0/0/0

ip address 10.1.23.3 255.255.255.0

pim SM

#

interface GigabitEthernet0/0/1

ip address 10.1.34.3 255.255.255.0

pim SM

#

interface GigabitEthernet0/0/2

#

interface NULL0

#

interface LoopBack0

ip address 3.3.3.3 255.255.255.255

pim SM

#

ospf 1 router-id 3.3.3.3

area 0.0.0.0

network 3.3.3.3 0.0.0.0

network 10.1.23.0 0.0.0.255

network 10.1.34.0 0.0.0.255

#

pim

static-rp 3.3.3.3

#

return

七、R4的主要配置文件:

#

sysname R4

#

multicast routing-enable

#

interface GigabitEthernet0/0/0

ip address 10.1.14.4 255.255.255.0

pim SM

#

interface GigabitEthernet0/0/1

ip address 10.1.34.4 255.255.255.0

pim SM

ospf cost 1

#

interface GigabitEthernet0/0/2

ip address 10.1.1.254 255.255.255.0

igmp enable

#

interface NULL0

#

ospf 1 router-id 4.4.4.4

silent-interface GigabitEthernet0/0/2

area 0.0.0.0

network 10.1.1.0 0.0.0.255

network 10.1.14.0 0.0.0.255

network 10.1.34.0 0.0.0.255

#

pim

static-rp 3.3.3.3

#

return

以上就是(详解组播Multicast PIM-SM)全部内容,收藏起来下次访问不迷路!