CN114915519A - Communication method and communication device - Google Patents

Communication method and communication device Download PDF

Info

Publication number
CN114915519A
CN114915519A CN202110176591.8A CN202110176591A CN114915519A CN 114915519 A CN114915519 A CN 114915519A CN 202110176591 A CN202110176591 A CN 202110176591A CN 114915519 A CN114915519 A CN 114915519A
Authority
CN
China
Prior art keywords
tunnel
information
data packet
message
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110176591.8A
Other languages
Chinese (zh)
Inventor
肖亚群
彭书萍
古锐
廖婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110176591.8A priority Critical patent/CN114915519A/en
Publication of CN114915519A publication Critical patent/CN114915519A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application provides a communication method and a communication device. The method comprises the following steps: the method comprises the steps that first equipment receives a first data message, wherein the first data message comprises first information, and the first information is used for indicating tunnel creation; the first device creates a first tunnel based on the first information, where the first tunnel is a tunnel between the first device and a second device, the second device is a device corresponding to a first destination address, and the first destination address is a destination address of the first data packet. The configuration management efficiency of the network can be improved.

Description

Communication method and communication device
Technical Field
The present application relates to the field of communications, and more particularly, to a communication method and a communication apparatus.
Background
In a point-to-multipoint or multipoint-to-multipoint scenario of a three-layer virtual private network (L3 VPN) and a two-layer virtual private network (L2 VPN) based on a virtual private LAN (LAN) service (VPLS) technology, in order to satisfy different Service Level Agreement (SLA) requirements for traffic, a tunnel satisfying different SLA requirements is created between an operator edge (PE) device and an access (access, ACC) device in an Internet Protocol (IP) wireless access network (RAN) when a Border Gateway Protocol (BGP) neighbor is established. However, because the number of ACC devices in the network is huge, when the PE device establishes a BGP neighbor with each ACC device, multiple tunnels satisfying different SLA requirements are created, which brings a great challenge to the configuration management of the network.
Disclosure of Invention
The application provides a communication method and a communication device, which can improve the configuration management efficiency of a network.
In a first aspect, a communication method is provided, which may be executed by a first device or a component (such as a chip or a circuit) configured with (or used for) the first device, and which is described as an example executed by the first device.
The method comprises the following steps: the method comprises the steps that first equipment receives a first data message, wherein the first data message comprises first information, and the first information is used for indicating tunnel creation; the first device creates a first tunnel based on the first information, where the first tunnel is a tunnel between the first device and a second device, the second device is a device corresponding to a first destination address, and the first destination address is a destination address of the first data packet.
According to the scheme, the tunnel can be created as required according to the service flow requirement. The waste of network resources caused by the condition that a tunnel is established in advance without flow bearing is avoided. And the configuration management efficiency of the network is improved.
Optionally, the first device is a PE device.
With reference to the first aspect, in certain implementations of the first aspect, the creating, by the first device, a first tunnel based on the first information includes: in response to receiving the first information, the first device sends a request message to a controller, wherein the request message is used for requesting the tunnel information of the first tunnel; the first device receiving a response message from the controller, the response message including the tunnel information; the first device creates the first tunnel according to the tunnel information.
According to the above-described aspect, the first device requests tunnel information from the controller in response to the received first information and creates a first tunnel according to the tunnel information from the controller. The controller provides the tunnel information, so that the resource occupation of the first equipment can be reduced, and the task burden of the first equipment is relieved.
With reference to the first aspect, in certain implementations of the first aspect, the request message includes identification information of the second device, the identification information including one or more of: virtual Private Network (VPN) information of the second device, a loop address of the second device, or a locator address of the second device.
According to the above scheme, the request message includes the identification information of the second device, so that the controller can determine the peer device of the tunnel, that is, the second device, according to the identification information.
With reference to the first aspect, in certain implementations of the first aspect, the creating, by the first device, a first tunnel based on the first information includes: in response to receiving the first information, the first device determines, according to the first destination address, that the peer device corresponding to the first data packet is the second device; the first device creates the first tunnel to the second device.
According to the scheme, the first device responds to the first information, the first device independently completes tunnel creation to the second device, information interaction in a network can be reduced, the occupancy rate of network communication resources is reduced, and time delay of tunnel creation caused by information interaction is avoided.
With reference to the first aspect, in certain implementations of the first aspect, the first information includes a tunnel creation identification.
With reference to the first aspect, in certain implementation manners of the first aspect, the first information further includes second information, the second information includes a tunnel quality requirement and/or first packet priority information, the tunnel quality requirement is used to indicate a quality requirement of the first tunnel, and the first packet priority information is used to indicate a priority of the first data packet.
According to the scheme, the first information further comprises corresponding requirement information of the tunnel required to be created, so that the first equipment can create the tunnel meeting the requirement.
With reference to the first aspect, in some implementation manners of the first aspect, the first data packet is a data packet corresponding to a target service, and before creating the first tunnel, the method further includes: the first device forwards the data message corresponding to the target service by adopting best effort BE service; or, the first device forwards the data packet corresponding to the target service in a shortest path manner.
According to the scheme, before the tunnel is established, the first equipment forwards the data message corresponding to the target service in a BE service or shortest path mode, so that the transmission delay of the target service flow can BE reduced.
With reference to the first aspect, in certain implementations of the first aspect, the first information is included in the first extension field of the first data packet, and/or the first type length value TLV of the first data packet includes the first information.
According to the scheme, an extension field can be newly added in the existing message format, and the extension field is used for indicating the creation of the tunnel. And/or, a new TLV may be defined for indicating the creation of the tunnel.
With reference to the first aspect, in certain implementations of the first aspect, the first data packet is a sixth version internet protocol IPv6 packet, a virtual extensible local area network VXLAN packet, or a multi-protocol label switching MPLS packet.
According to the above scheme, the first data message may be an IPv6 message, a VXLAN message, or an MPLS message, so that networks applying different technologies may all implement creation of tunnels as needed, thereby improving the configuration management efficiency of the network.
With reference to the first aspect, in some implementation manners of the first aspect, the first data packet is an IPv6 packet; the application identification field, SLA level field or parameter field of the first data packet includes the first information, or the option field of the hop-by-hop option header, the option field of the destination option header or the routing header of the first data packet includes the first information.
With reference to the first aspect, in some implementations of the first aspect, the first data message is a VXLAN message, and an identification field or a reserved field in the first data message includes the first information.
With reference to the first aspect, in some implementation manners of the first aspect, the first data packet is the MPLS packet, and a reserved field, a label field, or an extended header in the first data packet includes the first information.
With reference to the first aspect, in certain implementations of the first aspect, the method further includes: the first device does not transmit the service flow in a first time interval according to the first tunnel; the first tunnel is invalidated.
According to the scheme, when the first tunnel does not transmit the service flow in a period of time, the first tunnel is invalid, and unnecessary resource overhead is reduced.
With reference to the first aspect, in certain implementations of the first aspect, the method further includes: the first equipment receives a second data message, and the destination address of the second data message comprises the first destination address; the first device determines the device corresponding to the first destination address as a third device according to the second data message; the first device obtains a second tunnel, which is a tunnel between the first device and the third device.
According to the scheme, under the condition that the equipment corresponding to the first destination address is changed, the corresponding tunnel is updated in time, and the transmission reliability is improved.
With reference to the first aspect, in certain implementations of the first aspect, the communication method is applied in a segment routing SR network.
In a second aspect, a communication method is provided, which may be executed by a controller or a component (such as a chip or a circuit) configured (or used) in the controller, and which is described as an example executed by the controller.
The method comprises the following steps: the controller receives a request message from a first device, the request message requesting tunnel information of a first tunnel, the first tunnel being a tunnel between the first device and a second device; the controller determines tunnel information of the first tunnel; the controller transmits a response message to the first device, the response message including the tunnel information.
With reference to the second aspect, in some implementations of the second aspect, the request message includes identification information of the second device, the identification information including one or more of: virtual Private Network (VPN) information of the second device, a loop address of the second device, or a locator address of the second device.
With reference to the second aspect, in some implementations of the second aspect, the tunnel information includes a segment identification list indicating the first tunnel.
With reference to the second aspect, in certain implementations of the second aspect, the communication method is applied in a segment routed SR network.
In a third aspect, a communication apparatus is provided, which is a first device or a module (e.g. a chip) configured with (or used for) the first device.
The communication device includes: a receiving and sending unit, configured to receive a first data packet, where the first data packet includes first information, and the first information is used to indicate that a tunnel is created; and the processing unit is configured to create a first tunnel based on the first information, where the first tunnel is a tunnel between the first device and the second device, the second device is a device corresponding to the first destination address, and the first destination address is a destination address of the first data packet.
With reference to the third aspect, in some implementations of the third aspect, the transceiver unit is specifically configured to send, to the controller, a request message in response to receiving the first information, where the request message is used to request tunnel information of the first tunnel; the transceiver unit is further configured to receive a response message from the controller, where the response message includes the tunnel information; the processing unit is specifically configured to create the first tunnel according to the tunnel information.
With reference to the third aspect, in certain implementations of the third aspect, the request message includes identification information of the second device, the identification information including one or more of: virtual Private Network (VPN) information of the second device, a loop address of the second device, or a locator address of the second device.
With reference to the third aspect, in some implementation manners of the third aspect, the processing unit is specifically configured to determine, in response to receiving the first information, that the peer device corresponding to the first data packet is the second device according to the first destination address; the processing unit is specifically configured to create the first tunnel to the second device.
With reference to the third aspect, in certain implementations of the third aspect, the first information includes a tunnel creation identification.
With reference to the third aspect, in some implementations of the third aspect, the first information further includes second information, the second information includes a tunnel quality requirement and/or first packet priority information, the tunnel quality requirement is used to indicate a quality requirement of the first tunnel, and the first packet priority information is used to indicate a priority of the first data packet.
With reference to the third aspect, in some implementation manners of the third aspect, the first data packet is a data packet corresponding to a target service, and before the first tunnel is created, the transceiver unit is further configured to forward the data packet corresponding to the target service by using a best effort BE service; or, the transceiving unit is further configured to forward the data packet corresponding to the target service in a shortest path manner.
With reference to the third aspect, in some implementations of the third aspect, the first information is included in the first type length value TLV of the first datagram.
With reference to the third aspect, in some implementations of the third aspect, the first data packet is a sixth version internet protocol IPv6 packet, a virtual extensible local area network VXLAN packet, or a multi-protocol label switching MPLS packet.
With reference to the third aspect, in some implementation manners of the third aspect, the first data packet is an IPv6 packet; the application identification field, SLA level field or parameter field of the first data packet includes the first information, or the option field of the hop-by-hop option header, the option field of the destination option header or the routing header of the first data packet includes the first information.
With reference to the third aspect, in some implementations of the third aspect, the first data message is a VXLAN message, and an identification field or a reserved field in the first data message includes the first information.
With reference to the third aspect, in some implementation manners of the third aspect, the first data packet is the MPLS packet, and a reserved field, a label field, or an extension header in the first data packet includes the first information.
With reference to the third aspect, in some implementations of the third aspect, the processing unit is further configured to invalidate the first tunnel according to that the first tunnel does not transmit traffic in the first time interval.
With reference to the third aspect, in some implementations of the third aspect, the transceiver unit is further configured to receive a second data packet, where a destination address of the second data packet includes the first destination address; the processing unit is further configured to determine, according to the second data packet, that the device corresponding to the first destination address is a third device; the processing unit is further configured to obtain a second tunnel, where the second tunnel is a tunnel between the first device and the third device.
With reference to the third aspect, in certain implementations of the third aspect, the communication device is configured in a segment routed SR network.
In a fourth aspect, a communication apparatus is provided, which is a communication device or a module (e.g. a chip) configured on (or used for) the communication device.
The communication device includes: a transceiving unit, configured to receive a request message from a first device, where the request message is used to request tunnel information of a first tunnel, and the first tunnel is a tunnel between the first device and a second device; the processing unit is used for determining the tunnel information of the first tunnel; the transceiving unit is further configured to send a response message to the first device, where the response message includes the tunnel information.
With reference to the fourth aspect, in certain implementations of the fourth aspect, the request message includes identification information of the second device, the identification information including one or more of: virtual Private Network (VPN) information of the second device, a loop address of the second device, or a locator address of the second device.
With reference to the fourth aspect, in some implementations of the fourth aspect, the tunnel information includes a segment identification list indicating the first tunnel.
With reference to the fourth aspect, in certain implementations of the fourth aspect, the communication device is configured in a segment routed SR network.
In a fifth aspect, a communications apparatus is provided that includes a processor. The processor may implement the method of the first aspect as well as any one of the possible implementations of the first aspect. Optionally, the communication device further comprises a memory, and the processor is coupled to the memory and configured to execute the instructions in the memory to implement the method in any one of the possible implementations of the first aspect and the first aspect. Optionally, the communication device further comprises a communication interface, the processor being coupled to the communication interface. In this application, the communication interface may be a transceiver, pin, circuit, bus, module, or other type of communication interface, without limitation.
In one implementation, the communication interface may be a transceiver, or an input/output interface.
In another implementation, the communication device is a chip configured in the first device. When the communication device is a chip configured in the first device, the communication interface may be an input/output interface.
Alternatively, the transceiver may be a transmit-receive circuit. Alternatively, the input/output interface may be an input/output circuit.
In a sixth aspect, a communications apparatus is provided that includes a processor. The processor may implement the method of the second aspect described above and any one of the possible implementations of the second aspect. Optionally, the communication device further comprises a memory, and the processor is coupled to the memory and configured to execute the instructions in the memory to implement the method of any one of the possible implementations of the second aspect and the second aspect. Optionally, the communication device further comprises a communication interface, the processor being coupled to the communication interface. In this application, the communication interface may be a transceiver, pin, circuit, bus, module, or other type of communication interface, without limitation.
In one implementation, the communication interface may be a transceiver, or an input/output interface.
In another implementation, the communication device is a chip configured in the controller. When the communication device is a chip configured in the controller, the communication interface may be an input/output interface.
Alternatively, the transceiver may be a transmit-receive circuit. Alternatively, the input/output interface may be an input/output circuit.
In a seventh aspect, a processor is provided, including: input circuit, output circuit and processing circuit. The processing circuitry is configured to receive a signal via the input circuitry and to transmit a signal via the output circuitry, such that the processor performs the method of the first or second aspect and any possible implementation of the first or second aspect.
In a specific implementation process, the processor may be one or more chips, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a flip-flop, various logic circuits, and the like. The input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver, the signal output by the output circuit may be, for example, but not limited to, output to and transmitted by a transmitter, and the input circuit and the output circuit may be the same circuit that functions as the input circuit and the output circuit, respectively, at different times. The specific implementation of the processor and various circuits are not limited in this application.
In an eighth aspect, there is provided a computer program product comprising: a computer program (which may also be referred to as code, or instructions), which when executed, causes a computer to perform the method of any one of the possible implementations of the first or second aspect, as well as the first or second aspect, as described above.
In a ninth aspect, a computer-readable storage medium is provided, which stores a computer program (which may also be referred to as code or instructions) that, when executed on a computer, causes the computer to perform the method of any of the above first or second aspects and possible implementations of the first or second aspects.
In a tenth aspect, there is provided a communication system comprising the aforementioned first device and a controller.
Drawings
Fig. 1 is a schematic architecture diagram of a communication system suitable for use in the present application;
FIG. 2 is a schematic flow chart diagram of a communication method provided herein;
FIG. 3 is a schematic diagram of an IPv6 message format provided by the present application;
FIG. 4 is a schematic diagram of a hop-by-hop option header/destination option header format provided herein;
FIG. 5 is a schematic diagram of the format of a routing header provided herein;
figure 6 is a schematic diagram of the format of APN6 information provided herein;
fig. 7 is a schematic diagram of the format of the header of a VXLAN message provided by the present application;
fig. 8 is a schematic diagram of a format of an MPLS packet provided in the present application;
FIG. 9 is a schematic diagram of an extended format of a label stack provided herein;
FIG. 10 is a schematic flow chart diagram of one manner in which a first device creates a first tunnel provided herein;
FIG. 11 is a schematic block diagram of a communication device provided herein;
fig. 12 is a schematic block diagram of a communication device provided in the present application.
Detailed Description
In this application, "/" may indicate a relationship where the contextually relevant object is an "or," e.g., a/B may indicate a or B; "and/or" may be used to describe that there are three relationships associated with an object, e.g., a and/or B, which may represent: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. For convenience of describing the technical solution of the present application, in the present application, words such as "first", "second", etc. may be used for distinguishing. The terms "first", "second", and the like do not necessarily limit the number and execution order, and the terms "first", "second", and the like do not necessarily differ. In this application, the words "exemplary" or "for example" are used to mean examples, illustrations or descriptions and any embodiment or design described as "exemplary" or "for example" is not to be construed as preferred or advantageous over other embodiments or designs. The use of the terms "exemplary" or "such as" are intended to present relevant concepts in a concrete fashion for ease of understanding. In this application, at least one may also be described as one or more, and a plurality may be two, three, four or more, without limitation.
The technical solution in the present application will be described below with reference to the accompanying drawings.
Fig. 1 is a schematic architecture diagram of a communication system 100 suitable for use in the present application.
As shown in fig. 1, the communication system 100 includes an IP RAN wireless backhaul network, an IP core network, and a core Data Center (DC). The service traffic is transferred between the IP core network and the core DC through PE devices (e.g., PE1 and PE2 shown in fig. 1), where PE1 and PE2 may be backup devices for each other. The base station is connected with ACC equipment in the IP RAN, the uplink flow of the base station can enter the IP RAN through the forwarding of the ACC equipment, and enters the core DC through PE equipment after passing through the IP core network, and the downlink flow from the core DC can enter the IP core network through the forwarding of the PE equipment, then passes through the IP RAN and is forwarded to the base station through the ACC equipment. The communication system 100 can also include a controller that can collect link information to identify network configurations, generate network topologies, and provide centralized control of the network. It should be understood that fig. 1 is only a schematic architecture diagram of one type of communication system suitable for use in the present application, but the present application is not limited thereto.
At present, in order to meet different SLA requirements of traffic, a plurality of tunnels meeting different SLA requirements are created when a PE device and each ACC device establish a BGP neighbor, which brings a great challenge to configuration management of a network due to the huge number of ACC devices in the network. The application provides a communication method, wherein a first device receives a data message carrying service traffic, and creates a tunnel between the first device and a second device according to first information used for indicating the creation of the tunnel in the data message, wherein the second device is a device corresponding to a destination address of the data message. According to the scheme, the tunnel can be created as required according to the service flow demand. The waste of network resources caused by the fact that a tunnel is established in advance without flow bearing is avoided. The configuration management efficiency of the network is improved. The application can be applied to other network scenarios besides the above network scenario.
The communication method provided by the present application is described in detail below with reference to the accompanying drawings.
Fig. 2 is a schematic flow chart of a communication method provided in the present application.
S210, a first device receives a first data packet, where the first data packet includes first information, and the first information is used to indicate that a tunnel is created.
The first data packet is a data packet corresponding to a target service, that is, the first data packet is a service traffic of the target service.
Optionally, the first information includes a tunnel creation identification. In one example, the create flag may be a value, such as 12345 or AAAA, and in another example, the tunnel create flag is a flag bit of the first data packet. The identification bit comprises at least one bit indicating a first preset value for indicating the creation of a tunnel.
And after receiving the first data message, the first device determines that the identification bit indicates to establish the tunnel according to the first preset value indicated by the identification bit.
In another embodiment, a first Type Length Value (TLV) of the first data packet includes the first information.
The first TLV includes a type (type) field for indicating a type of the first TLV, a length (length) field for indicating a length of the value field, and a value (value) field.
For example, the type field of the first TLV indicates a second preset value for indicating that the type of the TLV is a create tunnel TLV, which indicates that a tunnel is created. After receiving the first data packet, the first device determines that a TLV is a first TLV according to that a type field of the TLV in the first data packet indicates a second preset value, and the first TLV indicates that a tunnel is created. But the application is not limited thereto.
For another example, the value field of the first TLV indicates a third preset value for indicating that a tunnel is created. After receiving the first data packet, the first device determines that a tunnel is created according to a third preset value indicated by a value field in a TLV in the first data packet. But the application is not limited thereto.
Optionally, the first information further includes second information, the second information includes a tunnel quality requirement and/or first packet priority information, where the first packet priority information is used to indicate a priority of the first data packet.
By way of example and not limitation, tunnel quality requirements include one or more of:
service-level agreement (SLA) information, delay requirement information, or bandwidth requirement information.
After receiving the first data packet, the first device may determine, according to the tunnel quality requirement in the second information, that a tunnel meeting the tunnel quality requirement needs to be created. Or the first device determines to create a tunnel meeting the message priority according to the first message priority information in the second information.
In one example, a type field in a first TLV of the first data packet indicates that a tunnel is created, and a value field includes tunnel quality requirements and/or first packet priority information. The first device may determine that a tunnel needs to be created according to the type field, and determine a requirement of the tunnel that needs to be created according to the value field, so that the first device creates a tunnel that meets the requirement. But the application is not limited thereto.
In another example, an identification bit in the first data packet indicates that a tunnel is created, for example, the first identification bit indicates a first preset value. And the header of the first data packet includes first packet priority information. The first device may determine that a tunnel needs to be created according to the identification bit, and determine that the created tunnel needs to meet the packet priority requirement indicated by the first packet priority information according to the first packet priority information, that is, the created tunnel can transmit the packet with the packet priority. But the application is not limited thereto.
In another example, one TLV in the first data packet is used to indicate to create a tunnel, for example, a type field or a value field in the TLV indicates to create a tunnel, and another TLV is used to indicate a tunnel quality requirement, for example, the TLV may be a type field used to indicate that the TLV is a type of tunnel quality requirement, and the value field specifically carries one or more of SLA requirements, latency requirements, or bandwidth requirements. But the application is not limited thereto.
Alternatively, the communication method may be applied to a Segment Routing (SR) network.
Optionally, the first extension field of the first data packet includes first information.
For example, a first extension field is added to the data packet, where the first extension field may be an extension field for indicating creation of a tunnel, and optionally the first extension field further includes the second information. But the application is not limited thereto.
Optionally, the first data packet is an internet protocol version 6 (IPv 6) packet, a virtual extensible local area network (VXLAN) packet, or a multi-protocol label switching (MPLS) packet.
In an example, the first data packet is an IPv6 packet, and a format of the IPv6 packet is as shown in fig. 3, where a hop-by-hop option header, a destination option header, or a routing header in the first data packet includes first information.
For example, the specific format of the hop-by-hop option header and the destination option header may include a next header segment (next header), a header extension length (Hdr Ext Len) field, and an options field, as shown in fig. 4. In particular, it may be that an options field in a hop-by-hop options header or an options field in a destination options header includes the first information. For example, an option is defined in TLV in an option field in the hop-by-hop option header or the destination option header, wherein a type field indicates that the option is an option to create a tunnel type. Optionally, the value field in the TLV may include the second information. Or, defining an option in a TLV manner in the option field, wherein when the value field in the option indicates the third preset value, it indicates that the option indicates that the tunnel is created. Still alternatively, two options may be included in the option field, wherein one option is used to indicate the creation of the tunnel and the other option is used to indicate the second information, i.e. the tunnel quality requirement and/or the first priority information. But the application is not limited thereto.
The IPv6 message further includes fields such as a version field, a traffic class field, and a flow label field shown in fig. 3, and the functions of the fields may refer to the description in the IPv6 standard protocol RFC 2460.
For another example, as shown in fig. 5, the routing header of the IPv6 message includes the first information in the routing header of the first data message. Specifically, a routing type for creating a tunnel may be defined, and a routing type field in the routing header indicates that a tunnel is created when a preset value is indicated. Optionally, the second information, i.e. the tunnel quality requirement and/or the first priority information, may be included in a type-specific data field in the routing header. But the application is not limited thereto.
For another example, the first data packet is an IPv6 packet, where the first data packet includes application-aware IPv6 network (APN 6) information, for example, a format of the APN6 information is as shown in fig. 6, and includes an SLA level field, an Application (APP) Identifier (ID) field, a user identifier (user ID) field, and a flow identifier (flow ID) field, and optionally, the APN6 information may also include a parameter (identifiers) field. It may be specified that the APP ID field or SLA level field in the APN6 indicates a preset value, indicating that a tunnel is created. Optionally, the parameter field may include the second information. But the application is not limited thereto.
In another example, the first data message is a VXLAN message, and the identifier (flag) field and/or the reserved field in the first data message includes the first information.
As shown in fig. 7, the header format of the VXLAN message includes 64 bits (i.e., 8 bytes), and the flag field of the first byte of the header includes reserved bits of the first 4 bits and the last 3 bits (one reserved bit is denoted by R in fig. 7).
For example, it can be defined that when at least one bit in the flag field indicates a preset value, it indicates that a tunnel is created. The first bit "1" of the flag field indicates that a tunnel is created. But the application is not limited thereto.
Alternatively, the first bit may be named create tunnel field.
As another example, the flag field includes N bits that indicate the creation of the tunnel and the need for the tunnel. For example, if N is 3, the first bit of the first 3 bits in the flag field is used to create a tunnel, the second bit is used to indicate that the created tunnel has a delay requirement, and the third bit is used to indicate that the created tunnel has a bandwidth requirement. Or, when the N bits indicate the preset value a, it indicates that no tunnel is created, and for example, when the first 4 bits of the flag field are all 0, it indicates that no tunnel is created. When the 4 bits indicate a value other than all 0, tunnel creation is indicated, and each value corresponds to a delay requirement and a bandwidth requirement, for example, when the 4 bits indicate 0001, delay requirement 1 and bandwidth requirement 1 are indicated; the 4 bit indication 0010 represents delay requirement 2 and bandwidth requirement 1; the 4-bit indication 0011 indicates a delay requirement 2, a bandwidth requirement 2, and the like, but the present application is not limited thereto.
The fifth bit of the first byte of the header is an instance bit (denoted as I in fig. 7), which is used to indicate that the VXLAN Network Identifier (VNI) field indicates a valid VNI value. Bytes 5 to 7 of the message header are vxln network identification fields used for distinguishing VXLAN described in the message. The remaining bits of the header (i.e., bits in bytes 2 through 4 and 8) are reserved bits.
For example, it may be defined that the 2 nd to 4 th bytes and the 8 th byte in the header include the first information. The first information may be indicated in the form of the above-mentioned TLV, or the N bits may be predefined for indicating the first information. The present application is not limited thereto.
For another example, at least one bit in the flag field may indicate that a tunnel is created, and N bits in bytes 2 to 4 and 8 are used to indicate tunnel quality requirements and/or first packet priority information. But the application is not limited thereto.
In another example, the first data packet is an MPLS packet, and the reserved value, the label field, or the extension header in the first data packet includes the first information.
The format of the MPLS packet is shown in fig. 8 and includes an L2 header, an MPLS label stack, an L3 header, and an L3 payload, where the label stack includes one or more labels. One label includes 32 bits including a label value field of 20 bits, an extension field of 3 bits, an identification field at the bottom of the stack of 1 bit (denoted by S in fig. 8), and a Time To Live (TTL) field for preventing a routing loop.
In the value range of 20 bits of the tag field, 0 to 15 are special values, or are called special tags, and one of 0 to 15 may be specified to indicate that a tunnel is created. For example, a provisioning tag field 20 bits indicates 15, indicating that a tunnel is created. But the application is not limited thereto.
The label stack may also indicate the extension of the label stack by an Extended Header (EH) indicator (indicator), which may be in the format shown in fig. 9. The first information may be indicated by an extension of the label stack, for example, an extension header with an EH identifier of 100 (e.g., EH N is EH 100 in fig. 9, i.e., N is 100) may be used to indicate that a tunnel is created. For another example, the EH id may be used to indicate that a tunnel is created and indicate a type of demand, and carry a specific value of the demand after the extended representation, such as specifying that EH 100 indicates that a tunnel needs to be created and the tunnel has a latency demand, and carries a specific value of the latency demand after the EH 100, EH101 indicates that a tunnel needs to be created and the tunnel has a demand for bandwidth, and carries a specific value of the bandwidth demand after the EH 101. But the application is not limited thereto.
Alternatively, the creation of the tunnel may be indicated by the above-mentioned special label, and the second information, i.e. the tunnel quality requirement and/or the first priority information, is included in the extension of the label stack. But the application is not limited thereto.
S220, the first device creates a first tunnel based on the first information, where the first tunnel is a tunnel between the first device and a second device, the second device is a device corresponding to a first destination address, and the first destination address is a destination address of the first data packet.
By way of example and not limitation, the first device is a PE device.
After receiving the first data packet, the first device may determine the second device according to the first destination address, that is, the first device may determine that the peer device to which the target service traffic corresponding to the first data packet needs to be forwarded is the second device.
For example, the first device determines, according to the interface of the received first data packet, a VPN instance to which the interface is bound, searches a VPN routing table in the VPN instance according to the first destination address, and determines that an opposite device corresponding to the first destination address in the VPN routing table is the second device. For example, the first destination address is a private network address, the VPN routing table includes a mapping relationship between the private network address and a public network address, the first device checks the VPN routing table according to the first destination address to determine the public network address corresponding to the first destination address, and the public network address is an address of the second device. But the application is not limited thereto. By way of example and not limitation, the public network address of the second device may be a loop address (loopback address) or a VPN Segment Identifier (SID).
In an example, the first device may be PE1 in the system shown in fig. 1, where the PE1 receives a first data packet from the core DC through the first interface, where the first data packet includes a private network address of IP2 (that is, IP2 is a first destination address), and the PE1 checks the VPN routing table based on IP2 in the VPN instance corresponding to the first interface, and determines that a public network address corresponding to IP2 is a loopback address of the ACC1, that is, the second device is ACC 1. If the first data packet includes the first information, the PE1 may determine that the tunnel created to the ACC1 is used to carry the service traffic of the target service corresponding to the first data packet. But the application is not limited thereto.
The first device creates the first tunnel based on the first information, which includes but is not limited to the following first embodiment and second embodiment.
Implementation mode one
Fig. 10 is a schematic flowchart of a manner in which a first device creates a first tunnel according to the present application.
S1010, in response to receiving the first information, the first device sends a request message to the controller, where the request message is used to request tunnel information of the first tunnel.
S1020, the controller determines tunnel information of the first tunnel.
Accordingly, the controller receives a request message from the first device. The first device and the controller may communicate based on a BGP-link state (BGP-LS) protocol or a path computing element communication protocol (PCEP). But the application is not limited thereto.
Optionally, the request message includes VPN information, a loopback address, or a locator (locator) address of the second device.
For example, after receiving the first data packet, the first device determines, according to the first information, that a tunnel (i.e., a first tunnel) between the first device and the second device needs to be established, so as to be used for transmitting a service traffic of a target service corresponding to the first data packet. The first device sends a request message to the controller to request tunnel information of the first tunnel from the controller. Specifically, the first device may request the controller to calculate a path, i.e., calculate a reachable path between the first device and the second device, through the request message in S1010. After receiving the request message, the controller may calculate an reachable path of the first tunnel according to the topology information in S1020. But the application is not limited thereto.
Optionally, the request message includes a tunnel quality requirement and/or first packet priority information.
For example, the first data packet includes a tunnel quality requirement (for example, the tunnel quality requirement may include an SLA level, a latency requirement, or a bandwidth requirement, etc.), the first device determines that there is no tunnel between the first device and the second device that satisfies the tunnel quality requirement, and the first device sends a request message to the controller, where the request message includes the tunnel quality requirement, and specifically, the request message is used to request the first tunnel that satisfies the tunnel quality requirement. And after receiving the request message, the controller calculates an reachable path of the first tunnel meeting the tunnel quality requirement. But the application is not limited thereto.
For another example, the first device may obtain first packet priority information at a packet header of the first data packet, where the first packet priority information is used to indicate a priority of the first data packet, that is, a packet priority of a service flow of a target service corresponding to the first data packet. The first device sends a request message to the controller, wherein the request message comprises the first message priority information, and after receiving the request message, the controller calculates an reachable path of the first tunnel, and the reachable path can transmit the message with the message priority. But the application is not limited thereto.
Alternatively, the controller may determine the tunnel information according to a pre-configured policy template.
For example, the policy template may include correspondence between VPN information and destination addresses and tunnel information, and the controller may determine corresponding tunnel information based on the policy template according to the VPN information and the destination addresses. Or, the policy template may include a correspondence between the SLA level, the VPN information, and the destination address and the tunnel information, and the controller may determine the corresponding tunnel information according to the SLA level, the VPN information, and the destination address in the request message. Or, the policy template may include a correspondence between a plurality of priority information and a plurality of tunnel information, where the tunnel information of the first tunnel is a tunnel in the preset policy corresponding to the first priority information. But the application is not limited thereto.
S1030, the controller sends a response message to the first device, where the response message includes tunnel information of the first tunnel.
Accordingly, the first device receives a response message from the controller.
And after the controller calculates the path of the first tunnel, the controller sends the path calculation result to the first equipment in a response message. The tunnel information may include one or more of path information of the first tunnel, priority level information of the first tunnel, or destination information of the first tunnel.
The path information of the first tunnel may include a SID list, where the SID list is used to indicate the first tunnel and includes at least one SID. Alternatively, the path information of the first tunnel may include a label stack, where the label stack includes at least one label, and one SID or one label corresponds to a segment of a forwarding path of the first tunnel. The tunnel destination information may include a loopback address of the second device. But the application is not limited thereto.
S1040, the first device creates a first tunnel according to the tunnel information.
And after the first device acquires the tunnel information of the first tunnel through the response message, the first device creates the first tunnel according to the tunnel information. For example, the tunnel information includes a label stack, based on which the first device determines a path of the first tunnel. When the data message corresponding to the target service from the core DC is transmitted to the first device, the first device performs encapsulation corresponding to the first tunnel on the data message, and the encapsulated data message carries path information of the first tunnel, so that the data message corresponding to the target service can be transmitted to the second device through the first tunnel. But the application is not limited thereto.
Second embodiment
The first equipment responds to the received first information, and the first equipment determines that the opposite end equipment corresponding to the first data message is second equipment according to the first destination address; the first device creates a first tunnel to the second device.
The first device may calculate a reachable path of the first tunnel to the second device according to the topology information and create a tunnel according to the reachable path.
Optionally, the first information further includes a tunnel quality requirement and/or first packet priority information. The first device creates a first tunnel that satisfies the demand based on the first information.
And after the first device establishes the first tunnel based on the first information, transmitting the data message of the target service to the second device through the first tunnel.
According to the above scheme, the first device may create a tunnel for carrying traffic of the target service according to the first information in the data packet after the data packet of the target service arrives. Optionally, the data packet may also carry requirement information of a tunnel that needs to be created, and the first device may create a tunnel that meets the requirement according to the requirement information. The tunnel can be created according to real-time traffic. The waste of network resources caused by the fact that a tunnel is established in advance without flow bearing is avoided.
Optionally, before the first tunnel is established, the first device forwards the data packet corresponding to the target service by using a Best Effort (BE) service, or the first device forwards the data packet corresponding to the target service by using a shortest path (the shortest path may also BE referred to as an optimal path or a minimum hop count path).
For example, the first device forwards the BE service to the first datagram. And the first device also forwards other data messages corresponding to the target service before the first tunnel is established. But the application is not limited thereto.
Optionally, after the first tunnel is established, the first device invalidates the first tunnel according to that the first tunnel does not transmit the traffic flow within the first time interval.
Wherein the first device invalidating the first tunnel may be deleting the first tunnel or marking the first tunnel as invalid. According to the scheme, the first tunnel is invalid under the condition that the first tunnel does not transmit the service flow within a period of time, so that the resource overhead can be reduced.
Optionally, after the first tunnel is established, the first device receives a second data packet, where a destination address of the second data packet includes a first destination address, and the first device determines, according to the second data packet, that the device corresponding to the first destination address is changed into a third device. The first device obtains a second tunnel, which is a tunnel between the first device and the third device.
The first device may determine that the device corresponding to the first destination address is changed from the second device to the third device according to the received route advertisement from the other device or according to the learned route of the data packet. For example, the public network address corresponding to the first destination address is changed to the loopback address of the third device. The first device updates a VPN routing table in the VPN instance. In the VPN routing table, the public network address corresponding to the first destination address is changed to a loopback address of the third device. The first device receives a second data message, wherein a destination address in the second data message comprises a first destination address, the second data message is a data message corresponding to the target service, the first device determines that the device corresponding to the first destination address is a third device according to the first destination address by looking up the VPN routing table, and the first device obtains a second tunnel. But the application is not limited thereto.
That is, when the traffic of the target service continuously reaches the first device, the first device updates the tunnel for transmitting the data packet of the target service in time.
In one example, for example, the first device is PE1 shown in fig. 1, the second device is ACC1, and PE1 receives a first data packet from the core DC (the first data packet is a data packet of a target service, and the first data packet includes first information and IP2 (i.e., IP2 is a first destination address)). The PE1 creates a first tunnel between the PE1 and the ACC1 based on the first information, and forwards the data packet of the target service through the first tunnel. And the PE1 determines that the public network address corresponding to the IP2 is changed to the address of the ACC1000 according to the received route advertisement from other devices or the learned route according to the data packet from the ACC1000, and then the PE1 modifies the routing table, and in the modified routing table, the public network address corresponding to the IP2 is the address of the ACC 1000. PE1 then receives a second datagram corresponding to the target service from core DC, where the destination address in the second datagram includes IP 2. The PE1 checks a routing table according to IP2 to determine that the device corresponding to the IP2 is the ACC1000, and the first device obtains the second tunnel. But the application is not limited thereto.
In one embodiment, the first device obtaining the second tunnel may be the first device modifying tunnel information of the first tunnel.
In one example, the first device may send a message to the controller requesting modification of the tunnel to request the controller to modify the first tunnel. The message for requesting modification of the tunnel may include identification information (e.g., VPN information, a loopback address, a locator address, or the like) of the third device, and the controller may modify the first tunnel according to the message of the first device and transmit tunnel modification information to the first device. The tunnel modification information may include path information of the first device to the second device. And the first equipment modifies the first tunnel according to the tunnel modification information, and the modified first tunnel is the second tunnel. But the application is not limited thereto.
In another example, the first device may calculate a path from the first device to the third device according to the information of the third device and the topology information, modify the path of the first tunnel to the path from the first device to the third device, and modify a destination address of the first tunnel to an address of the third device. But the application is not limited thereto.
In another embodiment, the first device obtaining the second tunnel may be the first device creating the second tunnel.
For the way in which the first device creates the second tunnel, reference may be made to the way in which the first device creates the first tunnel, and details are not described herein for brevity.
According to the scheme, under the condition that the public network address mapped by the private network destination address included in the target service data message is migrated, the tunnel information is updated in time or a corresponding tunnel is established, so that the flow of the target service is ensured to be transmitted to the target equipment in time and accurately.
In the above, an embodiment of a communication method provided in the present application is described in detail with reference to fig. 2 to fig. 10. Embodiments of the apparatus provided herein are described in detail below. As shown in fig. 11, the communications apparatus 1100 can include a processing unit 1110 and a transceiver unit 1120.
Fig. 11 is a schematic configuration diagram of a communication device provided in the present application.
In one possible design, the communication apparatus 1100 may correspond to the first device in the above method, or the communication apparatus 1100 may be a chip configured (or used) in the first device, or other apparatuses, modules, circuits, units, or the like capable of implementing the method of the first device.
When the communication apparatus 1100 is a first device or a module (e.g., a chip) configured on (or used for) the first device, the transceiver is configured to receive a first data packet, where the first data packet includes first information, and the first information is used to indicate that a tunnel is created; the processing unit is configured to create a first tunnel based on the first information, where the first tunnel is a tunnel between a first device and a second device, the second device is a device corresponding to a first destination address, and the first destination address is a destination address of the first data packet.
In some implementations, the transceiver unit is specifically configured to send, in response to receiving the first information, a request message to a controller, where the request message is used to request tunnel information of the first tunnel; the transceiver unit is further configured to receive a response message from the controller, where the response message includes the tunnel information; the processing unit is specifically configured to create the first tunnel according to the tunnel information.
In some implementations, the processing unit is specifically configured to determine, in response to receiving the first information, that the peer device corresponding to the first data packet is the second device according to the first destination address; the processing unit is specifically configured to create the first tunnel to the second device.
In some implementations, the processing unit is further configured to deactivate the first tunnel based on the first tunnel not transmitting traffic for the first time interval.
In some implementations, the transceiver unit is further configured to receive a second data packet, where a destination address of the second data packet includes the first destination address; the processing unit is further configured to determine, according to the second data packet, that the device corresponding to the first destination address is a third device; the processing unit is further configured to obtain a second tunnel, where the second tunnel is a tunnel between the first device and the third device.
It should also be understood that the specific processes for the units to perform the corresponding steps and the related definitions are the same as or similar to those of the above methods, and reference may be made to the description of the above methods for brevity, which is not repeated herein.
In another possible design, the communication device 1100 may correspond to a controller in the above method, or a chip configured in (or used in) the controller, or other devices, modules, circuits, or units capable of implementing the method of the controller.
When the communication apparatus 1100 is a controller or a module (e.g., a chip) configured (or used) in the controller, the transceiving unit is configured to receive a request message from a first device, where the request message is used to request tunnel information of a first tunnel, and the first tunnel is a tunnel between the first device and a second device; the processing unit is used for determining tunnel information of the first tunnel; the transceiving unit is further configured to send a response message to the first device, where the response message includes the tunnel information.
It should also be understood that the specific processes and related definitions for the units to perform the corresponding steps described above may refer to the descriptions in the above methods, and for brevity, the detailed description is omitted here.
Optionally, the communication device 1100 may further include a storage unit 1130, where the storage unit 1130 may be used to store instructions or data, and the processing unit 1110 may execute the instructions or data stored in the storage unit to enable the communication device to implement corresponding operations.
It should be understood that the transceiver unit 1120 in the communication apparatus 1100 may be implemented by a communication interface (such as a transceiver or an input/output interface), for example, may correspond to the communication interface 1210 in the communication device 1200 shown in fig. 12. The processing unit 1110 in the communication apparatus 1100 may be implemented by at least one processor, for example, may correspond to the processor 1220 in the terminal device 1200 shown in fig. 12. The processing unit 1110 in the communication device 1100 may also be implemented by at least one logic circuit. The storage unit 1130 in the communication apparatus 1100 may correspond to a memory in the communication apparatus 1100 shown in fig. 12.
Fig. 12 is a schematic block diagram of a communication device 1200 provided in the present application.
In one possible design, the communication device 1200 may correspond to a first device in the foregoing method, and the communication device 1200 may correspond to a PE device (e.g., PE1 or PE2) in the system shown in fig. 1, where the operations and/or functions of the respective modules in the communication device 1200 are respectively for implementing the corresponding flows of the first device in the foregoing method. Reference may be made specifically to the description of the above method, and a detailed description is appropriately omitted herein to avoid redundancy.
In another possible design, the communication device 1200 may correspond to a controller in the foregoing method, the communication device 1200 may correspond to a controller in the system shown in fig. 1, and the operations and/or functions of the respective modules in the communication device 1200 are respectively for implementing the corresponding flows of the controller in the foregoing method. Reference may be made specifically to the description in the above method, and a detailed description is appropriately omitted herein to avoid redundancy.
As shown in fig. 12, the communication device 1200 includes a processor 1220 and a communication interface 1210. Optionally, the communication device 1200 further comprises a memory. The processor 1220, the communication interface 1210, and the memory 1230 may communicate with each other via internal communication paths to transfer control and/or data signals. The memory 1230 is used for storing computer programs, and the processor 1220 is used for executing the computer programs in the memory to control the communication interface 1210 to transmit and receive signals.
The processor 1220 and the memory may be combined into a processing device, and the processor 1220 is configured to execute the program codes stored in the memory to implement the functions described above. In particular implementations, the memory may also be integrated with the processor 1220, or may be separate from the processor 1220. The processor 1220 may correspond to the processing unit in fig. 11.
The communication interface 1210 may correspond to a transceiving unit in fig. 11. The communication interface 1210 may include a receiver (or receiver, receiving circuit) and a transmitter (or transmitter, transmitting circuit). Wherein the receiver is used for receiving signals, and the transmitter is used for transmitting signals.
The application also provides a processing apparatus comprising a processor and a (communication) interface; the processor is configured to perform any of the methods described above.
It is to be understood that the processing means described above may be one or more chips. For example, the processing device may be a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), a system on chip (SoC), a Central Processing Unit (CPU), a Network Processor (NP), a digital signal processing circuit (DSP), a Microcontroller (MCU), a Programmable Logic Device (PLD), or other integrated chips.
The present application further provides a computer program product comprising: computer program code which, when executed by one or more processors, causes an apparatus comprising the processor to perform the methods illustrated in fig. 2, 10.
The solutions provided in the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the procedures or functions described in accordance with the present application are generated, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, a network appliance. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium. The computer readable storage medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., Digital Video Disk (DVD)), or a semiconductor medium, among others.
The present application also provides a computer-readable storage medium having stored program code which, when executed by one or more processors, causes an apparatus comprising the processors to perform the methods illustrated in fig. 2, 10.
The present application also provides a system comprising one or more of the aforementioned first devices. The system may further include the aforementioned controller.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (20)

