MPLS(multi-protocollabelswitch)是Internet核心多层 交换计算的最新发展。MPLS将转发部分的标记交换和控制部分的IP路由组合在一起,加快了转发速度。而且,MPLS可以运行在任何链接层 技术之上,从而简化了向基于SONET/ WDM和IP/WDM结构的下一代光Internet的转化。在这里,主要描述一下标签转发表的产生过程及IP包如何通过MPLS转发。



    MPLS标签栈头




MPLS协议不用查路由表吗 mpls协议原理与配置_路由表


    图1  MPLS标签栈头


    32位的MPLS栈头包括以下区域(如图1所示):


    承载MPLS标记实际值的标记区域(20位);


    QoS区域(3位),用于在分组通过网络时施加在分组上的排队和丢弃算法;


    堆栈区域(S区域,1位),用于支持标记堆栈序列;


    TTL区域(8位),提供传统的I PTTL功能。


    标签转发表产生过程


    1.路由器之间通过路由协议或静态路由产生路由表。


MPLS协议不用查路由表吗 mpls协议原理与配置_IP_02


    图2  路由器之间通过路由协议或静态路由产生路由表


    如图2所示,假设途中A、B、C、D四台路由器之间运行了OSPF协议,A路由器学习到D路由器网段211.91.168.0/24的路由。


    2.运行MPLS的路由器为路由表中的路由分配标签。


MPLS协议不用查路由表吗 mpls协议原理与配置_路由表_03


    图3  运行MPLS的路由器为路由表中的路由分配标签


    图3A、B、C、D四台路由器的路由表中都有211.91.168.0/24网段的路由,假设各路由器都已运行MPLS协议,则每台路由器都会为该路由分配一个标签。


    3.通过LDP/RSVP协议发现其MPLS邻居。


    假设在各路由器接口启动LDP协议。通过LDP发现协议,A路由器知道B路由器为其MPLS邻居,B路由器知道A、C为其MPLS邻居,C路由器知道B、D为其MPLS邻居,D的MPLS邻居为C。


    4.将打标签的路由通告给其MPLS邻居。


    各路由器将其打了标签的路由通告给其MPLS邻居,而不管是否已从其邻居学习到该路由的标签。这样对于路由211.91.168.0/24在各路由器中的标签情况如图4所示。


MPLS协议不用查路由表吗 mpls协议原理与配置_目的地址_04


    图4  各路由器中的标签情况


    5.路由器将其下一跳路由器通告的标签加到其转发表中。通常在实际应用中路由器将目的地不是本地的IP包转发给其下一跳。因此在MPLS中,路由器只将其下一跳路由器通告的标签加到其转发表中。对于211.91.168.0/24网段对应的转发如图5所示。


MPLS协议不用查路由表吗 mpls协议原理与配置_路由表_05


    图5  路由器将其下一跳路由器通告的标签加到其转发表中


    IP包在MPLS网络中转发过程


    1.MPLS入口路由器根据目的地址查找路由表。


    如图5例,假设一目的地址为211.91.168.0/24的IP包到达路由器A。此时路由器A将查找其路由表,发现该路由下一跳为路由器B。


    2.将该IP包打上标签,转发给下一跳路由器。


    上例中,路由器A将目的地址为211.91.168.0/24的IP包打上标签20,转发给其下一跳路由器B。


    3.下一跳路由器查找其转发表,替换标签,继续转发。


    上例中,当打有标签的IP包到达B路由器时,路由器不再根据目的地址查找路由表了,而是根据标签查找标签转发表。从A来的出站标签对应于B的入站标签,也就是B通告给A的标签。B路由器通过标签替换,将其入站标签替换成出站标签,即用标签30替换掉标签20,然后转发给其下一跳路由器C。C路由器同样进行标签交换,将带有标签40的IP包送给D路由器。


    4.出口路由器查找其转发表,发现其就是目的地网络,弹出标签,送给相应端口处理。


    上例中D路由器将查找标签转发表,发现该IP包目的地为自己,则弹出标签。标签交换过程结束。


    ×××在MPLS中的实现

    RFC2547bis定义了允许服务提供商使用其IP骨干网为用户提供×××服务的一种机制。RFC2547bis也被称为BGP/MPLS×××,因为BGP被用来在提供商骨干网中发布×××路由信息,而MPLS被用来将×××业务从一个×××站点转发至另一个站点。首先对MPLS ×××中用到的常用术语作一说明,然后介绍一下MPLS ×××实现的基本原理及常见组网。


    MPLS/×××中常用术语


    PE路由器:又称作提供商边缘路由器。该路由器负责用户端网络到提供商网络的 接入


    P路由器:又称提供商路由器。P路由器是提供商网络中不连接任何CE设备的路由器。


    CE路由器:又称用户边缘设备。CE路由器通过连接至一个或多个提供商边缘(PE)路由器的 数据链路为用户提供对服务提供商的接入。


    ×××-IPV4地址:×××用户通常使用私有地址来规划自己的网络。当不同的×××用户使用相同的私有地址规划时就会出现路由查找问题。

https://blog.51cto.com/wirless/290314