CN113630316B - Data transmission method and communication device - Google Patents

Data transmission method and communication device Download PDF

Info

Publication number
CN113630316B
CN113630316B CN202010374759.1A CN202010374759A CN113630316B CN 113630316 B CN113630316 B CN 113630316B CN 202010374759 A CN202010374759 A CN 202010374759A CN 113630316 B CN113630316 B CN 113630316B
Authority
CN
China
Prior art keywords
network
sid
network device
data
node
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.)
Active
Application number
CN202010374759.1A
Other languages
Chinese (zh)
Other versions
CN113630316A (en
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 CN202010374759.1A priority Critical patent/CN113630316B/en
Publication of CN113630316A publication Critical patent/CN113630316A/en
Application granted granted Critical
Publication of CN113630316B publication Critical patent/CN113630316B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • 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
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a data transmission method and a communication device, relates to the technical field of communication, and solves the problem that networks using different SR protocols cannot be intercommunicated in the prior art. The specific scheme is as follows: the method comprises the steps that gateway equipment receives first data and first address information from first network equipment of a first network, wherein the first address information is a virtual identifier of second network equipment in a second network, the second network equipment is equipment on a transmission path of a first data packet, and the first network and the second network correspond to different SR protocols; the gateway equipment determines the SID of the second network equipment according to the virtual identification of the second network equipment; and the gateway equipment sends a second data packet comprising the first data and second address information to equipment in the second network according to the SID of the second network equipment, wherein the second address information is the SID of the second network equipment. The embodiment of the application is used for the process of the intercommunication between the SRv6 network and the SR-MPLS network.

Description

Data transmission method and communication device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a data transmission method and a communications apparatus.
Background
Segment Routing (SR) technology is receiving more and more attention as a new tunneling technology, and network deployment and management can be simplified and capital expenditure (CAPEX) can be reduced by introducing SR technology.
When the SR technology is applied to a communication system, the SR technology may include an SR internet protocol 6 (sron protocol version 6, srv 6) protocol and an SR-multiprotocol label switching (SR-multi-protocol label switch, SR-MPLS) SR-MPLS protocol. For example, the devices in the bearer network of the communication system may implement intercommunication according to the SRv6 protocol, and the devices in the core network may implement intercommunication according to the SP-MPLS protocol.
As can be seen from the above, the devices in the core network and the devices in the bearer network respectively use different protocols, so that the devices in the core network cannot send data to the devices in the bearer network, and the devices in the bearer network cannot send data to the devices in the core network, that is, interworking between networks using different protocols cannot be achieved. Therefore, how to implement interworking between networks using different protocols becomes an urgent problem to be solved.
Disclosure of Invention
The application provides a data transmission method and a communication device, which solve the problem that networks using different protocols cannot be communicated with each other.
In order to achieve the purpose, the following technical scheme is adopted in the application:
in a first aspect, the present application provides a data transmission method, where the method is applicable to a gateway device, or the method is applicable to a communication apparatus that can support the gateway device to implement the method, for example, where the communication apparatus includes a chip system, and the method includes: the method comprises the steps that gateway equipment receives a first data packet which comprises first data and first address information and is sent from first network equipment of a first network, the first address information is a virtual identifier of second network equipment in a second network, the second network equipment is equipment on a transmission path of the first data packet, and the first network and the second network correspond to different SR protocols; the gateway device determines a Segment Identifier (SID) of the second network device according to the virtual identifier of the second network device; and the gateway equipment sends a second data packet comprising the first data and second address information corresponding to the SID of the second network equipment to the equipment in the second network according to the SID of the second network equipment, wherein the second address information is the SID of the second network equipment.
Based on the data transmission method provided in the first aspect, when receiving a data packet of a device in a first network, the gateway device may determine the SID of the network device in a second network according to the virtual identifier of the device in the second network in the data packet. That is, the gateway device may translate the virtual identifier in the packet from the first network into the SID of the network device in the second network. Since the gateway device may transmit data to the second network device according to the SID of the second network device, the gateway device may transmit data of the first network to the second network. Thus, the problem that networks using different SR protocols cannot intercommunicate is solved.
In a possible implementation manner, the gateway device may determine the SID of the second network device according to a correspondence between the virtual identifier of the second network device and the SID of the second network device.
Based on the possible implementation manner, the gateway device can accurately determine the SID corresponding to the virtual identifier of the second network device, and is simple and easy to implement.
In a possible implementation manner, the gateway device determines a virtual identifier corresponding to a SID of each second network device in the second network devices; the gateway device sends a virtual identifier corresponding to the SID of each second network device in the second network to each first network device in the first network.
Based on the possible implementation manner, after determining the virtual identifier corresponding to the SID of each second network device in the second network, the gateway device sends the virtual identifier of each second network device to each network device in the first network, so that when the first network sends data to the network devices in the second network, the virtual identifier of the device in the second network can be determined quickly and accurately.
In a possible implementation manner, when the first network is an SRv6 network and the second network is an SR-MPLS network, the virtual identifier of the second network device is a virtual IPv6 address, and the SID of the second network device is an MPLS label; or, when the first network is an SR-MPLS network and the second network is an SRv6 network, the virtual identifier of the second network device is a virtual MPLS label, and the SID of the second network device is an IPv6 address.
Based on the possible implementation mode, the data transmission method provided by the application can be applied to the scene of data transmission between the SRv6 network and the SR-MPLS network, and the flexibility and the universality of the application of the data transmission method are improved.
In a second aspect, a communication apparatus is provided, which is applied to a gateway device or a chip or a system on a chip of the gateway device, and may also be a functional module in the gateway device for implementing the method according to the first aspect or any possible design of the first aspect. The communication means may implement the functions performed by the gateway device in the aspects or possible designs described above, which may be implemented by hardware executing the corresponding software. The hardware or software comprises one or more modules corresponding to the functions. For example, the communication apparatus includes a communication unit for receiving a first packet including first data and first address information of a device in a first network, and a processing unit. The first address information is a virtual identifier of second network equipment in a second network, the second network equipment is equipment on a transmission path of the first data packet, and the first network and the second network correspond to different SR protocols; the processing unit is used for determining the SID of the second network equipment corresponding to the virtual identifier according to the virtual identifier of the second network equipment; the communication unit is further configured to send a second data packet including the first data and second address information to the network device in the second network according to the SID of the second network device, where the second address information is the SID of the second network device.
The specific implementation manner of the communication apparatus may refer to the first aspect or a behavior function of the gateway device in the data transmission method provided by any possible design of the first aspect, and will not be described repeatedly herein. Thus, the communication device provided may achieve the same advantageous effects as the first aspect or any of the possible designs of the first aspect.
In a third aspect, a communication apparatus is provided, which may be a gateway device or a chip or a system on chip in the gateway device. The communication apparatus may implement the functions performed by the gateway device in the above aspects or possible designs, and the functions may be implemented by hardware, such as: in one possible design, the communication device may include: a processor and a communication interface, the processor being operable to support the communication device to perform the functions referred to in the first aspect or any one of the possible designs of the first aspect, for example: the processor is configured to receive, through the communication interface, a first data packet including first data and first address information from a first network device in a first network, where the first address information is a virtual identifier of a second network device in a second network, and the first network and the second network correspond to different SR protocols. The processor is further configured to determine a SID of the second network device based on the virtual identifier of the second network device. The processor is further configured to send a second data packet including the first data and the second address information to a network device in a second network through the communication interface. Wherein, the second address information is the SID of the second network device.
In yet another possible design, the communication device may further include a memory for storing computer-executable instructions and data necessary for the communication device. When the communication device is running, the processor executes the computer-executable instructions stored in the memory to cause the communication device to perform the data transmission method according to the first aspect or any one of the possible designs of the first aspect.
In a fourth aspect, a computer-readable storage medium is provided, which may be a readable non-volatile storage medium, and which stores computer instructions or a program, which when executed on a computer, make the computer perform the data transmission method according to the first aspect or any one of the above aspects.
In a fifth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the data transmission method of the first aspect described above or any one of the possible designs of the above aspects.
In a sixth aspect, a communication apparatus is provided, which may be a gateway device or a chip or system on a chip in a gateway device, and includes one or more processors and one or more memories. The one or more memories are coupled to the one or more processors for storing computer program code comprising computer instructions which, when executed by the one or more processors, cause the gateway device to perform the data transmission method as described in the first aspect above or any one of the possible designs of the first aspect.
In a seventh aspect, a chip system is provided, where the chip system includes a processor and a communication interface, and the chip system may be configured to implement the functions performed by the gateway device in the first aspect or any possible design of the first aspect, for example: the processor is configured to receive, through the communication interface, a first data packet including first data and first address information from a first network device in a first network, where the first address information is a virtual identifier of a second network device in a second network, and the first network and the second network correspond to different SR protocols. The processor is further configured to determine a SID of the second network device based on the virtual identifier of the second network device. The processor is further configured to send a second data packet including the first data and the second address information to a network device in a second network through the communication interface. Wherein the second address information is the SID of the second network device.
In one possible design, the system-on-chip further includes a memory to hold program instructions and/or data. The chip system may be formed by a chip, and may also include a chip and other discrete devices, without limitation.
For technical effects brought by any design manner of the second aspect to the seventh aspect, reference may be made to the technical effects brought by the first aspect or any possible design of the first aspect, and details are not repeated.
In an eighth aspect, a data transmission method is provided, where the data transmission method is applied to a first network device in a first network, and the data transmission method includes: the method comprises the steps that a first network device determines a first data packet comprising first data and first address information, wherein the first address information is a virtual identifier of a second network device in a second network, the second network device is a device on a transmission path of the first data packet, and the first network and the second network correspond to different SR protocols; the first network sends a first data packet to the gateway device.
Based on the data transmission method provided in the eighth aspect, the first network device encapsulates the first data and the virtual identifier of the second network device into a first data packet, and sends the first data packet to the gateway device. Since the gateway device may determine the SID of the second network device according to the virtual identifier of the second network device in the first data packet, where the SID of the second network device is address information of the first data packet in the second network device, the gateway device may send the first data to the network device in the second network. Thus, the problem that networks using different SR protocols cannot intercommunicate is solved.
In a possible implementation manner, the first network device receives, from the gateway device, a virtual identifier corresponding to the SID of each second network device in the second network.
Based on the possible implementation manner, when the device in the first network sends data to the device in the second network, the virtual identifier of the network device used for receiving data in the second network can be accurately determined according to the virtual identifier corresponding to the SID of each second network device in the second network, which is simple and easy to implement.
In a possible implementation manner, when the first network is an SRv6 network and the second network is an SR-MPLS network, the virtual identifier of the second network device is a virtual IPv6 address, and the SID of the second network device is an MPLS label; or, when the first network is an SR-MPLS network and the second network is an SRv6 network, the virtual identifier of the second network device is a virtual MPLS label, and the SID of the second network device is an IPv6 address.
Based on the possible implementation mode, the data transmission method provided by the application can be applied to the scene of data transmission between the SRv6 network and the SR-MPLS network, and the flexibility and the universality of the application of the data transmission method are improved.
In a ninth aspect, a communication apparatus is provided, which is applied to a first network device or a chip or a system on a chip of the first network device, and may also be a functional module in the first network device for implementing the method according to any possible design of the eighth aspect or the eighth aspect. The communication means may implement the functions performed by the first network device in the above aspects or possible designs, which functions may be implemented by hardware executing corresponding software. The hardware or software comprises one or more modules corresponding to the functions. For example, the communication device includes a communication unit and a processing unit to determine a first data packet including first data and first address information. The first address information is a virtual identifier of the second network equipment, and the second network equipment is a virtual identifier of the transmission path of the first data packet; the communication unit is configured to send the first data packet to the gateway device.
The specific implementation manner of the communication apparatus may refer to any possible design of the eighth aspect or the eighth aspect, and details of the behavior function of the gateway device in the data transmission method are not repeated herein. Thus, the communication device provided can achieve the same advantageous effects as the eighth aspect or any of the possible designs of the eighth aspect.
In a tenth aspect, a communication apparatus is provided, which may be a first network device or a chip or a system on a chip in the first network device. The communication apparatus may implement the functions performed by the first network device in the above aspects or possible designs, and the functions may be implemented by hardware, such as: in one possible design, the communication device may include: a processor and a communication interface, the processor being operable to enable the communication device to carry out the functions referred to in any one of the possible designs of the above-mentioned eighth aspect, for example: the processor is configured to send a first data packet including first data and first address information to the gateway device through the communication interface. The first address information is a virtual identifier of a second network device in a second network, and the second network corresponds to a different SR protocol with respect to the first network.
In yet another possible design, the communication device may further include a memory for storing computer-executable instructions and data necessary for the communication device. When the communication device is running, the processor executes the computer-executable instructions stored in the memory, so as to enable the communication device to execute the data transmission method according to any one of the above-mentioned eighth aspect or the possible designs of the eighth aspect.
In an eleventh aspect, a computer-readable storage medium is provided, which may be a readable non-volatile storage medium, and stores a computer instruction or a program, which when executed on a computer, enables the computer to perform the data transmission method according to the eighth aspect or any one of the above aspects.
In a twelfth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the data transmission method of the eighth aspect described above or any one of the possible designs of the above aspects.
In a thirteenth aspect, a communication apparatus, which may be a first network device or a chip or system on a chip in a first network device, is provided that includes one or more processors and one or more memories. The one or more memories are coupled to the one or more processors and the one or more memories are configured to store computer program code comprising computer instructions that, when executed by the one or more processors, cause the gateway device to perform the data transmission method as set forth in any of the possible designs of the above-described eighth aspect or eighth aspect.
In a fourteenth aspect, a chip system is provided, where the chip system includes a processor and a communication interface, and the chip system may be used to implement the functions performed by the first network device in any possible design of the above-mentioned eighth aspect or eighth aspect, for example: the processor is configured to send a first data packet including first data and first address information to the gateway device through the communication interface. The first address information is a virtual identifier of the network device in the second network.
In one possible design, the system-on-chip further includes a memory to hold program instructions and/or data. The chip system may be formed by a chip, and may also include a chip and other discrete devices, without limitation.
For technical effects brought by any design manner in the eighth aspect to the fourteenth aspect, reference may be made to the technical effects brought by the first aspect or any possible design manner in the first aspect, and details are not repeated.
In a fifteenth aspect, a data transmission method is provided, which is applied to a second network device in a second network, where the second network device is a device on a transmission path of a first data packet, and the data transmission method includes: the second network device receives a second data packet including the first data and second address information from the gateway device, the second address information is a SID of the second network device, and the SID of the second network device is determined by the gateway device according to a virtual identifier of the second network device in the first data packet from the device in the first network. The first network and the second network correspond to different SR protocols.
The description of the first data packet refers to the data transmission method of the first aspect.
Based on the data transmission method provided in the fifteenth aspect, since the SID of the second network device in the second data packet is determined by the gateway device according to the virtual identifier of the second network device from the first network device in the first network, and the first data is data from the first network device, after the second network device receives the second data packet from the gateway device, the second data packet may be decapsulated to obtain the first data. Thus, the problem of the incapability of interworking between networks using different SR protocols is solved.
In a possible implementation manner, when the first network is a segment routing SRv6 network and the second network is an SR-MPLS network, the virtual identifier of the second network device is a virtual IPv6 address, and the SID of the second network device is an MPLS label; or, when the first network is an SR-MPLS network and the second network is an SRv6 network, the virtual identifier of the second network device is a virtual MPLS label, and the SID of the second network device is an IPv6 address.
Based on the possible implementation mode, the data transmission method provided by the application can be applied to the scene of data transmission between the SRv6 network and the SR-MPLS network, and the flexibility and the universality of the application of the data transmission method are improved.
In a sixteenth aspect, a communication apparatus is provided, which is applied to a second network device or a chip or a system on a chip of the second network device, and may also be a functional module in the second network device for implementing the method according to any one of the possible designs of the fifteenth aspect or the fifteenth aspect. The communication means may implement the functions performed by the gateway device in the aspects or possible designs described above, which may be implemented by hardware executing the corresponding software. The hardware or software comprises one or more modules corresponding to the functions. For example, the communication apparatus includes a communication unit for receiving a second packet including first data and second address information from the gateway device, the second address information being a SID of the second network device, and a processing unit. The processing unit is used for determining the first data according to the second data packet.
In a seventeenth aspect, a communication apparatus is provided, which may be a second network device or a chip or a system on chip in the second network device. The communication apparatus may implement the above aspects or each possible function performed by designing the gateway device, and the functions may be implemented by hardware, such as: in one possible design, the communication device may include: a processor and a communications interface, the processor being operable to enable the communications apparatus to carry out the functions referred to in any one of the possible designs of the fifteenth aspect, for example: the processor is configured to receive a second data packet including the first data and second address information from the gateway device through the communication interface, where the second address information is an SID of the second network device.
In yet another possible design, the communication device may further include a memory for storing computer-executable instructions and data necessary for the communication device. When the communication device is running, the processor executes the computer-executable instructions stored in the memory, so as to enable the communication device to execute the data transmission method according to any one of the fifteenth aspect or the fifteenth aspect.
In an eighteenth aspect, a computer-readable storage medium is provided, which may be a readable non-volatile storage medium, the computer-readable storage medium storing a computer instruction or a program, which when run on a computer, causes the computer to perform the data transmission method of the fifteenth aspect or any one of the possible designs of the aspects.
A nineteenth aspect provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of the fifteenth aspect described above or any one of the possible designs of the aspects described above.
In a twentieth aspect, a communication apparatus is provided, which may be a gateway device or a chip or a system on a chip in a gateway device, the communication apparatus including one or more processors and one or more memories. The one or more memories are coupled to the one or more processors for storing computer program code comprising computer instructions which, when executed by the one or more processors, cause the gateway device to perform the data transmission method as set forth in any one of the possible designs of the fifteenth aspect or the fifteenth aspect.
In a twenty-first aspect, a chip system is provided, where the chip system includes a processor and a communication interface, and the chip system may be configured to implement the functions performed by the gateway device in any of the possible designs of the fifteenth aspect, for example: the processor is configured to receive a second data packet including the first data and second address information from the gateway device through the communication interface, where the second address information is an SID of the second network device.
In one possible design, the system-on-chip further includes a memory to hold program instructions and/or data. The chip system may be formed by a chip, and may also include a chip and other discrete devices, without limitation.
For technical effects brought by any design manner in the sixteenth aspect to the twenty-first aspect, reference may be made to the technical effects brought by any possible design manner in the fifteenth aspect or the fifteenth aspect, and details are not repeated.
Twenty-second aspect, a communication system is provided, the communication system comprising a gateway device, a first network device in communication with the gateway device, and a second network device in communication with the gateway device, the gateway device being configured to perform the data transmission method as described in any of the possible implementations of the first aspect and the first aspect, the first network device being configured to perform the data transmission method as described in any of the possible implementations of the eighth aspect and the eighth aspect, the second network device being configured to perform the data transmission method as described in any of the possible implementations of the fifteenth aspect and the fifteenth aspect.
Drawings
Fig. 1 is a simplified schematic diagram of a network architecture based on an SR protocol according to an embodiment of the present application;
fig. 2 is a simplified schematic diagram of another network architecture based on an SR protocol according to an embodiment of the present application;
fig. 3 is a simplified schematic diagram of a SR-MPLS based network architecture according to an embodiment of the present application;
fig. 4 is a schematic diagram of a new IPv6 packet according to an embodiment of the present application;
fig. 5 is a simplified schematic diagram of a network architecture based on an SRv6 protocol according to an embodiment of the present application;
fig. 6 is a schematic diagram illustrating change information of a new IPv6 packet in a transmission process according to an embodiment of the present application;
fig. 7 is a schematic diagram illustrating an SRv6 network and an SR-MPLS network in the prior art;
fig. 8 is a schematic diagram of another SRv6 network and SR-MPLS network interworking provided in the prior art;
fig. 9 is a schematic diagram of another SRv6 network and SR-MPLS network interworking provided in the prior art;
fig. 10 is a schematic structural diagram of a communication system according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a communication device 1100 according to an embodiment of the present disclosure;
fig. 12 is a schematic flowchart of a data transmission method according to an embodiment of the present application;
fig. 13 is a schematic flowchart of another data transmission method according to an embodiment of the present application;
fig. 14 is a schematic structural diagram of another communication device 1400 according to an embodiment of the present disclosure;
fig. 15 is a schematic structural diagram of another communication device 1500 according to an embodiment of the present application;
fig. 16 is a schematic structural diagram of another communication apparatus 1600 according to an embodiment of the present application;
fig. 17 is a schematic structural diagram of a communication system according to an embodiment of the present application.
Detailed Description
Before describing the embodiments of the present application, some terms referred to in the embodiments of the present application are explained:
the SR protocol may be a source routing protocol or a segment routing protocol. The source node can specify a path for the packet, convert the path into an ordered segment list (segment list), encapsulate the segment list into a packet header, and the intermediate node only needs to forward according to the segment list in the packet header. segment list can be used to instruct nodes how to forward and process packets, such as: the segment list (segment list) may include Segment Identifiers (SID) of nodes on a Label Switching Path (LSP), the LSP may be a shortest forwarding path, and each node on the LSP may forward a packet to a destination node according to address information of the node included in the segment list, and forward the packet to a specified application/service instance. The SID may assign an SR label to each node from a segment-routing global-block (SRGB) for a network administrator.
It should be noted that, for convenience of description, the nodes described in the embodiments of the present application may also be alternatively described as a router, a network device, or the like.
Illustratively, as shown in fig. 1, a network architecture provided for the embodiment of the present application includes a source node 10, an intermediate node 21, an intermediate node 22, and a destination node 30. Among them, a path between the source node 10 and the intermediate node 21, a path between the intermediate node 21 and the intermediate node 22, and a path between the intermediate node 22 and the destination node 30 may be referred to as a Label Switching Path (LSP).
The source node 10 is configured to obtain a transmission path of a packet, the intermediate node is configured to forward the packet, and the destination node 30 is configured to receive the packet. The embodiments of the present application do not limit the number of intermediate nodes of the network architecture. For example, only 2 intermediate nodes (intermediate node 21 and intermediate node 22) are shown in fig. 1.
In conjunction with the network architecture of fig. 1, the SR tag in the segment list of the source node 10 may include { tag 1, tag 2, tag 3, and tag 4}. Label 1 is the label of the source node 10, label 2 is the label of the intermediate node 21, label 3 is the label of the intermediate node 22, and label 4 is the label of the destination node 30.
1. The source node 10 acquires the segment list and sends the segment list to the intermediate node 21. Accordingly, the intermediate node 21 receives the segment list from the source node 10.
2. After receiving the segment list from the source node 10, the intermediate node 21 identifies a plurality of labels in the segment list, and determines that the next hop node is the intermediate node 22 corresponding to the label 3. The intermediate node 21 may forward the segment list to the intermediate node 22. Accordingly, the intermediate node 22 receives the segment list from the intermediate node 21.
3. After receiving the segment list, the intermediate node 22 forwards the segment list to the destination node 30.
Therefore, in the process of sending the segment list from the source node to the destination node, the intermediate node only needs to forward according to the label in the segment list, and does not need to determine the source node and the destination node. Therefore, the SR can improve the transmission efficiency of the message.
The SID may include multiple tags such as a Prefix SID (Prefix-SID), a Node SID (Node-SID), an adjacent SID (Adj SID), etc. A SID may uniquely identify a node. A network administrator may assign one or more SIDs to each node. The types of the SIDs assigned to the respective nodes are different according to the deployment locations of the nodes, and the roles and the use ranges of the plurality of SIDs may be as shown in table 1.
TABLE 1
Figure BDA0002479594550000081
It should be noted that the SID in table 1 is merely exemplary, and the SID may also include other types of tags, which is not limited. A number of types of SIDs in table 1 are described below:
1、Prefix-SID
the Prefix-SID is a label assigned to the destination address Prefix that is globally unique within the SR domain. One way to represent the Prefix-SID may be SRGB + Index (Index). For example, SRGB starts at 16000, 10.2.2.0/24 is the destination address, the destination address is assigned an Index of 1, and then 10.2.2.0/24 Prefix-SID may be 16001.
2、Node-SID
Node-SID: has global properties, i.e. globally visible, globally valid, globally unique. A Node on the route can be uniquely identified by the Node-SID, which means "the message is sent to the Node according to the shortest path of the Interior Gateway Protocol (IGP)".
The Node-SID may be considered a special Prefix-SID, such as: an Internet Protocol (IP) address configured under a Loopback interface of a Node is used as a Prefix, and a Prefix SID corresponding to the IP address is a Node SID actually.
3、Adj SID
The Adj SID is a local tag, valid locally, that represents a particular link. Since the Adj SID is relative to a particular node, it is locally unique. Only local uniqueness is guaranteed. The Adj SID may be used to indicate the neighbor of the node. The Adj SID may also be used to indicate the node or transmission path for the transmission of the message or data.
For example, after the node 1 receives the packet of the previous-hop node, the node 1 may send the packet to the next-hop node corresponding to the Adj SID according to the Adj SID, or determine the transmission path of the packet according to the Adj SID.
For example, as shown in fig. 2, a simplified schematic diagram of a network architecture provided in the embodiment of the present application is shown. The network architecture includes a Software Defined Network (SDN) controller and a plurality of nodes. Wherein the SDN controller is in communication connection with a plurality of nodes.
The SDN controller in fig. 2 may be configured to collect topology information and link state information of the entire network. And may also be used to assign one or more SIDs to each of the plurality of nodes.
The topology information may include routing information between a plurality of nodes. The link state information may include bandwidth, data transmission rate, latency, etc. of the route between the nodes. For example, the routing between node PE1 and node PE2 in fig. 2 may include: node PE1 → node P2 → node P3 → node PE2, node PE1 → node P4 → node P5 → node P6 → node PE2, node PE1 → node P2 → node P5 → node P6 → node PE2, etc.
In one example, the one or more SIDs assigned by the SDN controller for Node PE1 may include one Node SID, an Adj SID between PE1 and P1, and an Adj SID between Node PE1 and Node P2. The one or more SIDs that the SDN controller may assign to the Node P1 may include one Node SID, an Adj SID between the Node P1 and the Node P4, and an Adj SID between the Node P1 and the Node P2. One or more SR labels allocated by the SDN controller to the nodes P2 to P6 may refer to the node P1, which is not described again.
For example, when a packet is to be transmitted from the node PE1 to the node PE2, the transmission path of the packet calculated by the SDN controller is: node PE1 → node P2 → node P5 → node PE2. The message transmitted from the node PE1 to the node P2 may be forwarded according to a shortest path, that is, the shortest path may be the node PE1 → the node P2. The transmission of the packet from node P2 to node PE2 must pass through node P5. The Node SID may be used for the transmission of the packet from Node PE1 to Node P2, and the Adj SID may be used for the transmission of the packet from Node P2 to Node PE2.
The controller may convert the transmission path into an SR label stack: {300, 1003, 800}, and issues the label stack to node PE1. Where 300 is the Node SID for Node P2 and 1003 is the Adj SID between nodes P2 and P5. 800 is the Adj SID between node P6 and PE2. The node PE1 encapsulates the SR label stack into a packet, and forwards the packet to the node PE2 via the node P2, the node P5, and the node P6 on the path. The node P2, the node P5 and the node P6 only need to forward according to the label stack. Arrows in fig. 2 identify transmission paths and transmission directions of the messages.
The SR protocol may include: the SRv6 protocol and the SR-MPLS protocol.
It should be noted that the SR protocols used by devices in different networks are different. For example, the SR protocol used by the devices in the core network may be the SRv6 protocol. The SR protocol used by the devices in the bearer network may be the SR-MPLS protocol. Of course, the devices in the core network and the devices in the bearer network may also use other forms of SR protocols, without limitation.
The SR-MPLS protocol may be a protocol that uses a label stack to describe a path through data transmission. Each node in a network based on the SR-MPLS protocol (which may be referred to simply as an SR-MPLS network) may forward data according to a label stack.
The label stack is used for indicating a transmission path of the message. For example, the source node may encapsulate the label stack and the packet into one data packet, and the intermediate node only needs to forward according to the label stack in the data packet. And the intermediate node determines a next hop node according to the label stack in the data packet and sends a data packet to the next hop node. After the next hop node receives the data packet, forwarding the data packet to other nodes; by analogy, the data packet can be sent to the destination node through the forwarding of the intermediate node.
Illustratively, as shown in fig. 3, a simplified schematic diagram of a network architecture based on an SR-MPLS protocol is provided for the embodiment of the present application. The network architecture may include: SDN controller, segment Routing Domain (SRD). Wherein the SRD includes a plurality of nodes and topology information. For example, the plurality of nodes in FIG. 3 may include nodes A through F.
Among other things, the SDN controller may refer to the description of the SDN controller in fig. 2. For example, the SID assigned by the SDN controller to node a, node B, node C, node E, and node F is: 16011. 16021, 16031, 323, 16041. The SID of each node may also be generated by the node and advertised to the SDN controller, without limitation.
The topology information may include a route between nodes, for example, the route between node a and node F may include: node a-node B-node C-node F, node a-node D-node E-node F, node a-node B-node C-node E-node F.
With reference to the network architecture shown in fig. 3, taking an example that a node a needs to send a packet or data to a node F, a packet or data forwarding process is described:
1. the node F sends request information for requesting data of the first service to the SDN controller. Accordingly, after receiving the request information for requesting the data of the first service, the SDN controller may send, to the node a, indication information for indicating sending of the data of the first service to the node F.
It should be noted that, because multiple transmission paths are provided between the node a and the node F, when the first service has a transmission demand on a transmission path of data, for example, the transmission demand may include one or more of the fastest transmission rate, the transmission bandwidth larger than a preset bandwidth, the lowest transmission delay, the shortest transmission path, the minimum number of nodes in the transmission path, and the like, the SDN controller may further specify the transmission path for the data of the first service according to the link state information of each route, and issue a label stack corresponding to the specified transmission path to the node a. Alternatively, after receiving the indication information, the node a may send request information for requesting a transmission path specifying the first service to the SDN controller, without limitation.
For example, the transmission requirements of the first service are: the bandwidth of the transmission path is greater than the preset bandwidth, and the transmission delay is less than the preset delay, for example, the preset bandwidth is 8G, and the transmission delay is 30ms. The SDN controller may perform calculation according to the multi-path link state information, and obtain a transmission path that meets the transmission requirement of the first service as follows: node a-node B-node C-node E-node F.
It should be noted that, if the node a determines that the destination node receiving the data is the node F, but the transmission route of the data is unknown, the node receiving the data in the network may forward the data to the next-hop node according to the label stack.
2. The SDN controller issues a label stack to node a.
Wherein the label stack may include Prefix-SIDs for a plurality of nodes. For example, the label stack is {16021, 16031, 323, 16041}.16021 is the Prefix-SID of node B, 16031 is the Prefix-SID of node C, 323 is the Prefix-SID of node 4, 16041 is the Prefix-SID of node F.
3. After receiving the label stack, the node a may encapsulate the label stack and the data of the first service to obtain a data packet. And the node A determines that the next hop node is the node B according to 16021 in the label stack. The node A sends the data packet to the node B; after receiving the data packet, the node B determines that the next hop node is the node C according to 16031 in the label stack; by analogy, the data packet may be sent to node F via forwarding by node C and node E.
The SRv6 protocol may be a protocol in which a new extension is performed in an IPv6 message of an internet protocol 6 (internet protocol version 6, IPv 6) to obtain a new IPv6 message. The SRv6 protocol is a native (IPv 6) protocol. The new IPv6 packet may include address information of a plurality of nodes, which may be used to indicate a transmission path of the packet or data, and the number of nodes. The source node may encapsulate the new IPv6 packet and the data into a data packet, and send the data packet to the next hop node according to the new IPv6 packet in the data packet. And after the next hop node receives the data packet, subtracting 1 from the number of nodes in the new IPv6 message, and forwarding the data packet according to the new IPv6 message. And stopping sending the data packet until the number of the nodes in the new IPv6 message is 0.
For example, fig. 4 is a schematic diagram of a new IPv6 packet provided in the present application. The new IPv6 packet may include a packet basic header, a packet extension header (SRH), and a packet body.
As shown in fig. 4, the packet extension header may include a plurality of fields, for example, the packet extension header may include: one or more of a Next Header (Next Header), an extended Header length (Hdr Ext Len), a Routing Type (Routing Type), a remaining number of nodes (Segments Left), a Last Entry (Last Entry), a flag (Flags), a Tag (Tag), and a node List (Segment List, SL) [ n ]. For example, the fields in the message extension header, the lengths of the fields, and the meanings may be as shown in table 2.
TABLE 2
Figure BDA0002479594550000111
It should be noted that the fields and the lengths of the fields in table 2 are only exemplary, and the message extension header may further include other fields, for example, a Transmission Control Protocol (TCP). The length of each field may be other bits, and is not limited.
As shown in fig. 5, a schematic structural diagram of a network based on an SRv6 protocol (which may be referred to as an SRv6 network for short) provided in an embodiment of the present application is shown, where the network structure includes a plurality of nodes, and data transmission may be performed between the plurality of nodes through a new IPv6 packet.
For example, as shown by the arrow in fig. 5, when node a needs to send data to node Z, if node a determines that the transmission path of the data is node a-node H-node B-node C-node D-node I-node Z. Wherein, the node H, the node C and the node I are segment routing (segment) nodes, and the node B and the node D are intermediate nodes. The information of the new IPv6 packet carrying the data or the change of the new IPv6 packet that can be described as including the data during transmission can be as shown in fig. 6.
In fig. 6, at node a, the number of the remaining segment end nodes in the new IPv6 message is 3, that is, the remaining segment end nodes include node H, node C, and node I; when the new IPv6 message is forwarded to the node B by the node H, the number of the remaining segment end nodes in the new IPv6 message is 2, namely, the remaining segment end nodes comprise a node C and a node I; after the new IPv6 packet is forwarded to the node C by the node B, the number of the remaining segment end nodes in the new IPv6 packet is 1, that is, the remaining segment end nodes are the node I; finally, after the IPv6 packet is forwarded to the node I by the node C via the node D, the number of the remaining segment end nodes in the new IPv6 packet is 0, that is, there are no remaining segment end nodes in the new IPv6 packet, at this time, the node I may send the new IPv6 packet to the node Z corresponding to the destination address according to the destination address in the new IPv6 packet, that is, the new IPv6 packet may reach the destination node.
When the SR technology is applied to a communication system, for example, the devices in a bearer network of the communication system may implement intercommunication according to the SRv6 protocol, and the devices in a core network may implement intercommunication according to the SP-MPLS protocol. For another example, the data centers of the communication system may communicate with each other according to the SRv6 protocol, and the data centers may communicate with each other according to the SR-MPLS protocol.
As can be seen from the above, the devices in the core network and the devices in the bearer network use different protocols, so that the devices in the core network cannot transmit data to the devices in the bearer network, and the devices in the bearer network cannot transmit data to the devices in the core network. Different protocols are respectively used by the data centers and the network between the data centers, and the data intercommunication between the data centers cannot be realized. That is, interworking between networks using different SR protocols cannot be achieved. Therefore, how to implement interworking between networks using different SR protocols becomes an urgent problem to be solved.
In a possible implementation manner, the problem that networks using different protocols cannot be intercommunicated can be solved by the following method one or method two, which are described below:
the method comprises the following steps: and realizing the intercommunication of the SR-MPLS network and the SRv6 network by adopting a Binding SID (Binding SID).
As shown in fig. 7, the SRv6 network includes node a and node B. The SR-MPLS network includes node D and node E. The SRv6 network and the SR-MPLS network are interconnected through a node C. Wherein node C supports both SRv6 networks and SR-MPLS networks.
After receiving the Binding SID of the SRv6, the node C converts the Binding SID into a Label (Label) D and a Label E in an MPLS Label format, and sends the Label D and the Label E to the node D of the SR-MPLS network. Node D and node E may send packets to node Y according to the MPLS label. The specific process can be shown in fig. 7:
in the technical scheme of the first method, a Binding SID needs to be dynamically allocated to the intermediate node when service data is issued, and the Binding SID is set to the intermediate node. Thereby affecting the sending speed of the data of the service. Meanwhile, the intermediate node needs to maintain the service state of each node, i.e., the Binding SID of each node, which results in a large signaling overhead.
The second method comprises the following steps: the SRv6 header + MPLS label is pushed to the source node, and the specific process may be as shown in fig. 8 or fig. 9.
Fig. 8 shows a transmission process of a data packet from the SRv6 network to the SR-MPLS network, which may refer to process 1. Fig. 9 shows a transmission process of a packet from the SR-MPLS network to the SRv6 network, which may refer to process 2.
Process 1, as shown in fig. 8, the transmission process from the SRv6 network to the SR-MPLS network includes:
and the node X pushes the data, the SRv6 packet header and the MPLS label stack into a source node A in the SRv6 network to obtain a new data packet. Wherein the new data packet comprises a layer 2 header. The layer 1 header includes address information for nodes in the SRv6 network and the layer 2 header includes address information for nodes in the SR-MPLS network. Node a forwards the new packet to node C via intermediate node B. After receiving the new data packet, the node C strips the layer 1 packet header to obtain a layer 2 packet header and data. And sending data to the nodes in the SR-MPLS network according to the address information of the nodes in the layer 2 packet header.
Procedure 2, as shown in fig. 9, the transmission procedure from the SR-MPLS network to the SRv6 network includes:
and the node X pushes the data, the SRv6 packet header and the MPLS label stack into a source node A in the SR-MPLS network to obtain a new data packet. Wherein the new data packet comprises a layer 2 header. The layer 1 header includes address information of nodes in the SR-MPLS network and the layer 2 header includes address information of nodes in the SRv6 network. Node a forwards the new packet to node C via the intermediate node B. After receiving the new data packet, the node C strips the layer 1 packet header to obtain a layer 2 packet header and data. And sends data to nodes in the SRv6 network according to the address information of the nodes in the layer 2 header.
In the technical scheme of the second method, the source node needs to simultaneously support the SR-MPLS protocol and the SRv6 protocol, so when the head node does not support the SR-MPLS protocol or the SRv6 protocol, the source node needs to be modified, and the cost is higher.
In an embodiment of the present application, to solve a problem that networks using different network protocols cannot communicate with each other, a data transmission method is provided, where the method may include: the method comprises the steps that gateway equipment receives a first data packet which is from first network equipment in a first network and comprises first data and first address information, wherein the first address information is a virtual identifier of second network equipment in a second network, and the first network and the second network correspond to different Segment Routing (SR) protocols; the gateway equipment determines a sectional routing identification (SID) of the second network equipment according to the virtual identification of the second network equipment; and the gateway equipment sends a second data packet to equipment in the second network according to the SID of the second network equipment, wherein the second data packet comprises the first data and second address information, and the second address information is the SID of the second network equipment. Specifically, the method may refer to the method shown in fig. 12.
Embodiments of the present application will be described in detail below with reference to the accompanying drawings.
Fig. 10 is a schematic structural diagram of a communication system to which an embodiment of the present application is applied. As shown in fig. 10, the communication system may include a plurality of networks, which may interwork via the gateway apparatus 100. The multiple networks may use different SR protocols. The number of networks of the communication system in the embodiment of the present application is not limited. For example, only 2 networks (the first network 110 and the second network 120) are shown in fig. 10. The first network 110 may be an SRv6 network, and the second network 120 may be an SR-MPLS network. Alternatively, first network 110 may be an SR-MPLS network and second network 120 may be an SRv6 network, without limitation. The present application takes the first network 110 as an SRv6 network and the second network 120 as an SR-MPLS network as an example.
First network 110 has at least one first network device (e.g., first network device 111, first network device 112, and first network device 113), and second network 120 has at least one second network device (e.g., second network device 121, second network device 122, and second network device 123). At least one first network device may communicate with each other, and at least one first network device may also communicate with the gateway device 100. At least one second network device may be in communication with each other, and at least one second network device may also be in communication with the gateway device 100. As shown in fig. 10, the gateway device 100 is connected to the first network device 112 and the first network device 113 in the first network 110, and the gateway device 100 is connected to the first network device 122 and the first network device 123 in the second network 120, so as to implement interworking between the first network 110 and the second network 120.
Illustratively, the gateway device 100 may implement the interworking between the first network 110 and the second network 120 via an LSP between the gateway device 100 and the first network 110 and an LSP between the gateway device 100 and the second network 120. Such that data or messages from the first network 110 may be transmitted through the gateway device 100 to the second network 120. Data or messages from the second network 120 may be sent to the first network 110 through the gateway device 100.
Further, fig. 10 is only an exemplary drawing, the number of devices included in fig. 10 is not limited, and the architecture may include other devices in addition to the devices shown in fig. 10. Such as an SDN controller. The functions of the SDN controller may refer to the above description, and are not repeated. In addition, the names of the respective devices in fig. 10 are not limited, and the respective devices may be named as other names in addition to the names shown in fig. 10, without limitation.
In a specific implementation, each device shown in fig. 10 may adopt the composition structure shown in fig. 11, or include the components shown in fig. 11. Fig. 11 is a possible structural diagram of a communication device according to an embodiment of the present application. The communication device is, for example, the gateway device, the first network device, and the second network device. The communication apparatus 1100 may be a chip or a system on chip in a gateway device, a first network device, or a second network device, as shown in fig. 11, and the communication apparatus 1100 includes a processor 1101, a transmitter 1102, a receiver 1103, and a physical interface 1104. Further, the communications apparatus 1100 can also include a memory 1105. The processor 1101, the transmitter 1102, the receiver 1103 and the physical interface 1104 may be connected by a communication bus.
The processor 1101 is a Central Processing Unit (CPU), a general purpose processor Network (NP), a Digital Signal Processor (DSP), a microprocessor, a microcontroller, a Programmable Logic Device (PLD), or any combination thereof. The processor 1101 may also be other devices with processing functions, such as, without limitation, a circuit, a device, or a software module.
A transmitter 1102, a receiver 1103 for communicating with other devices or other communication networks. The other communication network may be an ethernet, a Radio Access Network (RAN), a Wireless Local Area Network (WLAN), or the like. The transmitter 1102, receiver 1103 may be a module, circuit, transceiver, or any device capable of enabling communication. The transmitter 1102 and the receiver 1103 may be physically independent from each other or integrated together.
The transmitter 1102 may transmit the data packet to a neighboring device through the physical interface 1104. Receiver 1103 may receive data packets sent by neighboring devices through physical interface 1104.
A memory 1105 for storing instructions. Wherein the instructions may be a computer program.
The memory 1105 may be a read-only memory (ROM) or other types of static storage devices that can store static information and/or instructions, a Random Access Memory (RAM) or other types of dynamic storage devices that can store information and/or instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), a magnetic disc storage medium or other magnetic storage devices, and the like, without limitation.
It is noted that the memory 1105 may exist separate from the processor 1101 or may be integrated with the processor 1101. The memory 1105 may be used to store routing tables and may also store instructions or program code or some data or the like. Memory 1105 may be located within communication device 1100 or external to communication device 1100 without limitation. The processor 1101 is configured to execute the instructions stored in the memory 1105 to implement the data transmission provided by the following embodiments of the present application.
In one example, processor 1101 may include one or more CPUs, such as CPU0 and CPU1 in fig. 11.
As an alternative implementation, communications apparatus 1100 includes multiple processors, such as processor 1106 in addition to processor 1101 in fig. 11.
It is noted that the communication apparatus 1100 may be a router, a switch, an embedded device, a system-on-a-chip, or a device having a similar structure as in fig. 11. Further, the constituent structure shown in fig. 11 does not constitute a limitation of the communication apparatus, and the communication apparatus may include more or less components than those shown in fig. 11, or combine some components, or a different arrangement of components, in addition to the components shown in fig. 11.
In the embodiment of the present application, the chip system may be composed of a chip, and may also include a chip and other discrete devices.
In addition, actions, terms, and the like related between the embodiments of the present application may be mutually referenced, without limitation. In the embodiment of the present application, the name of the message or the name of the parameter in the message that is interacted between the devices is only an example, and other names may also be used in specific implementation, which is not limited.
The terms "first," "second," and "third," etc. in the description and claims of this application and the above-described drawings are used for distinguishing between different objects and not for limiting a particular order.
In the embodiments of the present application, the words "exemplary" or "such as" are used herein to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g.," is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word "exemplary" or "such as" is intended to present relevant concepts in a concrete fashion.
The following describes a data transmission method provided in an embodiment of the present application by taking the architecture shown in fig. 10 as an example. Each device in the following embodiments may have the components shown in fig. 11, and details are not described.
Fig. 12 is a data transmission method according to an embodiment of the present application, and as shown in fig. 12, the method may include:
step 1201, the gateway device receives a first packet from the first network device.
Wherein the gateway device may be the gateway device of fig. 10. The first network device may be any one of the first network devices in fig. 10. The first network device may be a source device or an intermediate device in the first network. For example, when the first network device is a source device of the first network 10, the first network device may be the first network device 111 of the first network 110 in fig. 10; when the first network device is an intermediate device of the first network 10, the first network device may be the first network device 112 or the first network device 113 of the first network 10.
When the first network device is a source device of the first network, the first network device may generate the first data packet according to the configuration. When the first network device is an intermediate device in the first network, the first network device may obtain the first data packet from a previous device of the first network device. For example, when the first network device is the first network device 113 or the first network device 112, the first network device may obtain the first data packet from the first network device 111.
The first data packet may include first data and first address information. The first address information may be a virtual identification of the second network device. The second network device is a device on the transmission path on the first data packet. The second network device is in a second network. The first network and the second network correspond to different SR protocols.
The first address information may be address information of the destination network device, or the first address information may be address information of an intermediate network device in the second network.
It should be noted that, when the first address information is address information of an intermediate network device in the second network, the first data packet may further include first transmission path information. The first transmission path is used for transmitting a first data packet. The first transmission path information includes SIDs of one or more first network devices in the first network and virtual identifications of one or more second network devices in the second network. The first transmission path information includes a destination address of the first packet.
For example, the first network is the first network 10 in fig. 10, and the second network may be the second network 120 in fig. 10. The network device receiving the first packet is the second network device 121. The first address information in the first data packet may be a virtual identification of the second network device 121. When the first address information is the virtual identifier of the second network device 122 or the virtual identifier of the second network device 123, the first packet may include the first transmission path information. Such as: the first transmission path is the first network device 111 → the first network device 113 → the gateway device 100 → the second network device 123 → the second network device 121. The first transmission path information may include the SID of the first network device 113, the virtual identification of the second network device 123 and the virtual identification of the second network device 121.
And the virtual identifier of the second network equipment and the SID of the second network equipment have a corresponding relation.
Example 1, take the first network as an SRv6 network and the second network as an SR-MPLS network as an example, the SID of each network device in the SRv6 network is an IPv6 address, and the SID of each network device in the SR-MPLS network is an MPLS label. The virtual identifier corresponding to the SID of each network device in the SRv6 network may be a virtual MPLS label.
For example, taking the SR-MPLS network as the first network in fig. 10 as an example, the Node SID of the first network device 112 is 16003, the adj SID is 17008, the Node SID of the first network device 113 is 16007, and the adj SID is 17011. The virtual MPLS label corresponding to the Node SID (16003) of the first network device 112 may be END:2001: :3, the virtual MPLS label corresponding to Adj SID (17008) of the first network device 112 may be END:2001: :8.
example 2, taking the first network as an SRv6 network and the second network as an SR-MPLS network as an example, the SID of each network device in the SR-MPLS network is an IPv6 address, and the SID of each network device in the SRv6 network is an MPLS label. The virtual identity corresponding to the SID of each network device in the SR-MPLS network may be one virtual IPv6 address.
For example, taking the second network in fig. 10 as an SR-MPLS network as an example, the Node SID of the second network device 122 is END SID:2008: :1, adj SID is END.X SID:2008: :5, the Node SID of the second network device 123 is END SID:2004: :1, adj SID is END.X SID:2004: :7. for example, the Node SID (END SID:2008:: 1) of the second network device 122 corresponds to a virtual IPv6 address of 16011, and the Adj SID (END. X SID:2008:: 5) of the second network device 122 corresponds to a virtual IPv6 address of 16021. The virtual IPv6 address corresponding to the Node SID (END SID:2004:: 1) of the second network device 123 is 16009, and the virtual IPv6 address corresponding to the Adj SID (END. X SID:2004:: 7) of the second network device 123 is 16052.
Example 3, the virtual identification of the second network device may include one or more character strings, the one or more character strings included by each virtual identification of the second network device being different.
For example, taking the second network as an SR-MPLS network as an example, the virtual identity of each network device in the SR-MPLS network may be SR-MPLS-X. Wherein, X may be a number, and X in the virtual identifier of each network device is different. For example, the virtual identifier of the second network device 121 may be SR-MPLS-121, the virtual identifier of the second network device 122 may be SR-MPLS-122, and the virtual identifier of the second network device 123 may be SR-MPLS-123.
For another example, taking the second network as an SRv6 network as an example, the virtual identifier of each network device in the SRv6 network may be SRv6-X. Wherein, X may be a number, and X in the virtual identifier of each network device is different. For example, the virtual identifier of the first network device 111 may be SRv6-111, the virtual identifier of the first network device 112 may be SRv6-112, and the virtual identifier of the first network device 113 may be SRv6-113.
Example 4, the virtual identification of the second network device may include a plurality of bits. The virtual identifications of each second network device comprise a different number of bits or alternatively have different bit values.
For example, taking the second network as an SR-MPLS network as an example, when the number of bits corresponding to the virtual identifier of each network device in the SR-MPLS network is different, the virtual identifier of the second network device 121 may be 1101, the virtual identifier of the second network device 122 may be 11011, and the virtual identifier of the second network device 123 may be 110011. When the bit value corresponding to the virtual identifier of each network device in the SR-MPLS network is different, the virtual identifier of the second network device 121 may be 1101, the virtual identifier of the second network device 122 may be 1110, and the virtual identifier of the second network device 123 may be 11111.
When the second network is an SRv6 network, the virtual identifier of each network device in the SRv6 network may refer to the description of the SR-MPLS network, which is not described in detail.
Step 1202, the gateway device determines the SID of the second network device according to the virtual identifier of the second network device.
In a possible implementation manner, the gateway device may determine the SID of the second network device according to a correspondence between the virtual identifier of the second network device and the SID of the second network device.
Wherein, the correspondence between the virtual identifier of the second network device and the SID of the second network device may be stored in the gateway device in advance. Alternatively, the correspondence between the virtual identifier of the second network device and the SID of the second network device may also be obtained by the gateway device from other devices, for example, the other devices may be the SDN controllers in fig. 2 or fig. 3, without limitation.
The correspondence between the SID and the virtual identifier of each second network device may be stored in a table form, or may be stored in other forms, such as in a data form. For example, in a table format, the correspondence between the SID and the virtual identifier of each second network device may be as shown in table 3 or table 4.
As shown in table 3, the second network device is a network device in an SR-MPLS network. The SID (END: 2008:: 1) of the second network device 122 corresponds to the virtual identifier (16011) of the second network device 122, the SID (END.X: 2008:: 5) of the second network device 122 corresponds to the virtual identifier (16021) of the second network device 122, the SID (END: 2004:: 1) of the second network device 123 corresponds to the virtual identifier (16009) of the second network device 123, and the SID (END.X: 2004:: 7) of the second network device 123 corresponds to the virtual identifier (16052) of the second network device 123.
TABLE 3
Figure BDA0002479594550000161
Figure BDA0002479594550000171
As shown in table 4, the second network device is a network device in an SRv6 network. The SID (16003) of the second network device 122 corresponds to the virtual identifier (END: 2001:: 3) of the second network device 122, the SID (17008) of the second network device 122 corresponds to the virtual identifier (END: 2001:: 8) of the second network device 122, the SID (16007) of the second network device 123 corresponds to the virtual identifier (END: 2004:: 7) of the second network device 123, and the SID (17011) of the second network device 123 corresponds to the virtual identifier (END: 2001:: 11) of the second network device 123.
TABLE 4
Figure BDA0002479594550000172
It should be noted that table 4 only indicates the storage form of the correspondence in the storage device in the form of a table, and is not limited to the storage form of the correspondence in the storage device, and of course, the storage form of the correspondence in the storage device may also be stored in other forms, such as in the form of an array, which is not limited in the embodiment of the present application. The corresponding relationship in table 4 is only exemplary, and SIDs and corresponding virtual identifiers of other network devices may also be included, which is not limited.
And the SID of the second network device is the SR label used by the network device in the second network. For example, when the second network is an SR-MPLS network, the SID of the second network device may be an IPv6 address. The SID of the second network device may be a Node SID of the second device, or the SID of the second network device may also be an Adj SID of a previous network device of the network device for receiving the first data, without limitation. For example, when the second network device for receiving the first data is the second network device 121 in fig. 10, the SID of the second network device 121 may be the Adj SID of the second network device 123 or the second network device 122.
After receiving the first data packet, the gateway device may decapsulate the first data packet to obtain the virtual identifier of the second network device. The gateway device may determine the SID of the second network device according to the correspondence between the virtual identifier of the second network device and the SID of the second network device.
It should be noted that, if the first data packet includes the address information of the destination network device, the gateway device only needs to determine the SID corresponding to the destination network device included in the first data packet, that is, the network device may determine the second address information. The second address information is the SID of the second network device. If the first data packet includes the first transmission path information, the gateway device may determine, according to the correspondence in table 3 or table 4, the SID corresponding to the virtual identifier of each second network device in the second network in the first transmission path information. That is, the gateway device may determine second transmission path information of the first data in the second network.
For example, when the first transmission path information includes 16009 and 16052, the gateway device determines, according to the correspondence in table 3, that the SID of the second network device corresponding to 16009 is END:2004: :1, and determining 16052 the SID of the corresponding second network device as END:2004: :7. the gateway device determines that the second transmission path information of the first traffic in the second network may include { END:2004: :1, END:2004: :7}.
After the gateway device determines the SID of the second network device, if the first address information is the SID of the destination network device, the gateway device may encapsulate the first data and the SID of the destination network device into a second data packet. Or, if the first data packet includes the first transmission path information, the gateway device may encapsulate the first data and the second transmission path information of the first data in the second network into the second data packet.
Step 1203, the gateway device sends the second data packet to the device in the second network according to the SID of the second network device. Accordingly, the device in the second network receives the second packet from the gateway device.
The second data packet may include the first data and second address information, and the second address information may be a SID of the second network device.
When the first address information in the first data is address information of the destination network device, the second address information in the second data packet may be a SID of the destination network device. The gateway device may send the second packet to the device in the second network according to the SID of the second network device and the preset routing policy.
The preset routing policy may be preset for the gateway device, or may also be obtained by the gateway device from another device, which is not limited. For example, the other device may be the SDN controller described above. The preset routing policy may be any one of a shortest routing policy, a routing policy with a fastest transmission rate, and the like.
It should be noted that, if there are other intermediate network devices between the gateway device and the second network device corresponding to the second address information, the other intermediate network devices may forward the second data packet according to the second address information and their Adj SIDs.
In yet another possible implementation, when the second data includes the second transmission path information. The gateway device may send the second packet to a network device in the second network according to the second transmission path information. After receiving the second data packet, the second network device 123 may decapsulate the second data packet to obtain the first data.
For example, as shown in fig. 10, when the second transmission path is the second network device 123 → the second network device 121, the gateway device may transmit the second packet to the second network device 123. When the second network device 123 receives the second data packet, the second data packet may be sent to the second network device 121 according to the Adj SID of the second network device 123. Accordingly, the second network device 121 receives the second data packet from the second network device 123. That is, the second data packet may be transmitted to the destination network device.
It should be noted that, in the technical solution described in fig. 12, a description is made from the perspective of transmitting data from a device in a first network to a device in a second network through a gateway device. Data in the second network may also be transmitted to devices in the first network through the gateway device. The description that the data in the second network transmits the data to the device in the first network through the gateway device may refer to the technical solution described in fig. 13, which is not described in detail.
Based on the above technical solution, when receiving a data packet of a device in a first network, a gateway device may determine an SID of a network device in a second network according to a virtual identifier of a device in the second network in the data packet. That is, the gateway device may translate the virtual identifier in the packet from the first network into the SID of the network device in the second network. Since the gateway device may transmit data to the second network device according to the SID of the second network device, the gateway device may transmit data of the first network to the second network. Thus, the problem that networks using different SR protocols cannot intercommunicate is solved.
Prior to fig. 12, after the network devices in the first network and the second network are deployed, a network administrator may assign one or more SIDs to each network device in the first network and the second network. For example, the network administrator may directly assign one or more SIDs to each network device, or the network administrator may assign one or more SIDs to each network device through the SDN controller, without limitation.
In a possible implementation manner of the method shown in fig. 12, before step 1201, the method provided in the embodiment of the present application may further include:
s1, the gateway device determines a virtual identification corresponding to the SID of each first network device in the first network.
The determining, by the gateway device, of the virtual identifier corresponding to the SID of each first network device in the first network may also be described as determining, by the gateway device, a pair relationship between the SID of each first network device in the first network and the virtual identifier. The virtual identification may uniquely identify a first network device. The gateway device may assign a virtual identifier to each first network device in the first network from a preset virtual identifier library. One virtual id corresponds to the SID of one first network device. The preset virtual identifier library may be preset for the gateway device, or may be obtained by the gateway device from the SDN controller, without limitation.
It should be noted that the virtual identifier corresponding to the SID of the first network device may be a SID used by a network device in the second network. The virtual identities of a plurality of first network devices in the first network may form a virtual first network. The gateway device may obtain the virtual identifier of each first network device in the first network in other manners. For example, when the virtual identifier of each first network device in the first network is allocated to each first network device by the SDN controller, the gateway device may acquire the virtual identifier of each first network device through interaction with the SDN controller; when the virtual identifier of each first network device in the first network is allocated to each first network device by the staff, the gateway device may obtain the virtual identifier of the first network device through interaction with each first network device, which is not limited.
In one example, taking the first network as an SRv6 network and the second network as an SR-MPLS network as an example, the SID of each network device in the SRv6 network is an IPv6 address, and the SID of each network device in the SR-MPLS network is an MPLS label. The virtual identifier corresponding to the SID of each network device in the SRv6 network may be a virtual MPLS label.
For example, taking the SR-MPLS network as the first network in fig. 10 as an example, the Node SID of the first network device 112 is 16003, the adj SID is 17008, the Node SID of the first network device 113 is 16007, and the adj SID is 17011. The description of the Node SID and the Adj SID may refer to the above.
The virtual MPLS label that the gateway device may allocate to the Node SID (16003) of the first network device 112 from the preset virtual identifier library may be END:2001: :3, the virtual MPLS label assigned to the Adj SID (17008) of the first network device 112 may be END:2001: :8. the virtual MPLS label that the gateway device may assign to the Node SID (16007) of the first network device 113 from the preset virtual identifier library may be END:2001: :7, the virtual MPLS label assigned to the Adj SID (17011) of the first network device 113 may be END:2001: :11.
it should be noted that, in fig. 10, both the Adj SID of the first network device 112 and the Adj SID of the first network device 113 may be used to represent the SID of the first network device 111.
S2, the gateway equipment sends the virtual identification corresponding to the SID of each first network equipment to each second network equipment in the second network. Correspondingly, each network device in the second network receives the virtual identifier corresponding to the SID of each first network device from the gateway device.
The gateway device may notify the SID of each first network device or the virtual first network to each second network device in the second network according to a preset routing protocol. The preset routing protocol may be preset for the gateway device, and may also be obtained by the gateway device from the SDN controller, without limitation. For example, the predetermined routing protocol may include IGP, border Gateway Protocol (BGP), and the like, without limitation. The IGP protocol and the BGP protocol may refer to the prior art and are not described in detail. The gateway device may further store a virtual identifier corresponding to the SID of each first network device. That is, the gateway device may store the correspondence between the SID and the virtual identifier of each first network device. Alternatively, the gateway device may also send, to the SDN controller, the correspondence between the SID and the virtual identifier of each first network device, without limitation.
And S3, the gateway equipment determines the virtual identification of each second network equipment in the second network.
The determining, by the gateway device, of the virtual identifier corresponding to the SID of each second network device in the second network may also be described as determining, by the gateway device, a corresponding relationship between the SID of each second network device in the second network and the virtual identifier. The description of the virtual tag and the corresponding relationship between the SID and the virtual identifier of each second network device in the second network may refer to step 130.
It should be noted that the virtual identifier corresponding to the SID of the second network device may be a SID used by the network device in the first network. The virtual identities of a plurality of second network devices in the second network may form a virtual second network.
In one example, taking the first network as an SRv6 network and the second network as an SR-MPLS network as an example, the SID of each network device in the SR-MPLS network is an IPv6 address, and the SID of each network device in the SRv6 network is an MPLS label. The virtual identity corresponding to the SID of each network device in the SR-MPLS network may be one virtual IPv6 address.
For example, taking the second network in fig. 10 as an SR-MPLS network as an example, the Node SID of the second network device 122 is END SID:2008: :1, adj SID is END.X SID:2008: :5, the Node SID of the second network device 123 is END SID:2004: :1, adj SID is END.X SID:2004: :7. the Node SID and Adj SID may refer to the above description.
For example, the gateway device may allocate a virtual IPv6 address 16011 to the Node SID (END SID:2008:: 1) of the second network device 122 and allocate a virtual IPv6 address 16021 to the Adj SID (end.x SID:2008:: 5) of the second network device 122 from the preset virtual identifier library. The gateway device may allocate 16009 as the virtual IPv6 address and 16052 as the virtual IPv6 address for the Node SID (END SID:2004:: 1) of the second network device 123 from the preset virtual ID library and allocate 1607 as the Adj SID (END. X SID:2004:: 7) of the second network device 123.
It should be noted that, in fig. 10, both the Adj SID of the second network device 122 and the Adj SID of the second network device 123 may be used to represent the SID of the second network device 121.
And S4, the gateway equipment informs the virtual identification corresponding to the SID of each second network equipment to each first network equipment in the first network. Correspondingly, each network device in the first network receives the virtual identifier corresponding to the SID of each second network device from the gateway device.
The gateway device may notify, according to a preset routing protocol, the virtual identifier or the virtual second network corresponding to the SID of each second network device to each first network device in the first network. The preset routing protocol may refer to the description of S2 above. The gateway device may further store a virtual identifier corresponding to the SID of each second network device. That is, the gateway device may store the correspondence between the SID of each second network device and the virtual identifier.
The execution order of S3 and S4 is not limited. For example, the execution sequence may be S1, S3, S2, S4, or the execution sequence may be S3, S4, S1, S2, or the execution sequence may be S3, S1, S4, S2.
In a possible implementation manner of the method shown in fig. 12, before step 1201, the method provided in the embodiment of the present application may further include: the first network device acquires the first data packet and sends the first data packet to the gateway device.
The first network device may be any one of the first network devices in fig. 10. The description of the first packet may refer to the method illustrated in fig. 12.
The first data packet may be configured for the first network device directly by a network administrator, or the first data packet may also be actively generated for the first network device, for example, the first network device may generate the first data packet when receiving the configuration instruction. The configuration instructions may be for instructing the second network device to request the first data. The second network device may be any of the second network devices in fig. 10. The configuration instructions may be sent by the SDN controller to the first network device, or may be input into the first network device by a worker through an input device/device, or may be from other network devices in the first network, without limitation.
In one example, the configuration information may include first address information of the first data. The first address information may be a virtual identifier of the second network device that receives the first data, that is, a virtual identifier of the destination network device. For example, the virtual identification of the second network device may be a virtual SID of the second network device. For example, when the second network is an SRv6 network and the first network is an SR-MPLS network, the virtual identifier of the second network device may be a virtual MPLS label. When the second network is an SR-MPLS network and the first network is an SRv6 network, the virtual identifier of the second network device may be a virtual IPv6 address.
In yet another example, the first indication information may include first transmission path information of the first data. The first transmission path information may include a virtual identification of the second network device. The first transmission path information may further include identification information of other devices, and the identification of the other devices may be: SID of other first network devices and virtual identification of other second network devices. For example, when the first network device is the first network device 111 in fig. 10 and the destination network device is the second network device 121 in fig. 10, the first transmission path information may further include the SID of the first network device 112 and the virtual identifier of the second network device 123. That is, the first transmission path is the first network device 111 → the first network device 112 → the gateway device 100 → the second network device 123 → the second network device 121.
The first transmission path information may further include information of other devices, for example, identification information of the gateway device. The identification information of the gateway device may be, without limitation, a number or a character, or a combination of a number and a character.
For example, taking the first transmission path as the first network device 111 → the first network device 112 → the gateway device 100 → the second network device 123 → the second network device 121 as an example, when the first network is SRv6 and the second network is SR-MPLS, the identification information of the first network device 111, the first network device 112, the gateway device 100, the second network device 123 and the second network device 121 may be as shown in table 5.
TABLE 5
Device name Identification information
First network device 111 17010
First network device 112 16007
Gateway device 100 10000
Second network device 123 16009
Second network device 121 16050
In table 5, 17011 is the IPv6 address of the first network device 111, 16007 is the IPv6 address of the first network device 113, 10000 is the SID of the gateway device, and 16009 is the virtual IPv6 address of the second network device 123. 16050 is the virtual IPv6 address of the second network device 121.
It should be noted that the virtual identifier of the second network device 121 may also be a virtual identifier corresponding to the Adj SID of the last-hop network device of the second network device 121, such as the virtual identifier corresponding to the Adj SID of the second network device 123 in fig. 10. That is, 16050 in table 5 may be replaced with 16052.
The first network device may send the first data packet to the gateway device according to the identification information of the gateway device. Alternatively, the first network device may send the first data packet to the gateway device according to a preset routing protocol. The predetermined routing protocol may be the first possible implementation described with reference to fig. 12.
The method of fig. 12 will be described in detail below in conjunction with the communication system of fig. 10.
As shown in fig. 13, for another data transmission method provided in the embodiment of the present application, the method may include:
step 130, the gateway device determines a virtual identifier corresponding to the SID of each first network device in the first network.
Step 131, the gateway device sends a virtual identifier corresponding to the SID of each first network device in the first network to each second network device in the second network. Correspondingly, each second network device in the second network receives the virtual identifier corresponding to the SID of each first network device from the gateway device.
In fig. 13, only one first network device and one second network device are shown. A plurality of first network devices and a plurality of second network devices may also be included in fig. 13, without limitation.
Step 132, the gateway device determines a virtual identifier corresponding to the SID of each second network device in the second network.
Step 133, the gateway device sends a virtual identifier corresponding to the SID of each second network device in the second network to each first network device in the first network. Correspondingly, each first network device in the first network receives the virtual identifier corresponding to the SID of each second network device from the gateway device.
Wherein, steps 130 to 133 are optional steps. The description of steps 130 to 133 may refer to the first possible implementation of fig. 12.
Step 134, the first network device obtains the first data packet.
Wherein, the first network device may be any one of the first network devices in fig. 10. The description of the first packet may refer to the method illustrated in fig. 12.
Step 135, the first network device sends the first data packet to the gateway device. Accordingly, the gateway device receives a first data packet from the first network device.
Step 136, the gateway device determines the SID of the second network device according to the virtual identifier of the second network device.
And step 137, the gateway device sends the second data packet to the device in the second network according to the SID of the second network device. Accordingly, the second network device receives the second packet from the gateway device.
Based on the technical scheme of the embodiment, the gateway device can send the data to the device in the second network only according to the virtual identifier of the second network device. The network equipment for generating the data packet does not need to support SRv6 and SR-MPLS simultaneously, and the gateway equipment does not need to maintain each network equipment, so that the cost is reduced.
Further, when the network device in the second network sends data to the network device in the first network through the gateway device, the process that the network device in the second network sends the data packet to the network device in the first network through the gateway device may refer to the process that the first network device sends the data packet to the second network device through the gateway device. For example, as shown in fig. 13, the data transmission method provided in the embodiment of the present application may further include:
step 138, the second network device obtains the third data packet.
The description of the third packet may refer to fig. 12.
And step 139, the second network device sends the third data packet to the gateway device according to the second indication information.
Step 140, the gateway device determines the SID of the first network device according to the virtual identifier of the first network device.
Step 141, the gateway device sends the fourth data packet to the device in the first network according to the SID of the first network device. Accordingly, the second network device receives the second packet from the gateway device.
The steps 138 to 141 may be referred to specifically as the steps 134 to 137. Wherein, steps 138 to 141 are optional steps.
All the schemes in the above embodiments of the present application can be combined without contradiction.
In the embodiments provided by the present application, the method provided by the embodiments of the present application is introduced from the perspective of interaction among the gateway device, the first network device, and the second network device. It is to be understood that, for each network element, for example, the gateway device, the first network device, and the second network device, to implement each function in the method provided in the foregoing embodiments of the present application, the gateway device, the first network device, and the second network device include corresponding hardware structures and/or software modules for performing each function. Those of skill in the art will readily appreciate that the various illustrative algorithmic steps described in connection with the embodiments disclosed herein may be embodied in hardware or in a combination of hardware and computer software. Whether a function is performed in hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiment of the present application, the gateway device, the first network device, and the second network device may be divided into functional modules according to the above method examples, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that, in the embodiment of the present application, the division of the module is schematic, and is only one logic function division, and there may be another division manner in actual implementation.
In case of using integrated units, fig. 14 shows a schematic diagram of a possible structure of the communication apparatus 1400 in the above embodiment, where the communication apparatus 1400 includes a communication unit 1410 and a processing unit 1420, and may further include a storage unit 1430. The schematic structural diagram shown in fig. 14 may be used to illustrate the structure of the gateway device in the above embodiment.
When the schematic structural diagram shown in fig. 14 is used to illustrate the structure of the gateway device in the above-described embodiment, the processing unit 1420 is configured to control and manage the actions of the gateway device, for example, the processing unit 1420 is configured to execute step 1202 in fig. 12, step 130, step 132, step 136, and step 140 in fig. 13, and execute, through the communication unit 1410, the actions performed by the gateway device in step 1201 and step 1203 in fig. 12, step 131, step 133, step 137, and step 141 in fig. 13, and/or in other processes described in this embodiment. Processing unit 1420 may communicate with other network entities, e.g., SDN controllers shown in fig. 2 or 3, through communication unit 1410. The storage unit 1430 is used to store program codes and data of the terminal device.
When the schematic structure diagram shown in fig. 14 is used to illustrate the structure of the gateway device in the above embodiment, the communication apparatus 1400 may be the gateway device, or may be a chip in the gateway device.
When the communication device 1400 is a gateway apparatus, the processing unit 1420 may be a processor or a controller, and the communication unit 1410 may be a communication interface, a transceiver circuit, a transceiver device, or the like. The communication interface is a generic term, and may include one or more interfaces. The storage unit 1430 may be a memory. When the communication apparatus 1400 is a chip within a gateway device, the processing unit 1420 may be a processor or a controller, and the communication unit 1410 may be an input interface and/or an output interface, pins or circuits, etc. The storage unit 1430 may be a storage unit (e.g., a register, a cache, etc.) in the chip, or may also be a storage unit (e.g., a read-only memory (ROM), a Random Access Memory (RAM), etc.) located outside the chip in the terminal device or the first access network device.
In the case of an integrated unit, fig. 15 shows a schematic diagram of a possible structure of the communication apparatus 1500 involved in the above embodiments, where the communication apparatus 1500 includes a communication unit 1510, and may further include a processing unit 1520 and a storage unit 1530. The schematic structural diagram shown in fig. 15 may be used to illustrate the structure of the first network device involved in the above embodiments.
When the schematic structure diagram shown in fig. 15 is used to illustrate the structure of the first network device in the foregoing embodiment, the processing unit 1520 is configured to perform control management on the action of the first network device, for example, the processing unit 1520 is configured to perform, through the communication unit 1510, the actions performed by the access network device in step 134 and step 135 in fig. 13 and/or in other processes described in this embodiment of the application. The processing unit 1520 may communicate with other network entities, e.g., the SDN controller shown in fig. 2, through the communication unit 1510. The storage unit 1530 is used to store program codes and data of the first network device.
When the schematic configuration diagram shown in fig. 15 is used to illustrate the configuration of the first network device in the above embodiment, the communication apparatus 1500 may be the first network device or a chip in the first network device.
When the communication device 1500 is a first network device, the processing unit 1520 may be a processor or a controller, and the communication unit 1510 may be a communication interface, a transceiver circuit, a transceiver device, or the like. The communication interface is a generic term and may include one or more interfaces. The memory unit 1530 may be a memory. When the communication apparatus 1500 is a chip within a first network device, the processing unit 1520 may be a processor or a controller, and the communication unit 1510 may be an input interface and/or an output interface, pins or circuits, and the like. The storage unit 1530 may be a storage unit (e.g., a register, a cache, etc.) in the chip, or may be a storage unit (e.g., a read-only memory (ROM), a Random Access Memory (RAM), etc.) located outside the chip in the terminal device or the first access network device.
The communication unit may also be referred to as a transceiver unit. The communication apparatus 1500 and the antenna and the control circuit having a transmitting and receiving function in the communication apparatus 1500 may be regarded as a communication unit of the communication apparatus, and the processor having a processing function may be regarded as a processing unit of the communication apparatus. Optionally, a device in the communication unit for implementing the receiving function may be regarded as a receiving unit, where the receiving unit is configured to perform the receiving step in the embodiment of the present application, and the receiving unit may be a receiver, a receiving circuit, and the like. The device for realizing the transmission function in the communication unit may be regarded as a transmission unit for performing the steps of transmission in the embodiments of the present application, and the transmission unit may be a transmitter, a transmission circuit, or the like.
In case of an integrated unit, fig. 16 shows a schematic diagram of a possible structure of the communication device 1600 involved in the above embodiments, and the communication device 1600 includes a communication unit 1610, and may further include a processing unit 1620 and a storage unit 1630. The schematic structural diagram shown in fig. 16 may be used to illustrate the structure of the first network device in the above embodiment.
When the schematic structure shown in fig. 16 is used to illustrate the structure of the second network device in the foregoing embodiment, the processing unit 1620 is configured to control and manage the action of the second network device, for example, the processing unit 1620 is configured to execute, through the communication unit 1610, step 138 and step 139 in fig. 13, and/or the action performed by the access network device in other processes described in this embodiment of the application. The processing unit 1620 may communicate with other network entities, e.g., the SDN controller shown in fig. 2, through the communication unit 1610. The storage unit 1630 is used to store program codes and data for the second network device.
When the schematic structure diagram shown in fig. 16 is used to illustrate the structure of the second network device in the above embodiment, the communication apparatus 1600 may be the second network device, or may be a chip in the second network device.
When the communication device 1600 is a second network device, the processing unit 1620 may be a processor or a controller, and the communication unit 1610 may be a communication interface, a transceiver circuit, a transceiver device, or the like. The communication interface is a generic term, and may include one or more interfaces. The storage unit 1630 may be a memory. When the communication apparatus 1600 is a chip in a second network device, the processing unit 1620 can be a processor or a controller, and the communication unit 1610 can be an input interface and/or an output interface, a pin or a circuit, etc. The storage unit 1630 may be a storage unit (e.g., a register, a cache, etc.) in the chip, or may also be a storage unit (e.g., a read-only memory (ROM), a Random Access Memory (RAM), etc.) located outside the chip in the terminal device or the first access network device.
The communication unit may also be referred to as a transceiver unit. The antenna and the control circuit having a transmitting and receiving function in the communication apparatus 1400, the communication apparatus 1500, and the communication apparatus 1600 can be regarded as a communication unit of the communication apparatus, and the processor having a processing function can be regarded as a processing unit of the communication apparatus. Optionally, a device in the communication unit for implementing the receiving function may be regarded as a receiving unit, where the receiving unit is configured to perform the receiving step in the embodiment of the present application, and the receiving unit may be a receiver, a receiving circuit, and the like. The device for realizing the transmission function in the communication unit may be regarded as a transmission unit for performing the steps of transmission in the embodiments of the present application, and the transmission unit may be a transmitter, a transmission circuit, or the like.
The integrated units of fig. 14, 15 and 16, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a first access network device) or a processor (processor) to execute all or part of the steps of the method described in the embodiments of the present application. A storage medium storing a computer software product comprising: u disk, removable hard disk, read only memory, random access memory, magnetic or optical disk, etc. for storing program codes.
The units in fig. 14, 15 and 16 may also be referred to as modules, for example, the processing units may be referred to as processing modules.
As shown in fig. 17, fig. 17 is a diagram illustrating an example of a communication system provided in an embodiment of the present application, including a gateway device 1710, a first network device 1720, and a second network device 1730.
The gateway device 1710 is configured to perform the actions performed by the gateway device in the above embodiments, for example, the gateway device 1710 is configured to perform step 1201, step 1202 and step 1203 in fig. 12, and step 130, step 131, step 132, step 133, step 136, step 137, step 140 and step 141 in fig. 13.
The first network device 1720 is configured to perform the actions performed by the first network device in the embodiments described above, for example, the first network device 1720 is configured to perform steps 134 and 135 in fig. 13.
The second network device 1730 is used to perform the actions performed by the second network device in the embodiments described above, e.g., the second network device 1730 is used to perform steps 138, 139 in fig. 13.
In implementation, the steps of the method provided by this embodiment may be implemented by hardware integrated logic circuits in a processor or instructions in the form of software. The steps of a method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in a processor.
Processors in the present application may include, but are not limited to, at least one of: various computing devices that run software, such as a Central Processing Unit (CPU), a microprocessor, a Digital Signal Processor (DSP), a Microcontroller (MCU), or an artificial intelligence processor, may each include one or more cores for executing software instructions to perform operations or processing. The processor may be a single semiconductor chip, or may be integrated with other circuits to form a semiconductor chip, for example, an SoC (system on chip) with other circuits (such as a codec circuit, a hardware acceleration circuit, or various buses and interface circuits), or may be integrated in the ASIC as a built-in processor of an ASIC, which may be packaged separately or may be packaged with other circuits. The processor may further include necessary hardware accelerators such as Field Programmable Gate Arrays (FPGAs), PLDs (programmable logic devices), or logic circuits implementing dedicated logic operations, in addition to cores for executing software instructions to perform operations or processes.
The memory in the embodiment of the present application may include at least one of the following types: read-only memory (ROM) or other types of static memory devices that may store static information and instructions, random Access Memory (RAM) or other types of dynamic memory devices that may store information and instructions, and Electrically erasable programmable read-only memory (EEPROM). In some scenarios, the memory may also be, but is not limited to, a compact disk-read-only memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
Embodiments of the present application also provide a computer-readable storage medium, which includes instructions that, when executed on a computer, cause the computer to perform any of the above methods.
Embodiments of the present application also provide a computer program product containing instructions that, when executed on a computer, cause the computer to perform any of the methods described above.
An embodiment of the present application further provides a communication system, including: the access network equipment and the terminal equipment.
Embodiments of the present application further provide a chip, where the chip includes a processor and an interface circuit, where the interface circuit is coupled to the processor, the processor is configured to execute a computer program or instructions to implement the foregoing method, and the interface circuit is configured to communicate with other modules outside the chip.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented using a software program, it 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. The procedures or functions described in accordance with the embodiments of the present application are all or partially generated upon loading and execution of computer program instructions on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL), for short) or wireless (e.g., infrared, wireless, microwave, etc.). Computer-readable storage media can be any available media that can be accessed by a computer or can comprise one or more data storage devices, such as servers, data centers, and the like, that can be integrated with the media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), among others.
While the present application has been described in connection with various embodiments, other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from a review of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the word "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Although the present application has been described in conjunction with specific features and embodiments thereof, it will be evident that various modifications and combinations may be made thereto without departing from the spirit and scope of the application. Accordingly, the specification and drawings are merely illustrative of the present application as defined in the appended claims and are intended to cover any and all modifications, variations, combinations, or equivalents within the scope of the application. It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (17)

