Packet transmission method and device

The packet transmission method in in-vehicle networks uses LLRE fields to manage link availability and switch to alternate paths, addressing reliability issues by ensuring data delivery even when primary links fail.

JP2025530545APending Publication Date: 2025-09-11YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025517919
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-27
Filing Date
2023-08-15
Publication Date
2025-09-11

AI Technical Summary

Technical Problem

In-vehicle network gateways face challenges in maintaining network reliability due to broken connections or port failures, leading to unsuccessful packet forwarding.

Method used

A packet transmission method that generates alternative packets with indication information to switch to alternate routing paths when primary links fail, using Low-Latency Reliable Ethernet (LLRE) fields to manage link availability and control packet forwarding.

Benefits of technology

Enhances the success rate of packet transmission by ensuring data delivery through alternative paths when primary links become unavailable, maintaining network reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025530545000001_ABST
    Figure 2025530545000001_ABST
Patent Text Reader

Abstract

A packet transmission method and apparatus are provided, including: a first endpoint receiving a first packet from a second endpoint, the first packet including first indication information indicating that a first link is available, the first link being a link between the first endpoint and the second endpoint and used to carry the first packet, the first link belonging to a first routing path between the first endpoint and a destination access device; if the first endpoint determines that a second link is unavailable, the first endpoint generates a second packet, the payload carried by the second packet being the same as the payload carried by the first packet, the second link being a link between the first endpoint and a third endpoint that is a next hop on the first routing path, and the second packet including second indication information indicating that the second link is unavailable. The first endpoint then continues to provide transmission services in a folded switching manner and sends the second packet to the second endpoint, so that the data in the first packet can be transmitted to the destination access device through another routing path, and thus the success rate of packet transmission can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to Chinese Patent Application No. 202211185459.4, entitled "Packet Transmission Method and Apparatus," filed with the State Intellectual Property Office of China on September 27, 2022, which is incorporated herein by reference in its entirety. Technical Field The present application relates to the field of virtual network technology, and in particular to a packet transmission method and apparatus. [Background technology]

[0002] In the in-vehicle network, the in-vehicle gateway must support network isolation, and therefore must support virtual local area network (VLAN) / virtual extensible local area network (VXLAN) protocols. In addition, since the in-vehicle gateway chip is used in the in-vehicle field, it must maximize network reliability.

[0003] FIG. 1 illustrates a conventional in-vehicle VXLAN network. Access device A is connected to access device B through a VXLAN tunnel, which includes four tunnel endpoints (VTEPs): Gateway 1, Gateway 2, Gateway 3, and Gateway 4. The packet transmission process for a packet sent by access device A to access device B is as follows: The packet sent by access device A enters the VXLAN tunnel through Gateway 1, is forwarded to Gateway 4 through Gateway 5 in the VXLAN tunnel, and then exits the VXLAN tunnel through Gateway 4 and is forwarded to access device B. In the above packet transmission process, the packet forwarding path is a unique path that includes Gateway 1, Gateway 5, and Gateway 4. If the connection between any two gateways on this forwarding path is broken or if a port on any gateway fails, the packet cannot be successfully forwarded to access device B. Summary of the Invention [Problem to be solved by the invention]

[0004] The embodiments of the present application provide a packet transmission method and apparatus for improving the success rate of packet transmission. [Means for solving the problem]

[0005] According to a first aspect, the present application provides a packet transmission method, the method including: a first endpoint receiving a first packet from a second endpoint, the first packet including first indication information indicating that a first link is available, the first link being a link between the first endpoint and the second endpoint and used to carry the first packet, the first link belonging to a first routing path between the first endpoint and a destination access device; if the first endpoint determines that the second link is unavailable, the first endpoint generates a second packet, the payload carried by the second packet being the same as the payload carried by the first packet, the second link being a link between the first endpoint and a third endpoint on the first routing path; the second packet including second indication information indicating that the second link is unavailable, the third endpoint being a next-hop node of the first endpoint on the first routing path. The first endpoint then transmits the second packet to the second endpoint.

[0006] According to this method, after the first endpoint receives the first packet from the second endpoint, if the second link between the first endpoint and the third endpoint is unavailable, the payload carried by the first packet cannot continue to be transmitted to the destination access device through the first routing path, and the first endpoint generates a second packet and sends the second packet to the second endpoint, so that the transmission service can continue to be provided in a folded switching manner. After receiving the second packet, the second endpoint may determine that the second link is unavailable based on the second indication information, so that the data in the first packet can be transmitted to the destination access device through another routing path, thereby improving the success rate of packet transmission.

[0007] In one possible design, the method further includes: if the first endpoint determines that the second link is available, generating a third packet, where the third packet includes third indication information, the third indication information indicating that the second link is available; then, the first endpoint transmits the third packet to the third endpoint; in this case, when the second link is available, the first endpoint may continue to transmit packets to the destination access device via the first routing path.

[0008] In one possible design, the first endpoint determining that the second link is unavailable may include: the first endpoint not receiving a link discovery packet from the third endpoint within a preset duration; or the first endpoint receiving failure information indicating that the second link has failed. In this case, the first endpoint may determine whether the second link is available based on whether the link discovery packet is received within the preset duration or whether failure information indicating that the second link has failed is received.

[0009] In one possible design, the first indication is carried in a Low-Latency Reliable Ethernet (LLRE) field in the first packet, and the second indication is carried in an LLRE field in the second packet. In this embodiment of the present application, whether the link between the current endpoint and the previous-hop node is available is determined based on specific information carried in the LLRE field in packets transmitted between the endpoints.

[0010] In one possible design, the LLRE field further includes fourth indication information, where the fourth indication information indicates that the packet does not pass through a source endpoint connected to the source access device; or the LLRE field further includes fifth indication information, where the fifth indication information indicates that the packet has passed through the source endpoint. Whether the packet has passed through the source endpoint can be determined based on the fourth indication information or the fifth indication information carried in the LLRE field. For example, it can be determined that a folding switch has occurred for the packet but the packet has not returned to the source endpoint based on the fourth indication information carried in the LLRE field in combination with the first indication information carried in the LLRE field. It can be determined that a folding switch has occurred for the packet and the packet has returned to the source endpoint based on the fourth indication information and the first indication information carried in the LLRE field.

[0011] In one possible design, the LLRE field further includes a packet lifecycle, which indicates either a number of endpoints along a routing path along which the packet is located that the packet does not traverse, or a number of endpoints along a routing path along which the packet is located that the packet traverses, in which case whether the packet arrives at the destination endpoint can be determined based on the packet lifecycle.

[0012] In one possible design, the LLRE field further includes a ring network packet identifier that indicates whether the packet is a ring network packet.

[0013] In one possible design, the LLRE field further includes a ring network identifier indicating an identifier of the ring network to which the packet belongs.

[0014] In one possible design, the LLRE field is 6 bytes long.

[0015] In one possible design, the second endpoint is a source endpoint, and the method further includes: the source endpoint receiving an original packet from a source access device; the source endpoint sending a first packet to the first endpoint, where the first packet is obtained by adding a packet header to the original packet, and the first routing path is a routing path between the source access device and the destination access device. For example, the packet header includes an LLRE field. In this case, when the original packet from the source access device is transmitted between the endpoints, packet forwarding within the ring network may be controlled by using the LLRE field, so that packet transmission continues on the alternative path when a folding switchover occurs, improving the success rate of packet transmission.

[0016] In one possible design, the third endpoint is a destination endpoint, and the method includes: the destination endpoint receiving a third packet, where the third packet includes packet information and an LLRE field; the destination endpoint providing the packet information in the third packet for the destination access device, where the packet information does not include the LLRE field of the third packet; and, according to this design, after receiving the third packet, the destination endpoint removing the LLRE field in the third packet and sending the packet information to the destination access device.

[0017] In one possible design, either the first packet or the second packet is one of a unicast packet, a multicast packet, and a broadcast packet type.

[0018] In one possible design, the frame format of either the first packet or the second packet conforms to the 802.1CB format. With this design, a device receiving a packet carrying an LLRE tunnel header can parse the packet based on the 802.1CB format. Even if a device to which the packet transmission method provided herein is not applicable receives a packet carrying an LLRE tunnel header, the packet cannot be identified.

[0019] According to a second aspect, the present application provides a packet transmission method, the method including: a second endpoint transmitting a first packet to the first endpoint, the first packet including first indication information indicating that a first link is available, the first link being a link between the first endpoint and the second endpoint and used to carry the first packet, the first link belonging to a first routing path between the first endpoint and a destination access device; and a second endpoint receiving a second packet from the first endpoint, the second packet including second indication information indicating that the second link is unavailable, the second link being a link between the first endpoint and a third endpoint that is a next hop on the first routing path, the payload carried by the second packet being the same as the payload carried by the first packet.

