Communication method and device

By supporting dual protocol stacks in network devices and using SR policies to specify multi-IP address paths, the problem of transformation difficulties in IPv4 and IPv6 network upgrades is solved, and efficient transmission of different services on the same path is achieved, reducing the transformation cost.

CN115277526BActive Publication Date: 2025-09-05HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110486259.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-30
Publication Date
2025-09-05
Estimated Expiration
2041-04-30

AI Technical Summary

Technical Problem

In the evolution of IPv4 and IPv6 networks, the existing technology requires the transformation of a large number of IPv4 services to use SRv6 Policy tunnels, resulting in high transformation costs and IPv6 services cannot directly use SR-MPLS Policy tunnels, resulting in difficulty in network upgrades.

Method used

By implementing a dual protocol stack in network devices, it supports IPv4 and IPv6 protocol stacks, and using SR policies to specify paths of multiple IP addresses, avoiding dual stack transformation and realizing the transmission of different services on the same path.

Benefits of technology

It realizes efficient transmission of different services in the same path, avoids the limitations of dual-stack transformation, and reduces transformation costs and maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115277526B_ABST
    Figure CN115277526B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a communication method and apparatus for enabling messages of different services to be sent along the same path specified by the SR policy based on SR technology, thereby avoiding the significant limitations in the implementation of dual-stack transformation and improving communication efficiency. In this method, after receiving a first message, a first network device forwards the first message to a second network device according to the path specified by the SR policy, wherein the destination endpoint specified by the SR policy is the second network device, and the identifier of the destination endpoint includes the first IP address of the second network device and the second IP address of the second network device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and in particular to a communication method and device. Background Art

[0002] Segment routing (SR) is a protocol designed based on the concept of source routing for forwarding packets on the network. It supports explicitly specifying the forwarding path of packets between the source node and the destination node in the source node. Generally, the forwarding path (also called a tunnel) for transmitting packets between the source node and the destination node can be specified based on the SR Policy. Among them, the tunnel corresponding to the SR Policy based on MPLS data plane forwarding can be called the SR-MPLS Policy tunnel (also called the SR Policy tunnel). The tunnel corresponding to the SR Policy based on the segment routing (SRv6) data plane forwarding of the sixth version of the Internet protocol version 6 (IPv6) can be called the SRv6 Policy tunnel.

[0003] With the evolution of Internet Protocol version 4 (IPv4) networks to IPv6 networks, some network scenarios involve IPv4 services deployed between different nodes. When SRv6 Policy tunnels are deployed, IPv4 services cannot directly use the SRv6 Policy tunnels. Network upgrades require service modifications, but these modifications involve many IPv4 service types, making them costly. In other scenarios, after SR-MPLS Policy tunnels are deployed, IPv6 services become unavailable. This also presents the challenge of service modification or the need to redeploy SRv6 Policy tunnels. Summary of the Invention

[0004] The embodiments of the present application provide a communication method and apparatus for enabling messages of different services to be sent along the same path indicated by the SR policy based on SR technology, thereby avoiding the limitations of the implementation of dual-stack transformation and improving communication efficiency.

[0005] The dual stack described in this application refers to a dual protocol stack. Dual stack modification or dual stack technology refers to the simultaneous activation of the IPv4 protocol stack and the IPv6 protocol stack in a device, even if the device supports both IPv4 and IPv6 protocols. Through dual stack technology, a device can communicate with both IPv4 and IPv6 networks. For example, if this device is a router, then different interfaces of this router are configured with IPv4 addresses and IPv6 addresses, respectively, and can connect to IPv4 and IPv6 networks respectively. If this device is a computer, then it will have both IPv4 and IPv6 addresses and be able to handle both protocol addresses simultaneously. Nodes that support dual protocol stacks can communicate with both nodes that support the IPv4 protocol and nodes that support the IPv6 protocol. When receiving data, the dual-stack node checks the header of the datagram after receiving it. If the first field in the IPv4 / IPv6 header, that is, the version number of the IP packet, is 4, the data packet is processed by the IPv4 stack; if the version number is 6, it is processed by the IPv6 stack.

[0006] A first aspect of an embodiment of the present application provides a communication method, which can be performed by a first network device, wherein the first network device can be a device such as a router or a switch, or can be a partial component of the above device (such as a processor, a chip, or a chip system, etc.). In this method, after receiving a first message, the first network device forwards the first message to a second network device according to a path specified by an SR policy, wherein the destination endpoint specified by the SR policy is the second network device, and the identifier of the destination endpoint includes a first Internet Protocol (IP) address of the second network device and a second IP address of the second network device.

[0007] Based on the above technical solution, the first network device can determine the path for transmitting messages between the first network device and the second network device based on the SR policy, and forward the first message to the second network device based on the path. The first IP address and the second IP address correspond to messages for different services, respectively. This allows messages for different services to be sent along the same path specified by the SR policy based on SR technology, avoiding the limitations of dual-stack transformation implementations and improving communication efficiency.

[0008] It should be noted that the destination endpoint specified by the SR policy is the second network device, wherein the identifier of the destination endpoint can indicate at least two IP addresses of the second network device, and the at least two IP addresses include at least the aforementioned first IP address and second IP address. Obviously, it can further include a third IP address, a fourth IP address, etc., which are not limited here.

[0009] In a possible implementation manner of the first aspect, the SR policy includes a segment routing policy (SRv6 Policy) based on the sixth version of the Internet Protocol.

[0010] Optionally, the path indicated by the SR policy is an SRv6-based path.

[0011] Based on the above technical solution, in SR technology, the SR data plane can use Internet Protocol version 6 (IPv6). This scenario can be called Segment Routing over IPv6 (SRv6). In this scenario, the SR policy can specifically be SRv6 Policy. Accordingly, in this scenario, the path indicated by the SR policy is an SRv6-based path.

[0012] In a possible implementation manner of the first aspect, the SR policy includes a Multi-Protocol Label Switching-based Segment Routing policy (MPLS SR Policy).

[0013] Optionally, the path specified by the SR policy is a label switched path (LSP) that performs switching based on MPLS labels.

[0014] Based on the above technical solution, in SR technology, the SR data plane can use multi-protocol label switching (MPLS). This scenario can be called MPLS-based segment routing (MPLS SR or SRMPLS). In this scenario, the SR policy can specifically be an MPLS SR Policy. Accordingly, in this scenario, the path specified by the SR policy is an MPLS-based LSP.

[0015] In a possible implementation manner of the first aspect, the destination IP address of the first message is an IPv4 address.

[0016] In a possible implementation manner of the first aspect, the destination IP address of the first message is an IPv6 address.

[0017] Based on the above technical solution, the first network device can send packets for a variety of different services to the second network device based on the path specified by the SR policy. For example, the first packet forwarded by the first network device to the second network device can be a packet for an IPv4 service, i.e., the destination IP address of the first packet is an IPv4 address. In another example, the first packet forwarded by the first network device to the second network device can be a packet for an IPv6 service, i.e., the destination IP address of the first packet is an IPv6 address. Furthermore, the destination IP address of the first packet can also be implemented in other ways, which are not limited here.

[0018] In a possible implementation manner of the first aspect, in the identifier of the destination endpoint specified by the SR policy, an IP version of the first IP address and an IP version of the second IP address are the same.

[0019] Exemplarily, the IP version of the first IP address and the IP version of the second IP address are both the sixth version of the Internet Protocol IPv6; or, the IP version of the first IP address and the IP version of the second IP address are both the fourth version of the Internet Protocol IPv4.

[0020] Based on the above technical solution, the service indicated by the first IP address and the service indicated by the second IP address can both be implemented based on the same IP version, so that the path determined by the SR policy can carry multiple messages of different services under the same IP version.

[0021] In a possible implementation manner of the first aspect, in the identifier of the destination endpoint specified by the SR policy, an IP version of the first IP address and an IP version of the second IP address are different.

[0022] Exemplarily, the IP version of the first IP address is IPv6, and the IP version of the second IP address is IPv4, or the IP version of the first IP address is IPv4, and the IP version of the second IP address is IPv6.

[0023] Based on the above technical solution, the service indicated by the first IP address and the service indicated by the second IP address can be implemented based on different IP versions, so that the path specified by the SR policy can carry multiple messages of different services under different IP versions.

[0024] In a possible implementation of the first aspect, before the first network device forwards the first message to the second network device according to the path specified by the SR policy, the method may further include: the first network device creates the SR policy through static configuration.

[0025] In a possible implementation of the first aspect, before forwarding the first message to the second network device according to the path specified by the SR policy, the method may further include: the first network device creating the SR policy according to the protocol message sent by the control management device.

[0026] Based on the above technical solution, the first network device can determine the SR policy based on the configuration of the control management device, thereby achieving flexible configuration of the routing policy of the first network device.

[0027] In a possible implementation of the first aspect, the control and management device may include a network manager, and the network manager delivers the SR policy through a management channel.

[0028] Based on the above technical solution, the network manager configures and issues an SR policy for the first network device, so that the present application can be applied to the scenario where the network manager configures SR policies for multiple network devices (including the first network device).

[0029] In a possible implementation manner of the first aspect, the network manager configures the SR policy for the first network device based on a network configuration protocol (Netconf).

[0030] In a possible implementation manner of the first aspect, the control management device may include a controller.

[0031] In a possible implementation of the first aspect, when the control management device is a controller, the first network device may create an SR policy based on a protocol message sent by the control management device. Optionally, the protocol message may be a Border Gateway Protocol (BGP) message.

[0032] Optionally, the BGP message includes network layer reachability information (NLRI), wherein a subsequent address family identifier (SAFI) of the NLRI is an SR policy, the NLRI includes the first IP address, and an extended type-length-value (TLV) field of the NLRI includes the second IP address. Optionally, the TLV field is an extended attribute of the NLRI.

[0033] Based on the above technical solution, an SR policy can be created by extending the BGP protocol so that the SR policy can simultaneously specify multiple IP addresses of the destination endpoint, thus achieving dual-stack transformation without making any changes to existing services.

[0034] In a possible implementation manner of the first aspect, when the control and management device is a controller, the first network device may carry the SR policy information sent from the control and management device on the base. Optionally, the above-mentioned protocol message is a path calculation element protocol (PCEP) message.

[0035] Furthermore, the PCEP message may include a path computation initiate (PCInitiate) message or a path computation update (PCUpd) message.

[0036] Optionally, the PCEP message includes a first object and a second object, and the first object is used to carry the first IP address, and the second object is used to carry the second IP address.

[0037] Optionally, the first object is an endpoint (END-POINT) object.

[0038] Optionally, the second object is a newly extended object of the PCEP message, used to carry the second IP address.

[0039] Optionally, the PCEP message includes a first object, where the first object is used to carry the first IP address and the second IP address, wherein the second IP address is carried in an extended TLV field of the first object.

[0040] Optionally, the first object is an END-POINT object.

[0041] Based on the above technical solution, based on the extension of the PCEP protocol, the first network device can create an SR policy through a message sent by the controller based on the PCEP protocol transmission, wherein the PCEP message can carry multiple IP addresses of the destination endpoint through the above-mentioned various methods to configure the SR policy for the first network device under PECP, and dual-stack transformation can be achieved without making any changes to the existing business.

[0042] A second aspect of an embodiment of the present application provides a communication method, which can be executed by a control and management device or by a component (e.g., a processor, chip, or chip system) within the control and management device. In the method, the control and management device first determines a segment routing (SR) policy, where the SR policy specifies a destination endpoint as the second network device, and the identifier of the destination endpoint includes a first Internet Protocol (IP) address of the second network device and a second IP address of the second network device; thereafter, the control and management device sends the SR policy to the first network device.

[0043] Based on the above technical solution, the control management device sends an SR policy to the first network device. This SR policy can be used to determine the path for transmitting messages between the first network device and the second network device, so that the first network device can send the first message to the second network device based on the path. The first IP address and the second IP address correspond to messages for different services, respectively. This allows messages for different services to be sent along the same path specified by the SR policy, avoiding the limitations of dual-stack transformation implementations and improving communication efficiency.

[0044] It should be noted that the destination endpoint specified by the SR policy is the second network device, wherein the identifier of the destination endpoint includes at least two IP addresses of the second network device, and the at least two IP addresses include at least the aforementioned first IP address and second IP address. Obviously, it can further include a third IP address, a fourth IP address, etc., which is not limited here.

[0045] In a possible implementation of the second aspect, the SR policy includes a segment routing policy (SRv6 Policy) based on Internet Protocol version 6. Optionally, the path indicated by the SR policy is an SRv6-based path.

[0046] Based on the above technical solution, in SR technology, the SR data plane can use Internet Protocol version 6 (IPv6). This scenario can be called Segment Routing over IPv6 (SRv6). In this scenario, the SR policy can specifically be SRv6 Policy. Accordingly, in this scenario, the path indicated by the SR policy is an SRv6-based path.

[0047] In a possible implementation manner of the second aspect, the SR policy includes a Multi-Protocol Label Switching-based Segment Routing Policy (MPLS SR Policy).

[0048] Optionally, the path specified by the SR policy is a label switched path (LSP) that performs switching based on MPLS labels.

[0049] Based on the above technical solution, in SR technology, the SR data plane can use multi-protocol label switching (MPLS). This scenario can be called MPLS-based segment routing (MPLS SR or SRMPLS). In this scenario, the SR policy can specifically be an MPLS SR Policy. Accordingly, in this scenario, the path specified by the SR policy is an MPLS-based LSP.

[0050] In a possible implementation manner of the second aspect, in the identifier of the destination endpoint specified by the SR policy, an IP version of the first IP address and an IP version of the second IP address are the same.

[0051] Exemplarily, the IP version of the first IP address and the IP version of the second IP address are both the sixth version of the Internet Protocol IPv6; or, the IP version of the first IP address and the IP version of the second IP address are both the fourth version of the Internet Protocol IPv4.

[0052] Based on the above technical solution, the service indicated by the first IP address and the service indicated by the second IP address can both be implemented based on the same IP version, so that the path determined by the SR policy can carry multiple messages of different services under the same IP version.

[0053] In a possible implementation manner of the second aspect, in the identifier of the destination endpoint specified by the SR policy, an IP version of the first IP address and an IP version of the second IP address are different.

[0054] Exemplarily, the IP version of the first IP address is IPv6, and the IP version of the second IP address is IPv4, or the IP version of the first IP address is IPv4, and the IP version of the second IP address is IPv6.

[0055] Based on this technical solution, the service type indicated by the first IP address and the service indicated by the second IP address can be implemented based on different IP versions, allowing the path determined by the SR policy to carry multiple packets for different services under different IP versions. Furthermore, compared to multi-stack implementations, this implementation avoids dual-stack transformation of packets, reducing both transformation costs and the maintenance costs of dual-stack services.

[0056] In a possible implementation manner of the second aspect, the control and management device may include a network manager.

[0057] Based on the above technical solution, the SR policy of the first network device can come from the configuration of the network manager, so that this implementation method can be applied to the scenario where the network manager performs routing configuration on multiple network devices (including the first network device).

[0058] In a possible implementation manner of the second aspect, the network manager may configure the SR policy for the first network device based on a network configuration protocol Netconf.

[0059] In a possible implementation manner of the second aspect, the control management device may include a controller.

[0060] Based on the above technical solution, the controller issues the SR policy, so that the implementation method can be applied to the scenario where the controller performs routing configuration on multiple network devices (including the first network device).

[0061] In a possible implementation manner of the second aspect, the controller may send the SR policy to the first network device through a protocol message.

[0062] Optionally, the protocol message is a Border Gateway Protocol (BGP) message.

[0063] Optionally, the BGP message includes network layer reachability information (NLRI), wherein a subsequent address family identifier (SAFI) of the NLRI is an SR policy, and the NLRI includes a first IP address, and an extended type-length-value (TLV) field of the NLRI includes a second IP address.

[0064] Based on the above technical solution, by extending the BGP protocol, the SR policy sent by the controller to the network device can include multiple IP addresses of the destination endpoint, so as to configure the SR policy for the first network device under BGP, and guide the co-path forwarding of different types of service packets according to the SR policy, without the need to modify the service itself.

[0065] In a possible implementation manner of the second aspect, the protocol message is a PCEP message.

[0066] Optionally, the PCEP message may include a path computation initiate (PCInitiate) message or a path computation update (PCUpd) message.

[0067] Optionally, the PCEP message includes a first object and a second object, wherein the first object includes the first IP address and the second object includes the second IP address. Optionally, the first object is an endpoint (END-POINT) object.

[0068] Optionally, the second object is a new PCEP extended object.

[0069] Optionally, the PCEP message includes a first object, which includes the first IP address and the second IP address, wherein the second IP address is carried in an extended TLV field of the first object.

[0070] Optionally, the first object is an END-POINT object.

[0071] Based on the above technical solution, the SR policy is sent to the first network device by extending the PCEP message, wherein the PCEP message can carry the first IP address and the second IP address in the above-mentioned multiple different ways to configure the SR policy for the first network device under PECP, and guide the co-path forwarding of different types of service messages according to the SR policy without modifying the service itself.

[0072] A third aspect of an embodiment of the present application provides a communication device, wherein the communication device may be a first network device, and the device includes a transceiver unit and a processing unit;

[0073] The transceiver unit is configured to receive a first message;

[0074] The processing unit is configured to determine a segment routing (SR) policy, wherein a destination endpoint specified by the SR policy is a second network device, and an identifier of the destination endpoint includes a first Internet Protocol (IP) address of the second network device and a second IP address of the second network device;

[0075] The transceiver unit is further configured to forward the first message to the second network device according to a path specified by the SR policy.

[0076] In a possible implementation manner of the third aspect, the first IP address is an IPv6 address, and the second IP address is an IPv4 address.

[0077] In a possible implementation of the third aspect,