1. A data transmission method, applied to a gateway device, the data transmission method comprising:
the gateway device receives a first data packet from a first network device, the first data packet comprising: the first data and the first address information, where the first address information is a virtual identifier of a second network device, the second network device is a device on a transmission path of the first data packet, the first network device is in a first network, the second network device is in a second network, and the first network and the second network correspond to different segment routing SR protocols;
the gateway equipment determines a sectional routing identification (SID) of the second network equipment according to the virtual identification of the second network equipment;
and the gateway equipment sends a second data packet to equipment in the second network according to the SID of the second network equipment and a preset routing strategy, wherein the second data packet comprises the first data and second address information, and the second address information is the SID of the second network equipment.
2. The data transmission method according to claim 1, wherein the determining, by the gateway device, the segment routing identity SID of the second network device according to the virtual identity of the second network device includes:
and the gateway equipment determines the SID of the second network equipment according to the corresponding relation between the virtual identifier of the second network equipment and the SID of the second network equipment.
3. The data transmission method according to claim 1 or 2, characterized in that the data transmission method further comprises:
the gateway device determines a virtual identifier corresponding to the SID of each second network device in the second network;
and the gateway equipment sends a virtual identifier corresponding to the SID of each second network equipment in the second network to each first network equipment in the first network.
4. The data transmission method according to any one of claims 1 to 3,
when the first network is a segment routing internet protocol 6SRv6 network and the second network is a segment routing-multiprotocol label switching (SR-MPLS) network, the virtual identifier of the second network equipment is a virtual IPv6 address, and the SID of the second network equipment is an MPLS label; alternatively, the first and second liquid crystal display panels may be,
when the first network is the SR-MPLS network and the second network is the SRv6 network, the virtual identifier of the second network device is a virtual MPLS label, and the SID of the second network device is an IPv6 address.
5. A data transmission method, characterized in that the data transmission method comprises:
a first network device determines a first data packet, the first data packet comprising: the method comprises the steps that first data and first address information are obtained, the first address information is a virtual identifier of second network equipment, the second network equipment is equipment on a transmission path included by the first data, the first network equipment is located in a first network, the second network equipment is located in a second network, and the first network and the second network correspond to different Segment Routing (SR) protocols;
the first network device sends the first data packet to a gateway device, so that the gateway device determines the SID of the second network device according to the virtual identifier of the second network device, and sends a second data packet to a device in the second network according to the SID of the second network device and a preset routing policy, where the second data packet includes the first data and second address information, and the second address information is the SID of the second network device.
6. The data transmission method according to claim 5, wherein the data transmission method further comprises:
and the first network equipment receives a virtual identifier corresponding to the SID of each second network equipment in the second network from the gateway equipment.
7. The data transmission method according to claim 5 or 6,
when the first network is a segmented routing internet protocol 6SRv6 network and the second network is a segmented routing-multiprotocol label switching (SR-MPLS) network, the virtual identifier of the second network equipment is a virtual IPv6 address, and the SID of the second network equipment is an MPLS label; alternatively, the first and second electrodes may be,
when the first network is the SR-MPLS network and the second network is the SRv6 network, the virtual identifier of the second network device is a virtual MPLS label, and the SID of the second network device is an IPv6 address.
8. The communication device is applied to a gateway device and comprises a processing unit and a communication unit;
the communication unit is configured to receive a first packet from a first network device, where the first packet includes: first data and first address information, where the first address information is a virtual identifier of a second network device, the second network device is a device on a transmission path of the first data packet, the first network device is in a first network, the second network device is in a second network, and the first network and the second network correspond to different segment routing SR protocols;
the processing unit is configured to determine a segment routing identifier SID of the second network device according to the virtual identifier of the second network device;
the communication unit is further configured to send a second data packet to a device in the second network according to the SID of the second network device and a preset routing policy, where the second data packet includes the first data and second address information, and the second address information is the SID of the second network device.
9. The communication device of claim 8,
the processing unit is specifically configured to determine the SID of the second network device according to a correspondence between the virtual identifier of the second network device and the SID of the second network device.
10. The communication device according to claim 8 or 9,
the processing unit is further configured to determine a virtual identifier corresponding to a SID of each second network device in the second network;
the communication unit is further configured to send, to each first network device in the first network, a virtual identifier corresponding to the SID of each second network device in the second network.
11. The communication device according to any one of claims 8 to 10,
when the first network is a segment routing internet protocol 6SRv6 network and the second network is a segment routing-multiprotocol label switching (SR-MPLS) network, the virtual identifier of the second network equipment is a virtual IPv6 address, and the SID of the second network equipment is an MPLS label; alternatively, the first and second electrodes may be,
and when the first network is the SR-MPLS network and the second network is the SRv6 network, the virtual identifier of the second network device is a virtual MPLS label, and the SID of the second network device is an IPv6 address.
12. A communication apparatus, applied to a first network device, includes a communication unit and a processing unit;
the processing unit is configured to determine a first data packet, where the first data packet includes: the first data and the first address information, where the first address information is a virtual identifier of a second network device, the second network device is a device on a transmission path of the first data packet, the first network device is in a first network, the second network device is in a second network, and the first network and the second network correspond to different segment routing SR protocols;
the communication unit is configured to send the first data packet to a gateway device, so that the gateway device determines a SID of the second network device according to a virtual identifier of the second network device, and sends a second data packet to a device in the second network according to the SID of the second network device and a preset routing policy, where the second data packet includes the first data and second address information, and the second address information is the SID of the second network device.
13. The communication device of claim 12,
the communication unit is further configured to receive, from the gateway device, a virtual identifier corresponding to a SID of each second network device in the second network.
14. The communication device according to claim 12 or 13,
when the first network is a segmented routing internet protocol 6SRv6 network and the second network is a segmented routing-multiprotocol label switching (SR-MPLS) network, the virtual identifier of the second network equipment is a virtual IPv6 address, and the SID of the second network equipment is an MPLS label; alternatively, the first and second electrodes may be,
and when the first network is the SR-MPLS network and the second network is the SRv6 network, the virtual identifier of the second network device is a virtual MPLS label, and the SID of the second network device is an IPv6 address.
15. A communications device comprising means for performing the data transmission method of any of claims 1-4, or any of claims 5-7.
16. A communications device comprising a processor and interface circuitry for receiving and transmitting signals from or to other devices than the communications device, the processor being arranged to implement, by means of logic circuitry or executing code instructions, a data transmission method as claimed in any one of claims 1 to 4 or any one of claims 5 to 7.
17. A computer-readable storage medium, in which a computer program or instructions are stored which, when executed by a communication apparatus, implement the data transmission method of any one of claims 1 to 4, or any one of claims 5 to 7.
CN202010374759.1A 2020-05-06 2020-05-06 Data transmission method and communication device Active CN113630316B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010374759.1A CN113630316B (en) 2020-05-06 2020-05-06 Data transmission method and communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010374759.1A CN113630316B (en) 2020-05-06 2020-05-06 Data transmission method and communication device

