MPLS,多协议标签交换.doc

上传人:大米 文档编号:545619949 上传时间:2023-09-29 格式:DOC 页数:18 大小:1.20MB
返回 下载 相关 举报
MPLS,多协议标签交换.doc_第1页
第1页 / 共18页
MPLS,多协议标签交换.doc_第2页
第2页 / 共18页
MPLS,多协议标签交换.doc_第3页
第3页 / 共18页
MPLS,多协议标签交换.doc_第4页
第4页 / 共18页
MPLS,多协议标签交换.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《MPLS,多协议标签交换.doc》由会员分享,可在线阅读,更多相关《MPLS,多协议标签交换.doc(18页珍藏版)》请在金锄头文库上搜索。

1、Multi Protocol Label Switch( MPLS,多协议标签交换) ,MPLS属于第三代网络架构,是新一代的IP高速骨干网络交换标准,在internet早期,随着普及的情况下,当时的硬件技术限制,采用的是最长匹配算法,递归查询的方式,给当时的骨干网发展提出了一个难题,在这种情况下ATM脱颖而出,ATM采用定长的标签,并且只需要维护比路由表小的标签表,便提供更高效率的转发性能和高带宽、QOS功能。 但是由于ATM机制太过复杂,设备又非常昂贵,给调试人员带来了很大的困难。在这种情况下,许多产商开始开发研究,把IP和ATM的优势结合的技术,最早由美国一家IPSilon的小公司推出了

2、名为IP Switching,它很好的结合了ATM和IP的优势,随之Cisco(Tag switch)、IBM(ARIS)、3COM(FashtIP)各个产生都推出了自己的技术,为了统一标准 IETF推出了标准化的定义,它就是MPLS。 随着ATM的慢慢退出,和IP的路由转发依靠硬件来完成(比如cisco的CEF),MPLS的优势越来越少,但是MPLS提供的高扩展性非常强,在ISP的发展下,VPN的需求越来越大,而MPLS 正好提供了天然的隧道,而且在流量控制、和多协议方面的支持(IP、IPV6、二层帧头等),那么就产生了MPLS VPN和各种多业务的扩展应用。被运营商大量使用提供不同需求的业

3、务。MPLS的包结构 Label:20bit 20220-1,也就是1048575个标签,015做保留 其中0做显示空 (NULL,用于QOS 只看EXP 忽略查找LFIB) 3是隐式空(通知次莫跳执行TAG动作) 1 为路由器报警标签 14 是OAM报警 EXP:扩展应用 如果是IP包中的3bit为IP precedenceS:栈底位 0与1 1代表1层 0代表多层 (MPLS VPN为二层 MPLE TE two or more)TTL:防环机制MPLS在二层的帧头之后,和三层头部之前插入一个字段,所以也被成为2.5层协议,也正因为这样它能优于IP进行快速的转发。这时候除了插入Label字

4、段以外,二层帧头的type字段也需要改变,比如Ether在没插入之前,type=0x0800,表示上层协议为IP,那么在插入标签以后,type会改变为0x8847(Frame-mode,也就是基于IP的) 还有一个表示为0x888(cell-mode,表示ATM的),我们常用的是frame-modeMPLS用一个短而定长的标签来封装网络层分组,交换机或路由器根据标签值转发报文。MPLS指的多协议是:可以承载在各种链路层协议上:PPP ATM FR。 FEC:(Forwarding Equivalence Class)转发等价类: FEC是在转发过程中以等价的方式处理一组数据分组。LSP:(La

5、ber Switching Path)标签交换路径:一个FEC数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行,这个路径就成为LSP。 LDP:(Label Distribution protocol,标签分发协议 RFC3036):用于LSR之间分配标签,建立LSP LSR: 标签交换路由 (MPLS 域内路由器)Edge LSR : IP与MPLS域之间 (负责压入与弹出标签)LDP的建立机制LDP消息类型: 1、发现消息(Discovery messages) 用于LDP邻居的发现和维持 2、会话消息(Session messages)用于LSP邻居会话的建立、维护和终止

6、3、通告消息(Advertisement messages) 用于LDP邻居之间的Laber、地址等信息交互 4、通知消息(Notification Messages) 用于向LDP邻居通知事件或者错误。 LDP会话的建立和维护:1、邻居建立:通过互发hello包(UDP/port:646/ip:224.0.0.2) 2、建立TCP连接:由地址大的一方主动发起。(TCP/port/:646) 3、会话初始化:由master发出初始化消息,并携带协商参数。由slave检查参数能否接受,如果能则发送初始化消息,并携带协商参数。并发送keepalive消息,master收到后检查参数匹配,匹配上发送

7、keepalive消息互相收到后,会话建立。4、会话维护:期间收到任何错误消息,会话就断开与TCP连接。上游与下游:数据转发先到的为上游,后到达的为下游,那么标签分发与路由更新正好相反,从下游到上游。标签分配模式:DOD(downstream-on-demand,下游按需分配):只有当上游向下游请求的时候,才会为这个FEC信息分配标签 DU(downstream unsolicited,下游自动分配):只要与上游建立会话连接,主动为上游分配标签。标签控制模式:有序方式(Ordered): 只有等下游更新了标签信息给上游,上游才会跟新。独立方式(Independent):就算没有收到下游的标签信

