《基于MPLS的流量工程(修订版)》一2.3 标签分配协议

简介:

本节书摘来自异步社区《基于MPLS的流量工程(修订版)》一书中的第2章,第2.3节,作者【美】Eric Osborne , Ajay Simha,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.3 标签分配协议

基于MPLS的流量工程(修订版)
RFC3036“LDP规范”标准化了LDP用来交换为IGP和静态路由分配的标签。前面说过,Cisco的MPLS流量工程的实现并不基于CR-LDP,CR-LDP是为约束路由而进行的LDP扩展。但是,理解LDP在MPLS TE网络中很有用处,在MPLS网络中经常在不同的地方混合使用LDP和RSVP。

因为本书的重点不是LDP,并且RFC 3036超过了130页,对LDP的讨论不在本章(本书)的范围内。接下来的一节将会详细地介绍一些LDP的基本知识,以及一些分组格式的细节。完成这一节的阅读后,你将会了解到如何配置LDP,LDP作用以及协议是如何工作的。

2.3.1 LDP PDU头部

在把LDP的主要功能分为四个部分之前,首先要了解LDP的分组格式。LDP由UDP或者TCP承载。两种方式下,LDP分组的首部往往是图2-13所示的协议数据单元(Protocol Data Unit,PDU)头部。

image

LPD PDU头部由以下几个字段构成:

版本号——目前,LDP仅有一个版本,定义为1。
PDU长度——PDU的长度,包括PDU头部以后所承载的数据内容。
LDP标识符——LDP标识是一个6字节的字符串,用来标识特定的标签空间。前四个字节是LSR-ID。另外两个字节的值依赖于标签空间。如果LDP PDU使用全局标签空间,那么这两个字节都为0。如果LDP PDU使用局部接口标签空间,就由产生LDP PDU的路由器给这两个字节赋一个惟一的值。习惯上,把LDP标识符写为RouterID:空间标识符的样式。因此,来自一个LSR ID为1.2.3.4的全局标签空间通告被写为1.2.3.4:0,单接口标签空间写为1.2.3.4:1或者其他非零数。

2.3.2 LDP消息格式

LDP PDU头部之后是一个或者多个LDP消息,它的一般格式如图2-14所示。

image

如果消息类型为Unkown(未知),那么Unkown(U)位就会置为1。LDP规范中没有定义类型为Unkown的消息,所以这一位总是0。

表2-5列出了消息类型字段(Message Type field)的可能值。

image

消息长度(Message Length)是在消息长度后面的字段集合的长度(消息ID + 必选参数 + 可选参数),以字节为单位。

消息ID(Message ID)有时被用来把消息和其他消息进行关联。例如,响应另一个消息的消息使用了它所响应消息的消息ID。

必选参数(Mandatory Parameters)和可选参数(Optional Parameters)依赖于发送的消息的类型。它们将会在关于不同的LSD功能的一节介绍。必选参数和可选参数通常是TLV(Type/Length/Value,类型/长度/值)三元组,即一种对分组中任意数量的数据进行编码的常见方式。

当在LDP消息中使用TLV时,一般的格式看起来如图2-15所示。

image

如果U位设为1,表示如果接收路由器理解这条消息,那么也应该忽略这条消息。

转发位(Forward,F)只有在U位为1的时候才有意义。因为在RFC 3036定义的消息中这些位通常都是0,所以我们不会详细介绍它们。

类型字段(Type field)表示TLV中的Value(值)部分承载的数据类型。

长度字段(Length field)表示TLV中的Value部分承载的数据的长度。在TLV字段中的实际值依赖于消息类型和LDP使用这个特定消息所要完成的内容。

2.3.3 LDP的主要功能

LDP有四大主要功能:

邻居发现(Neighbor discovery)。
会话的建立和维护(Session establishment and maintenance)。
标签通告(Label advertisement)。
通知(Notification)。
1.邻居发现
类似其他大部分的网络协议,LDP有一个邻居的概念。LDP使用UCP/TCP端口646来发现邻居。LDP有两种不同类型的邻居:

