一、 Down Bit 

  1. Down Bit技术背景

在上图中,右侧的VPN站点有两个PE:PE2及PE3。

当PE2通过已经建立好的MP-iBGP连接从PE1学习到CE1客户路由,它将路由重发布到本地的OSPF进程中,这样CE2就能学习到这些客户路由,但是,CE2有可能会将路由更新给PE3,由于OSPF路由协议的AD比iBGP的AD要小,因此OSPF路由就会出现在PE3的路由表里(而不是从PE1的MP-iBGP学习到的BGP路由),而恰恰PE3又部署了BGP到OSPF的双向重发布,因此OSPF路由又被重发布回BGP最终被更新回PE1。这当然是我们不希望看到的现象。

因此我们有了DownBit的设计,在PE2将从PE1学习过来的那些BGP路由注入到本地VRF的OSPF进程中时,如果是以3LSA的形式注入,那么这些3LSA会做特殊的置位,也就是DOWNbit置位,那么当PE3收到PE2从BGP重发布到OSPF的3类LSA,发现这些路由都设置了Down Bit,PE3在计算路由的时候,将直接忽略这些LSA,自然这些路由也就不会被PE3从OSPF再重发布回BGP。这样就可以起到防环的目的。 _

Down Bit只出现在3类LSA中,在RFC 2547 – BGP/MPLS VPNs中定义。Down Bit在报文中的位置:

怎么show出它来呢?show ip ospf database summary 1.1.1.1 举例:

Routing Bit Set on this LSALS age: 125Options: (No TOS-capability, DC, Downward)LS Type: Summary Links(Network) !! LSA3才携带Link State ID: 1.1.1.1 (summary Network Number)Advertising Router: 10.1.45.4LS Seq Number: 80000001Checksum: 0x3149Length: 28Network Mask: /32TOS: 0 Metric: 2 
  1. Down Bit对网络起到的优化作用:

二、Domain-tag

Domain-tag和Down Bit功能类似,只不过它是用于OSPF外部路由。如上图,在PE2上,将BGP路由重发布进OSPF后,如果是以外部路由的形式进入OSPF,则这些路由会被打上tag(这个tag有默认的设置方式,参照RFC1745,也可以通过domain-tag 命令在PE路由器上手工配置)。

这些路由在Site内,如果传递到本Site的另一台PE路由器PE3,那么一旦它自己本地设置的Domain-tag匹配到了这个路由携带的tag,这条路由就不会被重发布进BGP(这些OSPF路由不会被装载进VRF路由表,自然无法被重发布进BGP)。

默认情况下,Domain-tag的设置是根据RFC1745来进行的。BGP的AS号码将会在无意义的16bits中被编码为OSPF外部路由标记。在上图中,PE2上BGP重发布到OSPF后,这些路由被打上tag,tag中包含BGP的AS号,路由传递到PE3后,PE3发现这些OSPF路由的tag与本地的匹配,那么它就只将LSA放进OSPF DATABASE,而不将路由装载进路由表,因此PE3上,对于这些远端站点的路由仍然是优选通过BGP学习到的(而忽略从CE的OSPF学到的)。但是如果在PE2上,做BGP向OSPF路由重发布的时候手工去改个tag,使得与PE3的tag不匹配,那么PE3同时从OSPF及BGP学习到这些外部路由,并且TAG不匹配,那么PE3会优选OSPF路由(AD值使然)

例如:

R5#sh ip ro 1.1.2.0 Routing entry for 1.1.2.0/24Known via “ospf 1″, distance 110, metric 20Tag Complete, Path Length == 1, AS 234, , type extern 2, forward metric 1Last update from 10.1.45.4 on FastEthernet0/0, 00:00:00 agoRouting Descriptor Blocks:* 10.1.45.4, from 44.44.44.44, 00:00:00 ago, via FastEthernet0/0Route metric is 20, traffic share count is 1Route tag 3489661162

这个tag3489661162,将它转换成2进制:11010000000000000000000011101010,最后这16bits,再转成10进制,就是BGPAS号,234. TAG值在OSPF域之间传递。也就是在不同的OSPF域间传递,不会丢失,这个特性非常有用。Tag值也可以手工设置:redistribute … tag ?这样路由被重发布进OSPF后,tag值就是这个手工设置的值。

如果要修改本地OSPF进程的Domain-tag,则:

R4(config)#router os 1 vrf ABCR4(config-router)#domain-tag ?<1-4294967295> OSPF domain tag – 32-bit value

类似文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注