Publications (2)

Publication Number Publication Date
CN113630316A CN113630316A (en) 2021-11-09
CN113630316B true CN113630316B (en) 2022-12-06

Family

ID=78376775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010374759.1A Active CN113630316B (en) 2020-05-06 2020-05-06 Data transmission method and communication device

Country Status (1)

Country Link
CN (1) CN113630316B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112416A (en) * 2021-11-11 2023-05-12 中兴通讯股份有限公司 Message forwarding method, electronic equipment and storage medium
CN114900756B (en) * 2022-05-10 2024-04-09 中国联合网络通信集团有限公司 Data transmission method and device and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729388A (en) * 2008-10-22 2010-06-09 华为技术有限公司 Method, media gateway and network system for realizing network address conversion
WO2018059284A1 (en) * 2016-09-27 2018-04-05 阿里巴巴集团控股有限公司 Data transmission method and network equipment
CN110266592A (en) * 2019-06-21 2019-09-20 Ut斯达康通讯有限公司 The communication means and device of SRV6 network and IP MPLS network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729388A (en) * 2008-10-22 2010-06-09 华为技术有限公司 Method, media gateway and network system for realizing network address conversion
WO2018059284A1 (en) * 2016-09-27 2018-04-05 阿里巴巴集团控股有限公司 Data transmission method and network equipment
CN110266592A (en) * 2019-06-21 2019-09-20 Ut斯达康通讯有限公司 The communication means and device of SRV6 network and IP MPLS network

