一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种报文发送方法及设备与流程

2022-03-01 18:21:58 来源:中国专利 TAG:


1.本技术涉及通信领域,尤其涉及一种报文发送方法及设备。


背景技术:

2.为了保证网络的可靠性,两个网络设备之间可以相互向对方发送用于检测的报文来判断二者之间的往返路径是否发生故障或获取一些诸如时延等网络性能测量信息等。目前的技术方案是,在两个网络设备之间的往返路径共路时,只要其中一个网络设备没有接收到来自对端网络设备的用于检测的报文,就认为二者之间的往返路径均发生故障,所以这两个网络设备之间就不会再传输数据报文。其中,所谓共路的含义是指经过相同的网络设备。
3.例如,网络设备a通过网络设备b向网络设备c发送报文1,网络设备c在接收到该报文1之后,通过网络设备b向网络设备a发送报文2。即网络设备a到网络设备c的去程路径为:网络设备a-》网络设备b-》网络设备c;网络设备c到网络设备a的返程路径为:网络设备c-》网络设备b-》网络设备a。由于去程路径和返程路径均经过相同的网络设备,所以可以认为网络设备a与网络设备c之间的往返路径共路。
4.如果网络设备a接收到报文2,则认为网络设备a到网络设备c的去程路径和网络设备c到网络设备a的返程路径均正常,网络设备a可以继续向网络设备c发送报文,网络设备c也可以向网络设备a发送报文;若网络设备a没有接收到报文2,则网络设备a就会认为其与网络设备c之间的往返路径均故障,便不再继续向网络设备c发送报文,从而保证数据传输的可靠性。
5.为了实现往返路径共路,控制器通过计算得到网络设备之间共路的往返路径,并将该往返路径的信息下发到报文的源设备。往返路径的信息包括去程路径的信息和返程路径的信息。源设备在报文中携带该往返路径的信息,并根据去程路径的信息发送报文。当报文的目的设备接收到该报文之后,根据报文中携带的返程路径的信息向源设备返回报文。这种方式的缺点主要在于去程报文包含返程路径的信息,导致报文的长度增大,影响传输效率。
6.申请内容
7.本技术实施例提供了一种报文发送方法及设备,用于缩短去程报文的长度,提高报文传输效率。
8.第一方面,提供了一种报文发送的方法,该方法应用于第一网络设备,所述方法包括如下步骤:第一网络设备接收来自第二网络设备的第一报文,所述第一报文包括第一转发路径的信息,所述第一转发路径为所述第一报文从所述第二网络设备发送到所述第一网络设备的转发路径,也可以视为从第二网络设备到第一网络设备的去程路径。所述第一网络设备根据所述第一转发路径的信息获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径。所谓反向路径是指第一转发路径经过的网络设备与第二转发路径经过的网络设备相同,且经过网络设备的顺序相反。所以,第二转发路径可以视为第一网
络设备到第二网络设备的返程路径。最后,所述第一网络设备通过所述第二转发路径向所述第二网络设备发送第二报文,实现去程路径和返程路径共路的目的。其中所述第二报文可以携带有所述第二转发路径的信息。由于第一报文中仅携带去程路径的信息,不携带返程路径的信息,且第一网络设备能够根据去程路径的信息得到返程路径的信息,在保证往返路径共路的前提下实现节约去程报文长度的目的,提高报文传输效率。
9.在一种可能的设计中,所述第一报文包括指示信息,所述第一网络设备根据所述第一转发路径的信息获得第二转发路径的信息包括:所述第一网络设备基于所述指示信息的指示,根据所述第一转发路径的信息获得第二转发路径的信息。也就是说,第一网络设备能够基于第一报文中指示信息的指示获取返程路径的信息,进而发送第二报文,可见该指示信息能够将第一报文与第一网络设备接收到的其他类型的报文区别开来,以提高处理效率。
10.其中,指示信息在第一报文中携带的位置有多种可能的实现方式:
11.在一种可能的设计中,所述第一报文为双向转发检测(bidirectional forwarding detection,bfd)报文,所述指示信息携带在所述bfd报文的预留位r字段。
12.在另一种可能的设计中,所述第一报文为双向主动测量协议(two-way active measurement protocol,twamp)报文或简单双向主动测量协议(simple two-way active measurement protocol,stamp)报文,所述指示信息携带在所述twamp报文或所述stamp报文的类型长度值(type length value,tlv)字段。
13.在再一种可能的设计中,所述第一报文为无缝双向转发检测(seamless bidirectional forwarding detection,sbfd)报文,所述指示信息携带在所述sbfd报文的第六版互联网协议(internet protocol version 6,ipv6)扩展头中,例如段路由头(segment routing header,srh)、逐跳选项头(hop-by-hop option header,hbh)、目的地址选项头(destination option header,doh)等。
14.当然,上述指示信息的位置的具体实现并不构成对本技术技术方案的限定,本领域技术人员可以根据实际情况自行设计。
15.在一种可能的设计中,所述第一转发路径经过第三网络设备,所述第一转发路径的信息包括所述第三网络设备的标识,以使第一网络设备确定的第二转发路径经过第三网络设备。
16.在一种可能的设计中,所述第一转发路径经过第三网络设备,所述第一转发路径的信息包括所述第三网络设备接收所述第一报文的接口对应的段标识(segment identifier,sid)。这样,第一网络设备确认的第二转发路径的信息中也包括该sid,最终使得第三网络设备能够通过与该sid对应的接口发送第二报文,不仅保证往返路径共网络设备,同时保证往返路径共链路,尤其适用于负载分担的场景。
17.在本技术中,第一转发路径的信息在第一报文中携带的位置也有多种可能的实现方式:
18.在一种可能的设计中,所述第一报文包括带内操作维护管理(in band operation administration and maintenance,ioam)或带内网络遥测(in-band network telemetry,int),所述ioam或所述int包括所述第一转发路径的信息。
19.在另一种可能的设计中,第一报文包括srh,该srh包括第一转发路径的信息。
20.具体的,所述第一转发路径的信息包括第一段标识列表(sid list),所述第二转发路径的信息包括第二sid list,所述第二sid list包括的段标识sid与所述第一sid list包括的sid相同,且顺序相反。
21.当然,上述实现方式并不构成对本技术技术方案的限定,本领域技术人员可以根据实际情况自行设计。
22.在另一种可能的设计中,所述第一报文还可以携带有所述第一转发路径上的网络设备的网络性能测量信息,所述第二报文还可以携带有所述第二转发路径上的网络设备的网络性能测量信息。其中,网络性能测量信息例如包括时间戳等信息。
23.在一种可能的设计中,在第一网络设备接收来自第二网络设备的第一报文之后,所述方法还包括:所述第一网络设备确认所述第一网络设备和所述第二网络设备之间的链路正常。也就是说,第一报文可以用于进行链路故障检测。同理,若第二网络设备接收到来自第一网络设备的第二报文,那么第二网络设备确认与第一网络设备之间的链路正常。
24.在一种可能的设计中,所述第一网络设备和所述第二网络设备属于不同的网络域,该网络域例如可以是内部网关协议(interior gateway protocol,igp)域、基于ipv6的段路由(segment routing,sr)(下文简称“srv6”)域、段路由(segment routing,sr)多协议标签交换(multi-protocol label switching,mpls)域等。即本技术提供的方法可以应用于跨域场景。
25.第二方面,提供了一种报文发送方法,该方法应用于第二网络设备,所述方法包括如下步骤:第二网络设备获取第一报文,所述第一报文包括第一转发路径的信息,所述第一转发路径为所述第一报文从所述第二网络设备到第一网络设备的转发路径,所述第一转发路径的信息用于所述第一网络设备获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径。所述第二网络设备向所述第一网络设备发送所述第一报文。由于第一报文中仅携带去程路径的信息,不携带返程路径的信息,且第一网络设备能够根据去程路径的信息得到返程路径的信息,在保证往返路径共路的前提下实现节约去程报文长度的目的,提高报文传输效率。
26.在一种可能的设计中,所述第一报文还包括指示信息,所述指示信息用于指示所述第一网络设备根据所述第一转发路径的信息得到所述第二转发路径的信息。通过指示信息将第一报文与第一网络设备接收到的其他类型的报文区别开来,以提高第一网络设备的处理效率。
27.指示信息以及第一转发路径的信息在第一报文中的携带位置请参见上文描述,此处不再赘述。
28.在一种可能的设计中,所述第一转发路径的信息包括所述第二网络设备的标识,以告知第一网络设备该第一转发路径包括第二网络设备。
29.第三方面,提供了一种报文发送方法,应用于中间网络设备,所述方法包括如下步骤:中间网络设备获取第一报文,所述第一报文包括第一转发路径的部分信息,所述第一转发路径为所述第一报文从源设备发送到目的设备的转发路径,所述第一转发路径的部分信息用于所述目的设备获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径,所述第二转发路径从所述目的设备到所述源设备。所述中间网络设备向所述目的设备发送所述第一报文。由于第一报文中仅携带去程路径的信息,不携带返程路径的信
息,且第一网络设备能够根据去程路径的信息得到返程路径的信息,在保证往返路径共路的前提下实现节约去程报文长度的目的,提高报文传输效率。
30.在一种可能的设计中,所述方法还包括:所述中间网络设备接收第二报文,所述第二报文来自所述第一转发路径上所述中间网络设备的上一跳网络设备。所述中间网络设备在所述第二报文中添加所述中间网络设备的段标识生成所述第一报文,所述第一转发路径的部分信息包括所述中间网络设备的段标识,以使得目的设备向源设备发送的报文经过该中间网络设备,实现往返路径共路的目的。
31.在一种可能的设计中,所述第一转发路径的部分信息还包括所述中间网络设备接收所述第二报文的接口的段标识,所述中间网络设备在所述第二报文中添加所述中间网络设备的段标识生成所述第一报文包括:所述中间网络设备将接收所述第二报文的接口的段标识和所述中间网络设备的段标识添加到所述第二报文中生成所述第一报文,以使得目的设备向源设备发送的报文不仅经过该中间网络设备,还经过相同的链路,实现往返路径共路的目的。
32.在一种可能的设计中,在所述中间网络设备将接收所述第二报文的接口的段标识和所述中间网络设备的段标识添加到所述第二报文中生成所述第一报文之前,所述方法还包括:所述中间网络设备确认到达所述上一跳网络设备的链路有多条,即中间网络设备与上一条网络设备之间需要进行负载分担,所述接收所述第二报文的接口为所述多条链路中其中一条链路对应的接口,以保证往返路径共路不仅是指共网络设备,还共链路。
33.在一种可能的设计中,所述第一转发路径的部分信息还包括所述上一跳网络设备的标识。所述中间网络设备将接收所述第二报文的接口的段标识和所述中间网络设备的段标识添加到所述第二报文中生成所述第一报文包括:所述中间网络设备将所述第二报文中的所述上一跳网络设备的标识替换为接收所述第二报文的接口的段标识和所述中间网络设备的段标识,以节约第二报文的长度,提高报文传输效率。
34.在一种可能的设计中,所述第一转发路径的部分信息包括从所述源设备到中间网络设备的路径的信息。
35.在一种可能的设计中,所述第一转发路径的信息为第一段标识列表sid list,所述第二转发路径的信息为第二sid list,所述第二sid list包括的段标识sid与所述第一sid list包括的sid相同,且顺序相反。
36.在一种可能的设计中,所述源设备和所述目的设备属于不同的网络域。
37.第四方面,提供了一种第一网络设备,其特征在于,包括:接收单元,用于接收来自第二网络设备的第一报文,所述第一报文包括第一转发路径的信息,所述第一转发路径为所述第一报文从所述第二网络设备发送到所述第一网络设备的转发路径;处理单元,用于根据所述第一转发路径的信息获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径;发送单元,用于通过所述第二转发路径向所述第二网络设备发送第二报文,所述第二报文携带有所述第二转发路径的信息。
38.在一种可能的设计中,所述第一报文包括指示信息;
39.所述处理单元,用于基于所述指示信息的指示,根据所述第一转发路径的信息获得第二转发路径的信息。
40.第五方面,提供了一种第二网络设备,其特征在于,包括:处理单元,用于获取第一
报文,所述第一报文包括第一转发路径的信息,所述第一转发路径为所述第一报文从所述第二网络设备到第一网络设备的转发路径,所述第一转发路径的信息用于所述第一网络设备获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径;发送单元,用于向所述第一网络设备发送所述第一报文。
41.在一种可能的设计中,所述第一报文还包括指示信息,所述指示信息用于指示所述第一网络设备根据所述第一转发路径的信息得到所述第二转发路径的信息。
42.第六方面,提供了一种中间网络设备,其特征在于,包括:处理单元,用于获取第一报文,所述第一报文包括第一转发路径的部分信息,所述第一转发路径为所述第一报文从源设备发送到目的设备的转发路径,所述第一转发路径的部分信息用于所述目的设备获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径,所述第二转发路径从所述目的设备到所述源设备;发送单元,用于向所述目的设备发送所述第一报文。
43.在一种可能的设计中,所述第三网络设备还包括:接收单元,用于接收第二报文,所述第二报文来自所述第一转发路径上所述中间网络设备的上一跳网络设备;处理单元,还用于在所述第二报文中添加所述中间网络设备的段标识生成所述第一报文,所述第一转发路径的部分信息包括所述中间网络设备的段标识。
44.在一种可能的设计中,所述第一转发路径的部分信息还包括所述中间网络设备接收所述第二报文的接口的段标识,所述处理单元在所述第二报文中添加所述中间网络设备的段标识生成所述第一报文包括:所述处理单元将接收所述第二报文的接口的段标识和所述中间网络设备的段标识添加到所述第二报文中生成所述第一报文。
45.在一种可能的设计中,所述处理单元,还用于在所述中间网络设备将接收所述第二报文的接口的段标识和所述中间网络设备的段标识添加到所述第二报文中生成所述第一报文之前,确认到达所述上一跳网络设备的链路有多条,所述接收所述第二报文的接口为所述多条链路中其中一条链路对应的接口。
46.在一种可能的设计中,所述第一转发路径的部分信息还包括所述上一跳网络设备的标识;
47.所述处理单元将接收所述第二报文的接口的段标识和所述中间网络设备的段标识添加到所述第二报文中生成所述第一报文包括:所述处理单元将所述第二报文中的所述上一跳网络设备的标识替换为接收所述第二报文的接口的段标识和所述中间网络设备的段标识。
48.第七方面,提供了一种网络系统,其特征在于,所述网络系统包括第一网络设备、第二网络设备和中间网络设备中的至少两个网络设备,其中,所述第一网络设备为如第一方面任意一种可能的设计之一所述的第一网络设备,所述第二网络设备为如第二方面任意一种可能的设计之一所述的第二网络设备,所述中间网络设备为如第三方面任意一种可能的设计之一所述的中间网络设备。
49.第八方面,提供了一种计算机可读存储介质,其特征在于,包括指令、程序或代码,当其在计算机上执行时,使得所述计算机执行第一方面、第二方面或第三方面任意一种可能的设计之一提供的方法。
50.第九方面,提供了一种芯片,其特征在于,包括存储器和处理器,存储器用于存储指令或程序代码,处理器用于从存储器中调用并运行该指令或程序代码,以执行第一方面、
第二方面或第三方面任意一种可能的设计之一提供的方法。
51.在一种可能的设计中,上述芯片仅包括处理器,处理器用于读取并执行存储器中存储的指令或程序代码,当指令或程序代码被执行时,处理器执行第一方面或第一方面的任意一种可能的设计中的方法;或,处理器执行第二方面或第二方面任意一种可能的设计中的方法;或,处理器执行第三方面或第三方面任意一种可能的设计中的方法。
52.第十方面,提供了一种包括计算机指令的计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行第一方面、第二方面或第三方面任意一种可能的设计之一提供的方法。
附图说明
53.图1为本技术实施例提供的段路由sr mpls的网络架构示意图;
54.图2为本技术实施例提供的一种报文发送方法的流程示意图;
55.图3为本技术实施例提供的bfd报文的格式示意图;
56.图4为本技术实施例提供的twamp报文的格式示意图;
57.图5为本技术实施例提供的ioam的格式示意图;
58.图6为本技术实施例提供的另一种报文发送方法的流程示意图;
59.图7为本技术实施例提供的再一种报文发送方法的流程示意图;
60.图8为本技术实施例提供的再一种报文发送方法的流程示意图;
61.图9为本技术实施例提供的第一网络设备900的结构示意图;
62.图10为本技术实施例提供的第二网络设备1000的结构示意图;
63.图11为本技术实施例提供的中间网络设备1100的结构示意图;
64.图12为本技术实施例提供的设备1200的结构示意图;
65.图13为本技术实施例提供的设备1300的结构示意图。
具体实施方式
66.为了实现网络设备之间往返路径共路的目的,传统方式采用控制器计算共路的往返路径,并将往返路径的信息下发到源设备中,由源设备在报文中携带往返路径的信息,以便报文的目的设备根据返程路径的信息向源设备沿原路发送报文。
67.例如,参见图1,该图为sr mpls的网络架构示意图。该图中,sr-mpls网络架构包括网络设备101、网络设备102、网络设备103、网络设备104和网络设备105。其中,网络设备101与网络设备102连接,网络设备102与网络设备103连接,网络设备103与网络设备104连接,网络设备104与网络设备105连接。网络设备101可以视为源设备,网络设备105可以视为目的设备。
68.网络设备101的标签为16001,网络设备102的标签为16002,网络设备103的标签为16003,网络设备104的标签为16004,网络设备105的标签为16005。
69.控制器根据需要传输的数据报文的sr策略(policy)计算从网络设备101到网络设备105的去程路径和从网络设备105到网络设备101的返程路径,并生成由去程路径和返程路径构成的往返路径对应的标签栈,该标签栈包括标签16003、16004、16005、16004、16003和16001。
70.控制器将该标签栈下发给网络设备101,网络设备101在生成到达网络设备105的报文1中携带该标签栈,并根据该标签栈中的栈顶标签,即标签16003,向网络设备103发送该报文1。该报文1经过网络设备103和网络设备104之后到达网络设备105,网络设备105在接收到该报文1之后,获取到返程路径对应的标签,并在向网络设备101发送的报文2中添加包括标签16004、16003和16001的标签栈,以使报文2沿着与报文1相反的路径到达网络设备101。
71.若网络设备101接收到报文2,则说明网络设备101和网络设备105之间的往返路径均正常,网络设备101可以继续向网络设备105发送报文;若网络设备101接收不到报文2,则说明网络设备101和网络设备105之间的往返路径均故障,网络设备101不继续向网络设备105发送报文。
72.可见,传统方式去程报文中携带的信息较多,导致报文长度较长,从而影响报文的传输效率。
73.为了解决上述技术问题,本技术实施例提供了一种报文发送方法及设备,在实现往返路径共路的前提下,减少去程报文的大小,提高报文的传输效率。
74.下面以图1所示的网络架构为一种可能的应用场景对本技术实施例提供的报文发送方法进行介绍。其中网络设备101、网络设备102、网络设备103、网络设备104和网络设备105可以为路由器(router)、交换机(switch)等硬件设备,本技术不做具体限定。图1所示的网络架构可以应用于基于互联网协议第六版(internet protocol version 6,ipv6)的段路由(segment routing,sr)(下文简称“srv6”)场景,在该场景下,网络设备101的(segment identifier,sid)为20001,网络设备102的sid为20002,网络设备103的sid为20003,网络设备104的sid为20004,网络设备105的sid为20005。
75.参见图2,该图为本技术实施例提供的报文发送方法的流程示意图。
76.本技术实施例提供的报文发送方法包括如下步骤:
77.s101:网络设备101生成报文m1。
78.在本技术实施例中,报文m1可以是用于进行检测源设备(即网络设备101)与目的设备(即网络设备105)之间的路径是否发生故障或获取时延等网络性能测量信息的检测报文。报文m1可以是双向转发检测(bidirectional forwarding detection,bfd)报文、双向主动测量协议(two-way active measurement protocol,twamp)报文、简单双向主动测量协议(simple two-way active measurement protocol,stamp)或无缝双向转发检测(seamless bidirectional forwarding detection,sbfd)报文等,本技术不做具体限定。
79.在本技术实施例中,报文m1可以包括段路由头(segment routing header,srh),srh中包括段标识列表(sid list),该段标识列表用于标识第一转发路径。其中,第一转发路径为从源设备到目的设备的去程路径。段标识列表中包括一个或多个第一转发路径上经过的网络设备的段标识,例如,段标识列表包括网络设备103的sid 20003以及网络设备105的sid 20005。也就是说,段标识列表中包括的可以不是报文m1经过的所有网络设备对应的sid,而是部分网络设备对应的sid。
80.可选的,报文m1还可以包括源设备的标识。源设备的标识可以作为第一转发路径的信息的一部分携带在报文m1中。第一转发路径的信息可以用于确定第二转发路径,第二转发路径为从目的设备到源设备的返程路径。在本技术实施例中,第二转发路径为第一转
发路径的反向路径,即第二转发路径经过的网络设备与第一转发路径经过的网络设备相同,且经过网络设备的顺序相反。在本技术实施例中,第一转发路径的信息可以携带在报文m1的载荷(payload)中。
81.此外,报文m1中还可以包括指示信息,该指示信息用于指示目的设备根据所述第一转发路径信息得到第二转发路径的信息,从而在向源设备转发报文m5(详细请见下文)的携带该第二转发路径的信息,以使该报文m5能够沿着第二转发路径到达源设备。
82.在本技术实施例中,报文m1的类型不同,指示信息可以携带在报文m1中的位置也不同。
83.参见图3,该图为bfd报文的格式示意图。在图3中,bfd报文包括协议版本号vers字段、诊断字diag字段、bfd本地状态sta字段、标志位p字段、标志位f字段、转发/控制分离标志位c字段、认证标识a字段、查询请求d字段、预留位r字段、检测超时倍数detect mult字段、报文长度length字段、本地标识符my discreaminator字段、远端标识符your discreaminator字段、本地支持的报文最小发送间隔desired min tx interval字段、本地支持的报文最小接收间隔requierd min rx interval字段、本地支持的回声报文的最小间隔requierd min echo interval字段、认证类型auth type字段、认证数据长度auth length字段以及认证数据authentication data字段。
84.若所述报文m1为bfd报文,那么指示信息可以携带在所述bfd报文的预留位r字段或其他字段,本技术实施例不做具体限定。
85.参见图4,该图为twamp报文的格式示意图。在图4中,twamp报文包括序列号(sequence number)字段、时间戳(timestamp)字段、错误检测(error estimate)字段、mbz字段、接收时间戳(receive timestamp)字段、会话发送方序列号(session-sender sequence number)字段、会话发送方时间戳(session-sender timestamp)字段、会话发送方错误检测(session-sender error estimate)字段、会话发送方生存时间值(ses-sender ttl)字段、反射报文填充(packet padding(reflected))字段、comp.mbz字段以及类型长度值(type length value,tlv)字段。
86.若报文m1为twamp报文,那么,所述指示信息携带可以在所述twamp报文或所述stamp报文的tlv字段。stamp报文的报文格式与twamp报文类似,此处不再赘述。若报文m1为stamp报文,所述指示信息携带可以在stamp报文的tlv字段。
87.若所述报文m1为sbfd报文,那么指示信息可以携带在所述sbfd报文的ipv6扩展头中,例如srh中。
88.当然,指示信息携带的位置还可以有其他可能的实现方式,本领域技术人员可以根据实际情况自行设计,此处不再赘述。
89.s102:网络设备101向网络设备102发送报文m1。
90.s103:网络设备102接收报文m1,并在报文m1中添加网络设备102的sid,得到报文m2。
91.在本技术实施例中,第一转发路径的信息包括网络设备102的sid 20002,也就是说,网络设备102将其sid添加到报文m1的载荷中,从而得到报文m2。
92.s104:网络设备102向网络设备103发送报文m2。
93.s105:网络设备103接收报文m2,并在报文m2中添加网络设备103的sid,得到报文
m3。
94.在本技术实施例中,第一转发路径的信息还包括网络设备103的sid 20003,也就是说,网络设备103将其sid添加到报文m2的载荷中,从而得到报文m3。
95.在本技术实施例中,网络设备102与网络设备103之间可以具有多条链路,该多条链路可以是物理链路,也可以是逻辑链路,用于进行负载分担。假设网络设备102通过链路1和链路2连接网络设备103。网络设备102在发送报文m2时,经过负载分担的计算,确定通过链路1向网络设备103发送报文m3。
96.为了保证往返路径共路,网络设备103可以在报文m2中添加网络设备103接收报文m2的接口对应的sid,该sid用于标识网络设备102与网络设备103之间的链路。假设链路1对应接口的sid为32001,链路2对应的接口的sid为32002,由于网络设备103通过链路1接收报文m2,那么网络设备103可以将与链路1对应的接口的sid 32001添加到报文m2中,得到报文m3。其中,sid 32001可以为end.x类型的sid。
97.可选的,为了减少报文长度且不影响报文转发,当第一转发路径的信息包括sid 32001时,网络设备103可以将报文m2中的网络设备102的sid 20002删除,也就是用sid 32001替换sid 20002。
98.s106:网络设备103向网络设备104发送报文m3。
99.s107:网络设备104接收报文m3,并在报文m3中添加网络设备104的sid,得到报文m4。
100.在本技术实施例中,第一转发路径的信息还包括网络设备104的sid 20004,也就是说,网络设备104将其sid添加到报文m3的载荷中,从而得到报文m4。
101.s108:网络设备104向网络设备105发送报文m4。
102.s109:网络设备105接收报文m4,根据报文m4中的第一转发路径的信息确定第二转发路径的信息,并生成报文m5,报文m5中携带第二转发路径的信息。
103.作为一种可能的实现方式,报文m1-报文m4中可以携带有带内操作维护管理(in band operation administration and maintenance,ioam)。参见图5,该图为ioam的格式示意图。在图5中,ioam包括命名空间标识(namespace id)字段、节点长度(nodelen)、标志位(flags)字段、剩余长度(remaininglen)字段、ioam路径类型(ioam-trace-type)字段、保留(reserved)字段以及节点数据列表(node data list)字段。其中,第一转发路径对应的sid list可以携带在该node data list字段中。
104.作为另一种可能的实现方式,报文m1-报文m4中可以携带有带内网络遥测(in-band network telemetry,int),第一转发路径对应的sid list可以携带在该int中。
105.在本技术实施例中,若网络设备102和网络设备103之间没有多条链路,即不在负载分担的场景下,报文m4中第一转发路径的信息可以包括如下sid list:20001、20002、20003和20004;在上述负载分担场景下,报文m4中第一转发路径的信息可以包括如下sid list:20001、32001、20003和20004。
106.不管是上述那种场景,网络设备105都可以根据第一转发路径的信息确定第二转发路径的信息。具体的,网络设备105将第一转发路径对应的sid list中sid的顺序进行颠倒,得到第二转发路径对应的sid list。也就是说,第一转发路径对应的sid list包括的sid与第二转发路径对应的sid list包括的sid相同,且顺序相反。
107.例如,若第一转发路径对应的sid list为20001、20002、20003和20004,那么第二转发路径对应的sid list可以为20004、20003、20002和20001;若第一转发路径对应的sid list为20001、32001、20003和20004,那么第二转发路径对应的sid list可以为20004、20003、32001和20001。
108.在得到第二转发路径对应的sid list之后,网络设备105可以生成包括该sid list的报文m5。该第二转发路径对应的sid list可以携带在报文m5的srh中,以指导报文m5的转发。
109.s110:网络设备105向网络设备101发送报文m5。
110.在本技术实施例中,s110具体为网络设备105向网络设备104发送报文m5,网络设备104向网络设备103发送报文m5,网络设备103向网络设备102发送报文m5,网络设备102向网络设备101发送报文m5,最终报文m5到达网络设备101。
111.需要说明的是,若网络设备103和网络设备102之间存在多条链路,那么网络设备103根据报文m5中的目的地址(即网络设备102的sid)确定下一跳网络设备为网络设备102时,网络设备103可以通过sid list中与sid 32001对应的出接口发送该报文m5,以使报文m5通过链路1传输到网络设备102,保证往返路径共路。
112.当网络设备101接收到报文m5之后,可以确认网络设备101与网络设备105之间的往返路径均正常,进而可以继续向网络设备105发送报文,包括数据报文。若网络设备101未接收到报文m5,则认为网络设备101与网络设备105之间的往返路径发生故障,因此不继续向网络设备105发送报文。
113.综上所述,由于报文m4中仅携带从网络设备101到网络设备105的去程路径(即第一转发路径)的信息,而不携带返程路径(即第二转发路径)的信息,当网络设备接收到报文m4之后,根据去程路径的信息得到返程路径的信息,从而在实现往返路径共路的前提下减少网络设备101发送的报文的长度,提高报文传输效率。
114.此外,由于本技术实施例是由网络设备105根据报文m4中去程路径的信息得到返程路径的信息,而不是由控制器计算得到,所以不需要依赖控制器,相对于传统技术扩大了应用范围,例如可以适用于某些跨域场景。
115.比如说,假设网络设备101和网络设备102属于网络域1,网络设备103-网络设备105属于网络域2,网络域1对应控制器1,网络域2对应控制器2。即控制器1只能计算网络域1中网络设备之间的转发路径,控制器2只能计算网络域2中网络设备之间的转发路径。所以,若按照传统的依赖控制器计算返程路径的方式,则因为控制器不能跨域计算路径而导致无法实现往返共路,但对于采用图2所示的报文发送方法,则因为不需要控制器计算返程路径,而是由网络设备105根据报文m4中的第一转发路径的信息进行确定,所以可以适用于上述跨域场景。
116.再有,采用传统方式预先计算返程路径不适用于负载分担的场景,因为负载分担是由具体某个网络设备在接收到报文之后计算确定采用多条链路中的其中一条链路转发报文,而该信息无法体现在预先计算好的去程路径和返程路径中。也就是说,传统方式只能保证往返路径均经过相同的网络设备,并不能保证在负载分担的场景下也经过相同的链路。而采用本技术实施例提供的报文发送方法,通过在去程的报文中携带返程需要进行负载分担的网络设备接收去程报文的接口对应的sid,就能够保证返程报文也经过与去程报
文相同的链路,实现真正的往返共路。
117.参见图6,该图为本技术实施例提供的报文发送方法的另一个流程示意图。
118.本技术实施例提供的报文发送方法包括如下步骤:
119.s201:网络设备101生成报文n1,报文n1包括第一转发路径的信息。
120.在本技术实施例中,报文n1可以是用于进行检测源设备(即网络设备101)与目的设备(即网络设备105)之间的路径是否发生故障或获取时延等网络性能测量信息的检测报文。报文n1的报文类型与报文m1的报文类型类似,此处不再赘述。
121.在本技术实施例中,报文n1包括srh,srh包括sid list,该sid list包括第一转发路径的信息,第一转发路径为从网络设备101到网络设备105的去程路径。例如,该sid list包括20001、20002、20003、20004和20005。
122.可选的,报文n1还可以包括指示信息,用于指示报文n1的目的设备,即网络设备105在接收到报文n1之后,根据第一转发路径的信息得到第二转发路径的信息,第二转发路径为第一转发路径的反向路径,即第一转发路径和第二转发路径共路。
123.指示信息在报文n1中携带的位置与在报文m1中携带的位置类似,此处不再赘述。
124.s202:网络设备101向网络设备105发送报文n1。
125.在本技术实施例中,根据报文n1包括的sid list,报文n1从网络设备101发出之后,经过网络设备102、网络设备103和网络设备104,到达网络设备105。
126.s203:网络设备105接收报文n1,并根据报文n1中携带的第一转发路径的信息得到第二转发路径的信息。
127.在本技术实施例中,网络设备105可以将报文n1中的sid list中包括的sid的顺序进行颠倒,得到如下sid list:20005、20004、20003、20003和20001,该sid list标识从网络设备105到网络设备101的返程路径,即第二转发路径。
128.s204:网络设备105生成报文n2,该报文n2中携带第二转发路径的信息。
129.在本技术实施例中,报文n2中携带sid list:20005、20004、20003、20003和20001,以指导报文n2的转发。
130.s205:网络设备105向网络设备101发送报文n2。
131.根据报文n2中携带的sid list,报文n2从网络设备105发出之后,先后经过网络设备104、网络设备103和网络设备102,最终到达网络设备101。
132.在本技术实施例中,由于网络设备101向网络设备102发送的去程报文n1中仅携带去程路径的信息,而不携带返程路径的信息,网络设备105在接收到报文n1之后,根据报文n1中携带的去程路径信息得到返程路径的信息,所以能够保证往返路径共路的前提下减少去程报文n1携带的信息量,提高报文转发效率。
133.此外,与图2所示实施例类似,图6所示的报文发送方法也可以适用于跨域场景,其原因可以参见上文,此处不再赘述。
134.参见图7,该图为本技术实施例提供的报文发送方法的另一个流程示意图。
135.本技术实施例提供的报文发送方法包括如下步骤:
136.s301:第二网络设备获取第一报文。
137.在本技术实施例中,第二网络设备可以例如为图1所示实施例中的网络设备101。第一报文可以是图2所示实施例中的报文m1。
138.可选的,第一报文中包括第二网络设备的标识,该第二网络设备的标识可以作为第一转发路径的信息的一部分。其中,第一转发路径为第二网络设备到第一网络设备的转发路径。具体示例可以参见图2所示的实施例,此处不再赘述。
139.可选的,第一报文中可以包括指示信息,该指示信息用于指示第一网络设备根据第一转发路径的信息得到第二转发路径的信息。其中第一网络设备可以为图2所示实施例中的网络设备105。该指示信息在第一报文中携带的位置可以参见图2所示的实施例,此处不再赘述。
140.需要说明的是,如果第一报文为sbfd报文,那么指示信息不仅可以携带在sbfd报文的srh中,还可以携带在sbfd报文的其他ipv6扩展头,例如逐跳选项头(hop-by-hop option header,hbh)、目的地址选项头(destination option header,doh)等,本技术实施例不进行限定。
141.s302:第二网络设备向中间网络设备发送所述第一报文。
142.在本技术实施例中,中间网络设备可以是图1所示实施例中的网络设备102、网络设备103或网络设备104中的其中任意一个。
143.s303:中间网络设备接收第一报文,并在第一报文中添加中间网络设备的标识,得到第二报文。
144.在本技术实施例中,中间网络设备的标识可以作为第一转发路径的信息的一部分。可选的,在sr场景中,第一转发路径的信息还可以包括中间网络设备接收第一报文的接口对应的sid,以使用负载分担场景。相关示例请参见图2所示的实施例,此处不再赘述。
145.s304:中间网络设备向第一网络设备发送第二报文。
146.在本技术实施例中,如果第一网络设备与第二网络设备之间存在多个中间网络设备,那么每个中间网络设备都可以执行s304和s305的步骤,所以每个中间网络设备发送的第二报文中携带的第一转发路径的信息不同。
147.s305:第一网络设备接收第二报文,根据第二报文中的第一转发路径的信息得到第二转发路径的信息。
148.在本技术实施例中,当第一网络设备为图2所示实施例中的网络设备105时,第一网络设备接收的第二报文可以例如为图2所示实施例中的报文m4。相应的,第一网络设备根据第一转发路径的信息得到第二转发路径的信息的具体介绍也可以参见图2所示的实施例,此处不再赘述。
149.s306:第一网络设备通过所述第二转发路径向所述第二网络设备发送第三报文,所述第三报文携带有所述第二转发路径的信息。
150.在本技术实施例中,当第一网络设备为图2所示实施例中的网络设备105时,第三报文可以例如为图2所示实施例中的报文m5。相应的,第二转发路径的信息包括第二转发路径对应的sid list。
151.由于第二报文中仅携带第一转发路径的信息,不携带第二转发路径的信息,所以相对于传统技术缩短了去程报文的报文长度,提高了报文传输效率,同时实现了往返路径共路。
152.此外,由于本技术实施例不需要依赖控制器,所以能够适应诸如跨域等场景,比传统技术应用能够应用的范围更广。
153.还有,本技术实施例中,中间网络设备可以将接收第一报文的接口对应的sid也作为第一转发路径的信息携带在报文中,所以能够实现不仅第一转发路径和第二转发路径共节点,且共链路的目的,尤其适用于负载分担的场景,而传统技术无法做到。
154.在本技术实施例中,第一报文和第二报文中还可以携带有时间戳,该时间戳标识第二网络设备发出第一报文的时间。当第一网络设备接收到第二报文之后,可以根据第二报文中携带的时间戳和接收到第二报文的时间计算时延等信息。第一网络设备在发送第三报文时也可以在其中打上时间戳,以便第一网络设备根据第三报文的时间戳和接收第三报文的时间计算报文转发的时延。
155.当然,第一报文和第二报文中还可以包括其他类型的网络性能测量信息,本领域技术人员可以根据实际情况自行设计,本技术不再赘述。
156.参见图8,该图为本技术实施例提供的报文发送方法的再一个流程示意图。
157.本技术实施例提供的报文发送方法包括如下步骤:
158.s401:第二网络设备获取第一报文。
159.在本技术实施例中,第二网络设备可以例如为图1所示实施例中的网络设备101。第一报文可以是图6所示实施例中的报文n1。
160.其中,第一报文包括第一转发路径的信息,第一转发路径为从第二网络设备到第一网络设备的转发路径。在srv6场景下,第一转发路径的信息如图6所示实施例表达为携带在srh的sid list。当然,在其他场景下,第一转发路径的信息还可有其他表达方式。例如在sr mpls场景下,第一转发路径的信息还可以表达为携带在第一报文中的标签栈,该标签栈包括与第一转发路径的网络设备对应的标签。
161.可选的,第一报文中还可以包括指示信息,该指示信息用于指示第一报文的目的设备,即第一网络设备根据第一转发路径的信息得到第二转发路径的信息。其中,第二转发路径为第一转发路径的反向路径。指示信息在第一报文的具体位置可以参见图2所示实施例的描述,此处不再赘述。
162.s402:第二网络设备向中间网络设备发送所述第一报文。
163.在本技术实施例中,中间网络设备可以是图1所示实施例中的网络设备102、网络设备103或网络设备104中的其中任意一个。
164.s403:中间网络设备接收第一报文。
165.s404:中间网络设备向第一网络设备发送第一报文。
166.在本技术实施例中,第二网络设备和第一网络设备之间的中间网络设备可以是一个,也可以是多个。中间网络设备根据第一报文中的第一转发路径的信息向下一跳网络设备发送第一报文,直到该第一报文到达第一网络设备。
167.s405:第一网络设备接收第一报文,根据第一报文中携带的第一转发路径的信息得到第二转发路径的信息。
168.在本技术实施例中,若第一转发路径的信息为sid list,那么第一网络设备可以将第一转发路径对应的sid list进行翻转,得到第二转发路径对应的sid list,即第一转发路径的sid list和第二转发路径的sid list包括的sid相同且顺序相反。
169.若第一转发路径的信息为标签栈,那么第一网络设备可以将第一转发路径对应的标签栈进行翻转,得到第二转发路径对应的标签栈,即第一转发路径的标签栈和第二转发
路径的标签包括的标签相同且顺序相反。
170.当然,第一转发路径的信息和第二转发路径的信息还可以有其他形式的表达,本领域技术人员可以根据具体情况自行设计,此处不再赘述。
171.s406:第一网络设备通过中间网络设备向第二网络设备发送第二报文,第二报文中携带第二转发路径的信息。
172.在本技术实施例中,第二报文可以是图6所示实施例中的报文n2,相关描述请见上文,此处不再赘述。
173.由于第一报文中仅携带第一转发路径的信息,不携带第二转发路径的信息,所以相对于传统技术缩短了去程报文的报文长度,提高了报文传输效率,同时实现了往返路径共路。
174.此外,由于本技术实施例不需要依赖控制器,所以能够适应诸如跨域等场景,比传统技术应用能够应用的范围更广。
175.图9示出了上述实施例中所涉及的第一网络设备的一种可能的结构示意图,该第一网络设备900可以实现图2或图6所示实施例中网络设备105的功能,或图7或图8所示实施例中第一网络设备的功能。参阅图9,该第一网络设备900包括:接收单元901和处理单元902和发送单元903。接收单元901和处理单元902,用于支持第一网络设备900执行图2中s109、图6中的s203和s204、图7中的s305或图8中的s405;发送单元903,用于支持第一网络设备900执行图2中的s110、图6中的s205、图7中的s306或图8中的s406;和/或本文所描述的技术中第一网络设备执行的其它过程。例如,接收单元901,用于接收来自第二网络设备的第一报文,所述第一报文包括第一转发路径的信息,所述第一转发路径为所述第一报文从所述第二网络设备发送到所述第一网络设备的转发路径;处理单元902,用于根据所述第一转发路径的信息获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径;发送单元903,用于通过所述第二转发路径向所述第二网络设备发送第二报文,所述第二报文携带有所述第二转发路径的信息。具体执行过程请参考上述图2、图6、图7或图8所示实施例中相应步骤的详细描述,这里不再一一赘述。
176.需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本技术实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
177.图10示出了上述实施例中所涉及的第二网络设备的一种可能的结构示意图,该第二网络设备1000可以实现图2或图6所示实施例中网络设备101的功能,或图7或图8所示实施例中第二网络设备的功能。参阅图10,该第二网络设备1000包括:处理单元1001和发送单元1002。处理单元1001,用于支持第二网络设备1000执行图2中s101、图6中的s201和s204、图7中的s301或图8中的s401;发送单元1002,用于支持第二网络设备1000执行图2中s102、图6中的s202和s204、图7中的s302或图8中的s402;和/或本文所描述的技术中第二网络设备执行的其它过程。例如,处理单元1001,用于获取第一报文,所述第一报文包括第一转发路径的信息,所述第一转发路径为所述第一报文从所述第二网络设备到第一网络设备的转发路径,所述第一转发路径的信息用于所述第一网络设备获得第二转发路径的信息,所述
第二转发路径为所述第一转发路径的反向路径;发送单元1002,用于向所述第一网络设备发送所述第一报文。具体执行过程请参考上述图2、图6、图7或图8所示实施例中相应步骤的详细描述,这里不再一一赘述。
178.需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本技术实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
179.图11示出了上述实施例中所涉及的中间网络设备的一种可能的结构示意图,该中间网络设备1100可以实现图2所示实施例中网络设备102、网络设备103或网络设备104的功能,或图7所示实施例中中间网络设备的功能。参阅图11,该中间网络设备1100包括:处理单元1101和发送单元1102。处理单元1101,用于支持中间网络设备1100执行图2中的s103、s105或s107或图7中的s303;发送单元1102,用于支持中间网络设备1100执行图2中s104、s106或s107或图7中的s304;和/或本文所描述的技术中中间网络设备执行的其它过程。例如,处理单元1101,用于获取第一报文,所述第一报文包括第一转发路径的部分信息,所述第一转发路径为所述第一报文从源设备发送到目的设备的转发路径,所述第一转发路径的部分信息用于所述目的设备获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径,所述第二转发路径从所述目的设备到所述源设备;发送单元1102,用于向所述目的设备发送所述第一报文。具体执行过程请参考上述图2或图7所示实施例中相应步骤的详细描述,这里不再一一赘述。
180.需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本技术实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
181.图12是本技术实施例提供的一种设备1200的结构示意图。图9中的第一网络设备900、图10中第二网络设备1000和图11中的中间网络设备1100可以通过图12所示的设备1200来实现。参见图12,该设备1200包括至少一个处理器1201,通信总线1202以及至少一个网络接口1204,可选地,该设备1200还可以包括存储器1203。
182.处理器1201可以是一个通用中央处理器(central processing unit,cpu)、特定应用集成电路(application-specific integrated circuit,asic)或一个或多个用于控制本技术方案程序执行的集成电路(integrated circuit,ic)。处理器可以用于对报文进行处理,以实现本技术实施例中提供的发送报文的方法。
183.比如,当图9中的第一网络设备900通过图12所示的设备来实现时,该处理器可以用于根据所述第一转发路径的信息获得第二转发路径的信息,所述第二转发路径为所述第一转发路径的反向路径,具体功能实现可参考图2或图6所示实施例中网络设备105或图7或图8所示实施例中第一网络设备的处理部分。又比如,当图10中的第二网络设备1000通过图12所示的设备来实现时,该处理器可以用于获取第一报文,具体功能实现可参考图2或图6所示实施例中网络设备101或图7或图8所示实施例中第二网络设备的处理部分。又比如,当
图11中的中间网络设备1100通过图12所示的设备来实现时,该处理器可以用于获取第一报文,具体功能实现可参考图2所示实施例中网络设备102、网络设备103、网络设备104或图7所示实施例中中间网络设备的处理部分。
184.通信总线1202用于在处理器1201、网络接口1204和存储器1203之间传送信息。
185.存储器1203可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,存储器1203还可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1203可以是独立存在,通过通信总线1202与处理器1201相连接。存储器1203也可以和处理器1201集成在一起。
186.可选地,存储器1203用于存储执行本技术方案的程序代码或指令,并由处理器1201来控制执行。处理器1201用于执行存储器1203中存储的程序代码或指令。程序代码中可以包括一个或多个软件模块。可选地,处理器1201也可以存储执行本技术方案的程序代码或指令,在这种情况下处理器1201不需要到存储器1203中读取程序代码或指令。
187.网络接口1204可以为收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(ran)或无线局域网(wireless local area networks,wlan)等。在本技术实施例中,网络接口1204可以用于接收分段路由网络中的其他节点发送的报文,也可以向分段路由网络中的其他节点发送报文。网络接口1204可以为以太接口(ethernet)接口、快速以太(fast ethernet,fe)接口或千兆以太(gigabit ethernet,ge)接口等。
188.在具体实现中,作为一种实施例,设备1200可以包括多个处理器,例如图12中所示的处理器1201和处理器405。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
189.图13是本技术实施例提供的一种设备1300的结构示意图。图9中的第一网络设备900、图10中第二网络设备1000和图11中的中间网络设备1100可以通过图13所示的设备来实现。参见图13所示的设备结构示意图,设备1300包括主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(main processing unit,mpu)或路由处理卡(route processor card),主控板包括cpu和存储器,主控板负责对设备1300中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(line processing unit,lpu)或线卡(line card),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下设备1300也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(switch fabric unit,sfu)。接口板包括cpu、存储器、转发引擎和接口卡(interface card,ic),其中接口卡可以包括一个或多个网络接口。网络接口可以为ethernet接口、fe接口或ge接口等。cpu与存储器、转发引擎和接口卡分别通信连接。存储器用于存储转发表。转发引擎用于
基于存储器中保存的转发表转发接收到的报文,如果接收到的报文的目的地址为设备1300的ip地址,则将该报文发送给主控板或接口板的cpu进行处理;如果接收到的报文的目的地址不是设备1300的ip地址,则根据该目的地查转发表,如果从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。转发引擎可以是网络处理器(network processor,np)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板cpu。在一些实施例中,cpu也可执行转发引擎的功能,比如基于通用cpu实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过asic或现场可编程门阵列(field programmable gate array,fpga)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
190.本技术实施例提供了一种网络系统,该系统用于实现前述方法实施例中的报文发送方法。该系统包括第一网络设备1201、第二网络设备1202、中间网络设备1203中的至少两个。第一网络设备1201可以实现图9所示实施例中第一网络设备900的功能,第二网络设备1202可以实现图10所示的实施例中第二网络设备1000的功能,中间网络设备1203可以实现图11所示的实施例中中间网络设备1100的功能。具体执行过程请参考上述图2、图6、图7或图8所示实施例中相应步骤的详细描述,这里不再一一赘述。
191.本技术实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述图2或图6所示实施例中网络设备101-网络设备105的方法,或执行图7或图8所示实施例中第一网络设备、第二网络设备或中间网络设备的方法。
192.可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本技术并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器rom,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
193.示例性的,该芯片系统可以是fpga,可以是asic,还可以是系统芯片(system on chip,soc),还可以是cpu,还可以是np,还可以是数字信号处理电路(digital signal processor,dsp),还可以是微控制器(micro controller unit,mcu),还可以是可编程控制器(programmable logic device,pld)或其他集成芯片。
194.应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
195.本技术实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行前述实施例中的方法。
196.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内
容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
197.本技术中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本技术中认为“a和/或b”包括单独a,单独b,和a b。
198.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
199.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
200.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
201.另外,在本技术各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
202.所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
203.本领域技术人员应该可以意识到,在上述一个或多个示例中,本技术所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
204.以上所述的具体实施方式,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的具体实施方式而已。
205.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献