[0078] This path is a segment routing (SRv6) path based on the sixth version of the Internet Protocol.

[0079] In a possible implementation of the third aspect,

[0080] The path is a label switched path LSP that switches labels based on Multi-Protocol Label Switching (MPLS).

[0081] In a possible implementation manner of the third aspect, the destination IP address of the first message is an IPv4 address.

[0082] In a possible implementation manner of the third aspect, the destination IP address of the first message is an IPv6 address.

[0083] In a possible implementation of the third aspect, the processing unit is specifically configured to:

[0084] Create the SR policy through static configuration.

[0085] In a possible implementation of the third aspect, the processing unit is specifically configured to:

[0086] The SR policy is created based on a protocol message from the control management device.

[0087] In a possible implementation manner of the third aspect, the protocol message is a Border Gateway Protocol (BGP) message.

[0088] In a possible implementation of the third aspect,

[0089] The BGP message includes network layer reachability information NLRI, wherein the sub-address family identifier SAFI of the NLRI is SRPolicy, the NLRI includes the first IP address, and the extended type length value TLV field of the NLRI includes the second IP address.

[0090] In a possible implementation of the third aspect,

[0091] The protocol message is a Path Computation Element Communication Protocol (PCEP) message.

[0092] In a possible implementation of the third aspect,

[0093] The PCEP message includes a path calculation initiation PCInitiate message or a path calculation update PCUpd message.

[0094] In a possible implementation manner of the third aspect, the endpoint END-POINT object of the PCEP message includes the first IP address, and the extended type-length-value TLV field of the END-POINT object includes the second IP address.

[0095] In a possible implementation manner of the third aspect, the first object of the PCEP message includes the first IP address, and the second object of the PCEP message includes the second IP address.

[0096] Optionally, the PCEP message includes a first object and a second object, and the first object is used to carry the first IP address, and the second object is used to carry the first IP address.

[0097] Optionally, the first object is an endpoint (END-POINT) object.

[0098] Optionally, the second object is a newly extended object of the PCEP message.

[0099] Optionally, the PCEP message includes a first object, which includes the first IP address and the second IP address, wherein the second IP address is carried in an extended TLV field of the first object.

[0100] Optionally, the first object is an END-POINT object.

[0101] In the third aspect of the embodiment of the present application, the component modules of the communication device can also be used to execute the steps performed in various possible implementation methods of the first aspect. For details, please refer to the first aspect and will not be repeated here.

[0102] A fourth aspect of the embodiments of the present application provides a communication device, wherein the communication device may be a control and management device, including a processing unit and a transceiver unit;

[0103] The processing unit is configured to control the management device to determine a segment routing (SR) policy, where the destination endpoint specified by the SR policy is a second network device, and the identifier of the destination endpoint includes a first Internet Protocol (IP) address of the second network device and a second IP address of the second network device;

[0104] The transceiver unit is configured to send the SR policy to the first network device.

[0105] In a possible implementation of the fourth aspect,

[0106] The path specified by this SR policy is an SRv6 path based on the segment routing policy of Internet Protocol version 6.

[0107] In a possible implementation of the fourth aspect,

[0108] The path specified by the SR policy is a label switched path (LSP) that switches labels based on Multi-Protocol Label Switching (MPLS).

[0109] In a possible implementation of the fourth aspect,

[0110] The first IP address is an IPv6 address, and the second IP address is an IPv4 address.

[0111] In a possible implementation manner of the fourth aspect, the control and management device includes a network management.

[0112] In a possible implementation manner of the fourth aspect, the control management device includes a controller.

[0113] In a possible implementation of the fourth aspect, the transceiver unit is specifically configured to:

[0114] The SR policy is sent to the first network device through a protocol message.

[0115] In a possible implementation manner of the fourth aspect, the protocol message is a Border Gateway Protocol (BGP) message.

[0116] In a possible implementation of the fourth aspect, the protocol message includes network layer reachability information NLRI, wherein the sub-address family of the NLRI is SAFI and SR Policy, the NLRI includes the first IP address, and the extended type length value TLV field of the NLRI includes the second IP address.

[0117] In a possible implementation of the fourth aspect,

[0118] The protocol message is a Path Computation Element Communication Protocol (PCEP) message.

[0119] In a possible implementation of the fourth aspect,

[0120] The PCEP message includes a path calculation initiation PCInitiate message or a path calculation update PCUpd message.

[0121] In a possible implementation manner of the fourth aspect, the endpoint END-POINT object of the PCEP message includes the first IP address, and the extended type-length-value TLV field of the END-POINT object includes the second IP address.

[0122] In a possible implementation manner of the fourth aspect, the first object of the PCEP message includes the first IP address, and the second object of the PCEP message includes the second IP address.

[0123] Optionally, the PCEP message includes a first object and a second object, and the first object is used to carry the first IP address, and the second object is used to carry the first IP address.

[0124] Optionally, the first object is an endpoint (END-POINT) object.

[0125] Optionally, the second object is a newly extended object.

[0126] Optionally, the PCEP message includes a first object, which includes the first IP address and the second IP address, wherein the second IP address is carried in an extended TLV field of the first object.

[0127] Optionally, the first object is an END-POINT object.

[0128] In the fourth aspect of the embodiment of the present application, the component modules of the communication device can also be used to execute the steps performed in various possible implementation methods of the second aspect. For details, please refer to the second aspect and will not be repeated here.

[0129] A fifth aspect of the embodiments of the present application provides a communication device, including at least one processor, wherein the at least one processor is coupled to a memory;

[0130] The memory is used to store programs or instructions;

[0131] The at least one processor is used to execute the program or instruction so that the device implements the method described in the first aspect or any possible implementation of the first aspect, or so that the device implements the method described in the second aspect or any possible implementation of the second aspect.

[0132] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes the method described in the first aspect or any possible implementation of the first aspect.

[0133] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes the method described in the second aspect or any possible implementation of the second aspect.

[0134] An eighth aspect of an embodiment of the present application provides a computer program product (or computer program) storing one or more computers. When the computer program product is executed by the processor, the processor executes the method of the above-mentioned first aspect or any possible implementation of the first aspect.

[0135] A ninth aspect of an embodiment of the present application provides a computer program product storing one or more computers. When the computer program product is executed by the processor, the processor executes the method of the second aspect or any possible implementation of the second aspect.

[0136] A tenth aspect of an embodiment of the present application provides a chip system, which includes at least one processor for supporting a first communication device to implement the functions involved in the above-mentioned first aspect or any possible implementation method of the first aspect.

[0137] In one possible design, the chip system may further include a memory for storing program instructions and data necessary for the first communication device. The chip system may be composed of a chip or may include a chip and other discrete components. Optionally, the chip system may further include an interface circuit that provides program instructions and / or data to the at least one processor.

[0138] In an eleventh aspect of an embodiment of the present application, a chip system is provided, which includes at least one processor for supporting a second communication device to implement the functions involved in the above-mentioned second aspect or any possible implementation method of the second aspect.

[0139] In one possible design, the chip system may further include a memory for storing program instructions and data necessary for the second communication device. The chip system may be composed of a chip or may include a chip and other discrete components. Optionally, the chip system may further include an interface circuit that provides program instructions and / or data to the at least one processor.

[0140] A twelfth aspect of an embodiment of the present application provides a communication system, which includes the first communication device of the third aspect and the second communication device of the fourth aspect, and / or the communication system includes the first communication device of the fifth aspect, and / or the communication system includes the first communication device of the sixth aspect and the second communication device of the seventh aspect.

[0141] Among them, the technical effects brought about by any design method in the third aspect to the twelfth aspect can refer to the technical effects brought about by different implementation methods in the above-mentioned first aspect or second aspect, and will not be repeated here.

[0142] As can be seen from the above technical solution, the first network device can determine the path for transmitting messages between the first network device and the second network device based on the SR policy, and forward the first message to the second network device based on the path. The first IP address and the second IP address correspond to messages for different services, respectively. This allows messages for different services to be sent along the same path specified by the SR policy based on SR technology, avoiding the limitations of the dual-stack transformation implementation method and improving communication efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0143] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0144] Figure 1 A schematic diagram of the network architecture of an embodiment of the present application;

[0145] Figure 2 Another schematic diagram of the network architecture of an embodiment of the present application;

[0146] Figure 3aA schematic diagram of service transmission based on IPv4 tunnel;

[0147] Figure 3b A schematic diagram of service transmission based on SRv6 tunnel;

[0148] Figure 4 A schematic diagram of a communication method provided in an embodiment of the present application;

[0149] Figure 5 Another schematic diagram of a communication method provided in an embodiment of the present application;

[0150] Figure 6 Another schematic diagram of a communication method provided in an embodiment of the present application;

[0151] Figure 7 A schematic diagram of a communication device provided in an embodiment of the present application;

[0152] Figure 8 Another schematic diagram of a communication device provided in an embodiment of the present application;