[0020] According to this method, after the second endpoint sends a first packet to the first endpoint, because the second link is unavailable, the payload carried by the first packet cannot continue to be transmitted to the destination access device through the first routing path, and the first endpoint generates a second packet and continues to provide transmission service in a folded switching manner, so that the second endpoint can transmit the second packet to the destination access device through another routing path, thereby improving the success rate of packet transmission. In this way, the data in the first packet can be transmitted to the destination access device through the another routing path, thereby improving the success rate of packet transmission.

[0021] In one possible design, if the second endpoint determines that the third link is available, it generates a fourth packet and transmits the fourth packet to the fourth endpoint. The payload carried by the fourth packet is the same as the payload carried by the second packet. The fourth packet includes sixth indication information, which indicates that the third link is available. The third link is a link between the second endpoint and the fourth endpoint and is used to carry the fourth packet. The third link belongs to a second routing path between the first endpoint and the destination access device. The fourth endpoint is a next-hop node of the second endpoint on the second routing path. In this case, after receiving the second packet, the second endpoint determines that the second link is unavailable and a collapse switchover has occurred, and then switches to continue transmission to the next-hop node through the third link on the second routing path. This improves the success rate of packet transmission.

[0022] In one possible design, the second endpoint determining that the third link is available includes: the second endpoint receiving a link detection packet from the fourth endpoint within a preset duration, or the second endpoint not receiving failure information indicating that the third link has failed. In this case, the second endpoint may determine whether the third link is available based on whether the link detection packet is received within the preset duration or whether failure information indicating that the third link has failed is received.

[0023] In one possible design, the first indication is carried in a Low Latency Reliable Ethernet (LLRE) field in the first packet, the second indication is carried in an LLRE field in the second packet, and the sixth indication is carried in an LLRE field in the fourth packet. In this embodiment of the present application, whether the link between the current endpoint and the previous-hop node is available is determined based on specific information carried in the LLRE field in packets transmitted between the endpoints.

[0024] In one possible design, the LLRE field further includes fourth indication information, where the fourth indication information indicates that the packet does not pass through a source endpoint connected to the source access device; or the LLRE field further includes fifth indication information, where the fifth indication information indicates that the packet has passed through the source endpoint. Whether the packet has passed through the source endpoint may be determined based on the fourth indication information or the fifth indication information carried in the LLRE field. For example, it may be determined that a folding switch has occurred for the packet but the packet has not returned to the source endpoint based on the fourth indication information carried in the LLRE field in combination with the first indication information carried in the LLRE field. It may be determined that a folding switch has occurred for the packet and the packet has returned to the source endpoint based on the fourth indication information and the first indication information carried in the LLRE field.

[0025] In one possible design, the LLRE field further includes a packet lifecycle, which indicates the number of endpoints the packet does not traverse along its routing path, or the number of endpoints the packet traverses along its routing path, in which case whether the packet arrives at the destination endpoint can be determined based on the packet lifecycle.

[0026] In one possible design, the LLRE field further includes a ring network packet identifier that indicates whether the packet is a ring network packet.

[0027] In one possible design, the LLRE field further includes a ring network identifier indicating an identifier of the ring network to which the packet belongs.

[0028] In one possible design, the LLRE field is 6 bytes long.

[0029] In one possible design, the second endpoint is a source endpoint. Before the second endpoint sends the first packet to the first endpoint, the method further includes: the second endpoint receiving the original packet from the source access device; and the second endpoint generating the first packet, where the first packet is obtained by adding a packet header to the original packet. For example, the packet header includes an LLRE field. In this case, when the original packet from the source access device is transmitted between endpoints, packet forwarding within the ring network may be controlled by using the LLRE field, so that packet transmission continues on the alternative path when a folding switchover occurs, improving the success rate of packet transmission.

[0030] In one possible design, the third endpoint is a destination endpoint, and the method includes: the destination endpoint receiving a third packet, where the third packet includes packet information and an LLRE field; the destination endpoint providing the packet information in the third packet for a destination access device, where the packet information does not include the LLRE field of the third packet; and, according to this design, after receiving the third packet, the destination endpoint removing the LLRE field in the third packet and sending the packet information without the LLRE field to the destination access device.

[0031] In one possible design, any of the first packet, the second packet, or the fourth packet is one of the following types: a unicast packet, a multicast packet, and a broadcast packet.

[0032] In one possible design, the frame format of any of the first packet, the second packet, or the fourth packet conforms to the 802.1CB format. This design may prevent a problem in which a peer vendor device cannot identify a packet carrying an LLRE tunnel header when receiving the packet.

[0033] According to a third aspect, there is provided a packet transmission device including different ports and processing modules. Each port includes a corresponding transmitting module and a corresponding receiving module. The processing module cooperates with the transmitting modules and receiving modules on the different ports to perform any implementation of the packet transmission method according to the first aspect or the second aspect. The transmitting modules and receiving modules are configured to perform functions related to transmission and reception.

[0034] In another design, the transmitting module may be a transmitter or a transmitter machine, and the receiving module may be a receiver or a receiver machine.

[0035] Optionally, the packet transmission device further comprises modules that may be configured to perform any implementation of the packet transmission method according to either the first or second aspect.

[0036] According to a fourth aspect, there is provided a packet transmission device. The packet transmission device may be a network device, for example, the first endpoint or the second endpoint described above, and includes a processor and a memory. Optionally, the packet transmission device further includes a receiver and a transmitter. The memory is configured to store computer programs or instructions. The processor is configured to retrieve the computer programs or instructions from the memory and execute the computer programs or instructions. When the processor executes the computer programs or instructions in the memory, the packet transmission device is enabled to perform any implementation of any of the packet transmission methods according to the first and second aspects.

[0037] Optionally, there may be one or more processors and one or more memories. Optionally, the memory may be integrated with the processor, or the memory and processor may be located separately.

[0038] Optionally, the receiver may be a receiver machine and the transmitter may be a transmitter machine.

[0039] According to a fifth aspect, there is provided a packet transmission device including a processor. The processor may be coupled to a memory and configured to perform a method according to any of the first and second aspects and any possible implementations of the first and second aspects. Optionally, the packet transmission device may further include the memory. Optionally, the packet transmission device may further include a transmitting interface and a receiving interface, the processor being coupled to the transmitting interface and the receiving interface.

[0040] In some implementations, the packet transmission device may be a network device. When the packet transmission device is a network device, the sending interface may be a transmitter or an output interface, and the receiving interface may be a receiver or an input interface. Optionally, the receiver may be a receiver circuit, and the transmitter may be a transmitter circuit. Optionally, the input / output interface may be an input / output circuit.

[0041] In another implementation, the packet transmission device may be a chip or a chip system. When the packet transmission device is a chip or a chip system, the receive / transmit interface may be an input / output interface, interface circuit, input / output circuit, pin, associated circuit, etc. on the chip or chip system. The processor may alternatively be embodied as a processing circuit or a logic circuit.

[0042] According to a sixth aspect, the present application further provides a vehicle, the vehicle including an apparatus configured to perform a method according to the first aspect or any implementation thereof, and including an apparatus configured to perform a method according to the second aspect or any possible implementation thereof.

[0043] According to a seventh aspect, the present application further provides a computer-readable storage medium storing a computer program product, which, when executed, performs the operational steps of a method according to any one of the first and second aspects.

[0044] According to an eighth aspect, the present application further provides a computer program product, the computer program product including computer programs or instructions, which, when executed by a packet transmission device, perform the operational steps of a method according to any of the first and second aspects.

[0045] For the beneficial effects of any possible implementations of any of the third to eighth aspects, please refer to the beneficial effects of the related content in the first and second aspects, and the details will not be described again in this specification. [Brief explanation of the drawings]

[0046] [Figure 1] FIG. 1 is a diagram of conventional in-vehicle VXLAN networking. [Figure 2] 1 is a diagram of a network architecture to which an embodiment of the present application can be applied. [Figure 3] FIG. 2 is a diagram of a packet transmission according to an embodiment of the present application. [Figure 4] 1 is a schematic flowchart of a packet transmission method according to an embodiment of the present application; [Figure 5] FIG. 2 is a diagram of a packet header according to an embodiment of the present application. [Figure 6] 1 is a schematic flowchart of a packet transmission method according to an embodiment of the present application; [Figure 7] FIG. 2 is a diagram of a VXLAN tunnel header according to an embodiment of the present application. [Figure 8] FIG. 1 is a diagram of another network architecture to which embodiments of the present application can be applied. [Figure 9] 1 is a diagram of a packet transmission device according to an embodiment of the present application; [Figure 10] 1 is a diagram of a packet transmission device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0047] FIG. 2 is an example of a network architecture diagram to which embodiments of the present application can be applied. As shown in FIG. 2, the network architecture includes a source access device, a destination access device, and a VXLAN network. The VXLAN network includes four endpoints, for example, a first VTEP, a second VTEP, and a third VTEP. These VTEPs are connected to form a ring VXLAN network. As shown in FIG. 2, the first VTEP, the second VTEP, the fourth VTEP, and the third VTEP are sequentially connected to form a ring network, and packets can be transmitted in both clockwise and counterclockwise directions. The source access device and the destination access device can interact with each other through these VTEPs. FIG. 2 is merely a diagram and does not limit the type of network architecture, the number of devices included in the network architecture, the device types, etc. For example, FIG. 2 may further include other types of devices, or may include more source access devices and destination access devices, or may include more or fewer VTEPs.

[0048] The first VTEP, the second VTEP, the third VTEP, and the fourth VTEP may be gateway devices. The gateway device may be connected to the access device through an Ethernet interface (e.g., at 1 Gbps, 10 Gbps, or 25 Gbps). Note that for different application scenarios, the VTEPs in the network architecture of FIG. 2 may be different devices. For example, in an in-vehicle network scenario, the source access device in FIG. 2 may be various types of sensors or electronic control units (ECUs) that use CAN bus signals. The sensors may be, for example, camera sensors, radar sensors, lidar sensors, millimeter-wave radar sensors, ultrasonic sensors, etc. The VTEP in the VXLAN tunnel may be a gateway. The destination access device may be a gateway, a processor, a mobile data center (MDC), an ECU, or another device that can process the data flow.

[0049] Based on the system architecture shown in FIG. 2 and using an example where all four endpoints are gateways, FIG. 3 is an example diagram of packet transmission according to one embodiment of the present application.

[0050] When there is no failure in any of the links between gateways in the ring network, a packet sent by a source access device may be transmitted clockwise within the ring network and eventually reach a destination access device, or may be transmitted counterclockwise and finally reach a destination access device. For example, after receiving packet A from the source access device, Gateway 3 in the ring network transmits packet A clockwise. As shown in FIG. 3, after receiving packet A, Gateway 3 transmits packet A to Gateway 1, Gateway 1 transmits packet A to Gateway 2, and Gateway 2 transmits packet A to the destination access device. Note that the four gateways shown in FIGS. 2 and 3 are merely examples, and the number of gateways is not limited in the embodiments of the present application.

[0051] As shown in FIG. 3, each of Gateway 1, Gateway 2, Gateway 4, and Gateway 3 may include one or more ports. For example, each gateway may include n ports, where n is an integer greater than 2. Each gateway may include two ring network ports, each connected to the ring network ports of two adjacent gateways. The first, second, third, fourth, fifth, sixth, seventh, and eighth ports shown in FIG. 3 form a ring network. As shown in FIG. 3, Gateway 1 includes a first port and a second port, Gateway 2 includes a third port and a fourth port, Gateway 3 includes a fifth port and a sixth port, and Gateway 4 includes a seventh port and an eighth port. Each port of each gateway shown in FIG. 3 includes a transmitting unit and a receiving unit. The first port of Gateway 1 is used as an example for explanation. The others are similar, and details will not be described again. 3, the sending unit of the first port is connected to the receiving unit of the third port of Gateway 2, and the receiving unit of the first port is correspondingly connected to the sending unit of the third port of Gateway 2. When Gateway 1 sends a message through the first port, the message is sent to the receiving unit of the third port of Gateway 2 by using the sending unit of the first port. When Gateway 2 sends a message through the third port, the message is sent to the receiving unit of the first port of Gateway 1 by using the sending unit of the third port of Gateway 2. In this embodiment of the present application, the link corresponding to the receiving unit of a port is the same as the link corresponding to the sending unit of the peer port of that port, and the link corresponding to the sending unit of a port is the same as the link corresponding to the receiving unit of the peer port of that port.For example, in FIG. 3, the link corresponding to the receiving unit of the first port of Gateway 1 is the same as the link corresponding to the sending unit of the third port of Gateway 2, and the link corresponding to the sending unit of the first port of Gateway 1 is the same as the link corresponding to the receiving unit of the third port of Gateway 2.

[0052] Additionally, in addition to the ring network port, each gateway may further include at least one other port (not shown in FIG. 3), each of which may be connected to one access device.

[0053] In this embodiment of the present application, a link between two ports may be referred to as a bidirectional link. A bidirectional link includes two unidirectional links. For example, a bidirectional link between a first port and a second port includes a first-direction link that is a unidirectional link transmitting from the first port to the second port, e.g., link 1 in FIG. 3, and a second-direction link that is a unidirectional link transmitting from the second port to the first port, e.g., link 8 in FIG. 3. As shown in FIG. 3, the bidirectional link between two ports may actually be two physical cables or may be one physical cable.

[0054] It should be noted that a fault in a port of a device may be a fault in the link corresponding to the receiving unit or transmitting unit of the port, or the port may be said to be in a fault state.

[0055] A port being in a non-fault state means that the link corresponding to the transmitting unit of the port is in a non-fault state and the link corresponding to the receiving unit of the port is in a non-fault state.

[0056] In the present application, "multiple" means two or more. The term "and / or" describes an association relationship between associated objects and indicates that three relationships may exist. For example, A and / or B may represent the following cases: only A is present, both A and B are present, or only B is present. Here, A and B may be singular or plural. The symbol " / " generally indicates an "or" relationship between associated objects. Furthermore, "at least one of the listed items" or similar expressions refer to any combination of these items, including any combination of a single item or multiple items. For example, at least one item of a, b, or c may refer to a, b, c, ab, ac, bc, or abc, where a, b, and c may be singular or plural.

[0057] Additionally, unless otherwise specified, ordinal numbers such as "first" and "second" in the embodiments of the present application are used to distinguish between multiple objects, and are not used to limit the order, time order, priority, or importance of the multiple objects. For example, the first VTEP, the second VTEP, the third VTEP, and the fourth VTEP are used only to distinguish between different VTEPs, and do not indicate different priorities, importance, etc. of those VTEPs.

[0058] Based on the above, Figure 4 is a schematic flowchart of a packet transmission method according to an embodiment of the present application. As shown in Figure 4, the method includes the following steps:

[0059] Step 401: A first endpoint receives a first packet from a second endpoint.

[0060] The first packet may include at least one first piece of information, and the at least one first piece of information may indicate that a first link is available. The first link is a link between the first endpoint and the second endpoint and is used to carry the first packet. The first link belongs to a first routing path between the first endpoint and the destination access device.

[0061] The at least one first information may be carried in a low-latency reliable Ethernet (LLRE) field in the first packet. It should be understood that the name of the LLRE field is not limited in the embodiments of the present application, and will not be described in detail below.

[0062] The at least one first information may include, but is not limited to, the following: information carried in fields such as a ring network identifier (ring_ID) field, an LLRE format (LLRE_format) field, a wrap switch indication (wrapped) field, a source node arrival indication (receive_ineligible) field, and an LLRE life cycle (TTL) field included in the LLRE header shown in (b) of Figure 5.

[0063] The ring network identifier field may carry a ring network identifier that indicates the identifier of the ring network to which the packet belongs. For example, in a dual ring cross-networking scenario or a cross-networking scenario of more than two ring networks, a first endpoint receives a first packet that carries a ring network identifier, and the ring network identifier is used by the first endpoint to distinguish the ring network from which the first packet came.

[0064] The LLRE format field may carry a ring network packet identifier that indicates whether the packet is a ring network packet. For example, the ring network packet identifier in the first packet may be 1, indicating that the first packet is a ring network packet. In another example, the ring network packet identifier in the first packet may be 0, indicating that the first packet is not a ring network packet.

[0065] The fold switch indication field may carry fold switch indication information. For example, when the fold switch indication information is set to a first value (e.g., 1), it indicates that there is a failure in the egress port of the first endpoint and a fold switch will occur.

[0066] The source node arrival indication field may carry indication information indicating whether the packet arrives at the source node. For example, if the source node arrival indication field is set to 1, it indicates that the packet does not pass through the source node connected to the source access device. As another example, if the source node arrival indication field is set to 0, it indicates that the packet passed through the source node connected to the source access device. For example, see Figure 3. The source endpoint is Gateway 1 connected to the source access device.

[0067] For a unicast packet, if the wrapper field in the packet is 1 and the receive_ineligible field is 1, it indicates that the packet has not arrived at the source node after the wrapper switch. Multicast / broadcast packets are processed as unicast packets before arriving at the source node after the wrapper switch.