8、息,也会向上游发送标签信息。标签保守方式: 保守模式 (Conservative):只会保留来自最近的下一跳邻居标签信息。自由模式(Liberal):保留所有来自邻居的标签信息。现在的MPLS 都是采用DU 有序 自由模式来完成MPLS LDP使用的是UDP/TCP的端口号为646,目的地址为224.0.0.2发送hello包,只要运行LDP的路由器都会收到,在LDP的hello中Transport address 会携带在hello包中,表示想与邻居建立LDP的关系,通常情况下Transport address与LDP ID是一致的。Transport adress的作用是,当双方交换hel

9、lo包以后,由Transport address地址大的一方发起LDP的连接,而小的一方永远是被动的。Transport Address选举:根据自己指定或者 自动选择 根据loopback 优先,然后物理接口。Cisco在MPLS出现之前使用的是TDP,使用TCP/UDP 711号端口,但是在IOS 12.4以后默认选择是LDP了。注意的是,虽然MPLS 理论上被认为是2.5层的协议,但是它的工作机制完全依靠IGP来完成,所以IGP的收敛决定了LDP的收敛速度。下面是关于LSR和Edge的基本工作原理,实在不会画图,所以有从PPT里面截图下来了。LSR的工作机制,假设当在一个运行IGP OS

10、PF的MPLS Domain中,LSR路由器收到一个关于10.0.0.0/8这个网络的信息,它会用OSPF的LSA告诉其他邻居,当OSPF传递完成后,LDP开始为这条路由分配标签信息,它从左边邻居收到一个标签信息,这个标签告诉本地路由器,要想去往10.0.0.0/8这个网络打上标签17,与此同时本地也会产生一个关于这个路由条目的标签信息,这里为24,它会通告给其他LDP邻居。假设右边有台路由器要访问10.0.0.0/8这个网络,那么它只需要打上24的标签交给LSR路由器,LSR通过LFIB中的标签转换后,把24去掉,置换成17标签交给左边路由器。注意的是:LDP只为IGP分配标签,包括stat

11、ic、RIPv2、EIGRP、ISIS、OSPF,并且默认是打开的,只要形成了LDP邻居关系,就会为每一条路由前缀分配标签,而BGPv4只会为IPv4的unicast router分配标签,而且默认是关闭的,但是BGP可以借用关于下一跳的由LDP分配的标签信息。这个可以在下面的实验中体现出来。它也相当于后面的MPLS VPN中的P路由器,它分为control plane 和Data Plane,Control Plane首先依赖于IGP协议的收敛完成,构建成IP Routing Table(cisco CEF机制表示为FIB),然后LDP开始为每一条路由分配标签会现成一个LIB数据库,最后关联

12、到LFIB表中,它由FIB和LIB共同完成,包含的信息包括出接口和最优标签绑定,这个为Date Plane,决定数据转发。 什么是最优标签呢,比如下面这个图,R4身后有个4.4.4.4的条目,R4会为这个条目分配一个标签,并且传递给R2,R3,R2,R3也会本地产生一个标签 传递给邻居,假设R1去往这个4.4.4.4的路径R2比R3的cost的小,那么在路由条目中,只会显示下一跳为R2,而不是R3,那么出现在LFIB表中的就是关于R2分配的关于4.4.4.4的标签信息和出接口,而R3分配的标签信息 还是会保存在本地LIB表中,当R2出现了故障以后,它会自动切换到R3上,并且把LFIB表中的标签

13、绑定改为R3所分配的。 LFIB表中只会显示FIB里面最优路径的下一跳标签信息(根据LIB数据库中保存的label信息),如果是负载均衡的话,那么标签也会负载均衡。这时候,一个数据包过来的话,那么它只会查看LFIB表,而不去关心路由表,因为LSR属于MPLS Domain的内部路由器,所以这个数据包肯定是打了标签的,这样必须保证在单一的MPLS Domain中一定要保持标签的连续性。它在MPLS VPN中也叫PE路由器,它也分为Control Plane和Date Plane,首先也由IGP协议来完成路由的收敛,形成FIB表,然后LDP为每一条路由前缀分配标签信息,保存在LIB表中。Data

14、Plane会引用FIB表(IP Forwaring Table),但是这个FIB表关联了标签信息,当一个纯IP数据包过来以后,它查看关于这个目的网络是否有标签信息,如果有直接压入这个标签信息交给LFIB转发。如果没有就直接由IP包转发。LFIB表(由FIB和LIB构成),它负责标签的置换、压入和弹出。 如果弹出以后变成纯IP包,交给FIB转发。Edge LSR(PE)它的Data Plane由FIB和LFIB共同完成,它决定一个纯IP数据包是否需要压入标签,和一个标签数据包是否弹出标签转发给IP域。关于MPLS的几张表项总结RTB:由IGP协议生成的路由表,会选出最优的路径。FIB:通过RTB

15、生成的CEF表,同时会把LIB中关于这条最优路径的标签信息关联CEF表中。 当纯IP包进来 | 或者label出来的时候,会通过FIB里面对应的标签进行压入或者弹出。LFIB:(动态)进出标签与下一跳关联LIB:(静态)LDP或者TDP协议产生的本地以及邻居的标签LFIB是通过LIB与FIB关联的一张动态标签表这张表体现了MPLS TE 、MPLS VPN等Control Plane和Date Plane的形成。Penultimate hop Popping(次莫跳)当一个IP包从Eage 过来通过FIB来查询是否压入标签,通过标签表发给P节点,查看LFIB,执行转换动作,当Eage LSR收到后,执行POP后,会再查询下一跳,把IP包转发出去。 但是Eage LSR的负担和数据包转发延迟会加大,PHP解决的是,如果边界网络的话,会发出PHP的指令给次莫跳,由它来完

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号