[0153] Figure 9 Another schematic diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0154] The following describes the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0155] The first, second, etc. descriptions appearing in the embodiments of the present application are only for the purpose of illustrating and distinguishing the objects of description. There is no order, nor does it represent a special limitation on the number of devices in the embodiments of the present application, and cannot constitute any limitation on the embodiments of the present application. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally also includes steps or units that are not listed, or optionally also includes other steps or units inherent to these processes, methods, products or devices. Mentioning "embodiment" in this article means that the specific features, structures or characteristics described in conjunction with the embodiment may be included in at least one embodiment of the present application. The appearance of this phrase in various positions in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0156] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0157] See also Figure 1 , which is a schematic diagram of the network architecture of an embodiment of the present application.

[0158] like Figure 1 As shown, the network architecture includes at least a core layer, an aggregation layer, and an access layer, wherein different network layers contain multiple nodes, and the nodes can be switches, routers, virtual machines, etc. Among them, the nodes in the access layer used to provide network service access interfaces for base stations can be called access nodes (for example, access node 1, access node 2, ..., access node n in the figure), and other nodes are called forwarding nodes. Generally, forwarding nodes mainly undertake network forwarding functions, while access nodes are mainly responsible for carrying network service access and network forwarding functions. Figure 1 The network architecture shown may also include a control and management device, which is mainly responsible for controlling and managing access nodes in the network.

[0159] For example, in Figure 1In the network architecture shown, different nodes in the access layer can communicate using 10 Gigabit Ethernet (GE), 50GE, and 100GE. Different nodes in the aggregation layer can communicate using 100GE and 200GE. Different nodes in the core layer can communicate using 400GE.

[0160] Furthermore, if Figure 2 As shown, Figure 1 The base station shown can provide network access services for a variety of terminal devices, so that the terminal devices can access the network through Figure 1 The access node shown accesses the network to communicate with other devices in the network system. The terminal device may include at least Figure 2 The terminal device shown is 1 (smart tea cup), terminal device 2 (smart air conditioner), terminal device 3 (smart gas pump), terminal device 4 (vehicle), terminal device 5 (smart phone), and terminal device 6 (printer). Obviously, the base station can also access other types of terminal devices, such as personal computers (PCs), such as tablet personal computers (Tablet PCs), laptops, super mobile personal computers, personal digital assistants, etc., which are not limited here.

[0161] With the rapid development of business, segment routing (SR) technology has been proposed. SR technology can be applied to Figure 1 The communication between different nodes in the network architecture shown (e.g., between access nodes and forwarding nodes, and between forwarding nodes). SR is a protocol designed based on source routing for forwarding packets on the network. It supports explicit specification of the forwarding path between the source and destination nodes at the source node.

[0162] In SR technology, the SR data plane can use Internet Protocol version 6 (IPv6). This scenario can be called Segment Routing over IPv6 (SRv6). In this scenario, the SR policy can specifically be SRv6 Policy. In addition, the SR data plane can also use Multi-Protocol Label Switching (MPLS). This scenario can be called Segment Routing over MPLS (MPLS SR or SR MPLS). In this scenario, the SR policy can specifically be MPLS SR Policy.

[0163] For example, SRv6 is used here as an example. SRv6 is a protocol designed based on source routing for forwarding IPv6 packets on a network. SRv6 inserts a segment routing header (SRH) into IPv6 packets, pushes an explicit IPv6 address stack into the SRH, and implements hop-by-hop forwarding by having forwarding nodes (or intermediate nodes) continuously update the destination address and offset address stack.

[0164] In SRv6, SRv6 policies utilize the source routing mechanism of segment routing, encapsulating an ordered list of instructions at the head node to guide packets through the network. SRv6 policies are globally uniquely identified using the "source endpoint, color, destination endpoint" keyword. An SR policy can have multiple candidate paths, each of which can be associated with multiple segment lists. Segment lists identify the source routing paths that send traffic to the destination endpoint through the SRv6 policy. The weight attribute attached to the segment list controls the load distribution of traffic across multiple SR paths, thereby implementing equal-cost multipath (ECMP) and unequal-cost multipath (UECMP).

[0165] Specifically, color is a crucial attribute in SRv6 policies, serving as the anchor for services and tunnels. Color can be associated with one or more service requirement templates, such as low latency, bandwidth, and affinity. SRv6 policies use color to calculate routes. Services also use color to define their network connectivity requirements. Automatic traffic routing is achieved by matching services with the color of the SRv6 policy. This allows for service deployment without having to worry about tunnel definitions; only service requirements need to be defined, decoupling service and tunnel deployment.

[0166] Generally, the forwarding path used to transmit messages can be called a tunnel. Figure 1 In the network architecture shown, the traffic entry node of the tunnel can be called the source endpoint (or source node or head node), and the traffic exit node of the tunnel can be called the destination endpoint (or destination node or tail node). Figure 1 As shown, the source node and the destination node can be, for example, Figure 1 For example, when the source node is access node 1, access node 1 sends the message to the forwarding node, so that the message is forwarded by multiple forwarding nodes in the access layer (possibly through the convergence layer and the core layer) and forwarded to the destination node, wherein the destination node can be, for example, any one or more access nodes from access node 2 to access node n (n is an integer greater than 2). Among them, a variety of different IPv6 services can be transmitted between different nodes based on SRv6, such as L3VPN, L3EVPN, VPLS, VPWS, etc. When a variety of different IPv6 services are transmitted between two access nodes (for example, the source node is access node 1 and the destination node is access node 2), they can be transmitted through different loopback interface addresses, wherein different IPv6 services correspond one-to-one to different loopback interfaces in access node 2. Similarly, the source node can also transmit different IPv4 services through different loopback interface addresses in the destination node.

[0167] exist Figure 1 In the network architecture shown, most of the services transmitted between different nodes in the current network are Internet Protocol version 4 (IPv4) services.

[0168] For example, here Figure 1 The access node 1 is shown as the source node and the access node 2 is shown as the destination node. The communication process between the two nodes is applied to Figure 3a The scenario shown is provided as an example. Figure 3a In the example, a BGP IPv4 neighbor relationship is established between access node 1 and access node 2, and an IPv4 tunnel is used between access node 1 and access node 2 to transmit IPv4 services.

[0169] With the widespread use of SRv6, many services in current networks need to be upgraded to enable IPv4 services to be transmitted through SRv6 tunnels.

[0170] For example, here Figure 1 The access node 1 is shown as the source node and the access node 2 is shown as the destination node. The communication process between the two nodes is applied to Figure 3b The scenario shown is provided as an example. Figure 3bIn the example, a BGP IPv6 neighbor relationship is established between access nodes 1 and 2, and the transport tunnel used between access nodes 1 and 2 is an SRv6 tunnel, allowing IPv6 services to be transmitted over the SRv6 tunnel. To enable the transmission of IPv4 services over the SRv6 tunnel, the BGP IPv4 neighbor relationship between access nodes 1 and 2 needs to be established over the BGP IPv6 neighbor relationship, allowing the BGP IPv6 neighbor relationship to iterate over the SRv6 tunnel. Furthermore, IPv6 address enablement needs to be configured under the IPv4 address family to introduce IPv4 services to the IPv6 tunnel.

[0171] exist Figure 3b In the implementation shown, the process of configuring IPv6 address enablement under the IPv4 address family requires the IPv4 service to be dual-stacked, that is, the IPv6 protocol stack is deployed in the IPv4 service so that the IPv4 service can support IPv4 and IPv6 dual stacks, that is, the IPv4 service is supported by the IPv6 protocol stack.

[0172] Furthermore, if Figure 3b As shown in the figure, if the services transmitted between access node 1 and access node 2 include IPv4 services and IPv6, after the IPv4 services are transformed into dual stack, access node 1, access node 2 and the forwarding nodes between access node 1 and access node 2 must all support the dual stack deployment capability to ensure that the transmission of IPv4 services on each node will not be terminated. In addition, if there is a forwarding node that does not support dual stack deployment between access node 1 and access node 2, a new IPv4 tunnel needs to be created between access node 1 and access node 2 to ensure that Figure 3b The IPv4 service and IPv6 service shown are transmitted through different tunnels respectively.

[0173] It should be noted that when IPv6 services need to be transmitted through IPv4 tunnels, you can also refer to the above similar Figure 3a and Figure 3b In the implementation process, dual-stack transformation is implemented to enable IPv6 services to be transmitted through IPv4 tunnels.

[0174] However, the above-mentioned dual-stack transformation implementation has significant limitations in practical applications. On the one hand, this implementation requires that access node 1, access node 2, and the forwarding nodes located between access nodes 1 and 2 all support dual-stack deployment capabilities. However, some existing nodes in the network may only support IPv4 deployment, and some subsequently added nodes in the network may only support IPv6 deployment, resulting in the consumption of tunnel resources by this implementation. On the other hand, the current network has a large number of IPv4 service types, such as L3VPN, L3EVPN, VPLS, and VPWS. Therefore, this implementation requires dual-stack transformation for all IPv4 services, resulting in high dual-stack transformation process costs and dual-stack coexistence maintenance costs, which is not conducive to large-scale deployment of the solution.