Also Published As

Publication number Publication date
CN113630316A (en) 2021-11-09

Similar Documents

Publication Publication Date Title
CN111510379B (en) EVPN message processing method, device and system
CN108574630A (en) EVPN message processing methods, equipment and system
CN112087386B (en) Message processing method, device and system
KR102544995B1 (en) Method for forwarding packet in hybrid network, device, and system
CN110912796B (en) Communication method, device and system
JP7355854B2 (en) Transfer route determination method and device
WO2015192501A1 (en) Address information publishing method and apparatus
JP7479489B2 (en) Packet transmission method, device, and system
EP4099648A1 (en) Method for processing segment id, and apparatus
US20230300070A1 (en) Packet Sending Method, Device, and System
WO2016124049A1 (en) Method and apparatus for obtaining port path
CN112583711A (en) Message processing method and device
CN113630316B (en) Data transmission method and communication device
CN111510388B (en) Method, device and system for determining forwarding path
WO2021057530A1 (en) Method, apparatus and system for determining mapping relationship between routing prefix and segment identification
WO2022184169A1 (en) Packet forwarding method and system, storage medium, and electronic device
WO2021232906A1 (en) Method for determining packet forwarding and backup path and related device
CN111464443B (en) Message forwarding method, device, equipment and storage medium based on service function chain
CN113726652B (en) Notification information processing method and device and storage medium
WO2023274083A1 (en) Route publishing method and apparatus, packet forwarding method and apparatus, device, and storage medium
CN112532563A (en) Message sending method and device
CN116489237A (en) Data packet processing method and device and network equipment
CN114567544A (en) Route notification method, device and system
WO2023109398A1 (en) Packet transmission method and apparatus
US10924395B2 (en) Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core

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
GR01 Patent grant
GR01 Patent grant