1. A method of communication, comprising:
a first device receives a first data message, wherein the first data message comprises first information, and the first information is used for indicating the establishment of a tunnel;
the first device creates a first tunnel based on the first information, the first tunnel is a tunnel between the first device and a second device, the second device is a device corresponding to a first destination address, and the first destination address is a destination address of the first data packet.
2. The method of claim 1,
the first device creating a first tunnel based on the first information, including:
in response to receiving the first information, the first device sends a request message to a controller, wherein the request message is used for requesting tunnel information of the first tunnel;
the first device receiving a response message from the controller, the response message including the tunnel information;
and the first equipment creates the first tunnel according to the tunnel information.
3. The method of claim 2, wherein the request message comprises identification information of the second device, and wherein the identification information comprises one or more of:
virtual Private Network (VPN) information of the second device, a loop address of the second device, or a locator address of the second device.
4. The method of claim 1, wherein the first device creates a first tunnel based on the first information, comprising:
in response to receiving the first information, the first device determines, according to the first destination address, that the peer device corresponding to the first data packet is the second device;
the first device creates the first tunnel to the second device.
5. The method according to any of claims 1 to 4, wherein the first information comprises a tunnel creation identification.
6. The method according to any of claims 1 to 5, wherein the first information further comprises second information, the second information comprising a tunnel quality requirement indicating a quality requirement of the first tunnel and/or first packet priority information indicating a priority of the first data packet.
7. The method according to any one of claims 1 to 6, wherein the first data packet is a data packet corresponding to a target service, and before creating the first tunnel, the method further comprises:
the first equipment adopts best effort BE service to forward a data message corresponding to the target service; or, the first device forwards the data packet corresponding to the target service in a shortest path manner.
8. The method according to any of claims 1-7, wherein the first information is included in a first extension field of the first datagram, and/or wherein the first information is included in a first type length value TLV of the first datagram.
9. The method according to any of claims 1 to 8, wherein the first data message is a sixth version of the internet protocol IPv6 message, a virtual extensible local area network VXLAN message, or a multi-protocol label switching MPLS message.
10. The method of claim 9, wherein the first data packet is an IPv6 packet;
the first information is included in an application identification field, an SLA level field, or a parameter field of the first data packet, or,
the option field of the hop-by-hop option header of the first data packet, the option field of the destination option header, or the routing header includes the first information.
11. The method of claim 9, wherein the first data message is a VXLAN message, and wherein an identification field or a reserved field in the first data message comprises the first information.
12. The method of claim 9, wherein the first data packet is the MPLS packet, and wherein the first information is included in a reserved field, a label field, or an extension header in the first data packet.
13. The method according to any one of claims 1 to 12, further comprising:
the first device does not transmit traffic for a first time interval according to the first tunnel,
invalidating the first tunnel.
14. The method according to any one of claims 1 to 13, further comprising:
the first equipment receives a second data message, and the destination address of the second data message comprises the first destination address;
the first device determines the device corresponding to the first destination address as a third device according to the second data message;
the first device obtains a second tunnel, which is a tunnel between the first device and the third device.
15. The method according to any of claims 1 to 14, wherein the communication method is applied in a segment routed SR network.
16. A method of communication, comprising:
receiving a request message from a first device, the request message being used for requesting tunnel information of a first tunnel, the first tunnel being a tunnel between the first device and a second device;
determining tunnel information of the first tunnel;
sending a response message to the first device, the response message including the tunnel information.
17. The method of claim 16, wherein the request message comprises identification information of the second device, and wherein the identification information comprises one or more of:
virtual Private Network (VPN) information of the second device, a loop address of the second device, or a locator address of the second device.
18. The method of claim 16 or 17, wherein the tunnel information comprises a segment identification list, and wherein the segment identification list is used to indicate the first tunnel.
19. Method according to any of claims 16 to 18, wherein said communication method is applied to
Segment routing SR networks.
20. A communications apparatus comprising at least one processor coupled to a memory;
the memory is used for storing programs or instructions;
the at least one processor is configured to execute the programs or instructions to cause the apparatus to implement the method of any of claims 1-19.
CN202110176591.8A 2021-02-07 2021-02-07 Communication method and communication device Pending CN114915519A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110176591.8A CN114915519A (en) 2021-02-07 2021-02-07 Communication method and communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110176591.8A CN114915519A (en) 2021-02-07 2021-02-07 Communication method and communication device

