IP组播配置与管理实战——2

PIM-DMIPv4)配置与管理

 

在PIM-DM模式中使用“推”(Push)模式转发组播报文,就是由PIM路由器向组播成员主动推送组播数据,PIM-DM网络仅适用于ASM模型,组播源是任意的,组播成员和组播路由器都不关心组播源的位置。当网络中有活跃的组播源出现,即有组播源需要向某组播组发送组播数据时,会将组播数据扩散到全网,借助RPF检查机制创建组播路由表项,实现组播数据转发。PIM-DM的关键工作机制包括邻居发现、扩散、剪枝、嫁接、断言和状态刷新这几个过程。

IP组播配置与管理实战——2

如上图,PIM-DM网络中出现了活跃的组播源Source后,通过组成员管理协议IGMP,SwitchD、SwitchE了解到与其相连的HostB、HostC为组播组成员,便将接收到的组播数据分别向组成员所在网段转发。由于与SwitchC相连网段没有组成员,它会逐跳向上游发起剪枝操作。组播源的最后一跳PIM组播路由器SwitchA接收到剪枝报文后,就会将与SwitchC相连的下游接口从PIM路由表项的下游接口列表中删除,抑制组播数据向该接口的网段转发。PIM-DM网络就是这样通过这种周期性的“扩散-剪枝”来构建并维护一棵单向无环的SPT(Source Specific Shortest Path Tree,源指定最短路径树)。整个SPT路径是以组播源为起点的,同时组播源也是组播的中心。——这里对上面的描述有一个不同点,上面的说法应该改成组播源第一跳PIM组播源路由器SwitchA接收到剪枝报文后,就会将与SwitchC相连的下游接口从PIM路由表项的下游接口列表中删除,这里SwitchC是最后一跳路由器(叶子路由器)

一、PIM-DM(IPv4)特性的产品支持

PIM-DM可配置的主要特性包括基本功能的配置、PIM-DM控制参数的调整和PIM Silent。

1、PIM-DM基本功能

PIM-DM基本功能就是对对应的VLAN或者Loopback接口上使能PIM-DM功能。在接口上使能了PIM-DM功能之后,系统采用PIM-DM的缺省值就可以正常工作,将组播源发出的组播数据分发到组成员网段。

2、PIM-DM控制参数

有时为了提高网络安全性,增强组播报文转发的控制能力,根据实际需要设备支持调整PIM-DM控制参数:

IP组播配置与管理实战——2

3、PIM Silent

在直连用户主机的接口上需要使能PIM协议,以便在该接口上可以建立PIM邻居,处理各类PIM协议报文。存在一个问题,如果有恶意主机模拟向PIM路由器发送PIM Hello报文时,有可能导致设备瘫痪。为了避免这样的情况发生,可以将该接口设置为PIM Silent状态(即PIM消极状态),可禁止该接口接收和转发任何PIM协议报文,删除该接口上的所有PIM邻居以及PIM状态机。但该接口上的IGMP功能不受影响。

该功能仅适用于与用户主机网段直连的PIM设备接口。且该用户网段只与这一台PIM设备相连。配置了该功能后,接口将不再接收和转发任何PIM协议报文,但这样配置后,该接口配置的其他PIM功能将失效,需谨慎使用。如果用户网段与多台PIM设备相连,且如果在多个PIM设备接口上配置PIM Silent,则这些接口都成为了静态DR,会导致该网段中同时存在多个DR,从而引发组播故障。

——是不是说,配置了PIM Silent功能后,接口自动成为静态DR

二、配置PIM-DM基本功能

配置PIM-DM前需要先配置好单播路由协议,保证网络内单播路由畅通。且设备上不能同时使能PIM-DMPIM-SM,如果接口上需要同时使能PIM-DMIGMP,必须先使能PIM-DM,再使能IGMP。——配置对命令的使用顺序有要求

PIM-DM基本功能的配置很简单,主要就是两项基本任务一是全局使能组播路由功能(如果在配置其他组播功能时已使能,则无需再使能),二是在对应的VLAN接口或Loopback接口上使能PIM-DM功能

IP组播配置与管理实战——2

三、调整组播源控制参数

