• 文章搜索:
  • 目录

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    MPLS发展简史

    作者:  |  上传时间:2012-12-28  |  关键字:MPLS发展简史

    \邹旭东

    1      Internet的发展提出的挑战

    90年代初,随着Internet的快速普及,由于当时硬件技术的限制,采用最长匹配算法、逐跳转发方式的路由器日益成为限制网络转发性能的一大瓶颈,快速路由器技术成为当时研究的一个热点。而与此同时,ATM技术因为采用定长标签,并且只需维护比路由表小得多的标签表,可以提供比IP路由方式高得多的转发性能。这在当时也导致了广泛的争论,到底ATMIP,谁将成为下一代网络技术的基础:IP技术简单,但性能受到限制;ATM技术性能高,但其复杂的控制信令和高昂的部署成本让人望而却步。

    很自然的,开始有人尝试把ATMIP技术的优势结合起来,在保持IP技术简洁性的前提下,提供类似于ATM技术的高性能。很多厂商都进行了类似研究,其结果是各个厂商提出了各自的标签交换解决方案。

     

    2      IP Switching

    1996年春,美国加州一个名为IPSilon的小公司推出了一项具有震撼意义的技术,称为IP SwitchingIP Swiching技术通过在ATM交换机上提供一个额外的IP路由引擎,较好地把ATM的高速转发能力和IP的简洁易部署特点结合起来。

    IP SwitchingIP路由引擎运行标准的IP路由协议,可以执行普通的逐跳IP转发,它利用了ATM高效的转发平面,放弃了ATM复杂的控制平面协议,使用自己开发的较为简单的协议,包括标签绑定协议(称为Ipsilon Flow Management ProtocolIFMPRFC1953)和交换机管理协议(称为General Switch Management Protocol GSMPRFC1987),来完成设备间的ATM 通道的建立。IP Switching技术中转发通道的建立采用数据驱动的方式,当检测到一个业务流时,IP路由引擎会通过GSMP/IFMP协议和上游的邻接节点协商,为该业务分配一个VPI/VCI,并更新对应的ATM交换表;该业务流的路由通道上每个IP Switching设备均重复这个操作,就为这个业务流建立了一个端到端的ATM通道。这样,该业务流就由逐跳的IP转发方式,转变成为ATM转发方式了,可以获得更高的转发性能。

    IP Switching技术的推出使得Ipsilon公司由一个默默无闻的小公司,一举成为IP通信界的明星,并刺激业界巨头,如CISCOIBM纷纷推出更易于扩展和升级的三层交换解决方案,由此引发了路由交换技术的一次革命,并导致了MPLS技术的诞生。

     

    3      Tag Switching

    就在Ipsilon宣布他们的IP Switching技术不久,1996年秋天, Cisco公司宣布了自己的标签交换解决方案,称为Tag Switching(标记交换)技术。Tag Switching技术为路由表中每个目的地址分配一个短而定长的标签,并在网络中为这个目的地址建立一条标签转发通道,IP数据流被封装在标签中,转发时根据标签进行转发,因为CISCO认为,短而定长的标签的转发过程,比采用最长匹配方式的IP路由转发更高效,能提供更高的转发速率。

    Tag SwitchingIP Switching相比,在技术上有较大差别,Tag Switching为出现在标记交换路由器路由表中的每个目的地址建立一条转发通道;而IP Switching则由数据流来驱动建立转发通道,转发通道只为该数据流使用。可以这样认为,Tag Switching是拓扑驱动的,而IP Switching是数据驱动的。

     

    4      IBMARIS

    几乎在Cisco公司宣布他们的Tag Switching技术的同时,IBM公司提出了一个称为ARISAggregate Route-Based IP Switching)的标签交换解决方案。ARISCisco公司的Tag Switching技术比较接近,都是把标签和路由关联,是拓扑驱动型标签技术。ARIS也有一些自己的特色,比如它一开始是考虑了把ATM作为链路层的,并提出了VC合并技术,这一思想最终也融入了MPLS中。

     

    5      MPLS工作组

    在上面提到的三种标签交换技术之外,还有其他各种类似技术,如 3COM FASTIPCascade Navigator等,均能提供支持IP的二层交换功能。当时的情形是,各厂商纷纷提出自己的标签交换技术,如果没有一个标准化工作组,将会出现更多的互不兼容的标签交换技术,从而使市场变得更为混乱。

    为了协调各方利益,形成一个统一的标准,1996年底,IETF成立了一个工作组,对集成路由和交换技术的标签解决方案进行标准化。到1997年初,这个工作组形成了IETF认可的章程,工作组的第一次会议在19974月召开。经过多次商讨,最终MPLSMultiprotocol Label Switching)这个术语被确定下来,作为独立于各个厂家私有标准的一系列标准的名称。

     

    6      MPLS的现在与未来

    MPLS用短而定长的标签来封装网络层分组。MPLS从各种链路层(如PPPATM、帧中继、以太网等)得到链路层服务,又为网络层提供面向连接的服务。MPLS能从IP路由协议和控制协议中得到支持,同时,还支持基于策略的约束路由,它路由功能强大、灵活,可以满足各种新应用对网络的要求。MPLS技术起源于IPv4,但其核心技术可扩展到多种网络协议(IPv6IPX等)。

    MPLS最初是为提高路由器的转发速度而提出的一个协议,不过,随着硬件技术的进步,采用ASICNP进行转发的高速路由器和三层交换机得到广泛应用,MPLS提高转发速度的初衷已经没有意义。但是,MPLS支持多层标签和面向连接的特点,使得其在VPN、流量工程(TETraffic Engineering)、Qos等方面得到广泛应用,并因为其良好的扩展性,使得在统一的MPLS/IP基础网络架构上为客户提供各类服务成为可能,从而使得MPLS日益成为大规模网络的基础技术。

     

    7      MPLS VPN技术概述

    MPLS VPN是一种基于MPLS技术的VPN,是在路由和交换设备上应用MPLS技术实现的虚拟专用网络,可灵活满足多种业务需求:可以用在解决企业互连、政府相同/不同部门的互连,也可以用来提供各种新业务,如为IP电话业务专门开辟一个VPN以解决IP网络地址不足和QoS的问题,或者用MPLS VPNIPv6提供开展业务的可能.

    目前MPLS L3 VPN,即BGP/MPLS VPN技术比较成熟,已经形成标准。L2 MPLS VPN近段时间发展迅速技术不断发展成熟,虽然标准都处于草案阶段,但由于多厂家支持逐渐形成一些事实上标准。MPLS技术在其它方面的应用,比如MPLS流量工程、组播VPN技术还不成熟,形成的草案尚在不断发展变化中。

     

    8      BGP / MPLS VPN

    MPLS/BGP VPN的模型中,网络由运营商的骨干网与用户的各个Site组成,所谓VPN就是对site集合的划分,一个VPN对应一个由若干site组成的集合。

    基于BGP扩展实现的L3 MPLS VPN所包含的基本组件:

    PE Provider Edge Router,骨干网边缘路由器,存储VRF Virtual Routing Forwarding Instance),处理VPN-IPv4路由,是MPLS三层VPN的主要实现者。

    CECustom Edge Router,用户网边缘路由器,发布用户网络路由。

    P routerProvider Router,骨干网核心路由器,负责MPLS转发。

    VPN用户站点(site):是VPN中的一个孤立的IP网络,一各site之间通过运营商骨干网实现连通。公司总部、分支机构都是site的具体例子。CE路由器通常是VPN Site中的一个路由器或交换设备,Site通过一个单独的物理端口或逻辑端口连接到PE设备上。

    用户接入MPLS VPN的方式是每个site提供一个或多个CE,同骨干网的PE连接。在PE上为这个site配置VRF,将连结PE-CE的物理接口、逻辑接口、甚至L2TP/IPSec隧道绑定到VRF上。

    BGP扩展实现的MPLS VPN扩展了BGP NLRI中的IPv4地址,在其前增加了一个8字节的RDRoute Distinguisher)。RD用来区分不同VPNIPV4地址。VPN的成员关系是通过VPN-IPV4路由所携带的Route Target属性来获得的,每个VRF配置了一些策略,规定一个VRF可以接收携带何种Route Target的路由信息,向外发布路由时携带什么Route Target属性,每个PE根据这些策略,确定接收到的哪些路由可以引入某个VRF中,并进行路由计算生成VRF相关的路由表。

    PE-CE之间要交换路由信息,可以通过静态路由,也可以通过RIPOSPFBGPIS-IS等动态路由协议。PE-CE之间采用静态路由的好处是可以减少CE设备可能会因为管理不善等原因,造成对骨干网BGP路由产生震荡,影响骨干网的稳定性。

    MPLS/BGP VPN提供了灵活的地址管理。由于采用了单独的路由表,允许每个VPN使用单独的地址空间,称为VPN-IPv4地址空间,RD加上IPv4地址就构成了VPN-IPv4地址。很多采用私有地址的用户不必再进行地址转换NATNAT只有在两个有冲突地址的用户需要建立Extranet进行通信时才需要。

    MPLS/BGP VPN中属于同一的VPN的两个site之间转发报文使用两层标签来解决,在入口PE上为报文打上两层标签:第一层(外层)标签在骨干网内部进行交换,代表了从PE到对端PE的一条隧道,VPN报文打上这层标签就可以沿着LSP到达对端PE;第二层(内层)标签,指示了报文应该到达哪个site,或者更具体一些到达哪一个CE。这样报文到达PE时剥掉了外层标签,这时,根据内层标签就可以找到转发的接口。

     

    9      MPLS L2VPN

    MPLS L2VPN提供基于MPLS网络的二层VPN服务。使用基于MPLSL2VPN解决方案,运营商可以在统一的MPLS基础网络架构上,提供基于不同媒介(包括ATMFRVLANEthernetPPP等)的二层VPN服务。同时这个MPLS网络仍然可以提供通常的IP、三层VPN、流量工程和QoS等其他服务,极大地节省网络建设的投资。

    简单来说,MPLS L2VPN就是在MPLS网络上透明传递用户的二层数据,从用户的角度来看这个MPLS网络就是一个二层的交换网络,通过这个网络可以在不同站点之间建立二层的连接。

    对于MPLS二层VPN,网络运营商负责给二层VPN用户提供二层的连通性,不需要参与VPN用户的路由计算,在提供全连接的二层VPN时和传统的二层VPN一样( ATM  PVC提供的VPN),存在N方问题。每个VPNCE到其它的CE都需要在CEPE之间分配一条连接。对于PE设备来说,在一个VPNNSite的时候,CE-PE必须有N-1个物理或逻辑端口连接。

    MPLS L2VPN中,CEPEP的概念与BGP/MPLS VPN一样,原理也很相似:它也是利用标签栈来实现用户报文在MPLS网络中的透明传送,外层标记(称为tunnel标记)用于将报文从一个PE传递到另一个PE,内层标记(在MPLS L2VPN中称为VC标记)用于区分不同的VPN中的不同连接,接收方的PE根据VC标记决定将报文传递给哪个CE

    由于MPLS L2VPNPE设备不参与用户的路由处理,因此它的可扩展性比L3VPN要好得多。MPLS L2VPN的可扩展性只与PE能连接的VPN用户数目相关,但是作为代价L2VPN的灵活性要差一些,无法实现Extranet