Publications (1)

Publication Number Publication Date
CN114915519A true CN114915519A (en) 2022-08-16

Family

ID=82761709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110176591.8A Pending CN114915519A (en) 2021-02-07 2021-02-07 Communication method and communication device

Country Status (1)

Country Link
CN (1) CN114915519A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024113867A1 (en) * 2022-11-30 2024-06-06 华为技术有限公司 Communication method and apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024113867A1 (en) * 2022-11-30 2024-06-06 华为技术有限公司 Communication method and apparatus

Similar Documents

Publication Publication Date Title
JP7079866B2 (en) Packet processing method and device
CN113411243B (en) Data transmission method and device
EP3228123B1 (en) Efficient hybrid resource and schedule management in time slotted channel hopping networks
WO2021196717A1 (en) Multicast traffic transmission method and apparatus, communication node, and storage medium
WO2015192501A1 (en) Address information publishing method and apparatus
WO2015165311A1 (en) Method for transmitting data packet and provider edge device
US11546255B2 (en) Packet processing method, controller, and forwarding device
CN110535768B (en) Multicast data transmission method and related equipment
WO2019101041A1 (en) Communication method and device therefor
CN112491701B (en) Message forwarding method and device
WO2022001835A1 (en) Method and apparatus for sending message, and network device, system and storage medium
WO2017211164A1 (en) Method, apparatus, and system for determining inter-as label switched path tunnel
CN114095305A (en) BIER message forwarding method, equipment and system
WO2022110535A1 (en) Packet sending method, device, and system
CN108512755B (en) Method and device for learning routing information
US20230086487A1 (en) Method for Determining Processing Capability, Node, and System
US20230155930A1 (en) Packet Processing Method and Network Device
CN112491706A (en) Data message processing method and device, storage medium and electronic device
CN117118886A (en) Message forwarding method, head-end equipment, controller, equipment and storage medium
CN114710975A (en) Multi-domain transport multi-transport network context identification
CN113630316B (en) Data transmission method and communication device
CN115865769A (en) Message processing method, network equipment and system
CN114598635A (en) Message transmission method and device
CN114915519A (en) Communication method and communication device
CN114128227B (en) Transmitting MTNC-ID on SRv 6-enabled data plane to enable 5G transmission

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination