BGP协议在MPLS中的应用


在前面的文章中,我们对MPLS技术做过介绍。这个多协议标签技术中,应用了不少的协议。那么今天我们来介绍一下BGP协议的相关内容。看看BGP协议在MPLS中的作用是如何的。MPLS技术中BGP协议的具体应用,看看下面的文章,一切问题都能解决。上面提到LSR根据路由表分配标签时,只对从IGP协议获得的路由条目分配标签。原因何在?这是有特殊意义的!整个Transit AS中启动MPLS技术交换。保证ISP2和LSR-Border2之间的网段发布到Transit AS内部的IGP路由协议中,对ISP1和LSR-Border2之间的网段也做同样的要求。

前面提到过MPLS技术LSR为路由条目分配标签时,只对从IGP学来的路由分配标签,而网络1.2.3.4是被发布到Transit AS内部的IGP路由协议中了,可以肯定在Border1处是可以获得Core1告诉它有关1.2.3.4网络的标签23。

LSR-Border1,LSR-Border2之间形成IBGP邻居关系,通过BGP协议,LSR-Border2把从ISP2处学来的10.0.0.0/8这条路由告诉给LSR-Border1,这条路由的下一跳地址是1.2.3.4,这样一来让LSR-Border1得知要给网络10.0.0.0/8发送数据,先把数据发送到1.2.3.4这个网络来。1.2.3.4被绑定了标签23,所以在生成FIB表时,也给10.0.0.0/8这个网段绑定一个标签23。

这样,如果有数据从ISP1穿越Transit AS到达ISP2,在Border1处就会给IP包 插上23这个标签,把生成的标签包转发到Core1,Core1就只要分析标签头做标签包的转发就可以了!由于Transit AS内部核心路由器不必要运行BGP协议,这样一来,MPLS技术网络的核心路由器就不会知道外部用户的路由,缩小了核心路由器的路由表,提高了搜索效率。

大家也看到MPLS技术,由于打上了标签,IP包头是不会在核心路由器被分析的,即使IP包头含有10.0.0.1这样的私有IP地址,也会因为只分析标签的原因被正常转发,这就是服务提供商提供VPN服务所追求的。当然在此必须重声,LSP在整个Transit AS不能被断开,如果断开,标签包就恢复成IP包,而核心路由器是不含用户路由的,最终导致数据包的丢失。

BGP在MPLS技术网络中的作用为我们提供了VPN服务打开了方便之门,但也应该意识到VPN服务两个最基本的要求是1.用户可以独立规划IP地址;2.安全性非常重要!以上为两个VPNMPLS技术实例,PE1(PE=Provider Edge device)上分别接了CE1 CE=Customer Edge device)和CE3。

但是CE1和CE3上带到IP地址相同的网段10.1.2.0/8,很明显如果不对PE1路由器做修改,PE1只能认为往10.1.2.0/8的数据要么从S0出,要么从S1出,这样的话,不是CE1就是CE3就更本收不到从PE1发来的前往10.1.2.0/8网段的数据。

相关内容