直连邻居——这些邻居之间有一个第二层的连接。所以,任何被第二层链路连接的路由器——无论是POS链路、ATM PVC、以太连接,还是DS-3接口——都被认为对LDP是直接相连的。被逻辑链路(如GRE隧道连接的邻居)也被认为是直接相连的。这些链路上的基本的共同之处是邻居间只相距一个IP路由跳。
非直连邻居——这些邻居之间没有第二层连接。更重要的是,这些邻居相距几个IP路由跳的距离。通过MPLS流量工程隧道连接,并且启用了LDP的路由器连接被认为是非直连的。这样的LDP会话被称为一个目标(targeted)会话或者定向(directed)LDP会话。
注意:

虽然直连邻居上的LDP的用途可能很明显,但是非直连邻居间的LDP应用并不明显。在应用中需要建立端到端的LSP,并保留端到端应用标签的情况下,定向LDP会话是有用的。第10章10.6.2一节详细介绍了这一点。
直连和非直连邻居惟一的区别在于它们如何发现彼此的邻居的。LSR通过向224.0.0.2的多播地址(子网中所有的路由器)发送封装在UDP中的LDP hello消息发现直连邻居。这些分组被称为hello消息。

非直连邻居不能通过多播UDP分组到达。因此,使用单播(同样在UDP端口646)发送同样的hello消息。这就需要LSR提前知道谁是它的非直连邻居。这个可以通过配置实现。

配置直连邻居很简单。所要做的就是在接口层次上启用tagswitching ip命令或者mpls ip命令。可以配置在接口上,如例2-11所示,Mpls label protocol ldp也可以配置在全局层次下,如例2-12所示。

例2-11 配置LDP直连邻居

interface POS3/0
 ip address 192.168.17.15 255.255.255.0
 mpls label protocol ldp          
 tag-switching ip              
end

命令行中的tag-switching和mpls

前面讲过,Cisco的TDP是LDP的前身。在保持向后兼容性的同时,把TDP命令行命令向支持LDP转移是一件困难的事情。你会经常看到一些命令使用tag-switching,另一些命令使用mpls ip。这些命令的功能一般都是相同的,例如tag-switching ip和mplsip完成的功能就一样。使用哪一个协议是通过mpls label protocol {ldp | tdp}命令控制的。也许写这本书的时候命令行接口(command-line interface,CLI)已经完成了修改。要了解最新的细节,请查看LDP文档。附录B提供了一些在线的链接。

mpls label protocol ldp命令是必须的,因为接口上默认的标签协议是TDP。但是,命令行被设计得很灵活。可以不用在每一个接口上覆盖TDP的默认配置,在全局层次下使用mpls label protocol ldp命令进行配置就可以了,那么接口默认的协议就是LDP。例2-12显示了在全局模式下指定mpls标签协议的情况,所有的接口都使用LDP取代了TDP。

例2-12 在LSR的所有接口上配置LDP

!
mpls label protocol ldp
...
!
interface POS3/0
 ip address 192.168.17.15 255.255.255.0
 mpls ip
end

如果需要一些接口使用TDP取代LDP,可以基于单一接口使用mpls label protocol tdp命令命令配置TDP。

使用show mpls interfaces命令确认进行合适的接口配置,如例2-13所示。

例2-13 在接口上验证TDP/LDP配置

vxr15#show mpls interfaces
Interface      IP       Tunnel   Operational
FastEthernet0/0  Yes (tdp)  No     Yes
POS3/0        Yes (ldp)  Yes    Yes

你也许注意到IP一列显示在Fast Ethernet(快速以太网)接口上配置运行TDP,而在POS接口上配置运行LDP。如果接口是up/up的,那么Operational一列就应该显示Yes。

那么,LDP的hello分组是什么样子呢?

在PDU头部的后面,使用了一个LDP hello消息。它的格式如图2-16所示。

image

如图2-16所示,hello消息包含了一个公共hello参数TLV(Common Hello Parameters TLV)。这个TLV包含了关于LSR希望建立的LDP类型的信息。图2-17显示了公共hello参数TLV的格式。

image

保持时间(Hold Time)是以秒单位的hello保持时间。默认的直连会话的保持时间是5秒。直连会话的hello消息每5秒发送一次,而对于目标LDP邻居,保持时间则为180秒(hello消息仍然是每5秒发送一次)。在一对LDP邻居之间通过持续交换Hello消息,表示LDP邻接之间的链路维持着(keepalive)。