[0175] Similarly, when IPv6 services need to be transmitted through IPv4 tunnels, the above shortcomings also exist. Therefore, how to avoid the waste of tunnel resources in the above implementation method, the high cost of dual-stack transformation process and the maintenance cost of dual-stack coexistence is a technical problem that needs to be solved urgently.

[0176] To this end, an embodiment of the present application provides a communication method and device for enabling messages of different services to be sent in the same tunnel based on SR technology, thereby avoiding the limitations of the implementation of dual-stack transformation and improving communication efficiency.

[0177] The following describes the embodiments of the present application from the perspective of method.

[0178] See also Figure 4 , is a schematic diagram of a communication method 100 provided in an embodiment of the present application, the method comprising the following steps. Figure 4 In the method shown, it can be based on Figure 1 The network architecture implementation shown is described by taking the head node of the tunnel as access node 1 and the tail node of the tunnel as access node 2 as an example.

[0179] It should be noted that in the embodiments of the present application, the tunnel may also be referred to as a path, a forwarding path, or a routing path, etc., and the subsequent embodiments will only use the term "path" as an example for explanation.

[0180] S101. The control management device sends an SR policy to access node 1;

[0181] In this embodiment, the control management device sends the SR policy to the access node 1 in step S101 . Accordingly, the access node 1 receives the SR policy from the control management device in step S101 .

[0182] S102. Access node 1 determines the SR strategy;

[0183] In this embodiment, access node 1 determines the SR policy, wherein step S101 is optional. That is, when step S101 is executed, access node 1 may determine the SR policy by communicating with the control and management device in step S101. When step S101 is not executed, access node 1 may also determine the SR policy by other means, such as receiving a message from another device to determine the SR policy, or by static configuration (e.g., manual configuration in response to a user operation), without limitation herein.

[0184] Specifically, the destination endpoint specified by the SR policy is the second network device, and the identifier of the destination endpoint includes the first IP address of the second network device and the second IP address of the second network device, wherein the second network device can be Figure 1 Any access node from access node 2 to access node n (n is an integer greater than 2) is shown. In this embodiment, only the second network device is taken as access node 2 as an example for description.

[0185] It should be noted that the identifier of the destination endpoint may also include a third IP address, a fourth IP address, etc., which is not limited here.

[0186] In one possible implementation, in step S101, the SR policy sent by the control management device may include an SRv6 Policy. Specifically, in SR technology, the SR data plane may use IPv6, a scenario referred to as SRv6. In this scenario, the SR policy may specifically be an SRv6 Policy. In this implementation, the path indicated by the SR policy is an SRv6-based path.

[0187] In one possible implementation, in step S101, the SR policy sent by the control management device may include an MPLS SR Policy. Specifically, in SR technology, the SR data plane may use MPLS, a scenario referred to as MPLS SR or SR MPLS. In this scenario, the SR policy may specifically be an MPLS SR Policy. In this implementation, the path indicated by the SR policy is a label switched path (LSP) that switches based on MPLS labels.

[0188] In step S101 , considering that the IP version is an important attribute of an IP address, the IP version of the first IP address and the IP version of the second IP address in the identifier of the destination endpoint specified by the SR policy can be implemented in the following two ways.

[0189] Implementation method 1

[0190] In step S101 , in the identifier of the destination endpoint specified by the SR policy, the IP version of the first IP address and the IP version of the second IP address are the same.

[0191] Exemplarily, the IP version of the first IP address and the IP version of the second IP address are both the sixth version of the Internet Protocol IPv6; or, the IP version of the first IP address and the IP version of the second IP address are both the fourth version of the Internet Protocol IPv4.

[0192] Specifically, the service corresponding to the first IP address and the service corresponding to the second IP address can both be implemented based on the same IP version, so that the path indicated by the SR policy can carry multiple messages of different services under the same IP version. Compared to the implementation method of transmitting different services in the same IP version through different lookback interface addresses, this embodiment can transmit different services in the same IP version through the same path indicated by the SR policy.

[0193] Here, the specific implementation of the SR policy is described using Implementation Method 1 as an example.

[0194] When the application scenario is SRv6, the path indicated by the SR policy is an SRv6-based path. That is, the SR policy is the SRv6 Policy. The current SRv6 Policy can be configured using the following fields:

[0195] Field 1: srv6-te policy 1endpoint 1::1color 10

[0196] Field 2: candidate-path preference 200

[0197] Field 3: segment-list s1

[0198] The "srv6-te policy" command in Field 1 is used to create a segment routing traffic engineering policy (SR TE Policy), specifying the SRv6 Policy name as "1," the first IP address as "1::1," and the color as "10," and entering the SRv6 TE Policy view. The "candidate-path preference" command in Field 2 is used to configure candidate paths for the SRv6 TE Policy and set the candidate path priority to "200." The "segment-list" command in Field 3 is used to set the segment list referenced by the SRv6 TE Policy candidate paths to "s1."

[0199] In step S101, the current SRv6 Policy can be optimized so that it includes not only the first IP address but also the second IP address. Another IPv6 address (i.e., the second destination address) can be configured under the SRv6 Policy so that the SRv6 Policy can be configured using the following fields:

[0200] Field 1: srv6-te policy 1endpoint 1::1color 10

[0201] Field x: ipv6-endpoint F::F

[0202] Field 2: candidate-path preference 200

[0203] Field 3: segment-list s1

[0204] The implementation of fields 1, 2, and 3 can refer to the current SRv6 Policy configuration described above. However, a new field, "x," can be added to the SRv6 Policy. "ipv6-endpoint" specifies a second IPv6 destination address (i.e., the secondary destination address) for the SRv6 TE Policy. For example, the secondary destination address can be "F::F."

[0205] Therefore, the dual-stack SRv6 Policy supports <1::1,10> and<F::F,10> ("10" is the color value) Two access methods are available. For one type of IPv6 service, the next hop (i.e., the neighbor of the IPv6 service) is an IPv6 address. Traffic can be directed to the SRv6 path after the next hop matches the IPv6 destination address "1::1" in the SRv6 Policy. For another type of IPv6 service, the next hop is an IPv6 address. Traffic can be directed to the SRv6 path after the next hop matches the IPv6 destination address "F::F" in the SRv6 Policy.

[0206] When the application scenario is SR MPLS, the path specified by the SR policy is an LSP that switches based on MPLS labels. This SR policy is called an MPLS SR Policy. The current MPLS SR Policy can be configured using the following fields:

[0207] Field 1: sr-te policy 1endpoint 1::1color 10

[0208] Field 2: candidate-path preference 200

[0209] Field 3: segment-list s1

[0210] In Field 1, the "sr-te policy" command is used to create an SR TE Policy, specifying the MPLS SRPolicy name as "1," the first IP address as "1::1," and the color as "10," and entering the MPLS SRPolicy view. In Field 2, the "candidate-path preference" command is used to configure candidate paths for the SR-TE policy and set the candidate path preference to "200." In Field 3, the "segment-list" command is used to configure the segment list referenced by the MPLS SRPolicy candidate path as "s1."

[0211] In step S101, the current MPLS SR Policy can be optimized so that it includes a second IP address in addition to the first IP address. Another IPv4 address (i.e., the second destination address) can be configured under the MPLS SR Policy so that the MPLS SR Policy can be configured using the following fields:

[0212] Field 1: sr-te policy 1 endpoint 1.1.1.1 color 10

[0213] Field y: ipv6-endpoint 1.1.1.0

[0214] Field 2: candidate-path preference 200

[0215] Field 3: segment-list s1

[0216] The implementation of fields 1, 2, and 3 can refer to the current MPLS SR Policy configuration described above. However, a new field, "y," can be added to the MPLS SR Policy. "ipv4-endpoint" specifies another IPv6 address (i.e., the second destination address) for the SR TEPolicy. For example, the second destination address can be "1.1.1.0."

[0217] Therefore, dual-stack MPLS SR Policies support access via both <1.1.1.1,10> and <1.1.1.0,10> (where "10" is the color value). For one type of IPv4 service, if the next hop (i.e., the neighbor of the IPv4 service) is an IPv4 address, the service can be directed to an LSP switching based on MPLS labels after the next hop matches the IPv4 destination address "1.1.1.1" in the SRv6 Policy. For another type of IPv4 service, if the next hop is an IPv4 address, the service can be directed to an LSP switching based on MPLS labels after the next hop matches the IPv6 destination address "1.1.1.0" in the SRv6 Policy.

[0218] Implementation method 2

[0219] In step S101, the control management device sends an SR policy in which the IP version of the first IP address and the IP version of the second IP address are different.

[0220] Exemplarily, the IP version of the first IP address is IPv6, and the IP version of the second IP address is IPv4, or the IP version of the first IP address is IPv4, and the IP version of the second IP address is IPv6.

[0221] Specifically, the service type corresponding to the first IP address and the service type corresponding to the second IP address can be implemented based on different IP versions, allowing the path determined by the SR policy to carry multiple packets of different service types under different IP versions. In addition, compared to the dual-stack implementation, this implementation avoids dual-stack transformation of packets, reducing the cost of dual-stack transformation and dual-stack service maintenance.

[0222] Here, the second implementation method is used as an example to illustrate the specific implementation of the SR policy.

[0223] When the application scenario is SRv6, the path indicated by the SR policy is an SRv6-based path. That is, the SR policy is the SRv6 Policy. The current SRv6 Policy can be configured using the following fields:

[0224] Field 1: srv6-te policy 1endpoint 1::1color 10

[0225] Field 2: candidate-path preference 200

[0226] Field 3: segment-list s1

[0227] The "srv6-te policy" command in Field 1 is used to create a segment routing traffic engineering policy (SR TE Policy), specifying the SRv6 Policy name as "1," the first IP address as "1::1," and the color as "10," and entering the SRv6 TE Policy view. The "candidate-path preference" command in Field 2 is used to configure candidate paths for the SRv6 TE Policy and set the candidate path priority to "200." The "segment-list" command in Field 3 is used to set the segment list referenced by the SRv6 TE Policy candidate paths to "s1."

[0228] In step S101, the current SRv6 Policy can be optimized so that the SRv6 Policy includes not only the first IP address but also the second IP address. The second IPv4 destination address can be configured under the SRv6 Policy so that the SRv6 Policy can be configured using the following fields:

[0229] Field 1: srv6-te policy 1endpoint 1::1color 10

[0230] Field x: ipv4-endpoint 1.1.1.1

[0231] Field 2: candidate-path preference 200

[0232] Field 3: segment-list s1

[0233] The implementation of fields 1, 2, and 3 can be referenced in the current SRv6 Policy configuration. However, a new field, "x," is added to the SRv6 Policy. "ipv4-endpoint" specifies the IPv4 secondary destination address of the SRv6 TE Policy. For example, the secondary destination address is "1.1.1.1."

[0234] Therefore, dual-stack SRv6 policies support access via both <1::1,10> and <1.1.1.1,10> (where "10" is the color value). For IPv4 services, the next hop (i.e., the neighbor of the IPv4 service) is an IPv4 address. Traffic can be directed along the SRv6 path if the next hop matches the IPv4 destination address "1.1.1.1" in the SRv6 Policy. For IPv6 services, the next hop (i.e., the neighbor of the IPv6 service) is an IPv6 address. Traffic can be directed along the SRv6 path if the next hop matches the IPv6 destination address "1::1" in the SRv6 Policy.

[0235] When the application scenario is SR MPLS, the path specified by the SR policy is an LSP that switches based on MPLS labels. This SR policy is called an MPLS SR Policy. The current MPLS SR Policy can be configured using the following fields:

[0236] Field 1: sr-te policy 1endpoint 1::1color 10

[0237] Field 2: candidate-path preference 200

[0238] Field 3: segment-list s1

[0239] In Field 1, the "sr-te policy" command is used to create an SR TE Policy, specifying the MPLS SRPolicy name as "1," the first IP address as "1::1," and the color as "10," and entering the MPLS SRPolicy view. In Field 2, the "candidate-path preference" command is used to configure candidate paths for the SR-TE policy and set the candidate path preference to "200." In Field 3, the "segment-list" command is used to configure the segment list referenced by the MPLS SRPolicy candidate path as "s1."

[0240] In step S101, the current MPLS SR Policy can be optimized so that it includes not only the first IP address but also a second IP address. The second IPv6 destination address can be configured under the MPLS SR Policy so that the MPLS SR Policy can be configured using the following fields:

[0241] Field 1: sr-te policy 1 endpoint 1.1.1.1 color 10

[0242] Field y: ipv6-endpoint 1::1

[0243] Field 2: candidate-path preference 200

[0244] Field 3: segment-list s1

[0245] The implementation of fields 1, 2, and 3 can refer to the current MPLS SR Policy configuration described above. However, a new field, "y," can be added to the MPLS SR Policy. "ipv6-endpoint" specifies the IPv6 secondary destination address of the SR TEPolicy. For example, the secondary destination address can be "1::1."

[0246] Therefore, dual-stack MPLS SR Policies support access via both <1.1.1.1,10> and <1::1,10> (where "10" is the color value). For IPv4 services, the next hop (i.e., the neighbor of the IPv4 service) is an IPv4 address. When the next hop matches the SRv6 Policy's IPv4 destination address "1.1.1.1," the service is routed to an LSP switching based on MPLS labels. For IPv6 services, the next hop (i.e., the neighbor of the IPv6 service) is an IPv6 address. When the next hop matches the SRv6 Policy's IPv6 destination address "1::1," the service is routed to an LSP switching based on MPLS labels.

[0247] In addition, in step S101, the control and management device may have various device forms. For example, the control and management device may specifically be a network management device, a controller, etc., which will be introduced below respectively.

[0248] In one possible implementation, when in step S101, the control management device is a network manager, the SR policy of access node 1 can come from the configuration of the network manager, so that this implementation can be applied to the scenario where the network manager performs routing configuration on multiple network devices (including access node 1).

[0249] Specifically, the network management can configure SR policies for network devices based on the Netconf protocol.

[0250] In a possible implementation, when the control management device is a controller in step S101 , the SR policy is sent by the controller, so that the implementation can be applied to a scenario where the controller performs routing configuration on multiple network devices (including access node 1 ).

[0251] In a specific implementation, the controller may send the SR policy to the network device based on the protocol message.

[0252] For example, the protocol message is a Border Gateway Protocol (BGP)-based message. Further, the BGP message includes network layer reachability information (NLRI), wherein a subsequent address family identifier (SAFI) of the NLRI is an SR policy, the NLRI includes the first IP address, and an extended type-length-value (TLV) field of the NLRI includes the second IP address.

[0253] by Figure 5The implementation shown is used as an example. When the controller issues the SR policy through the BGPSR Policy address family, the extended TLV field can carry the second IP address to implement the dual stack path. Figure 5 In the example shown, the "Type" field in the TLV field occupies 8 bytes, the "Length" field occupies 8 bytes, and the "Value (RESERVED)" field occupies 16 bytes.

[0254] like Figure 5 As shown, the sub-TLV format is defined as follows:

[0255] Type field: indicates that this TLV field is used to carry the endpoint IP address.

[0256] Length field: Specifies the length of the sub-TLV. If the sub-TLV does not contain an address, the length is 2. If the sub-TLV contains an IPv4 address, the length is 6. If the sub-TLV contains an IPv6 address, the length is 18.

[0257] Multi-endpoint field: If the length is 2, no address is carried; if the length is 6, the field is an IPv4 address; if the length is 18, the field is an IPv6 address.

[0258] Generally, each sub-TLV carries only one endpoint address. If you need to specify multiple endpoint addresses, you can do so by carrying multiple sub-TLVs.

[0259] For another example, when the control and management device is a controller, the access node 1 may create an SR policy according to a path calculation element protocol (PCEP) message sent from the control and management device.

[0260] The PCEP message may include a path computation initiate (PCInitiate) message or a path computation update (PCUpd) message.

[0261] Optionally, the PCEP message includes a first object and a second object, and the first object is used to carry the first IP address, and the second object is used to carry the first IP address.

[0262] Optionally, the PCEP message includes a third object, and the third object includes a first TLV field for carrying the first IP address and a second TLV field for carrying the first IP address.

[0263] Optionally, the second TLV field is an extension field.

[0264] Optionally, the first object is an endpoint (END-POINT) object.

[0265] Optionally, the second object is a newly extended object used to carry an endpoint address.

[0266] Optionally, the third object is an END-POINT object.

[0267] Based on the above technical solution, access node 1 can create an SR policy through a message transmitted based on the PCEP protocol sent by the controller, wherein the PCEP message can carry the first IP address and the second IP address in the above-mentioned multiple different ways to configure the SR policy for access node 1 under PECP. The implementation method can refer to the above Figure 5 The examples shown are not repeated here.

[0268] S103. Access node 1 forwards the first message to access node 2 based on the SR policy.

[0269] In this embodiment, access node 1 sends a message to access node 2 through one or more forwarding nodes on the path indicated by the SR policy in step S103; accordingly, access node 2 receives the message from access node 1 in step S103.

[0270] Specifically, before step S103, access node 1 may first receive a first message sent from another device, and then forward the message to access node 2 based on the path indicated by the SR policy determined in step S102. The process of access node 1 receiving the first message sent from another device may be before or after step S102, and is not limited here.

[0271] In addition, there are many possible implementations of other devices that send the first message to the access node 1. For example, the other device can also be any customer edge device (CE), or Figure 1 In the illustrated application scenario, base station 1 connected to access node 1, or other devices capable of communicating with access node 1, are not limited herein. When the other device needs to send a first message to access node 2, access node 1 can forward the message along a path indicated by an SR policy, so that access node 2 receives the first message and further processes the message (e.g., access node 2 further forwards the message to base station 2 connected to access node 2).

[0272] In a possible implementation, the destination IP address of the first message is an IPv4 address, or the destination IP address of the first message is an IPv6 address.

[0273] Specifically, access node 1 can send packets for multiple different services to access node 2 based on the path specified by the SR policy determined in step S102. For example, the first packet forwarded by access node 1 to access node 2 can be a packet for an IPv4 service, i.e., the destination IP address of the first packet is an IPv4 address. For another example, the first packet forwarded by access node 1 to access node 2 can be a packet for an IPv6 service, i.e., the destination IP address of the first packet is an IPv6 address. Furthermore, the destination IP address of the first packet can also be implemented in other ways, which are not limited here.

[0274] In this embodiment, access node 1 can determine a path for transmitting messages between access node 1 and access node 2 based on the SR policy, and forward the first message to access node 2 based on the path. The first IP address and the second IP address correspond to messages for different services, respectively. This allows messages for different services to be sent along the same path specified by the SR policy based on SR technology, avoiding the limitations of dual-stack transformation implementations and improving communication efficiency.

[0275] See also Figure 6 , is another schematic diagram of a communication method 200 provided in an embodiment of the present application, the method 200 can be applied to Figure 1 and Figure 2 In the illustrated scenario, the method 100 is specifically implemented. The method 200 includes the following steps.

[0276] S201. The control management device sends an SR policy to the first network device;

[0277] In this embodiment, the control management device sends the SR policy to the first network device in step S201. Correspondingly, the first network device receives the SR policy from the control management device in step S201.

[0278] S202. The first network device determines the SR strategy;

[0279] In this embodiment, the first network device determines the SR policy, wherein the first network device may determine the SR policy by means of step S201 , or by means of other methods, which are not limited here.

[0280] S202. The first network device sends a message to the second network device based on the SR policy.

[0281] In this embodiment, the first network device sends a message to the second network device based on the SR policy in step S203; correspondingly, the second network device receives the message from the first network device in step S203.

[0282] Among them, when method 200 is specifically used to implement method 100, the first network device in steps S201 to S203 can be the access node 1 in the aforementioned steps S101 to S103, the control management device in steps S201 to S203 can be the control management device in the aforementioned steps S101 to S103, and the second network device in steps S201 to S203 can be the access node 2 in the aforementioned steps S101 to S103. The implementation process can refer to the implementation of the aforementioned steps S101 to S103 and will not be repeated here. It can be understood that the first network device and the second network device can be Figure 1 Any access node or forwarding node in the scenario shown.

[0283] The above describes the embodiments of the present application from the perspective of a method. The following describes the communication device provided in the embodiments of the present application from the perspective of a device.

[0284] See also Figure 7 , an embodiment of the present application provides a communication device, which can implement the function of the first network device (or access node 1) in the above method embodiment, and thus can also achieve the beneficial effects of the above method embodiment.

[0285] The communication device 700 includes a processing unit 701 and a transceiver unit 702;

[0286] The transceiver unit 702 is configured to receive a first message;

[0287] The processing unit 701 is configured to determine a segment routing (SR) policy, wherein a destination endpoint specified by the SR policy is a second network device, and an identifier of the destination endpoint includes a first Internet Protocol (IP) address of the second network device and a second IP address of the second network device;

[0288] The transceiver unit 702 is further configured to forward the first message to the second network device according to a path specified by the SR policy.

[0289] In a possible implementation, the first IP address is an IPv6 address, and the second IP address is an IPv4 address.

[0290] In one possible implementation,

[0291] This path is a segment routing (SRv6) path based on the sixth version of the Internet Protocol.

[0292] In one possible implementation,

[0293] The path is a label switched path LSP that switches labels based on Multi-Protocol Label Switching (MPLS).

[0294] In a possible implementation, the destination IP address of the first message is an IPv4 address.

[0295] In a possible implementation, the destination IP address of the first message is an IPv6 address.

[0296] In a possible implementation, the processing unit 701 is specifically configured to:

[0297] Create the SR policy through static configuration.

[0298] In a possible implementation, the processing unit 701 is specifically configured to:

[0299] The SR policy is created based on a protocol message from the control management device.

[0300] In a possible implementation, the protocol message is a Border Gateway Protocol BGP message.

[0301] In one possible implementation,

[0302] The BGP message includes network layer reachability information NLRI, wherein the sub-address family identifier SAFI of the NLRI is SRPolicy, the NLRI includes the first IP address, and the extended type length value TLV field of the NLRI includes the second IP address.

[0303] In one possible implementation,

[0304] The protocol message is a Path Computation Element Communication Protocol (PCEP) message.

[0305] In one possible implementation,

[0306] The PCEP message includes a path calculation initiation PCInitiate message or a path calculation update PCUpd message.

[0307] In a possible implementation, an endpoint END-POINT object of the PCEP message includes the first IP address, and an extended type-length-value TLV field of the END-POINT object includes the second IP address.

[0308] In a possible implementation, the first object of the PCEP message includes the first IP address, and the second object of the PCEP message includes the second IP address.

[0309] Optionally, the PCEP message includes a first object and a second object, and the first object is used to carry the first IP address, and the second object is used to carry the second IP address.

[0310] Optionally, the PCEP message includes a third object, and the third object includes a first TLV field for carrying the first IP address and a second TLV field for carrying the first IP address.

[0311] Optionally, the second TLV field is an extension field.

[0312] Optionally, the first object is an endpoint (END-POINT) object.

[0313] Optionally, the second object is a newly extended object.

[0314] Optionally, the third object is an END-POINT object.

[0315] It should be noted that, for details on the information execution process of each unit of the above-mentioned communication device 700, please refer to the description in the method embodiment shown above in this application, and no further details will be given here.

[0316] See also Figure 8 , an embodiment of the present application provides a communication device, and the communication device 800 can implement the function of controlling and managing the device in the above method embodiment, and thus can also achieve the beneficial effects of the above method embodiment.

[0317] The communication device 800 includes a processing unit 801 and a transceiver unit 802;

[0318] The processing unit 801 is configured to control the management device to determine a segment routing (SR) policy, where the destination endpoint specified by the SR policy is a second network device, and the identifier of the destination endpoint includes a first Internet Protocol (IP) address of the second network device and a second IP address of the second network device;

[0319] The transceiver unit 802 is configured to send the SR policy to the first network device.

[0320] In one possible implementation,

[0321] The path specified by this SR policy is an SRv6 path based on the segment routing policy of Internet Protocol version 6.

[0322] In one possible implementation,

[0323] The path specified by the SR policy is a label switched path (LSP) that switches labels based on Multi-Protocol Label Switching (MPLS).

[0324] In one possible implementation,

[0325] The first IP address is an IPv6 address, and the second IP address is an IPv4 address.

[0326] In a possible implementation, the control and management device includes a network manager.

[0327] In a possible implementation, the control management device includes a controller.

[0328] In a possible implementation, the transceiver unit 802 is specifically configured to:

[0329] The SR policy is sent to the first network device through a protocol message.

[0330] In a possible implementation, the protocol message is a Border Gateway Protocol BGP message.

[0331] In a possible implementation, the protocol message includes network layer reachability information NLRI, wherein the sub-address family of the NLRI is SAFI and SR Policy, the NLRI includes the first IP address, and the extended type length value TLV field of the NLRI includes the second IP address.

[0332] In one possible implementation,

[0333] The protocol message is a Path Computation Element Communication Protocol (PCEP) message.

[0334] In one possible implementation,

[0335] The PCEP message includes a path calculation initiation PCInitiate message or a path calculation update PCUpd message.

[0336] In a possible implementation, an endpoint END-POINT object of the PCEP message includes the first IP address, and an extended type-length-value TLV field of the END-POINT object includes the second IP address.

[0337] In a possible implementation, the first object of the PCEP message includes the first IP address, and the second object of the PCEP message includes the second IP address.

[0338] Optionally, the PCEP message includes a first object and a second object, and the first object is used to carry the first IP address, and the second object is used to carry the first IP address.

[0339] Optionally, the PCEP message includes a third object, and the third object includes a first TLV field for carrying the first IP address and a second TLV field for carrying the first IP address.

[0340] Optionally, the second TLV field is an extension field.

[0341] Optionally, the first object is an endpoint (END-POINT) object.

[0342] Optionally, the second object is an END-POINT object.

[0343] Optionally, the third object is an END-POINT object.

[0344] It should be noted that, for details on the information execution process of the units of the above-mentioned communication device 800, please refer to the description in the method embodiment shown above in this application, and no further details will be given here.

[0345] In addition, the present application embodiment also provides a communication device 900, see Figure 9 As shown, Figure 9 This is a schematic diagram of the structure of a communication device 900 provided in an embodiment of the present application. The communication device 900 can be used to execute the methods in the above embodiments and specifically implement the functions to be implemented by the communication device 700 or the communication device 800.

