CN118101516A - 一种报文传输方法及装置 - Google Patents
一种报文传输方法及装置 Download PDFInfo
- Publication number
- CN118101516A CN118101516A CN202211436517.6A CN202211436517A CN118101516A CN 118101516 A CN118101516 A CN 118101516A CN 202211436517 A CN202211436517 A CN 202211436517A CN 118101516 A CN118101516 A CN 118101516A
- Authority
- CN
- China
- Prior art keywords
- network device
- bfd control
- control message
- bfd
- transmission paths
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 273
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 14
- 238000003745 diagnosis Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 3
- 101100117775 Arabidopsis thaliana DUT gene Proteins 0.000 description 42
- 101150091805 DUT1 gene Proteins 0.000 description 42
- 230000007246 mechanism Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101100444142 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) dut-1 gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文传输方法及装置,应用于第一网络设备中,该方法包括:生成双向转发检测BFD控制报文,根据BFD控制报文中的预留比特位的取值从第一网络设备与第二网络设备之间的多条传输路径中确定第一传输路径,通过第一传输路径向第二网络设备发送BFD控制报文,使第二网络设备在定时器的定时时长内通过第一传输路径接收到BFD控制报文,则设置定时器重新开始计时;若第二网络设备在定时器的定时时长内未通过多条传输路径接收到BFD控制报文,则发送故障通知消息,以指示多条传输路径出现故障。通过该方法,可以解决BFD误报的问题。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种报文传输方法及装置。
背景技术
双向转发检测(英文:Bidirectional Forwarding Detection,缩写为BFD)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者网际互连协议(英文:Intellectual Property,缩写为IP)路由的转发连通状况。
BFD通过在两台网络设备上建立会话,检测网络设备间的双向转发路径。在会话建立后,一台网络设备会周期性地发送BFD控制报文,如果在检测时间内另一台网络设备没有收到BFD控制报文则认为该双向转发路径发生了故障,通知上层应用进行相应的处理。
当前,在BFD应用于链路捆绑或等价路由(英文:Equal Cost Multi-path,缩写为ECMP)场景下时,常常会出现BFD误报的情况。例如,两个网络设备之间建立了多条传输路径,在BFD控制报文传输过程中,发送BFD控制报文的网络设备会根据BFD控制报文的五元组计算哈希值,且每次都将BFD控制报文散列到上述多条传输路径中一条固定的传输路径上,从而在BFD控制报文传输时仅仅利用其中一条传输路径,一旦该传输路径出现故障,则接收BFD控制报文的网络设备会直接上报两台网络设备间所有传输路径出现故障,而实际上,还有其他传输路径可用,仅用于传输BFD控制报文的传输路径出现故障,因此导致BFD误报的问题。
发明内容
本发明提供一种报文传输方法及装置,用以解决BFD误报的问题,提升BFD检测的可靠性。
第一方面,本发明实施例提供一种报文传输方法,应用于第一网络设备中,包括:
生成双向转发检测BFD控制报文;
根据所述BFD控制报文中的预留比特位的取值从所述第一网络设备与第二网络设备之间的多条传输路径中确定第一传输路径,其中,所述多条传输路径分别对应的所述预留比特位的取值不同;
通过所述第一传输路径向所述第二网络设备发送所述BFD控制报文,以使所述第二网络设备若在定时器的定时时长内通过所述第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
上述技术方案中,通过BFD控制报文中的预留比特位的取值确定传输路径,由于预留比特位可以包括多个取值,且第一网络设备与第二网络设备之间的多条传输路径对应的预留比特位的取值不同,进而可以实现在发送BFD控制报文时基于预留比特位的取值选择相应的传输路径进行发送,也即,避免了传统BFD控制报文只在一条固定的传输路径上发送的弊端,此时,只要存在任意一条传输路径可用,第二网络设备就能收到第一网络设备发送的BFD控制报文,在第二网络设备通过所有传输路径都接收不到第一网络设备发送的BFD控制报文时,才发送故障通知消息,能够解决BFD误报的问题,提升BFD检测的可靠性。
可选地,所述多条传输路径是指所述第一网络设备与所述第二网络设备之间的多条链路,或者所述第一网络设备与所述第二网络设备之间的多条等价路由路径;所述预留比特位为所述BFD控制报文中的诊断字中的预留比特位。
可选地,根据所述BFD控制报文中的预留比特位的取值从所述第一网络设备与第二网络设备之间的多条传输路径中确定第一传输路径,包括:
获取所述BFD控制报文中的五元组;
根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径。
可选地,根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径,包括:
获取随机数;
采用所述哈希算法对所述预留比特位的取值、所述五元组和所述随机数进行哈希运算,得到哈希值;
从所述多条传输路径中选取所述哈希值对应的传输路径,得到第一传输路径。
第二方面,本发明实施例提供一种报文传输方法,应用于第二网络设备中,包括:
监测在定时器的定时时长内是否通过与第一网络设备之间的多条传输路径中的任意一条传输路径接收到BFD控制报文;
若在所述定时器的定时时长内通过所述多条传输路径中的第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;其中,所述BFD控制报文是所述第一网络设备生成、并根据所述BFD控制报文中的预留比特位的取值从所述多条传输路径中确定所述第一传输路径后,通过所述第一传输路径发送的,所述多条传输路径分别对应的所述预留比特位的取值不同;
若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
上述技术方案中,当第二网络设备在定时器的定时时长内只要能够通过任意一条传输路径接收到BFD控制报文时,代表第一网络设备与第二网络设备之间的多条传输路径中必然有未被损坏的传输路径,BFD会话正常,并且在接收到该BFD控制报文时,设置定时器重新开始计时;当第二网络设备在定时器的定时时长内未接收到BFD控制报文时,代表第一网络设备与第二网络设备之间的多条传输路径均被损坏,BFD会话中断。基于此,能够解决BFD误报的问题,提升BFD检测的可靠性。
可选地,所述多条传输路径是指所述第一网络设备与所述第二网络设备之间的多条链路,或者所述第一网络设备与所述第二网络设备之间的多条等价路由路径。
第三方面,本发明实施例提供一种报文传输装置,所述装置为第一网络设备,包括:
生成单元,用于生成双向转发检测BFD控制报文;
确定单元,用于根据所述BFD控制报文中的预留比特位的取值从所述装置与第二网络设备之间的多条传输路径中确定第一传输路径,其中,所述多条传输路径分别对应的所述预留比特位的取值不同;
收发单元,用于通过所述第一传输路径向所述第二网络设备发送所述BFD控制报文,以使所述第二网络设备若在定时器的定时时长内通过所述第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
可选地,所述多条传输路径是指所述装置与所述第二网络设备之间的多条链路,或者所述装置与所述第二网络设备之间的多条等价路由路径;所述预留比特位为所述BFD控制报文中的诊断字中的预留比特位。
可选地,所述确定单元,用于在根据所述BFD控制报文中的预留比特位的取值从所述装置与第二网络设备之间的多条传输路径中确定第一传输路径时,获取所述BFD控制报文中的五元组;根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径。
可选地,所述确定单元,用于在根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径时,获取随机数;采用所述哈希算法对所述预留比特位的取值、所述五元组和所述随机数进行哈希运算,得到哈希值;从所述多条传输路径中选取所述哈希值对应的传输路径,得到第一传输路径。
第四方面,本发明实施例提供一种报文传输装置,所述装置为第二网络设备,包括:
收发单元,用于监测在定时器的定时时长内是否通过与第一网络设备之间的多条传输路径中的任意一条传输路径接收到BFD控制报文;
处理单元,用于在若在所述定时器的定时时长内通过所述多条传输路径中的第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;其中,所述BFD控制报文是所述第一网络设备生成、并根据所述BFD控制报文中的预留比特位的取值从所述多条传输路径中确定所述第一传输路径后,通过所述第一传输路径发送的,所述多条传输路径分别对应的所述预留比特位的取值不同;
所述处理单元,用于若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则通过所述收发单元发送故障通知消息,以指示所述多条传输路径出现故障。
可选地,所述多条传输路径是指所述第一网络设备与所述装置之间的多条链路,或者所述第一网络设备与所述装置之间的多条等价路由路径。
第五方面,本申请还提供一种装置。该装置可以执行上述方法设计。该装置可以是能够执行上述方法对应的功能的芯片或电路,或者是包括该芯片或电路的网络设备。
在一种可能的实现方式中,该装置包括:存储器,用于存储计算机可执行程序代码;以及处理器,处理器与存储器耦合。其中存储器所存储的程序代码包括指令,当处理器执行所述指令时,使该装置或者安装有该装置的网络设备执行上述任意一种可能的设计中的方法。
其中,该装置还可以包括通信接口,该通信接口可以是收发器,或者,如果该装置为芯片或电路,则通信接口可以是该芯片的输入/输出接口,例如输入/输出管脚等。
在一种可能的设计中,该装置包括相应的功能单元,分别用于实现以上方法中的步骤。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的单元。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在装置上运行时,执行上述任意一种可能的设计中的方法。
另外,第三方面至第六方面中任一种实现方式所带来的技术效果可参见第一方面与第二方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本发明中现有的BFD控制报文格式示意图;
图2为本发明实施例提供的一种BFD多跳场景示意图;
图3为本发明实施例提供的一种报文传输方法流程图;
图4A为本发明实施例提供的一种起始节点为ECMP场景组网示意图;
图4B为本发明实施例提供的一种包含交换机的起始节点为ECMP场景组网示意图;
图5为本发明中现有的BFD会话协商建立过程示意图;
图6为本发明实施例提供的一种应用于第一网络设备中的装置600;
图7为本发明实施例提供的一种应用于第二网络设备中的装置700;
图8本发明实施例还提供另一种装置800。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1为现有的BFD控制报文格式示意图,其中各部分具体含义为:
版本(英文:Version,缩写为Ver):BFD协议的版本号,例如,协议版本为1;
诊断(英文:Diagnostic,缩写为Diag):诊断字,用于指示本地BFD系统最近一次会话状态发生变化的原因、取值及含义;
状态(英文:State,缩写为Sta):BFD会话的当前状态,取值为0代表管理会话中断(英文:AdminDown),取值为1代表会话中断(英文:Down),取值为2代表会话初始化(英文:Init),取值为3代表会话正常(英文:Up);
P:参数发生改变时,发送方在BFD控制报文中置该标志位为1,表示发送方请求进行连接确认,或者发送请求参数改变的确认;发送方在BFD控制报文中置该标志位为0,表示发送方不请求确认;
F:与P标志位对应,F标志位置为1,表示发送方响应一个接收到P标志位为1的BFD控制报文;F标志位置为0,表示发送方不响应一个接收到P标志位为1的BFD控制报文;
C:控制分离标志,设置为1,表示发送方的BFD实现不依赖于它的控制平面,即BFD控制报文在转发平面传输,即使控制平面失效,BFD仍然能够起作用;设置为0,表示BFD控制报文在控制平面传输;
A:认证标识,设置为1,则表示控制报文包含认证字段,并且会话是被认证的;
D:查询请求,设置为1,表示发送方希望操作在查询模式;设置为0,表示发送方不区分是否操作在查询模式,或者表示发送方不能操作在查询模式;
M:为BFD将来支持点对多点拓展而设的预留位;
检测乘数(英文:DetectMult):检测时间倍数,即接收方允许发送方发送报文的最大连续丢包数,用来检测链路是否正常;
长度(英文:Length):BFD控制报文的长度,单位为字节;
我的标识符(英文:MyDiscriminator):发送方产生的一个唯一的、非0鉴别值,用来区分两个协议之间的多个BFD会话;
你的标识符(英文:YourDiscriminator):接收方收到的相对应匹配的鉴别值“MyDiscriminator”,如果没有收到相对应匹配的鉴别值就返回0;
所需最小发送间隔(英文:DesiredMinTxInterval):发送方发送BFD控制报文时想要采用的最小间隔,单位为毫秒;
所需最小接收间隔(英文:RequiredMinRxInterval):发送方能够支持的接收两个BFD控制报文之间的间隔,单位为毫秒;
所需最小回波接收间隔(英文:RequiredMinEchoRxInterval):发送方能够支持的接收两个BFD回声报文之间的间隔,单位为毫秒;如果这个值设置为0,则发送不支持接收BFD回声报文。
具体地,对于Diag分为以下情况:
0:表示无诊断信息;
1:表示检测时间超时;
2:表示Echo功能失效;
3:表示邻居会话Down;
4:表示转发面复位;
5:表示链路Down;
6:表示级联链路Down;
7:表示Admin Down;
8:表示反向级联链路Down;
9-31:表示预留后续使用。
Diag共有32个数,即2的5次方,由于n比特的信息量可以表现出2的n次方种选择,因此Diag具有5比特的信息量,其预留后续使用的9-31具体为高2比特信息。
图2为BFD多跳场景示意图,具体地,多跳场景是指在两个传输BFD控制报文的网络设备之间还存在其他网络设备。当BFD应用于多跳场景,中间节点可能存在ECMP。
网络设备A向网络设备D发送BFD控制报文,在网络设备B上根据BFD控制报文的五元组(源端口号、目的端口号、源IP、目的IP、协议号)计算哈希值,然后根据哈希值将BFD控制报文散列至链路1或链路2中的一条固定链路上进行转发,以下以链路1为例。当链路1出现故障时,网络设备B无法快速感知,此时BFD控制报文仍然通过链路1进行转发,从而导致BFD误报问题。
为了解决BFD误报的问题,提升BFD检测的可靠性,本申请提出一种报文传输方法,通过BFD控制报文中预留比特位的取值确定传输路径,由于预留比特位可以包括多个取值,且每次发送BFD控制报文时预留比特位的取值不同,进而可以实现在每次发送BFD控制报文时选择不同的传输路径进行发送,避免了当前BFD会话固定在一条传输路径进行发送的弊端,实现了只要存在任意一条传输路径可用,第二网络设备就能收到第一网络设备发送的BFD控制报文,能够解决BFD误报的问题,提升BFD检测的可靠性。
本申请提出的一种报文传输方法流程图如图3所示,其具体流程如下:
步骤300:第一网络设备生成BFD控制报文。
示例性地,第一网络设备可以每隔一段时间(即周期性)生成BFD控制报文。
步骤310:第一网络设备根据BFD控制报文中的预留比特位的取值从第一网络设备与第二网络设备之间的多条传输路径中确定第一传输路径。
其中,多条传输路径是指第一网络设备与第二网络设备之间的多条链路,或者第一网络设备与第二网络设备之间的多条等价路由路径。
示例性地,如图2所示,网络设备B与网络设备C之间存在链路1与链路2,链路1与链路2即为网络设备B与网络设备C之间的多条传输路径。BFD控制报文具体传输过程可参考下述场景1。
示例性地,如图4A所示,在路由器1(DUT1)与路由器4(DUT4)之间的两条等价路由路径分别为:DUT1—DUT2—DUT4与DUT1—DUT3—DUT4,这两条等价路由路径即为第一网络设备与第二网络设备之间的多条传输路径。BFD控制报文具体传输过程可参考下述场景2。
示例性地,预留比特位可以为BFD控制报文中Diag中的预留比特位,其中,预留比特位包括2个比特。本申请使用BFD控制报文中Diag预留的高2比特作为哈希因子使用,即哈希算法输入的参数。此外,预留比特位还可能是BFD控制报文中其他预留比特位,且预留比特位的数量也可能为其他取值,本申请对此不作限定。
示例性地,Diag预留的高2比特可以取00、01、10与11四种取值,这四种取值可以作为哈希因子使用。例如,发送第一个BFD控制报文时,Diag预留的高2比特取00;发送第二个BFD控制报文时,Diag预留的高2比特取01;发送第三个BFD控制报文时,Diag预留的高2比特取10;发送第四个BFD控制报文时,Diag预留的高2比特取11。
其中,多条传输路径分别对应的预留比特位的取值不同。
示例性地,假设第一网络设备与第二网络设备之间的多条传输路径的数目为2,分别为传输路径1和传输路径2,预留比特位的取值的数目为4,分别为00、01、10与11,传输路径1可以对应预留比特位的取值为00、01,传输路径2可以对应预留比特位的取值为10与11。
示例性地,在第一网络设备根据BFD控制报文中的预留比特位的取值从第一网络设备与第二网络设备之间的多条传输路径中确定第一传输路径时,首先获取BFD控制报文中的五元组,然后第一网络设备根据预留比特位的取值和BFD控制报文中的五元组采用哈希算法从多条传输路径中确定第一传输路径。其中,五元组包括源端口号、目的端口号、源IP、目的IP、协议号。可以理解的是,对于从第一网络设备发往第二网络设备的任意一个BFD控制报文,每个BFD控制报文中的五元组相同。
示例性地,在第一网络设备根据预留比特位的取值和BFD控制报文中的五元组采用哈希算法从多条传输路径中确定第一传输路径时,第一网络设备首先获取随机数,然后采用哈希算法对预留比特位的取值、五元组和随机数进行哈希运算,得到哈希值,进而从多条传输路径中选取哈希值对应的传输路径,得到第一传输路径。
例如,如图4A所示,DUT1首先获取随机数,然后可以根据BFD控制报文的五元组和Diag预留的高2比特00与随机数的乘积计算哈希值,进而根据哈希值从两条等价路由路径DUT1—DUT2—DUT4与DUT1—DUT3—DUT4中确定传输路径,例如,DUT1—DUT2—DUT4。
DUT1还可以获取随机数,然后根据BFD控制报文的五元组和Diag预留的高2比特01与随机数的乘积计算哈希值,进而根据哈希值从两条等价路由路径DUT1—DUT2—DUT4与DUT1—DUT3—DUT4中确定传输路径,例如,DUT1—DUT3—DUT4。
相较于仅根据五元组每次确定的传输路径相同,本申请加入预留比特位的取值作为参数,可以实现将BFD控制报文散列到不同的传输路径上,进而实现每次发送BFD控制报文采用不同的传输路径,能够避免BFD控制报文在一条固定路径上发送的弊端。
步骤320:第一网络设备通过第一传输路径向第二网络设备发送BFD控制报文。
示例性地,如图4A所示,在DUT1根据BFD控制报文的五元组和Diag预留的高2比特00与随机数的乘积确定等价路由路径DUT1—DUT2—DUT4时,则DUT1通过等价路由路径DUT1—DUT2—DUT4向DUT4发送BFD控制报文。
在DUT1根据BFD控制报文的五元组和Diag预留的高2比特01与随机数的乘积确定等价路由路径DUT1—DUT3—DUT4时,则DUT1通过等价路由路径DUT1—DUT3—DUT4向DUT4发送BFD控制报文。
步骤330:第二网络设备监测在定时器的定时时长内是否通过与第一网络设备之间的多条传输路径中的任意一条传输路径接收到BFD控制报文。
可以理解的是,第一网络设备可以每隔一段时间(即周期性)向第二网络设备发送BFD控制报文,在每次发送BFD控制报文时,第一网络设备可以采用上述步骤确定传输路径并通过确定的传输路径进行发送。其中,在本申请中,第二网络设备可以采用定时器来进行计时,定时器的定时时长可以根据BFD控制报文发送周期确定。
示例性地,定时器的定时时长可以为定义第一网络设备的BFD控制报文发送周期*BFD检查包数,BFD检查包数是由BFD会话建立过程协商得到的。例如,BFD检查包数可以根据传输路径的数目确定。
步骤340A:若第二网络设备在定时器的定时时长内通过与第一网络设备之间的多条传输路径中的第一传输路径接收到BFD控制报文,则设置定时器重新开始计时。
具体地,当第二网络设备在定时器的定时时长内通过第一传输路径接收到BFD控制报文,则代表第一网络设备与第二网络设备之间存在可用的传输路径。
示例性地,如图4A所示,DUT1向DUT4传输了一个BFD控制报文,当网络设备DUT4在定时器的定时时长内通过等价路由路径DUT1—DUT2—DUT4接收到BFD控制报文,则设置定时器重新开始计时,定时器开始倒计时等待下一个BFD控制报文,此时代表等价路由路径DUT1—DUT2—DUT4是可用的;当网络设备DUT4在定时器的定时时长内通过等价路由路径DUT1—DUT3—DUT4接收到BFD控制报文,则设置定时器重新开始计时,定时器开始倒计时等待下一个BFD控制报文,此时代表等价路由路径DUT1—DUT3—DUT4是可用的。
步骤340B:若第二网络设备在定时器的定时时长内未通过与第一网络设备之间的多条传输路径接收到BFD控制报文,第二网络设备发送故障通知消息,以指示与第一网络设备之间的多条传输路径出现故障。
具体地,当第二网络设备在定时器的定时时长内没有接收到任意一个BFD控制报文,则代表第一网络设备与第二网络设备之间的所有传输路径均出现故障,第二网络设备将该故障通知消息发送到上层应用。
示例性地,如图4A所示,DUT1向DUT4传输了一个BFD控制报文,当DUT4在定时器的定时时长内没有接收到任意一个BFD控制报文,则代表等价路由路径DUT1—DUT2—DUT4与等价路由路径DUT1—DUT3—DUT4均出现故障,此时DUT4将该故障通知消息发送到上层应用。
采用上述设计,通过设定接收BFD控制报文的定时器来判断传输路径是否出现故障,从而解决了BFD发生误报的问题,提高了BFD检测的可靠性。
此外,在第一网络设备通过第一传输路径向第二网络设备发送第一BFD控制报文之前,第一网络设备还需要向第二网络设备发送BFD控制报文1,第一网络设备从第二网络设备接收BFD控制报文2,其中BFD控制报文1与BFD控制报文2中的预留字段均为预设取值。
示例性地,如图4A所示,在DUT1向DUT4发送BFD控制报文之前,DUT1需要向DUT4发送一个预留字段为11的BFD控制报文,并且DUT1可以从DUT4接收到一个预留字段为11的BFD控制报文,其中预留字段可以为11也可以为其他任何预设取值。
只有当第一网络设备可以给第二网络设备发送预留字段为预设取值的BFD控制报文,且第一网络设备接收到此预留字段为预设取值的BFD控制报文时,可以应用本申请提出的报文传输机制,即上述图3所示的报文传输方法,否则BFD会话无法应用上述报文传输机制。其中,本申请提出的报文传输机制又可称为均匀发送机制,均衡发送机制等。
以下以图5为例说明BFD会话协商建立过程。
本申请设定当网络设备支持均匀发送机制时,该网络设备将BFD控制报文中Diag字段的高2比特设置为11;当网络设备不支持均匀发送机制时,则网络设备将BFD控制报文中Diag字段的高2比特设置为00。上述仅以Diag字段的高2比特此设定为11与00,分别表示网络设备支持均匀发送机制和不支持均匀发送机制,还可采用其他取值组合,例如,10与00,或11与01等,但不限于11与00,任意设定的高2比特的两种取值均可适用。
第一步:网络设备A和网络设备B各自启动BFD状态机,初始状态为会话中断(英文:Down),互相发送状态为Down的BFD控制报文。其中对于静态配置BFD会话,BFD控制报文中的Your Discriminator的值是由用户指定的;对于动态创建BFD会话,Your Discriminator的值是0。
第二步:网络设备B接收到网络设备A发送的状态为Down的BFD控制报文,把发送给网络设备A的BFD控制报文中的状态置初始化(英文:Init),向网络设备A发送状态为Init的BFD控制报文。
具体地,通过网络设备A的BFD控制报文中的My Discriminator确定是否与网络设备B的本地会话中的My Discriminator相匹配,如果匹配,则进行下面的检测:
(1)当网络设备B支持均匀发送机制时,检查网络设备A的BFD控制报文中的Diag高2比特,如果该值为11,则把发送给网络设备A的BFD控制报文中的状态置初始化(英文:Init),同时把Diag高2比特置为11;
(2)当网络设备B支持均匀发送机制时,检查网络设备A的BFD控制报文中的Diag高2比特,如果该值为00,则把发送给网络设备A的BFD控制报文中的状态置Init,同时把Diag高2bit置为00;
(3)当网络设备B不支持均匀发送机制时,不检查网络设备A的BFD控制报文中的Diag高2比特情况,把发送给网络设备A的BFD控制报文中的状态置Init,同时把Diag高2比特置为00。
第三步:网络设备A接收到网络设备B发送的状态为Down的BFD控制报文,把发送给网络设备B的BFD控制报文中的状态置Init,向网络设备B发送状态为Init的BFD控制报文。
具体地,通过网络设备B的BFD控制报文中的My Discriminator确定是否与网络设备A的本地会话中的My Discriminator相匹配,如果匹配,则进行第二步中所述的三种情况检测,并把状态置为Init。
第四步:网络设备B接收到网络设备A发送的状态为Init的BFD控制报文,把发送给网络设备A的BFD控制报文中的状态置为会话正常(英文:UP),向网络设备A发送状态为UP的BFD控制报文。
第五步:网络设备A接收到网络设备B发送的状态为Init的BFD控制报文,把发送给网络设备B的BFD控制报文中的状态置为UP,向网络设备B发送状态为UP的BFD控制报文。
通过该会话协商建立过程,可以看出两端的网络设备同时支持本申请提供的均匀发送机制,如果两端有一个网络设备不支持该机制,仍然使用现有的报文传输机制,即在一条固定的传输路径上发送报文。
结合上述图3所示实施例,以下对本申请提出的均匀发送机制在两种应用场景下进行举例说明:
应用场景1,两个网络设备之间的多条传输路径是指第一网络设备与第二网络设备之间的多条链路,以下结合图2说明报文传输的具体过程:
示例性地,以网络设备A作为发送端,网络设备D作为接收端进行说明,此时网络设备A、网络设备B、网络设备C与网络设备D均需要支持本申请提供的均匀发送机制。
网络设备A周期性地发送BFD控制报文,可以对BFD控制报文中的Diag的高2比特进行设置。在发送第一个BFD控制报文时,Diag的高2比特设置为00;在发送第二个BFD控制报文时,Diag的高2比特设置为01;在发送第三个BFD控制报文时,Diag的高2比特设置为10;在发送第四个BFD控制报文时,Diag的高2比特设置为11;在发送第五个BFD控制报文时,Diag的高2比特设置为00,……,网络设备A发送BFD控制报文中的Diag高2比特设置依此类推。其中,网络设备A每发送一次BFD控制报文,均能记录其相应的Diag的高2比特的取值。
BFD控制报文中的五元组以及Diag的高2比特与随机数的乘积共同组成6个维度,其中随机数的取值范围为(1,65535)。网络设备B根据网络设备A发送的BFD控制报文中的这6个维度进行散列,此时从网络设备A发送的BFD控制报文经过散列后会散列到链路1或链路2上,从网络设备A向网络设备D传输的BFD控制报文既可能在链路1上传输,又可能在链路2上传输。一旦链路1或链路2发生故障时,网络设备D能从另一条链路接收到从网络设备A传输而来的BFD控制报文,只有当两条链路都发生故障时,网络设备D才无法接收到从网络设备A传输而来的BFD控制报文。因此,网络设备A跟网络设备D之间的BFD控制报文传输不会出现BFD误报的问题。
应用场景2,两个网络设备之间的多条传输路径是指第一网络设备与第二网络设备之间的等价路由路径,以下结合图4A和图4B说明报文传输的具体过程:
其中,图4A和图4B的区别在于,在图4B中,在DUT2与DUT4之间增设二层交换机进行链接,使得在DUT2与DUT4之间的链路出问题后无法被快速感知。
示例性地,以DUT1作为发送端,DUT4作为接收端进行说明。
通过配置开放式最短路径优先(英文:Open Shortest Path First,缩写为OSPF)协议,且所有路径的路径开销相同,基本路由被打通,从而在DUT1到DUT4形成两条等价路由路径,分别是DUT1—DUT2—DUT4,DUT1—DUT3—DUT4。示例性地,DUT1与DUT4使用回环地址建立BFD会话。在DUT1和DUT4上配置BFD应用于边界网关协议(英文:Border GatewayProtocol,缩写为BGP),其中BFD控制报文的发送间隔与接收间隔为10ms,BFD检测报文次数为3次;My Discriminator设定为100,Your Discriminator也设定为100,从而快速检测BGP邻居关系状态,即建立BFD会话关系的DUT1与DUT4状态。设定在DUT1和DUT4之间互相发送1万条BGP路由。
现有的BFD检测过程具体为:
BFD控制报文在DUT1上被散列到两条路径上的其中一条路径上,例如散列到DUT1—DUT2—DUT4这条路径上。DUT1周期性地发送BFD控制报文,如图4B所示,当DUT2与二层交换机之间的路径出现故障,此时DUT1无法快速感知到DUT1—DUT2—DUT4路径已经故障,DUT1仍然按照DUT1—DUT2—DUT4发送BFD控制报文。而一旦DUT4在30ms(10ms*3)内没有接收到DUT1发送的BFD控制报文,DUT4上的BFD应用于BGP的状态就变为Down,DUT1上的BFD应用于BGP的状态也就变为Down,DUT4上会把DUT1的1万条BGP路由撤销。
随着内部网关协议(英文:Interior Gateway Protocol,缩写为IGP)路由的收敛,即IGP路由从原来图4B所示的菱形拓扑刷新到与DUT2—DUT4的链路故障后的直线型拓扑相一致时,DUT1可以感知到DUT1—DUT2—DUT4路径故障,此时,DUT1发送的BFD控制报文通过DUT1—DUT3—DUT4这条路径发送至DUT4。相应地,BFD应用于BGP状态置为UP,DUT1上的BFD应用于BGP的状态就变为UP,DUT4重新从DUT1上学习1万条BGP路由。
可见,现有的BFD检测方式会误报Down,并且路由会频繁变化,导致BGP路由出现震荡。
本申请提出的BFD检测过程具体为:
示例性地,以DUT1作为发送端,DUT4作为接收端进行说明,此时DUT1与DUT4需要支持本申请提供的均匀发送机制。
DUT1到DUT4形成两条等价路由路径,分别是DUT1—DUT2—DUT4,DUT1—DUT3—DUT4。当DUT1发送BFD控制报文时,对Diag的高2比特进行置位,此时第一个BFD控制报文为00,第二个BFD控制报文为01,第三个BFD控制报文为10,第四个BFD控制报文为11,第五个BFD控制报文为00,第六个BFD控制报文为01,......,后续的BFD控制报文依此类推。BFD控制报文中的五元组以及Diag的高2比特与随机数的乘积共同组成6个维度,其中随机数的取值范围为(1,65535)。DUT1针对BFD控制报文中的这6个维度进行散列,从而使DUT1上发送的BFD控制报文能够被均匀地散列到所有的ECMP路径上进行发送,进而让DUT4可以从DUT2和DUT3接收到BFD控制报文,而不是单一的路由器上接收到BFD控制报文。
DUT1周期性地发送BFD控制报文,当DUT1发送第一个BFD控制报文时,该控制报文的Diag高2比特为00。在DUT4接收到DUT1传输过来的BFD控制报文后,需要通过MyDiscriminator和Your Discriminator判断该BFD控制报文具体对应的BFD会话。
在接收到DUT1的BFD控制报文之前,DUT4的BFD计数表为空,接收到第一个DUT1的BFD控制报文后,开始填写BFD计数表,并启动定时器,此时定时器的定时时长定义为:DUT1的BFD控制报文发送间隔*BFD检查包数,具体地,BFD检查包数是在BFD会话建立过程协商得到的。BFD计数表如下表1所示。
表1
My Discriminator | Your Discriminator | 定时器 |
100 | 100 | 30ms |
当DUT1发送第二个BFD控制报文时,该控制报文的Diag高2比特为01,在该控制报文到达DUT4后,通过Discriminator可以在BFD计数表中查到相应的记录,BFD计数表把定时器重新置位30ms,此时的BFD计数表如下表2所示。
表2
当DUT2与二层交换机之间的链路出现故障,DUT1没有快速感知到,BFD控制报文还是会被散列到DUT1—DUT2—DUT4、DUT1—DUT3—DUT4这两个路径上分别发送。由于DUT2—DUT4之间的链路故障,通过DUT1—DUT2—DUT4发送的BFD控制报文,在DUT2—DUT4之间被丢弃;而通过DUT1—DUT3—DUT4路径的BFD控制报文仍然可以到达DUT4,BFD计数表中的“定时器”不会出现超时的情况,BFD应用于BGP能始终保持UP状态,从而能够避免出现误报Down的情况,提升了BFD检测的正确性。
本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明实施例还提供一种装置600,参见图6所示,图6为应用于第一网络设备中的装置600,装置600包括:生成单元610、确定单元620和收发单元630。
收发单元630可以包括接收单元和发送单元。生成单元610和确定单元620用于对装置600的动作进行控制管理。收发单元630用于支持装置600与其他装置的通信。可选地,装置600还可以包括存储单元,所述存储单元用于存储装置600的程序代码和数据。
可选地,所述装置600中各个单元可以是通过软件来实现。
可选地,生成单元610和确定单元620可以是处理器或控制器,收发单元630可以是通信接口、收发器或收发电路等,其中,该通信接口是统称,在具体实现中,该通信接口可以包括多个接口,存储单元可以是存储器。
在一种可能的实现方式中,装置600为第一网络设备;
生成单元610,用于生成BFD控制报文;
确定单元620,用于根据所述BFD控制报文中的预留比特位的取值从所述装置与第二网络设备之间的多条传输路径中确定第一传输路径,其中,所述多条传输路径分别对应的所述预留比特位的取值不同;
收发单元630,用于通过所述第一传输路径向所述第二网络设备发送所述BFD控制报文,以使所述第二网络设备若在定时器的定时时长内通过所述第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;若在所述定时器的定时时长内未通过所述多条传输路径中接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
可选地,所述多条传输路径是指所述装置600与所述第二网络设备之间的多条链路,或者所述装置600与所述第二网络设备之间的多条等价路由路径;所述预留比特位为所述BFD控制报文中的诊断字中的预留比特位。
可选地,所述确定单元620,用于在根据所述BFD控制报文中的预留比特位的取值从所述装置600与第二网络设备之间的多条传输路径中确定第一传输路径时,获取所述BFD控制报文中的五元组;根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径。
可选地,所述确定单元620,用于在根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径时,获取随机数;采用所述哈希算法对所述预留比特位的取值、所述五元组和所述随机数进行哈希运算,得到哈希值;从所述多条传输路径中选取所述哈希值对应的传输路径,得到第一传输路径。
本发明实施例还提供一种装置700,参见图7所示,图7为应用于第二网络设备中的装置700,装置700包括处理单元710和收发单元720。
收发单元720可以包括接收单元和发送单元。处理单元710用于对装置700的动作进行控制管理。收发单元720用于支持装置700与其他装置的通信。可选地,装置700还可以包括存储单元,所述存储单元用于存储装置700的程序代码和数据。
可选地,所述装置700中各个单元可以是通过软件来实现。
可选地,处理单元710可以是处理器或控制器,收发单元720可以是通信接口、收发器或收发电路等,其中,该通信接口是统称,在具体实现中,该通信接口可以包括多个接口,存储单元可以是存储器。
在一种可能的实现方式中,装置700为第二网络设备;
收发单元720,用于监测在定时器的定时时长内是否通过与第一网络设备之间的多条传输路径中的任意一条传输路径接收到BFD控制报文;
处理单元710,用于在若在所述定时器的定时时长内通过所述多条传输路径中的第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;其中,所述BFD控制报文是所述第一网络设备生成、并根据所述BFD控制报文中的预留比特位的取值从所述多条传输路径中确定所述第一传输路径后,通过所述第一传输路径发送的,所述多条传输路径分别对应的所述预留比特位的取值不同;
所述处理单元710,用于若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则通过收发单元发送故障通知消息,以指示所述多条传输路径出现故障。
可选地,所述多条传输路径是指所述第一网络设备与所述装置700之间的多条链路,或者所述第一网络设备与所述装置700之间的多条等价路由路径。
本发明实施例还提供另一种装置800,参见图8所示,包括:
通信接口801,存储器802以及处理器803;
其中,所述通信装置800通过所述通信接口801与其它网络设备进行通信,比如收发消息;存储器802,用于存储程序指令;处理器803,用于调用所述存储器802中存储的程序指令,按照获得的程序执行的方法。
在一种可能的实现方式中,装置800为第一网络设备;
处理器803调用通信接口801和存储器802存储的程序指令执行:
生成双向转发检测BFD控制报文;根据所述BFD控制报文中的预留比特位的取值从所述第一网络设备与第二网络设备之间的多条传输路径中确定第一传输路径,其中,所述多条传输路径分别对应的所述预留比特位的取值不同;通过所述第一传输路径向所述第二网络设备发送所述BFD控制报文,以使所述第二网络设备若在定时器的定时时长内通过所述第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
可选地,所述多条传输路径是指所述装置800与所述第二网络设备之间的多条链路,或者所述装置800与所述第二网络设备之间的多条等价路由路径;所述预留比特位为所述BFD控制报文中的诊断字中的预留比特位。
可选地,根据所述BFD控制报文中的预留比特位的取值从所述装置800与第二网络设备之间的多条传输路径中确定第一传输路径时,获取所述BFD控制报文中的五元组;根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径。
可选地,根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径时,获取随机数;采用所述哈希算法对所述预留比特位的取值、所述五元组和所述随机数进行哈希运算,得到哈希值;从所述多条传输路径中选取所述哈希值对应的传输路径,得到第一传输路径。
在一种可能的实现方式中,装置800为第二网络设备;
处理器803调用通信接口801和存储器802存储的程序指令执行:
监测在定时器的定时时长内是否通过与第一网络设备之间的多条传输路径中的任意一条传输路径接收到BFD控制报文;
若在所述定时器的定时时长内通过所述多条传输路径中的第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;其中,所述BFD控制报文是所述第一网络设备生成、并根据所述BFD控制报文中的预留比特位的取值从所述多条传输路径中确定所述第一传输路径后,通过所述第一传输路径发送的,所述多条传输路径分别对应的所述预留比特位的取值不同;
若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
可选地,所述多条传输路径是指所述第一网络设备与所述装置800之间的多条链路,或者所述第一网络设备与所述装置800之间的多条等价路由路径。
本发明实施例中不限定上述通信接口801、存储器802以及处理器803之间的具体连接介质,比如总线,总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本发明实施例中,存储器可以是非易失性存储器,比如硬盘(英文:hard diskdrive,缩写为HDD)或固态硬盘(英文:solid-state drive,缩写为SSD)等,还可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写为RAM)。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本发明实施例还提供一种计算机可读存储介质,包括程序代码,当程序代码在计算机上运行时,程序代码用于使计算机执行上述本发明实施例上述提供的方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种报文传输方法,应用于第一网络设备中,其特征在于,该方法包括:
生成双向转发检测BFD控制报文;
根据所述BFD控制报文中的预留比特位的取值从所述第一网络设备与第二网络设备之间的多条传输路径中确定第一传输路径,其中,所述多条传输路径分别对应的所述预留比特位的取值不同;
通过所述第一传输路径向所述第二网络设备发送所述BFD控制报文,以使所述第二网络设备若在定时器的定时时长内通过所述第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
2.如权利要求1所述的方法,其特征在于,所述多条传输路径是指所述第一网络设备与所述第二网络设备之间的多条链路,或者所述第一网络设备与所述第二网络设备之间的多条等价路由路径;
所述预留比特位为所述BFD控制报文中的诊断字中的预留比特位。
3.如权利要求1或2所述的方法,其特征在于,根据所述BFD控制报文中的预留比特位的取值从所述第一网络设备与第二网络设备之间的多条传输路径中确定第一传输路径,包括:
获取所述BFD控制报文中的五元组;
根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径。
4.如权利要求3所述的方法,其特征在于,根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径,包括:
获取随机数;
采用所述哈希算法对所述预留比特位的取值、所述五元组和所述随机数进行哈希运算,得到哈希值;
从所述多条传输路径中选取所述哈希值对应的传输路径,得到第一传输路径。
5.一种报文传输方法,应用于第二网络设备中,其特征在于,该方法包括:
监测在定时器的定时时长内是否通过与第一网络设备之间的多条传输路径中的任意一条传输路径接收到BFD控制报文;
若在所述定时器的定时时长内通过所述多条传输路径中的第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;其中,所述BFD控制报文是所述第一网络设备生成、并根据所述BFD控制报文中的预留比特位的取值从所述多条传输路径中确定所述第一传输路径后,通过所述第一传输路径发送的,所述多条传输路径分别对应的所述预留比特位的取值不同;
若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
6.如权利要求5所述的方法,其特征在于,所述多条传输路径是指所述第一网络设备与所述第二网络设备之间的多条链路,或者所述第一网络设备与所述第二网络设备之间的多条等价路由路径。
7.一种报文传输装置,其特征在于,应用于第一网络设备中,该装置包括:
生成单元,用于生成双向转发检测BFD控制报文;
确定单元,用于根据所述BFD控制报文中的预留比特位的取值从所述装置与第二网络设备之间的多条传输路径中确定第一传输路径,其中,所述多条传输路径分别对应的所述预留比特位的取值不同;
收发单元,用于通过所述第一传输路径向所述第二网络设备发送所述BFD控制报文,以使所述第二网络设备若在定时器的定时时长内通过所述第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则发送故障通知消息,以指示所述多条传输路径出现故障。
8.如权利要求7所述的装置,其特征在于,所述多条传输路径是指所述装置与所述第二网络设备之间的多条链路,或者所述装置与所述第二网络设备之间的多条等价路由路径;
所述预留比特位为所述BFD控制报文中的诊断字中的预留比特位。
9.如权利要求7或8所述的装置,其特征在于,所述确定单元,用于在根据所述BFD控制报文中的预留比特位的取值从所述装置与第二网络设备之间的多条传输路径中确定第一传输路径时,获取所述BFD控制报文中的五元组;根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径。
10.如权利要求9所述的装置,其特征在于,所述确定单元,用于在根据所述预留比特位的取值和所述BFD控制报文中的五元组采用哈希算法从所述多条传输路径中确定所述第一传输路径时,获取随机数;采用所述哈希算法对所述预留比特位的取值、所述五元组和所述随机数进行哈希运算,得到哈希值;从所述多条传输路径中选取所述哈希值对应的传输路径,得到第一传输路径。
11.一种报文传输装置,其特征在于,应用于第二网络设备中,该装置包括:
收发单元,用于监测在定时器的定时时长内是否通过与第一网络设备之间的多条传输路径中的任意一条传输路径接收到BFD控制报文;
处理单元,用于在若在所述定时器的定时时长内通过所述多条传输路径中的第一传输路径接收到所述BFD控制报文,则设置所述定时器重新开始计时;其中,所述BFD控制报文是所述第一网络设备生成、并根据所述BFD控制报文中的预留比特位的取值从所述多条传输路径中确定所述第一传输路径后,通过所述第一传输路径发送的,所述多条传输路径分别对应的所述预留比特位的取值不同;
所述处理单元,用于若在所述定时器的定时时长内未通过所述多条传输路径接收到所述BFD控制报文,则通过所述收发单元发送故障通知消息,以指示所述多条传输路径出现故障。
12.如权利要求11所述的装置,其特征在于,所述多条传输路径是指所述第一网络设备与所述装置之间的多条链路,或者所述第一网络设备与所述装置之间的多条等价路由路径。
13.一种报文传输装置,其特征在于,该装置包括处理器和接口电路,所述接口电路用于接收来自所述装置之外的其它装置的信号并传输至所述处理器或将来自所述处理器的信号发送给所述装置之外的其它装置,所述处理器通过逻辑电路或执行代码指令用于实现如权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436517.6A CN118101516A (zh) | 2022-11-16 | 2022-11-16 | 一种报文传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436517.6A CN118101516A (zh) | 2022-11-16 | 2022-11-16 | 一种报文传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118101516A true CN118101516A (zh) | 2024-05-28 |
Family
ID=91146323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211436517.6A Pending CN118101516A (zh) | 2022-11-16 | 2022-11-16 | 一种报文传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118101516A (zh) |
-
2022
- 2022-11-16 CN CN202211436517.6A patent/CN118101516A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9917745B2 (en) | Validation of chained network services | |
JP4840236B2 (ja) | ネットワークシステム及びノード装置 | |
EP1863225A1 (en) | A method for detecting link fault between end-to-end nodes in a hybrid network | |
JP2006229967A (ja) | 高速マルチキャスト・パス切り替え | |
US20150215156A1 (en) | Method and apparatus for network failure restoration | |
JP7124206B2 (ja) | パケット処理方法およびゲートウェイ・デバイス | |
CN109873719B (zh) | 一种故障检测方法及装置 | |
CN106603261B (zh) | 热备份方法、第一主用设备、备用设备和通信系统 | |
CN108632099B (zh) | 一种链路聚合的故障检测方法及装置 | |
US20140043960A1 (en) | Method, tor switch, and system for implementing protection switchover based on trill network | |
CN110086711B (zh) | 流量回切方法、装置、电子设备及可读存储介质 | |
US10523547B2 (en) | Methods, systems, and computer readable media for multiple bidirectional forwarding detection (BFD) session optimization | |
US20170272339A1 (en) | Method and apparatus for detecting connectivity | |
US8971195B2 (en) | Querying health of full-meshed forwarding planes | |
CN109150659B (zh) | 一种处理器及bfd报文传输方法 | |
CN109495345B (zh) | 一种bfd处理方法及网络设备 | |
WO2016091156A1 (zh) | 节点故障的判断方法及装置 | |
US20060002306A1 (en) | Failure detection of path information corresponding to a transmission path | |
US20080267080A1 (en) | Fault Verification for an Unpaired Unidirectional Switched-Path | |
CN106817267B (zh) | 一种故障检测方法和设备 | |
WO2021143524A1 (zh) | 一种故障检测方法及设备 | |
US10033573B2 (en) | Protection switching method, network, and system | |
CN107948000B (zh) | 一种主备通道的切换方法、装置及系统 | |
CN108259254B (zh) | 一种路径质量检测方法及网络设备 | |
CN118101516A (zh) | 一种报文传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |