一种SBFD会话的建立方法、设备及系统与流程

文档序号:24155040发布日期:2021-03-05 11:02阅读:426来源:国知局
一种SBFD会话的建立方法、设备及系统与流程
一种sbfd会话的建立方法、设备及系统
技术领域
[0001]
本申请涉及通信技术领域,尤其涉及一种无缝双向转发检测(seamless bfd,sbfd)会话的建立方法、设备及系统。


背景技术:

[0002]
段路由(segment routing,sr)是基于源路由理念而设计的在网络上转发数据包的一种协议。sr多协议标签交换(multi-protocol label switch,mpls)是指基于mpls转发平面的segment routing。分段路由尽力而为(segment routing-best effort,sr-be)是使用sr作为控制协议的一种新型的隧道技术。sr-be基于内部网关协议(interior gateway protocol,igp)、通过最短路径优先(shortest path first,spf)计算得到最优sr标签交换路径(label switched path,lsp)。采用了sr-be的隧道可以根据首节点的mpls标签控制报文在网络中的传输路径。sr-be隧道用于面向无连接的、mesh业务承载,提供任意拓扑业务连接并简化隧道规划和部署。
[0003]
sr-be隧道的故障检测需要依靠部署双向转发检测(bidirectional forwarding detection,bfd)机制实现。当网络中出现网络设备节点故障时,根据bfd的检测结果实现快速切换。无缝双向转发检测(seamless bfd,sbfd)简化了bfd的状态机,缩短了协商时间,提高了整个网络的灵活性,能够支撑sr-be隧道检测。
[0004]
在实际的网络场景中,sr-be隧道是基于网络中端到端的网络设备建立的,每条sr-be隧道两端的网络设备均使能sbfd机制。因此,sr-be隧道中只要存在sr-be业务,sr-be隧道两端的网络设备就会建立sbfd会话。然而,只有具备节点保护机制的网络设备需要根据sbfd会话的检测结果实现故障快速切换。这样,网络中,可能存在大量无用的sbfd会话,从而造成网络中带宽资源的浪费。


技术实现要素:

