MPLS BGP ×××——技术原理(3

发布时间:2019-08-05 16:10:07编辑:auto阅读(1355)

    PHP,倒数第二跳弹出协议——路由器该怎么知道自己是倒数第二跳呢?

    原理很简单,就是最后一跳路由器,向自己的上游,也就是倒数第二跳路由器发送一个特殊的标签3。倒数第二跳路由器收到该标签3,即认为自己是倒数第二跳。

    记住,MPLS的标签值,16以下是系统保留的,你无法使用。


    另外,还有一个非常重要的问题——私有地址冲突。这个问题是交给BGP来处理的。


    解决私有地址冲突,还有这几个难题:
    1.本地路由冲突问题,即:在同一台PE上如何区分不同×××的相同路由。
    2.路由在网络中的传播问题,两条相同的路由,都在网络中传播,对于接收者如何分辨彼此?
    3.报文的转发问题,即使成功的解决了路由表的冲突,但是当PE接收到一个IP报文时,他又如何能够知道该发给那个×××?因为IP报文头中唯一可用的信息就是目的地址。而很多×××中都可能存在这个地址。

    总的来说,解决方案就是:

    PE端本地冲突问题,使用VRF解决。
    PE端报文转发问题,要使用VRF和全局路由表的配合来解决。
    而路由在网络中的传播问题,使用BGP解决。


    下面介绍VRF:

    VRF——×××路由转发实例(××× Routing & Forwarding Instance)

    每一个VRF,对应一个虚拟的专用PE。该虚拟路由器包括如下元素:
    一张独立的路由表,当然也包括了独立的地址空间。
    一组归属于这个VRF的接口的集合。
    一组只用于本VRF的路由协议。


    对于每个PE,可以维护一个或多个VRF,同时维护一个公网的路由表(也叫全局路由表),多个VRF实例相互分离独立。
    其实实现VRF并不困难,关键在于如何在PE上使用特定的策略规则来协调各VRF和全局路由表之间的关系。

    解决方法是使用RT(Route target)

    其实,RT就是当使用专用PE时使用BGP的团体(community)属性,在P端区分不同的×××实例,新瓶装旧酒而已!

    RT的本质是每个VRF表达自己的路由取舍及喜好的方式 ,分为两部分:
    export target,表示发出路由的属性。
    import target,表示愿意接收什么路由。


    马上熄灯啦。待续待续。。









关键字