[0068] The LLRE lifecycle field may carry a packet lifecycle that indicates either the number of endpoints the packet does not traverse along the routing path it is on, or the number of endpoints the packet has traversed along the routing path it is on. For example, to ensure that a packet can be transmitted in a ring network for one cycle, when a packet enters a ring network and a collapse switch occurs, the packet lifecycle is reset to the number of ring network nodes; at other times, the packet lifecycle is decremented by one each time the packet traverses an endpoint (e.g., a gateway).

[0069] The above fields are required for transmission in a ring network, and the order and location of the fields in the tunnel header are not limited. For example, currently, the entire 6-byte LLRE field may be placed in the Layer 2 header, after the VLAN tag, or may be moved to any position in the tunnel header, such as the Layer 3 header, Layer 4 header, or VXLAN feature field.

[0070] Optionally, the LLRE tunnel header may further include a reserved field, and the positions of the LLRE field and the reserved field may alternatively be swapped.

[0071] Step 402: If the first endpoint determines that the second link is unavailable, it generates a second packet.

[0072] The second link is a link between the first endpoint and a third endpoint on the first routing path, and the third endpoint is the next-hop node of the first endpoint on the first routing path.

[0073] The payload carried by the second packet is the same as the payload carried by the first packet. The second packet includes at least one second piece of information, which may be carried in a low-latency reliable Ethernet (LLRE) field in the first packet. The at least one second piece of information may include, but is not limited to, information carried in fields such as a ring network identifier (ring_ID) field, an LLRE format (LLRE_format) field, a wrapped field, a receive_ineligible field, and an LLRE life cycle (TTL) field.

[0074] If the first packet includes a ring network identifier (ring_ID) field, an LLRE format (LLRE_format) field, a wraparound switch indication (wrapped) field, a source node arrival indication (receive_ineligible) field, and an LLRE life cycle (TTL) field, the second packet also includes these fields. The difference lies in that the information carried in at least one of these fields in the first packet and the second packet is different. For example, the wraparound switch indication information carried in the first packet is 0, and the wraparound switch indication information carried in the second packet is 1. In this case, the at least one second information may indicate that the second link is unavailable.

[0075] Step 403: The first endpoint sends a second packet to the second endpoint.

[0076] In this embodiment of the present application, after receiving the second packet, the first endpoint determines that the second link is unavailable based on at least one second information carried in the second packet. In other words, the first endpoint cannot transmit the data carried in the second packet to the destination access device through the first routing path. In this case, the first endpoint may transmit the data carried in the second packet to the destination access device through another routing path (e.g., the second routing path), which may improve the success rate of packet transmission.

[0077] Based on the packet transmission method in the above embodiment, the packet carrying folding switch indication information is used as an example. The folding switch indication information may indicate whether the link between two endpoints is available. Figure 6 is a schematic flowchart of a packet transmission method according to an embodiment of the present application. As shown in Figure 6, the method includes the following steps:

[0078] Step 601: A first endpoint receives a first packet from a second endpoint.

[0079] The first packet includes first indication information, and the first indication information indicates that a first link is available. The first link is a link between the first endpoint and the second endpoint and is used to transport the first packet. The first link belongs to a first routing path between the first endpoint and the destination access device. For example, the first indication information is 0.

[0080] The first indication information may be carried in a Low-Delay Reliable Ethernet LLRE field in the first packet.

[0081] Step 602: The first endpoint determines whether a second link is available. If the second link is available, step 605 is executed. If the second link is unavailable, step 603 is executed.

[0082] The second link is a link between the first endpoint and a third endpoint on the first routing path, and the third endpoint is the next-hop node of the first endpoint on the first routing path.

[0083] In one possible implementation, the first endpoint determining that the second link is unavailable may be implemented in any one of the following manners: Aspect a1: The first endpoint does not receive a link detection packet from the third endpoint within a preset duration. Aspect a2: The first endpoint receives failure information indicating that the second link has a failure.

[0084] If the second link is determined to be unavailable, or in other words, if the second link is determined to be in a failed state, then execution proceeds to step 603.

[0085] In one possible implementation, the first endpoint determining that the second link is available may be implemented in any one of the following ways: Aspect b1: The first endpoint receives a link detection packet from the third endpoint within a preset duration. Aspect b2: The first endpoint does not receive failure information indicating that the second link has a failure.

[0086] The second link is determined to be available, or in other words, the second link is determined to be in a non-failure state. Next, execution proceeds to step 605.

[0087] It should be noted that in some cases, if step 603 is performed after step 602, then steps 603 and 604 are performed, after which the procedure ends, and steps 605 and 606 are not performed. In other cases, if step 605 is performed after step 602, then steps 603 and 604 are not performed, and step 606 is performed after step 605 is performed.

[0088] Step 603: The first endpoint generates a second packet. Then, execution proceeds to step 604.

[0089] The payload carried by the second packet is the same as the payload carried by the first packet, and the second packet includes second indication information, where the second indication information indicates that the second link is unavailable.

[0090] For example, the first endpoint may convert the first packet into a second packet, and the LLRE field in the second packet may carry second indication information, where the second indication information indicates that the second link is unavailable. For example, the second indication information is 1.

[0091] Step 604: The first endpoint sends a second packet to the second endpoint.

[0092] After step 604, the second endpoint receives the second packet and determines that the second link is unavailable based on the second indication information in the second packet, and the second endpoint determines whether a third link is available.

[0093] In one possible implementation, if the second endpoint determines that a third link is available, the second endpoint generates a fourth packet and transmits the fourth packet to the fourth endpoint. The payload carried by the fourth packet is the same as the payload carried by the second packet. The fourth packet includes sixth indication information, which indicates that the third link is available. The third link is between the second endpoint and the fourth endpoint and is a link used to carry the fourth packet. The third link belongs to a second routing path between the first endpoint and the destination access device. The fourth endpoint is a next-hop node of the second endpoint on the second routing path.

[0094] Regarding the second endpoint determining whether the third link is available, please refer to the above implementation in which the first endpoint determines whether the second link is available, and the details will not be described again in this specification.

[0095] For example, the first endpoint is Gateway 2 in FIG. 3 , and the first link is Link 2. When Link 2 is in a fault state, Gateway 2 cannot transmit the first packet to Gateway 3 through Link 2. Gateway 2 may trigger a loopback on the fourth port, which may mean that Gateway 2 loops back the first packet, which needs to be transmitted by the transmitting unit of the fourth port, to the receiving unit of the fourth port. Optionally, Gateway 2 may add a loopback marker (also referred to above as second indication information) to the first packet on which the loopback is performed. In this embodiment of the present application, performing a loopback on the fourth port may also be referred to as performing a fold switchover on the fourth port. Although there are multiple terms for this purpose, all of these terms essentially mean the following: Gateway 2 rewrites the LLRE field of the first packet. After the rewriting, the gateway 2 processes and forwards the first packet whose LLRE field has been rewritten based on the processing procedure for data received from the receiving unit of the fourth port (i.e., the first packet whose LLRE field has been rewritten is considered to be data received from the fourth port for processing and forwarding). For example, the first packet whose LLRE field has been rewritten may be referred to as a second packet.

[0096] For example, when link 2 is in a failure state, Gateway 2 modifies the LLRE field in the first packet to 0xF1C1_1033_0000. That is, the wrapped field changes to 1, indicating that the packet encountered a link failure and a fold changeover will occur, and receive_ineligible changes to 1. The fact that receive_ineligible is 1 when wrapped is 1 indicates that the packet has not returned to the source node after the fold changeover. Here, the source endpoint is the endpoint that adds the LLRE field to the first packet, which is Gateway 1 in this example. The TTL field is reset to its maximum value, i.e., 3. That is, the second packet is retrieved.

[0097] Step 605: The first endpoint generates a third packet, and then proceeds to execute step 606.

[0098] The third packet includes a third indication, which indicates that the second link is available.

[0099] Step 606: The first endpoint sends a third packet to the third endpoint.

[0100] For example, the first endpoint is Gateway 2 in Figure 3, the second link is Link 2, and the third endpoint is Gateway 3. When Link 2 is in a non-failure state, Gateway 2 may send a third packet to Gateway 3 through Link 2.

[0101] In the above-described embodiment, packets transmitted between endpoints, such as the first packet, the second packet, the third packet, and the fourth packet, may include an LLRE field. The LLRE field may include a folding switch indication field. The folding switch indication field may carry folding switch indication information. For example, the folding switch indication information carried in the first packet is the first indication information, the folding switch indication information carried in the second packet is the second indication information, the folding switch indication information carried in the third packet is the third indication information, and the folding switch indication information carried in the fourth packet is the sixth indication information.

[0102] In one possible implementation, the LLRE field may further include fourth indication information, the fourth indication information indicating that the packet has not passed through a source endpoint connected to the source access device, or the LLRE field may further include fifth indication information, the fifth indication information indicating that the packet has passed through the source endpoint.