当LSR建立非直连LDP邻居时,目标Hello(argeted Hello,T)位和请求目标Hello(Request Targeted Hello,R)位都置为1,否则都置为0。

IPv4传输地址TLV是可选的,但是在Cisco的LDP实现中实现了它。它是LSR在TCP上初始化LDP会话时的LSR IP地址。一般情况下,传输地址是传送路由器的LSR ID,最后可能是Loopback0。

所有这些分组的格式可能容易混淆。图2-18显示了整个LDP分组的格式。

image

LDP PDU头部包含版本号、PDU长度和LDP标识符。Hello消息紧接着LDP标识符。它由hello类型、消息长度和消息ID构成。在消息ID之后是公共hello变量TLV头部、公共hello变量TLV的长度和公共hello变量TLV的其他部分。

2.会话的建立和维护
发现潜在的LDP邻居之后,就可以开始建立LDP会话了。LDP会话建立是一个两步过程:

(1)确定会话建立过程中,谁是主动(active)方,谁是被动(passive)方。

(2)初始化会话参数。

通过比较hello分组中的传输地址(一般是发送者的LSR-ID,即Loopback0)确定主动方或者被动方。如果接收者确定自己是主动方,它就会初始化一个TCP会话。如果不是,它会等待发送者进行初始化。

如图2-19所示,R1在链路L1上收到了hello R2:0。R1比较自己的传输地址1.1.1.1和R2的传输地址2.2.2.2。因为R2的传输地址在数字上比较大,所以R1为被动方,等待R2建立TCP连接。TCP连接通过已知的TCP端口646进行初始化。

image

TCP会话建立后,LSR会通过LDP初始化消息协商会话参数。这包括版本号、标签分配方法(下游自主或者DoD)、定时器值(TCP连接的保持时间)、标签控制的ATM的VPI/VCI范围等等。

会话建立后,通过在TCP会话中定期发送UDP发现hello消息和keepalive(维持)消息维护这个会话。

可以通过show mpls ldp parameters命令查看各种LDP定时器,如例2-14所示。

例2-14 查看LDP定时器

gsr1#show mpls ldp parameters
Protocol version: 1
Downstream label pool: min label: 16; max label: 100000
Session hold time: 180 sec; keep alive interval: 60 sec
Discovery hello: holdtime: 15 sec; interval: 5 sec      
Discovery targeted hello: holdtime: 180 sec; interval: 5 sec
Downstream on Demand max hop count: 255
TDP for targeted sessions
LDP initial/maximum backoff: 15/120 sec
LDP loop detection: of

保持时间和hello间隔可以通过下面的全局配置方法改变:

mpls ldp discovery {hello | targeted-hello} {holdtime | interval} 1-2147483 seconds

LDP会话的保持依赖于定期收到LDP keepalive消息。改变发现保持时间(discovery holdtime)会改变允许经过的没有从邻居收到keepalive消息的时间。换句话说,如果保持时间增加了,如果LSR没有从邻居收到keepalive消息,那么它会在宣布邻居不通前等待稍长一点的时间。

发现间隔表示从一个特定路由器发送hello的频率。这个值不会在任何LDP消息中通告,对于hello的接受者来说它是本地的。

和其他很多定时器一样,除非确定有充足的理由,否则不要改变定时器的值。但是,可能不时会出现当你遇到一条拥塞的链路时,需要LDP在宣布邻居不通前,在接收keepalive消息时多等待一段时间的情况。类似地,你也许希望LDP能够更快宣布邻居不通,因此你需要关闭计时器,使得它们对丢失的hello消息更加敏感。但是,最好让IGP或者链路特定告警机制(link-specific alarm mechanism)来检测失效。

一旦LDP邻居建立,就可以使用show mpls ldp neighbor命令查看邻居关系,如例2-15所示。

例2-15 查看LDP邻居关系

vxr15#show mpls ldp neighbor
   Peer LDP Ident: 192.168.1.8:0; Local LDP Ident 192.168.1.15:0
     TCP connection: 192.168.1.8.646 - 192.168.1.15.11056
     State: Oper; Msgs sent/rcvd: 41/39; Downstream
     Up time: 00:00:03
     Addresses bound to peer LDP Ident:
       192.168.1.8   192.168.13.8   192.168.3.8   192.168.17.8
       192.168.8.8

例2-15显示了和邻居192.168.1.8的一个LDP邻居关系(因为显示了Peer LDP Ident)。从show tag-switching tdp neighbor命令的输出看到的基本一样,当然,如果标签协议是TDP,它就替代使用了Peer TDP Ident。

图2-20总结了LDP会话的建立过程。LSR之间需要的会话数量依赖于标签空间。对于帧模式接口,即使两个LSR之间有多条链路,也只会建立一个LDP会话,因为对于帧模式操作,使用了一个平台标签空间。当使用ATM接口时,LSR需要为每一个接口维护一个接口标签空间。当时用接口标签空间时,RFC 3036要求每一个接口都使用一个邻居。

image

图2-20的情形A显示了4台路由器——R1、R2、R3和R4——通过L1到L4的链接相连。对于每一链接,只需要建立一个会话——假设这些都是帧模式接口。

情形B显示了两个路由器R1和R2之间的多条链接。同样,假设帧模式接口,只需要一个LDP会话。

情形C显示了两台LSR R1和R2之间的信元模式的ATM链接。这需要建立一个额外的会话。

在分组层次发生了什么?确定哪一个LSR是邻居建立过程中的主动方后,主动方LSR发送一个初始化消息。格式如图2-21所示。

image

初始化消息包含一个公共会话参数TLV。格式如图2-22所示。

image

初始化消息还可以包含可选参数。本书不作介绍,要了解详细内容请参阅RFC 3036的3.5.3一节。

公共会话参数TLV的字段如下:

协议版本(Protocol Version)——版本1。
keepalive时间——建议的时间,单位为秒。在经过这个时间后,LDP邻居关系会被拆除。
A——下游自主模式设为0,DoD设为1。
D——如果禁止了环路检测就设为0,启用了环路检测就设为1。LC-ATM LDP关系使用环路检测。
保留(Reserved)——没有使用。
PVLim——路径向量约束。同样用于LC-ATM。
最大PDU长度——两个邻居间可允许的最大LDP PDU。默认值是4096。
接受者的LDP标识符——LDP标识符,通告返回给接受者。
在两个邻居间交换初始化消息,以便确定会话使用的参数。

在邻居建立后,就会在邻居间发送keepalive消息。图2-23显示了LDP keepalive消息的格式。

Keepalive消息非常直观。这里不介绍可选参数,分组中的其他字段我们已经定义过了。

默认情况下,每60秒发送一次keepalive消息,如果180秒之内没有收到keealive消息,就会拆除LDP邻居关系。

image

你也许注意到LDP同时具有hello消息和keepalive消息。两者都是必需的。本章前面讲过,如果在两个LSR之间有多条帧模式的链路时,LDP只会建立一个邻居关系。在每一条链路上通过UDP多播都会发送hello消息,用来保证LSR知道邻居在哪一个接口上。Keepalive消息在已经建立的邻居之间的TCP连接上发送,并没有跟踪keepalive消息从哪一个接口进入。Hello消息是每一个链路的Keepalives,而Keepalive消息是每一个邻居的Keepalives。虽然也许有一点容易混淆,分离每一个链路和每一个邻居的维护消息有助于LDP更有效的扩展。

3.标签通告
一旦LSR建立了LDP邻居关系,它们就开始彼此通告标签。在标签通告中使用了七种类型的LDP消息:

地址消息(Address)。
地址回收消息(Address Withdraw)。
标签请求消息(Label Request)。
标签映射消息(Label Mapping)。
标签回收消息(Label Withdraw)。
标签释放消息(Label Release)。
标签中止请求(Label Abort Requests)。
地址消息(Address Message)

LSR发送地址消息通告被绑定的接口地址。地址消息不是LDP标签通告消息。地址消息也是通告的一种形式,因此包含在这里。图2-24显示了地址消息的格式。

地址消息建立了标签空间和下一跳之间的联系。没有它,LSR如果希望发送一个分组到特定的下一跳,它就无法知道应该监听哪一个LDP ID。参见图2-7,图中12008a和12008b之间有两条链路。如果ATM 3/0链路失效,12008a通往12.12.12.12的路由就会通过POS1/0链路,而下一跳就是12008b的POS1/1的接口地址。现在,因为收到了地址消息,12008a就可以把来自12008b这个绑定关系和这个新的下一跳联系起来。

image

show mpls ldp neighbor命令显示了从邻居收到的地址绑定关系,如例2-16所示。

例2-16 查看来自LDP邻居的地址绑定关系

12008a#show mpls ldp neighbors
Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 5.5.5.5:0
     TCP connection: 3.3.3.3.646 - 5.5.5.5.11004
     State: Oper; Msgs sent/rcvd: 28881/28887; Downstream
     Up time: 2w3d
     LDP discovery sources:
      POS2/0
     Addresses bound to peer LDP Ident:
      7.1.5.113 10.0.1.3 3.3.3.3 10.0.2.3
Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 5.5.5.5:0
     TCP connection: 4.4.4.4.646 - 5.5.5.5.11005
     State: Oper; Msgs sent/rcvd: 28894/28931; Downstream
     Up time: 2w3d
     LDP discovery sources:
      POS2/1
     Addresses bound to peer LDP Ident:
      7.1.5.110 10.0.1.4 4.4.4.4 10.0.3.4
Peer LDP Ident: 11.11.11.11:0; Local LDP Ident 5.5.5.5:0
     TCP connection: 11.11.11.11.11008 - 5.5.5.5.646
     State: Oper; Msgs sent/rcvd: 28904/28875; Downstream
     Up time: 2w3d
     LDP discovery sources:
      POS1/0
     Addresses bound to peer LDP Ident:                  
      10.0.19.11   10.0.17.11     10.0.4.11    7.1.5.100    
      11.11.11.11  10.0.5.11                       
Peer LDP Ident: 11.11.11.11:1; Local LDP Ident 5.5.5.5:1
     TCP connection: 10.0.4.11.11009 - 10.0.4.5.646
     State: Oper; Msgs sent/rcvd: 5821/5821; Downstream on demand
     Up time: 3d12h
     LDP discovery sources:
      ATM3/0.1

例2-16突出显示的部分表示12008a从邻居收到的地址绑定关系,邻居的LDP标识符是11.11.11.11:0。在下Addresses bound面列出的地址是12008a从LSR 11.11.11.11:0的地址绑定消息中收到的地址。当在FIB/LFIB中安装标签项时,12008就会查找路由表。只有路由器的下一跳地址出现在由下一跳路由器发送的地址绑定关系中时,12008a才会考虑使用这个路由器发送的标签绑定。在例2-16中,要让12008a使用来自11.11.11.11的标签绑定作为地址前缀,那么这个地址前缀的IGP下一跳必须是以下地址之一:

10.0.9.11

10.0.17.11

10.0.4.11

7.1.5.100

11.11.11.11

10.0.5.11

在自由保留模式下,如果路由的下一跳改变,只要下一跳是在那个邻居的Address bound部分列出的地址之一,LSR都会继续使用它仍然保留的先前收到的绑定关系。

注意:

在ATM 3/0.1上没有看到地址绑定关系。这是因为,默认情况下,Cisco路由器不会在LC-ATM接口上发送地址消息,这是基于以下事实:LC-ATM使用接口标签空间,并且没有在同一标签空间中,尝试把下一跳映射到一个不同的下游接口的可能——每一个接口一个标签空间。同样,Cisco路由器和交换机对LC-ATM接口只使用保守保留模式,如果下一跳变化,就会发出一个新的标签请求,这样就可以在和新的下一跳对应的新接口上转发标签分组了。在ATM接口上增加mpls ldp address-message命令,将会引起在这个接口上发送地址消息。
地址回收消息(Address Withdraw Message)

地址消息和地址回收消息格式相同,如图2-25所示。

它在地址列表TLV中包含一个将要被回收的地址列表。

注意:

无论什么时候把一个新接口加入到LSR中,都需要发送一个地址消息。相反情况下,当删除一个接口或者关闭一个接口,都需要发送一个地址回收消息。
标签请求消息(Label Request Message)

