直接引用;只具有局部意义是为便于分配。例如:一个路由器上的IN和OUT都是1500,并不会对转发产生啥影响。
0-15为保留标签:0表示该标签必须弹出,交给IPV4处理;2表示该标签必须弹出,交给IPV6处理;3表示倒数第二跳弹出;
(2)TC位:TrafficClass field,流量类别字段,用于QOS标识优先级,长度3bits,数字越大,优先级越高。
注意:TC和EXP所表示的意思是一样的,有的文档里用的EXP,有的文档里用的是TC,现在EXP”字段被重命名为“TC”字段
S为0表示后续还有标签。这就从另一方面代表着我们可以多次封装标签,嵌套标签。这在MPLS VPN和BGP MPLS VPN中会被使用,如下图:
(4)TTL:存活时间,长度8bits,用于当网络出现环路时,防止标签报文被无限制转发。
1,Uniform:IP报文进入mpls网络时,拷贝IP头部的TTL至标签交换,每经过一次标签交换,标签TTL-1,经过出节点时,把标签TTL再次-1后替 换到原IP头部的TTL。
2,pipe:IP头部进入MPLS时,IP头部TTL-1,MPLS标签中的TTL为固定值,每经过一次标签交换,标签TTL-1,直到经过出节点时,将IP头部TTL-1。
这两种模式最大的不同之处在于Uniform可以使接收设施感到TTL值的变化,不难得知自己经过了几个路由器,而pipe做不到。
用于LSR之间分配标签,建立LSP,简单可靠,是MPLS网络中应用最广泛的标签分配协议之一。
MP-BGP----专门在BGP网络中,支持标签分配协议的,适合用IPV4
LDP会话建立完成后,路由器根据路由表进行标签分配,形成MPLS标签转发表
设备的上下游,与数据转发的方向相对,数据先到达的地方是上游,后到达的地方是下游。
从A发出的数据包应该是这个样子:D:20.0.0.1+S:10.0.0.1,LSR1收到后会查看路由表,得知其下一跳是LSR2的左边接口,这也就意味是LSR1发现这个数据包的下一跳是自己的LDP邻居,于是LSR1就清楚自己是这个数据包中去往目的地的上游,此时LSR1会向LSR2发起标签分配的请求,请求LSR2给LSR1分配一个去往20.0.0.1的标签。
此时LSR3收到LSR2的数据包后,会查路由表找到目的地的下一跳,发现下一跳是LSR4,但LSR4不是自己的LDP邻居,这会让LSR3同样的认为自己就是这个数据包的终点,自己值最后一跳
当LSR3清楚自己是终点,是最后一跳时,LSR3会产生一个IN和OUT标签,但此时OUT标签是空的(因为它已经清楚自己是最后一跳,就没必要给自己给标签了),IN标签是随机产生的,但是因为自己是最后一跳,所以,依据情况可以有三个选择:
当LSR2收到LSR3传的标签通告报文后,会将收到报文的接口S1/1作为自己的出接口,LSR3的IN标签作为自己的出标签,自身的IN标签可自动给出一个随机值,比如:IN=1200
当LSR1收到LSR2传的标签通告报文后,会将收到报文的接口S0/1作为自己的出接口,LSR2的IN标签作为自己的出标签,自身的IN标签可自动给出一个随机值,但因自己是起点,所以没有IN标签
特征:上游LSR先向下游LSR发送标签请求信息;下游LSR收到标签请求消息后,为此FEC分配标签,并向上游逐层通告。
特征:下游LSR在LDP会话建立后,主动向上游LSR通告标签映射消息,无需等待上游请求。
无序(独立):不管有没有收到下游的标签映射消息,都立即向上游发送标签映射消息(即使标签重复也无所谓)
(1)保守模式:只保留最优路径的,来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签;
增加LSP的收敛时间;(一旦主路故障了,需要启动备用路径,重新建立标签分配的过程)
报文在Transilt LSR中传输时,路由器检查标签,并在标签转发表中匹配,进行标签SWAP操作
上一篇:一文了解:“以假乱真”的人工血管 下一篇:浅析NFC的常见应用有哪些?NFC标签卡如何选型?