[0103] In one possible implementation, the LLRE field may further include a packet life cycle, which indicates either the number of endpoints that the packet does not pass through on the routing path along which the packet is located, or the number of endpoints that the packet has passed through on the routing path along which the packet is located.

[0104] In one possible implementation, the LLRE field may further include a ring network packet identifier that indicates whether the packet is a ring network packet.

[0105] In one possible implementation, the LLRE field may further include a ring network identifier indicating the identifier of the ring network to which the packet belongs.

[0106] In this embodiment of the present application, the LLRE field may be carried in a packet header when the packet header is added to the original packet after the source endpoint receives the original packet, where the original packet is received by the source endpoint from the source access device. For example, the second endpoint is the source endpoint. Before sending the first packet to the first endpoint, the second endpoint may further receive the original packet from the source access device. The second endpoint then generates a first packet, where the first packet is obtained by adding a packet header to the original packet. For example, the packet header includes the LLRE field. In this case, when the original packet of the source access device is transmitted between endpoints, packet forwarding in the ring network may be controlled by using the LLRE field, whereby packet transmission continues on another path when a folding switch occurs, improving the success rate of packet transmission.

[0107] After the packet arrives at the destination endpoint, the destination endpoint removes the LLRE field in the packet to obtain the original packet, and then transmits the original packet to the destination access device. For example, the third endpoint is the destination endpoint. The third endpoint receives a third packet, where the third packet includes packet information and the LLRE field. Then, the third endpoint may further provide the packet information of the third packet to the destination access device, where the packet information does not include the LLRE field of the first packet. The packet information here may be the original packet. In other words, the destination access device receives the original packet.

[0108] In this embodiment of the present application, the packets transmitted between the endpoints, e.g., the first packet, the second packet, the third packet, or the fourth packet, may be any of the following types of packets: unicast packet, multicast packet, and broadcast packet.

[0109] In the following, using a VXLAN network as an example, and referring to Figure 3, an example will be described in which an original packet is sent from a source access device to a source endpoint in a VXLAN network and an LLRE field is added.

[0110] For example, the first endpoint is Gateway 2 in FIG. 3 , and the second endpoint is Gateway 1 in FIG. 3 . In this example, Gateway 2 can receive an original packet from a source access device through Gateway 1. After receiving the original packet from the source access device, Gateway 1 encapsulates the original packet and adds an outer VXLAN tunnel header, for example, a conventional VXLAN tunnel header shown in FIG. 5A. In this embodiment of the present application, a 6-byte LLRE tunnel header shown in FIG. 5B is additionally added to the conventional VXLAN tunnel header, and a field included in the LLRE tunnel header is the LLRE field. The LLRE field may include a wrapped field and, optionally, may further include one or more fields, such as a ring network identifier (ring_ID) field, an LLRE format (LLRE_format) field, a source node arrival indicator (receive_ineligible) field, and an LLRE life cycle (TTL) field.

[0111] As shown in FIG. 5B, the LLRE tunnel header may include a two-byte Ethernet packet type (ETH_TYPE). For example, the ETH_TYPE may be 0xF1C1, the same as that of an 802.1CB protocol packet. In this case, when gateway 3 generates a first packet carrying an LLRE tunnel header and forwards the first packet to another gateway that does not support LLRE, the first packet carrying the LLRE tunnel header may also be processed as an 802.1CB packet. In this way, all devices that receive a packet carrying an LLRE tunnel header can parse the packet based on the 802.1CB format. Even if a device to which the packet transmission method provided herein is not applicable receives a packet with an LLRE tunnel header, the problem of the packet being unidentifiable does not occur.

[0112] In the following, we use an example where the source access device is ECU 1 and the destination access device is ECU 2 to describe a specific example in which Gateway 1 adds an outer VXLAN tunnel header after receiving packet A from ECU 1.

[0113] First, ECU 1 sends packet A to Gateway 1. Assume that the destination (medium access control address, MAC) address (DMAC) carried in packet A is 0xaaaabbbbcccc, the packet length is 128 bytes, and the packet content is 0xaaaabbbbcccc_..._a5a5a5a5a5a5a5. After packet A arrives at Gateway 1, the Layer 2 routing table of Gateway 1 finds that MAC address 0xaaaabbbbcccc needs to enter a VXLAN tunnel for forwarding. Therefore, a VXLAN tunnel header is added before the packet content 0xaaaabbbbcccc_a5a5a5a5a5a5a5_...a5 of packet A, and the added VXLAN tunnel header is 50 bytes long. 7, the 50-byte VXLAN tunnel header includes, in order, an 8-byte VXLAN packet header (VXLAN Header), an 8-byte UDP packet header (UDP Header), a 20-byte IP header (outer IP header), and a 14-byte MAC frame header (outer MAC header). For example, if the added DMAC address is 0x1 and the added DIP is 0xaabbccdd, the packet obtained by adding the VXLAN tunnel header is 0x111122223333(DMAC)_..._aabbccdd(DIP)_..._aaaabbbbccccc(original packet header)_..._a5a5a5a5, and the total packet length is the original 128 bytes plus the 50-byte VXLAN tunnel header, i.e., a 178-byte VXLAN tunnel header.

[0114] Next, a 6-byte LLRE field is added to the VXLAN tunnel header to obtain packet B, and the total length of packet B is 184 bytes. For example, the content of the 6-byte LLRE field is 0xF1C1_1003_0000, ring_ID is 0, LLRE_format is 1, indicating that this is a ring network packet, wrapped is 0, indicating that packet A does not encounter a link failure and no folding switchover occurs, receive_ineligible is 0, which has no special meaning when folding switchover does not occur, and TTL is 3, which is the total number of gateways on the ring network minus 1, i.e., 4 minus 1.

[0115] In this case, two routing paths from Gateway 1 to Gateway 3 can be configured within the VXLAN network.

[0116] The first routing path is the first port of Gateway 1, the third port of Gateway 2, the fourth port of Gateway 2, and the fifth port of Gateway 3.

[0117] The second routing path is the second port of Gateway 1, the eighth port of Gateway 4, the seventh port of Gateway 4, and the sixth port of Gateway 3.

[0118] In one possible implementation, one of the two routing paths may be configured as a preferred routing path, for example, the first routing path may be configured as a preferred routing path, and in the absence of a link failure, packets sent by the source access device to the VXLAN network will preferentially arrive at the gateway 3 via the first routing path.

[0119] After adding an outer VXLAN tunnel header to the original packet (i.e., packet A), Gateway 1 sends packet B obtained through adding the outer VXLAN tunnel header to Gateway 2. After receiving packet B, Gateway 2 modifies the TTL field to 2 to obtain packet C, and then proceeds to send packet C to Gateway 3. Gateway 3 removes the VXLAN tunnel header in packet C to obtain the original packet, i.e., packet A. Gateway 3 then sends packet A obtained through removing the VXLAN tunnel header to the destination access device.

[0120] In the following, the implementation of the packet transmission method will be described with reference to a specific example.

[0121] For example, the first endpoint may be Gateway 2 in Figure 3, the second endpoint may be Gateway 1 in Figure 3, and the third endpoint is Gateway 3. Gateway 1 is a source endpoint connected to a source access device. That is, when link 2 between Gateway 2 and Gateway 3 is in a failure state, Gateway 2 triggers folding switching of the first packet to generate a second packet, then sends the second packet to Gateway 1 through link 8, and then sends the original packet in the second packet to Gateway 3 through Gateway 1 and Gateway 4.

[0122] After the second packet arrives at Gateway 1 from Gateway 2, Gateway 1, which is the source endpoint, modifies the LLRE field in the second packet to 0xF1C1_1012_0000, leaving other fields unchanged, and changing the receive_ineligible field to 0. This means the packet has passed through the source node after folding switching. The TTL field is then decremented by 1 after being forwarded by the gateway, i.e., from 3 to 2, to obtain the fourth packet.

[0123] Finally, Gateway 1 sends the fourth packet to Gateway 4 through link 5. Gateway 4 modifies the TTL in the fourth packet to 1, and leaves other fields unchanged, i.e., the LLRE field in this case is 0xF1C1_1011_0000, to obtain the fifth packet. Gateway 4 then forwards the fifth packet to Gateway 3 through link 6. Gateway 3 then removes the VXLAN tunnel header and the LLRE field in the fifth packet and forwards the original packet, which serves as the payload, to the destination access device.

[0124] In the above example, when link 2 fails, the transmission service may continue to be provided by performing a loopback for the first packet. In other words, when a single-point failure occurs, the in-vehicle ring network can still provide an available transmission service to forward the original packet to the destination access device, thereby improving the reliability of data transmission.