[0005]
有鉴于此,本申请实施例提供了一种sbfd会话的建立方法、设备及系统。在网络中,第一网络设备接收第二网络设备发送的sbfd信息,从而根据所述sbfd信息确定避免为隧道创建sbfd会话,其中,所述隧道是从所述第一网络设备到所述第二网络设备的隧道,从而,减少所述网络中的sbfd会话的数量。
[0006]
本申请实施例提供的技术方案如下。
[0007]
第一方面,提供了一种sbfd会话的建立方法,所述方法包括,第一网络设备接收第二网络设备发送的第一报文,所述第一报文包括sbfd信息。其中,所述sbfd信息用于指示所述第一报文的目的地址对应的网络设备确定是否为隧道建立sbfd会话,所述隧道是从所述第一网络设备到所述第二网络设备的隧道,所述sbfd会话用于检测所述隧道的状态,所述目的地址是所述第一网络设备的地址。然后,所述第一网络设备获取所述第一报文中的所述sbfd信息,并所述sbfd信息确定所述第一网络设备是否为所述隧道建立所述sbfd会话。当所述第一网络设备根据所述sbfd信息确定所述第一网络设备不需要为所述隧道建立所
述sbfd会话时,所述第一网络设备避免创建所述sbfd会话。
[0008]
基于实施例提供的方案,在实际网络场景中,第一网络设备接收第二网络设备发送的sbfd信息,从而根据所述sbfd信息确定是否需要为隧道创建sbfd会话,其中,所述隧道是从所述第一网络设备到所述第二网络设备的隧道,从而,避免创建不必要的sbfd会话,减少所述网络中的sbfd会话的数量。
[0009]
在第一方面的一种可能的实现方式中,当所述第一网络设备根据所述sbfd信息确定所述第一网络设备需要为所述隧道建立所述sbfd会话时,所述第一网络设备创建所述sbfd会话。
[0010]
可选的,所述第一网络设备创建所述sbfd会话,包括:向所述第二网络设备发送sbfd报文,所述sbfd报文用于请求建立所述sbfd会话;接收所述第二网络设备发送的针对所述sbfd报文的sbfd回应报文,所述sbfd回应报文指示所述第二网络设备处于工作状态;和,根据所述sbfd回应报文将所述第一网络设备的对应所述隧道的端口设置为up状态。
[0011]
可选的,在所述第一网络设备根据所述sbfd回应报文将所述第一网络设备的对应所述隧道的端口设置为up状态之后,所述方法包括:所述第一网络设备向所述第二网络设备发送sbfd回声报文,所述sbfd回声报文用于检测所述隧道的状态。
[0012]
第二方面,提供了一种sbfd会话的建立方法,所述方法包括,第二网络设备生成第一报文,所述第一报文包括sbfd信息。其中,所述sbfd信息用于指示所述第一报文的目的地址对应的网络设备确定是否为隧道建立sbfd会话,所述隧道是从第一网络设备到所述第二网络设备的隧道,所述sbfd会话用于检测所述隧道的状态,所述目的地址是所述第一网络设备的地址。然后,所述第二网络设备向所述第一网络设备发送所述第一报文,其中,所述第一报文中的所述sbfd信息用于阻止所述第一网络设备建立针对所述隧道的sbfd会话。
[0013]
基于实施例提供的方案,在实际网络场景中,第一网络设备接收第二网络设备发送的sbfd信息,从而根据所述sbfd信息确定是否需要为隧道创建sbfd会话,其中,所述隧道是从所述第一网络设备到所述第二网络设备的隧道,从而,避免创建不必要的sbfd会话,减少所述网络中的sbfd会话的数量。
[0014]
在上述第一方面或第二方面中,可选的,所述第一报文是基于中间系统到中间系统(intermediate system to intermediate system,is-is)协议的链路状态协议数据单元(link state protocol data unit,lsp)报文,或者所述第一报文是基于开放式最短路径优先(open shortest path first,ospf)协议的链路状态更新(link state update,lsu),所述第一报文还包括所述第二网络设备的段标识(segment identifier,sid),所述隧道的目的地址为对应所述sid的地址。进一步可选的,所述第一报文包括标志字段,所述标志字段用于承载所述sbfd信息。
[0015]
可选的,所述隧道是sr-be隧道。
[0016]
第三方面,提供了一种第一网络设备,所述第一网络设备具有实现上述方法中第一网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0017]
在一个可能的设计中,第一网络设备的结构中包括处理器和接口,所述处理器被配置为支持第一网络设备执行上述方法中相应的功能。所述接口用于支持第一网络设备与第二网络设备之间的通信,向第二网络设备发送上述方法中所涉及的信息或者指令,或者
从第二网络设备接收上述方法中所涉及的信息或者指令。所述第一网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一网络设备必要的程序指令和数据。
[0018]
在另一个可能的设计中,所述第一网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备进入正常运行状态。在第一网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
[0019]
第四方面,提供一种第一网络设备,所述第一网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一网络设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述第一网络设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
[0020]
第五方面,提供一种第一网络设备,所述第一网络设备包括控制器和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第四方面中的接口板的功能,进一步,还可以执行第四方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第四方面中主控板的功能。
[0021]
第六方面,提供了一种计算机存储介质,用于储存为上述第一网络设备所用的程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成上述方面中第一网络设备的功能或步骤。
[0022]
第七方面,提供了一种第二网络设备,所述第二网络设备具有实现上述方法中第二网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0023]
在一个可能的设计中,第二网络设备的结构中包括处理器和接口,所述处理器被配置为支持第二网络设备执行上述方法中相应的功能。所述接口用于支持第二网络设备与第一网络设备之间的通信,向所述第一网络设备发送上述方法中所涉及的信息或者指令,或者从所述第一网络设备接收上述方法中所涉及的信息或者指令。所述第二网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第二网络设备必要的程序指令和数据。
[0024]
在另一个可能的设计中,所述第二网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第二网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第二网络设备进入正常运行状态。在第二网络设备进入正常运行状态后,在随机存取存储器中运行应用
程序和操作系统,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
[0025]
第八方面,提供一种第二网络设备,所述第二网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第二网络设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述第二网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
[0026]
第九方面,提供一种第二网络设备,所述第二网络设备包括控制器和第二转发子设备。所述第二转发子设备包括:接口板,进一步,还可以包括交换网板。所述第二转发子设备用于执行第八方面中的接口板的功能,进一步,还可以执行第八方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第八方面中主控板的功能。
[0027]
第十方面,提供了一种计算机存储介质,用于储存为上述第二网络设备所用的程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成上述方面中第二网络设备的功能或步骤。
[0028]
第十一方面,提供一种处理报文的系统,所述系统包括第一网络设备和第二网络设备,所述第一网络设备为前述第三方面或第四方面或第五方面中的第一网络设备,所述第二网络设备为前述第七方面或第八方面或第九方面中的第二网络设备。
[0029]
通过上述方案,在实际网络场景中,第一网络设备接收第二网络设备发送的sbfd信息,从而根据所述sbfd信息确定是否需要为隧道创建sbfd会话,其中,所述隧道是从所述第一网络设备到所述第二网络设备的隧道,从而,避免创建不必要的sbfd会话,减少所述网络中的sbfd会话的数量。
附图说明
[0030]
图1为本申请实施例的一种网络结构示意图;
[0031]
图2为本申请实施例的一种sr-be隧道的检测方法流程图;
[0032]
图3为本申请实施例的另一种sr-be隧道的检测方法流程图;
[0033]
图4为本申请实施例的第一网络设备的结构示意图;
[0034]
图5为本申请实施例的第一网络设备的硬件结构示意图;
[0035]
图6为本申请实施例的另第一网络设备的硬件结构示意图;
[0036]
图7为本申请实施例的第二网络设备的结构示意图;
[0037]
图8为本申请实施例的第二网络设备的硬件结构示意图;
[0038]
图9为本申请实施例的另第二网络设备的硬件结构示意图。
具体实施方式
[0039]
下面通过具体实施例,分别进行详细的说明。
[0040]
图1为本申请实施例的一种网络结构示意图。示例性的,图1涉及一种分层虚拟专用网(hierarchy virtual private network,hvpn)。所述hvpn包括基站侧网关(cell site gateway,csg),汇聚侧网关(aggregation site gateway,asg)和基站控制器侧网关(radio network controller site gateway,rsg)。图1中示出了4台csg设备,分别为csg1,csg2,csg3和csg4。csg1通过通信链路与csg2通信,csg2通过通信链路与csg3通信,csg3通过通信链路与csg4通信。csg1,csg2,csg3和csg4分别可以连接一个或多个基站。图1中示出了2台asg设备,分别为asg1和asg2。asg1通过通信链路与asg2通信。在hvpn中,asg2是asg1的冗余设备。csg1通过通信链路与asg1通信,csg4通过通信链路与asg2通信。图1中示出了2台rsg设备,分别为rsg1和rsg2。rsg1通过通信链路与rsg2通信。在hvpn中,rsg2是rsg1的冗余设备。asg1通过通信链路与rsg1通信,asg4通过通信链路与rsg2通信。其中,rsg1和rsg2可以分别连接数据中心(data center,dc)中的服务器。
[0041]
在实施例中,数据流量从图1中的csg设备发送到rsg设备。示例性的,以csg1向rsg1发送数据流量为例进行说明。根据前述,asg2是asg1的冗余设备。也就是说,asg1是所述hvpn中的主用asg设备,asg2是所述hvpn中的备用asg设备。在正常情况下,csg1发送的数据流量经由asg1到达rsg1。当asg1发生故障时,asg1和asg2之间发生主备切换,asg1切换成备用asg设备,asg2切换成主用asg设备。然后,csg1发送的数据流量经由csg2,csg3,csg4,asg2和rsg2,到达rsg1。同样道理,在图1中rsg2也可以作为rsg1的备用rsg设备,具体工作方式同图1中的asg设备,此处不进行赘述。
[0042]
在图1所示的hvpn中,可以应用隧道方式传输数据流量。可选的,所述隧道是sr-be隧道。在本申请实施方式中,以sr-be隧道为例进行说明,应当理解,本申请的方案也可以应用于其他类型的隧道。其中,sr-be隧道是基于端到端设备建立的,也就是说,只要存在sr-be数据流量业务,均需要建立sr-be隧道。举例说明,csg1分别建立到图1中的csg2,csg3,csg4,asg1,asg2,rsg1和rsg2的sr-be隧道。同样道理,csg2分别建立到图1中的csg1,csg3,csg4,asg1,asg2,rsg1和rsg2的sr-be隧道;csg3分别建立到图1中的csg1,csg2,csg4,asg1,asg2,rsg1和rsg2的sr-be隧道;csg4分别建立到图1中的csg1,csg2,csg3,asg1,asg2,rsg1和rsg2的sr-be隧道。asg1,asg2,rsg1和rsg2建立sr-be隧道的方式与csg设备建立sr-be隧道的方式类似,此处不进行赘述。
[0043]
sbfd会话用于检测sr-be隧道的故障。基于sbfd会话机制检测csg1到asg1的sr-be隧道的故障为例进行说明。为方便说明,使用sr-be1隧道表示从csg1到asg1的sr-be隧道。csg1是sbfd会话的发起端,也可以成为检测端。csg1中的sbfd状态机的初始状态为down状态,也就是说,csg1对应sr-be1隧道的端口的状态为down状态。具体的,csg1对应sr-be1隧道的端口相对于sbfd协议的协议状态为down状态。csg1经由sr-be1隧道向asg1发送第一sbfd报文,所述第一sbfd报文用于向所述第二网络设备请求建立所述sbfd会话。其中,所述第一sbfd报文携带down状态信息。asg1是所述sbfd会话的反射端。asg1接收到所述第一sbfd报文后,确定所述第一sbfd报文中的对端识别符(your discriminator,yd)与asg1本地保存的识别符是否匹配。其中所述第一sbfd报文中的yd用于指示asg1。当asg1确定两者匹配和所述第一sbfd报文携带的所述down状态信息后,asg1确定asg1是否处于工作状态。如果asg1处于工作状态,asg1经由sr-be隧道向csg1发送第一sbfd报文的第一sbfd回应报文;如果asg1处于非工作状态,asg1不发送第一sbfd回应报文,并且丢弃所述第一sbfd报
文。其中,当asg1经由sr-be隧道向csg1发送第一sbfd报文的第一sbfd回应报文时,所述第一sbfd回应报文携带up状态信息,表示,csg1可以切换为up状态。csg1接收到所述第一sbfd回应报文后,根据所述第一sbfd回应报文携带的up状态信息,将csg1中的sbfd状态机由down状态切换为up状态,也就是说,csg1将csg1对应sr-be1隧道的端口的状态由down状态切换为up状态。然后,csg1间隔预定时长、周期性的向asg1发送sbfd回声报文(echo packet),其中所述预定时长例如是100毫秒。如果csg1能够周期性的接收到自身发送的sbfd回声报文,csg1可以确定sr-be1隧道或asg1工作正常。如果csg1在预定周期内没有收到自身发送的sbfd回声报文,csg1可以确定sr-be1隧道或asg1发生故障。当csg1确定sr-be1隧道或asg1发生故障后,触发asg设备的主备切换。具体的,asg1切换为备用asg设备,asg2切换为主用asg设备。并且,csg1不在通过sr-be1隧道发送数据流量,而是经由sr-be2隧道发送数据流量。其中,sr-be2隧道是从csg1到asg2的sr-be隧道。
[0044]
从上述实现方式可以看出,sr-be隧道在传输数据流量时,sr-be隧道的隧道端点设备(例如csg1)创建sbfd会话,并基于sbfd对话周期性的检测sr-be隧道的状态。如前述所示,csg1分别建立到图1中的csg2,csg3,csg4,asg1,asg2,rsg1和rsg2的sr-be隧道,总共7条sr-be隧道。相应的,csg1建立7个sbfd会话,分别对应上述7条sr-be隧道。假设在图1所示的hvpn场景中,只有asg设备需要实现主备保护,也就是说,asg1是主用asg设备,asg2是备用asg设备。如此这样,csg1需要周期性的检测从csg1到asg1的sr-be1隧道的隧道状态和周期性的检测从csg1到asg2的sr-be2隧道的隧道状态,以便,当sr-be1隧道或asg1发生故障时,csg1发送的数据流量能够快速从sr-be1隧道切换到sr-be2隧道。因此,从csg1分别到csg2,csg3,csg4,rsg1和rsg2的sr-be隧道上不需要建立相应的sbfd会话。也就是说,在上述实现方式中,csg1只需要建立基于sr-be1隧道和sr-be2隧道的sbfd会话,而不需要建立另外的5个sbfd会话。因此,现有的sr-be场景中,大量的无用sbfd会话被建立,这些sbfd会话导致网络带宽资源的浪费。
[0045]
本申请实施例提供了一种sbfd会话的建立方法、设备及系统。例如在图1所示的hvpn中,从csg1到asg1的sr-be1隧道被建立之后,asg1生成第一报文,所述第一报文包括sbfd信息,所述sbfd信息用于指示所述第一报文的目的地址对应的网络设备确定是否为隧道建立sbfd会话,其中,所述目的地址是所述第一网络设备的地址。也就是说,所述sbfd信息指示了是否启动对sr-be1隧道的检测机制。然后,asg1将所述第一报文发送到csg1。csg1接收到所述第一报文后,根据所述第一报文中的所述sbfd信息确定csg1是否为sr-be1隧道建立所述sbfd会话。如果csg1根据所述sbfd信息确定csg1不需要为sr-be1隧道建立sbfd会话,csg1避免创建所述sbfd会话。也就是说,csg1不向asg1发送第一sbfd报文,所述第一sbfd报文用于向asg1请求建立所述sbfd会话。具体的,csg1不会通知csg1中的sbfd状态机发送所述第一sbfd报文。相反,如果csg1根据所述sbfd信息确定需要为sr-be1隧道建立sbfd会话,csg1创建所述sbfd会话。也就是说,csg1会向asg1发送第二sbfd报文,所述第二sbfd报文用于向asg1请求建立所述sbfd会话。具体的,csg1会通知csg1中的sbfd状态机发送所述第二sbfd报文。
[0046]
举例说明,在图1所示的网络拓扑中,asg1可以向csg1,csg2,csg3和csg4分别发送携带有sbfd-1信息的第一报文。其中,sbfd-1信息指示了所述第一报文的目的地址对应的网络设备确定需要为相应的sr-be隧道建立sbfd会话。如此这样,csg1在从csg1到asg1的
path first,ospf)协议生成所述第一报文。具体的,所述第一报文是链路状态更新(link state update,lsu)报文。所述第一报文包括sid。具体的,lsu报文包括链路状态公告(link-state advertisement,lsa)信息,所述lsa信息包括所述sid,所述sid为prefix-sid。在sr-be的应用场景中,prefix-sid被用于路径计算。在传输数据流量前,首先需要配置prefix-sid,因此,所述第一报文可以被用于发布prefix-sid。示例性的,所述第一报文携带prefix-sid的方式,可以参见因特网工程任务组(internet engineering task force,ietf)的草案2:ospf extensions for segment routing(draft-ietf-ospf-segment-routing-extensions-27)中的相应定义,例如参见草案2中第5章节的描述。具体的,所述第一报文包括第二类型长度值(type-length-value,tlv)字段,所述第二tlv字段用于承载所述prefix-sid。所述第二tlv字段包括标志(flags)字段,所述标志字段长度为8位。所述标志字段用于承载所述sbfd信息。例如,所述标志字段的第6位或第7位用于承载所述sbfd信息。例如,当所述标志字段中的第6位的值取“1”时,表示使能sbfd会话对sr-be12隧道进行检测;当所述标志字段中的第6位的值取“0”时,表示不使能sbfd会话对sr-be12隧道进行检测。
[0053]
可选的,在上述两种可能的实现方式中,sr-be隧道的目的地址为对应所述sid的地址。具体的,第一网络设备与第二网络设备之间可能包括多条sr-be隧道。如此这样,第二网络设备可以包括多个sid,所述多个sid与所述多条sr-be隧道的目的地址一一对应。这样,第一网络设备可以根据sid的值确定需要针对所述多条sr-be隧道中的哪条sr-be隧道进行操作,也就是说,针对第一网络设备和第二网络设备之间的具体sr-be隧道确定是否需要创建sbfd会话。举例说明,第一网络设备与第二网络设备之间包括sr-be-1隧道、sr-be-2隧道和sr-be-3隧道。sr-be-1隧道的目的地址与sid-1对应,sr-be-2隧道的目的地址与sid-2对应,sr-be-3隧道的目的地址与sid-3对应。假设,第二网络设备向第一网络设备发送的第一报文中包括sid-2,那么,第一网络设备通过sid-2可以确定sr-be-2隧道的目的地址,从而,第一网络设备可以确定需要针对sr-be-2隧道进行操作,也就是说,确定是否需要为sr-be-2隧道创建sbfd会话。因此,通过上述实现方式,当第一网络设备和第二网络设备之间存在多条sr-be隧道时,可以针对其中的部分sr-be隧道实现sbfd会话创建过程。其中,sid可以是prefix-sid,sr-be隧道的目的地址可以是互联网协议(internet protocol,ip)地址。
[0054]
s102、所述第二网络设备向所述第一网络设备发送所述第一报文。
[0055]
csg2在生成所述第一报文之后,向图1所示网络结构中的其他网络设备发送所述第一报文,具体的csg2分别向csg1,csg3,csg4,asg1,asg2,rsg1和rsg2发送所述第一报文。举例说明,在is-is场景中,csg2分别向csg1,csg3,csg4,asg1,asg2,rsg1和rsg2发送lsp报文;在ospf场景中,csg2分别向csg1,csg3,csg4,asg1,asg2,rsg1和rsg2发送lsu报文。
[0056]
在本实施方式中,csg2没有被设置备用csg设备,也就是说,csg2没有相对应的保护设备。所述第一报文中的所述sbfd信息用于阻止csg1建立针对所述sr-be12隧道的sbfd会话。因此,到达csg2的sr-be隧道上不需要被建立sbfd会话。从而,csg2发送的所述第一报文中包括的sbfd信息的取值可以为“0”,以便阻止csg1发起针对所述sr-be12隧道的sbfd会话。
[0057]
s103、所述第一网络设备接收第二网络设备发送的所述第一报文。
[0058]
s104、所述第一网络设备根据所述sbfd信息确定所述第一网络设备是否为所述sr-be隧道建立所述sbfd会话。
[0059]
举例说明,csg1接收到csg2发送的所述第一报文后,解析所述第一报文,获取所述第一报文携带的所述sbfd信息。可选的,csg1可以根据所述第一报文中携带的prefix-sid确定所述第一报文是csg2发送的报文,也就是说,csg1可以根据所述第一报文中携带的prefix-sid确定所述sbfd信息是指示所述sr-be12隧道的检测信息。
[0060]
csg1根据所述sbfd信息确定是否需要为所述sr-be12隧道建立sbfd会话,也就是说,csg1根据所述sbfd信息的值确定在sr-be12隧道上是否建立sbfd会话。例如,所述sbfd信息的值为“1”,csg1确定在sr-be12隧道上建立sbfd会话;所述sbfd信息的值为“0”,csg1确定在sr-be12隧道上不建立sbfd会话。
[0061]
s105、当所述第一网络设备根据所述sbfd信息确定所述第一网络设备不需要为所述sr-be隧道建立所述sbfd会话时,所述第一网络设备避免创建所述sbfd会话。
[0062]
举例说明,根据前述,csg2没有被设置备用csg设备,也就是说,csg2没有相对应的保护设备。因此,到达csg2的sr-be隧道上不需要被建立sbfd会话。从而,csg2发送的所述第一报文中包括的sbfd信息的取值可以为“0”,以便阻止csg1创建针对所述sr-be12隧道的sbfd会话。当csg1根据所述sbfd信息确定不建立所述sr-be12隧道的sbfd会话时,csg1不向csg2发送所述第一sbfd报文。所述第一sbfd报文是建立sbfd会话的首报文,用于向csg2请求建立所述sbfd会话。csg1不向csg2发送所述第一sbfd报文,意味着,csg1不建立针对所述sr-be12隧道的sbfd会话。如此这样,csg2不会收到所述第一sbfd报文,从而,csg2也不会向csg1发送所述第一sbfd报文的第一sbfd回应报文。最终,针对所述sr-be12隧道的sbfd会话不会被建立。具体的,csg1中的处理器在确定所述sbfd信息的值为“0”后,不会向csg1中的sbfd状态机发送通知消息,这样,csg1中的sbfd状态机不会触发所述第一sbfd报文的生成和发送。
[0063]
同样的道理,csg2也可以分别向csg3,csg4,rsg1和rsg2发送所述第一报文,从而csg3,csg4,rsg1和rsg2也不会建立到达csg2的sr-be隧道的sbfd会话。从而,通过本申请的实施方式,大量的无用sbfd会话不会被建立,从而减少了网络带宽资源的占用。
[0064]
图3为本申请实施例的另一种sr-be隧道的检测方法流程图。图3所示的方法可以应用在图1所示的网络结构中。在本申请实施方式中,以sr-be隧道为例进行说明,应当理解,本申请的方案也可以应用于其他类型的隧道。在本实施方式中,以第一网络设备对应图1中的csg1,第二网络设备对应图1中的asg1为例进行说明。csg1和asg1之间建立有sr-be隧道,即sr-be11隧道。sr-be11隧道是从csg1到asg1的sr-be隧道。图3所示的方法包括s101-s112。图3中所示的s101、s102、s103和s104与图2中所示的s101、s102、s103和s104表述相同,此处不进行赘述。进一步,基于csg1和asg2对图3中的s101-s104进行举例说明的实现方式,类似于基于csg1和csg2对图2中的s101-s104进行举例说明,此处不进行赘述。
[0065]
s106、当所述第一网络设备根据所述sbfd信息确定所述第一网络设备需要为所述sr-be隧道建立sbfd会话时,所述第一网络设备创建所述sbfd会话。
[0066]
s107、所述第一网络设备向所述第二网络设备发送第二sbfd报文,所述第二sbfd报文用于向所述第二网络设备请求建立所述sbfd会话。
[0067]
举例说明,根据前述,asg2是asg1的冗余设备,也就是说,asg1是主用asg设备,
asg2是备用asg设备。因此,asg2是asg1的相对应的保护设备,那么,到达asg1的sr-be隧道上需要被建立sbfd会话。从而,asg1发送的所述第一报文中包括的sbfd信息的取值可以为“1”,以便csg1能够创建针对所述sr-be11隧道的sbfd会话。当csg1根据所述sbfd信息确定csg1需要为所述sr-be11隧道建立sbfd会话时,csg1向asg1发送所述第二sbfd报文。所述第二sbfd报文是建立sbfd会话的首报文,用于向asg1请求建立所述sbfd会话。csg1向asg1发送所述第二sbfd报文,意味着,csg1发起建立针对所述sr-be11隧道的sbfd会话的请求。具体的,csg1中的处理器在确定所述sbfd信息的值为“1”后,会向csg1中的sbfd状态机发送通知消息,这样,csg1中的sbfd状态机会触发所述第二sbfd报文的生成和发送。其中,根据前述实施方式的说明,所述第二sbfd报文携带down状态信息。
[0068]
s108、所述第二网络设备接收所述第一网络设备发送的所述第二sbfd报文。
[0069]
s109、所述第二网络设备向所述第一网络设备发送所述第二sbfd报文的第二sbfd回应报文,所述第二sbfd回应报文指示所述第二网络设备处于工作状态。
[0070]
举例说明,asg1是所述sbfd会话的反射端。asg1接收到所述第二sbfd报文后,确定所述第二sbfd报文中的对端yd与asg1本地保存的识别符是否匹配。其中所述第二sbfd报文中的yd用于指示asg1。当asg1确定两者匹配和所述第二sbfd报文携带的所述down状态信息后,asg1确定asg1是否处于工作状态。如果asg1处于工作状态,asg1经由sr-be11隧道向csg1发送第二sbfd报文的第二sbfd回应报文。其中,所述第二sbfd回应报文携带up状态信息,表示,csg1可以切换为up状态。
[0071]
s110、所述第一网络设备接收所述第二sbfd回应报文。
[0072]
s111、所述第一网络设备根据所述第二sbfd回应报文将所述第一网络设备的对应所述sr-be隧道的端口设置为up状态。
[0073]
s112、所述第一网络设备向所述第二网络设备发送sbfd回声报文,所述sbfd回声报文用于检测所述sr-be隧道的状态。
[0074]
举例说明,csg1接收到所述第二sbfd回应报文后,根据所述第二sbfd回应报文携带的up状态信息,将csg1中的sbfd状态机由down状态切换为up状态,也就是说,csg1将csg1的对应sr-be11隧道的端口的状态由down状态切换为up状态。然后,csg1间隔预定时长、周期性的向asg1发送sbfd回声报文,其中所述预定时长例如是100毫秒。如果csg1能够周期性的接收到自身发送的sbfd回声报文,csg1可以确定sr-be11隧道或asg1工作正常。如果csg1在预定周期内没有收到自身发送的sbfd回声报文,csg1可以确定sr-be11隧道或asg1发生故障。当csg1确定sr-be11隧道或asg1发生故障后,触发asg设备的主备切换。具体的,asg1切换为备用asg设备,asg2切换为主用asg设备。并且,csg1不在通过sr-be11隧道发送数据流量,而是经由sr-be22隧道发送数据流量。其中,sr-be22隧道是从csg1到asg2的sr-be隧道。
[0075]
通过本申请的实施方式,只有在需要依靠sbfd检测的sr-be隧道上,sbfd会话才会被建立,从而,大量的无用sbfd会话不会被建立,因此减少了网络带宽资源的占用。
[0076]
图4为本申请实施例的第一网络设备1000的结构示意图。图4所示的第一网络设备1000可以执行上述实施例的方法中第一网络设备执行的相应步骤。如图4所示,所述第一网络设备1000包括接收单元1002和处理单元1004。
[0077]
所述接收单元1002,用于接收第二网络设备发送的第一报文,所述第一报文包括
sbfd信息,所述sbfd信息用于指示所述第一报文的目的地址对应的网络设备确定是否为隧道建立sbfd会话,所述隧道是从所述第一网络设备到所述第二网络设备的隧道,所述sbfd会话用于检测所述隧道的状态,所述目的地址是所述第一网络设备的地址;
[0078]
所述处理单元1004,用于根据所述sbfd信息确定所述第一网络设备是否为所述隧道建立所述sbfd会话;
[0079]
当所述处理单元1004根据所述sbfd信息确定所述第一网络设备不需要为所述隧道建立所述sbfd会话时,所述处理单元1004还用于避免创建所述sbfd会话。
[0080]
在一种可能的实现方式中,当所述处理单元1004根据所述sbfd信息确定所述第一网络设备需要为所述隧道建立所述sbfd会话时,所述处理单元1004还用于创建所述sbfd会话。
[0081]
可选的,在所述处理单元1004还用于创建所述sbfd会话中,所述处理单元1004具体用于:向所述第二网络设备发送sbfd报文,所述sbfd报文用于请求建立所述sbfd会话;接收所述第二网络设备发送的针对所述sbfd报文的sbfd回应报文,所述sbfd回应报文指示所述第二网络设备处于工作状态;和,根据所述sbfd回应报文将所述第一网络设备的对应所述隧道的端口设置为up状态。
[0082]
可选的,在处理单元1004根据所述sbfd回应报文将所述第一网络设备的对应所述隧道的端口设置为up状态之后,所述处理单元1004还用于向所述第二网络设备发送sbfd回声报文,所述sbfd回声报文用于检测所述隧道的状态。
[0083]
可选的,所述第一报文是基于is-is协议的lsp报文,或者所述第一报文是基于ospf协议的lsu报文,所述第一报文还包括所述第二网络设备的sid,所述隧道的目的地址为对应所述sid的地址。进一步可选的,所述第一报文包括标志字段,所述标志字段用于承载所述sbfd信息。
[0084]
可选的,所述隧道是sr-be隧道。
[0085]
图4所示的第一网络设备可以执行上述实施例的方法中第一网络设备执行的相应步骤。在实际网络场景中,第一网络设备接收第二网络设备发送的sbfd信息,从而根据所述sbfd信息确定是否需要为隧道创建sbfd会话,其中,所述隧道是从所述第一网络设备到所述第二网络设备的隧道,从而,避免创建不必要的sbfd会话,减少所述网络中的sbfd会话的数量。
[0086]
图5为本申请实施例的第一网络设备1100的硬件结构示意图。图5所示的第一网络设备1100可以执行上述实施例的方法中第一网络设备执行的相应步骤。
[0087]
如图5所示,所述第一网络设备1100包括处理器1101、存储器1102、接口1103和总线1104。其中接口1103可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器1101、存储器1102和接口1103通过总线1104连接。
[0088]
所述接口1103具体可以包括发送器和接收器,用于第一网络设备与上述实施例中的第二网络设备之间收发信息。例如,所述接口1103用于支持接收所述第二网络设备发送的第一报文和sbfd报文的sbfd回应报文;用于支持向第二网络设备发送sbfd报文和sbfd回声报文。作为举例,所述接口1103用于支持图2和图3中的过程s103、s107、s110和s112。所述处理器1101用于执行上述实施例中由第一网络设备进行的处理。例如,所述处理器1101确定是否为隧道建立sbfd会话;用于根据确定结果避免建立sbfd会话或者根据确定结果建立
sbfd会话;和/或用于本文所描述的技术的其他过程。作为举例,所述处理器1101用于支持图2和图3中的过程s104、s105、s106和s111。存储器1102包括操作系统11021和应用程序11022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一网络设备的处理过程。可选的,所述存储器1102可以包括只读存储器(英文:read-only memory,缩写:rom)和随机存取存储器(英文:randomaccess memory,缩写:ram)。其中,所述rom包括基本输入/输出系统(英文:basic input/output system,缩写:bios)或嵌入式系统;所述ram包括应用程序和操作系统。当需要运行第一网络设备1100时,通过固化在rom中的bios或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备1100进入正常运行状态。在第一网络设备1100进入正常运行状态后,运行在ram中的应用程序和操作系统,从而,完成方法实施例中涉及第一网络设备的处理过程。
[0089]
可以理解的是,图5仅仅示出了第一网络设备1100的简化设计。在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
[0090]
图6为本申请实施例的另一种第一网络设备1200的硬件结构示意图。图6所示的第一网络设备1200可以执行上述实施例的方法中第一网络设备执行的相应步骤。
[0091]
如图6所述,第一网络设备1200包括:主控板1210、接口板1230、交换网板1220和接口板1240。主控板1210、接口板1230和1240,以及交换网板1220之间通过系统总线与系统背板相连实现互通。其中,主控板1210用于完成系统管理、设备维护、协议处理等功能。交换网板1220用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板1230和1240用于提供各种业务接口(例如,pos接口、ge接口、atm接口等),并实现数据包的转发
[0092]
接口板1230可以包括中央处理器1231、转发表项存储器1234、物理接口卡1233和网络处理器1232。其中,中央处理器1231用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器1234用于保存转发表项。物理接口卡1233用于完成流量的接收和发送。网络存储器1232用于根据所述转发表项控制物理接口卡1233收发流量。
[0093]
具体的,物理接口卡1233用于接收所述第二网络设备发送的第一报文和sbfd报文的sbfd回应报文,以及用于向所述第二网络设备发送sbfd报文和sbfd回声报文。
[0094]
中央处理器1211用于确定是否为隧道建立sbfd会话;以及用于根据确定结果避免建立sbfd会话或者根据确定结果建立sbfd会话。
[0095]
中央处理器1211还用于处理接收的第一报文和sbfd报文的sbfd回应报文;以及生成发送的sbfd报文和sbfd回声报文。
[0096]
物理接口卡1233接收到第一报文和sbfd报文的sbfd回应报文后,将第一报文和sbfd报文的sbfd回应报文经由中央处理器1231发送到中央处理器1211,中央处理器1211处理该第一报文和sbfd报文的sbfd回应报文。
[0097]
中央处理器1231还用于控制网络存储器1232获取转发表项存储器1234中的转发表项,并且,中央处理器1231还用于控制网络存储器1232经由物理接口卡1233完成流量的接收和发送。
[0098]
应理解,本发明实施例中接口板1240上的操作与所述接口板1230的操作一致,为了简洁,不再赘述。应理解,本实施例的第一网络设备1200可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
[0099]
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
[0100]
图7为本申请实施例的第二网络设备2000的结构示意图。图7所示的第二网络设备2000可以执行上述实施例的方法中第二网络设备执行的相应步骤。如图7所示,所述第二网络设备2000包括处理单元2004和发送单元2006。
[0101]
所述处理单元2004,用于生成第一报文,所述第一报文包括无缝双向转发检测sbfd信息,所述sbfd信息用于指示所述第一报文的目的地址对应的网络设备确定是否为隧道建立sbfd会话,所述隧道是从第一网络设备到所述第二网络设备的隧道,所述sbfd会话用于检测所述隧道的状态,所述目的地址是所述第一网络设备的地址;
[0102]
所述发送单元2006,用于向所述第一网络设备发送所述第一报文,其中,所述第一报文中的所述sbfd信息用于阻止所述第一网络设备建立针对所述隧道的sbfd会话。
[0103]
可选的,所述第一报文是基于is-is协议的lsp报文,或者所述第一报文是基于ospf协议的lsu报文,所述第一报文还包括所述第二网络设备的sid,所述隧道的目的地址为对应所述sid的地址。进一步可选的,所述第一报文包括标志字段,所述标志字段用于承载所述sbfd信息。
[0104]
可选的,所述隧道是sr-be隧道。
[0105]
图7所示的第二网络设备可以执行上述实施例的方法中第二网络设备执行的相应步骤。在实际网络场景中,第一网络设备接收第二网络设备发送的sbfd信息,从而根据所述sbfd信息确定是否需要为隧道创建sbfd会话,其中,所述隧道是从所述第一网络设备到所述第二网络设备的隧道,从而,避免创建不必要的sbfd会话,减少所述网络中的sbfd会话的数量。
[0106]
图8为本申请实施例的第二网络设备2100的硬件结构示意图。图8所示的第二网络设备2100可以执行上述实施例的方法中第二网络设备执行的相应步骤。
[0107]
如图8所示,所述第二网络设备2100包括处理器2101、存储器2102、接口2103和总线2104。其中接口2103可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2101、存储器2102和接口2103通过总线2104连接。
[0108]
所述接口2103具体可以包括发送器和接收器,用于第二网络设备与上述实施例中的第一网络设备之间收发信息。例如,所述接口2103用于支持向所述第一网络设备发送第一报文和sbfd报文;用于支持接收第一网络设备发送的sbfd报文的sbfd回应报文和sbfd回声报文。作为举例,所述接口2103用于支持图2和图3中的过程s102、s108和s109。所述处理器2101用于执行上述实施例中由第二网络设备进行的处理。例如,所述处理器2101用于生成第一报文;和/或用于本文所描述的技术的其他过程。作为举例,所述处理器2101用于支
持图2和图3中的过程s101。存储器2102包括操作系统21021和应用程序21022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第二网络设备的处理过程。可选的,所述存储器2102可以包括只读存储器(英文:read-only memory,缩写:rom)和随机存取存储器(英文:random access memory,缩写:ram)。其中,所述rom包括基本输入/输出系统(英文:basic input/output system,缩写:bios)或嵌入式系统;所述ram包括应用程序和操作系统。当需要运行第二网络设备2100时,通过固化在rom中的bios或者嵌入式系统中的bootloader引导系统进行启动,引导第二网络设备2100进入正常运行状态。在第二网络设备2100进入正常运行状态后,运行在ram中的应用程序和操作系统,从而,完成方法实施例中涉及第二网络设备的处理过程。
[0109]
可以理解的是,图8仅仅示出了第二网络设备2100的简化设计。在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者存储器。
[0110]
图9为本申请实施例的另一种第二网络设备2200的硬件结构示意图。图9所示的第二网络设备2200可以执行上述实施例的方法中第二网络设备执行的相应步骤。
[0111]
如图9所述,第二网络设备2200包括:主控板2210、接口板2230、交换网板2220和接口板2240。主控板2210、接口板2230和2240,以及交换网板2220之间通过系统总线与系统背板相连实现互通。其中,主控板2210用于完成系统管理、设备维护、协议处理等功能。交换网板2220用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2230和2240用于提供各种业务接口(例如,pos接口、ge接口、atm接口等),并实现数据包的转发
[0112]
接口板2230可以包括中央处理器2231、转发表项存储器2234、物理接口卡2233和网络处理器2232。其中,中央处理器2231用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2234用于保存转发表项。物理接口卡2233用于完成流量的接收和发送。网络存储器2232用于根据所述转发表项控制物理接口卡2233收发流量。
[0113]
具体的,物理接口卡2233用于向所述第一网络设备发送第一报文和sbfd报文;用于接收第一网络设备发送的sbfd报文的sbfd回应报文和sbfd回声报文
[0114]
中央处理器2211用于生成所述第一报文。
[0115]
中央处理器2211将第一报文经由中央处理器2231向物理接口卡2233发送。物理接口卡2233向所述nat设备发送所述第一报文。
[0116]
中央处理器2231还用于控制网络存储器2232获取转发表项存储器2234中的转发表项,并且,中央处理器2231还用于控制网络存储器2232经由物理接口卡2233完成流量的接收和发送。
[0117]
应理解,本发明实施例中接口板2240上的操作与所述接口板2230的操作一致,为了简洁,不再赘述。应理解,本实施例的第二网络设备2200可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
[0118]
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第二网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第二网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第二网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交
换,提供大容量的数据交换和处理能力。所以,分布式架构的第二网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
[0119]
另外,本申请实施例提供了一种计算机存储介质,用于储存为上述第一网络设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。
[0120]
另外,本申请实施例提供了一种计算机存储介质,用于储存为上述第二网络设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。
[0121]
本申请实施例还包括一种处理报文的系统,所述系统包括第一网络设备和第二网络设备,所述第一网络设备为前述图4或图5或图6中的第一网络设备,所述第二网络设备为前述图7或图8或图9中的第二网络设备。
[0122]
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。
[0123]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件或者用硬件和软件的组合来实现。当使用硬件和软件的组合实现时,可以将这些软件存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0124]
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明。所应理解的是,以上所述仅为本申请的具体实施方式而已。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1