当LSR在DoD/保守保留模式时,上游LSR向下游LSR请求一个标签。这个请求会作为标签请求消息发送。格式如图2-26所示。

image

FEC TLV包含了地址前缀,就是为这个地址前缀请求标签绑定关系。

注意:

有时,ATM-LSR需要为同一个地址前缀请求多个标签。如果ls1010a不支持VC聚合,这就是图2-10所示的网络的情况。为了让下游LSR知道为同一个FEC发送不同的标签,发出请求的LSR使用了不同的消息ID。
标签映射消息(Label Mapping Message)

标签绑定使用标签映射消息发送。DoD和下游自主分配模式都使用这个消息。

可选参数可以是以下内容之一:

标签请求消息ID TLV(Label Request Message ID TLV)——通常把消息ID设置为请求消息中的消息ID。
跳计数TLV(Hop Count TLV)——指定了将会沿标签消息建立的LSP的总跳数。
路径向量TLV(Path Vector TLV)——包含了将要建立的LSP中的LSR的列表。

image

跳计数和路径向量TLV都用于避免环路,基本上都是在LC-ATM网络中使用的。

标签回收消息(Label Withdraw Message)

当LSR要回收先前发送的标签绑定时,会发送一个标签回收消息。在接受到标签回收消息后,LSR应该停止使用这个标签绑定,然后向标签回收消息的发送者响应一个标签释放消息。

图2-28显示了标签回收消息的格式。

image

标签TLV字段是可选的,因为如果有这个字段,那么只有在标签TLV中列出的标签才会被回收。如果没有这个字段,所有和那个FEC对应的标签都要删除。

标签释放消息(Label Release Message)

它的格式和标签回收消息的格式一样,除了标签释放(0x0403)字段之外。标签释放消息确认了标签回收消息中指明的标签绑定的释放。它也可以用在保守保留模式中,用来通知上游LSR不要再使用这个标签了——也许因为它的下一跳变了。如果出现标签TLV字段并且包含标签,那么这个消息就确认只对这些标签绑定的回收。如果标签TLV是空的,那么就确认了和这个FEC对应的所有标签绑定都已经回收了。

标签中止请求消息(Label Abort Request Message)

标签中止请求消息,顾名思义,中止任何前面未完成的请求。在以下条件下会发生这种情况:

自从LSL发动请求以来,该地址前缀的路由已经发生了变化。
LSR收到了来自首先发动请求的上游LSR的中止消息。
收到中止请求消息的LSR可以通过以下方式响应:

如果它还没有回应一个标签映射消息的请求或者一个错误通知,那么就需要响应一个标签请求中止通知消息(Label Request Aborted Notification message)。
如果LSR已经回应了,就忽略这个通知。
4.通知
当LSR需要通知对端一个问题时,就会使用通知消息。通知可以是:

错误(Error)通知。
报告(Adisory)通知。
错误通知在LSR遇到一个致命错误并且无法恢复时使用。这会最终导致拆除LDP会话。出于同样的原因,收到这个通知的LSR会丢弃所有和这个会话有关的绑定。

报告通知用法类似于警告。LSR可以从这类问题中恢复。通知消息由状态消息承载,格式如图2-29所示。

image

如果E位设置为1,表示发生了致命错误。如果设置为0,就会把它作为警告处理。状态数据(Status Data)承载了实际发生的错误的状态码。

2.3.4 环路检测

只能在DoD分配模式中使用环路检测,因此也就只能在信元模式的ATM环境中。这是因为,本质上,环路检测需要有序控制模式。在有序控制模式下,标签请求是从上游向下游发送,而标签绑定是沿相反的方向发送。这就使得沿路径的LSR能够很自然地把自己加入到路径向量中去。如果使用独立分配模式,LSR是不会在分配标签给上游邻居前,等待接收下游邻居的标签绑定的。在DoD分配模式下,如果作为对LSR自己的标签请求的响应,LSR收到了来自下游邻居的标签映射,而在标签映射消息中包含了一个跳计数TLV,那么LSR只会更新这个计数。在下游自主(DU)分配模式下,邻居之间不会发生这样的通信过程。在某种程度上,DoD可以认为是有状态的,而DU是无状态的。除此之外,在DU分配中,因为LSR是路由器而不是ATM LSR,所以使用MPLS头部的TTL字段避免分组的无限循环。

提示:

在Cisco LSR中,默认环路检测是禁止的,所以要在全局范围内使用mpls ldp loop-detection命令进行配置。
如果LSR收到了标签映射消息,而跳计数TLV溢出了(大于最大值),或者如果路径向量TLV包含了它自己的LSR ID,那么LSR就得出结论认为在LSR中产生了环路。

当LSR检测到环路时,它会丢弃标签映射,并且不会响应下游邻居的请求。它还会发送一个表示产生环路的通知消息给发送标签映射消息的LSR。

相关文章
|
1月前
|
网络协议 网络虚拟化 数据中心
华为配置VXLAN构建虚拟网络实现相同网段互通示例(静态方式)
配置VXLAN构建虚拟网络实现相同网段互通示例(静态方式
|
9月前
|
网络性能优化 网络虚拟化 网络架构
什么是多协议标签交换MPLS?
什么是多协议标签交换MPLS?
78 0
|
网络协议 安全 Unix
虚拟路由和转发 (VRF) 表上下文中的多点标签分发协议带内信令
本文档是 Internet 工程任务组 (IETF) 的产品。它代表了 IETF 社区的共识。它已接受公众审查,并已获互联网工程指导小组 (IESG) 批准出版。有关 Internet 标准的更多信息,请参见 RFC 5741 的第 2 节。
367 0
虚拟路由和转发 (VRF) 表上下文中的多点标签分发协议带内信令
|
存储 移动开发 边缘计算
MPLS:多协议标签交换架构
当无连接网络层协议的数据包从一个路由器传输到下一个路由器时,每个路由器都会为该数据包做出独立的转发决策。也就是说,每个路由器都会分析数据包的头部,并且每个路由器都运行网络层路由算法。每个路由器根据对数据包报文头的分析和运行路由算法的结果,独立地为数据包选择下一跳。
252 0
MPLS:多协议标签交换架构
|
编解码 网络协议 物联网
DFP 数据转发协议应用实例6.LoRA 网关跨区域转发
DFP 是什么? 稳控科技编写的一套数据转发规则, 取自“自由转发协议 FFP(Free Forward Protocol)” ,或者 DFP(DoubleF Protocol), DF 也可以理解为 Datas Forward(数据转发)的缩写。DF 协议是与硬件接口无关的数据链路层协议,规定了数据流如何在不同设备之间、不同接口之间的传输方向。
DFP 数据转发协议应用实例6.LoRA 网关跨区域转发
|
网络协议 安全 网络虚拟化
华为数通HCIA小型拓扑综合实验,运用OSPF动态路由协议、ACL访问控制列表,交换机生成树协议,修改交换机根桥、交换机划分vlan、链路聚合等相关数通技术、NAT地址转换以及NAT网络地址转换的配置
华为数通HCIA小型拓扑综合实验,运用OSPF动态路由协议、ACL访问控制列表,交换机生成树协议,修改交换机根桥、交换机划分vlan、链路聚合等相关数通技术、NAT地址转换以及NAT网络地址转换的配置、ACL访问控制列表的配置方法。访问控制列表的书写技巧、ACL访问控制列表的匹配原则。...
华为数通HCIA小型拓扑综合实验,运用OSPF动态路由协议、ACL访问控制列表,交换机生成树协议,修改交换机根桥、交换机划分vlan、链路聚合等相关数通技术、NAT地址转换以及NAT网络地址转换的配置
|
负载均衡 网络协议 算法
跨区域网络的通信学习静态路由
跨区域网络的通信学习静态路由
427 0
跨区域网络的通信学习静态路由
|
算法 网络协议 网络架构
跨区域网络的通信学习路由表的工作原理
跨区域网络的通信学习路由表的工作原理
183 0
|
网络协议 网络架构
跨区域网络的通信学习IPv4地址的分类和计算
跨区域网络的通信学习IPv4地址的分类和计算
141 0
|
网络协议 网络虚拟化 网络架构
GRE 隧道配置案例(静态、动态路由)
GRE 隧道配置案例(静态、动态路由)
573 0
GRE 隧道配置案例(静态、动态路由)