[0125] In the above embodiment, an example in which unicast packets are transmitted within a VXLAN tunnel is used for illustration purposes, but this embodiment of the present application is also applicable to multicast / broadcast packet transmission scenarios.

[0126] FIG. 8 is an example diagram of another network architecture according to an embodiment of the present application.

[0127] The networking scheme of the network architecture shown in Figure 8 is consistent with the networking scheme of the network architecture shown in Figure 3. The difference is that the packet sent by the source access device (ECU 1) in Figure 8 is a multicast packet. ECU 1 sends the multicast packet to Gateway 1, which adds a VXLAN tunnel header to the multicast packet. The VXLAN tunnel header includes an LLRE field. When the multicast packet arrives at each gateway in the VXLAN network, the gateway locally searches whether there are any access devices that belong to the same multicast group as the multicast packet, and then forwards the packet to the access devices that belong to the same multicast group.

[0128] In the example shown in Figure 8, in a VXLAN network including Gateways 1 to 4, ECUs 2, 3, 4, 5, and 6 are in the same multicast group as ECU 1. A multicast packet must pass through each gateway in the entire VXLAN network. When a multicast packet arrives at a gateway, the gateway forwards the multicast packet to the ECUs connected to that gateway.

[0129] Within a VXLAN network, there can be two routing paths for multicast packets:

[0130] The links included in the first routing path are link 1, link 2, link 3, and link 4.

[0131] The links included in the second routing path are link 5, link 6, link 7, and link 8.

[0132] If no link fails, the multicast packet enters the VXLAN tunnel from Gateway 1, and the LLRE field is added at Gateway 1. For example, the multicast packet obtained by adding the LLRE field is sent based on the first routing path. The multicast packet obtained by adding the LLRE field passes through Link 1, Link 2, Link 3, and Link 4, and arrives at Gateway 2, Gateway 3, and Gateway 4, respectively. Then, at each gateway on the first routing path, the packet is forwarded to the ECUs connected to that gateway and belonging to the multicast group. The TTL of the LLRE field is decremented by 1 each time the packet passes through a gateway. After the packet arrives at Gateway 4, the TTL is decremented to 1. In other words, the packet has traversed all gateways in the ring network, the packet has completed multicasting, and it will not continue to be forwarded.

[0133] If a link on the first routing path is unavailable, for example, the link between Gateway 3 and Gateway 4, i.e., neither Link 3 nor Link 6 can forward packets successfully, the transmission process for multicast packets from ECU 1 will be as follows:

[0134] (1) Gateway 1 sends a multicast packet to Gateway 2 through Link 1, and Gateway 2 completes the multicast to ECU 2 and ECU 3.

[0135] (2) Gateway 2 sends a multicast packet to Gateway 3 through Link 2, and Gateway 3 completes the multicast to ECU 4 and ECU 5. The LLRE field of the packet in this case is 0xF1C1_1002_0000.

[0136] (3) Because link 3 is in a failed state, the multicast packet is sent back from gateway 3 to gateway 2 via link 7. The LLRE field in this case is 0xF1C1_1033_0000.

[0137] In this case, since the multicast packet arrived at Gateway 2 earlier, Gateway 2 determines that the multicast packet was multicast at Gateway 2 based on the fact that wrapped is 1 and receive_ineligible is 1 in the LLRE field of the packet, and therefore does not multicast to ECU 2 and ECU 3.

[0138] (4) Gateway 2 sends the multicast packet to Gateway 1 via link 8. The LLRE field in the multicast packet in this case is 0xF1C1_1032_0000.

[0139] (5) Gateway 1 sends the multicast packet to Gateway 4 through link 5. Because Gateway 1 is the source endpoint connected to the source access device, when the multicast packet arrives at Gateway 4, the LLRE field is 0xF1C1_1011_0000 and receive_ineligible is changed to 0. If Gateway 4 determines that receive_ineligible is 0, it knows that the received multicast packet has passed through the source node. Therefore, multicasting must be performed by Gateway 4. Therefore, Gateway 4 multicasts the multicast packet to ECU 6. In this case, the TTL in the LLRE field is 1, which indicates that the packet has traversed all gateways and completed multicast forwarding.

[0140] Based on the same inventive concept as the method embodiment, an embodiment of the present application further provides a packet transmission device. The packet transmission device is configured to perform the method performed by the first endpoint or the second endpoint in the aforementioned method embodiment. As shown in Fig. 9, the packet transmission device 900 includes a receiving module 901, a processing module 902, and a transmitting module 903. Specifically, in the packet transmission device 900, a connection is established between the modules through a communication path.

[0141] When the packet transmission device is configured to perform the method performed by the first endpoint in the aforementioned method embodiment, the receiving module 901 is configured to receive a first packet from the second endpoint. The first packet includes first indication information, and the first indication information indicates that a first link is available. The first link is a link between the packet transmission device and the second endpoint and is used to transport the first packet. The first link belongs to a first routing path between the packet transmission device and a destination access device.

[0142] The processing module 902 is configured to generate a second packet when it determines that the second link is unavailable. The payload carried by the second packet is the same as the payload carried by the first packet. The second link is a link between the packet transmission device and a third endpoint on the first routing path. The second packet includes second indication information, the second indication information indicating that the second link is unavailable. The third endpoint is a next-hop node of the packet transmission device on the first routing path.

[0143] The transmitting module 903 is configured to transmit the second packet to a second endpoint.

[0144] In one possible implementation, the processing module 902 is further configured to generate a third packet if it determines that the second link is available. The third packet includes third indication information, the third indication information indicating that the second link is available. The transmitting module 903 is further configured to transmit the third packet to a third endpoint.

[0145] In one possible implementation, the processing module 902 is specifically configured to receive failure information indicating that the second link has failed by not receiving a link detection packet from the third endpoint within a preset duration or by using the receiving module 901.

[0146] In one possible implementation, the first indication information is carried in a Low-Delay Reliable Ethernet (LLRE) field in the first packet, and the second indication information is carried in an LLRE field in the second packet.

[0147] In one possible implementation, the LLRE field further includes fourth indication information, the fourth indication information indicating that the packet has not passed through a source endpoint connected to the source access device, or the LLRE field further includes fifth indication information, the fifth indication information indicating that the packet has passed through the source endpoint.

[0148] In one possible implementation, the LLRE field further includes a packet life cycle, which indicates either the number of endpoints that the packet does not pass through on the routing path along which the packet is located, or the number of endpoints that the packet has passed through on the routing path along which the packet is located.

[0149] In one possible implementation, the LLRE field further includes a ring network packet identifier that indicates whether the packet is a ring network packet.

[0150] In one possible implementation, the LLRE field further includes a ring network identifier indicating the identifier of the ring network to which the packet belongs.

[0151] In one possible implementation, the LLRE field is 6 bytes long.

[0152] In one possible implementation, the second endpoint is a source endpoint, wherein the receiving module 901 of the source endpoint is configured to receive an original packet from a source access device, and the transmitting module 903 is configured to transmit a first packet to a packet transmission device, where the first packet is obtained by adding a packet header to the original packet.

[0153] In one possible implementation, the third endpoint is a destination endpoint. The receiving module 901 of the destination endpoint is further configured to receive a third packet, where the third packet includes packet information and an LLRE field. The processing module 902 is further configured to provide packet information for the destination access device, where the packet information does not include the LLRE field of the third packet.

[0154] In one possible implementation, either the first packet or the second packet is any of the following types of packets: a unicast packet, a multicast packet, and a broadcast packet.

[0155] In one possible implementation, the frame format of either the first packet or the second packet conforms to the 802.1CB format.

[0156] When the packet transmission device is configured to perform the method performed by the second endpoint in the aforementioned method embodiment, the sending module 903 is configured to send a first packet to the first endpoint. The first packet includes first indication information, and the first indication information indicates that a first link is available. The first link is a link between the first endpoint and the packet transmission device and is used to transport the first packet. The first link belongs to a first routing path between the first endpoint and the destination access device.

[0157] The receiving module 901 is configured to receive a second packet from the first endpoint. The second packet includes second indication information, and the second indication information indicates that a second link is unavailable. The second link is a link between the first endpoint and a third endpoint that is a next hop on the first routing path. The payload carried by the second packet is the same as the payload carried by the first packet.

[0158] In one possible implementation, the processing module 902 is configured to generate a fourth packet if it determines that a third link is available. The payload carried by the fourth packet is the same as the payload carried by the second packet. The fourth packet includes sixth indication information, and the sixth indication information indicates that the third link is available. The third link is between the packet transmission device and a fourth endpoint and is a link used to carry the fourth packet. The third link belongs to a second routing path between the first endpoint and the destination access device. The fourth endpoint is a next-hop node of the packet transmission device on the second routing path.

