CN114615179A - 报文传输方法、设备及系统 - Google Patents
报文传输方法、设备及系统 Download PDFInfo
- Publication number
- CN114615179A CN114615179A CN202011443680.6A CN202011443680A CN114615179A CN 114615179 A CN114615179 A CN 114615179A CN 202011443680 A CN202011443680 A CN 202011443680A CN 114615179 A CN114615179 A CN 114615179A
- Authority
- CN
- China
- Prior art keywords
- source
- forwarding
- message
- packet
- network device
- 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 149
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000005538 encapsulation Methods 0.000 claims description 150
- 230000006870 function Effects 0.000 claims description 81
- 238000004891 communication Methods 0.000 claims description 77
- 238000004590 computer program Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 21
- 230000009286 beneficial effect Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 8
- 239000010410 layer Substances 0.000 description 8
- 238000004904 shortening Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 241000238633 Odonata Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种报文传输方法、设备及系统,属于网络技术领域。该系统包括源端设备、目的端设备和多个网络设备;该源端设备用于发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备;该第一转发路径上的第一网络设备用于在接收到该第一报文时,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文。由此,如果该第一源路由信息中的端口标识指示的出端口处于非工作状态导致该第一转发路径故障,该第一网络设备可以根据该目的标识转发该第一报文,有助于提高报文传输的灵活性和可靠性。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种报文传输方法、设备及系统。
背景技术
报文传输系统通常包括通信网络以及接入该通信网络的接入设备,通信网络中包括多个网络设备,网络设备通过转发不同接入设备的报文,实现该不同接入设备的通信。示例地,接入该通信网络的接入设备可以包括源端设备和目的端设备,该通信网络中的网络设备可以将该源端设备的报文转发给该目的端设备,实现该源端设备与该目的端设备的通信。
目前,报文传输系统中包括两种转发方式,分别为源路由转发方式和转发表转发方式。在源路由转发方式中,源端设备发送的报文携带源路由信息,该源路由信息包括该源端设备到目的端设备的转发路径上的各个网络设备的端口标识,该转发路径上的每个网络设备接收到该报文后,根据该报文携带的该网络设备的端口标识确定该报文的出端口,通过该报文的出端口转发该报文。在转发表转发方式中,源端设备发送的报文携带目的标识(例如目的端设备的地址),每个网络设备接收到该报文后,根据该报文携带的目的标识查找本地转发表,以从该网络设备的端口中确定该报文的出端口,通过该报文的出端口转发该报文。
但是,对于源路由转发方式,在转发路径故障时,该转发路径上的网络设备通常会将报文丢弃或者返回给源端设备使该源端设备对该报文重新选路,而丢弃报文容易导致报文传输的可靠性较差,将报文返回给源端设备重新选路容易导致报文的传输时延较长;对于转发表转发方式,网络设备查找本地转发表确定报文的出端口的耗时较长,导致报文的传输时延较长;因此目前的报文传输方案的灵活性和可靠性较差。
发明内容
本申请提供了一种报文传输方法、设备及系统,有助于提高报文传输的灵活性和可靠性。本申请的技术方案如下:
第一方面,提供了一种报文传输系统,包括:源端设备、目的端设备和多个网络设备;该源端设备用于发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备;该第一转发路径上的第一网络设备用于在接收到该第一报文时,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文。
本申请提供的技术方案,由于源端设备发出的第一报文携带第一源路由信息和目的标识,第一转发路径上的第一网络设备接收到该第一报文后,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文。由此,如果该第一转发路径未故障,该第一网络设备可以根据该第一源路由信息转发该第一报文,有助于缩短该第一报文从该源端设备到该目的端设备的传输时延,如果该第一源路由信息中的端口标识指示的出端口处于非工作状态导致该第一转发路径故障,该第一网络设备可以根据该目的标识转发该第一报文,有助于避免由于该第一转发路径故障导致该第二报文丢失。本申请提供的技术方案可以降低丢包率且缩短报文传输时延,有助于提高报文传输的灵活性和可靠性。
可选地,第一网络设备用于如果第一报文满足源路由转发条件,根据第一源路由信息转发该第一报文,如果该第一报文不满足该源路由转发条件但满足转发表转发条件,根据目的标识转发该第一报文。
本申请提供的技术方案,第一网络设备在第一报文不满足同转发条件时采用不同转发方式转发该第一报文,有助于提高该第一报文传输的灵活性。
可选地,第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效。示例地,该第一报文还携带源路由类型(type),该源路由类型指示该第一报文的封装类型为源路由封装。
可选地,源路由转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,且该第一源路由信息中的该第一网络设备的端口标识指示的出端口处于工作状态,例如UP状态。其中,源端设备发送出的第一报文携带的该源路由有效性标识通常指示该第一报文封装的源路由有效。
可选地,转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由无效。其中,如果第一网络设备接收到的第一报文满足该转发表转发条件,则该第一报文可以是经过第一转发路径上的其他网络设备转发给该第一网络设备的,该第一网络设备通常不是该第一转发路径的入口(ingress)设备。该其他网络设备在确定该第一报文携带的第一源路由信息中该其他网络设备的端口标识指示的端口处于非工作状态时,对该第一报文携带的源路由有效性标识进行修改,使修改后的源路由有效性标识指示该第一报文封装的源路由无效。
可选地,转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该第一网络设备的端口标识指示的出端口处于非工作状态,例如DOWN状态。其中,如果第一网络设备接收到的第一报文满足该转发表转发条件,该第一网络设备可以为该第一转发路径的入口设备或者其他设备。
可选地,转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的第一网络设备的端口标识指示的出端口处于非工作状态,该第一网络设备具体用于:如果该第一报文不满足源路由转发条件但满足该转发表转发条件,设置该源路由有效性标识指示该第一报文封装的源路由无效,根据该目的标识转发该第一报文。
本申请提供的技术方案,第一网络设备在第一源路由信息中的该第一网络设备的端口标识指示的出端口处于非工作状态时设置该第一报文携带的源路由有效性标识指示该第一报文封装的源路由无效,可以便于后续其他网络设备接收到该第一报文后,确定该第一报文不满足源路由转发条件,并根据该第一报文携带的目的标识转发该第一报文。
可选地,转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的第一网络设备的端口标识指示的出端口处于非工作状态,该第一网络设备还用于如果该第一报文不满足源路由转发条件但满足该转发表转发条件,向源端设备发送故障通知消息,该故障通知消息指示第一转发路径故障。
本申请提供的技术方案,第一网络设备在第一报文携带的源路由有效性标识指示该第一报文封装的源路由有效,但是该第一报文携带的第一源路由信息中的该第一网络设备的端口标识指示的出端口处于非工作状态时向源端设备发送故障通知消息告知第一转发路径故障,可以便于该源端设备获知该第一转发路径故障。
可选地,该源端设备还用于在接收到该故障通知消息之后,将该第一转发路径设置为无效转发路径。
本申请提供的技术方案,源端设备在接收到用于指示第一转发路径故障的故障通知消息之后,根据该故障通知消息将该第一转发路径设置为无效转发路径,可以避免该源端设备后续在对报文进行源路由选路时选取到故障的该第一转发路径。
可选地,该源端设备还用于在接收到该故障通知消息之后,发送第二报文,该第二报文携带第二源路由信息和该目的标识,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识;该第二转发路径上的第二网络设备用于在接收到该第二报文时,根据该第二源路由信息或该目的标识转发该第二报文,且优先根据该第二源路由信息转发该第二报文。
本申请提供的技术方案,源端设备在接收到用于指示第一转发路径故障的故障通知消息之后,为第二报文选取的源路由路径是不同于该第一转发路径的第二转发路径,该源端设备选取该第二转发路径向目的端设备发送携带第二源路由信息和目的标识的第二报文,可以提高该第二报文传输的灵活性和可靠性。例如,如果该第二转发路径未故障,该第二转发路径上的第二网络设备可以根据该第二源路由信息转发该第二报文,有助于缩短该第二报文从该源端设备到该目的端设备的传输时延,如果该第二源路由信息中的端口标识指示的出端口处于非工作状态导致该第二转发路径故障,该第二网络设备可以根据该目的标识转发该第二报文,有助于避免由于该第二转发路径故障导致该第二报文丢失。
可选地,该源端设备具体用于在满足源路由封装条件时发送该第一报文;其中,该源路由封装条件包括:该源端设备和该目的端设备均支持源路由封装功能,且该第一转发路径上的网络设备均支持源路由转发功能。其中,网络设备通常都支持转发表转发功能,接入设备通常都支持以太封装功能,如果网络设备支持源路由转发功能,则该网络设备同时支持源路由转发功能和转发表转发功能,如果接入设备支持源路由封装功能,则该接入设备同时支持源路由封装功能和以太封装功能,本申请中,可以将同时支持源路由转发功能和转发表转发功能的网络设备称为双模转发设备,将仅支持转发表转发功能而不支持源路由转发功能的网络设备称为单模转发设备,将同时支持源路由封装功能和以太封装功能的接入设备称为双模接入设备,将仅支持以太封装功能的接入设备称为单模接入设备。
本申请提供的技术方案,源端设备在该源端设备和目的端设备均支持源路由封装功能(也即是该源端设备和该目的端设备均为双模接入设备),且第一转发路径上的网络设备均支持源路由转发功能(也即是第一转发路径上的网络设备均为双模转发设备)的情况下,发送第一报文,可以便于该第一报文以源路由转发方式被转发至该目的端设备以及便于该目的端设备能够对该第一报文进行解析。
可选地,源端设备还用于在不满足该源路由封装条件时发送第三报文,该第三报文携带该目的标识,该第三报文的封装类型为以太封装。其中,如果不满足该源路由封装条件,则该目的端设备为单模接入设备,和/或,该第一转发路径上包括单模转发设备,该源端设备通常为双模接入设备,以使得该源端设备具备判断是否满足该源路由封装条件的功能,从而确定发送源路由报文还是发送以太报文。
本申请提供的技术方案,源端设备在不满足源路由封装条件时发送第三报文,该第三报文为以太报文,因此可以保证本申请提供的报文传输方法与传统的以太报文传输方法兼容。
可选地,源端设备还用于在发送第一报文之前,根据该源端设备的路径表确定第一转发路径;其中,该路径表中包括与目的端设备相关的至少一个路径表项,该至少一个路径表项中的每个路径表项指示该源端设备与该目的端设备之间的一条转发路径。
本申请提供的技术方案,源端设备在发送第一报文之前确定第一转发路径,可以便于该源端设备生成的该第一报文携带第一源路由信息来指示该第一转发路径。
可选地,源端设备还用于在根据该源端设备的路径表确定第一转发路径之前,根据报文传输系统的网络拓扑构建路径表,或者,从控制设备接收路径表。
本申请提供的技术方案,源端设备通过自行构建路径表或者从控制设备接收路径表,可以便于该源端设备根据该路径表确定第一转发路径。
可选地,第一网络设备还用于在根据目的标识转发第一报文之前,根据报文传输系统的网络拓扑构建转发表,或者,从控制设备接收转发表;其中,该转发表中包括至少一个转发表项,该至少一个转发表项中的每个转发表项指示一个目的标识与该第一网络设备的一个端口的映射关系。
本申请提供的技术方案,第一网络设备通过自行构建转发表或者从控制设备接收转发表,可以便于该第一网络设备根据第一报文携带的目的标识和该路径表确定第一报文的出端口。
可选地,第一网络设备用于在接收到第一报文时,如果该第一报文满足源路由转发条件但该第一网络设备的第一跳设备不支持源路由转发功能,根据该第一报文携带的目的标识转发该第一报文,该第一跳设备为该第一网络设备的下一跳设备;
该第一跳设备用于在接收到该第一报文时,根据该第一报文携带的目的标识转发该第一报文;
该第一网络设备的第二跳设备用于在接收到该第一报文时,如果该第一报文满足源路由转发条件且该第一网络设备的第三跳设备支持源路由转发功能,根据该第一报文携带的第一源路由信息转发该第一报文,该第二跳设备为该第一跳设备的下一跳设备,该第三跳设备为该第二跳设备的下一跳设备。
本申请提供的技术方案,第一网络设备在第一报文满足源路由转发条件但该第一网络设备的第一跳设备不支持源路由转发功能的情况下,根据该第一报文携带的目的标识转发该第一报文,该第一跳设备根据该第一报文携带的目的标识将该第一报文转发至该第一网络设备的第二跳设备后,该第二跳设备在该第一报文满足源路由转发条件且该第二跳设备的下一跳设备支持源路由转发功能的情况下,根据该第一报文携带的第一源路由信息转发该第一报文,该报文转发方式可以应用于转发路径中包括不支持源路由转发功能的设备的场景,在通信网络具有更好的普适性。
第二方面,提供了一种报文传输方法,应用于源端设备,该方法包括:发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备,以使得该第一转发路径上的第一网络设备根据该第一源路由信息或该目的标识转发该第一报文,该第一网络设备优先根据该第一源路由信息转发该第一报文。
可选地,该第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效。
可选地,该方法还包括:在发送该第一报文之后,如果接收到指示该第一转发路径故障的故障通知消息,将该第一转发路径设置为无效转发路径。
可选地,该方法还包括:在发送该第一报文之后,如果接收到指示该第一转发路径故障的故障通知消息,发送第二报文,该第二报文携带第二源路由信息和该目的标识,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识,以使得该第二转发路径上的第二网络设备根据该第二源路由信息或该目的标识转发该第二报文,该第二网络设备优先根据该第二源路由信息转发该第二报文。
可选地,发送第一报文,包括:在满足源路由封装条件时发送该第一报文;其中,该源路由封装条件包括:该源端设备和该目的端设备均支持源路由封装功能,且该第一转发路径上的网络设备均支持源路由转发功能。
可选地,该方法还包括:在不满足该源路由封装条件时发送第三报文,该第三报文携带该目的标识,该第三报文的封装类型为以太封装。
可选地,该方法还包括:在发送该第一报文之前,根据该源端设备的路径表确定该第一转发路径;其中,该路径表中包括与该目的端设备相关的至少一个路径表项,该至少一个路径表项中的每个路径表项指示该源端设备与该目的端设备之间的一条转发路径。
可选地,该方法还包括:在根据该源端设备的路径表确定该第一转发路径之前,根据报文传输系统的网络拓扑构建该路径表,或者,从控制设备接收该路径表。
该第二方面以及该第二方面的各种可选实现方式的技术效果可以参考上述第一方面以及该第一方面的各种可选实现方式的技术效果,在此不在赘述。
第三方面,提供了一种报文传输方法,应用于目标网络设备,该方法包括:在接收到携带第一源路由信息和目的标识的第一报文时,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文;其中,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备。
可选地,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文,包括:如果该第一报文满足源路由转发条件,根据该第一源路由信息转发该第一报文;如果该第一报文不满足该源路由转发条件但满足转发表转发条件,根据该目的标识转发该第一报文。
可选地,该第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效。
可选地,该源路由转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,且该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于工作状态。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由无效。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于非工作状态。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于非工作状态,如果该第一报文不满足源路由转发条件但满足转发表转发条件,根据该目的标识转发该第一报文,包括:如果该第一报文不满足源路由转发条件但满足该转发表转发条件,设置该源路由有效性标识指示该第一报文封装的源路由无效;根据该目的标识转发该第一报文。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于非工作状态,该方法还包括:如果该第一报文不满足源路由转发条件但满足该转发表转发条件,向该源端设备发送故障通知消息,该故障通知消息指示该第一转发路径故障。
可选地,该方法还包括:在接收到携带第二源路由信息和该目的标识的第二报文时,根据该第二源路由信息或该目的标识转发该第二报文,且优先根据该第二源路由信息转发该第二报文;其中,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识。
可选地,该方法还包括:在根据该目的标识转发该第一报文之前,根据报文传输系统的网络拓扑构建转发表,或者,从控制设备接收转发表;其中,该转发表中包括至少一个转发表项,该至少一个转发表项中的每个转发表项指示一个目的标识与该目标网络设备的一个端口的映射关系。
可选地,该方法还包括:在接收到携带该目的标识的第三报文时,根据该目的标识转发该第三报文,该第三报文的封装类型为以太封装。
可选地,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文,包括:如果该第一报文满足源路由转发条件但该第一网络设备的下一跳设备不支持源路由转发功能,根据该第一报文携带的目的标识转发该第一报文,如果该第一报文满足源路由转发条件且该第一网络设备的下一跳设备支持源路由转发功能,根据该第一报文携带的第一源路由信息转发该第一报文。
可选地,该目标网络设备是第一网络设备或第二网络设备。
该第三方面以及该第三方面的各种可选实现方式的技术效果可以参考上述第一方面以及该第一方面的各种可选实现方式的技术效果,在此不在赘述。
第四方面,提供了一种源端设备,该源端设备包括:
发送模块,用于发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备,以使得该第一转发路径上的第一网络设备根据该第一源路由信息或该目的标识转发该第一报文,该第一网络设备优先根据该第一源路由信息转发该第一报文。
可选地,该第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效。
可选地,该源端设备还包括:设置模块,用于在发送该第一报文之后,如果接收到指示该第一转发路径故障的故障通知消息,将该第一转发路径设置为无效转发路径。
可选地,该发送模块,还用于在发送该第一报文之后,如果接收到指示该第一转发路径故障的故障通知消息,发送第二报文,该第二报文携带第二源路由信息和该目的标识,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识,以使得该第二转发路径上的第二网络设备根据该第二源路由信息或该目的标识转发该第二报文,该第二网络设备优先根据该第二源路由信息转发该第二报文。
可选地,该发送模块,具体用于在满足源路由封装条件时发送该第一报文;其中,该源路由封装条件包括:该源端设备和该目的端设备均支持源路由封装功能,且该第一转发路径上的网络设备均支持源路由转发功能。
可选地,该发送模块,还用于在不满足该源路由封装条件时发送第三报文,该第三报文携带该目的标识,该第三报文的封装类型为以太封装。
可选地,该源端设备还包括:确定模块,用于在发送该第一报文之前,根据该源端设备的路径表确定该第一转发路径;其中,该路径表中包括与该目的端设备相关的至少一个路径表项,该至少一个路径表项中的每个路径表项指示该源端设备与该目的端设备之间的一条转发路径。
可选地,该源端设备还包括:构建模块,用于在根据该源端设备的路径表确定该第一转发路径之前,根据报文传输系统的网络拓扑构建该路径表;或者,接收模块,用于在根据该源端设备的路径表确定该第一转发路径之前,从控制设备接收该路径表。
该第四方面以及该第四方面的各种可选实现方式的技术效果可以参考上述第一方面以及该第一方面的各种可选实现方式的技术效果,在此不在赘述。
第五方面,提供了一种目标网络设备,该目标网络设备包括:
转发模块,用于在接收到携带第一源路由信息和目的标识的第一报文时,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文;其中,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备。
可选地,该转发模块,具体用于:如果该第一报文满足源路由转发条件,根据该第一源路由信息转发该第一报文;如果该第一报文不满足该源路由转发条件但满足转发表转发条件,根据该目的标识转发该第一报文。
可选地,该第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效。
可选地,该源路由转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,且该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于工作状态。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由无效。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于非工作状态。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于非工作状态,该转发模块,具体用于:如果该第一报文不满足源路由转发条件但满足该转发表转发条件,设置该源路由有效性标识指示该第一报文封装的源路由无效;根据该目的标识转发该第一报文。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于非工作状态,该目标网络设备还包括:发送模块,用于如果该第一报文不满足源路由转发条件但满足该转发表转发条件,向源端设备发送故障通知消息,该故障通知消息指示第一转发路径故障。
可选地,该转发模块,还用于在接收到携带第二源路由信息和该目的标识的第二报文时,根据该第二源路由信息或该目的标识转发该第二报文,且优先根据该第二源路由信息转发该第二报文;其中,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识。
可选地,该目标网络设备还包括:构建模块,用于在转发模块根据目的标识转发第一报文之前,根据报文传输系统的网络拓扑构建转发表;或者,接收模块,用于在转发模块根据目的标识转发第一报文之前,从控制设备接收转发表;其中,该转发表中包括至少一个转发表项,该至少一个转发表项中的每个转发表项指示一个目的标识与该目标网络设备的一个端口的映射关系。
可选地,该转发模块,还用于在接收到携带该目的标识的第三报文时,根据该目的标识转发该第三报文,该第三报文的封装类型为以太封装。
可选地,该目标网络设备是第一网络设备或第二网络设备。
该第五方面以及该第五方面的各种可选实现方式的技术效果可以参考上述第一方面以及该第一方面的各种可选实现方式的技术效果,在此不在赘述。
第六方面,提供了一种通信设备,包括存储器和处理器;
该存储器用于存储计算机程序;
该处理器用于执行该存储器中存储的计算机程序以执行如上述第二方面或第二方面的任一可选方式所提供的报文传输方法,或者,执行如上述第三方面或第三方面的任一可选方式所提供的报文传输方法。
可选地,该通信设备是服务器或目标网络设备,该目标网络设备是上述第一网络设备或第二网络设备。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时实现如上述第二方面或第二方面的任一可选方式所提供的报文传输方法,或者,实现如上述第三方面或第三方面的任一可选方式所提供的报文传输方法。
第八方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行如上述第二方面或第二方面的任一可选方式所提供的报文传输方法,或者,执行如上述第三方面或第三方面的任一可选方式所提供的报文传输方法。
第九方面,提供一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述第二方面或第二方面的任一可选方式所提供的报文传输方法,或者,实现如上述第三方面或第三方面的任一可选方式所提供的报文传输方法。
第十方面,提供一种报文传输系统,包括:源端设备和目标网络设备;
该源端设备为如上述第四方面所提供的源端设备,该目标网络设备为如上述第五方面所提供的目标网络设备;或者,该源端设备和该目标网络设备中的至少一个为如上述第六方面所提供的设备。
可选地,该源端设备是服务器,该目标网络设备是上述第一网络设备或第二网络设备。
本申请提供的技术方案带来的有益效果是:
本申请提供的报文传输方法、设备及系统,该报文传输系统包括源端设备、目的端设备和多个网络设备,该源端设备发送出的报文携带源路由信息和目的标识,该源路由信息包括转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备,该转发路径上的网络设备接收到该报文后,根据该源路由信息或该目的标识转发该报文,且优先根据该源路由信息转发该报文。由此,如果该转发路径未故障,该转发路径上的网络设备可以根据该源路由信息转发该报文,有助于缩短该报文从该源端设备到该目的端设备的传输时延,如果该源路由信息中的端口标识指示的出端口处于非工作状态导致该转发路径故障,该转发路径上的网络设备可以根据该目的标识转发该报文,有助于避免由于该转发路径故障导致该报文丢失。本申请提供的技术方案可以降低丢包率且缩短报文传输时延,有助于提高报文传输的灵活性和可靠性。
附图说明
图1是本申请实施例所涉及的一种实施环境的示意图;
图2是本申请实施例提供的一种报文传输方法的流程图;
图3是本申请实施例提供的另一种报文传输方法的流程图;
图4是本申请实施例提供的再一种报文传输方法的流程图;
图5是本申请实施例提供的又一种报文传输方法的流程图;
图6是本申请实施例提供的又一种报文传输方法的流程图;
图7是本申请实施例提供的一种报文传输方法的示意图;
图8是本申请实施例提供的另一种报文传输方法的示意图;
图9是本申请实施例提供的再一种报文传输方法的示意图;
图10是本申请实施例提供的又一种报文传输方法的示意图;
图11是本申请实施例提供的又一种报文传输方法的示意图;
图12是本申请实施例提供的一种源端设备的逻辑结构示意图;
图13是本申请实施例提供的一种目标网络设备的逻辑结构示意图;
图14是本申请实施例提供的一种通信设备的硬件结构示意图;
图15是本申请实施例提供的一种网络设备的硬件结构示意图;
图16是本申请实施例提供的一种报文传输系统的结构示意图。
具体实施方式
为使本申请的原理、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
应理解的是,网络设备对报文转发的过程中,通常可以对报文进行一些处理,例如对报文头中的一些控制信息进行处理,但是网络设备通常不会改变该报文的关键内容,这些关键内容例如但不限于该报文的负载等。鉴于此,在本申请中,为了便于描述,将网络设备接收到的报文和转发出的报文采用同一称呼描述。例如,在下述各个实施例中,类似“第一网络设备在接收到第一报文时,根据该第一报文携带的第一源路由信息或目的标识转发该第一报文”的描述中,将该第一网络设备接收到的报文和转发出的报文均称为第一报文,可以理解的是,该第一网络设备接收到的第一报文与转发出的第一报文的关键内容相同,报文头中的控制信息可以不同,关于第二报文以及第三报文的描述与此同理。
在对本申请实施例进行详细介绍之前,首先介绍本申请的实施环境。
本申请提供的技术方案涉及的实施环境是一种通信系统,该通信系统可以是报文传输系统。其中,该报文传输系统可以包括通信网络以及接入该通信网络的接入设备,该通信网络包括多个网络设备,网络设备通过转发不同接入设备的报文,实现该不同接入设备的通信。其中,该通信网络可以是数据中心网络(data center network,DCN)、城域网络、广域网络或园区网络等,本申请实施例对通信网络的类型不做限定,在一些实施场景中,该通信网络又可以称为计算网络,例如,高性能计算(high performance computing,HPC)网络。可选地,根据网络拓扑的不同,该通信网络可以是2级Clos网络或者3级Clos网络,2级Clos网络又可以称为二级胖树网络,本申请实施例对此不做限定。
示例地,请参考图1,其示出了本申请实施例所涉及的一种实施环境的示意图,该实施环境提供一种报文传输系统,该报文传输系统包括通信网络00以及接入该通信网络00的接入设备011~013,该通信网络包括多个网络设备001~005,网络设备001~005通过转发接入设备011~013的报文,实现接入设备011~013之间的通信。
其中,网络设备001~005中的每个网络设备可以是交换机、路由器(router)、虚拟交换机或虚拟路由器等在通信网络中用于转发报文的设备。网络设备001~005可以是相同的网络设备,例如,网络设备001~005均可以是交换机;或者,网络设备001~005可以是不同的网络设备,例如,网络设备001~005中的一部分是交换机,另一部分是路由器。
其中,接入设备011~013中的每个接入设备可以是主机、终端、服务器或虚拟机等各种类型的设备。接入设备011~013可以是相同类型的设备,例如,接入设备011~013均可以是服务器;或者,接入设备011~013可以是不同类型的设备,例如,接入设备011是服务器,接入设备012是终端、接入设备013是虚拟机。其中,该终端可以包括智能手机、平板电脑、台式计算机、物联网(internet of things,IoT)设备等,IoT设备可以是家用电器、智能家居、交通工具、工具设备、服务设备、服务设施或可穿戴设备等,IoT设备例如但不限于:智能冰箱、智能洗衣机、智能水表、智能电表、智能汽车、车载设备或可穿戴设备等等。
可选地,如图1所示,该通信网络00还包括控制设备000,该控制设备000分别与网络设备001~005通信连接,且该控制设备000还可以与接入设备011~013通信连接(图1中未示出)。为了便于与不同网络设备之间的通信连接以及网络设备与接入设备之间的通信连接进行区分,图1中以虚线的形式示出了控制设备000与网络设备001~005之间的通信连接。其中,该控制设备000用于对网络设备001~005以及接入设备011~013进行管理,网络设备001~005可以在该控制设备000的控制下转发报文,该接入设备011~013可以在该控制设备000的控制下发送以及接收报文。其中,该控制设备000可以进行网络拓扑采集、资源分配、路径计算、转发表计算并向接入设备011~013推送路径信息以及向网络设备001~005推送转发表,接入设备011~013根据该控制设备000推送的路径信息收发报文,网络设备001~005可以根据该控制设备000推送的转发表转发报文。其中,该控制设备000可以是控制器,具体可以是服务器、终端或转发设备(交换机、路由器、虚拟交换机或虚拟路由器等)。如果该控制设备000是转发设备,该控制设备000可以是通信网络中的指定网络设备(例如人工指定),或者是通过选举的方式从该通信网络中的多个网络设备中选举出的设备。
可选地,如图1所示,该通信网络00包括汇聚层和接入层,网络设备001~002位于汇聚层,网络设备003~005位于接入层,接入设备011通过网络设备003接入该通信网络00,接入设备012通过网络设备004接入该通信网络00,接入设备013通过网络设备005接入该通信网络00。本领域技术人员容易理解,该图1所示的通信网络00可以为2级Clos网络,其又可以称为叶-脊(leaf-spine)拓扑网络,位于汇聚层的网络设备001~002可以为脊(spine)设备,位于接入层的网络设备003~005可以为叶(leaf)设备,每个spine设备与所有的leaf设备连接,每个leaf设备与所有的spine设备连接(也即是spine设备与leaf设备全互连)。
本领域技术人员应当理解,该图1所示的报文传输系统仅用于举例,并非用于限制本申请实施例的技术方案,在实现过程中,该报文传输系统还可能包括其他设备,可以根据需要来配置网络设备的数量、接入设备的数量以及网络设备的之间的连接关系,网络设备与接入设备的连接关系,并且该通信网络的拓扑可以是其他拓扑。例如,spine设备与leaf设备可以不是全互连,再比如,汇聚层中的网络设备可以互连,又比如,通信网络还可以包括位于汇聚层之上的核心层,本申请实施例在此不再赘述。
通信网络中的网络设备通过转发不同接入设备的报文,实现不同接入设备的通信。按照报文传输方向,接入设备可以包括源端设备(也即是报文的发出端,该源端设备通常是报文的构造者)和目的端设备(也即是报文的目的端,该目的端设备通常是报文的最终接收者),网络设备可以将该源端设备的报文转发给该目的端设备。目前,通信网络中存在两种转发方式,分别为源路由转发方式和转发表转发方式。在源路由转发方式中:源端设备发送的报文携带源路由信息,该源路由信息包括该源端设备到目的端设备的转发路径上的各个网络设备的端口标识,每个网络设备接收到该报文后,根据该报文携带的该网络设备的端口标识确定该报文的出端口,通过该报文的出端口转发该报文。在转发表转发方式中:源端设备发送的报文携带目的标识(例如目的端设备的地址),每个网络设备接收到该报文后,根据该报文携带的目的标识查找本地转发确定该报文的出端口,通过该报文的出端口转发该报文。
但是,在源路由转发方式中,转发路径的决策在于源端设备,源端设备在发送出报文之后,如果转发路径故障,该转发路径上的网络设备通常会将报文丢弃或者返回给源端设备使该源端设备对该报文重新选路,丢弃报文容易导致报文传输的可靠性较差,将报文返回给源端设备重新选路导致报文的传输时延较长,且可能引发网络拥塞。在转发表转发方式中,由于网络设备需要查找本地转发表才能确定报文的出端口,网络设备查找本地转发表确定报文的出端口的耗时较长,导致报文的传输时延较长。例如,以网络设备的芯片的时钟频率为1GHz(吉赫兹)为例,每个网络设备完成一次查表转发需要耗时3~40ns(纳秒),报文转发3跳的耗时长达100ns,在数据中心最常见的二级胖树网络中,报文从源端设备到达目的端设备的传输时延长达100ns。如果按大规模组网下的dragonfly/dragonfly+拓扑来看,报文从源端设备到达目的端设备多达5~7跳,查表转发的耗时会更长,导致报文的传输时延会更长。
有鉴于此,本申请实施例提供了一种报文传输方法、设备及系统,该报文传输系统包括源端设备、目的端设备和多个网络设备,该源端设备发送出的报文可以携带源路由信息和目的标识,该源路由信息包括转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备,该转发路径上的网络设备接收到该报文后,根据该源路由信息或该目的标识转发该报文,且优先根据该源路由信息转发该报文。由此,如果该转发路径未故障,该转发路径上的网络设备可以根据该源路由信息转发该报文,有助于缩短该报文从该源端设备到该目的端设备的传输时延,如果该源路由信息中的端口标识指示的出端口处于非工作状态导致该转发路径故障,该转发路径上的网络设备可以根据该目的标识转发该报文,有助于避免由于该转发路径故障导致该报文丢失。本申请提供的技术方案可以避免降低丢包率且缩短报文传输时延,有助于提高报文传输的灵活性和可靠性。本申请实施例提供的技术方案尤其适用于对传输性能(例如传输时延、丢包率)要求较高的业务,例如人工智能、实时大数据分析、深度学习、分布式计算、分布式存储以及计算存储分离等业务。下面结合附图介绍本申请的详细实现方案。
首先介绍本申请实施例提供的报文传输方法。
示例地,请参考图2,其示出了本申请实施例提供的一种报文传输方法的流程图。该报文传输方法可以应用于报文传输系统,该报文传输系统可以包括源端设备、目的端设备和多个网络设备。例如,该报文传输系统可以是图1所示的报文传输系统。参见图2,该方法可以包括如下几个步骤:
步骤201、源端设备发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备。
可选地,源端设备首先确定该源端设备与目的端设备之间的第一转发路径,然后根据该第一转发路径和该目的端设备生成该第一报文,使该第一报文携带第一源路由信息和目的标识。其中,该第一源路由信息包括该第一转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备,例如该目的标识可以是该目的端设备的设备标识,该目的端设备的网际协议(Internet Protocol,IP)地址、该目的端设备的位置标识(locationIdentity,LID)或者是其他用于指示该目的端设备的标识。本领域技术人员可以理解,本申请实施例以第一报文携带网络设备的端口标识为例说明,实际应用中,该第一报文携带的可以是任何能够指示网络设备的端口的指示信息,本申请实施例对此不做限定。
可选地,第一报文的封装类型为源路由封装,因此该第一报文可以称为源路由报文。该第一报文还可以携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效,例如指示该第一报文中的第一源路由信息有效或无效。示例地,该源路由有效性标识的值可以是“1”或“0”,“1”用于指示该第一报文封装的源路由有效,“0”用于指示该第一报文封装的源路由无效,或者,“0”用于指示该第一报文封装的源路由有效,“1”用于指示该第一报文封装的源路由无效,本申请实施例对此不做限定。在本申请实施例中,源端设备生成的该第一报文中的该源路由有效性标识指示该第一报文封装的源路由有效。
可选地,第一报文还可以携带源路由类型,该源路由类型指示该第一报文的封装类型为源路由封装,以便于接收到该第一报文的网络设备根据该源路由类型确定该第一报文的封装类型为源路由封装,本申请实施例对此不做限定。容易理解,该第一报文还可以携带报文负载(payload),在本申请实施例中,第一源路由信息、目的标识、源路由有效性标识以及该源路由类型均可以携带在该第一报文的头部。
源端设备生成第一报文后可以发送该第一报文。可选地,该源端设备发送第一报文可以是该源端设备通过第一转发路径向目的端设备发送该第一报文,该第一报文可以经过该第一转发路径上的网络设备转发到达该目的端设备。本领域技术人员容易理解,该源端设备通过该第一转发路径向该目的端设备发送该第一报文时,首先接收到该第一报文的是该第一转发路径上的首个网络设备(也即是该第一转发路径的入口设备)。
在本申请实施例中,源端设备维护有路径表,该源端设备的路径表中包括与目的端设备相关的至少一个路径表项,每个路径表项指示该源端设备与该目的端设备之间的一条转发路径,该源端设备在需要向该目的端设备发送报文时,可以从该路径表中确定第一转发路径或者通过路径计算确定该第一转发路径,本申请实施例对此不做限定。本申请实施例以源端设备从路径表中确定第一转发路径为例说明,则该源端设备从该路径表中确定第一转发路径之前,可以先获取该路径表。可选地,该路径表可以是该源端设备构建的,或者是控制设备构建好发送给该源端设备的,从而,该源端设备获取该路径表可以包括:该源端设备根据报文传输系统(例如图1所示的报文传输系统)的网络拓扑构建该路径表,或者,该源端设备从控制设备(例如图1中的控制设备000)接收该路径表,本申请实施例对此不做限定。
本申请实施例以源端设备根据报文传输系统的网络拓扑构建路径表为例说明。该源端设备可以根据报文传输系统的网络拓扑,通过路径算法计算该源端设备与该目的端设备之间的至少一条转发路径,根据每条转发路径的路径信息构建一个路径表项,根据该至少一条转发路径构建的至少一个路径表项生成该路径表。其中,控制设备构建该路径表的过程与此类似,本申请实施例在此不再赘述。需要说明的是,报文传输系统中可能存在部分网络设备仅支持转发表转发功能而不支持源路由转发功能,部分网络设备同时支持转发表转发功能和源路由转发功能,部分接入设备仅支持以太封装功能而不支持源路由封装功能,部分接入设备同时支持以太封装功能和源路由封装功能,在本申请实施例中,可以将同时支持转发表转发功能和源路由转发功能的网络设备称为双模转发设备,将仅支持转发表转发功能而不支持源路由转发功能的网络设备称为单模转发设备,将同时支持以太封装功能和源路由封装功能的接入设备称为双模接入设备,将仅支持以太封装功能而不支持源路由封装功能的接入设备称为单模接入设备。控制设备和/或接入设备(例如源端设备)在根据报文传输系统的网络拓扑计算转发路径时,可以剔除该报文传输系统中的单模转发设备和单模接入设备,根据该报文传输系统中的双模转发设备和双模接入设备构成的网络拓扑计算转发路径。可选地,控制设备和/或接入设备可以采集报文传输系统的网络拓扑,在采集网络拓扑的过程中,控制设备和/或接入设备可以对网络设备是否为双模转发设备以及接入设备是否为双模接入设备进行识别,以便于在计算转发路径时,剔除该报文传输系统中的单模转发设备和单模接入设备。
步骤202、第一转发路径上的第一网络设备在接收到第一报文时,根据该第一报文携带的第一源路由信息或目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文。
其中,第一网络设备可以是第一转发路径上的任意一个网络设备,例如,该第一网络设备可以是该第一转发路径的入口设备、出口(egress)设备或者是该入口设备与该出口设备之间的任意中转(transit)设备,本申请实施例对此不做限定。
第一网络设备在接收到第一报文时,可以确定该第一报文是否满足源路由转发条件,如果该第一报文满足源路由转发条件,该第一网络设备根据该第一报文携带的第一源路由信息转发该第一报文,如果该第一报文不满足源路由转发条件但满足转发表转发条件,该第一网络设备根据该第一报文携带的目的标识转发该第一报文。可选地,该第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识。该源路由转发条件可以包括:该第一报文携带的源路由有效性标识指示该第一报文封装的源路由有效,且该第一报文携带的第一源路由信息中的该第一网络设备的端口标识指示的出端口处于工作状态。该转发表转发条件可以包括:该第一报文携带的源路由有效性标识指示该第一报文封装的源路由无效;或者,该第一报文携带的源路由有效性标识指示该第一报文封装的源路由有效但该第一报文携带的第一源路由信息中的该第一网络设备的端口标识指示的出端口处于非工作状态。
可选地,如果第一报文满足源路由转发条件,第一网络设备通过该第一报文携带的第一源路由信息中的该第一网络设备的端口标识指示的出端口转发该第一报文。如果该第一报文不满足源路由转发条件但满足转发表转发条件,该第一网络设备根据该第一报文携带的目的标识查找该第一网络设备的转发表,以从该第一网络设备的端口中确定该第一报文的出端口,并通过该第一报文的出端口转发该第一报文。其中,该转发表中包括至少一个转发表项,每个转发表项指示一个目的标识与该第一网络设备的一个端口的映射关系,该第一网络设备将该转发表中与该第一报文携带的目的标识对应的端口确定为该第一报文的出端口。
可选地,如果第一报文携带的源路由有效性标识指示该第一报文封装的源路由有效但该第一报文携带的第一源路由信息中的第一网络设备的端口标识指示的出端口处于非工作状态,该第一网络设备可以确定第一转发路径故障。在这种情况下,该第一网络设备在转发该第一报文时,可以设置该第一报文中的源路由有效性标识指示该第一报文封装的源路由无效,然后转发设置源路由有效性标识后的第一报文,这样后续的网络设备接收到的第一报文中携带的源路由有效性标识指示该第一报文封装的源路由无效,该后续的网络设备可以根据该源路由有效性标识确定其接收到的第一报文满足转发表转发条件。示例地,该第一网络设备接收到的第一报文携带的源路由有效性标识的值是“1”,其指示该第一报文封装的源路由有效,如果该第一网络设备确定该第一报文携带的第一源路由信息中的该第一网络设备的端口标识指示的出端口处于非工作状态,该第一网络设备将该第一报文携带的源路由有效性标识的值从“1”修改为“0”,该源路由有效性标识的值“0”指示该第一报文封装的源路由无效,这样后续的网络设备接收到该第一报文后,根据该第一报文携带的源路由有效性标识的值“0”确定该第一报文满足转发表转发条件。容易理解,如果第一网络设备接收到的第一报文携带的源路由有效性标识指示该第一报文封装的源路由无效,该第一网络设备接收到的第一报文通常是该第一转发路径上的其他网络设备转发过来的,该第一网络设备不是该第一转发路径的入口设备。
可选地,第一网络设备在根据第一报文携带的目的标识转发该第一报文之前,可以获取该第一网络设备的转发表。在本申请实施例中,该转发表可以是该第一网络设备构建的,或者是控制设备构建好发送给该第一网络设备的,从而,该第一网络设备获取该路径表可以包括:该第一网络设备根据报文传输系统(例如图1所示的报文传输系统)的网络拓扑构建该转发表,或者,该第一网络设备从控制设备(例如图1中的控制设备000)接收该转发表,本申请实施例对此不做限定。
需要说明的是,第一网络设备在接收到第一报文之后,首先对该第一报文进行解析,以从该第一报文中提取第一源路由信息、目的标识、源路由有效性标识以及源路由类型等内容,然后执行判断以及转发的动作。例如,第一网络设备根据提取的信息判断该第一报文是否满足源路由转发条件,如果该第一报文不满足该源路由转发条件,判断该第一报文所满足的转发表转发条件。此外,本申请实施例对端口状态的描述中,所述的工作状态指的是UP状态,所述的非工作状态指的是DOWN状态,但是本申请实施例所述的工作状态和非工作状态仅仅是示例性的,在一些实施场景中,UP状态也可以称为激活状态,DOWN状态也可以称为非激活状态,或者,UP状态也可以称为正常状态,DOWN状态也可以称为异常状态或故障状态,本申请实施例对此不做限定。
综上所述,本申请实施例提供的报文传输方法,源端设备发送出的报文可以携带源路由信息和目的标识,该源路由信息包括转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备,该转发路径上的网络设备接收到该报文后,根据该源路由信息或该目的标识转发该报文,且优先根据该源路由信息转发该报文。由此,如果该转发路径未故障,该转发路径上的网络设备可以根据该源路由信息转发该报文,有助于缩短该报文从该源端设备到该目的端设备的传输时延,如果该源路由信息中的端口标识指示的出端口处于非工作状态导致该转发路径故障,该转发路径上的网络设备可以根据该目的标识转发该报文,有助于避免由于该转发路径故障导致该报文丢失。本申请提供的技术方案可以降低丢包率且缩短报文传输时延,有助于提高报文传输的灵活性和可靠性,本申请提供的技术方案能够适用于对传输性能要求较高的业务,例如人工智能、实时大数据分析、深度学习、分布式计算、分布式存储以及计算存储分离等业务。
根据图2所示实施例容易理解,在本申请实施例中,根据第一报文所满足转发条件的不同,第一网络设备对该第一报文的处理方式不同。下面根据第一报文所满足转发条件的不同,分三个实施例对本申请的报文传输方法进行介绍。在下述实施例中,为了便于描述,将“第一报文携带的源路由有效性标识指示该第一报文封装的源路由有效,但该第一报文携带的第一源路由信息中的第一网络设备的端口标识指示的出端口处于非工作状态”这一转发条件称为第一转发表转发条件,将“第一报文携带的源路由有效性标识指示该第一报文封装的源路由无效”这一转发条件称为第二转发表转发条件。
示例地,请参考图3,其示出了本申请实施例提供的另一种报文传输方法的流程图。本实施例以第一报文满足源路由转发条件为例说明。参见图3,该方法可以包括如下几个步骤:
步骤301、源端设备发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备。
该步骤301的实现过程可以参考前述步骤201,本申请实施例在此不再赘述。
步骤302、第一转发路径上的第一网络设备在接收到第一报文时,确定该第一报文满足源路由转发条件,根据该第一报文携带的第一源路由信息转发该第一报文。
第一网络设备接收到第一报文后,可以根据该第一报文携带的源路由有效性标识确定该第一报文封装的源路由是否有效,如果该第一报文封装的源路由有效,该第一网络设备根据该第一报文携带的第一源路由信息中该第一网络设备的端口标识,在该第一网络设备的端口中确定该第一报文的出端口,并检测该第一报文的出端口是否处于工作状态,如果该第一报文的出端口处于工作状态,该第一网络设备确定该第一报文满足源路由转发条件,该第一网络设备通过该第一报文的出端口转发该第一报文。
示例地,请参考图4,其示出了本申请实施例提供的再一种报文传输方法的流程图。本实施例以第一报文不满足源路由转发条件但满足第一转发表转发条件为例说明。参见图4,该方法可以包括如下几个步骤:
步骤401、源端设备发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备。
该步骤401的实现过程可以参考前述步骤201,本申请实施例在此不再赘述。
步骤402、第一转发路径上的第一网络设备在接收到第一报文时,确定该第一报文不满足源路由转发条件但满足第一转发表转发条件,设置该第一报文中的源路由有效性标识指示该第一报文封装的源路由无效,并根据该第一报文携带的目的标识转发该第一报文。
第一网络设备接收到第一报文后,可以根据该第一报文携带的源路由有效性标识确定该第一报文封装的源路由是否有效;如果该第一报文封装的源路由有效,该第一网络设备根据该第一报文携带的第一源路由信息中该第一网络设备的端口标识,在该第一网络设备的端口中确定该第一报文的出端口,并检测该第一报文的出端口是否处于工作状态;如果该第一报文的出端口处于非工作状态,该第一网络设备确定该第一报文不满足源路由转发条件但满足第一转发表转发条件,该第一网络设备设置该第一报文中的源路由有效性标识指示该第一报文封装的源路由无效,根据该第一报文携带的目的标识查找该第一网络设备的转发表,以从该第一网络设备的端口中确定该第一报文的出端口,并通过该第一报文的出端口转发该第一报文,也即是,该第一网络设备通过该第一报文的出端口转发设置源路由有效性标识后的第一报文,换句话讲,该第一网络设备发送出的第一报文中的源路由有效性标识指示该第一报文封装的源路由无效。
步骤403、第一转发路径上的第一网络设备在接收到第一报文时,确定该第一报文不满足源路由转发条件但满足第一转发表转发条件,向源端设备发送故障通知消息,该故障通知消息指示第一转发路径故障。
第一网络设备接收到第一报文后,如果该第一报文不满足源路由转发条件但满足第一转发表转发条件,该第一网络设备确定第一转发路径故障,该第一网络设备可以生成故障通知消息,并向源端设备发送该故障通知消息,其中,该故障通知消息指示该第一转发路径故障。示例地,该故障通知消息携带该第一转发路径的状态指示信息,该状态指示信息指示该第一转发路径故障,或者,该故障通知消息携带该第一网络设备的源路由端口状态,该源路由端口状态指示该第一网络设备的源路由端口(该源路由端口指的是第一源路由信息中的该第一网络设备的端口标识指示的端口)故障,从而指示该源路由端口所处的第一转发路径故障。
可选地,第一网络设备可以通过第一转发路径的反向路径向源端设备发送故障通知消息(也即是该故障通知消息沿原路返回给该源端设备,该故障通知消息通过该第一转发路径上处于该第一网络设备与该源端设备之间的网络设备转发给该源端设备),也可以通过例如控制设备向该源端设备发送故障通知消息(也即是该第一网络设备将该故障通知消息发送给控制设备,由控制设备将该故障通知消息转发给该源端设备),本申请实施例对此不做限定。
需要说明的是,本申请实施例不对步骤402与步骤403的执行顺序进行限定,第一网络设备可以先执行步骤402然后执行步骤403,也可以先执行步骤403然后执行步骤402,或者该第一网络设备可以同步执行步骤402和步骤403,本申请实施例对此不做限定。
步骤404、源端设备根据故障通知消息,将第一转发路径设置为无效转发路径。
源端设备接收到用于指示第一转发路径故障的故障通知消息之后,根据该故障通知消息确定该第一转发路径故障,并可以将该第一转发路径设置为无效转发路径,后续该源端设备在向该目的端设备发送报文时,可以在该源端设备的路径表中除该第一转发路径之外的转发路径为该报文选路,避免该源端设备为该报文选择故障的转发路径。
可选地,源端设备接收到故障通知消息之后,对该故障通知消息进行解析确定该故障通知消息的内容,根据该故障通知消息的内容确定第一转发路径故障,之后将该源端设备的路径表中与该第一转发路径对应的路径表项设置为无效表项,以将该第一转发路径设置为无效转发路径。示例地,该源端设备在与该第一转发路径对应的路径表项中添加无效标记,该无效标记例如“无效”、“00”或“WX”等标记,其用于指示该路径表项无效,从而指示该第一转发路径无效。
步骤405、源端设备发送第二报文,该第二报文携带第二源路由信息和目的标识,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识。
源端设备接收到故障通知消息后,确定第一转发路径故障,该源端设备可以确定该源端设备与目的端设备之间的第二转发路径,通过该第二转发路径向该目标端设备发送报文,该第二转发路径与该第一转发路径是该源端设备与该目的端设备之间的两条不同的转发路径。可选地,该源端设备发送第二报文,该第二报文携带第二源路由信息和该目的标识,该第二源路由信息包括该第二转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备。该源端设备发送第二报文的实现过程可以参考前述步骤201,本申请实施例在此不再赘述。
需要说明的是,本申请实施例不对步骤404与步骤405的执行顺序进行限定,源端设备可以先执行步骤404然后执行步骤405,也可以先执行步骤405然后执行步骤404,或者该第一网络设备可以同步执行步骤404和步骤405,本申请实施例对此不做限定。
步骤406、第二转发路径上的第二网络设备在接收到第二报文时,根据该第二报文携带的第二源路由信息或目的标识转发该第二报文,且优先根据该第二源路由信息转发该第二报文。
该步骤406的实现过程可以参考前述步骤202,本申请实施例在此不再赘述。
示例地,请参考图5,其示出了本申请实施例提供的又一种报文传输方法的流程图。本实施例以第一报文不满足源路由转发条件但满足第二转发表转发条件为例说明。参见图5,该方法可以包括如下几个步骤:
步骤501、源端设备发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备。
该步骤501的实现过程可以参考前述步骤201,本申请实施例在此不再赘述。
步骤502、第一转发路径上的第一网络设备在接收到第一报文时,确定该第一报文不满足源路由转发条件但满足第二转发表转发条件,根据该第一报文携带的目的标识转发该第一报文。
第一网络设备接收到第一报文后,可以根据该第一报文携带的源路由有效性标识确定该第一报文封装的源路由是否有效,如果该第一报文封装的源路由无效,该第一网络设备确定该第一报文不满足源路由转发条件但满足第二转发表转发条件,该第一网络设备根据该第一报文携带的目的标识查找该第一网络设备的转发表,以从该第一网络设备的端口中确定该第一报文的出端口,并通过该第一报文的出端口转发该第一报文。结合前述图4实施例,该图5所示实施例中所述的第一网络设备接收到的第一报文是该第一转发路径上的其他网络设备转发过来的,该第一网络设备可以不是该第一转发路径的入口设备。
可选地,上述图2至图5所示实施例所述的第一报文可以为源路由报文(图4所示实施例中的第二报文也可以为源路由报文),源端设备可以在满足源路由封装条件的情况下发送该第一报文。其中,该源路由封装条件可以包括:该源端设备和该目的端设备均支持源路由封装功能,且该第一转发路径上的网络设备均支持源路由转发功能。可选地,如果该源端设备确定不满足该源路由封装条件,该源端设备可以发送以太报文,则作为一种可选实施例,本申请提供的报文传输方法还可以通过下述图6所示实施例的实现方案。
示例地,请参考图6,其示出了本申请实施例提供的又一种报文传输方法的流程图。参见图6,该方法可以包括如下几个步骤:
步骤601、源端设备确定不满足源路由封装条件后,发送第三报文,该第三报文携带目的标识,该目的标识指示目的端设备,该第三报文的封装类型为以太封装。
可选地,源端设备确定不满足源路由封装条件后,可以根据目的端设备生成第三报文,使该第三报文携带用于指示该目的端设备的目的标识,然后发送该第三报文。其中,该目的标识可以是该目的端设备的设备标识,该目的端设备的IP地址、该目的端设备的LID或者是其他用于指示该目的端设备的标识,本申请实施例对此不做限定。
该第三报文的封装类型为以太封装,该第三报文可以称为以太报文。可选地,该第三报文还可以携带以太类型,该以太类型指示该第三报文的封装类型为以太封装,以便于接收到该第三报文的网络设备根据该以太类型确定该第三报文的封装类型为以太封装。容易理解,该第三报文还可以携带报文负载,在本申请实施例中,目的标识以及该以太类型均可以携带在该第三报文的头部。
步骤602、第三网络设备在接收到第三报文时,根据该第三报文携带的目的标识转发该第三报文。
其中,第三网络设备可以是报文传输系统中能够接收到第三报文的任意一个网络设备,该第三网络设备可以是为源端设备提供接入服务的网络设备,也可以是为目的端设备提供接入服务的网络设备或者是该报文传输系统中的其他网络设备,本申请实施例对此不做限定。
第三网络设备接收到第三报文后,根据该第三报文携带的以太类型确定该第三报文的封装类型为以太封装(也即是确定该第三报文为以太报文),然后根据该第三报文携带的目的标识查找该第三网络设备的转发表,以从该第三网络设备的端口中确定该第三报文的出端口,并通过该第三报文的出端口转发该第三报文。报文传输系统中接收到该第三报文的每个网络设备按照该步骤603的实现方式转发该第三报文,直至该第三报文到达该目的端设备。
需要说明的是,上述图6所示实施例提供的报文传输方法即为通常所述的转发表转发方法,在本申请实施例中,源端设备具备判断能力,该源端设备可以判断是否满足源路由封装条件,在满足源路由封装条件的情况下,该源端设备可以按照如图3至图5所示实施例提供的方法发送报文,在不满足源路由封装条件的情况下,该源端设备可以按照如图6所示实施例提供的方法发送报文。该源端设备可以是双模转发设备,其同时支持源路由转发和转发表转发,从而该源端设备可以判断是否满足该源路由封装条件,从而确定发送源路由报文还是发送以太报文。本申请实施例提供的技术方案不要求通信网络中的网络设备全部支持相同的转发功能,该通信网络可以存在部分网络设备支持双模转发,部分网络设备支持单模转发,该通信网络可以是双模转发设备和单模转发设备的混合组网,本申请实施例提供的技术方案能够与传统的转发表转发方式有效兼容。
根据前述实施例容易理解,在本申请实施例中,根据是否满足源路由封装条件,源端设备发送出的报文的封装类型不同,网络设备对报文的转发方式不同;根据源路由转发路径(也即是源端设备发送出的报文携带的源路由信息指示的转发路径)是否故障,网络设备对报文的转发方式不同。为了便于理解,下面结合具体示例介绍本申请提供的报文传输方法。
示例地,请参考图7,其示出了本申请实施例提供的一种报文传输方法的示意图。该图7以满足源路由封装条件且源路由转发路径未故障(也即是源路由信息中的端口标识指示的出端口均处于工作状态)为例说明。如图7所示,转发路径S1是源端设备a到目的端设备b的第一转发路径(也即是源路由转发路径),源端设备a和目的端设备b均支持源路由封装功能且网络设备A、网络设备B和网络设备D均支持源路由转发功能,因此该源端设备a确定满足源路由封装条件。该源端设备a通过该转发路径S1向该目的端设备b发送报文1(例如第一报文),该报文1携带第一源路由信息(也即是,网络设备A-端口1、网络设备B-端口1、网络设备D-端口1)、目的标识b、源路由有效性标识1、源路由类型以及报文负载。其中,该目的标识b指示该目的端设备b,该源路由有效性标识1指示该报文1中封装的源路由有效,该源路由类型指示该报文1的封装类型为源路由封装。
源端设备a发送出的报文1首先到达网络设备A,该网络设备A根据该报文1携带的源路由类型确定该报文1的封装类型为源路由封装,根据该报文1携带的源路由有效性标识1确定该报文1中封装的源路由有效,以及,根据该报文1携带的第一源路由信息中该网络设备A的端口标识(也即是网络设备A-端口1)确定该报文1的出端口为端口1且确定该端口1处于工作状态(也即是UP状态),因此该网络设备A确定该报文1满足源路由转发条件,该网络设备A通过该端口1转发该报文1。该网络设备A通过端口1转发出的报文1到达网络设备B,该网络设备B采用与网络设备A同样的处理方式确定接收到的报文1满足源路由转发条件,通过该网络设备B的端口1转发该报文1。以此类推,网络设备D采用与网络设备A同样的处理方式通过该网络设备D的端口1转发该报文1。最终该报文1经过该转发路径S1上的网络设备以源路由转发方式从该源端设备a转发至该目的端设备b。由于该报文1以源路由转发方式从该源端设备a转发至该目的端设备b,因此该报文1从该源端设备a到达至该目的端设备b的传输时延较短。
示例地,请参考图8,其示出了本申请实施例提供的另一种报文传输方法的示意图。该图8以满足源路由封装条件但源路由转发路径故障(也即是源路由信息中的至少一个端口标识指示的出端口均处于非工作状态)为例说明。如图8所示,转发路径S1是源端设备a到目的端设备b的第一转发路径(也即是源路由转发路径),源端设备a和目的端设备b均支持源路由封装功能且网络设备A、网络设备B和网络设备D均支持源路由转发功能,因此该源端设备a确定满足源路由封装条件。该源端设备a通过该转发路径S1向该目的端设备b发送报文1(例如第一报文),该报文1携带第一源路由信息(也即是,网络设备A-端口1、网络设备B-端口1、网络设备D-端口1)、目的标识b、源路由有效性标识1、源路由类型以及报文负载。其中,该目的标识b指示该目的端设备b,该源路由有效性标识1指示该报文1中封装的源路由有效,该源路由类型指示该报文1的封装类型为源路由封装。
源端设备a发送出的报文1首先到达网络设备A,该网络设备A根据该报文1携带的源路由类型确定该报文1的封装类型为源路由封装,根据该报文1携带的源路由有效性标识1确定该报文1中封装的源路由有效,以及,根据该报文1携带的第一源路由信息中该网络设备A的端口标识(也即是网络设备A-端口1)确定该报文1的出端口为端口1,但是该网络设备A的端口1处于非工作状态(也即是DOWN状态),因此该网络设备A确定该报文1不满足源路由转发条件但满足第一转发表转发条件。该网络设备A将该报文1中的源路由有效性标识1修改为源路由有效性标识0,该源路由有效性标识0指示该报文1中封装的源路由无效(也即是该网络设备A设置该报文1中的源路由有效性标识指示该报文1中封装的源路由无效)。之后该网络设备A根据该报文1携带的目的标识b查找该网络设备A的转发表确定该报文1的出端口为端口2,该网络设备A通过该网络设备A的端口2转发修改后的该报文1。该网络设备A通过其端口2转发出的报文1到达网络设备C,网络设备C根据该报文1携带的源路由类型确定该报文1的封装类型为源路由封装,但是根据该报文1携带的源路由有效性标识0确定该报文1中封装的源路由无效,因此该网络设备C确定该报文1不满足源路由转发条件但满足第二转发表转发条件。该网络设备C根据该报文1携带的目的标识b查找该网络设备C的转发表确定该报文1的出端口为端口1,通过该网络设备C的端口1转发该报文1。该网络设备C通过其端口1转发的报文1到达网络设备D,该网络设备D采用与网络设备C同样的处理方式确定该报文1不满足源路由转发条件但满足第二转发表转发条件,该网络设备D根据该报文1携带的目的标识b查找该网络设备D的转发表确定该报文1的出端口为端口1,通过该网络设备D的端口1转发该报文1。最终该报文1经过网络设备A、网络设备C和网络设备D以转发表转发方式从该源端设备a转发至该目的端设备b。由于网络设备A在确定该网络设备A的端口1(也即是源路由端口)处于非工作状态时,根据该报文1携带的目的标识b对该报文1进行转发,而不是将该报文1丢弃,因此可以避免由于转发路径S1故障导致报文1丢失,保证报文传输的灵活性和可靠性。
在图8所示实施例中,网络设备A在确定该网络设备A的端口1处于非工作状态之后,可以向源端设备a发送故障通知消息以告知该源端设备a该转发路径S1(也即是源路由转发路径)故障。源端设备a接收到该故障通知消息后,根据该故障通知消息设置该转发路径S1为无效转发路径。这样后续该源端设备a可以选择该转发路径S1之外的转发路径向该目的端设备b发送报文,避免该源端设备a选择故障的转发路径向该目的端设备b发送报文,保证报文传输的可靠性。
示例地,请参考图9,其示出了本申请实施例提供的再一种报文传输方法的示意图。该图9示的是源端设备a接收到用于指示转发路径S1故障的故障通知消息后,通过转发路径S2向目的端设备b发送报文的情况。如图9所示,转发路径S2是源端设备a到目的端设备b的第二转发路径(也即是源路由转发路径),源端设备a和目的端设备b均支持源路由封装功能且网络设备A、网络设备C和网络设备D均支持源路由转发功能,因此该源端设备a确定满足源路由封装条件。该源端设备a通过该转发路径S2向该目的端设备b发送报文2,该报文2携带第二源路由信息(也即是,网络设备A-端口2、网络设备C-端口1、网络设备D-端口1)、目的标识b、源路由有效性标识1、源路由类型以及报文负载,其中,该目的标识b指示该目的端设备b,该源路由有效性标识1指示该报文2中封装的源路由有效,该源路由类型指示该报文2的封装类型为源路由封装。该报文2经过网络设备A、网络设备C和网络设备D以源路由转发方式从该源端设备a转发至该目的端设备b。其中,网络设备A、网络设备C和网络设备D以源路由转发方式转发该报文2的实现过程可以参考图7所示实施例,本实施例在此不再赘述。
示例地,请参考图10,其示出了本申请实施例提供的又一种报文传输方法的示意图。该图10以不满足源路由封装条件为例说明。如图10所示,源端设备a可以是双模接入设备,该源端设备a同时支持源路由封装功能和以太封装功能,目的端设备b不支持以源路由封装功能,该源端设备a确定不满足源路由封装条件,该源端设备a向该目的端设备b发送报文3(例如第三报文),该报文3携带目的标识b、以太类型和报文负载,该目的标识b指示该目的端设备b,该以太类型指示该报文3的封装类型为以太封装。
源端设备a发送出的报文3首先到达网络设备A,该网络设备A根据该报文3携带的以太类型确定该报文3的封装类型为以太封装,根据该报文3携带的目的标识b查找该网络设备A的转发表确定该报文3的出端口为端口3,该网络设备A通过该网络设备A的端口3转发该报文3。该网络设备A通过其端口3转发出的报文3到达网络设备E,该网络设备E采用与网络设备A同样的处理方式确定该报文3的出端口为端口1,该网络设备E通过该网络设备E的端口1转发该报文3。该网络设备E通过其端口1转发的报文3到达网络设备D,该网络设备D采用与网络设备A同样的处理方式确定该报文3的出端口为端口1,该网络设备D通过该网络设备D的端口1转发该报文3。最终该报文3经过网络设备A、网络设备E和网络设备D以转发表转发方式从该源端设备a转发至该目的端设备b。由于源端设备a在确定不满足源路由封装条件的情况下发送以太报文,因此本申请提供的报文传输方法能够与传统的报文传输方法很好的兼容。
上述各个实施例以源路由转发路径(例如转发路径S1、转发路径S2)上的网络设备均支持转发表转发功能和源路由转发功能(也即是源路由转发路径上的网络设备均为双模转发设备)为例说明。本申请实施例中,源路由转发路径上可以存在部分网络设备仅支持转发表转发功能而不支持源路由转发功能(也即是单模转发设备),则作为一种可选实现方式,本申请提供的报文传输方法还可以通过下述图11所示实施例来实现。
示例地,请参考图11,其示出了本申请实施例提供的又一种报文传输方法的示意图。该图11以源路由转发路径上存在不支持源路由转发功能的网络设备为例说明。如图11所示,转发路径S3是源端设备a到目的端设备b的一条源路由转发路径,源端设备a和目的端设备b均支持源路由封装功能,网络设备A、网络设备G和网络设备D均支持源路由转发功能,网络设备F不支持源路由转发功能,该源端设备a通过该转发路径S3向该目的端设备b发送报文4,该报文4携带源路由信息(也即是,网络设备A-端口3、网络设备F-端口1、网络设备G-端口1、网络设备D-端口1)、目的标识b、源路由有效性标识1、源路由类型以及报文负载,其中,该目的标识b指示该目的端设备b,该源路由有效性标识1指示该报文4中封装的源路由有效,该源路由类型指示该报文4的封装类型为源路由封装。
源端设备a发送出的报文4首先到达网络设备A,该网络设备A根据该报文4携带的源路由类型确定该报文4的封装类型为源路由封装,根据该报文4携带的源路由有效性标识1确定该报文4中封装的源路由有效,以及,根据该报文4携带的源路由信息中该网络设备A的端口标识(也即是网络设备A-端口3)确定该报文4的出端口为端口3且该端口3处于工作状态,但是该网络设备A确定其下一跳设备(也即是网络设备F)不支持源路由转发功能,因此该网络设备A根据该报文4携带的目的标识b查找该网络设备A的转发表确定该报文4的出端口为端口3,该网络设备A通过该网络设备A的端口3转发该报文4。该网络设备A通过其端口3转发出的报文4到达网络设备F,由于网络设备F不支持源路由转发功能,因此该网络设备F根据该报文4携带的目的标识b查找该网络设备F的转发表确定该报文4的出端口为端口1,该网络设备F通过该网络设备F的端口1转发该报文4。该网络设备F通过其端口1转发的报文4到达网络设备G,该网络设备G根据该报文4携带的源路由类型确定该报文4的封装类型为源路由封装,根据该报文4携带的源路由有效性标识1确定该报文4中封装的源路由有效,以及,根据该报文4携带的源路由信息中该网络设备G的端口标识(也即是网络设备G-端口1)确定该报文4的出端口为端口1且该端口1处于工作状态,并且该网络设备G确定其下一跳设备(也即是网络设备D)支持源路由转发功能,因此该网络设备G根据该报文4中指示的端口1转发该报文4。最终该报文4经过网络设备A、网络设备F、网络设备G和网络设备D从该源端设备a转发至该目的端设备b。
以上是对本申请报文传输方法的介绍,下面介绍本申请的装置实施例,本申请的装置实施例可以用于执行本申请的方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图12,其示出了本申请实施例提供的一种源端设备1200的逻辑结构示意图,该源端设备1200可以是服务器。参见图12,该源端设备1200可以包括但不限于:
发送模块1210,用于发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备,以使得该第一转发路径上的第一网络设备根据该第一源路由信息或该目的标识转发该第一报文,该第一网络设备优先根据该第一源路由信息转发该第一报文。其中,该发送模块1210的功能实现可以参考上述步骤201、步骤301、步骤401以及步骤501的相关描述。
可选地,该第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效。
可选地,请继续参考图12,该源端设备1200还包括:
设置模块1220,用于在发送模块1210发送第一报文之后,如果接收到指示第一转发路径故障的故障通知消息,将该第一转发路径设置为无效转发路径。其中,该设置模块1220的功能实现可以参考上述步骤404的相关描述。
可选地,该发送模块1210,还用于在发送第一报文之后,如果接收到指示第一转发路径故障的故障通知消息,发送第二报文,该第二报文携带第二源路由信息和该目的标识,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识,以使得该第二转发路径上的第二网络设备根据该第二源路由信息或该目的标识转发该第二报文,该第二网络设备优先根据该第二源路由信息转发该第二报文。其中,该发送模块1210的功能实现还可以参考上述步骤405的相关描述。
可选地,该发送模块1210,具体用于在满足源路由封装条件时发送该第一报文;其中,该源路由封装条件包括:该源端设备和该目的端设备均支持源路由封装功能,且该第一转发路径上的网络设备均支持源路由转发功能。
可选地,该发送模块1210,还用于在不满足该源路由封装条件时发送第三报文,该第三报文携带该目的标识,该第三报文的封装类型为以太封装。其中,该发送模块1210的功能实现还可以参考上述步骤601的相关描述。
可选地,请继续参考图12,该源端设备1200还包括:
确定模块1230,用于在发送模块1210发送第一报文之前,根据该源端设备的路径表确定该第一转发路径,其中,该路径表中包括与该目的端设备相关的至少一个路径表项,该至少一个路径表项中的每个路径表项指示该源端设备与该目的端设备之间的一条转发路径。
可选地,请继续参考图12,该源端设备1200还包括:
构建模块1240,用于在确定模块1230根据该源端设备的路径表确定该第一转发路径之前,根据报文传输系统的网络拓扑构建该路径表;或者,接收模块1250,用于在确定模块1230根据该源端设备的路径表确定该第一转发路径之前,从控制设备接收该路径表。
综上所述,本申请实施例的技术方案中,源端设备发送出的报文可以携带源路由信息和目的标识,该源路由信息包括转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备,该转发路径上的网络设备接收到该报文后,根据该源路由信息或该目的标识转发该报文,且优先根据该源路由信息转发该报文。由此,如果该转发路径未故障,该转发路径上的网络设备可以根据该源路由信息转发该报文,有助于缩短该报文从该源端设备到该目的端设备的传输时延,如果该源路由信息中的端口标识指示的出端口处于非工作状态导致该转发路径故障,该转发路径上的网络设备可以根据该目的标识转发该报文,有助于避免由于该转发路径故障导致该报文丢失。本申请提供的技术方案可以降低丢包率且缩短报文传输时延,有助于提高报文传输的灵活性和可靠性。
请参考图13,其示出了本申请实施例提供的一种目标网络设备1300的逻辑结构示意图,该目标网络设备1300可以是交换机或路由器,且该目标网络设备1300可以是上述实施例所述的第一网络设备、第二网络设备或第三网络设备。参见图13,该目标网络设备1300可以包括但不限于:
转发模块1310,用于在接收到携带第一源路由信息和目的标识的第一报文时,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文;其中,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示目的端设备。其中,该转发模块1310的功能实现可以参考上述步骤202、步骤302、步骤402以及步骤502的相关描述。
可选地,该转发模块1310,具体用于:如果该第一报文满足源路由转发条件,根据该第一源路由信息转发该第一报文;如果该第一报文不满足该源路由转发条件但满足转发表转发条件,根据该目的标识转发该第一报文。
可选地,该第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效。
可选地,源路由转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,且该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于工作状态。
可选地,转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由无效。
可选地,转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该目标网络设备的端口标识指示的出端口处于非工作状态。
可选地,该转发模块1310,具体用于:如果该第一报文不满足该源路由转发条件但满足该转发表转发条件,设置该源路由有效性标识指示该第一报文封装的源路由无效;根据该目的标识转发该第一报文。
可选地,请继续参考图13,该目标网络设备1300还包括:
发送模块1320,用于如果该第一报文不满足该源路由转发条件但满足该转发表转发条件向该源端设备发送故障通知消息,该故障通知消息指示该第一转发路径故障。其中,该发送模块1320的功能实现可以参考上述步骤403的相关描述。
可选地,该转发模块1310,还用于在接收到携带第二源路由信息和该目的标识的第二报文时,根据该第二源路由信息或该目的标识转发该第二报文,且优先根据该第二源路由信息转发该第二报文;其中,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识。其中,该转发模块1310的功能实现还可以参考上述步骤406的相关描述。
可选地,请继续参考图13,该目标网络设备1300还包括:
构建模块1330,用于在转发模块1310根据目的标识转发第一报文之前根据报文传输系统的网络拓扑构建转发表;或者,接收模块1340,用于在转发模块1310根据目的标识转发第一报文之前从控制设备接收转发表;其中,该转发表中包括至少一个转发表项,该至少一个转发表项中的每个转发表项指示一个目的标识与该目标网络设备的一个端口的映射关系。
可选地,该转发模块1310,还用于在接收到携带该目的标识的第三报文时,根据该目的标识转发该第三报文,该第三报文的封装类型为以太封装。其中,该转发模块1310的功能实现还可以参考上述步骤602的相关描述。
综上所述,本申请实施例的技术方案中,源端设备发送出的报文可以携带源路由信息和目的标识,该源路由信息包括转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备,该转发路径上的网络设备接收到该报文后,根据该源路由信息或该目的标识转发该报文,且优先根据该源路由信息转发该报文。由此,如果该转发路径未故障,该转发路径上的网络设备可以根据该源路由信息转发该报文,有助于缩短该报文从该源端设备到该目的端设备的传输时延,如果该源路由信息中的端口标识指示的出端口处于非工作状态导致该转发路径故障,该转发路径上的网络设备可以根据该目的标识转发该报文,有助于避免由于该转发路径故障导致该报文丢失。本申请提供的技术方案可以降低丢包率且缩短报文传输时延,有助于提高报文传输的灵活性和可靠性。
应理解的是,本申请实施例提供的源端设备和目标网络设备还可以用专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现上述方法实施例提供的报文传输方法,当通过软件实现上述方法实施例提供的报文传输方法时,该源端设备以及目标网络设备中的各个模块也可以为软件模块。
请参考图14,其示出了本申请实施例提供的一种通信设备1400的硬件结构示意图。该通信设备1400可以是服务器或网络设备,例如,该通信设备1400可以是前述实施例中所述的源端设备或目标网络设备。参见图14,该通信设备1400包括处理器1402、存储器1404、通信接口1406和总线1408,处理器1402、存储器1404和通信接口1406通过总线1408彼此通信连接。本领域技术人员应当明白,图14所示的处理器1402、存储器1404和通信接口1406之间的连接方式仅仅是示例性的,在实现过程中,处理器1402、存储器1404和通信接口1406也可以采用除了总线1408之外的其他连接方式彼此通信连接。
其中,存储器1404可以用于存储计算机程序14042,该计算机程序14042可以包括指令和数据。在本申请实施例中,存储器1404可以是各种类型的存储介质,例如,随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、非易失性RAM(non-volatile RAM,NVRAM)、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasablePROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、闪存、光存储器和寄存器等。并且,该存储器1404可以包括硬盘和/或内存。
其中,处理器1402可以是通用处理器,通用处理器可以是通过读取并执行存储器(例如存储器1404)中存储的计算机程序(例如计算机程序14042)来执行特定步骤和/或操作的处理器,通用处理器在执行上述步骤和/或操作的过程中可能用到存储在存储器(例如存储器1404)中的数据。该存储的计算机程序例如可以被执行以实现前述设置模块1220、确定模块1240、构建模块1240以及构建模块1330的相关功能。通用处理器可以是,例如但不限于CPU。此外,处理器1402也可以是专用处理器,专用处理器可以是专门设计的用于执行特定步骤和/或操作的处理器,该专用处理器可以是,例如但不限于,数字信号处理器(digital signal processor,DSP)、ASIC和FPGA等。此外,处理器1402还可以是多个处理器的组合,例如多核处理器。处理器1402可以包括至少一个电路,以执行上述实施例提供的报文传输方法的全部或部分步骤。
其中,通信接口1406可以包括输入/输出(input/output,I/O)接口、物理接口和逻辑接口等用于实现通信设备1400内部的器件互连的接口,以及用于实现通信设备1400与其他设备(例如网络设备或服务器)互连的接口。物理接口可以是千兆的以太接口(gigabitEthernet,GE),其可以用于实现通信设备1400与其他设备(例如网络设备或服务器)互连,逻辑接口是通信设备1400内部的接口,其可以用于实现通信设备1400内部的器件互连。容易理解,通信接口1406可以用于通信设备1400与其他网络设备和/或服务器通信,例如,通信接口1406用于通信设备1400与其他网络设备之间报文的发送和接收,该通信接口1406可以实现前述发送模块1210、接收模块1250、转发模块1310、发送模块1320以及接收模块1340的相关功能。
其中,总线1408可以是任何类型的,用于实现处理器1402、存储器1404和通信接口1406互连的通信总线,例如系统总线。
上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。
图14所示的通信设备1400仅仅是示例性的,在实现过程中,通信设备1400还可以包括其他组件,本文不再一一列举。该图14所示的通信设备1400可以通过执行上述实施例提供的报文传输方法的全部或部分步骤来传输报文。
请参考图15,其示出了本申请实施例提供的一种网络设备1500的硬件结构示意图。该网络设备1500可以为上述实施例中所述的目标网络设备。该网络设备1500可以为交换机,路由器或者其他转发报文的网络设备。在该实施例中,该网络设备1500包括:主控板1510、接口板1530和接口板1540。多个接口板的情况下可以包括交换网板(图中未示出),该交换网板用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。
主控板1510用于完成系统管理、设备维护、协议处理等功能。接口板1530和接口板1540用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现报文的转发。主控板1510上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板1510、接口板1530以及接口板1540之间通过系统总线与系统背板相连实现互通。接口板1530上包括一个或多个处理器1531。处理器1531用于对接口板进行控制管理并与主控板1510上的中央处理器1512进行通信,以及用于报文的转发处理。接口板1530上的存储器1532用于存储转发表,处理器1531通过查找存储器1532中存储的转发表进行报文的转发。
该接口板1530包括一个或多个网络接口1533用于接收上一跳节点发送的报文,并根据处理器1531的指示向下一跳节点发送处理后的报文。具体实现过程这里不再逐一赘述。所述处理器1531的具体功能这里同样不再逐一赘述。
可以理解,如图15所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板1540上的操作与所述接口板1530的操作基本相似,为了简洁,不再赘述。此外,可以理解的是,图15中的接口板1530中的处理器1531和/或处理器1541可以是专用硬件或芯片,如网络处理器或者专用集成电路来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。在另外的实施方式中,所述处理器1531和/或处理器1541也可以采用通用的处理器,如通用的CPU来实现以上描述的功能。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该设备的数据处理能力越强,提供的接口板越多。多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板通信,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该设备包括多块接口板,可以通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
具体的实施例中,存储器1532可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1532可以是独立存在,通过通信总线与处理器1531相连接。存储器1532也可以和处理器1531集成在一起。
存储器1532用于存储程序代码,并由处理器1531来控制执行,以执行上述实施例所提供的报文传输方法。处理器1531用于执行存储器1532中存储的程序代码。程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为上述图13实施例中提供的功能模块。
具体实施例中,该网络接口1533,可以是使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
请参考图16,其示出了本申请实施例提供的一种报文传输系统1600的结构示意图。该报文传输系统1600包括源端设备1610、目的端设备1620和多个网络设备1630~1650。
该源端设备1610用于发送第一报文,该第一报文携带第一源路由信息和目的标识,该第一源路由信息包括第一转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备1620;该第一转发路径上的第一网络设备(例如网络设备1630)用于在接收到该第一报文时,根据该第一源路由信息或该目的标识转发该第一报文,且优先根据该第一源路由信息转发该第一报文。
可选地,该第一网络设备(例如网络设备1630)用于如果该第一报文满足源路由转发条件,根据该第一源路由信息转发该第一报文,如果该第一报文不满足该源路由转发条件但满足转发表转发条件,根据该目的标识转发该第一报文。
可选地,该第一报文的封装类型为源路由封装,该第一报文还携带源路由有效性标识,该源路由有效性标识指示该第一报文封装的源路由有效或无效。该源路由转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,且该第一源路由信息中的该第一网络设备(例如网络设备1630)的端口标识指示的出端口处于工作状态,例如,UP状态。该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由无效;或者,该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该第一网络设备(例如网络设备1630)的端口标识指示的出端口处于非工作状态,例如,DOWN状态。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该第一网络设备(例如网络设备1630)的端口标识指示的出端口处于非工作状态,该第一网络设备(例如网络设备1630)具体用于:如果该第一报文不满足源路由转发条件但满足该转发表转发条件,设置该源路由有效性标识指示该第一报文封装的源路由无效,根据该目的标识转发该第一报文。
可选地,该转发表转发条件包括:该源路由有效性标识指示该第一报文封装的源路由有效,但该第一源路由信息中的该第一网络设备(例如网络设备1630)的端口标识指示的出端口处于非工作状态,该第一网络设备(例如网络设备1630)还用于如果该第一报文不满足源路由转发条件但满足该转发表转发条件,向源端设备1610发送故障通知消息,该故障通知消息指示该第一转发路径故障。
可选地,该源端设备1610还用于在接收到该故障通知消息之后,将该第一转发路径设置为无效转发路径。
可选地,该源端设备1610还用于在接收到该故障通知消息之后,发送第二报文,该第二报文携带第二源路由信息和该目的标识,该第二源路由信息包括第二转发路径上的各个网络设备的端口标识;该第二转发路径上的第二网络设备(例如网络设备1640)用于在接收到该第二报文时,根据该第二源路由信息或该目的标识转发该第二报文,且优先根据该第二源路由信息转发该第二报文。
可选地,该源端设备1610具体用于在满足源路由封装条件时发送第一报文;其中,该源路由封装条件包括:该源端设备1610和该目的端设备1620均支持源路由封装功能,且该第一转发路径上的网络设备均支持源路由转发功能。
可选地,该源端设备1610还用于在不满足该源路由封装条件时发送第三报文,该第三报文携带该目的标识,该第三报文的封装类型为以太封装。
可选地,该源端设备1610还用于在发送第一报文之前,根据该源端设备1610的路径表确定第一转发路径;其中,该路径表中包括与目的端设备1620相关的至少一个路径表项,该至少一个路径表项中的每个路径表项指示该源端设备1610与该目的端设备1620之间的一条转发路径。
可选地,该源端设备1610还用于在根据该源端设备1610的路径表确定该第一转发路径之前,根据该报文传输系统1600的网络拓扑构建该路径表,或者,从控制设备接收该路径表。
可选地,该第一网络设备(例如网络设备1630)还用于在根据该目的标识转发该第一报文之前,根据该报文传输系统1600的网络拓扑构建转发表,或者,从控制设备接收转发表;其中,该转发表中包括至少一个转发表项,该至少一个转发表项中的每个转发表项指示一个目的标识与该第一网络设备的一个端口的映射关系。
可选地,第一网络设备(例如网络设备1630)用于在接收到第一报文时,如果该第一报文满足源路由转发条件但该第一网络设备(例如网络设备1630)的第一跳设备不支持源路由转发功能,根据该第一报文携带的目的标识转发该第一报文,该第一跳设备为该第一网络设备(例如网络设备1630)的下一跳设备;
该第一跳设备用于在接收到该第一报文时,根据该第一报文携带的目的标识转发该第一报文;
该第一网络设备(例如网络设备1630)的第二跳设备用于在接收到该第一报文时,如果该第一报文满足源路由转发条件且该第一网络设备(例如网络设备1630)的第三跳设备支持源路由转发功能,根据该第一报文携带的第一源路由信息转发该第一报文,该第二跳设备为该第一跳设备的下一跳设备,该第三跳设备为该第二跳设备的下一跳设备。
综上所述,本申请实施例的技术方案中,源端设备发送出的报文可以携带源路由信息和目的标识,该源路由信息包括转发路径上的各个网络设备的端口标识,该目的标识指示该目的端设备,该转发路径上的网络设备接收到该报文后,根据该源路由信息或该目的标识转发该报文,且优先根据该源路由信息转发该报文。由此,如果该转发路径未故障,该转发路径上的网络设备可以根据该源路由信息转发该报文,有助于缩短该报文从该源端设备到该目的端设备的传输时延,如果该源路由信息中的端口标识指示的出端口处于非工作状态导致该转发路径故障,该转发路径上的网络设备可以根据该目的标识转发该报文,有助于避免由于该转发路径故障导致该报文丢失。本申请提供的技术方案可以避免报文丢失且缩短报文传输时延,有助于提高报文传输的灵活性和可靠性。
本申请实施例提供了一种报文传输系统,包括:源端设备和目标网络设备;该源端设备为如图12所示的源端设备1200,该目标网络设备为如图13所示的目标网络设备1300;或者,该源端设备和该目标网络设备中的至少一个为如图14所示的通信设备1400;或者,该目标网络设备为如图15所示的网络设备1500。可选地,该源端设备是服务器,该目标网络设备是转发设备,例如,交换机或路由器。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,当该计算机程序被处理器执行时实现如上述方法实施例提供的报文传输方法的全部或部分步骤。
本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行如上述方法实施例提供的报文传输方法的全部或部分步骤。
本申请实施例提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述方法实施例提供的报文传输方法的全部或部分步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
在本申请中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”指一个或多个,“多个”指两个或两个以上,除非另有明确的限定。
本申请实施例提供的方法实施例和装置实施例等不同类型的实施例均可以相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例操作的先后顺序能够进行适当调整,操作也能够根据情况进行响应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
在本申请提供的相应实施例中,应该理解到,所揭露的装置等可以通过其它的构成方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络设备(例如终端设备)上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (30)
1.一种报文传输系统,其特征在于,包括:源端设备、目的端设备和多个网络设备;
所述源端设备用于发送第一报文,所述第一报文携带第一源路由信息和目的标识,所述第一源路由信息包括第一转发路径上的各个网络设备的端口标识,所述目的标识指示所述目的端设备;
所述第一转发路径上的第一网络设备用于在接收到所述第一报文时,根据所述第一源路由信息或所述目的标识转发所述第一报文,且优先根据所述第一源路由信息转发所述第一报文。
2.根据权利要求1所述的系统,其特征在于,
所述第一网络设备用于如果所述第一报文满足源路由转发条件,根据所述第一源路由信息转发所述第一报文,如果所述第一报文不满足所述源路由转发条件但满足转发表转发条件,根据所述目的标识转发所述第一报文。
3.根据权利要求2所述的系统,其特征在于,
所述第一报文的封装类型为源路由封装,所述第一报文还携带源路由有效性标识,所述源路由有效性标识指示所述第一报文封装的源路由有效或无效。
4.根据权利要求3所述的系统,其特征在于,
所述源路由转发条件包括:所述源路由有效性标识指示所述第一报文封装的源路由有效,且所述第一源路由信息中的所述第一网络设备的端口标识指示的出端口处于工作状态。
5.根据权利要求3所述的系统,其特征在于,
所述转发表转发条件包括:所述源路由有效性标识指示所述第一报文封装的源路由无效。
6.根据权利要求3所述的系统,其特征在于,
所述转发表转发条件包括:所述源路由有效性标识指示所述第一报文封装的源路由有效,但所述第一源路由信息中的所述第一网络设备的端口标识指示的出端口处于非工作状态。
7.根据权利要求6所述的系统,其特征在于,
所述第一网络设备具体用于:如果所述第一报文不满足所述源路由转发条件但满足所述转发表转发条件,设置所述源路由有效性标识指示所述第一报文封装的源路由无效,根据所述目的标识转发所述第一报文。
8.根据权利要求6或7所述的系统,其特征在于,
所述第一网络设备还用于如果所述第一报文不满足所述源路由转发条件但满足所述转发表转发条件,向所述源端设备发送故障通知消息,所述故障通知消息指示所述第一转发路径故障。
9.根据权利要求8所述的系统,其特征在于,
所述源端设备还用于在接收到所述故障通知消息之后,将所述第一转发路径设置为无效转发路径。
10.根据权利要求9所述的系统,其特征在于,
所述源端设备还用于在接收到所述故障通知消息之后,发送第二报文,所述第二报文携带第二源路由信息和所述目的标识,所述第二源路由信息包括第二转发路径上的各个网络设备的端口标识;
所述第二转发路径上的第二网络设备用于在接收到所述第二报文时,根据所述第二源路由信息或所述目的标识转发所述第二报文,且优先根据所述第二源路由信息转发所述第二报文。
11.根据权利要求1至10任一项所述的系统,其特征在于,
所述源端设备具体用于在满足源路由封装条件时发送所述第一报文;
其中,所述源路由封装条件包括:所述源端设备和所述目的端设备均支持源路由封装功能,且所述第一转发路径上的网络设备均支持源路由转发功能。
12.根据权利要求11所述的系统,其特征在于,
所述源端设备还用于在不满足所述源路由封装条件时发送第三报文,所述第三报文携带所述目的标识,所述第三报文的封装类型为以太封装。
13.一种报文传输方法,其特征在于,应用于源端设备,所述方法包括:
发送第一报文,所述第一报文携带第一源路由信息和目的标识,所述第一源路由信息包括第一转发路径上的各个网络设备的端口标识,所述目的标识指示目的端设备,以使得所述第一转发路径上的第一网络设备根据所述第一源路由信息或所述目的标识转发所述第一报文,所述第一网络设备优先根据所述第一源路由信息转发所述第一报文。
14.根据权利要求13所述的方法,其特征在于,
所述第一报文的封装类型为源路由封装,所述第一报文还携带源路由有效性标识,所述源路由有效性标识指示所述第一报文封装的源路由有效或无效。
15.根据权利要求13或14所述的方法,其特征在于,所述方法还包括:
在发送所述第一报文之后,如果接收到指示所述第一转发路径故障的故障通知消息,将所述第一转发路径设置为无效转发路径。
16.根据权利要求13至15任一项所述的方法,其特征在于,所述方法还包括:
在发送所述第一报文之后,如果接收到指示所述第一转发路径故障的故障通知消息,发送第二报文,所述第二报文携带第二源路由信息和所述目的标识,所述第二源路由信息包括第二转发路径上的各个网络设备的端口标识,以使得所述第二转发路径上的第二网络设备根据所述第二源路由信息或所述目的标识转发所述第二报文,所述第二网络设备优先根据所述第一源路由信息转发所述第二报文。
17.根据权利要求13至16任一项所述的方法,其特征在于,
所述发送第一报文,包括:在满足源路由封装条件时发送所述第一报文;
其中,所述源路由封装条件包括:所述源端设备和所述目的端设备均支持源路由封装功能,且所述第一转发路径上的网络设备均支持源路由转发功能。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
在不满足所述源路由封装条件时发送第三报文,所述第三报文携带所述目的标识,所述第三报文的封装类型为以太封装。
19.一种报文传输方法,其特征在于,应用于目标网络设备,所述方法包括:
在接收到携带第一源路由信息和目的标识的第一报文时,根据所述第一源路由信息或所述目的标识转发所述第一报文,且优先根据所述第一源路由信息转发所述第一报文;
其中,所述第一源路由信息包括第一转发路径上的各个网络设备的端口标识,所述目的标识指示目的端设备。
20.根据权利要求19所述的方法,其特征在于,
所述根据所述第一源路由信息或所述目的标识转发所述第一报文,且优先根据所述第一源路由信息转发所述第一报文,包括:
如果所述第一报文满足源路由转发条件,根据所述第一源路由信息转发所述第一报文;
如果所述第一报文不满足所述源路由转发条件但满足转发表转发条件,根据所述目的标识转发所述第一报文。
21.根据权利要求20所述的方法,其特征在于,
所述第一报文的封装类型为源路由封装,所述第一报文还携带源路由有效性标识,所述源路由有效性标识指示所述第一报文封装的源路由有效或无效。
22.根据权利要求21所述的方法,其特征在于,
所述源路由转发条件包括:所述源路由有效性标识指示所述第一报文封装的源路由有效,且所述第一源路由信息中的所述目标网络设备的端口标识指示的出端口处于工作状态。
23.根据权利要求21所述的方法,其特征在于,
所述转发表转发条件包括:所述源路由有效性标识指示所述第一报文封装的源路由无效。
24.根据权利要求21所述的方法,其特征在于,
所述转发表转发条件包括:所述源路由有效性标识指示所述第一报文封装的源路由有效,但所述第一源路由信息中的所述目标网络设备的端口标识指示的出端口处于非工作状态。
25.根据权利要求24所述的方法,其特征在于,
所述如果所述第一报文不满足所述源路由转发条件但满足转发表转发条件,根据所述目的标识转发所述第一报文,包括:
如果所述第一报文不满足所述源路由转发条件但满足所述转发表转发条件,设置所述源路由有效性标识指示所述第一报文封装的源路由无效;
根据所述目的标识转发所述第一报文。
26.根据权利要求24或25所述的方法,其特征在于,所述方法还包括:
如果所述第一报文不满足所述源路由转发条件但满足所述转发表转发条件,向所述源端设备发送故障通知消息,所述故障通知消息指示所述第一转发路径故障。
27.根据权利要求19至26任一项所述的方法,其特征在于,所述方法还包括:
在接收到携带第二源路由信息和所述目的标识的第二报文时,根据所述第二源路由信息或所述目的标识转发所述第二报文,且优先根据所述第二源路由信息转发所述第二报文;
其中,所述第二源路由信息包括第二转发路径上的各个网络设备的端口标识。
28.根据权利要求19至27任一项所述的方法,其特征在于,所述方法还包括:
在接收到携带所述目的标识的第三报文时,根据所述目的标识转发所述第三报文,所述第三报文的封装类型为以太封装。
29.一种通信设备,其特征在于,包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的计算机程序以执行如权利要求13至18任一项所述的报文传输方法,或者,执行如权利要求19至28任一项所述的报文传输方法。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求13至18任一项所述的报文传输方法,或者,执行如权利要求19至28任一项所述的报文传输方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011443680.6A CN114615179A (zh) | 2020-12-08 | 2020-12-08 | 报文传输方法、设备及系统 |
PCT/CN2021/133526 WO2022121707A1 (zh) | 2020-12-08 | 2021-11-26 | 报文传输方法、设备及系统 |
EP21902414.8A EP4246919A4 (en) | 2020-12-08 | 2021-11-26 | PACKET TRANSMISSION METHOD, APPARATUS AND SYSTEM |
US18/329,878 US20230318971A1 (en) | 2020-12-08 | 2023-06-06 | Packet Transmission Method, Device, and System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011443680.6A CN114615179A (zh) | 2020-12-08 | 2020-12-08 | 报文传输方法、设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114615179A true CN114615179A (zh) | 2022-06-10 |
Family
ID=81856017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011443680.6A Pending CN114615179A (zh) | 2020-12-08 | 2020-12-08 | 报文传输方法、设备及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230318971A1 (zh) |
EP (1) | EP4246919A4 (zh) |
CN (1) | CN114615179A (zh) |
WO (1) | WO2022121707A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024066775A1 (zh) * | 2022-09-27 | 2024-04-04 | 华为技术有限公司 | 一种报文传输方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527684A (zh) * | 2022-07-30 | 2024-02-06 | 华为技术有限公司 | 一种报文传输方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496503B1 (en) * | 1999-06-01 | 2002-12-17 | Intel Corporation | Device initialization and operation using directed routing |
US6973102B2 (en) * | 2000-07-31 | 2005-12-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Jitter reduction in differentiated services (DiffServ) networks |
CN101562531B (zh) * | 2008-04-15 | 2012-08-15 | 中国移动通信集团公司 | 一种网络故障处理方法、系统及路由器 |
US8837277B2 (en) * | 2011-06-01 | 2014-09-16 | Cisco Technology, Inc. | Source routing convergence in constrained computer networks |
US8693322B2 (en) * | 2012-02-21 | 2014-04-08 | Yikun Zhang | Routing method for a wireless multi-hop network |
-
2020
- 2020-12-08 CN CN202011443680.6A patent/CN114615179A/zh active Pending
-
2021
- 2021-11-26 WO PCT/CN2021/133526 patent/WO2022121707A1/zh unknown
- 2021-11-26 EP EP21902414.8A patent/EP4246919A4/en active Pending
-
2023
- 2023-06-06 US US18/329,878 patent/US20230318971A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024066775A1 (zh) * | 2022-09-27 | 2024-04-04 | 华为技术有限公司 | 一种报文传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2022121707A1 (zh) | 2022-06-16 |
EP4246919A1 (en) | 2023-09-20 |
EP4246919A4 (en) | 2024-04-24 |
US20230318971A1 (en) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220124025A1 (en) | Method for forwarding packet in data center network and related apparatus | |
CN109617803B (zh) | 一种转发表项生成方法、装置及设备 | |
US20220345404A1 (en) | Packet sending method, routing entry generation method, apparatus, and storage medium | |
US20230318971A1 (en) | Packet Transmission Method, Device, and System | |
CN111371634B (zh) | 一种通信方法、装置及系统 | |
CN113300954A (zh) | 生成转发表项的方法、发送报文的方法、网络设备及系统 | |
WO2020173424A1 (zh) | 报文处理的方法和网关设备 | |
CN113872868B (zh) | 通知消息传输方法、装置及系统、存储介质 | |
CN113162779B (zh) | 一种多云互联的方法及设备 | |
EP4020904B1 (en) | Packet transmission method, device, and system | |
CN111835635A (zh) | 一种bgp网络中发布路由的方法、设备和系统 | |
WO2023093513A1 (zh) | 路径感知方法、装置及系统 | |
US20220173996A1 (en) | Route advertisement method, route generation method, and device | |
CN112367261B (zh) | 一种报文转发方法及装置、分布式设备 | |
CN115242699A (zh) | 报文传输方法、切片生成方法、装置及系统 | |
CN115473765A (zh) | 报文传输方法、设备及系统 | |
CN114531319A (zh) | 报文发送方法、设备及系统 | |
CN115150320B (zh) | 报文传输方法、装置及系统 | |
CN110545240A (zh) | 基于分布式聚合系统的标签转发表的建立及报文转发方法 | |
US20240121174A1 (en) | Information processing method, apparatus, and system | |
EP4277226A1 (en) | Packet transmission method, transmission control method, apparatus, and system | |
EP4333394A1 (en) | Path determination method and apparatus | |
JP7273130B2 (ja) | 通信方法および装置 | |
CN114124753B (zh) | 一种报文发送方法及设备 | |
CN115225452A (zh) | 转发路径的故障感知方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |