The present disclosure relates to network devices and methods.
The present disclosure is directed to a network comprising network devices that may communicate with each other. The network devices are network nodes of the network. The internet protocol (IP) is an example of a network protocol that may be used for communication between the network devices.
Network layer protocols, IPv4 and IPv6, are examples of a network protocol that supports header extensions. Each of these two protocols may use a fixed size base header: a 20-octet long header in IPv4 and a 40-octet long header in IPv6. Each of these two protocols allows the base header to be followed by an optional extension. In IPv4 there may be no header options or alternatively one or more header options, and in IPv6 there may be no extension header or alternatively one or more extension headers.
Each IPv6 extension header may be comprised of one or more type-length-value (TLV) options. A router or host that receives a packet with an IPv6 header and one or more extension headers may skip the extension headers and ignore them. Skipping may be performed or made possible by iteratively following the “length” part of each TLV.
Extension headers may be included in a packet by a host that sends the IPv6 packet, i.e. by the source (may be referred to as source network device or source network node). These extension headers may be used or updated by intermediate network devices (i.e. routers). For example, routers may push path tracing information and/or performance-related information, so that the extension header includes per-hop information about the path and/or performance. Optionally, the segment routing header (SRH) may be used by routers for segment routing. Segment routing may mean that the source (source network device) instructs the routers (intermediate network devices) how to route the packet to the destination (destination network device). Routers may update the SRH. The terms “send” and “transmit” may be used as synonyms.
The internet control message protocol (ICMP) may be used for probing networks and for reporting errors. In the network layer model (transmission control protocol/internet protocol five layer network model, i.e. TCP/IP five layer network model), IPv4/IPv6 are part of the network layer (i.e. layer 3), while ICMP is an intermediate layer above layer 3 (i.e. an intermediate layer between layer 3 and layer 4), which is used for probing and troubleshooting layer 3. In this disclosure the term “transmission control protocol/internet protocol five layer network model” is abbreviated by the term “TCP/IP five layer network model”. ICMP has two variants, wherein ICMP is used for IPv4 and ICMPv6 is used for IPv6.
Both ICMP variants may comprise the capability to send an echo request to a destination host (i.e. destination network device) and receive an echo reply. The destination (or responder) that receives the echo request may send an echo reply to the IP address from which the echo request was received. Many applications may make use of echo request/reply messages, such as the “ping” application that may be used to test reachability of a host.
A different protocol that may perform a procedure that is similar to the ICMP echo is the simple two-way active measurement protocol (STAMP). STAMP is a protocol that may be used for performance measurement between two network nodes (i.e. network devices), the session-sender and session-reflector. Performance measurement may be performed using STAMP test packets. The session-sender may send one or more STAMP session-sender packets, and the session-reflector may reply to each test packet by sending a session-reflector test packet back to the session-sender. STAMP test packets may be sent over the user datagram protocol (UDP), which may be used over IP (either IPv4 or IPv6). STAMP test packets may include no optional type-length-value (TLV) fields or alternatively one or more optional TLV fields. The TLV fields are defined in the STAMP specification as “optional extensions that use Type-Length-Value (TLV) encoding”. Specifically, these TLVs extend the STAMP header, which is analogous to the way extension headers extend the IPv6 header.
While there are several protocols that use extension headers for probing and collecting per-hop (per-router) information, there is no generic or standard way of returning this information back to the sender (i.e. the source network device). Such protocols may update the IP extension headers of the IP packet, which finally reaches the IP destination (i.e. destination network device), but the information in the IP extension headers that was updated along the path (from the source to the destination) does not propagate back to the source, which is often the host that actually needs this information. For example, an application such as the “ping” application may find it useful for the source to receive the extension headers from the forward path back from the responder, and present it to the user along with other information that is presented when invoking the “ping” application.
In view of the above, this disclosure aims to provide network devices and methods that allow returning of information to a source network device, when the source network device transmits according to a network protocol a packet to a destination network device. An objective of this disclosure may be to provide network devices and methods that allow returning information to a source network device in a generic or standard way.
These and other objectives are achieved by the solution of this disclosure as described in the independent claims. Advantageous implementations are further defined in the dependent claims.
A first aspect of this disclosure provides a network device. The network device is configured to transmit, according to a network protocol, a packet to a further network device, and receive a loopback reply packet comprising, in a payload, at least a portion of the packet including at least one header of the packet. The packet comprises loopback request information in a header of a layer of a network model. The loopback request information requests the further network device to transmit the loopback reply packet to the network device.
In other words, the first aspect proposes a generic way for returning information of a packet (such as network layer extension field information), which is sent from a source network device (i.e. the network device of the first aspect) to a destination network device (i.e. the further network device), back to the source network device, wherein the generic way is agnostic to the format of the information of the packet (e.g. the extension field format). The term “independent” may be used as a synonym for the term “agnostic”.
The term “feedback” may be used as a synonym for the term “loopback”. Therefore, for example, the term “feedback request information” may be used as a synonym for the term “loopback request information”. The network protocol may be the internet protocol (IP). For example, the network protocol may be IPv4 or IPv6. The network device may be configured to transmit, according to the network protocol, the packet to the further network device via one or more intermediate network devices. The one or more intermediate network devices may be one or more routers. The loopback request information is or comprises a loopback request.
The network device may be referred to as a source or source network device with regard to transmitting the packet. The further network device may be referred to as a destination or destination network device with regard to transmitting the packet. The network device and the further network device may be referred to as network nodes. The term “part” may be used as a synonym for the term “portion”. The network device may be configured to generate the packet (to be transmitted to the further network device).
The network device may communicate, according to the network protocol, with the further network device. For example, the network device may transmit, according to the network protocol, the packet to the further network device. The network device may receive, according to the network protocol, the loopback reply packet. The network device may receive the loopback reply packet from the further network device.
The network device may be implemented by software and/or hardware. The further network device may be implemented by software and/or hardware. The network device may comprise means for communication (e.g. transmitting the packet and receiving the loopback reply packet). The means for communication may comprise one or more antennas.
The further network device may be the network device according to the second aspect of this disclosure. The network device according to the first aspect of this disclosure may be or may be part of a server, network interface card (NIC), switch (network switch), router etc.
In an implementation form of the first aspect, the packet comprises one or more extension fields in a header of layer 3 of the network model.
The header of layer 3 of the network model may comprise the IP header (e.g. IPv4 header or IPv6 header) and optionally one or more extension fields (e.g. one or more IPv4 extension options or one or more IPv6 extension headers). The layer 3 of the network model may be the layer 3 of the TCP/IP five layer network model. The header of layer 3 may be referred to as “layer 3 header”.
In case of IPv4, the one or more extension fields of the layer 3 header may be referred to as “one or more extension options”. In the case of IPv6, the one or more extension fields may be referred to as “one or more extension headers”. The one or more extension fields may be updatable by one or more intermediate network devices that may be present in the flow from the network device being the source to the further network device being the destination. The update, by the one or more intermediate network devices, of the optional one or more extension fields in the header of layer 3 may comprise information on at least one of the following: the respective intermediate device's state and/or performance (e.g. timestamps or counters); identity of the respective intermediate network device; and routing decision of the respective intermediate network device.
In an implementation form of the first aspect, the header of the layer of the network model, in which the packet comprises the loopback request information, is a header of an intermediate layer between layer 3 and layer 4 of the network model. The header of the intermediate layer may be referred to as “intermediate layer header”.
The intermediate layer between layer 3 and layer 4 of the network model may be an intermediate layer between the layer 3 and layer 4 of the TCP/IP five layer network model. That is, the intermediate layer may be an intermediate layer of the TCP/IP five layer network model. If the network protocol is IPv4, the intermediate layer may be ICMP. If the network protocol is IPv6, the intermediate layer may be ICMPv6. The packet may be referred to as “loopback request packet”.
In an implementation form of the first aspect, the loopback request information is or comprises one or more values of a type field of the header of the intermediate layer, the one or more values indicating a loopback request.
The type field may be the type field of an ICMP header or ICMPv6 header. A code field of the header of the intermediate layer may be constant and unused. The code field may be the code field of an ICMP header or ICMPv6 header.
In an implementation form of the first aspect, the network device is configured to incorporate an identification field and/or a sequence number field in the header of the intermediate layer.
In an implementation form of the first aspect, the network device is configured to assign a different identification field to each flow.
For example, a flow may be defined as a pair of a source and destination (e.g. {source address, destination address} pair) of communication, i.e. as a pair of a source network device and a destination network device. For this, the address of the source and the destination may optionally be used. For example, the network device transmitting the packet is the source and the further network device to which the packet is to be transmitted is the destination.
For example, a flow may be defined as a tuple of a source, destination and segment routing (SR) policy (e.g. {source address, destination address, SR policy} tuple). For this, the address of the source, the address of the destination and a SR policy may be used. The SR policy may explicitly define a path from the source to the destination, and use a segment routing header (SRH) to route through this path. The path may be via one or more intermediate network devices (e.g. routers).
In an implementation form of the first aspect, the network device is configured to use the identification field and/or sequence number field to keep track of loopback requests that have been replied and/or loopback requests that need to be retransmitted.
In an implementation form of the first aspect, the header of the layer of the network model, in which the packet comprises the loopback request information, is a header of layer 3 of the network model.
In other words, the packet may be a data packet and the network device may be configured to piggyback the loopback request information onto the data packet. The layer 3 of the network model may be the layer 3 of the TCP/IP five layer network model. The header of layer 3 may be referred to as “layer 3 header”. The header of layer 3 may comprise the IP header (e.g. IPv4 header or IPv6 header) and optionally one or more extension fields (e.g. one or more IPv4 extension options or one or more IPv6 extension headers). The loopback request information may be in the IP header. In addition, or alternatively, the loopback request information may be in or may be at least one of the optional one or more extension fields of the header of layer 3.
In an implementation form of the first aspect, the loopback request information is or comprises an indication with regard to a loopback request.
Optionally, the indication may be one field of fields of the IP header. For example, a reserved value (or a range of reserved values) in the differentiated services code point (DSCP) field of the IP header may indicate that the packet is subject to a loopback request.
In an implementation form of the first aspect, the header of the layer of the network model, in which the packet comprises the loopback request information, is a header of layer 5 of the network model.
The layer 5 of the network model may be the layer 5 of the TCP/IP five layer network model. The header of layer 5 may be referred to as “layer 5 header”.
In an implementation form of the first aspect, the loopback request information is or resides in a type-length-value (TLV) field.
The header of layer 5 may be a simple two-way active measurement protocol (STAMP) header. The TLV may be a STAMP header extension.
In an implementation form of the first aspect, the network device is configured to obtain information from the payload of the loopback reply packet.
In order to achieve the network device according to the first aspect of this disclosure, some or all of the implementation forms and optional features of the first aspect, as described above, may be combined with each other.
A second aspect of this disclosure provides a network device. The network device is configured to receive, according to a network protocol, a packet from a further network device, and transmit, in response to the received packet comprising loopback request information in a header of a layer of a network model, a loopback reply packet to the further network device. The loopback reply packet comprises, in a payload, at least a portion of the received packet including at least one header of the received packet.
Since the network device may return at least a portion of the received packet including at least one header of the received packet (e.g. extension information of the packet) without awareness of the format of the received packet (e.g. an extension format), the network device provides a generic way of returning information of the received packet that is agnostic to the format of the packet (e.g. agnostic with regard to an extension field format). The portion of the received packet comprised by the loopback reply packet may comprise path-based information, e.g. comprising performance and/or route information.
The above description with regard to the network device of the first aspect may be correspondingly valid for the network device of the second aspect. The network protocol may be the internet protocol (IP). For example, the network protocol may be IPv4 or IPv6. The network device may be configured to receive, according to the network protocol, the packet from the further network device via one or more intermediate network devices. The one or more intermediate network devices may be one or more routers. The further network device may be referred to as a source or source network device with regard to transmitting the packet to the network device. The network device may be referred to as a destination or destination network device with regard to transmitting the packet to the network device. The network device and the further network device may be referred to as network nodes. The network device may be configured to generate the loopback reply packet (to be transmitted to the further network device).
The network device may communicate, according to the network protocol, with the further network device. For example, the network device may receive, according to the network protocol, the packet from the further network device. The network device may transmit, according to the network protocol, the loopback reply packet to the further network device.
The network device may be implemented by software and/or hardware. The further network device may be implemented by software and/or hardware. The network device may comprise means for communication (e.g. receiving the packet and transmitting the loopback reply packet). The means for communication may comprise one or more antennas.
The network device according to the second aspect of this disclosure may be or may be part of a server, network interface card (NIC), switch (network switch), router etc.
The further network device (from which the network device of the second aspect may receive the packet) may be the network device according to the first aspect of this disclosure.
In an implementation form of the second aspect, the loopback reply packet comprises, in the payload, the entire received packet or a portion of the received packet including the at least one header of the received packet.
In other words, the loopback reply packet may comprise, in the payload, the entire received packet including all its headers or a truncated version of the received packet including the at least one header of the received packet.
In an implementation form of the second aspect, the loopback reply packet comprises, in the payload, a header of layer 3 of the network model of the received packet as the at least one header of the received packet.
The layer 3 of the network model may be the layer 3 of the TCP/IP five layer network model. The header of layer 3 may be referred to as “layer 3 header”.
In an implementation form of the second aspect, in case the received packet comprises the loopback request information in a header of an intermediate layer between layer 3 and layer 4 of the network model, the loopback reply packet comprises, in the payload, the header of the intermediate layer of the received packet as the at least one header of the received packet and/or a payload of the intermediate layer of the received packet.
The intermediate layer between layer 3 and layer 4 of the network model may be an intermediate layer between the layer 3 and layer 4 of the TCP/IP five layer network model. That is, the intermediate layer may be an intermediate layer of the TCP/IP five layer network model. If the network protocol is IPv4, the intermediate layer may be ICMP. If the network protocol is IPv6, the intermediate layer may be ICMPv6.
In an implementation form of the second aspect, in case the received packet comprises the loopback request information in a header of layer 3 of the network model, the loopback reply packet comprises, in the payload, a payload of layer 4 of the network model of the received packet.
The layer 4 of the network model may be the layer 4 of the TCP/IP five layer network model. The payload of layer 4 of the network model may be an IPv4 payload or an IPv6 payload. The payload of layer 4 of the network model may comprise a transmission control protocol (TCP) header and TCP payload.
Optionally, in case the received packet comprises the loopback request information in a header of layer 3 of the network model, the loopback reply packet may comprise, in the payload, a header and payload of layer 4 of the network model of the received packet.
The header and payload of layer 4 of the network model may be an IPv4 header and IPV4 payload or an IPv6 header and IPv6 payload.
In an implementation form of the second aspect, in case the received packet comprises the loopback request information in a header of layer 5 of the network model, the loopback reply packet comprises, in the payload, the header of layer 5 of the network model of the received packet as the at least one header of the received packet.
The layer 5 of the network model may be the layer 5 of the TCP/IP five layer network model. The header of layer 5 may be referred to as “layer 5 header”.
Optionally, in case the received packet comprises the loopback request information in a header of layer 5 of the network model, the loopback reply packet may comprise, in the payload, in addition to the header of layer 5 of the received packet at least one of a header of layer 3, a payload of layer 3, a header of layer 4, a payload of layer 4 and a payload of layer 5 of the received packet. For example, in case the received packet comprises the loopback request information in a header of layer 5 of the network model, the loopback reply packet may comprise, in the payload, headers and payloads of layers 3, 4 and 5 of the network model of the received packet.
In an implementation form of the second aspect, the loopback reply packet comprises a loopback reply indication in a header of an intermediate layer between layer 3 and layer 4 of the network model.
In an implementation form of the second aspect, in case a header of layer 3 of the network model of the received packet comprises one or more extension fields, the network device may be configured to skip at least one of the one or more extension fields when parsing the received packet.
The description with respect to the network device according to the first aspect of this disclosure may be correspondingly valid for the network device according to the second aspect of this disclosure. Optionally, the network device according to the second aspect of this disclosure is the network device according to the first aspect of this disclosure. The description with respect to the network device according to the second aspect of this disclosure may be correspondingly valid for the network device according to the first aspect of this disclosure.
The network device of the second aspect and its implementation forms and optional features achieve the same advantages as the network device of the first aspect and its respective implementation forms and respective optional features.
In order to achieve the network device according to the second aspect of this disclosure, some or all of the implementation forms and optional features of the second aspect, as described above, may be combined with each other.
A third aspect of this disclosure provides a method, wherein the method comprises transmitting, by a network device, according to a network protocol a packet to a further network device, and receiving, by the network device, a loopback reply packet comprising, in a payload, at least a portion of the packet including at least one header of the packet. The packet comprises loopback request information in a header of a layer of a network model. The loopback request information requests the further network device to transmit the loopback reply packet to the network device.
The above description of the network device according to the first aspect is correspondingly valid for the method of the third aspect. The network device performing the method of the third aspect may be the network device of the first aspect of this disclosure. The further network device may be the network device of the second aspect of this disclosure.
The method of the third aspect and its implementation forms and optional features achieve the same advantages as the network device of the first aspect and its respective implementation forms and respective optional features.
In an implementation form of the third aspect, the packet comprises one or more extension fields in a header of layer 3 of the network model.
In an implementation form of the third aspect, the header of the layer of the network model, in which the packet comprises the loopback request information, is a header of an intermediate layer between layer 3 and layer 4 of the network model.
In an implementation form of the third aspect, the loopback request information is or comprises one or more values of a type field of the header of the intermediate layer, the one or more values indicating a loopback request.
In an implementation form of the third aspect, the method comprises incorporating, by the network device, an identification field and/or a sequence number field in the header of the intermediate layer.
In an implementation form of the third aspect, the method comprises assigning, by the network device, a different identification field to each flow.
In an implementation form of the third aspect, the method comprises using, by the network device, the identification field and/or sequence number field to keep track of loopback requests that have been replied and/or loopback requests that need to be retransmitted.
In an implementation form of the third aspect, the header of the layer of the network model, in which the packet comprises the loopback request information, is a header of layer 3 of the network model.
In an implementation form of the third aspect, the loopback request information is or comprises an indication with regard to a loopback request.
In an implementation form of the third aspect, the header of the layer of the network model, in which the packet comprises the loopback request information, is a header of layer 5 of the network model.
In an implementation form of the third aspect, the loopback request information is or resides in a type-length-value field (TLV field).
In an implementation form of the third aspect, the method comprises obtaining, by the network device, information from the payload of the loopback reply packet.
The method according to the third aspect of this disclosure may be used in or by a server, network interface card (NIC), switch (network switch), router etc. The method according to the third aspect may be used to enhance various network protocols comprising segment routing (SR), inband network telemetry etc.
In order to achieve the method according to the third aspect of this disclosure, some or all of the implementation forms and optional features of the third aspect, as described above, may be combined with each other.
A fourth aspect of this disclosure provides a method, wherein the method comprises receiving, by a network device, according to a network protocol a packet from a further network device, and in response to the received packet comprising loopback request information in a header of a layer of a network model, transmitting, by the network device, a loopback reply packet to the further network device. The loopback reply packet comprises, in a payload, at least a portion of the received packet including at least one header of the received packet.
The above description of the network device according to the second aspect is correspondingly valid for the method of the fourth aspect. The network device performing the method of the fourth aspect may be the network device of the second aspect of this disclosure. The further network device may be the network device of the first aspect of this disclosure.
The method of the fourth aspect and its implementation forms and optional features achieve the same advantages as the network device of the first aspect and its respective implementation forms and respective optional features and as the network device of the second aspect and its respective implementation forms and respective optional features.
In an implementation form of the fourth aspect, the loopback reply packet comprises, in the payload, the entire received packet or a portion of the received packet including the at least one header of the received packet.
In an implementation form of the fourth aspect, the loopback reply packet comprises, in the payload, a header of layer 3 of the network model of the received packet as the at least one header of the received packet.
In an implementation form of the fourth aspect, in case the received packet comprises the loopback request information in a header of an intermediate layer between layer 3 and layer 4 of the network model, the loopback reply packet comprises, in the payload, the header of the intermediate layer of the received packet as the at least one header of the received packet and/or a payload of the intermediate layer of the received packet.
In an implementation form of the fourth aspect, in case the received packet comprises the loopback request information in a header of layer 3 of the network model, the loopback reply packet comprises, in the payload, a payload of layer 4 of the network model of the received packet.
In an implementation form of the fourth aspect, in case the received packet comprises the loopback request information in a header of layer 5 of the network model, the loopback reply packet comprises, in the payload, the header of layer 5 of the network model of the received packet as the at least one header of the received packet.
In an implementation form of the fourth aspect, the loopback reply packet comprises a loopback reply indication in a header of an intermediate layer between layer 3 and layer 4 of the network model.
In an implementation form of the fourth aspect, in case a header of layer 3 of the network model of the received packet comprises one or more extension fields, the method comprises skipping, by the network device, at least one of the one or more extension fields when parsing the received packet.
The method according to the fourth aspect of this disclosure may be used in or by a server, network interface card (NIC), switch (network switch), router etc. The method according to the fourth aspect may be used to enhance various network protocols comprising segment routing (SR), inband network telemetry etc.
In order to achieve the method according to the fourth aspect of this disclosure, some or all of the implementation forms and optional features of the fourth aspect, as described above, may be combined with each other.
It has to be noted that all devices, elements, units and means described in the present application could be implemented in software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements, or any kind of combination thereof.
The above described aspects and implementation forms will be explained in the following description of specific embodiments in relation to the enclosed drawings, in which
In the Figures, corresponding elements are labeled with the same reference sign.
As shown in
The second network device 1b is configured to receive, according to the network protocol, the packet 2 from the first network device 1a (i.e. from a further network device), and transmit, in response to the received packet 2 comprising loopback request information in a header of a layer of a network model, the loopback reply packet 3 to the first network device 1a. The loopback reply packet comprises, in a payload, at least a portion of the received packet 2 including at least one header of the received packet 2.
The network protocol may be the internet protocol (IP). For example, the network protocol may be IPv4 or IPv6. The first network device 1a may be referred to as a source or source network device with regard to transmitting the packet 2. The second network device 1b may be referred to as a destination or destination network device with regard to transmitting the packet 2. The first network device 1a and the second network device 1b may be referred to as network nodes.
The first network device 1a and the second network device 1b each may be implemented by software and/or hardware. The first network device 1a and/or the second network device 1b may comprise means for communication. The means for communication may comprise one or more antennas.
The first network device 1a may comprise a processor or processing circuitry (not shown) configured to perform, conduct or initiate the various operations of the first network device 1a described herein. The processing circuitry may comprise hardware and/or the processing circuitry may be controlled by software. The hardware may comprise analog circuitry or digital circuitry, or both analog and digital circuitry. The digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or multi-purpose processors. The first network device 1a may further comprise memory circuitry, which stores one or more instruction(s) that can be executed by the processor or by the processing circuitry, in particular under control of the software. For instance, the memory circuitry may comprise a non-transitory storage medium storing executable software code which, when executed by the processor or the processing circuitry, causes the various operations of the first network device 1a to be performed. In one embodiment, the processing circuitry comprises one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory may carry executable program code which, when executed by the one or more processors, causes the first network device 1a to perform, conduct or initiate the operations or methods described herein.
The second network device 1b may comprise a processor or processing circuitry (not shown) configured to perform, conduct or initiate the various operations of the second network device 1b described herein. The processing circuitry may comprise hardware and/or the processing circuitry may be controlled by software. The hardware may comprise analog circuitry or digital circuitry, or both analog and digital circuitry. The digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or multi-purpose processors. The second network device 1b may further comprise memory circuitry, which stores one or more instruction(s) that can be executed by the processor or by the processing circuitry, in particular under control of the software. For instance, the memory circuitry may comprise a non-transitory storage medium storing executable software code which, when executed by the processor or the processing circuitry, causes the various operations of the second network device 1b to be performed. In one embodiment, the processing circuitry comprises one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory may carry executable program code which, when executed by the one or more processors, causes the second network device 1b to perform, conduct or initiate the operations or methods described herein.
As exemplarily shown in
The method of
The method of
According to an example, the first network device 1a may transmit, according to a network protocol (i.e. over a network protocol), the packet 2 in the form of a loopback request packet to the second network device 1b. The first network device 1a may generate the packet 2. Optionally, the aforementioned transmission of the packet 2 may be via one or more intermediate network devices, as exemplarily indicated in
The packet 2 may comprise no extension fields or alternatively one or more extension fields. The loopback request information of the packet 2 may reside after the optional one or more extension fields. For example, the loopback request information may be a message type of ICMPv6, or the loopback request information may be implemented as a STAMP session-sender test packet with an optional TLV that is used for requesting the loopback. The one or more optional intermediate network devices (e.g. one or more routers) may update the optional one or more extension fields. This update by a respective intermediate network device may include information on the respective intermediate network device's state and/or performance (such as timestamp(s) or counter(s)). In addition or alternatively, this update by a respective intermediate network device may include information on the respective intermediate network device's identity, and/or on its routing decision.
The second network device 1b may receive the packet 2 comprising the loopback request information. The second network device 1b may detect the loopback request information of the received packet 2. That is, the second network device 1b may detect or determine that the received packet 2 is or comprises a loopback request. The second network device 1b may skip one or more, optionally all, of the optional one or more extension fields of the received packet 2 in its parsing procedure (when the second network device 1b parses the received packet 2).
The second network device 1b does not need to be familiar with (or does not need to know) the structure of the optional one or more extension fields of the received packet 2. The second network device 1b may generate the loopback reply packet 3 that comprises, in a payload, at least a portion of the received packet 2 including at least one header of the received packet 2. In other words, the loopback reply packet 3 may comprise, in the payload, the received packet 2 (i.e. the loopback request packet) or a truncated portion of the received packet 2. The second network device 1b may transmit the loopback reply packet 3 to the first network device 1a (due to the received packet 2 comprising the loopback request information in a header of a layer of a network model).
The first network device 1a may receive the loopback reply packet 3 from the second network device 1b. The first network device 1a may retrieve/obtain and use the information from the optional one or more extension fields of the loopback request packet 3, which reside in the payload of the loopback reply packet 3.
As shown in
The one or more extension fields of the packet 2 may be updatable by one or more intermediate network devices that may be present in the flow from the first network device 1a being the source to the second network device 1b being the destination. The update, by the one or more intermediate network devices, of the optional one or more extension fields in the header of layer 3 may comprise information on at least one of the following: the respective intermediate device's state and/or performance (e.g. timestamps or counters); identity of the respective intermediate network device; and routing decision of the respective intermediate network device. Further, as shown in
As shown in
As shown in
In the aforementioned described example of the first network device 1a requesting, using the packet 2, the loopback reply packet 3 from the second network device 1b, the first network device 1a may optionally incorporate an identification field and/or a sequence number field (for example, as in ICMPv6) into the packet 2 (i.e. the loopback request packet). The second network device 1b may copy this field or these fields to the loopback reply packet 3, i.e. to the payload of the loopback reply packet 3.
Optionally, the first network device 1a may assign a different identification field to each flow. For example, a flow may be defined as a pair of a source and destination (e.g. {source address, destination address} pair) of communication, i.e. as a pair of a source network device (e.g. the first network device 1a) and a destination network device (e.g. the second network device 1b). For this, the address of the source and the destination may optionally be used. For example, a flow may be defined as a tuple of a source, destination and segment routing (SR) policy (e.g. {source address, destination address, SR policy} tuple). For this, the address of the source and the destination and a SR policy may be used. The SR policy may explicitly define a path from the source to the destination, and use a segment routing header (SRH) to route through this path. The path may be via one or more intermediate network devices (e.g. routers).
The first network device 1a may use the identification field and/or the sequence number field to keep track of loopback requests that have been replied and/or loopback requests that need to be retransmitted.
According to a further example, in addition or alternatively to the above described example, the first network device 1a may piggyback the loopback request information onto the packet 2 being a data packet. In other words, the packet 2 may be a data packet and the first network device la may piggyback the loopback request information onto the data packet. The first network device la may piggyback the loopback request information onto the packet 2 (being a data packet) using an indication in the data packet's header. Thus, the header of the layer of the network model, in which the packet 2 comprises the loopback request information, may be a header of layer 3 of the network model.
The loopback request information (e.g. the indication) may be in the IP header. In addition or alternatively, the loopback request information may be in or may be at least one of the optional one or more extension fields of the header of layer 3. For example, the loopback request information of the packet 2 may be or may comprise a reserved value (or a range of values) in a differentiated services code point (DSCP) field, which indicate(s) that the packet 2 is subject to a loopback request (i.e. comprises a loopback request). The loopback request information (e.g. the indication) may be or may comprise, for example, a specific option in one of the one or more optional extension fields (e.g. IPv6 extension fields) that instructs the destination (i.e. the second network device 1b) to respond (by transmitting the loopback reply packet 3) to the loopback request of the packet 2.
The second network device 1b, upon detecting the loopback request information of the header of layer 3 of the network model of the received packet 2 (received from the first network device 1a) may forward the packet 2 (being a data packet) to an application layer. The second network device 1b may generate the loopback reply packet 3 that may comprise in the payload the received data packet 2 (and its header). Optionally, the second network device 1b may truncate the received data packet 2, in order to prevent the loopback reply packet 3 from exceeding a network's maximum transfer unit (MTU). That is, the loopback reply packet 3 comprises, in a payload, at least a portion of the received packet 2 including at least one header of the received packet 2. According to the further example, the loopback reply packet comprises, in the payload, a header of layer 3 of the network model of the received packet 2 as the at least one header of the received packet 2.
As shown in
The one or more extension fields of the packet 2 may be updatable by one or more intermediate network devices that may be present in the flow from the first network device 1a being the source to the second network device 1b being the destination. The update, by the one or more intermediate network devices, of the optional one or more extension fields in the header of layer 3 may comprise information on at least one of the following: the respective intermediate device's state and/or performance (e.g. timestamps or counters); identity of the respective intermediate network device; and routing decision of the respective intermediate network device. According to the example of
The loopback request information may be in the IP header (e.g. IPv6 header). In addition or alternatively, the loopback request information may be in or may be at least one of the optional one or more extension fields of the header of layer 3 (e.g. one or more IPv6 extension headers). As shown in
As shown in
As shown in
According to a furthermore example, in addition or alternatively to the above described example and/or above described further example, the first network device 1a may transmit the packet 2 that comprises the loopback request information in a header of layer 5 of the network model. The loopback request information may be or may reside in a type-length-value field (TLV field). The header of layer 5 may be a simple two-way active measurement protocol (STAMP) header. The TLV may be a STAMP header extension. In other words, the first network device 1a may transmit a STAMP test packet to the second network device 1b, which may comprise a “reflection TLV” or “loopback request TLV”. This TLV may indicate to the second network device 1b the loopback request. On the forward direction (i.e. transmitting the packet 2 from the first network device 1a to the second network device 1b) the TLV (e.g. reflection TLV) may be used to indicate that the first network device 1a requests the loopback reply packet 3 from the second network device 1b. On the reverse direction (i.e. transmitting the loopback reply packet 3 from the second network device 1b to the first network device 1a) the TLV (e.g. reflection TLV) may include the packet 2 received by the second network device 1b (or a truncated version of it) in the payload of the loopback reply packet 3.
As shown in
The one or more extension fields of the packet 2 may be updatable by one or more intermediate network devices that may be present in the flow from the first network device 1a being the source to the second network device 1b being the destination. The update, by the one or more intermediate network devices, of the optional one or more extension fields in the header of layer 3 may comprise information on at least one of the following: the respective intermediate device's state and/or performance (e.g. timestamps or counters); identity of the respective intermediate network device; and routing decision of the respective intermediate network device. The packet 2 may comprise a header of layer 4 of the network model (e.g. a user datagram protocol (UDP) header).
According to the example of
The loopback reply packet 3 of
As shown in
The example of
According to
The identifier (“Identifier” shown in
With regard to the description of the Figures, the layers of the network model, such as layer 3, the intermediate layer Lintm between layer 3 and layer, layer 4 and layer 5, may be layers of the TCP/IP five layer network model. In the Figures, a header of layer 2 of the network model (e.g. Ethernet header) is not shown.
As shown above, the loopback request information may reside in one of the protocol headers (i.e. a header of a layer of the network model), or an extension of one of the protocol headers. For example, as shown in
The present disclosure has been described in conjunction with various embodiments as examples as well as implementations. However, other variations can be understood and effected by those persons skilled in the art and practicing the claimed matter, from the studies of the drawings, this disclosure and the independent claims. In the claims as well as in the description the word “comprising” does not exclude other elements or steps and the indefinite article “a” or “an” does not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in the mutual different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation.
This application is a continuation of International Application No. PCT/EP2022/067245, filed on Jun. 23, 2022, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2022/067245 | Jun 2022 | WO |
Child | 18990868 | US |