[0159] The transmitting module 903 is further configured to transmit the fourth packet to a fourth endpoint.

[0160] In one possible implementation, the processing module 902 is specifically configured to receive a link detection packet from the fourth endpoint within a preset duration or determine that the receiving module 901 has not received failure information indicating that the third link has failed.

[0161] In a possible implementation, the first indication information is carried in a Low-Delay Reliable Ethernet (LLRE) field in the first packet, the second indication information is carried in an LLRE field in the second packet, and the sixth indication information is carried in an LLRE field in the fourth packet.

[0162] In one possible implementation, the LLRE field further includes fourth indication information, the fourth indication information indicating that the packet has not passed through a source endpoint connected to the source access device, or the LLRE field further includes fifth indication information, the fifth indication information indicating that the packet has passed through the source endpoint.

[0163] In one possible implementation, the LLRE field further includes a packet life cycle, which indicates either the number of endpoints that the packet does not pass through on the routing path along which the packet is located, or the number of endpoints that the packet has passed through on the routing path along which the packet is located.

[0164] In one possible implementation, the LLRE field further includes a ring network packet identifier that indicates whether the packet is a ring network packet.

[0165] In one possible implementation, the LLRE field further includes a ring network identifier indicating the identifier of the ring network to which the packet belongs.

[0166] In one possible implementation, the LLRE field is 6 bytes long.

[0167] In one possible implementation, the packet transmission device is a source endpoint, the receiving module 901 is further configured to receive an original packet from a source access device, and the processing module 902 is further configured to generate a first packet, the first packet being obtained by adding a packet header to the original packet.

[0168] In one possible design, the third endpoint is a destination endpoint. The receiving module 901 of the destination endpoint is further configured to receive the third packet, and the processing module 902 is further configured to provide packet information for the destination access device, where the packet information does not include the LLRE field of the third packet.

[0169] In one possible implementation, any one of the first packet, the second packet, or the fourth packet is any one of the following types: a unicast packet, a multicast packet, and a broadcast packet.

[0170] In one possible implementation, the frame format of any one of the first packet, the second packet, or the fourth packet conforms to the 802.1CB format.

[0171] FIG. 10 is a diagram of a packet transmission device of the present invention. The packet transmission device may be the packet transmission device 900 in the above-described embodiment. The packet transmission device 1000 includes a processor 1001 and a communication interface 1003. Optionally, the packet transmission device 1000 may further include a memory 1002 and / or a communication line 1004. The communication interface 1003, the processor 1001, and the memory 1002 may be connected to each other through the communication line 1004. The communication line 1004 may be a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The communication line 1004 may be classified into an address bus, a data bus, a control bus, or the like. For ease of representation, only one thick line is used to represent a bus in FIG. 10, but this does not mean that there is only one bus or only one type of bus.

[0172] The processor 1001 may be a CPU, a microprocessor, an ASIC, or one or more integrated circuits configured to control program execution in the present solution.

[0173] The communication interface 1003 is configured to communicate with another device or communication network, for example, an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), or a wired access network, by using any device such as a transceiver.

[0174] The memory 1002 may be, but is not limited to, a ROM, another type of static storage device capable of storing static information and instructions, a RAM, or another type of dynamic storage device capable of storing information and instructions, or may be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other compact disc storage, an optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), a magnetic disc storage medium or other magnetic storage device, or any other medium that can be configured to carry or store expected program code in the form of instructions or data structures and that can be accessed by a computer. The memory may exist independently or be connected to the processor via communication lines 1004. The memory may alternatively be integral to the processor.

[0175] The memory 1002 is configured to store computer-executable instructions for carrying out the solution of the present application, and the processor 1001 controls the execution. The processor 1001 is configured to execute the computer-executable instructions stored in the memory 1002 to implement the methods provided in the aforementioned embodiments of the present application.

[0176] An embodiment of the present application further provides a vehicle, the vehicle including the packet transmission device of the above-described embodiments. In one possible implementation, the vehicle includes an apparatus configured to perform the method performed by the first endpoint of the aforementioned embodiments, and an apparatus configured to perform the method performed by the second endpoint of the aforementioned embodiments.

[0177] An embodiment of the present application further provides a computer storage medium that stores computer instructions that, when executed on a computer, enable the computer to perform the associated method steps described above to implement the method performed by the first endpoint or the method performed by the second endpoint in the above embodiments.

[0178] An embodiment of the present application further provides a computer program product, which, when executed on a computer, enables the computer to perform the associated steps described above to implement the method performed by the first endpoint or the method performed by the second endpoint in the embodiments described above.

[0179] Additionally, an embodiment of the present application further provides an apparatus. The apparatus may be specifically a chip, a component, or a module. The apparatus may include a processor and a memory connected thereto. The memory is configured to store computer-executable instructions. When the apparatus operates, the processor may execute the computer-executable instructions stored in the memory, thereby causing the chip to perform the method performed by the first endpoint or the method performed by the second endpoint in the aforementioned method embodiments.

[0180] The storage device, computer storage medium, computer program product, or chip provided in the embodiments of the present application may be configured to execute the method corresponding to the first endpoint or the method executed by the second endpoint provided above. Therefore, for the beneficial effects that can be achieved by the storage device, computer storage medium, computer program product, or chip, please refer to the beneficial effects of the corresponding method provided above. Details will not be described again in this specification.

[0181] Based on the description of the above implementations, those skilled in the art can understand that for the purpose of simple description, the above division into functional modules is used as an example for illustration. In actual application, the above functions may be allocated to different functional modules for implementation according to requirements. In other words, the internal structure of the device is divided into different functional modules for implementing all or part of the above functions.

[0182] In some embodiments provided herein, it should be understood that the disclosed devices and methods may be implemented in other ways. For example, the described device embodiments are merely examples. For example, the division into modules or units is merely a logical division of function, and other divisions may be used in actual implementation. For example, multiple units or components may be combined or integrated into another device, or some features may be omitted or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented electrically, mechanically, or in other ways.

[0183] The units described as separate parts may or may not be physically separate, and the parts shown as units may be one or more physical units, located in one place or distributed in different places. Some or all of the units may be selected according to actual requirements to achieve the objectives of the solutions of the embodiments.

[0184] In addition, the functional units (or modules) in the embodiments of the present application may be integrated into one processing unit, and each unit may exist physically alone, or two or more units may be integrated into one unit. The integrated unit may be implemented in the form of hardware or in the form of a software functional unit.

[0185] When an integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present application may essentially be implemented in the form of a software product, or a portion of the technical solutions may be implemented in the form of a software product. The software product may be stored in a storage medium and include instructions for instructing a device (which may be a single-chip microcomputer, chip, etc.) or a processor to perform all or part of the steps of the method described in the embodiments of the present application. The storage medium may include any medium capable of storing program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0186] Optionally, the computer-executable instructions in the embodiments of the present application may also be referred to as application program code, which is not particularly limited in the embodiments of the present application.

[0187] All or part of the above-described embodiments may be implemented using software, hardware, firmware, or any combination thereof. When software is used to implement an embodiment, all or part of the embodiment may be implemented in the form of a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded into a computer and executed, the procedures or functions according to the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable device. The computer instructions may be stored on a computer-readable storage medium or transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optics, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio, or microwave) transmission. The computer-readable storage medium may be any available medium accessible by a computer, or a data storage device, such as a server or data center, that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, or magnetic tapes), optical media (e.g., DVDs), semiconductor media (e.g., solid state disks (SSDs)), and the like.

[0188] The various exemplary logic units and circuits described in the embodiments of this application may implement or operate functions by using a design of a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof. A general-purpose processor may be a microprocessor. Optionally, a general-purpose processor may alternatively be any conventional processor, controller, microcontroller, or state machine. A processor may alternatively be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors with a digital signal processor core, or any other similar configuration.

[0189] The steps of a method or algorithm described in the embodiments of the present application may be embodied directly in hardware, in a software unit executed by a processor, or a combination thereof. The software unit may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable magnetic disk, a CD-ROM, or any other form of storage medium known in the art. For example, a storage medium may be connected to the processor, such that the processor can read information from and write information to the storage medium. Optionally, the storage medium may be integrated into the processor. The processor and the storage medium may be located in an ASIC.

[0190] These computer program instructions may be loaded into a computer or other programmable data processing device such that a sequence of operations and steps are executed on the computer or other programmable device, thereby generating a computer-implemented process. Thus, the instructions executed on the computer or other programmable device provide steps for implementing a particular function in one or more processes in the flowcharts and / or one or more blocks in the block diagrams.