[0346] like Figure 9As shown, the communication device 900 may include a processor 910 and a memory 920 coupled to the processor 910. The processor 910 may be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP. The processor may also be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor 910 may refer to a single processor or may include multiple processors. The memory 920 may include volatile memory (English: volatile memory), such as random-access memory (English: random-access memory, abbreviated: RAM); the memory may also include non-volatile memory (English: non-volatile memory), such as read-only memory (English: read-only memory, abbreviated: ROM), flash memory (English: flash memory), hard disk drive (English: hard disk drive, abbreviated: HDD) or solid-state drive (English: solid-state drive, abbreviated: SSD); the memory 920 may also include a combination of the above-mentioned types of memory. The memory 920 may refer to a single memory or may include multiple memories. In one embodiment, the memory 920 stores computer-readable instructions, and the computer-readable instructions include a first processing module 921 and a second processing module 922. In this embodiment, the operation performed by a software module actually refers to the operation performed by the processor 710 according to the instructions of the software module. For example, the first processing module 921 executes “receiving the first message”, which may actually mean that the processor 910 executes “receiving the first message” according to the instruction of the first processing module 921. At this time, the first processing module 921 may correspond to the transceiver unit 702 in the communication device 700.

[0347] Figure 9The specific implementation methods of the communication device shown can refer to the descriptions in the aforementioned method embodiments, and will not be repeated here.

[0348] An embodiment of the present application further provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes the method described in the possible implementation manner of the communication device (when implemented by the first network device) in the aforementioned embodiment.

[0349] An embodiment of the present application also provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes the method described in the possible implementation method of the communication device (when implemented by a control management device) in the aforementioned embodiment.

[0350] An embodiment of the present application also provides a computer program product (or computer program) storing one or more computers. When the computer program product is executed by the processor, the processor executes a method of a possible implementation method of the above-mentioned communication device (when implemented by the first network device).

[0351] An embodiment of the present application also provides a computer program product storing one or more computers. When the computer program product is executed by the processor, the processor executes a method of a possible implementation method of the above-mentioned communication device (when implemented by a control management device).

[0352] An embodiment of the present application also provides a chip system, which includes at least one processor for supporting the first network device to implement the functions involved in the possible implementation of the above-mentioned communication device (when implemented by the first network device). Optionally, the chip system also includes an interface circuit, which provides program instructions and / or data to the at least one processor. In one possible design, the chip system may also include a memory for storing the necessary program instructions and data for the first network device. The chip system can be composed of chips, or it can include chips and other discrete devices.

[0353] An embodiment of the present application also provides a chip system, which includes at least one processor for supporting a control and management device to implement the functions involved in the possible implementation of the above-mentioned communication device (when implemented by a control and management device). Optionally, the chip system also includes an interface circuit, which provides program instructions and / or data to the at least one processor. In one possible design, the chip system may also include a memory for storing the necessary program instructions and data for the control and management device. The chip system may be composed of a chip, or may include a chip and other discrete devices, wherein the control and management device may specifically be the control and management device in the aforementioned method embodiment.

[0354] An embodiment of the present application also provides a communication system, wherein the network system architecture includes the communication device (including a first network device and a control and management device) in any of the above embodiments.

[0355] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0356] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A communication method, characterized in that: The method is performed by a first network device, and the method includes: receiving a first message; Forwarding the first message to the second network device according to the path specified by the segment routing SR policy, wherein: The destination endpoint specified by the SR policy is the second network device, and the identifier of the destination endpoint includes the first Internet Protocol IP address of the second network device and the second IP address of the second network device. The first IP address and the second IP address respectively correspond to messages of different services, so that the same path specified by the SR policy can carry messages of the different services.

2. The method according to claim 1, characterized in that The first IP address is an IPv6 address, and the second IP address is an IPv4 address.

3. The method according to claim 1 or 2, characterized in that The path is a segment routing (SRv6) path based on the sixth version of the Internet Protocol.

4. The method according to claim 1 or 2, characterized in that The path is a label switched path LSP that switches labels based on multi-protocol label switching (MPLS).

5. The method according to claim 4, characterized in that The destination IP address of the first message is an IPv4 address.

6. The method according to claim 4, characterized in that The destination IP address of the first message is an IPv6 address.

7. The method according to claim 1 or 2, characterized in that Before forwarding the first message to the second network device according to the path specified by the segment routing (SR) policy, the method further includes: The SR policy is created through static configuration.

8. The method according to any one of claims 1 to 2, characterized in that Before forwarding the first message to the second network device according to the path specified by the segment routing (SR) policy, the method further includes: The SR policy is created according to a protocol message from a control management device.

9. The method according to claim 8, characterized in that The protocol message is a Border Gateway Protocol BGP message.

10. The method according to claim 9, characterized in that The BGP message includes network layer reachability information NLRI, wherein the sub-address family identifier SAFI of the NLRI is SRPolicy, the NLRI includes the first IP address, and the extended type length value TLV field of the NLRI includes the second IP address.

11. The method according to claim 8, characterized in that The protocol message is a Path Computation Element Communication Protocol (PCEP) message.

12. The method according to claim 11, characterized in that The PCEP message includes a path calculation initiation PCInitiate message or a path calculation update PCUpd message.

13. The method according to claim 11 or 12, characterized in that The endpoint END-POINT object of the PCEP message includes the first IP address, and the extended type-length-value TLV field of the END-POINT object includes the second IP address.

14. The method according to claim 11 or 12, characterized in that The first object of the PCEP message includes the first IP address, and the second object of the PCEP message includes the second IP address.

15. A communication method, characterized in that: The method is executed by a control management device, and includes: Determine a segment routing (SR) policy, where the destination endpoint specified by the SR policy is a second network device, and the identifier of the destination endpoint includes a first Internet Protocol (IP) address of the second network device and a second IP address of the second network device, wherein the first IP address and the second IP address correspond to packets of different services, respectively, so that the same path specified by the SR policy can carry packets of the different services; The SR policy is sent to the first network device, so that the first network device forwards the packets of the different services to the second network device according to the path specified by the SR policy.

16. The method according to claim 15, characterized in that The path specified by the SR policy is a segment routing strategy SRv6 path based on the sixth version of the Internet Protocol.

17. The method according to claim 15, characterized in that The path specified by the SR policy is a label switched path LSP that switches labels based on multi-protocol label switching (MPLS).

18. The method according to any one of claims 15 to 17, characterized in that The first IP address is an IPv6 address, and the second IP address is an IPv4 address.

19. The method according to any one of claims 15 to 17, characterized in that The control and management device includes a network management device.

20. The method according to any one of claims 15 to 17, characterized in that The control management device includes a controller.

21. The method according to claim 20, characterized in that The sending the SR policy to the first network device includes: The controller sends the SR policy to the first network device through a protocol message.

22. The method according to claim 21, characterized in that , the protocol message is a Border Gateway Protocol BGP message.

23. The method according to claim 22, characterized in that The protocol message includes network layer reachability information NLRI, wherein the sub-address family of the NLRI is SAFI and SR Policy, the NLRI includes the first IP address, and the extended type length value TLV field of the NLRI includes the second IP address.

24. The method according to claim 21, characterized in that The protocol message is a Path Computation Element Communication Protocol (PCEP) message.

25. The method according to claim 24, characterized in that The PCEP message includes a path calculation initiation PCInitiate message or a path calculation update PCUpd message.

26. The method according to claim 24 or 25, characterized in that The endpoint END-POINT object of the PCEP message includes the first IP address, and the extended type-length-value TLV field of the END-POINT object includes the second IP address.

27. The method according to claim 24 or 25, characterized in that The first object of the PCEP message includes the first IP address, and the second object of the PCEP message includes the second IP address.

28. A first network device, characterized in that: comprising at least one processor coupled to a memory, The memory is used to store programs or instructions; The at least one processor is configured to execute the program or instruction to enable the first network device to implement the method according to any one of claims 1 to 14.

29. A control and management device, characterized in that: comprising at least one processor coupled to a memory, The memory is used to store instructions; The at least one processor is configured to execute the instructions so that the control and management device implements the method according to any one of claims 15 to 27.

30. A first network device, characterized in that: include: A transceiver unit, configured to perform the transceiver operation in the method according to any one of claims 1 to 14; A processing unit, configured to perform operations other than the sending and receiving operations in the method according to any one of claims 1 to 14.

31. A control and management device, characterized in that: include: A transceiver unit, configured to perform the transceiver operation in the method according to any one of claims 15 to 27; A processing unit, configured to perform operations other than the sending and receiving operations in the method described in any one of claims 15 to 27.

32. A communication system, characterized in that: The system includes the first network device according to claim 28 or 30 and the control management device according to claim 29 or 31.

33. A computer-readable storage medium, characterized in that The medium stores instructions, and when the instructions are executed by a computer, the method according to any one of claims 1 to 27 is implemented.

34. A computer program product, characterized in that The method comprises instructions which, when executed on a computer, cause the computer to perform the method according to any one of claims 1 to 27.

Citation Information

Patent Citations

  • Ethernet virtual private network using segment routing

    CN110832813A

  • Method and device for realizing different IP data packet repeating using strategic flow

    CN1612562A

  • Method and apparatus for providing a point-to-point connection over a network

    US20180048490A1