每当PIM设备在接收到源S发往组播组G的组播报文后,就会启动该(S,G)表项的定时器,即源生存时间(缺省值为210s。下次如果超时前接收到该组播源发来的报文,则重置定时器;如果超时后没有接收到该组播源发来的报文,则认为该(S,G)表项失效,将其删除。通过这种方法可以及时地更新PIM路由器上的组播转发表项。

另外,如果希望控制组播流量或者保证组播成员所接收的组播数据的安全性,还可PIM设备上配置源地址过滤策略,只接收该策略允许范围内组播源发送的组播数据,拒绝非法的组播数据。缺省情况下,没有过滤策略,即接收任何组播源发来的组播数据。通过基本或高级ACL可对组播源地址或组地址进行过滤,还可对组播源生存时间进行控制,提高数据安全性、控制网络流量。在调整组播源控制参数前,需配置好PIM-DM基本功能。

IP组播配置与管理实战——2

示例1:使用数字型ACL配置接收组播源地址为10.10.1.2的组播数据包,丢弃组播源地址为10.10.1.1的组播数据包。

IP组播配置与管理实战——2

示例2:使用命名型ACL配置接收组播源地址为10.10.1.2的组播数据包,丢弃组播源地址为10.10.1.1的组播数据包。

IP组播配置与管理实战——2

示例3:使用数字型ACL配置接收组播源地址为10.10.1.2,组播组地址为225.1.1.3的组播数据包。

IP组播配置与管理实战——2

四、调整邻居控制参数

通过调整邻居控制参数,控制邻居间Hello报文的交互,可以防止非法邻居关系的建立,保证PIM-DM网络的安全。调整邻居控制参数前,也需完成PIM-DM基本功能配置。

1、调整Hello报文的时间控制参数

PIM设备通过周期性地发送Hello报文来维护PIM邻居关系,就像RIP、OSPF这些动态路由协议中的邻居维护一样。当PIM设备收到邻居发来Hello报文后会启动定时器,时间设为该Hello报文的保持时间。如果超时后没有收到邻居发来的Hello报文则认为该邻居失效或不可达。为了避免多个PIM设备同时发送Hello报文而导致冲突,当PIM设备接收到Hello报文时将延迟一段时间再发送Hello报文。该段时间的值为一个随机值,并且小于触发Hello报文的最大延迟

发送Hello报文的时间间隔(缺省为30s)、Hello报文的保持时间(缺省为105s)在全局PIM视图下和接口视图下都可配置。如果同时配置,接口视图上的配置生效。但触发Hello报文的最大延迟时间(缺省为5s)只能在接口上配置。

2、配置邻居过滤策略

设备支持以下两种邻居过滤策略,来保证PIM-DM网络的安全和畅通。

(1)限定合法的邻居地址范围,防止非法邻居入侵等。

(2)拒绝接收无GenerationIDHello报文,保证与设备相连的都是正常工作的PIM邻居。

IP组播配置与管理实战——2
IP组播配置与管理实战——2

PIMv2报文的格式如下:所谓调整邻居控制参数,主要是调整Hello报文中相应字段的值

IP组播配置与管理实战——2

IP组播配置与管理实战——2

IP组播配置与管理实战——2

字段

长度

说明

Version

4 比特

PIM 版本,值为 2。

Type

4 比特

消息类型,值为 0。

Reserved

8 比特

保留字段,发送时设置为 0,接收时忽略此值。

Checksum

16 比特

校验和。

Hello Option
[1]...[N]

16 比特

采用 Type-Length-Value(TLV)格式,其中:
· Type: 2 字节, Option 参数类型。
· Length: Value 字段的长度,字节为单位。
· Value: Option 参数值。
Type 值对应的参数名:

· 1: Holdtime,表示保持邻居为可达状态的超时时间,若超时仍没有收到 Hello 消息则认为
邻居不可达。

· 2:
该字段由三部分组成:
LAN Prune Delay:在共享网段上传递 Prune 消息的延迟时间。
Override Interval:在共享网段上执行剪枝前的否决时间。

· T: Join 消息抑制能力位。
· 19: DR Priority,表示各路由器接口竞选 DR 的优先级,优先级越高越容易获胜。
· 20: Generation ID, Hello 消息中携带的随机数,表示当前邻居状态。如果状态发生更新
则随机数也会更新。当路由器发现接收到的来自上游的 Hello 消息中包含不同 Generation
ID 值,则认为上游邻居已经丢失或上游邻居状态已经改变。

· 21: State Refresh Capable,表示邻居状态刷新时间间隔。
· 24: Address List, PIM 接口的从地址列表。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

从上表可以看出,Hello Option选项类型有1:Holdtime,Hello报文保持时间;20:GenID;

示例:配置VLANIF100与地址为4.4.4.4的交换机建立PIM邻居。

IP组播配置与管理实战——2

五、调整剪枝控制参数

如果当前与设备相连的网段没有组播组成员,设备就需要向上游发送剪枝报文,请求停止转发组播数据。可根据实际需要调整剪枝过程的控制参数,控制组播报文转发来支持不同转发场景。如果没有特殊需要,推荐使用缺省值。

在剪枝控制参数调整过程中,可以配置:Join-Prune报文的时间控制参数、Join-Prune报文的信息携带能力、剪枝延迟时间这3个方面,但它们的配置无先后顺序。

1、调整Join-Prune报文的时间控制参数

PIM设备通过向上游发送的剪枝信息封装在PIM协议通用的转发控制报文(即Join-Prune报文)中。上游设备在收到Join-Prune报文后,就会启动定时器(缺省值为210s),时间设为Join-Prune报文自身携带的保持时间。超时后,如果没有收到下游后续发来的Join-Prune报文,则恢复相应组播组下游接口的转发。

Join-Prune报文的保持时间在全局PIM视图下和接口视图下都可配置。如同时配置,接口视图上的配置生效。

2、调整Join-Prune报文的信息携带能力

在PIM-DM网络中,Join-Prune报文主要包含了需要剪枝的表项信息。设备支持通过配置Join-Prune报文长度、包含表项数目、发送方式,来调整向上游发送剪枝信息的信息量。

(1)当PIM邻居设备性能比较差,处理单个Join-Prune报文耗时比较长,可以通过调整发送的Join-Prune报文长度(缺省值为8100字节)来控制发送Join-Prune报文携带的(S,G)表项数量,来降低PIM邻居设备的压力。

(2)当PIM邻居设备端口带宽较小时,可以通过调整周期性报文发送队列长度,控制每次发给PIM邻居设备的(S,G)表项数量(缺省值为1020个),采取小量多批次方式发送Join-Prune报文,从而避免PIM邻居设备来不及处理就将报文丢弃,引起路由震荡。

(3)缺省情况下,为了提高发送效率,Join-Prune报文都是打包向上游发送。如果不希望Join-Prune报文打包发送,可去使能此功能,使Join-Prune报文一个个地发送。

3、调整剪枝延迟时间

在PIM剪枝过程中,从收到下游设备发来的剪枝信息到继续向上游设备发送剪枝信息会有一段延迟时间,这个时间称为LAN-Delay(缺省值为500ms)。PIM设备向上游发完剪枝信息后,也不会立即将相应下游接口剪掉,还会保持一段时间向下游转发,以便下游设备有时间提出否决剪枝的请求。这段否决剪枝的时间称为Override-Interval(缺省值为2500ms)。所以实际上PIM设备从接收到剪枝信息到完成剪枝动作总共延迟了LAN-Delay + Override-Interval = PPTPPT表示当前交换机从收到下游剪枝报文到执行剪枝操作(抑制下游接口转发)之间的延时。在PPT时间内如果收到下游发来的剪枝否决报文,则取消剪枝操作。

LAN-Delay、Override-Interval在全局PIM视图下和接口视图下都可配置,同时配置,接口视图下的配置优先级高于系统视图下的配置,接口视图下的配置生效。

IP组播配置与管理实战——2
IP组播配置与管理实战——2
IP组播配置与管理实战——2

IP组播配置与管理实战——2

一条Join/Prune消息中可以同时包含Join信息和Prune信息。只包含Join信息的Join/Prune消息称为Join消息,只包含Prune信息的Join/Prune消息称为Prune消息;Join/Prune消息同时在PIM-DM和PIM-SM中使用;封装Join/Prune消息的IP报文源地址为本地接口地址,目的地址为224.0.0.13TTL值为1,使用组播方式发送

字段

长度

说明

Version

4 比特

PIM 版本,值为 2。

Type

4 比特

消息类型,值为 3。

Upstream
Neighbor Address

32 比特

上游邻居地址。也就是收到 Join/Prune 消息的路由器上,进行 Join 或 Prune 操作的下游接口地址。

Number of Groups

8 比特

消息中包含的组播组数目。

Holdtime

16 比特

接收 Join/Prune 消息的路由器保持相应接口加入/剪枝状态的时间。

Group Address

32 比特

组播组地址。

Number of
Joined Sources

16 比特

针对该组播组,请求加入的组播源总数。

Number of
Pruned Sources

16 比特

针对该组播组,请求剪枝的组播源总数。

Joined Source
Address

32 比特

请求加入的组播源地址。

Pruned Source
Address

32 比特

请求剪枝的组播源地址。

六、调整嫁接控制参数

为使被剪枝网段快速恢复转发,设备会向上游发送Graft报文请求恢复组播数据转发,并同时在发送接口启动定时器(缺省为3s)。超时后,如果设备仍没有接收到组播数据,会重新向上游发送Graft报文。通过调整嫁接控制参数,可以控制组播数据报文的转发来支持不同转发场景。

调整嫁接控制参数的方法很简单,就是在对应的VLAN接口或者Loopback接口视图下使用pim timer graft-retry interval命令在接口上配置重传Graft报文的时间间隔,取值范围是1~65535的整数秒。

PIM Graft/Graft-Ack 消息格式

在 PIM-DM 网络中,路由器上出现组成员时,如果本身不在 SPT 上,则从对应的(S, G)表项的上游接口发送 Graft 消息。上游邻居立即恢复下游接口的转发,同时从该下游接口发出 Graft-Ack 消息,表示已经接受嫁接请求。如果上游邻居不在 SPT 上,则继续向上游发送 Graft 消息。

封装 Graft-Ack 消息的 IP 报文源地址为下游接口地址,目的地址为 Graft 消息的发出者。使用单播方式发送。

Graft 消息格式与 Join/Prune 消息相同,仅部分字段取值存在差异。Graft-Ack 消息与 Graft 消息格式相同,并复制了 Graft 消息的内容。其中不同的是,Upstream Neighbor Address 字段,在 Graft-Ack消息中填为 Graft 消息的发出者地址。

IP组播配置与管理实战——2

字段

长度

说明

Version

4 比特

PIM 版本,值为 2。

Type

4 比特

消息类型, Graft 值为 6, Graft-Ack 值为 7

Upstream
Neighbor Address

32 比特

Graft 消息中填上游邻居地址。也就是收到嫁接消息的路由器上,进行嫁接操作的下游接口地址
Graft-Ack 消息中填为 Graft 消息的发出者地址

Number of Groups

8 比特

消息中包含的组播组数目。

Holdtime

16 比特

该字段为 0

Group Address

32 比特

组播组地址。

Number of
Joined ources

16 比特

针对该组播组,请求加入的组播源总数。

Number of
Pruned Sources

16 比特

该字段为 0

Joined Source
Address

32 比特

待嫁接的(S, G)的源地址。

 

 

 

 

 

 

 

 

 

 

 

 

 

示例:在VLANIF100接口上配置重传Graft报文的时间间隔为80s。

[Huawei]multicast routing-enable

[Huawei]interface vlanif 100

[Huawei-Vlanif100]pim timer graft-retry 80

七、调整状态刷新控制参数

为防止被剪枝接口因为剪枝状态超时而恢复转发,PIM-DM网络启用了状态刷新功能,通过在与组播源直连的第一跳PIM设备上周期性地扩散发送State-Refresh报文,刷新接口剪枝定时器,维持SPT数。同样,在调整状态刷新控制参数之前,需要完成PIM-DM基本功能配置。

在整个调整状态刷新控制参数配置过程中,可以配置以下几个方面:禁止状态刷新报文的转发、状态刷新报文的TTL值、状态刷新报文的时间控制参数。配置时无先后顺序。

1、禁止状态刷新报文的转发

缺省情况下,为了避免下游一直没有组播需求的被剪枝接口因为超时而恢复转发,与组播源S直连的PIM设备会触发发送(S,G)状态刷新报文。该报文会逐跳向下游扩散,刷新所有PIM设备上的剪枝定时器。这样没有转发需求的接口将一直处于抑制转发状态。

如果希望组播数据每次“扩散——剪枝”时都能在全网扩散,不需要通过设备转发状态刷新报文来抑制被剪枝接口转发组播数据,可在接口上禁止此功能。但状态刷新机制能够很好地减少网络资源浪费,一般情况下不建议禁止接口的状态刷新报文的收发能力。

2、调整状态刷新报文的时间控制参数

与组播源直连的第一跳PIM设备会周期性(缺省值为60s)地向下游发送状态刷新报文。由于状态刷新报文扩散发送,设备很有可能在短时间内收到重复的状态刷新报文。为了避免这种情况发生,设备在收到针对某(S,G)的状态刷新报文后,会启动定时器(缺省值为30s),时间设为该报文的抑制时间。在定时器超时前,如果收到相同的状态刷新报文,就会直接丢弃。

3、配置状态刷新报文的TTL值

设备在收到状态刷新报文后会将状态刷新报文的TTL值(缺省值为255)减去1,然后继续向下游扩散转发来刷新下游设备的剪枝定时器,直至状态刷新报文的TTL值为0。当网络规模很小而TTL值很大时,会造成状态刷新报文在网络中循环传递。因此,为了有效控制刷新报文的传递范围,需要根据网络规模大小配置合适的TTL值。但因为状态刷新报文与组播源直连的第一跳PIM设备触发发送,所以状态刷新报文的TTL只能在该设备上配置有效

IP组播配置与管理实战——2

八、调整断言控制参数

一个网段内有多个相连的PIM设备通过RPF检查后向该网段转发组播数据时,则需要通过断言竞选来保证只有一个PIM设备向该网段转发组播数据。在竞选中落败的PIM设备会抑制相应下游接口向该网段转发组播数据。但是这种竞选失败的状态只会保持一段时间,这段时间称为Assert报文的保持时间。超时后,落选的设备会重新恢复转发组播数据从而触发新一轮的竞选。

设备从下游接口接收到组播数据时,说明该网段中还存在其他的上游设备。设备从该接口发出Assert报文,参与竞选唯一上游。可调整断言Assert报文保持时间(缺省值为180s),可在全局PIM视图下或接口视图下配置。同时配置,则接口视图上的配置生效。调整前需先完成PIM-DM基本功能配置。

在全局的配置方法是在PIM视图下使用holdtime assert interval命令配置Assert报文的保持时间;在接口上的配置方法是在具体的VLAN接口或者Loopback接口视图下使用pim Holdtime assert interval命令配置Assert报文的保持时间,取值范围7~65535的整数秒。

IP组播配置与管理实战——2

在共享网段上,如果 PIM 路由器从(S, G)或(*, G)表项的下游接口收到(S, G)报文,则表示该网段存在其他的转发者。路由器从该下游接口发出 Assert 消息,参与竞选。竞选落败者停止下游接口的转发。

Assert 消息同时在 PIM-DM 和 PIM-SM 中使用。

封装 Assert 消息的 IP 报文源地址为本地接口地址,目的地址为 224.0.0.13, TTL 值为 1。使用组播方式发送。

字段

长度

说明

Version

4 比特

PIM 版本,值为 2。

Type

4 比特

消息类型,值为 5

Group Address

32 比特

组播组地址。

Source address

32 比特

如果竞选(S, G)表项的唯一转发者,则为组播源地址。如果竞选(*, G)表项的唯一转发者,则为 RP地址

R

4 比特

RPT 位。如果竞选(S, G)表项的唯一转发者,该位为 0;如果竞选(*, G)表项的唯一转发者,该位为1。

Metric
Preference

28 比特

到 Source address 的单播路径的优先级。

Metric

32 比特

到 Source address 的单播路由的开销。

示例1:在PIM视图中全局配置交换机保持Assert状态的超时时间为100s。

<Huawei>system-view

[Huawei]multicast routing-enable

[Huawei]pim

[Huawei-pim]holdtime assert 100

示例2:配置VLANIF100接口的保持Assert状态的超时时间为100s。

<Huawei>system-view

[Huawei]multicast routing-enable

[Huawei]interface vlanif 100

[Huawei-Vlanif100]pim holdtime assert 100

九、配置PIM Silent

使能PIM Silent功能的接口会禁止接收和转发任何PIM协议报文,删除该接口上的所有PIM邻居以及PIM状态机。但是,该接口上的IGMP功能不受影响。该功能仅适用于与用户主机网段直连的PIM设备接口,且该用户网段只与这一台PIM设备相连。

配置接口为PIM Silent状态的方法很简单,只需在对应的VLAN接口或Loopback接口视图下配置pim silent命令,使能PIM Silent功能即可。

十、PIM-DM管理

(1)display pim interface [ interface-type interface-number | Up | down ] [verbose]

(2)display pim Neighbor [neighbor-address | interface interface-type interface-number |verbose ]*

(3)display pim routing-table [ group-address [ mask { group-mask-length | group-mask } ] |source-address [ mask { source-mask-length | source-mask } ] | incoming-interface{ interface-type interface-number | register } | outgoing-interface { include |exclude | match } { interface-type interface-number |register | none } | mode {dm | sm | ssm } | flags flag-value | fsm ]*[ outgoing-interface-number [ number] ]

(4)display pim routing-table brief [ group-address [ mask { group-mask-length | group-mask } ]| source-address [ mask { source-mask-length | source-mask } ] |incoming-interface { interface-type interface number | register } ]*

(5)display pim control-message  counters [ message-type { assert | graft |graft-ack | hello | join-prune | state-refresh | bsr } | interfaceinterface-type interface-number ]*

(6)display pimgrafts

(7)display pim invalid-packet [interface interface-type interface-number | message-type {assert | graft | graft-ack | hello | join-prune | state-refresh } ]*

(8)reset pimrouting-table group group-address mask { group-mask-length | group-mask }source source-address interface interface-type interface-number

十一、PIM-DM基本功能配置示例

如下图,为一个用户比较密集的小型网络,用户主机HostA、HostB希望能够接收到Source发送的组播数据。

IP组播配置与管理实战——2

1、基本配置思路分析

要求在一个密集型小型组播网络中,各组播成员可以接收到组播源发来的组播数据。所以可以使用PIM-DM协议为网络中的用户主机提供组播服务,使得加入同一组播组的所有主机能够接收组播源发往该组的组播数据。具体配置任务如下:

(1)按照图中标注配置交换机各VLAN接口IP地址和单播路由协议,因为组播域内路由协议PIM依赖单播路由协议。单播路由是组播协议正常工作的基础。

(2)在所有提供组播服务的交换机上使能组播路由功能,并在各VLAN接口上使能PIM-DM功能。使能PIM-DM功能之后才能配置PIM-DM的其他功能。

(3)在与主机侧相连的交换机VLAN接口上使能IGMP,用于维护组成员关系。但是,如果用户主机侧需同时配置PIM-DM和IGMP,必须先使能PIM-DM,再使能IGMP。

2、具体配置步骤

(1)配置各交换机接口的IP地址和掩码,各交换机间采用OSPF进行互连,确保网络中各交换机间能够在网络层互通,并且之间能够借助单播路由协议实现动态路由更新。

[SwitchA]vlan batch 10 20 30

[SwitchA]interface vlanif 10

[SwitchA-Vlanif10]ip address 192.168.5.1 24

[SwitchA-Vlanif10]quit

[SwitchA]interface vlanif 20

[SwitchA-Vlanif20]ip address 10.110.1.1 24

[SwitchA-Vlanif20]quit

[SwitchA]interface vlanif 30

[SwitchA-Vlanif30]ip address 192.168.1.1 24

[SwitchA-Vlanif30]quit

[SwitchA]interface gigabitetnernet 0/0/1

[SwitchA-GigabitEthernet0/0/1]port hybrid tagged vlan 10 #---把GE0/0/1接口以带标签方式加入VLAN10

[SwitchA-GigabitEthernet0/0/1]port hybrid pvid vlan 10 #---配置GE0/0/1接口的缺省VLAN为VLAN10

[SwitchA-GigabitEthernet0/0/1]quit

[SwitchA]interface gigabitetnernet 0/0/2

[SwitchA-GigabitEthernet0/0/2]port hybrid tagged vlan 20

[SwitchA-GigabitEthernet0/0/2]port hybrid pvid vlan 20

[SwitchA-GigabitEthernet0/0/2]quit

[SwitchA]interface gigabitetnernet 0/0/3

[SwitchA-GigabitEthernet0/0/3]port hybrid tagged vlan 30

[SwitchA-GigabitEthernet0/0/3]port hybrid pvid vlan 30

[SwitchA-GigabitEthernet0/0/3]quit

[SwitchA]ospf

[SwitchA-ospf-1]area 0 #---进入OSPF骨干区域

[SwitchA-ospf-1-area-0.0.0.0]network 192.168.5.0 0.0.0.255  #---宣告192.168.5.0/24网络

[SwitchA-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

[SwitchA-ospf-1-area-0.0.0.0]network 10.110.1.0 0.0.0.255

(2)在所有交换机使能组播路由功能,并在各VLAN接口上使能PIM-DM功能。

[SwitchA]Multicast routing-enable

[SwitchA]Interface vlanif10

[SwitchA-Vlanif10]pim dm

[SwitchA-Vlanif10]quit

[SwitchA]Interface vlanif20

[SwitchA-Vlanif20]pim dm

[SwitchA-Vlanif20]quit

[SwitchA]Interface vlanif30

[SwitchA-Vlanif30]pim dm

[SwitchA-Vlanif30]quit

    (3)在SwitchA连接用户主机的接口上使能IGMP功能。

[SwitchA]interface vlanif 20

[SwitchA-Vlanif20]igmp enable

配置好后,可以使用displaypim interface命令查看接口上PIM的配置和运行情况。使用display pim routing-table命令查看PIM协议组播路由表。

模拟器测试:

IP组播配置与管理实战——2

使用HUB来模拟LSWB和LSWC在同一网段。

1、配置基本的vlan、ip和端口

IP组播配置与管理实战——2
IP组播配置与管理实战——2
IP组播配置与管理实战——2
IP组播配置与管理实战——2
IP组播配置与管理实战——2

2、配置ospf,确保单播路由互通

IP组播配置与管理实战——2

存在的问题:

这个拓扑中也存在环路,HUB——C——E——B形成环路

IP组播配置与管理实战——2
IP组播配置与管理实战——2
IP组播配置与管理实战——2

这样做相当于切断了LSWB——HUB1的连线,怎么模拟同一网段上同时存在多个PIM的情况???

3、在所有提供组播服务的交换机上使能组播路由功能,在各VLAN接口上使能PIM-DM功能。

IP组播配置与管理实战——2

4、在与主机侧相连的交换机的接口上使能IGMP功能。涉及A、B、C三个交换机

IP组播配置与管理实战——2

查询相关交换机:

IP组播配置与管理实战——2

IP组播配置与管理实战——2

在组播源点击运行后

IP组播配置与管理实战——2

在所有的交换机上,都能查询到PIM routing-table:

IP组播配置与管理实战——2

在PC3上加入组播组224.1.1.1后

IP组播配置与管理实战——2

可以看到,LSWD的PIM Routing-Table中,对应组播项的下游接口有一条vlanif30,继续加入主机,将PC2加入:

IP组播配置与管理实战——2

IP组播配置与管理实战——2

对于PIM-DM组播的配置,只要使能各交换机(路由器)的组播路由功能,各个接口配置pim dm,接用户主机的接口使能igmp功能,就可以了,系统自动选择DR。

模拟器中做测试时,对同一网段上有多个PIM设备如何进行模拟一直不知道怎么做,只要出现这种情况,就会出现环路,STP自动就阻塞链路,无法看到多个PIM的自动竞选查询器等场景。