您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > MPLS-LDP实际应用
概述MPLS(multiprotocollabelswitching)体系有多种标签分配协议,LDP标签分配协议是这些协议中使用较广的一种。LDP是LSR之间协商标签含义的过程,标签就是用于两个LSR之间进行数据转发的。利用LDP可以实现将网络层的路由信息直接映射到数据链路层的交换路由,进而建立起标签交换路径(LSP)。LSR之间将依据本地转发表中对应于一个特定FEC的入标签、下一跳节点、出标签等信息连接在一起,从而形成跨越整个MPLS域的标签交换路径。1基本概念:1.1LSR支持标签交换的路由器。可以实施MPLS中描述的标签交换控制和转发的网络设备。入口LSR(又称边缘LSR或标记边缘路由器(LER)):在这个“起始点”上,该LSR必须检查数据包并按照特定的LSP对该数据包进行分类。由于需要根据诸如源/目的IP地址、DiffServ代码点、端口号码或应用的内容等多种标准分类数据包,入口LSR通常比普通路由器更多地用于处理数据包的分类。转发LSR(又称核心LSR):转发LSR接收带标记的数据包,进行标记交换,并将这些数据包按照带标记的数据包进行再转发。在MPLS网络的所有LSR中,转发LSR通常必须要具备非常高的性能指标。衡量核心LSR的性能,通常是看该设备能维护的大量动态标记交换路径(LSP)、设备的路由性能,或者是两者的结合。出口LSR(又称边缘LSR或标记边缘路由器(LER)):出口LSR接收带标记或者无标记的数据包,将每个数据包转换为IP数据包并进行发送。将数据包转换为IP数据包是出口LSR的繁重任务。这是由于MPLS标记栈条目必须被剥离,TTL信息必须从标记复制到IP包头,而且必须重新计算IP校验和。出口路由器的性能可能由于某些因素而降低,包括路由和LSP数量以及IP路由安排的复杂性等。1.2LSP(标签交换路径)有一个或多个标签交换跳连接而成的路径。通过标签交换,分组可以从一个LSR转发到另一个LSR.1.3LDPPeer(LDP对等体):用LDP协议交换mpls标签的两台LSR互称为LDPpeer。在他们之间存在LDPsession。1.4Labelspace(标签空间):标签空间是用来讨论标签分配/分发的。现存在两种标签空间:基于接口的,基于平台的。基于接口的标签空间是为每个接口分配一个空间。只有当LDPPeer直连到接口上时基于接口的标签空间才有意义。基于平台的标签空间是为多个接口分享同一个标签空间。1.5FEC(转发等价类):转发等价代表了一个分组集合,属于该集合的分组产生的时间可能不一致,但是它们对于传输过程的要求是完全相同的。在常规的IP转发过程中,每经过一个结点,分组都要被查表一次,以确定它的FEC;而在MPLS中,分组判定属于哪一个特定FEC的工作仅在它进入MPLS网时做一次,之后就不再需要。FEC可以依据对某些特定分组的特定处理需求建立,也可以仅仅依据网络地址前缀建立。而每一个具有标记交换功能的路由器(LSR)都将建立一个表格,该表由本结点的FEC和FEC对应的标记组成,以指明一个分组如何被转发,这个表被称为标记信息库(LIB)。1.6TLV(Type-Length-ValueEncoding):LDP应用TLV编码LDP消息携带的很多信息,所有的LDP消息都有如下格式:012301234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|U|MessageType|MessageLength|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|MessageID|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+||++|MandatoryParameters|++||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+||++|OptionalParameters|++||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+一共有11个消息类型:NotificationMessage;HelloMessage;InitializationMessage;KeepAliveMessage;AddressMessage;AddressWithdrawMessage;LabelMappingMessage;LabelRequestMessage;LabelAbortRequestMessage;LabelWithdrawMessage;LabelReleaseMessage。每一种消息的格式都一样只是填充的内容不同。1.7LDPIdentifiers(LDPID)LDPIdentifiers长度为6个字节,用于标识LSR的标签空间。前四字节标识LSR,必须是全局唯一值。后两字节标识LSR特定的标签空间。基于平台的标签空间,后两字节都是零。LDPIdentifiers可以表示为LSRId:labelspaceid例如192.168.1.1:0.0,10.10.10.1:2.1。2LDP消息交换:LDP协议中规定了四类LDP消息:Discoverymessages:用来通告和维护网络中LSR的存在;Sessionmessages:用来建立、维护和停止对等体之间的session;Advertisementmessages:用来创建、改变和删除针对FEC的标签绑定;Notificationmessages:用来提供建议性的消息和错误通知。发现消息提供了一种机制,LSR通过周期性的发送HELLO报文表明它在网络中的存在。使用“发往所有路由器”的子网多播地址(224.0.0.2)的UDP报文。Hello消息以UDP报文发向ldp端口(646)。LSR通过hello消息学习到其他LSR,当它决定与其建立LDPsession时,LSR通过TCP连接建立LDP初始化进程。当成功的完成LDP初始化后,两台LSR称为LDPPeer,可以交换通告消息了。为了LDP操作的可靠,Sessionmessages(session消息)、Advertisementmessages(通告消息)和Notificationmessages(通知消息)均使用TCP连接,只有Discoverymessages(发现消息)使用UDP连接。3LDP错误处理通过Notificationmessages(通知消息),LDP错误或其他事件发送到LDPPeer。有两种类型的通知消息:错误消息------用来发送致命的错误。如果LSR从LDP对等体的LDPsession中接受到错误消息,LSR将关闭TCP连接,终止LDPsession。释放从此LDPsession中获得的所有标签映射。通知消息------传送LSR信息或先前从LDP对等体接收到消息的状态。4LDP工作过程:4.1LDP发现机制LDP发现机制用于LSR发现潜在的LDPPeer。有两种发现机制:基本发现机制------用于发现链路上直连的LSR邻居。扩展发现机制------用于发现链路上非直连LSR。4.1.1基本发现机制LSR通过周期性的发送LDPHELLO报文,实现LDP基本发现机制的。HELLO报文中携带LDPIdentifier及一些其他信息(例如:labelspace、transportaddress)。如果LSR在特定端口接收到LDPHELLO,表明此端口存在链路层潜在的LDP对等体(即:HELLO邻接体)。它可以获得此接口的LDP邻接标签空间。4.1.2扩展发现机制通过扩展发现机制可以建立链路上非直连LSR之间的LDPsession。LSR周期性的发送TargetHello到指定地址,实现LDP扩展发现机制的。TargetHello使用UDP报文,目的地址是指定地址,目的端口是LDP端口(646)。TargetHello同样携带LDPIdentifier及一些其他信息(例如:transportaddress、holdtime)。如果LSR在特定端口接收到TargetHELLO,表明此端口存在链路层潜在的LDP对等体。它可以获得此接口的LDP邻接标签空间。基本发现机制和扩展发现机制之间的差别:A、targethello的目的地址是指定的IP地址,而不是组播地址(224.0.0.2);B、基本发现机制是对称的,而扩展发现机制是非对称的。主动方LSR发送targethello给接收方LSR,接收方决定是否回应还是丢弃(Hellomessage—commonparametersTLV中的Rbit决定。)。接收方LSR选择周期性发送targethello给主动方LSR作为回应。(也就是说只要单方发送targethello就可以建立session。)4.2LDPsession的建立和维护4.2.1LDPsession建立两台LSR之间交换HELLO消息触发LDPsession的建立。LDPsession建立过程分为两步:-------以transport地址建立TCP连接;-------session的初始化。举例说明:图1假定LSR1和lSR2均采用基于平台的标签空间,表示为LSR1:0,LSR2:0。通过HELLO的交换,LSR1产生HELLO邻接,将链路与LSR1:0和LSR2:0绑定在一起。1、首先,LSR1与LSR2之间建立LDPsession。LSR1决定其transport地址作为TCP连接的一端A1,同样LSR2决定它的transport地址作为TCP连接的另一端A2。A1的选取如下:a、如果LSR1在0/1接口上发送的Hello报文中携带TransportAddress(此项是任选的),那么此TransportAddress就是A1;b、如果LSR1在0/1接口上发送的Hello报文中没有携带TransportAddress,那么此A1是LSR1的LSRID地址;LSR2的A2选取也一样。2、接着,LSR1通过对比A1和A2的大小,决定它在session建立中充当的角色,是active还是passive。如果A1A2,则LSR1充当active方;反之,LSR1是passive方。A1和A2作为无符号整数的对比过程如下:a、如果A1和A2不是同一地址家族,他们不能比较,session不能建立;3、如果LSR1是active方,它主动向A2地址、LDP端口(646)发起TCP连接。如果LSR1是passive方,它等待LSR2向自己的LDP端口建立TCP连接。注意:LSR1获取A2是通过LSR2发送的HELLO消息而得到的。4.2.2LDPsession初始化LSR1和LSR2建立Transport连接以后,他们通过交换Initializationmessages(初始化消息)协商session参数。协商的参数包括:LDP协议的版本,标签分发的方式(下游主动分发还是下游按需分发),holdtime等等。协商完成后,LSR1和LSR2之间建立基于标签空间LSR1:0和LSR2:0之间的LDPsession。以图1为例,以LSR1角度分析。连接建立后,如果LSR1是active方,它发送初始化消息给LSR2开始协商session参数。如果LSR1是passive方,它等待LSR2发送的初始化消息。LSR1LSR20/10/0在基于接口的标签空间下,如果LSR1与LSR2之间存在多条链路连接,passiveLSR直到接收到Initializationmessages,才能知道新近建立的TCP连接与那个标签空间相连。Initializationmessage携带了双方的LDPIdentifi
本文标题:MPLS-LDP实际应用
链接地址:https://www.777doc.com/doc-2888933 .html