1.关于LDP与IGP的同步
R1#sh mpls for
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
104 Untagged 3.3.3.3/32 0 Fa0/0 10.1.12.2
2.MPLS LDP-IGP同步如何工作
3.MPLS LDP-IGP同步的配置
MPLS LDP-IGP同步是在IGP进程中启用的,它会应用到所有运行了该IGP的接口上
router ospf 1
可以在某个特定的接口上使用no mpls ldp igp sync 命令来关闭接口的同步功能。
默认情况下,如果同步没有完成,IGP并没有明确在建立邻接关系之前所需等待的时间,可以通过:
mpls ldp igp sync holddown msecs
这条全局命令来进行修改。在该计时器到期之后,IGP将在该链路上建立邻接关系,一旦IGP的邻接关系建立成功同时LDP会话还未同步的话,IGP将通告该链路的度量值为最大。
4.MPLS LDP-IGP同步示例
R1、R2、R3运行OSPF,通告直连及自己的Loopback口。并且在直连接口上都激活LDP。
现在是一个正常的情况,(红茶三杯http://weibo.com/vinsoney版权所有,转载请注明出处)
R1#show mpls forwarding-table (这是R1的LFIB表)
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
101 204 10.1.34.0/24 0 Fa0/0 10.1.12.2
103 Pop tag 2.2.2.2/32 0 Fa0/0 10.1.12.2
104 201 3.3.3.3/32 0 Fa0/0 10.1.12.2
105 Pop tag 10.1.23.0/24 0 Fa0/0 10.1.12.2
R1的路由表如下(直连路由忽略了):
O 2.2.2.2 [110/2] via 10.1.12.2, 00:00:37, FastEthernet0/0
O 3.3.3.3 [110/3] via 10.1.12.2, 00:00:37, FastEthernet0/0
O 10.1.23.0 [110/2] via 10.1.12.2, 00:00:37, FastEthernet0/0
O 10.1.34.0 [110/3] via 10.1.12.2, 00:00:39, FastEthernet0/0
现在我们将R2上,完成如下配置:
access-list 100 deny udp any any eq 646
access-list 100 permit ip any any
然后将ACL应用在R2上,连接R1的接口上,in方向
这样,R2将忽略掉接口上收到的,来自R1的LDP hello包,然后R1-R2之间的LDP邻接过一会就DOWN了。这时候:
R1#sh mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
101 Untagged 10.1.34.0/24 0 Fa0/0 10.1.12.2
103 Untagged 2.2.2.2/32 0 Fa0/0 10.1.12.2
104 Untagged 3.3.3.3/32 0 Fa0/0 10.1.12.2
105 Untagged 10.1.23.0/24 0 Fa0/0 10.1.12.2
现在我们在R1、R2上配置MPLS LDP-IGP同步:
router ospf 1
R3#show ip route
O 1.1.1.1 [110/65537] via 10.1.23.2, 00:09:07, FastEthernet0/0
O 2.2.2.2 [110/2] via 10.1.23.2, 00:09:07, FastEthernet0/0
O 10.1.12.0 [110/65536] via 10.1.23.2, 00:09:07, FastEthernet0/0
我们看到,由于R2更新出来的LSA中,关于10.1.12.0/24这个直连网段,metric设置成了65535,因而,在R3的路由表里,我们看到1.1.1.1/32及10.1.12.0/24的路由metric都离奇的大。再看一下R2产生的1类LSA:
R3#show ip ospf database router 2.2.2.2
R1的路由表如下:
O 2.2.2.2 [110/65536] via 10.1.12.2, 00:00:47, FastEthernet0/0
O 3.3.3.3 [110/65537] via 10.1.12.2, 00:00:47, FastEthernet0/0
O 10.1.23.0 [110/65536] via 10.1.12.2, 00:00:48, FastEthernet0/0
看到没R1将直连链路10.1.12.0的cost调成了65545。
R1#sh ip os mpls ldp interface fa0/0
FastEthernet0/0
现在我们将R4加进来,注意,R4在这个时候只配OSPF,先不在连接R1的接口上配置mpls ip(或者使用ACL过滤掉LDP报文),这样使得R1、R4之间的LDP邻接无法建立,我们来观察一下现象。
注意,由于R1激活了MPLS LDP-IGP同步,因此,在R1-R4之间的LDP邻接关系建立起来之前,R1上连接R4的接口是不会发送OSPF HELLO包的,也就是说R1-R4的OSPF邻接关系是永远无法建立的。当然,我们也不希望看着R1-R4这么拧巴下去,对谁都不好,是吧?卧槽哥们就是仁慈,所以在R1上来配置个:
mpls ldp igp sync holddown 5000
将同步holddown计时器设置为5S,这样一来5S超时后,R1-R4就建立起来了OSPF邻接关系。
又或者,我让R1-R4之间的LDP邻接建立起来,那么R1-R4之间的OSPF自然也就起来了。好了,我们现在让R1-R4之间的LDP邻接关系起来,那么随之OSPF邻接关系马上也会自动建立起来。
现在一来,由于R1上有MPLS LDP-IGP同步,R1将10.1.12.0/24这段链路metric调到65535(其实这时候R1-R2之间的OSPF邻接关系应该DOWN掉的,保存配置将R1重启,会发现R1-R2之间的OSPF邻接关系起不来了),使得R1优选R4作为去往3.3.3.3网络的下一跳,同时R1-R4之间又维持着LDP邻接关系,因此,R1将只采用R4关于3.3.3.3的标签映射,也就是使用标签404来发送标签包到3.3.3.3。
(红茶三杯http://weibo.com/vinsoney版权所有,转载请注明出处)