1、传统的 IP 数据转发是基于逐跳式的,每个转发数据的路由器都要根据 IP 包头的目的地址查找路由表来获得下一跳的出口,这是个繁琐又效率低下的工作,主要的原因是两个:1、有些路由的查询必须对路由表进行多次查找,这就是所谓的递归搜索;2、由于路由匹配遵循最长匹配原则,所以迫使几乎所有的路由器的交换引擎必须用软件来实现,用软件实现的交换引擎和 ATM 交换机上用硬件来实现的交换引擎在效率上无法相 抗衡。当今的互联网应用需求日益增多,对带宽、对时延的要求也越来越高。如何提高转发效率,各个路由器生产厂家做了大量的改进工作,如 Cisco 在路由器上提供 CEF(Cisco Express Forwarding)功能、修改路由表搜索算法等等。但这些修补并不能完全解决目前互联网所面临的问题。
2、IP 和 ATM 曾经是两个互相对立的技术,各个 IP 设备制造商和 ATM 设备制造商都曾努力想吃掉对方,想 IP 一统天下,或者 ATM一家独秀!但是最终是这两种技术的融合,那就是 MPLS(Multi-Protocol Label Switching)技术的诞生!MPLS 技术结合和 IP 技术信令简单和 ATM 交换引擎高效的优点!
1、标签结构
IP 设备和 ATM 设备厂商实现 MPLS 技术是在各自原来的基础上做的,对于 IP 设备商,它修改了原来 IP 包直接封装在二层链路帧中的规范,而是在二层和三层包头之间插了一个标签(Label),而 ATM 设备制造商利用了原来 ATM 交换机上的 VPI/VCI 的概念,在使用 Label 来代替了 VPI/CVI,当然 ATM 交换机上还必修改信令控制部分,引入了路由协议,ATM 交换使用了路由协议来和其他设备交换三层的路由信息。
1)、20 比特的 LABEL 字段用来表示标签值,由于标签是定长的,所以对于路由器来说,可以分析定长的标签来做数据包的转发,这是标签交换的最大优点,定长的标签就意味这可以用硬件来实现数据转发,这种硬件转发方式要比必须用软件实现的路由最长匹配转发方式效率要高得多!
2)、3 比特的 EXP 用来实现 QOS
3)、1 比特 S 值用来表示标签栈是否到底了,对于 VPN,TE 等应用将在二层和三层头之间插入两个以上的标签,形成标签栈。
4)、8 比特 TTL 值用来防止数据在网上形成环路
2、LSR设备及MPLS架构
能支持标签交换的路由器为 LSR(Label Switch Router)
LSR 的体系结构分为两块:
1). 控制平面(Control Plane)
该模块的功能是用来和其他 LSR 交换三层路由信息,以此建立路由表;和交换标签对路由的绑定信息,以此建 LabelInformation Table(LIB)标签信息表。同时再根据路由表和 LIB 生成 Forwarding InformationTable(FIB)表和 Label Forwarding Information Table(LFIB)表。控制平面也就是我们一般所说的路由引擎模块!
2).数据平面(Data Plane)
数据平面的功能主要是根据控制平面生成的 FIB 表和 LFIB 表转发 IP 包和标签包。对于控制平面中所使用的路由协议,可以使用以前的任何一种,如 OSPF、RIP、BGP 等等,这些协议的主要功能是和其他设备交换路由信息,生成路由表。这是实现标签交换的基础。在控制平面中导入了一种新的协议—LDP,该协议的功能是用来针对本地路由表中的每个路由条目生成一个本地的标签,由此生成 LIB 表,再把路由条目和本地标签的绑定通告给邻居 LSR,同时把邻居LSR 告知的路由条目和标签帮定接收下来放到 LIB 表里,最后在网络路由收敛的情况下,参照路由表和 LIB 表的信息生成 FIB 表和 LFIB 表。
3、MPLSVPN
1)、为了让 PE 路由器上能区分是哪个本地接口上送来的 VPN 用户路由,在 PE 路由器上创建了大量的虚拟路由器,每个虚拟路由器都有各自的路由表和转发表,这些路由表和转发表统称为 VRF(VPN Routing and Forwarding instances)。一个 VRF 定义了连到 PE路由器上的 VPN 成员。VRF 中包含了 IP 路由表,IP 转发表(也成为 CEF 表),使用该 CEF 表的接口集和路由协议参数和路由导入导出规则等等。在 VRF 中定义的和 VPN 业务有关的两个重要参数是 RD(Route Distinguisher)和 RT(Route Target).有了虚拟路由器就能隔离不同 VPN 用户之间的路由,也能解决不同 VPN 之间 IP 地址空间重叠的问题。
2)、BGP/MPLS IP VPN是一种L3VPN(Layer 3 Virtual Private Network)。它使用BGP(Border Gateway Protocol)在服务提供商骨干网上发布VPN路由,使用MPLS(Multiprotocol Label Switch)在服务提供商骨干网上转发VPN报文。这里的IP是指VPN承载的是IP(Internet Protocol)报文。
3)、BGP/MPLS IP VPN的基本模型由三部分组成:CE、PE和P。
CE(Customer Edge):用户网络边缘设备,有接口直接与服务提供商网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。
PE(Provider Edge):是服务提供商网络的边缘设备,与CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上,对PE性能要求较高。
P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN信息。
PE和P设备仅由服务提供商管理;CE设备仅由用户管理,除非用户把管理权委托给服务提供商。