[0191] While the present application is described with reference to specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Correspondingly, this specification and the accompanying drawings are merely exemplary descriptions of the present application as defined by the appended claims, and any and all modifications, variations, combinations, or equivalents that fall within the scope of the present application are to be considered. It is apparent that those skilled in the art can make various modifications and variations to the present application without departing from the scope of the present application. The present application intends to cover these modifications and variations of the present application as long as they fall within the scope of the claims of the present application and their equivalent technologies.

Claims

1. 1. A packet transmission method, comprising: obtaining, by a first endpoint, a first packet from a second endpoint, the first packet including first indication information, the first indication information indicating that a first link is available, the first link being a link between the first endpoint and the second endpoint that is used to carry the first packet, the first link belonging to a first routing path between the first endpoint and a destination access device; if it is determined that a second link is unavailable, generating, by the first endpoint, a second packet, wherein a payload carried by the second packet is the same as a payload carried by the first packet, the second link being a link between the first endpoint and a third endpoint on the first routing path, the second packet including second indication information, the second indication information indicating that the second link is unavailable, and the third endpoint being a next-hop node of the first endpoint on the first routing path; transmitting, by the first endpoint, the second packet to the second endpoint; A method comprising:

2. The method further comprises: generating, by the first endpoint if the second link is determined to be available, a third packet, the third packet including third indication information, the third indication information indicating that the second link is available; transmitting, by the first endpoint, the third packet to the third endpoint; The method of claim 1 , comprising:

3. The first endpoint determining that the second link is unavailable includes: the first endpoint does not receive a link detection packet from the third endpoint within a preset duration; or receiving, by the first endpoint, failure information indicating that the second link has failed; 3. The method of claim 1 or 2, comprising:

4. 4. The method of claim 1, wherein the first indication information is carried in a Low-Delay Reliable Ethernet (LLRE) field in the first packet, and the second indication information is carried in an LLRE field in the second packet.

5. 5. The method of claim 4, wherein the LLRE field further includes fourth indication information, the fourth indication information indicating that the packet does not pass through a source endpoint connected to a source access device; or the LLRE field further includes fifth indication information, the fifth indication information indicating that the packet has passed through the source endpoint.

6. 6. The method of claim 4, wherein the LLRE field further includes a packet life cycle, the packet life cycle indicating the number of endpoints that the packet does not pass through on a routing path on which the packet is located, or the number of endpoints that the packet has passed through on a routing path on which the packet is located.

7. 7. The method of claim 4, wherein the LLRE field further includes a ring network packet identifier indicating whether the packet is a ring network packet.

8. The method according to claim 4 , wherein the LLRE field further includes a ring network identifier indicating an identifier of a ring network to which the packet belongs.

9. 9. The method according to claim 4, wherein the LLRE field has a length of 6 bytes.

10. The second endpoint is the source endpoint, and the method further comprises: receiving, by the source endpoint, an original packet from the source access device; transmitting, by the source endpoint, the first packet to the first endpoint, the first packet being obtained by adding a packet header to the original packet; the first routing path is a routing path between the source access device and the destination access device; 10. The method of any one of claims 4 to 9, comprising:

11. The third endpoint is a destination endpoint, and the method further comprises: receiving, by the destination endpoint, the third packet, the third packet including packet information and the LLRE field; providing, by the destination endpoint, packet information in the third packet for the destination access device, the packet information not including the LLRE field of the third packet; 11. The method of any one of claims 4 to 10, comprising:

12. Either the first packet or the second packet is It is one of the following packet types: unicast packet, multicast packet, and broadcast packet; 12. The method according to any one of claims 1 to 11.

13. 13. The method according to claim 1, wherein the frame format of either the first packet or the second packet complies with the 802.1CB format.

14. 1. A packet transmission method, comprising: transmitting, by a second endpoint, a first packet to a first endpoint, the first packet including first indication information, the first indication information indicating that a first link is available, the first link being a link between the first endpoint and the second endpoint that is used to carry the first packet, the first link belonging to a first routing path between the first endpoint and a destination access device; receiving, by the second endpoint, a second packet from the first endpoint, the second packet including second indication information, the second indication information indicating that a second link is unavailable, the second link being a link between the first endpoint and a third endpoint that is a next hop on the first routing path, and a payload carried by the second packet being the same as a payload carried by the first packet; A method comprising:

15. The method further comprises: generating, by the second endpoint if it is determined that a third link is available, a fourth packet, the payload carried by the fourth packet being the same as the payload carried by the second packet, the fourth packet including sixth indication information, the sixth indication information indicating that the third link is available, the third link being a link between the second endpoint and a fourth endpoint and being used to carry the fourth packet, the third link belonging to a second routing path between the first endpoint and the destination access device, and the fourth endpoint being a next-hop node of the second endpoint on the second routing path; transmitting, by the second endpoint, the fourth packet to a fourth endpoint; 15. The method of claim 14, comprising:

16. The second endpoint determining that the third link is available comprises: the second endpoint receiving a link detection packet from the fourth endpoint within a preset duration; or the second endpoint does not receive failure information indicating that the third link is faulty.

16. The method of claim 15.

17. 17. The method of claim 14, wherein the first indication is carried in a Low-Delay Reliable Ethernet (LLRE) field in the first packet, the second indication is carried in an LLRE field in the second packet, and the sixth indication is carried in an LLRE field in the fourth packet.

18. 18. The method of claim 17, wherein the LLRE field further includes fourth indication information, the fourth indication information indicating that the packet does not pass through a source endpoint connected to a source access device; or the LLRE field further includes fifth indication information, the fifth indication information indicating that the packet has passed through the source endpoint.

19. 19. The method of claim 17 or 18, wherein the LLRE field further includes a packet life cycle, the packet life cycle indicating the number of endpoints that the packet does not pass through on a routing path on which the packet is located; or the number of endpoints that the packet has passed through on a routing path on which the packet is located.

20. 20. The method of claim 17, wherein the LLRE field further includes a ring network packet identifier indicating whether the packet is a ring network packet.

21. 21. The method of claim 17, wherein the LLRE field further includes a ring network identifier indicating an identifier of a ring network to which the packet belongs.

22. 22. The method of claim 17, wherein the LLRE field is 6 bytes in length.

23. The second endpoint is the source endpoint, and prior to the step of transmitting a first packet by the second endpoint to the first endpoint, the method further comprises: receiving, by the second endpoint, an original packet from the source access device; generating, by the second endpoint, the first packet, the first packet being obtained by adding a packet header to the original packet; 23. The method of any one of claims 17 to 22, comprising:

24. 24. The method of claim 14, wherein a frame format of any of the first packet, the second packet, or the fourth packet conforms to the 802.1CB format.

25. 1. A packet transmission device comprising: a receiving module configured to receive a first packet from a second endpoint, the first packet including first indication information indicating that a first link is available, the first link being a link between the packet transmission device and the second endpoint and used to transport the first packet, the first link belonging to a first routing path between the packet transmission device and a destination access device; a processing module configured to generate a second packet when determining that a second link is unavailable, wherein a payload carried by the second packet is the same as a payload carried by the first packet, the second link being a link between the packet transmission device and a third endpoint on the first routing path, the second packet including second indication information, the second indication information indicating that the second link is unavailable, and the third endpoint being a next-hop node of the packet transmission device on the first routing path; a transmitting module configured to transmit the second packet to the second endpoint; An apparatus having:

26. 1. A packet transmission device comprising: a transmitting module configured to transmit a first packet to a first endpoint, the first packet including first indication information, the first indication information indicating that a first link is available, the first link being a link between the first endpoint and the packet transmission device and being used to transport the first packet, the first link belonging to a first routing path between the first endpoint and a destination access device; a receiving module configured to receive a second packet from the first endpoint, the second packet including second indication information, the second indication information indicating that a second link is unavailable, the second link being a link between the first endpoint and a third endpoint of a next hop on the first routing path, and a payload carried by the second packet being the same as a payload carried by the first packet; and An apparatus having:

27. A packet transmission device comprising a memory and at least one processor, the memory configured to store a computer program; The processor is configured to execute the computer program stored in the memory to perform the method of any one of claims 1 to 13. Packet transmission device.

28. A packet transmission device comprising a memory and at least one processor, the memory configured to store a computer program; The processor is configured to execute the computer program stored in the memory to perform the method of any one of claims 4 to 24. Packet transmission device.

29. 14. A computer-readable storage medium storing a computer program, the computer-readable storage medium storing a computer program that, when executed on a computing device, enables the computing device to perform the method of any one of claims 1 to 13.

30. 25. A computer-readable storage medium storing a computer program that, when executed on a computing device, enables the computing device to perform a method according to any one of claims 4 to 24.

Citation Information

Patent Citations

  • On-vehicle communication system

    JP2021127086A

  • Data transmission method and apparatus

    US20220182262A1

  • Data transmission method, device, and system

    US20220294663A1