7.6 案例研究:配置MSDP

图7-15再次显示了前一个案例研究中的路由器,此时的4台路由器都是各自自治系统的RP,图中还给出了它们的RP地址。

img453a

图7-15 在4台RP之间配置了MSDP会话

只要通过命令ip msdp peer指定对等体的IP地址即可启用MSDP,例7-12显示了图7-15中4台路由器的MSDP配置情况。

例7-12:在图7-15中的4台路由器之间配置MSDP会话。

img453b

Gorgo和Rodan、Kong与Megalon之间的对等关系很明显,因为它们之间只有一条链路连接到对方,因而直接在两个物理接口地址之间配置MSDP会话即可。但是Rodan与Megalon的对等会话却配置在环回地址之间,与IBGP对等一样,在环回接口之间配置MSDP会话能提供更好的弹性。当图7-15中Rodan与Megalon之间的链路出现故障时,如果这两台路由器之间还存在其他路径(图中未画出),那么该TCP会话仍然可以被重路由。默认情况下,携带MSDP会话的TCP包的源地址是发信路由器的物理接口,因而如果与不属于直连子网的地址建立对等会话,就需要使用选项connect-source来更改默认源地址。

例7-13使用命令show ip msdp peer显示了Megalon的两个MSDP会话的情况,给出了相应的连接状态、运行时间、已发送/已接收的消息等信息。

例7-13:命令show ip msdp peer显示了MSDP对等会话的状态。

img454

例7-13还显示了为SA和SA Request消息配置的过滤信息,为了控制和定界MSDP的活动情况,可以使用某些过滤机制来完成以下功能。

• 控制被允许注册到RP的本地多播源;

• 控制RP向其MSDP对等体发送的SA消息或从其MSDP对等体接收到的SA消息;

• 控制RP向其对等体发送的SA Request消息或从其对等体接收到的SA Request消息。

大型MSDP应用环境的其他选项还包括为每个对等体添加描述及MSDP消息中的可配置 TTL值。例7-14给出了图7-15中路由器Megalon的更为复杂的配置文件。


注意: 例中所示配置仅用于示范目的,并不要求用作实际配置。


例7-14:更为复杂的MSDP配置。

img455

如例7-12所示,首先利用两条语句为Rodan和Kong启用了MSDP。命令ip msdp decription为每个对等体的配置都加入了文本描述,这些描述信息总是紧随特定对等体的命令ip msdp peer之后,这对存在大量MSDP对等体的情况来说非常有用。

命令ip msdp cache-sa-state的作用是启用SA缓存功能,并且在上例配置中引用了一个可选的访问列表。access-list 101指定Megalon仅缓存源地址以10.254.0.0/16为起始的(S,G)对的SA消息,多播组地址为任意多播地址(224.0.0.0/3)。

为了降低加入等待时间,为每个对等体都配置了语句ip msdp sa-request,当路由器接收到关于某多播组的加入消息时,会向其两个邻居发送SA Request消息。如前所述,这里假定这两个邻居都被配置为缓存SA消息。

向Rodan(192.168.254.1)发送的SA Request消息被命令ip msdp filter-sa-request施加了进一步的限制条件。该过滤器引用了access-list 1,仅允许229.50.0.0/16,这样Megalon仅向Rodan请求多播组地址位于前缀229.50.0.0/16之内的多播源信息。

接下来,Megalon被配置为仅向可能的多播源子集(向其发送PIM-SM Register消息)发送SA消息,命令ip msdp redistribute引用了access-list 102,该访问列表又反过来允许多播源前缀192.168.224.0/24和多播组地址前缀224.0.0.0/3(所有多播组)。在RP的PIM-SM配置限制下,虽然所有的多播源都能注册到RP,但仅在SA消息中宣告前24个地址bit为192.168.224的多播源。

向MSDP对等体转发SA消息的操作受命令ip msdp sa-filter out的控制,该过滤器应用于所有SA消息(无论该消息是由本地发起的还是接收自其他MSDP对等体),而命令ip msdp redistribute仅应用于本地发起的SA消息。Megalon被配置了其中的两条语句,对邻居Rodan(192.168.254.1)来说,按照access-list 101的要求,仅转发来自源前缀10.254.0.0/16的SA消息。Megalon仅向Kong(192.168.1.9)转发access-list 103所允许的SA消息,该访问列表允许源前缀为172.16.0.0/16且组地址属于230.0.0.0/8或源前缀为192.168.224.0/24且向任意多播组发送多播包的SA消息。

可以利用ip msdp sa-filter in来过滤入站SA消息,使用了该命令之后,仅当(S,G)被access-list 101允许之后,Megalon才接收来自Kong的SA消息。请注意,该限制条件同样应用于发送给Rodan的出站SA消息。

最后,利用命令ip msdp ttl-threshold来控制MSDP消息的TTL值,发送给Rodan的消息的TTL被设置为5,而发送给Kong的消息的TTL被设置为2。

例7-15显示了上述配置的结果,与例7-13相比,可以看到变化后的文本描述、过滤器及TTL阈值。

例7-15:输出结果反应了Megalon的MSDP配置变化。

img456

除了访问列表之外,可以将入站和出站SA过滤器链接到路由映射,以便实施更好的策略控制和策略应用。就像AS_PATH访问列表一样,也可以结合使用路由映射和MSDP重分发。