WO2020156105A1 - 数据转发方法及相关装置 - Google Patents

数据转发方法及相关装置 Download PDF

Info

Publication number
WO2020156105A1
WO2020156105A1 PCT/CN2020/071570 CN2020071570W WO2020156105A1 WO 2020156105 A1 WO2020156105 A1 WO 2020156105A1 CN 2020071570 W CN2020071570 W CN 2020071570W WO 2020156105 A1 WO2020156105 A1 WO 2020156105A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
sid
forwarded
message
sid sequence
Prior art date
Application number
PCT/CN2020/071570
Other languages
English (en)
French (fr)
Inventor
张永康
刘世兴
徐新海
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP20749251.3A priority Critical patent/EP3907942A4/en
Priority to JP2021544358A priority patent/JP7290732B2/ja
Publication of WO2020156105A1 publication Critical patent/WO2020156105A1/zh
Priority to US17/386,954 priority patent/US20210377173A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical 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/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • 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/42Centralised 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS

Definitions

  • This application relates to the field of data communication technology, in particular to data forwarding methods and related devices.
  • the data information is sent by the user's terminal equipment to the access equipment of the data transmission network, and then transmitted to the backbone network of the data transmission network via the access equipment.
  • the data transmission network needs to determine the target forwarding path of the data information according to the business requirements of the data information.
  • the data transmission network needs to encapsulate the header of the data information at the starting node of control, which can be called the head node, which carries the target forwarding path.
  • the length of the target forwarding path may be greater than the maximum path supported by the equipment in the data transmission network, which may cause the data information to be unable to be normally transmitted in the data transmission network.
  • This application provides a data forwarding method and related devices, which are used to solve the problem that data information cannot be normally transmitted in a data transmission network due to an excessively long target forwarding path.
  • this application provides a data forwarding method, the method including:
  • the head node obtains the data to be forwarded
  • the head node obtains the first SID sequence corresponding to the data to be forwarded, where the first SID sequence is generated according to the SIDs of some nodes in the target forwarding path;
  • the head node encapsulates the packet header containing the first SID sequence at the front end of the data to be forwarded to obtain the packet to be forwarded;
  • the head node sends the message to be forwarded according to the first SID sequence
  • the target forwarding path includes M nodes, the first SID sequence is generated according to the first N nodes among the M nodes, and the first SID sequence is replaced with a second SID sequence at an intermediate node ,
  • the second SID sequence is generated according to the Xth to Yth nodes of the M nodes, where M is greater than N, N is greater than or equal to 1, X is greater than or equal to N, and Y is less than or equal to M .
  • the SID sequence of the front end added by the head node to the data to be forwarded is generated according to some of the M nodes .
  • the first sub-path contains the first N nodes. This can shorten the maximum number of SIDs that need to be supported for device transmission in the data transmission network, thereby ensuring normal data transmission when the target forwarding path is long.
  • the method before acquiring the first SID sequence corresponding to the data to be forwarded, the method includes: the head node receives the SR policy sent by the controller, and the SR policy includes the first SID sequence. SID sequence;
  • the obtaining the first SID sequence corresponding to the data to be forwarded includes: the head node obtains the SR policy corresponding to the data to be forwarded according to the service attribute of the data to be forwarded; and including the SR policy
  • the SID sequence of is determined as the first SID sequence corresponding to the data to be forwarded.
  • the obtaining the first SID sequence corresponding to the data to be forwarded includes: the head node obtaining the SID of the head node itself, and reading the function field and the parameter Argument field therein
  • the function field is used to indicate that a packet header containing the first SID sequence is encapsulated at the front end of the data to be forwarded, and the Argument field is used to indicate the first SID sequence.
  • the head node is connected to the ingress edge node of the DCN through a basic forwarding network
  • the target forwarding path includes: an ingress edge node of the DCN, at least one SF node in the DCN, and an egress edge node of the DCN;
  • the first SID sequence is generated based on the SID of the ingress edge node of the DCN; the second SID sequence is generated based on at least one SF in the DCN and the egress edge node of the DCN; the first A SID sequence is used to replace the second SID sequence at the ingress edge node of the DCN;
  • the sending the message to be forwarded according to the first SID sequence includes: sending the message to be forwarded to the ingress edge node of the DCN through the basic forwarding network according to the first SID sequence.
  • the SIDs of the internal nodes in the DCN network can be prevented from being exposed to the basic forwarding network, so that the The data forwarding method is applied to scenarios such as telecom cloud networks.
  • the head node is connected to the ingress edge node of the first DCN subnet in the DCN through the first basic forwarding network in the basic forwarding network;
  • the egress edge node of the first DCN subnet is connected to the The ingress edge node of the second DCN subnet in the DCN is connected through the second basic forwarding network in the basic forwarding network;
  • the target forwarding path includes: an ingress edge node of the first DCN subnet, at least one SF node in the first DCN subnet, an egress edge node of the first DCN subnet, and the second DCN An ingress edge node of the subnet, at least one SF node in the second DCN subnet, and an egress edge node of the second DCN subnet;
  • the first SID sequence is generated according to the SID of the ingress edge node of the first DCN subnet; the first SID sequence is replaced with the second SID at the ingress edge node of the first DCN subnet Sequence, the second SID sequence is generated based on at least one SF in the first DCN subnet and the egress edge node of the first DCN subnet; the second SID sequence is used to The egress edge node of the DCN subnet is replaced with a third SID sequence, the third SID sequence being generated according to the ingress edge node of the second DCN subnet;
  • the sending the message to be forwarded according to the first SID sequence includes: sending the message to the ingress edge node of the first DCN subnet through the first basic forwarding network according to the first SID sequence. Describe the message to be forwarded.
  • the head node is PRE-AGG
  • the first DCN subnet is an EDC network
  • the second DCN subnet is an RDC network
  • the ingress edge node and egress edge of the EDC network The nodes are all PE-AGG, and the ingress edge node and the egress edge node of the RDC network are both DCGWs; for example, the SID of the ingress edge node and the SID of the egress edge node of the EDC network are respectively the SID1 of PE-AGG And SID2, the SID of the ingress edge node and the SID of the egress edge node of the RDC network are SID1 and SID2 of the DCGW, respectively.
  • At least one SF node in the first DCN subnet and at least one SF node in the second DCN subnet are SF nodes in a telecom cloud network
  • the first basic forwarding network is a Metro network
  • the second basic forwarding network is a Core network.
  • the Mth node in the target forwarding path is the target node of the VPN service corresponding to the data to be forwarded;
  • the encapsulating the message header containing the first SID sequence in the front end of the data to be forwarded includes:
  • the sending the message to be forwarded according to the first SID sequence includes: sending the message to be forwarded according to the first SID sequence in the outer packet header.
  • the message to be forwarded is an SRv6 message.
  • this application provides a data forwarding method, the method including:
  • the intermediate node receives the message to be forwarded, and the message header of the message to be forwarded includes the first SID sequence;
  • the intermediate node obtains the second SID sequence corresponding to the message to be forwarded
  • the intermediate node replaces the first SID sequence in the message header with the second SID sequence
  • the intermediate node sends the message to be forwarded according to the second SID sequence
  • the first SID sequence and the second SID sequence are generated according to the SIDs of some nodes in the target forwarding path;
  • the target forwarding path includes M nodes, and the first SID sequence is based on the M
  • the SIDs from the Xth node to the Yth node in the nodes are generated, and the second SID sequence is generated according to the SIDs from the Y+1th node to the Zth node in the M nodes, and the X Is greater than or equal to 1, the Y is greater than or equal to X, and the Z is less than or equal to M.
  • the message to be forwarded is an SRv6 message.
  • the intermediate node is the Yth node among the M nodes.
  • the method before acquiring the second SID sequence corresponding to the message to be forwarded, the method includes: the intermediate node receives the SR policy sent by the controller, and the SR policy includes the first SID sequence. Two SID sequence;
  • the obtaining the second SID sequence corresponding to the message to be forwarded includes: when the Active SID in the first SID sequence is the SID of the intermediate node, the intermediate node obtains an operation instruction, the operation instruction Used to instruct the intermediate node to replace the first SID sequence in the message to be forwarded with the second SID sequence contained in the SR policy;
  • the second SID sequence included in the SR policy is determined to be the second SID sequence corresponding to the message to be forwarded;
  • the replacing the first SID sequence in the message header with the second SID sequence includes: replacing the first SID sequence in the message header according to the instruction of the operation instruction Is the second SID sequence.
  • the acquiring the second SID sequence corresponding to the data to be forwarded includes: the intermediate node acquiring the SID of the intermediate node itself, and reading the function field and the parameter Argument field therein
  • the function field is used to indicate to replace the first SID sequence with a second SID sequence
  • the Argument field is used to indicate the second SID sequence.
  • the intermediate node is an ingress edge node of the DCN, and the intermediate node is connected to a basic forwarding network;
  • the target forwarding path includes: an ingress edge node of the DCN, at least one SF node in the DCN, and an egress edge node of the DCN;
  • the first SID sequence is generated according to the SID of the ingress edge node of the DCN;
  • the second SID sequence is generated according to the SID of at least one SF node in the DCN and the egress edge node of the DCN;
  • the intermediate node receiving the message to be forwarded includes: the intermediate node receives the message to be forwarded sent by the head node through a basic forwarding network;
  • the sending the message to be forwarded according to the second SID sequence includes: sending the message to the first SF of at least one SF node of the DCN through the internal node of the DCN according to the second SID sequence.
  • the node sends the message to be forwarded.
  • the intermediate node is an egress edge node of the first DCN subnet in the DCN, and the egress edge node of the first DCN subnet is connected to the second DCN subnet of the DCN.
  • the ingress edge node is connected through the basic forwarding network;
  • the target forwarding path includes: an ingress edge node of the first DCN subnet, at least one SF node in the first DCN subnet, an egress edge node of the first DCN subnet, and the second DCN An ingress edge node of the subnet, at least one SF node in the second DCN subnet, and an egress edge node of the second DCN subnet;
  • the first SID sequence is generated according to at least one SF node in the first DCN subnet and an egress edge node of the first DCN subnet;
  • the second SID sequence is generated according to the ingress edge node of the second DCN subnet; or, the second SID sequence is generated according to at least one SF node in the second DCN subnet and the second Generated by the egress edge node of the DCN subnet;
  • the receiving of the message to be forwarded by the intermediate node includes: the intermediate node receives the last SF node of the at least one SF node in the first DCN subnet through an internal node of the first DCN subnet
  • the message to be forwarded includes: according to the second SID sequence, to the second DCN subnet through the basic forwarding network
  • the first DCN subnet is an EDC network
  • the second DCN subnet is an RDC network
  • the ingress edge node and the egress edge node of the EDC network are both PE-AGG
  • the ingress edge node and the egress edge node of the RDC network are both DCGWs
  • the SID of the ingress edge node and the SID of the egress edge node of the EDC network are SID1 and SID2 of PE-AGG respectively
  • the SID of the ingress edge node of the RDC network The SID and the SID of the egress edge node are respectively the SID1 and SID2 of the DCGW.
  • At least one SF node in the EDC network and at least one SF node in the RDC network are SF nodes in a telecom cloud network.
  • the Z is less than M
  • the Mth node in the target forwarding path is the SID of the target node of the VPN service corresponding to the message to be forwarded;
  • the message to be forwarded has an outer message header and an inner message header, where:
  • the outer packet header is encapsulated at the front end of the inner packet header
  • the outer packet header includes the first SID sequence, and the inner packet header includes the target node of the VPN service;
  • the replacing the first SID sequence in the message header with the second SID sequence includes: replacing the first SID sequence in the outer message header with the second SID sequence;
  • the sending the message to be forwarded according to the second SID sequence includes: sending the message to be forwarded according to the second SID sequence in the outer packet header.
  • this application provides a data forwarding method, the method including:
  • the tail node receives the message to be forwarded, and the header of the message to be forwarded includes a second SID sequence, and the second SID sequence is generated according to the SIDs of some nodes in the target forwarding path;
  • the tail node removes the header of the message to be forwarded to obtain the data to be forwarded;
  • the tail node forwards the data to be forwarded according to the destination address of the data to be forwarded;
  • the target forwarding path includes M nodes, and the second SID sequence is generated according to the SIDs from the Zth node to the Mth node among the M nodes; the second SID sequence is in the middle The node is obtained by replacing the first SID sequence.
  • the first SID sequence is generated from the Xth node to the Yth node in the M nodes, and the Z is greater than 1 and less than or equal to M, and the X Is greater than or equal to 1, the Y is less than or equal to Z, and the SID of the tail node is the last SID in the second SID sequence.
  • this application provides a data forwarding method, characterized in that the method includes:
  • the tail node receives the message to be forwarded, the message to be forwarded includes an outer message header and an inner message header, the outer message header includes a second SID sequence, and the second SID sequence is forwarded according to the target Generated by the SIDs of some nodes in the path, and the inner packet header contains the SID of the target node of the VPN service corresponding to the packet to be forwarded;
  • the tail node removes the outer packet header of the message to be forwarded to obtain the message to be forwarded;
  • the tail node forwards the message to be forwarded after removing the outer packet header to the target node of the VPN service corresponding to the message to be forwarded;
  • the target forwarding path includes M nodes, and the second SID sequence is generated according to the SIDs of the Xth node to the M-1th node among the M nodes; the X is greater than 1, so The SID of the tail node is the last SID in the second SID sequence; the target node of the VPN service is the Mth node.
  • this application provides a data forwarding method, the method including:
  • the controller obtains a target forwarding path, where the target forwarding path includes M nodes;
  • the controller generates a first SID sequence according to the SIDs of the first to Nth nodes among the M nodes;
  • the controller generates a second SID sequence according to the SIDs of the Xth to Yth nodes among the M nodes;
  • the controller sends the first SID sequence to the head node
  • the controller sends the second SID sequence to the intermediate node
  • the intermediate node is the Nth node among the M nodes, N is greater than or equal to 1, X is equal to N or N+1, and Y is less than or equal to M;
  • the head node is configured to encapsulate the message header containing the first SID sequence at the front end of the data to be forwarded, generate the message to be forwarded, and send the message to be forwarded to the intermediate node according to the first SID sequence Message
  • the intermediate node is configured to replace the first SID sequence in the header of the message to be forwarded with the second SID sequence, and forward the message to be forwarded according to the second SID sequence.
  • the sending the first SID sequence to the head node includes: sending an SR policy1 to the head node, where the SR policy1 includes the first SID sequence;
  • the sending the second SID sequence to the intermediate node includes: sending an SR policy2 to the intermediate node, where the SR policy2 includes the second SID sequence.
  • the Y is smaller than M
  • the Mth node is the target node of the VPN service
  • the head node is also used to encapsulate the inner packet header of the target node of the VPN service in the front end of the data to be forwarded, and
  • the outer layer packet header containing the first SID sequence is encapsulated in the front end of the inner layer packet header to generate a packet to be forwarded, and send the message to the middle layer according to the first SID sequence in the outer layer packet header.
  • the node sends the message to be forwarded.
  • the controller is a DCN controller in the DCN.
  • this application provides a data forwarding system, which includes:
  • a head node where the head node is used to execute the data forwarding method described in the first aspect
  • At least one intermediate node the intermediate node is used to execute the data forwarding method described in the second aspect of the claim.
  • the system further includes a tail node, and the tail node is configured to execute the data forwarding method described in the third aspect or the fourth aspect.
  • the head node may be a PE-AGG
  • the intermediate node may be a PRE-AGG or a DCGW
  • the tail node may be a DCGW.
  • the system further includes a controller configured to execute the data forwarding method described in the fifth aspect.
  • the controller can be a DCN controller.
  • the present application provides a data forwarding device applied to a network system.
  • the network system includes a head node, an intermediate node, and a tail node.
  • the device is located at the head node and includes:
  • the receiving module is used to receive the data to be forwarded
  • a processing module configured to obtain a first SID sequence corresponding to the data to be forwarded, the first SID sequence being generated according to the SIDs of some nodes in the target forwarding path; and a message containing the first SID sequence Header, encapsulated in the front end of the data to be forwarded to obtain the message to be forwarded;
  • the sending module is configured to send the message to be forwarded according to the first SID sequence; wherein, the target forwarding path includes M nodes, and the first SID sequence is based on the first N of the M nodes Node generation, the first SID sequence is replaced with a second SID sequence at the intermediate node, and the second SID sequence is generated according to the Xth to Yth nodes in the M nodes, where M Is greater than N, N is greater than or equal to 1, X is greater than or equal to N, and Y is less than or equal to M.
  • the present application provides a data forwarding device applied to a network system.
  • the network system includes a head node, an intermediate node, and a tail node.
  • the device is located at the intermediate node and includes:
  • a receiving module configured to receive a message to be forwarded, the message header of the message to be forwarded includes a first SID sequence
  • a processing module configured to obtain a second SID sequence corresponding to the message to be forwarded; and replace the first SID sequence in the message header with the second SID sequence;
  • a sending module configured to send the message to be forwarded according to the second SID sequence; wherein the first SID sequence and the second SID sequence are generated according to the SIDs of some nodes in the target forwarding path;
  • the target forwarding path includes M nodes, the first SID sequence is generated according to the SIDs from the Xth node to the Yth node among the M nodes, and the second SID sequence is generated according to the M nodes.
  • SIDs from the Y+1th node to the Zth node in the nodes are generated, where X is greater than or equal to 1, Y is greater than or equal to X, and Z is less than or equal to M.
  • this application provides a data forwarding device applied to a network system.
  • the network system includes a head node, an intermediate node, and a tail node.
  • the device is located at the tail node and includes:
  • a receiving module configured to receive a message to be forwarded, the message header of the message to be forwarded includes a second SID sequence, and the second SID sequence is generated according to the SIDs of some nodes in the target forwarding path;
  • a processing module for removing the header of the message to be forwarded to obtain the data to be forwarded
  • a sending module configured to forward the data to be forwarded according to the destination address of the data to be forwarded
  • the target forwarding path includes M nodes, and the second SID sequence is generated according to the SIDs from the Zth node to the Mth node among the M nodes; the second SID sequence is in the middle The node is obtained by replacing the first SID sequence.
  • the first SID sequence is generated from the Xth node to the Yth node in the M nodes, the Z is greater than 1 and less than or equal to M, and the X Is greater than or equal to 1, the Y is less than or equal to Z, and the SID of the tail node is the last SID in the second SID sequence.
  • this application provides a data forwarding device applied to a network system.
  • the network system includes a head node, an intermediate node, and a tail node.
  • the device is located at the tail node and includes:
  • the receiving module is configured to receive a message to be forwarded, the message to be forwarded includes an outer message header and an inner message header, the outer message header includes a second SID sequence, and the second SID sequence is Generated according to the SIDs of some nodes in the target forwarding path, the inner packet header includes the SID of the target node of the VPN service corresponding to the packet to be forwarded;
  • a processing module configured to remove the outer packet header of the message to be forwarded to obtain the message to be forwarded;
  • the sending module is configured to forward the message to be forwarded after removing the outer packet header to the target node of the VPN service corresponding to the message to be forwarded; wherein, the target forwarding path includes M nodes, and the first The second SID sequence is generated based on the SIDs from the Xth node to the M-1th node in the M nodes; the X is greater than 1, and the SID of the tail node is the last in the second SID sequence One SID; the target node of the VPN service is the Mth node.
  • the present application provides a data forwarding device applied to a network system.
  • the network system includes a head node, an intermediate node, a tail node, and a controller.
  • the device is located in the controller and includes:
  • a receiving module configured to obtain a target forwarding path, where the target forwarding path includes M nodes;
  • a processing module configured to generate a first SID sequence according to the SIDs of the 1st to Nth nodes among the M nodes; and, according to the SIDs of the Xth to Yth nodes among the M nodes , Generate the second SID sequence;
  • the sending module is configured to send the first SID sequence to the head node; and send the second SID sequence to the intermediate node; wherein the intermediate node is the Nth node among the M nodes, and N is greater than Or equal to 1, X equals N or N+1, Y is less than or equal to M;
  • the head node is configured to use the first SID sequence as the destination address in the message header, encapsulate the message header at the front end of the data to be forwarded, and generate the message to be forwarded , And send the message to be forwarded to the intermediate node according to the destination address; the intermediate node is used to replace the first SID sequence in the header of the message to be forwarded with the first SID sequence Two SID sequences, and forward the message to be forwarded according to the destination address in the replaced message header.
  • the data forwarding device may be located on the controller side.
  • this application provides a node device, including:
  • One or more processors are One or more processors;
  • Storage device for storing one or more programs
  • one or more processors When one or more programs are executed by one or more processors, one or more processors implement the data forwarding method in the first aspect above, or the data forwarding method in the second aspect above, or, as The data forwarding method in the third aspect described above, or the data forwarding method in the fourth aspect described above.
  • the node device may be a PRE-AGG, and the node device may execute the data forwarding method in the first aspect described above.
  • the node device may be a PE-AGG, and the node device may execute the data forwarding method in the second aspect described above, or the data forwarding method in the first aspect.
  • the node device may be a DCGW, and the node device may execute the data forwarding method in the second aspect, and/or the data forwarding method in the third aspect, or the node device may execute The data forwarding method in the first aspect and the data forwarding method in the third aspect are described above.
  • the present application provides a computer-readable storage medium.
  • the computer-readable storage medium stores instructions. When the instructions are run on a computer, they are used to execute any one of the first to fourth aspects above. Data forwarding method.
  • this application provides a computer program, when the computer program is executed by a computer, it is used to execute the data forwarding method in any one of the first to fourth aspects.
  • Figure 1 is a schematic diagram 1 of a network architecture
  • FIG. 2 is a schematic diagram 1 of the interaction process of the data forwarding method provided by an embodiment of the application
  • FIG. 3 is a second schematic diagram of the interaction process of the data forwarding method provided by an embodiment of the application.
  • Figure 4 is a second schematic diagram of a network architecture
  • Figure 5 is a third schematic diagram of a network architecture
  • FIG. 6 is a third schematic diagram of the interaction process of the data forwarding method provided by an embodiment of the application.
  • Figure 7 is a schematic diagram four of a network architecture
  • FIG. 8 is a fourth schematic diagram of the interaction process of the data forwarding method provided by an embodiment of this application.
  • FIG. 9 is a schematic diagram of a network architecture in which the data forwarding method provided by an embodiment of the application is applied to a business scenario
  • FIG. 10 is a schematic diagram of the overall framework of a processing procedure in which the data forwarding method provided by an embodiment of the application is applied to a business scenario;
  • FIG. 11 is a first processing flowchart of applying the data forwarding method provided by an embodiment of the application to a business scenario
  • FIG. 12 is a second processing flowchart of applying the data forwarding method provided by an embodiment of the application to a business scenario
  • FIG. 13 is a schematic structural diagram of a data forwarding device provided by an embodiment of the application.
  • Figure 14 is a schematic structural diagram of a node device provided by an embodiment of the application.
  • the technical solution provided in this application is used to implement a control process of transmitting data to be forwarded in a data transmission network according to a preset target forwarding path.
  • the data transmission network may be composed of several nodes, and the target forwarding path may be defined as a sequence of node identities composed of the node identities of at least two nodes.
  • the data forwarding method provided in this application can be applied to a variety of network architectures.
  • the technical solutions and technical effects of the data forwarding method provided in this application will be described below in combination with various network architectures.
  • Figure 1 is a schematic diagram 1 of a network architecture.
  • the data transmission network may include a head node, a tail node, an intermediate node, and other nodes.
  • the head node may be the start node that controls the forwarding process of the data to be forwarded according to the target forwarding path
  • the tail node may be the end node of the control process
  • the intermediate node may be a node in the target forwarding path
  • other nodes may be located in the transmission network.
  • Other locations for example, other nodes may be located before the head node, after the tail node, between intermediate nodes, etc.
  • the target forwarding path may include at least one intermediate node, and each intermediate node in the target forwarding path may be adjacent or connected through other nodes.
  • the target forwarding path may also include one or more other nodes. In the embodiment of the present application, the target forwarding path may not include the head node, or may include the head node.
  • the head node in order to control the forwarding of the data to be forwarded according to the target forwarding path, in a control method, when the data to be forwarded reaches the head node, the head node can preprocess the data to be forwarded and will include the target
  • the packet header of the forwarding path is encapsulated in the front end of the data to be forwarded to obtain the packet to be forwarded.
  • the target forwarding path can be used to instruct the nodes in the data transmission network to transfer the data to be forwarded according to the node sequence corresponding to the target forwarding path in the packet header
  • the message is forwarded to the tail node, and the message can be processed to release control in the tail node, and the header containing the target forwarding path is removed from the message to be forwarded to obtain the data to be forwarded.
  • the data to be forwarded can continue to be transmitted in the network according to the original destination address in the data to be forwarded.
  • the data to be forwarded can be a data frame, such as an Ethernet frame, and the destination address of the data to be forwarded can be the destination MAC address in the Ethernet frame.
  • the data to be forwarded can be a network layer packet, such as an IP packet. Then, the destination address of the data to be forwarded can be the destination IP address in the IP packet.
  • the source packet routing (Source Packet Routing in Networking, SPRING) defined by the Working Group (WG) in the Internet Engineering Task Force (IETF) , SR) technology can be used to achieve the above control methods.
  • SPRING Source Packet Routing in Networking
  • WG Working Group
  • IETF Internet Engineering Task Force
  • SR itself is a tunneling technology based on the source route forwarding mode.
  • the ingress node and the egress node of the SR tunnel can be regarded as the head node and the tail node in the above control method, respectively.
  • the SR tunnel can correspond to the target forwarding path composed of at least two nodes in the above-mentioned control method.
  • a basic design idea of SR is: only the per-flow state needs to be maintained at the head node, and no intermediate nodes and tail nodes are required. Maintain per-flow status. The per-flow state is used for the SR tunnel to reserve resources for each service flow, such as reserving a certain bandwidth.
  • the identifier of a node can be represented by a segment identifier (SID).
  • SID can be an instruction with topology or business semantics.
  • the target forwarding path corresponding to the SR tunnel may be generated according to the SIDs of at least two nodes.
  • the target forwarding path may be composed of SIDs of at least two nodes arranged in sequence according to a preset forwarding sequence.
  • the identification of the head node, intermediate node 1, intermediate node 2, intermediate node 3, and tail node in the data transmission network shown in FIG. 1 may be SID1, SID2, SID3, SID4, and SID5, respectively.
  • the corresponding target forwarding path can be expressed as ⁇ SID2; SID3; SID4; SID5 ⁇ .
  • the corresponding target forwarding path can be expressed as ⁇ SID2; SID3; SID4; SID5 ⁇ .
  • the data plane of SR can be based on Multi-Protocol Label Switching (MPLS) or IPv6, respectively called segment routing using MPLS as the data plane (SR MPLS) and IPv6 as data Segment routing (Segment Routing based IPv6 data plane, SRv6).
  • MPLS Multi-Protocol Label Switching
  • IPv6 IPv6 as data Segment routing
  • the SIDs of the nodes in the target forwarding path can be formed into an SID sequence (SID list) according to business requirements to indicate the forwarding path of the SRv6 tunnel defined by using SRv6 as the data plane.
  • Each SID sequence may include at least one SID.
  • the SID is a 16-bit IPv6 address in form.
  • Locator can be used for addressing, that is, related to routing
  • Function can be used to specify SID-related functions, such as topology functions or business functions
  • Argument is an optional parameter that can be used to specify parameters for performing Function-related operations.
  • Function and Argument can be network programming parameters used to realize the network programming function of SRv6. The network programming function will be explained later.
  • the traceroute function in conventional IPv6 can be used to perform path detection on SRv6 tunnels.
  • SID needs to support normal nodes other than intermediate nodes in the forwarding path to be followed
  • the common IPv6 address performs routing and forwarding.
  • the Locator part of the SID can match a network segment address in the routing table of the common node, and the common node can forward the message according to the next hop address corresponding to the network address.
  • the SID list in the message header of SRv6 needs to support modification operations of the message header in some special nodes in SRv6.
  • SRv6 SRv6 type messages
  • the IETF 6man WG defines that IPv6 segment routing headers (Segment Routing Header, SRH) can be used to carry SID lists to specify the forwarding path of IPv6 messages.
  • the name of the IE corresponding to the SRH may be draft-ietf-6man-segment-routing-header-14.
  • the SRH can adopt the loose source routing mode, that is, each hop on the forwarding path is not required to support and resolve SRH, and the SID list in the SRH does not require that each hop node on the forwarding path is included.
  • the The SID list can contain only one node.
  • the SRH field may not even be included in the SRv6 tunnel message. For example, when the SID list to be added only contains the SID of one node, the SID of the node can be added to the destination of the message to be forwarded. Address field.
  • the SR tunnel Before using the SR tunnel to forward data according to the target forwarding path, the SR tunnel needs to be established first, that is, the SID of each node is allocated and the SID list corresponding to the target forwarding path is determined.
  • the establishment of the SR tunnel SID list can be specified in two ways: explicit candidate path (Explicit candidate path) and dynamic candidate path (Dynamic candidate path).
  • the controller of the data transmission network may assign SIDs to each node.
  • a target forwarding path can be planned for various data to be forwarded arriving at the head node.
  • the nodes that the SRv6 message may pass through in the data transmission network can be divided into the following types of device roles.
  • Non-SRv6 node A node that does not support or does not enable the SRv6 function. This type of node can only forward ordinary IPv6 packets. For example, this type of node does not support forwarding messages according to the SID list carried in the SRH field of the message header. Another example is that this type of node only supports the IP address of the destination address of the message to be forwarded as Native. Forwarding of IPv6 packets.
  • Transit node A node that has enabled the SRv6 function.
  • the Active SID (Active SID) of the SRv6 message is not installed in the My Local SID table on this type of node. It should be noted that the SID configured in the My Local SID Table on a node is the SID of the node.
  • the Active SID of an SRv6 message is an SID in the SID list carried in the SRv6 message, and the Active SID is used to indicate the destination node that the SRv6 message currently expects to reach.
  • the node If a node receives an SRv6 message, the Active SID in the SID list carried in the header of the SRv6 message is not the SID of the node (that is, the Active SID of the SRv6 message is not installed), the node needs The destination node indicated by the Active SID continues to forward the SRv6 message. At this time, the role of the node is only to forward the message without special processing, and the role of the node is the forwarding node.
  • Binding Segment Identifier node A node that has enabled the SRv6 function.
  • the BSID mechanism (draft-ietf-spring-segment-routing-policy-01) is used to introduce traffic to a new SR policy (SR policy) node.
  • SR policy SR policy
  • the BSID node can be a node configured with an SR policy.
  • Endpoint node A node that has enabled the SRv6 function, and the Active SID of the SRv6 message has been installed in the My Local SID table on the node. It should be noted that, if a node receives an SRv6 message, the SID in the header of the SRv6 message The Active SID in the list is the SID of the node (that is, the SID of the SRv6 message is installed on the node). Active SID), the node needs to identify the next SID currently identified as the Active SID in the SID list carried in the SRv6 message as the new Active SID. After that, the current node continues to forward the SID according to the destination node indicated by the new Active SID. SRv6 message, at this time, the role of the node is the endpoint node. In other words, the endpoint node may be a node in the SID list corresponding to the target forwarding path.
  • My Local SID Table is used to implement the network programming function of SRv6. This table maintains all local SIDs (SIDs allocated and interpreted by the node) owned by the local node of the Endpoint node. According to the description of draft-filsfils-spring-srv6-network-programming-05, the SID in the My Local SID table must be explicitly configured and generated.
  • the forwarding process of the data to be forwarded in the SRv6 tunnel may include:
  • the head node (which can be regarded as a BSID node) diverts traffic to the SR policy, where the head node obtains the SID list corresponding to the specified path according to the current active candidate path of the SR policy (active Candidate path), and then the head node will contain the SID
  • the packet header of the list is encapsulated in the front end of the data to be forwarded, and the encapsulated packet to be forwarded is obtained.
  • the first SID in the SID list is indicated as the Active SID, and then the Active SID is used as the destination address (Destination Address, DA). ), forward the message to be forwarded to the downstream device.
  • DA Destination Address
  • the intermediate node receives the SRv6 message, it queries the My Local SID table according to the Active SID (i.e. IPv6DA). If there is a matching table entry (i.e. Active SID is the SID of the intermediate node itself), it will be based on the local SID table hit.
  • the function (Function) associated with the item performs related processing.
  • the intermediate node After completing the relevant processing, the intermediate node updates the Active SID in the SID list (for example, the next SID after the current Active SID in the SID list is indicated as the new Active SID), and then the intermediate node follows the updated Active SID
  • the destination node forwards the SRv6 message to the downstream node.
  • the SRv6 message is forwarded to the tail node (the SID of the tail node is the same as the Active SID and is the last SID in the SID list)
  • the tail node can remove the encapsulation in the waiting node. Forward the header of the data front end.
  • One or more intermediate nodes can pass between the head node and the tail node (each intermediate node can be regarded as an end node), and one or more other nodes can pass between the head node and the intermediate node (can be regarded as non-SRv6 nodes or Forwarding node), and one or more other nodes (can be regarded as non-SRv6 nodes or forwarding nodes) between the intermediate node and the tail node.
  • the SR tunnel technology defined by the SRv6 method has the general characteristics of SR.
  • the difference between the SR tunnel technology defined by the SRv6 method and the SR tunnel technology defined by the MPLS method is that:
  • the tunnel technology defined in SRv6 mode supports network programming. Using network programming, the tunnel technology defined by SRv6 has a very powerful scalability.
  • Function and Argument in SID can be used as network programming parameters supporting network programming functions.
  • the network programming parameter can be used to instruct the nodes in the tunnel defined by the SRv6 method to process the message according to the function corresponding to the network programming parameter.
  • SR technology supports the definition of multiple types of functions.
  • End function can be used to implement the processing steps of the endpoint node updating the Active SID and instructing the endpoint node to forward the SRv6 message according to the updated Active SID.
  • End Function may include the following processing logic:
  • SRv6's network programming allows multiple forms of expansion.
  • SRv6's network programming function allows logical "arbitrary" expansions.
  • the head node in the transmission network can be the BSID node, and the network programming parameters carried in the SRv6 message can be used to instruct the BSID node to follow the SR policy corresponding to the SRv6 message (SR policy)
  • SRv6 is preprocessed.
  • a message header containing the SIDlist can be generated according to the SID list corresponding to the SR policy, and encapsulated in the front end of the data to be forwarded to obtain the SRv6 message to be forwarded.
  • the SRv6 technology that supports network programming can also be applied to a variety of application scenarios.
  • it can implement Border Gateway Protocol (Border Gateway Protocol, BGP) or SR-based Layer 3 VPN services (SR L3VPN) or Ethernet VPN services.
  • Control methods for packet forwarding such as Layer 2 VPN service (EVPN L2VPN) or Layer 3 VPN service (EVPN L3VPN) based on Ethernet VPN service or Service Function Chain (SFC).
  • EVPN L2VPN Layer 2 VPN service
  • EVPN L3VPN Layer 3 VPN service
  • SFC Service Function Chain
  • the forwarding path corresponding to the forwarding of the packet according to the SR L3VPN definition can be used as the SID list, and the head node of the SRv6 tunnel can be added to the packet header.
  • the IE name corresponding to network programming may be draft-filsfils-spring-srv6-network-programming-05.
  • the BSID node is defined as a node with special functions in the SR tunnel.
  • One or more SR policies can be preset in the BSID node, and each SR policy can correspond to one SID list.
  • the head node is assigned the role of a BSID node, and the head node may receive an SR policy in advance, which includes a target forwarding path, and the SR policy may be issued by the controller device in the network.
  • the BSID node can encapsulate the message header containing the SID list on the front end of the data to be forwarded to generate the message to be forwarded.
  • the SID list may be located in the SRH field or the destination address field.
  • the SID list encapsulated by the head node in the front end of the data to be forwarded is generated based on the SIDs of all nodes that must pass through the complete target forwarding path.
  • the SID list is The length will be very long.
  • the complete target forwarding path may include intermediate node 1, intermediate node 2, intermediate node 3, ... intermediate node 19, tail node, and the SID list composed of the SID of each node may be ⁇ SID2; SID3; SID4; ...SID20 ;SID21; ⁇ , this requires that the BSID node and the endpoint node in the data transmission network need to support the length of the SID list of 20.
  • the embodiment of the present application provides the following data forwarding method.
  • FIG. 2 is a schematic diagram 1 of the interaction process of the data forwarding method provided by an embodiment of the application.
  • the embodiments of the present application involve head nodes, intermediate nodes, tail nodes, and so on.
  • the target forwarding path may include intermediate node 1, intermediate node 2, intermediate node 3, and tail node.
  • the SID list corresponding to the target forwarding path composed of these nodes is ⁇ SID2; SID3; SID4; SID5; ⁇ .
  • the controller in the network can forward the target
  • the path is divided into several sections. Taking the division into two segments as an example, the SID list corresponding to the target forwarding path can be divided into a first SID sequence and a second SID sequence. After that, the controller may issue the first SID sequence to the head node, and issue the second SID sequence to the last node in the first SID sequence.
  • the intermediate node in the interaction process shown in FIG. 2 may be the last node in the first SID sequence.
  • the forwarding layer also called the data layer
  • the head node, intermediate node, and tail node can be implemented according to the following steps. As shown in Figure 2, the steps of the embodiment of the present application include:
  • S201 The head node receives data to be forwarded.
  • the data to be forwarded may be a data frame or an IP packet.
  • the data frame may be an Ethernet frame.
  • the data to be forwarded may carry service attributes such as the type information of the requested service and the parameter information related to the service. For example, request to access the video file and file name on the server.
  • the head node may receive data to be forwarded from other nodes.
  • the head node obtains a first SID sequence corresponding to the data to be forwarded.
  • the first SID sequence is generated according to the SIDs of the first N nodes in the M nodes in the target forwarding path, where N is less than M, and N is greater than or equal to 1.
  • the head node may obtain the SR policy 1 corresponding to the data to be forwarded according to the service attributes of the data to be forwarded; and determine the SID sequence included in the SR policy 1 as the first SID sequence corresponding to the data to be forwarded.
  • different service attributes can correspond to different target forwarding paths.
  • the controller can plan the target forwarding paths corresponding to various service attributes in advance, and divide the longer target forwarding paths. Then, the SID sequence after segmentation of a target forwarding path is sent to the head node and other corresponding intermediate nodes through different SR policies.
  • the head node may store the corresponding relationship between the SR policy and the service attribute, and when receiving the data to be forwarded, obtain the corresponding SR policy according to the service attribute carried in the data to be forwarded.
  • the first SID sequence is generated based on the SID of the first node in the target forwarding path, that is, the first SID sequence may include the SID of the first node in the target forwarding path; if N If greater than 1, the first SID sequence is generated according to the SIDs of the 1st to Nth nodes in the target forwarding path, that is, the first SID sequence may include the SIDs of the 1st to Nth nodes.
  • the head node encapsulates the packet header containing the first SID sequence at the front end of the data to be forwarded to obtain the packet to be forwarded.
  • the encapsulated message to be forwarded may include two parts: a message header and the data to be forwarded.
  • the message header contains the first SID sequence.
  • encapsulating the message header at the front end of the data to be forwarded refers to encapsulating it on the outside of the data to be forwarded, rather than inside the data to be forwarded.
  • Table 2 is an illustration of the encapsulated message to be forwarded.
  • the SID when the first SID sequence contains only one SID, the SID can be directly used as the destination address in the message header, and the message header can be encapsulated in the front end of the data to be forwarded.
  • the SID sequence when the first SID sequence includes two or more SIDs, the SID sequence can be added to the SRH field in the message header, and the message header encapsulated with the SRH field can be encapsulated in the data to be forwarded. front end.
  • the head node encapsulates the message header containing any SID sequence on the front end of the data to be forwarded, and when the intermediate node replaces the SID sequence, the above two implementation manners can be adopted.
  • S204 The head node sends the message to be forwarded to the intermediate node according to the first SID sequence, where the intermediate node is the Nth node.
  • the SID sequence in the message header contains only one SID
  • the SID can be located at the destination address in the message header, and the head node can send to the intermediate node to be forwarded according to the destination address in the message header. data.
  • the SID sequence in the message header contains at least two SIDs
  • the SID sequence is added to the SRH field in the message header.
  • the head node needs to set the first SID in the SID sequence that has not yet arrived as the Active SID, and set the Active SID is set to the destination address in the message header, which is used to indicate the next hop address of the message to be forwarded.
  • the intermediate node obtains a second SID sequence corresponding to the message to be forwarded, where the second SID sequence is generated according to the N+1th node to the Mth node among the M nodes in the target forwarding path.
  • the intermediate node when the intermediate node receives the message to be forwarded, the Active SID in the first SID sequence in the message to be forwarded is the SID of the intermediate node, and the intermediate node can obtain the operation instruction matching the Active SID, which is used to indicate the intermediate
  • the node replaces the first SID sequence in the message to be forwarded with the second SID sequence contained in SR policy2; the intermediate node determines the second SID sequence contained in SR policy2 corresponding to the operation instruction as the second SID sequence corresponding to the message to be forwarded SID sequence.
  • the operation instruction may be a processing step matched by the Active SID in the My Local SID Table, such as the operation corresponding to the SID, or the processing step indicated by the Function field and the Argument field of the Active SID.
  • S206 The intermediate node replaces the first SID sequence in the message header with the second SID sequence.
  • the intermediate node may replace the first SID sequence in the message header with the second SID sequence in two ways.
  • the intermediate node can completely replace the header of the received data to be forwarded with a new header.
  • the original header can be stripped first, and then the new message can be encapsulated. Header, where the new message header contains the second SID sequence.
  • the second SID sequence in the new message header can be located at the destination address in the new message header, If the second SID sequence contains two or more SIDs, the second SID sequence in the new message header can be located in the SRH field in the new message header, and the SID of the next hop node is set to ActiveSID, and at the same time
  • the Active SID is set to the destination address in the message header, and other fields in the new message header can be filled in according to the values of the fields in the original message header or generated according to the actual forwarding scenario requirements of the business.
  • the message header may also include fields such as source address and flow label, which may be copied or set to new values according to the actual situation of the DCGW and the local policy of the DCGW.
  • the intermediate node may only replace the SID sequence in the message to be forwarded.
  • the intermediate node adds the second SID sequence to In the SRH field in the header of the message to be forwarded, the SID of the next-hop node is set to Active SID, and the Active SID is set to the destination address in the header.
  • the intermediate node can replace the first SID sequence in the SRH field in the original message header with the second SID sequence, and set the SID of the next hop node to Active SID, and Active SID is set to the destination address in the message header.
  • S207 The intermediate node forwards the message to be forwarded to the tail node according to the second SID sequence, where the tail node is the Mth node.
  • the intermediate node forwards the message according to the node sequence indicated by the second SID sequence, and finally forwards it to the tail node.
  • the intermediate node is ActiveSID
  • the next unreached SID needs to be set as Active SID
  • Active SID is set as the destination address in the message header to indicate to be forwarded Next hop address of the packet.
  • the tail node removes the header of the message to be forwarded to obtain the data to be forwarded.
  • both the head node and the intermediate node may be the BSID node in the SRv6 tunnel.
  • the intermediate node may be an end node in the SRv6 tunnel.
  • the tail node can be the last node in the target forwarding path.
  • the M nodes involved in the target forwarding path are divided into two sub-paths, the first sub-path includes the first N nodes, and the second sub-path includes the N+1th node to the Mth node.
  • the number of SIDs in the SID sequence in the message to be forwarded transmitted by the device in the data transmission network may not exceed the number of MSDs supported by a single device. This can ensure normal data transmission when the target forwarding path is long.
  • S209 may be further included:
  • S209 The tail node forwards the data to be forwarded according to the destination address of the data to be forwarded.
  • the data to be forwarded may be a data frame or an IP packet
  • the destination address of the data to be forwarded may be the destination MAC address in the data frame or the destination IP address in the IP packet
  • the tail node may be based on the data frame
  • the destination MAC address or the destination IP address in the IP packet continues to forward the data to be forwarded.
  • the controller in the data transmission network pre-divides and issues the SID sequence of each segment, which may include the following steps:
  • S210 The controller obtains a target forwarding path, where the target forwarding path includes M nodes.
  • the controller may plan the target forwarding path in advance according to various types of to-be-forwarded data arriving at the head node.
  • the controller may plan different target forwarding paths for the data to be forwarded requesting various services, and respectively segment each target forwarding path, and deliver the segmented target forwarding path to the corresponding head node , Intermediate nodes.
  • a target forwarding path through several core network SF function nodes of the telecom cloud network can be planned.
  • the data to be forwarded may carry attributes that identify the requested service as access to the Internet.
  • the controller generates a first SID sequence according to the SIDs of the 1st to Nth nodes among the M nodes.
  • the controller may use the SIDs of the intermediate node 1 and the intermediate node 2 as the first SID sequence, and the SIDs of the intermediate node 3 and the tail node as the second SID sequence.
  • the controller may The SID of the intermediate node 1 is taken as the first SID sequence, and the SIDs of the intermediate node 2, the intermediate node 3 and the tail node are taken as the second SID sequence.
  • the M nodes in the target forwarding path may also be divided into three segments.
  • S212 The controller generates a second SID sequence according to the SIDs of the Xth to Yth nodes among the M nodes, where X is equal to N+1.
  • S213 The controller sends the first SID sequence to the head node.
  • sending the first SID sequence to the head node may include: sending SR policy1 to the head node, where the SR policy1 includes the first SID sequence.
  • the controller sends the second SID sequence to the intermediate node, where the intermediate node is the Nth node among the M nodes, and N is greater than or equal to 1.
  • sending the second SID sequence to the intermediate node may include: sending the SR policy2 to the intermediate node, where the SR policy2 includes the second SID sequence.
  • the receiver of the first SID sequence should be the head node, and the head node is used to encapsulate the packet header containing the first SID sequence on the front end of the data to be forwarded (see Table 2 Show), generate the message to be forwarded, and send the message to be forwarded to the intermediate node according to the first SID sequence in the message to be forwarded;
  • the receiver of the second SID sequence should be the intermediate node, and the intermediate node is used to transfer the message to be forwarded
  • the first SID sequence in the message header of the message is replaced with the second SID sequence, and the message to be forwarded is forwarded according to the destination address in the replaced message header.
  • the first SID sequence can be issued to the head node
  • the second SID sequence can be issued to the first SID sequence.
  • the last node in a SID sequence, the third SID sequence is issued to the last node in the second SID sequence, the last node in the second SID sequence and the last node in the third SID sequence can be the middle respectively Node 1 and intermediate node 2.
  • the target forwarding path may also be divided into two or more sub-paths.
  • there may be multiple intermediate nodes in the data transmission network for example, there may be three intermediate nodes.
  • FIG. 3 is a second schematic diagram of the interaction process of the data forwarding method provided by an embodiment of the application.
  • the embodiments of the present application relate to a head node, an intermediate node 1, an intermediate node 2, an intermediate node 3, a tail node, and the like.
  • between intermediate node 1 and intermediate node 2, and between intermediate node 3 and tail node may include other nodes in the target forwarding path; between the head node and intermediate node 1, and, Node 2 and intermediate node 3 may include other nodes in the non-target forwarding path.
  • the steps of the embodiment of the present application include:
  • S301 The head node receives data to be forwarded.
  • the head node obtains a first SID sequence corresponding to the data to be forwarded.
  • the first SID sequence is generated according to the SIDs of the first N nodes in the M nodes in the target forwarding path, where N is less than M, and N is greater than or equal to 1.
  • the head node encapsulates the packet header containing the first SID sequence at the front end of the data to be forwarded to obtain the packet to be forwarded.
  • the head node sends the message to be forwarded to the intermediate node 1 according to the first SID sequence, where the intermediate node 1 is the Nth node.
  • the intermediate node 1 obtains a second SID sequence corresponding to the message to be forwarded, where the second SID sequence is generated from the N+1th node to the X-1th node among the M nodes.
  • the intermediate node 1 replaces the first SID sequence in the message header with the second SID sequence.
  • the intermediate node 1 forwards the message to be forwarded to the intermediate node 2 according to the second SID sequence, where the intermediate node 2 is the X-1th node.
  • the intermediate node 2 obtains a third SID sequence corresponding to the message to be forwarded, where the third SID sequence is generated according to the Xth node to the Yth node among the M nodes.
  • the intermediate node 2 replaces the second SID sequence in the message header with the third SID sequence.
  • S310 The intermediate node 2 forwards the message to be forwarded to the intermediate node 3 according to the third SID sequence, where the intermediate node 3 is the Y-th node.
  • the intermediate node 3 obtains a fourth SID sequence corresponding to the message to be forwarded, where the fourth SID sequence is generated from the Y+1th node to the Zth node among the M nodes.
  • S312 The intermediate node 3 replaces the third SID sequence in the packet header with a fourth SID sequence.
  • S313 The intermediate node 3 forwards the message to be forwarded to the tail node according to the fourth SID sequence, where the tail node is the Zth node.
  • S314 The tail node removes the header of the message to be forwarded to obtain the data to be forwarded.
  • S315 The tail node forwards the data to be forwarded according to its own destination address.
  • the steps performed by the head node, the intermediate node, and the tail node in the embodiment of the present application may be implemented in the implementation manner in the embodiment shown in FIG. 2, and for details, refer to the detailed description in the embodiment shown in FIG. 2.
  • the SID node contained in the target forwarding path can be divided into at least two parts, which enables the equipment in the data transmission network to support the maximum SID transmission when data is forwarded
  • the number can meet the number of SID nodes contained in the message header.
  • FIG. 4 is a second schematic diagram of a network architecture.
  • the transmission network shown in FIG. 1 may include: a basic transmission network and a target transmission network.
  • the target transmission network may perform data transmission with the basic transmission network through an edge device located at the edge of the target transmission network.
  • the target transmission network may include several target transmission subnets.
  • the edge devices in each target transmission subnet can transmit data through the devices in the basic transmission network.
  • the message needs to be transmitted in the target transmission subnet.
  • the edge device of the target transmission subnet passes into the node in the target transmission subnet. Therefore, the edge device can also become the gateway device of each target transmission subnet.
  • the message needs to follow a preset forwarding path when it is transmitted in the target transmission network.
  • the target transmission network in FIG. 4 may be a data center network (Data Center Network, DCN).
  • DCN Data Center Network
  • DCN can be used to carry various business units in a telecom cloud network.
  • a telecom cloud network can also be called a telecom cloud, which is a network based on the NFV technology architecture.
  • NFV technology is proposed to solve the problems of telecommunications network hardware, complex deployment and operation and maintenance, business innovation difficulties, etc.
  • the goal of NFV technology is to plan and construct network architecture based on distributed cloud data centers, using NFV technology and SDN technology , To achieve hierarchical decoupling of software and hardware, function virtualization, automatic deployment and flexible resource scheduling.
  • the telecom cloud network is an NFV network built based on the above ideas.
  • the basic transmission network may include a metro network and a core network.
  • Metro and Core networks can include one or more routing equipment, such as Customer Edge (CE) equipment, Provider Edge (PE) equipment, and operator router/backbone routing equipment (Provier Router, P for short). ) Equipment, etc.
  • FIG. 5 is a third schematic diagram of a network architecture.
  • DCN can adopt a multi-level hierarchical architecture.
  • DCN may include: Access Data Center (ADC) network, Edge Data Center (EDC) network, Region Data Center (RDC) network, Central Data Center ( Central Data Center (CDC) network and DCN controller (DCN Controller).
  • ADC network, EDC network, RDC network, and CDC network are multiple DCN subnets in DCN.
  • the ADC network can include secondary aggregation equipment, which can be called pre-aggregation (prefix aggregation, PRE-AGG) equipment, and the EDC network can include primary aggregation equipment at the edge of the EDC network, which can be called (PE aggregation, PE-AGG) Devices, several virtual network function (VNF) nodes, and topology nodes.
  • PE aggregation, PE-AGG primary aggregation equipment at the edge of the EDC network
  • VNF virtual network function
  • the RDC network can include the edge of the RDC network.
  • Data Center Gateway (DCGW) Data Center Gateway (DCGW), several VNF nodes and topology nodes.
  • DCGW Data Center Gateway
  • the VNF nodes in the EDC network can be VNF nodes such as vIPS and vFW
  • the VNF nodes in the RDC network can include WAN Optimization Controller (vWOC), etc.
  • the topology nodes in the EDC network and the RDC network can be These are leaf nodes, spine nodes, and virtual switch (vSwitch) nodes.
  • the EDC network and the RDC network may be interconnected through PE equipment.
  • the DCGW device and the PE device may be installed together or separately.
  • the DCN Controller is used for unified planning and management of the DCN.
  • the optical line terminal (optical line terminal, OLT) is the access network device, and the OLT can be the initiator of the service flow in the telecom cloud, and the goal of the service flow is to access the remote network.
  • the remote network may be the Internet (Internet), and the Internet may be connected to the basic transmission network or the edge node of the DCN through an Internet Gateway (IGW).
  • IGW Internet Gateway
  • the service flow before the service flow reaches the remote network, it needs to flow through several VNF nodes in multiple DCN subnets in turn according to the service attributes of the service flow to realize the traffic flow in the telecommunications network. Access control, such as authentication, billing and other control requirements.
  • the sequence of VNF nodes that the service flow needs to pass through in the DCN can be called the Service Function Chain (SFC).
  • SFC Service Function Chain
  • the SFC that needs to pass requires flexible configuration and management, and the flexible orchestration SFC has gradually become one of the key technologies of the telecom cloud.
  • the NFV network architecture it can include SF nodes, SFF nodes, classification nodes, and proxy nodes.
  • the IETF SFC WG defines the SFC architecture (RFC7498/RFC7665) and the NSH-based implementation scheme (RFC8300).
  • the DCN is generally regarded as an enterprise's private network, especially the service bearer network (Underlay Network) part of the DCN is usually not directly exposed to the Metro network and the Core network. Therefore, on the basis of controlling the forwarding of the service flow according to the configured SFC, when implementing the SFC, the privacy requirements of data forwarding also need to be considered.
  • the privacy requirements can be summarized as the following constraints: the internal topology of the DCN and the SID of the SF node cannot be exposed to the basic forwarding network.
  • the data forwarding method shown in FIGS. 2 to 3 is applied to the DCN shown in FIGS. 4 to 5 and the telecom cloud network deployed based on DCN, it is also necessary to meet the expansion requirements of the network architecture for forwarding data.
  • the expansion requirements of the network architecture can be summarized as the following constraints: the data forwarding method needs to support any number of layered DCNs, and the length of the SID sequence cannot exceed the maximum SID length supported by the equipment in the data transmission network.
  • this application can satisfy the constraint that the length of the SID sequence does not exceed the maximum SID length supported by the device.
  • this application provides the following data forwarding method, wherein the first SID sequence added by the head node only includes the SID of the edge node in the DCN and does not include the SID of the internal node of the DCN.
  • FIG. 6 is a third schematic diagram of the interaction process of the data forwarding method provided by an embodiment of the application.
  • the embodiments of the present application relate to a head node, an intermediate node, and a tail node.
  • the intermediate node may be an ingress edge node of the DCN
  • the tail node may be an egress edge node of the DCN.
  • the intermediate node and the tail node may also include internal nodes of the DCN.
  • the ingress edge node and the egress edge node in the embodiment of the present application can be the same node device, which can be called the edge node of the DCN.
  • the edge node and the egress edge node when used as the ingress edge node
  • the SIDs are SID1 and SID2 respectively.
  • the head node and the ingress edge node of the DCN may be connected through a basic forwarding network.
  • the steps of the embodiment of the present application may include:
  • S601 The head node receives data to be forwarded.
  • the head node can be PRE-AGG.
  • the head node may also be a PE-AGG.
  • the head node obtains a first SID sequence corresponding to the data to be forwarded, where the first SID sequence is generated according to the SIDs of the first N nodes among the M nodes in the target forwarding path, and N is equal to 1.
  • the head node may obtain the SR policy 1 corresponding to the data to be forwarded according to the service attributes of the data to be forwarded; and determine the SID sequence included in the SR policy 1 as the first SID sequence corresponding to the data to be forwarded.
  • the head node encapsulates the packet header containing the first SID sequence at the front end of the data to be forwarded to obtain the packet to be forwarded.
  • the head node sends the message to be forwarded to the intermediate node according to the first SID sequence, where the intermediate node is an ingress edge node of the DCN.
  • the ingress edge node of the DCN may be PRE-AGG or DCGW.
  • the intermediate node obtains a second SID sequence corresponding to the message to be forwarded, where the second SID sequence is generated from the N+1th node to the Mth node among the M nodes in the target forwarding path, and the second SID sequence
  • the intermediate node can obtain the Active SID matching function, which is used to instruct the intermediate node to replace the first SID sequence in the message to be forwarded with The second SID sequence included in the SR policy2; the intermediate node determines the second SID sequence included in the SR policy2 corresponding to the function as the second SID sequence corresponding to the message to be forwarded.
  • S606 The intermediate node replaces the first SID sequence in the message header with the second SID sequence.
  • the intermediate node forwards the message to be forwarded to the tail node according to the second SID sequence, where the tail node is the Mth node.
  • the intermediate node forwards the message according to the node sequence indicated by the destination address in the message header, and finally forwards it to the tail node.
  • S608 The tail node removes the header of the message to be forwarded to obtain the data to be forwarded.
  • S609 The tail node forwards the data to be forwarded according to the destination address of the data to be forwarded.
  • the DCN may also include a first DCN subnet and a second DCN subnet, where the first DCN subnet may include the ingress edge node, the egress edge node, and the first DCN subnet of the first DCN subnet. At least one SF node in the subnet, and the second DCN subnet may include an ingress edge node, an egress edge node of the second DCN subnet, and at least one SF node in the second DCN subnet.
  • the data forwarding process in the hierarchical DCN is similar to the interaction process in the data forwarding method shown in FIG. 3.
  • the intermediate node 1 in the method shown in FIG. 3 may be the ingress edge node of the first DCN subnet
  • the intermediate node 2 may be the egress edge node of the first DCN subnet
  • the intermediate node 3 may be the second DCN subnet.
  • the ingress edge node of the network, and the tail node may be the egress edge node of the second DCN subnet.
  • the SID sequence 1 corresponding to SR policy1 matched by the head node only contains the SID of the ingress edge node of the first DCN subnet, and the ingress edge node can be the one that belongs to the first DCN subnet in the target forwarding path.
  • the SID sequence 2 corresponding to the SR policy2 matched by the ingress edge node (i.e. intermediate node) of the first DCN subnet contains the SID of the internal node of the first DCN subnet (i.e. the SF node in the target forwarding path) and the first The SID of the egress edge node (ie intermediate node) of a DCN subnet.
  • the egress edge node (ie, intermediate node) of the first DCN subnet matches the SID sequence 3 corresponding to SR policy3 and contains the SID of the tail node or the SID of the entry edge node (ie, intermediate node) of the second DCN subnet. In this way, it can be ensured that the SID of the internal nodes of each hierarchical DCN subnet will not be exposed to the basic forwarding network, thereby ensuring that the privacy requirements for data forwarding when SRv6 technology is applied to DCN and telecom cloud networks can be met .
  • this application also provides a data forwarding method, which can be applied to the scenario where the SRv6 tunnel carries VPN services.
  • FIG. 7 is a schematic diagram of a network architecture.
  • the VPN service is usually used to control the transmission of data between designated devices in the data transmission network.
  • PE1 and PE2 that is, the target PE of the VPN service
  • PE1 receives from CE1 to be forwarded Data.
  • CE1 to be forwarded Data
  • PE2 sends the data to be forwarded to CE2, and the PEs may also include P devices.
  • the SID of the target PE corresponding to the VPN service can be used as the SID of the VPN service.
  • the head node determines that the data to be forwarded needs to be transmitted to the destination node specified by the VPN service.
  • the SID sequence added by the head node to the header of the message will include the complete The SID of the target forwarding path and the SID of the VPN service.
  • the SID of the VPN service is located at the last bit of the SID sequence.
  • the SRv6 technology only allows the replacement of the SID sequence in the message header on a node, it is not allowed to replace part of the SID in the SID sequence in the message header, for example, if the node sequence corresponding to the SRv6 tunnel It is ABCD, and the SID of the destination node of the VPN service is E.
  • the SID sequence added by the head node may be ABCDE, that is, the SID of the complete SRv6 tunnel node and the SID of the VPN service. In some scenarios, it is only allowed to replace the SID sequence as a whole, such as replacing ABE with CDE as a whole, but not only replacing AB in ABE with CD.
  • the last SID in the SID sequence added by the head node is the VPN service
  • SID such as E in ABCDE
  • segmented SID sequence such as ABE
  • the intermediate node is not allowed to replace it with CDE as a whole. Therefore, if the SRv6 tunnel is used to carry VPN services, the data forwarding method involving path segmentation in the foregoing embodiment cannot be used.
  • the data forwarding method splits the header of the head node added to the front end of the data to be forwarded into two parts, which are an inner header and an outer header.
  • the inner message header can be used to carry the SID of the VPN service, which can be called a service message header
  • the outer message header can be used to carry the SID sequence related to the target forwarding path, which can be called a transmission message header.
  • the intermediate node replaces the SID sequence, it only needs to replace the SID sequence contained in the outer message header.
  • the tail node removes the message header, it can remove the outer message header and the inner message header. In this way, it is possible to support the data forwarding scenario in which the SRv6 tunnel bears the VPN service on the basis of the distribution of path segments.
  • FIG. 8 is a fourth schematic diagram of the interaction process of the data forwarding method provided by an embodiment of the application.
  • the embodiments of the present application relate to the starting node, the head node, the intermediate node, the tail node, and the target node of the VPN service.
  • the head node can be connected to the start node of the VPN service
  • the tail node can be connected to the target node of the VPN service
  • the head node can determine when the interface receiving the data to be forwarded is the preset VPN service interface
  • the data to be forwarded needs to be forwarded to the destination node of the VPN service in the SRv6 tunnel.
  • the steps of the embodiment of the present application may include:
  • PE1 sends data to be forwarded to the head node.
  • the data to be forwarded is an Ethernet frame.
  • S802 The head node determines that the SID of the VPN service corresponding to the data to be forwarded is the SID of PE2.
  • the head node may determine whether to forward the data according to the VPN service transmission band according to the ingress port where the data to be forwarded is received, and the head node may obtain the SID of the VPN service from the controller in advance.
  • the head node obtains the first SID sequence corresponding to the data to be forwarded.
  • the first SID sequence is generated according to the first N nodes among the M nodes in the target forwarding path.
  • the head node encapsulates the inner packet header including the SID of PE2 at the front end of the data to be forwarded.
  • the SID of PE2 may be located in the destination address or SRH field in the memory header.
  • the head node encapsulates the outer packet header containing the first SID sequence at the front end of the inner packet header.
  • the head node uses the data to be forwarded having the outer message header and the inner message header as the message to be forwarded.
  • Table 3 is an illustration of a message to be forwarded after adding an outer message header and an inner message header.
  • S807 Send the message to be forwarded to the intermediate node according to the first SID sequence in the outer header of the message to be forwarded.
  • the intermediate node obtains the second SID sequence corresponding to the message to be forwarded.
  • the second SID sequence is generated according to the N+1th node to the Mth node among the M nodes in the target forwarding path.
  • the intermediate node replaces the first SID sequence in the outer packet header with the second SID sequence.
  • the intermediate node forwards the message to be forwarded to the tail node according to the second SID sequence in the outer packet header, where the tail node is the Mth node.
  • steps S808 to S810 are similar to S205 to S207.
  • the tail node removes the outer packet header of the message to be forwarded to obtain the message to be forwarded, and the obtained message header of the message to be forwarded includes the SID of the VPN service.
  • S812 The tail node forwards the message to be forwarded to PE2 according to the SID of the VPN service in the message to be forwarded.
  • PE2 removes the packet header containing the SID of the VPN service in the packet to be forwarded to obtain the data to be forwarded.
  • S814 PE2 forwards the data to be forwarded according to the destination address of the data to be forwarded.
  • the tail node may also remove the outer packet header and the inner packet header, and send the data to be forwarded obtained after removing the outer packet header and the inner packet header to PE2.
  • the number of intermediate nodes in the foregoing embodiment may be multiple, and the intermediate nodes may also be edge nodes in multiple DCN subnets.
  • the pre-planned target forwarding path may also include the target node of the VPN service.
  • the SID of the Mth node in the target forwarding path may be the SID of the VPN service.
  • the second SID sequence may be generated from the N+1th node to the Zth node among the M nodes in the target forwarding path, where Z may be equal to M-1.
  • the following is an example of the data forwarding method provided in this application for the scenario of implementing service flow control supporting VPN services in a telecom cloud network deployed in a hierarchical DCN.
  • FIG. 9 is a schematic diagram of a network architecture in which the data forwarding method provided by an embodiment of the application is applied to a business scenario. As shown in FIG. 9, it is a schematic diagram of the forwarding flow direction of the data to be forwarded according to the forwarding path preset in the service chain.
  • the data to be forwarded sent by the OLT device to the PRE-AGG can be used to request the Internet.
  • Metro, Core (P in Core), and PE are the equipment in the basic forwarding network
  • PRE-AGG is the equipment in the DCN of the first level
  • Leaf in the PE-AGG and EDC network is the equipment in the DCN of the second level.
  • the spine and Leaf in the DCGW and RDC are the devices in the third-level DCN, where the DCGW and the PE adjacent to the DCGW can be co-located equipment or separate equipment.
  • FIG. 10 is a schematic diagram of the overall framework of a processing flow in which the data forwarding method provided by an embodiment of the application is applied to a business scenario.
  • the data to be forwarded performs the processing of adding a message header, replacing the SID sequence in the message header, and removing the message header during the forwarding process.
  • FIG. 11 is the first processing flowchart of applying the data forwarding method provided by an embodiment of the application to a business scenario.
  • FIG. 12 is a second processing flowchart of the data forwarding method provided by an embodiment of the application applied to a business scenario.
  • the present application provides a data transmission method. Before executing the interaction flow shown in FIG. 12, the following control flow shown in FIG. 11 may also be executed in advance.
  • Step 1.1 The DCN Controller automatically discovers SF-related information distributed in the telecom cloud network, and allocates and issues corresponding SRv6 SIDs for these SFs.
  • the SF deployed in the telecom cloud network can notify the DCN Controller of the identification information of its SF in a broadcast manner, and request the DCN Controller to allocate an SID to it.
  • Step 1.2 WAN Controller assigns corresponding SRv6 SIDs to devices in Metro and Core networks.
  • the WAN Controller can be the controller of the basic forwarding network.
  • a device in the basic forwarding network can send its own device identification information to the WAN Controller, and request the WAN Controller to assign an SID to it.
  • Step 1.3 The coordinator (Orchestrator) coordinates the related information of DCN Controller and WAN Controller, arranges Topo SID and Service SID in a unified manner according to business needs, and generates several SR policies, which are respectively issued to Ingress PE (PRE) of EVPN SRv6 -AGG) and hierarchical DC gateway equipment (PE-AGG/DC-GW).
  • PRE Ingress PE
  • PE-AGG/DC-GW hierarchical DC gateway equipment
  • the DCN Controller can determine the division of the target forwarding path according to the situation that the DCN subnet is separated by multiple basic forwarding subnets of the basic forwarding network The forwarding path of the subsequent segment.
  • Orchestrator can first plan service chains according to various services in the telecom cloud network, that is, the sequence of SIDs of SF nodes that various data to be forwarded needs to flow through in the DCN.
  • These service chains can be regarded as target forwarding corresponding to SRv6 tunnels. path.
  • take the level of the hierarchical DCN as the number of segments that the SID sequence corresponding to the target forwarding path needs to be segmented, the entry edge node of each hierarchical DCN as the last node of each segment, and the tail node as the last node of the last segment
  • a node segments the SID sequence corresponding to the target forwarding path.
  • three levels can correspond to three segments.
  • the SID of the VPN service is separately notified to the PRE-AGG (which can be regarded as the head node).
  • the WAN controller and DCN Controller can deliver the allocated SID and the segmented SID sequence.
  • Table 4 is an illustration of SID planning of each node in the SRv6 tunnel.
  • Table 4 shows the name of each node device in the data transmission network, the SID identification corresponding to the node device, the SID type corresponding to the SID identification of the node device, the operation instruction corresponding to the SID identification, the device description, and the corresponding SID identification of the node device SR policy.
  • the SID types corresponding to the SID identifiers of PRE-AGG, PE-AGG, and DCGW are all BSID node (BSID node) devices.
  • Leaf (EDC) and Leaf (RDC) respectively represent leaf nodes located in the EDC network core in the RDC network.
  • Leaf (EDC network) is a node device for deploying SF function in EDC network.
  • two SFs, vIPS and vFW are deployed on the Leaf (EDC network), and the SID of the SF function is represented by vIPS and vFW respectively.
  • AC1 is the SID of the inbound interface of the PRE-AGG
  • AC2 is the SID of the outbound interface of the PE device connected to the IGW.
  • PRE-AGG can be used as a head node
  • PE-AGG can be used as an intermediate node
  • DCGW can be used as an intermediate node and a tail node.
  • the SID of PRE-AGG is AC1.
  • PE1 sends the Ethernet frame in the service flow to the AC1 interface of PRE-AGG
  • PRE-AGG determines that the Ethernet frame needs to match the VPN service according to AC1, and can obtain the SID corresponding to the VPN service.
  • AC2 the corresponding function and SR policy
  • PE-AGG has two SIDs, B1 and B2.
  • PE-AGG When the message is forwarded to B1 (that is, when the Active SID in the message is B1), PE-AGG processes the message according to the SR policy corresponding to B1.
  • the message When forwarding to B2 (that is, when the Active SID in the message is B2), the PE-AGG processes the message according to the SR Policy corresponding to B2.
  • DCGW has two SIDs B3 and B4.
  • the DCGW processes the message according to the SR policy corresponding to B3.
  • the DCGW When the message is forwarded At B4 (that is, when the Active SID in the message is B4), the DCGW processes the message according to the SR Policy corresponding to B4.
  • the SID in each DCN subnet is only allowed to be published to devices in the DCN subnet and edge devices of the DCN subnet or gateway devices in the DCN subnet.
  • PE-AGG is the edge device of the EDC network
  • vIPS and vFW are the SIDs of the SF deployed on the leaf nodes in the EDC network.
  • PE-AGG knows the internal topology of the EDC network, according to the message
  • the SID of each SF carried can control the message according to the SFC indicated by the SID list in the message header, and the control message passes through the SF in the SFC in turn;
  • the DCGW is the gateway device of the RDC network, vWOC It is the SID of the SF deployed on the leaf node in the RDC network. Since the DCGW knows the internal topology in the RDC network, it can control the SFC of the message according to the SID list in the message header according to the SID of each SF carried in the message. , The control message passes through the SF in the SFC in turn.
  • the DCN subnet may also be a DCN subnet applied to services other than the telecom cloud, and the aforementioned vIPS, vFW, and vWOC may also be SFs that other services in the telecom cloud network need to access.
  • the above-mentioned SID is planned for EVPN SRv6 VPWS services. If you need to use SRv6 tunnels to deploy other service types, such as BGP, SRv6, L3VPN, EVPN, SRv6, VPLS, EVPN, SRv6, L3VPN, etc., you need to check the SID on the PRE-AGG (Ingress PE of the VPN service) and PE (Egress PE of the VPN service) Perform differentiated planning. In one example, the SID of the head node and the SID of the tail node of the target forwarding path can be planned according to the needs of other service types.
  • the technical solution of this application is mainly aimed at the processing on the hierarchical DC gateway (PE-AGG and DCGW) in the edge device or gateway device in the DCN subnet. Therefore, the type of service carried by the SRv6 tunnel implements the embodiment of this application on the intermediate node There is no difference in the methods provided.
  • PE-AGG and DCGW hierarchical DC gateway
  • the SR policy corresponding to each SID can be pre-configured, where the SR policy corresponding to AC1 can be SR policy1, the SR policy corresponding to B1 can be SR policy2, and the SR policy corresponding to B2 can be SR policy3, B3
  • the corresponding SR policy can be SR policy4.
  • Table 5 is an example of SR policy. Table 5 shows SR policy1 to SR policy4.
  • the outer layer message header may be referred to as a transport header
  • the inner layer message header may be referred to as a (service header).
  • the processing flow of the data forwarding method provided in the embodiment of the present application includes the following steps:
  • Step 2.1 When the PRE-AGG receives an Ethernet frame from the AC port, it will be diverted to the corresponding SR policy1. Outside the Ethernet frame, two layers of IPv6 headers (IPv6 header) are encapsulated, of which the inner IPv6 header The SID carried in the (Inner IPv6 header) is AC2, and the SID carried in the outer IPv6 header (Outer IPv6 header) is B1. The encapsulated SRv6 tunnel message will be sent to PE-AGG.
  • PRE-AGG determines that the SR policy corresponding to the service attribute of the Ethernet frame is SR policy1 according to the service requested in the Ethernet frame is to access the Internet, and obtains the SID sequence of the first segment, namely B1.
  • it is determined to implement VPWS in the manner of the EVPN service based on SRv6, and the SID of the destination node to obtain the VPN service is AC2, that is, the SID of the PE's outgoing port.
  • the PRE-AGG can determine that the packet to be forwarded needs to be forwarded according to the VPN service and the SID of the destination node corresponding to the VPN service according to when the ingress port of the received Ethernet frame is AC1.
  • Step 2.2 After receiving the SRv6 tunnel message, the PE-AGG determines that the Active SID is B1 and the corresponding SR policy of B1 is SR policy2, and uses B1 to divert traffic to SR policy2. Since the Function configured in B1 is End.DB6, after stripping the Outer IPv6 header, an Outer IPv6 header corresponding to SR policy2 is encapsulated, that is, replacing the outer IPv6 header. Then, the re-encapsulated SRv6 tunnel message is forwarded to the EDC network.
  • Step 2.3 In the EDC network, forward the SRv6 tunnel message to vIPS and vFW for processing. During this process, Leaf may be required to implement the SFC proxy processing flow. After the processing in the EDC network is completed, the Active SID in the SRv6 tunnel message becomes B2, and the SRv6 tunnel message is sent back to the PE-AGG according to B2.
  • Step 2.4 PE-AGG determines that the Active SID is B2 and the SR policy corresponding to B2 is SR policy3, and uses the function configured in B2 (End.DB6) to divert the SRv6 tunnel message to SR policy3, and process the message and strip it off After the Outer IPv6 header, an Outer IPv6 header corresponding to SR policy3 is encapsulated. Then, the first SID in the Outer IPv6 header in the reencapsulated SRv6 tunnel message is the ingress SID of the DCGW, that is, B3. According to B3, the SRv6 tunnel message is forwarded to the DCGW.
  • B2 End.DB6
  • Step 2.5 The DCGW determines that the Active SID is B3 and the SR policy corresponding to B3 is SR policy4. Use the function (End.DB6) configured in B3 to divert the SRv6 tunnel message to SR policy4, and process the message, strip the Outer IPv6 header, and then encapsulate an Outer IPv6 header corresponding to SR policy4. Then, the re-encapsulated SRv6 tunnel message is forwarded to the RDC network.
  • End.DB6 the function configured in B3 to divert the SRv6 tunnel message to SR policy4, and process the message, strip the Outer IPv6 header, and then encapsulate an Outer IPv6 header corresponding to SR policy4. Then, the re-encapsulated SRv6 tunnel message is forwarded to the RDC network.
  • Step 2.6 The processing in the RDC network is similar to the processing in the EDC network (Step 2.3). For example, SRv6 tunnel messages can be forwarded to vWOC for processing. After processing in the RDC network, the Active SID in the SRv6 tunnel message Change to B4, SRv6 tunnel message will be sent back to DCGW according to B4.
  • Step 2.7 When the DCGW receives the SRv6 tunnel message sent back by the RDC, it determines that the Active SID is B4. Since the Function of B4 is End.DT6, after stripping the Outer IPv6 header, use the DA of the Inner IPv6 header (ie AC2). ) Query the My Local SID table, and then forward the packet containing the Inner IPv6 header to the PE.
  • Step 2.8 When the PE receives the above IPv6 message, it determines that the SID of the destination address in the message header is AC2, and uses the function configured by AC2 (End.DX2) to associate with the corresponding AC port, and process the message. After dropping the Inner IPv6 header, use this AC port to send Ethernet frames.
  • AC2 End.DX2
  • FIG. 13 is a schematic structural diagram of a data forwarding apparatus provided by this application.
  • the data forwarding apparatus 1300 provided in an embodiment of the present application may include a receiving module 1310, a processing module 1320, and a sending module 1330.
  • the data forwarding apparatus 1300 may be used to execute the steps performed by the head node in the data forwarding method shown in any of the foregoing embodiments. among them,
  • the receiving module 1310 can be used to obtain the data to be forwarded;
  • the processing module 1320 may be configured to obtain a first SID sequence corresponding to the data to be forwarded, the first SID sequence being generated according to the SIDs of some nodes in the target forwarding path; and a report containing the first SID sequence
  • the header is encapsulated in the front end of the data to be forwarded to obtain the message to be forwarded;
  • the sending module 1330 may be configured to send the message to be forwarded according to the first SID sequence; wherein, the target forwarding path includes M nodes, and the first SID sequence is based on the previous one among the M nodes Generated by N nodes, the first SID sequence is replaced with a second SID sequence at an intermediate node, and the second SID sequence is generated according to the Xth to Yth nodes among the M nodes, where , M is greater than N, N is greater than or equal to 1, X is greater than or equal to N, and Y is less than or equal to M.
  • the receiving module 1310 may also be configured to receive the SR policy sent by the controller before acquiring the first SID sequence corresponding to the data to be forwarded, where the SR policy includes all The first SID sequence;
  • the processing module 1320 may be specifically configured to obtain the SR policy corresponding to the data to be forwarded according to the business attributes of the data to be forwarded; and determine the SID sequence contained in the SR policy as the data corresponding to the data to be forwarded The first SID sequence.
  • the head node is connected to the ingress edge node of the DCN through a basic forwarding network
  • the target forwarding path may include: an ingress edge node of the DCN, at least one SF node in the DCN, and an egress edge node of the DCN;
  • the first SID sequence is generated according to the SID of the ingress edge node of the DCN;
  • the sending module 1330 may be specifically configured to send the message to be forwarded to the ingress edge node of the DCN through the basic forwarding network according to the first SID sequence.
  • the head node is connected to the ingress edge node of the first DCN subnet in the DCN through the first basic forwarding network in the basic forwarding network; the first DCN subnet The egress edge node of is connected to the ingress edge node of the second DCN subnet in the DCN through the second basic forwarding network in the basic forwarding network;
  • the target forwarding path includes: an ingress edge node of the first DCN subnet, at least one SF node in the first DCN subnet, an egress edge node of the first DCN subnet, and the second DCN An ingress edge node of the subnet, at least one SF node in the second DCN subnet, and an egress edge node of the second DCN subnet;
  • the first SID sequence is generated according to the SID of the ingress edge node of the first DCN subnet
  • the sending module 1330 may be specifically configured to send the message to be forwarded to the ingress edge node of the first DCN subnet through the first basic forwarding network according to the first SID sequence.
  • the head node is PRE-AGG
  • the first DCN subnet is an EDC network
  • the second DCN subnet is an RDC network
  • the edge node and the egress edge node are both PE-AGG
  • the ingress edge node and the egress edge node of the RDC network are both DCGW.
  • At least one SF node in the first DCN subnet and at least one SF node in the second DCN subnet are SF nodes in a telecom cloud network
  • the first basic forwarding network is a Metro network
  • the second basic forwarding network is a Core network.
  • the Mth node in the target forwarding path is the target node of the VPN service corresponding to the data to be forwarded;
  • the processing module 1320 may be specifically configured to encapsulate the inner packet header containing the SID of the target node at the front end of the data to be forwarded; and encapsulate the outer packet header containing the first SID sequence in The front end of the inner layer message header; use the data to be forwarded with the outer layer message header and the inner layer message header as the message to be forwarded;
  • the sending module 1330 may be specifically configured to send the message to be forwarded according to the first SID sequence in the outer message header.
  • the message to be forwarded is an SRv6 message.
  • the data forwarding apparatus 1300 may be used to execute the steps performed by the intermediate node in the data forwarding method shown in any of the foregoing embodiments. among them,
  • the receiving module 1310 may be used to receive a message to be forwarded, and the message header of the message to be forwarded includes the first SID sequence;
  • the processing module 1320 may be used to obtain the second SID sequence corresponding to the message to be forwarded; and to replace the first SID sequence in the message header with the second SID sequence;
  • the sending module 1330 can be used to send the message to be forwarded according to the second SID sequence; wherein the first SID sequence and the second SID sequence are generated according to the SIDs of some nodes in the target forwarding path
  • the target forwarding path includes M nodes, the first SID sequence is generated according to the SID of the Xth node to the Yth node in the M nodes, and the second SID sequence is generated according to the M
  • the SIDs from the Y+1th node to the Zth node among the nodes are generated.
  • the X is greater than or equal to 1
  • the Y is greater than or equal to X
  • the Z is less than or equal to M.
  • the message to be forwarded may be an SRv6 message.
  • the intermediate node may be the Yth node among the M nodes.
  • the receiving module 1310 may be specifically configured to receive the SR policy sent by the controller before acquiring the second SID sequence corresponding to the message to be forwarded, where the SR policy includes The second SID sequence;
  • the processing module 1320 may be specifically configured to obtain a function when the Active SID in the first SID sequence is the SID of the intermediate node, and the function is used to instruct the intermediate node to transfer the information in the message to be forwarded
  • the first SID sequence is replaced with the second SID sequence included in the SR policy; the second SID sequence included in the SR policy corresponding to the function is determined to correspond to the message to be forwarded According to the instruction of the function, replace the first SID sequence in the message header with the second SID sequence.
  • the intermediate node is an ingress edge node of the DCN, and the intermediate node is connected to a basic forwarding network;
  • the target forwarding path includes: an ingress edge node of the DCN, at least one SF node in the DCN, and an egress edge node of the DCN;
  • the first SID sequence is generated according to the SID of the ingress edge node of the DCN;
  • the second SID sequence is generated according to the SID of at least one SF node in the DCN and the egress edge node of the DCN;
  • the receiving module 1310 may be specifically configured to receive the message to be forwarded sent by the head node through the basic forwarding network
  • the sending module 1330 may be specifically configured to send the message to be forwarded to the first SF node of the at least one SF node of the DCN through the internal node of the DCN according to the second SID sequence.
  • the intermediate node is the egress edge node of the first DCN subnet in the DCN, and the egress edge node of the first DCN subnet is the same as the second DCN subnet.
  • the ingress edge nodes of the DCN subnet are connected through the basic forwarding network;
  • the target forwarding path includes: an ingress edge node of the first DCN subnet, at least one SF node in the first DCN subnet, an egress edge node of the first DCN subnet, and the second DCN An ingress edge node of the subnet, at least one SF node in the second DCN subnet, and an egress edge node of the second DCN subnet;
  • the first SID sequence is generated according to at least one SF node in the first DCN subnet and an egress edge node of the first DCN subnet;
  • the second SID sequence is generated according to the ingress edge node of the second DCN subnet
  • the receiving module 1310 may be specifically configured to receive the message to be forwarded sent by the last SF node of the at least one SF node in the first DCN subnet through an internal node of the first DCN subnet;
  • the sending module 1330 may be specifically configured to send the message to be forwarded to the ingress edge node of the second DCN subnet through the basic forwarding network according to the second SID sequence.
  • the first DCN subnet is an EDC network
  • the second DCN subnet is an RDC network
  • the ingress edge node and egress edge node of the EDC network are both PE -AGG
  • the ingress edge node and the egress edge node of the RDC network are both DCGWs.
  • At least one SF node in the EDC network and at least one SF node in the RDC network are SF nodes in a telecom cloud network.
  • the Z is less than M; the M-th node in the target forwarding path is the target node of the VPN service corresponding to the message to be forwarded; the message to be forwarded
  • the message has an outer message header and an inner message header, wherein the outer message header is encapsulated at the front end of the inner message header; the outer message header includes the first SID sequence, The inner packet header includes the target node of the VPN service;
  • the processing module 1320 may be specifically configured to replace the first SID sequence in the outer packet header with the second SID sequence
  • the sending module 1330 may be specifically configured to send the message to be forwarded according to the second SID sequence of the book search in the outer message header.
  • the data forwarding apparatus 1300 may be used to perform the steps performed by the tail node in the data forwarding method shown in any of the foregoing embodiments. among them,
  • the receiving module 1310 may be configured to receive a message to be forwarded, the header of the message to be forwarded includes a second SID sequence, and the second SID sequence is generated according to the SIDs of some nodes in the target forwarding path;
  • the processing module 1320 can be used to remove the header of the message to be forwarded to obtain the data to be forwarded;
  • the sending module 1330 may be used to forward the data to be forwarded according to the destination address of the data to be forwarded;
  • the target forwarding path includes M nodes, and the second SID sequence is generated according to the SIDs from the Zth node to the Mth node among the M nodes; the second SID sequence is in the middle The node is obtained by replacing the first SID sequence.
  • the first SID sequence is generated from the Xth node to the Yth node in the M nodes, the Z is greater than 1 and less than or equal to M, and the X Is greater than or equal to 1, the Y is less than or equal to Z, and the SID of the tail node is the last SID in the second SID sequence.
  • the data forwarding apparatus 1300 may be used to perform the steps performed by the tail node in the data forwarding method shown in any of the foregoing embodiments. among them,
  • the receiving module 1310 may be used to receive a message to be forwarded, the message to be forwarded includes an outer layer header and an inner layer header, the outer layer header includes a second SID sequence, and the second SID sequence Is generated according to the SIDs of some nodes in the target forwarding path, the inner packet header includes the SID of the target node of the VPN service corresponding to the packet to be forwarded;
  • the processing module 1320 can be used to remove the outer packet header of the message to be forwarded to obtain the message to be forwarded;
  • the sending module 1330 may be configured to forward the message to be forwarded after removing the outer packet header to the target node of the VPN service corresponding to the message to be forwarded; wherein, the target forwarding path includes M nodes, and The second SID sequence is generated according to the SIDs of the Xth node to the M-1th node in the M nodes; the X is greater than 1, and the SID of the tail node is the SID in the second SID sequence The last SID; the target node of the VPN service is the Mth node.
  • the data forwarding apparatus 1300 may be used to execute the steps performed by the controller in the data forwarding method shown in any of the foregoing embodiments. among them,
  • the receiving module 1310 may be used to obtain a target forwarding path, where the target forwarding path includes M nodes;
  • the processing module 1320 may be configured to generate a first SID sequence according to the SIDs of the 1st to Nth nodes in the M nodes; and, according to the SIDs of the Xth to Yth nodes among the M nodes SID, generate a second SID sequence;
  • the sending module 1330 may be used to send the first SID sequence to the head node; and send the second SID sequence to the intermediate node; wherein the intermediate node is the Nth node among the M nodes, and N Greater than or equal to 1, X is equal to N or N+1, and Y is less than or equal to M;
  • the first SID sequence is used by the head node to send the data to be forwarded received by the head node;
  • the second SID sequence is used by the intermediate node to send the message to be forwarded received by the intermediate node.
  • the head node is used to use the first SID sequence as the destination address in the message header, and encapsulate the message header at the front end of the data to be forwarded to generate The message to be forwarded, and send the message to be forwarded to the intermediate node according to the destination address; the intermediate node is used to replace the first SID sequence in the header of the message to be forwarded Is the second SID sequence, and forwards the message to be forwarded according to the destination address in the replaced message header.
  • the sending module 1330 may be specifically configured to send an SR policy1 to the head node, where the SR policy1 includes the first SID sequence;
  • the sending module 1330 may be specifically configured to send an SR policy2 to the intermediate node, where the SR policy2 includes the second SID sequence.
  • the controller is a DCN controller in the DCN.
  • the node devices provided in the embodiments of the present application can serve different roles in different scenarios.
  • the same node device can act as any one or more of head node, intermediate node, and tail node in different SRv6 tunnels.
  • Role, for example, node device 1 is the head node in scene 1 and the intermediate node in scene 2.
  • the same node device may also serve different roles.
  • the head node and the intermediate node may be the same node device, and in another example, the intermediate node and the tail node may be the same node device.
  • the receiving module in the data transmission device for performing the function of the head node may also have the function of the receiving module in the data transmission device for performing the function of the intermediate node.
  • the processing module in the data transmission device with the function of the head node may also have the function of the processing module in the data transmission device for performing the function of the intermediate node
  • the sending module in the data transmission device for performing the function of the head node may also It may have the function of the sending module in the data transmission device for performing the function of the intermediate node.
  • Figure 14 is a schematic structural diagram of a node device provided by this application. As shown in FIG. 14, the present application also provides a node device 1400, including:
  • One or more processors 1410 are One or more processors 1410;
  • the storage device 1420 is used to store one or more programs
  • the one or more processors implement the steps performed by the head node in the data forwarding method shown in the above embodiment, or the data forwarding shown in the above embodiment
  • the above-mentioned node device may further include an interface 1430, which may be used to receive data to be forwarded or packets to be forwarded sent by other node devices, or to send to other node devices the data processed by the node device. Data to be forwarded or packets with forwarding.
  • the processor, storage device, and interface in the aforementioned node device may be connected through the bus 1460.
  • the aforementioned node device may be an edge device in the DCN.
  • the above-mentioned node device may be a PRE-AGG device, which may be used to execute the steps performed by the head node in the data forwarding method shown in any of the foregoing embodiments.
  • the aforementioned node device may be a PE-AGG device, which can be used to perform the steps performed by the head node in the data forwarding method shown in any of the foregoing embodiments, or can be used to perform the foregoing The steps performed by the intermediate node in the data forwarding method shown in any embodiment.
  • the above-mentioned node device may be a DCGW device, which can be used to perform the steps performed by the head node in the data forwarding method shown in any of the foregoing embodiments, or can be used to perform any of the foregoing The steps performed by the intermediate node in the data forwarding method shown in the embodiment.
  • the aforementioned node device may be a DCN controller device, which may be used to execute the steps executed by the controller in the data forwarding method shown in any of the foregoing embodiments.
  • the application also provides a data forwarding system, which may include: a head node and at least one intermediate node.
  • the system may also include a tail node.
  • system may further include a controller.
  • the head node, the intermediate node, and the tail node can cooperate with each other to execute the steps performed by each node in the data forwarding method shown in any of the foregoing embodiments.
  • the head node may be PE-AGG
  • the intermediate node may be PRE-AGG and/or DCGW
  • the tail node may be DCGW.
  • the controller is the DCN Controller of the data center network.
  • the present application also provides a computer-readable storage medium that stores instructions, and when the instructions are run on a computer, they are used to execute the head node in any of the method embodiments shown in each of the above figures. , Or used to perform steps involving intermediate nodes in any method embodiment shown in each of the above figures, or used to perform steps involving tail nodes in any method embodiment shown in each of the above figures , Or, used to execute the steps related to the controller in the method embodiments shown in any of the above figures.
  • the computer storage medium may also be used to execute steps related to at least one of the aforementioned head node, intermediate node, and tail node at the same time.
  • This application provides a computer program, when the computer program is executed by a computer, it is used to execute the steps related to the head node in the method embodiment shown in any of the above drawings, or it is used to execute any of the above drawings.
  • the method embodiment shown in one of the steps related to the intermediate node, or used to perform the steps related to the tail node in the method embodiment shown in any of the above figures, or used to perform the steps in any one of the above figures The illustrated method embodiment involves steps of the controller.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk).

Landscapes

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

Abstract

本申请提供一种数据转发方法及相关装置,该方法包括:头节点获取待转发数据;获取待转发数据对应的第一段标识SID序列,第一SID序列为根据目标转发路径中的部分节点的SID生成的;将包含第一SID序列的报文头封装在待转发数据的前端,得到待转发报文;根据第一SID序列,发送待转发报文;其中,目标转发路径包括M个节点,第一SID序列为根据M个节点中的前N个节点生成的,第一SID序列在中间节点被替换为第二SID序列,第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。本申请提供的技术方案能够解决由于目标转发路径过长导致数据信息在数据传输网络中无法正常传输的问题。

Description

数据转发方法及相关装置
本申请要求了2019年1月30日提交的,申请号为201910094301.8,发明名称为数据转发方法及相关装置”的中国申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据通信技术领域,特别涉及数据转发方法及相关装置。
背景技术
随着数据通信技术的飞速发展,越来越多的用户通过连接到数据传输网络实现海量数据信息的交互。
数据信息由用户的终端设备发送至数据传输网络的接入设备,再经由接入设备传输到数据传输网络的骨干网络。在数据信息转发的过程中,数据传输网络需要根据数据信息的业务需求,确定数据信息的目标转发路径。数据传输网络为了控制数据信息按照目标转发路径转发,需要在控制的起始节点,可称为头节点,为数据信息封装报文头,其中携带目标转发路径。
由于业务需求的飞速发展,目标转发路径的长度可能大于数据传输网络中的设备支持的最大路径,进而可能导致数据信息在数据传输网络中无法正常传输。
发明内容
本申请提供了一种数据转发方法及相关装置,用于解决由于目标转发路径过长导致数据信息在数据传输网络中无法正常传输的问题。
第一方面,本申请提供一种数据转发方法,所述方法包括:
头节点获取待转发数据;
头节点获取所述待转发数据对应的第一SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;
头节点将包含所述第一SID序列的报文头封装在所述待转发数据的前端,得到待转发报文;
头节点根据所述第一SID序列,发送所述待转发报文;
其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成的,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。
在本申请提供的技术方案中,通过将目标转发路径涉及的M个节点划分为至少两段子路径,头节点添加到待转发数据中的前端的SID序列为根据M个节点中的部分节点生成的,第一段子路径包含前N个节点。从而可以缩短数据传输网络中的设备传输需要支持的最大SID个数,进而能够确保目标转发路径较长时数据的正常传输。
在一种可能的实现方式中,在获取所述待转发数据对应的第一SID序列之前,所述方法包括:所述头节点接收控制器发送的SR policy,所述SR policy包括所述第一SID序列;
所述获取所述待转发数据对应的第一SID序列,包括:所述头节点根据所述待转发数据的业务属性,获取所述待转发数据对应的SR policy;并将所述SR policy中包含的SID序列, 确定为所述待转发数据对应的所述第一SID序列。
在一种可能的实现方式中,所述获取所述待转发数据对应的第一SID序列,包括:所述头节点获取所述头节点自身的SID,读取其中的功能function字段和参数Argument字段,所述function字段用于指示将包含第一SID序列的报文头封装在待转发数据的前端,所述Argument字段用于指示所述第一SID序列。
在一种可能的实现方式中,所述头节点与DCN的入口边缘节点通过基础转发网络连接;
所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中的至少一个SF和所述DCN的出口边缘节点生成的;所述第一SID序列用于在所述DCN的入口边缘节点替换为所述第二SID序列;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述第一SID序列,通过所述基础转发网络向所述DCN的入口边缘节点发送所述待转发报文。
在本申请中,通过将分段SID序列中的第一SID序列中仅包含DCN中的边缘节点的方式,能够避免DCN网络内部节点的SID暴露于基础转发网络中,从而可以将本申请提供的数据转发方法应用于电信云网络等场景。
在一种可能的实现方式中所述头节点与DCN中的第一DCN子网的入口边缘节点通过基础转发网络中的第一基础转发网络连接;所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过所述基础转发网络中的第二基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列为根据所述第一DCN子网的入口边缘节点的SID生成的;所述第一SID序列在所述第一DCN子网的入口边缘节点被替换为所述第二SID序列,所述第二SID序列为根据所述第一DCN子网中的至少一个SF和所述第一DCN子网的出口边缘节点生成的;所述第二SID序列用于在所述第一DCN子网的出口边缘节点替换为第三SID序列,所述第三SID序列为根据所述第二DCN子网的入口边缘节点生成的;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述第一SID序列,通过所述第一基础转发网络向所述第一DCN子网的入口边缘节点发送所述待转发报文。
在一种可能的实现方式中所述头节点为PRE-AGG,所述第一DCN子网为EDC网络,所述第二DCN子网为RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW;示例性地,所述EDC网络的入口边缘节点的SID和出口边缘节点的SID分别为PE-AGG的SID1和SID2,所述RDC网络的入口边缘节点的SID和出口边缘节点的SID分别为DCGW的SID1和SID2。
在一种可能的实现方式中所述第一DCN子网中的至少一个SF节点和所述第二DCN子网中的至少一个SF节点为电信云网络中的SF节点;
所述第一基础转发网络为Metro网络,所述第二基础转发网络为Core网络。
在一种可能的实现方式中所述目标转发路径中的第M个节点为所述待转发数据对应的VPN业务的目标节点;
所述将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,包括:
将包含所述目标节点的SID的内层报文头,封装在所述待转发数据的前端;
将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端;
将具有所述外层报文头和所述内层报文头的待转发数据作为所述待转发报文;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述外层报文头中的所述第一SID序列,发送所述待转发报文。
在一种可能的实现方式中,所述待转发报文为SRv6报文。
第二方面,本申请提供一种数据转发方法,所述方法包括:
中间节点接收待转发报文,所述待转发报文的报文头包含第一SID序列;
中间节点获取所述待转发报文对应的第二SID序列;
中间节点将所述报文头中的所述第一SID序列替换为所述第二SID序列;
中间节点根据所述第二SID序列,发送所述待转发报文;
其中,所述第一SID序列和所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
在一种可能的实现方式中,所述待转发报文为SRv6报文。
在一种可能的实现方式中,所述中间节点为所述M个节点中的第Y个节点。
在一种可能的实现方式中,在获取所述待转发报文对应的第二SID序列之前,所述方法包括:所述中间节点接收控制器发送的SR policy,所述SR policy包括所述第二SID序列;
所述获取所述待转发报文对应的第二SID序列,包括:在所述第一SID序列中的Active SID为所述中间节点的SID时,所述中间节点获取操作指令,所述操作指令用于指示所述中间节点将所述待转发报文中的所述第一SID序列替换为所述SR policy中包含的所述第二SID序列;所述中间节点将所述操作指令对应的所述SR policy中包含的所述第二SID序列确定为所述待转发报文对应的所述第二SID序列;
所述将所述报文头中的所述第一SID序列替换为所述第二SID序列,包括:根据所述操作指令的指示,将所述报文头中的所述第一SID序列替换为所述第二SID序列。
在一种可能的实现方式中,所述获取所述待转发数据对应的第二SID序列,包括:所述中间节点获取所述中间节点自身的SID,读取其中的功能function字段和参数Argument字段,所述function字段用于指示将所述第一SID序列替换为第二SID序列,所述Argument字段用于指示所述第二SID序列。
在一种可能的实现方式中,所述中间节点为DCN的入口边缘节点,所述中间节点与基础转发网络连接;
所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中至少一个SF节点和所述DCN的出口边缘节点的SID生成的;
所述中间节点接收待转发报文,包括:所述中间节点通过基础转发网络接收头节点发送的所述待转发报文;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述第二SID序列,通过所 述DCN的内部节点向所述DCN的至少一个SF节点中的第一个SF节点发送所述待转发报文。在一种可能的实现方式中,所述中间节点为DCN中的第一DCN子网的出口边缘节点,所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列为根据所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点生成的;
所述第二SID序列为根据所述第二DCN子网的入口边缘节点生成的;或者,所述第二SID序列为根据所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点生成的;
所述中间节点接收待转发报文,包括:所述中间节点通过所述第一DCN子网的内部节点,接收所述第一DCN子网中所述至少一个SF节点中的最后一个SF节点发送的所述待转发报文;所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述第二SID序列,通过所述基础转发网络向所述第二DCN子网的入口边缘节点发送所述待转发报文。
在一种可能的实现方式中,所述第一DCN子网为EDC网络,所述第二DCN子网为RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW;所述EDC网络的入口边缘节点的SID和出口边缘节点的SID分别为PE-AGG的SID1和SID2,所述RDC网络的入口边缘节点的SID和出口边缘节点的SID分别为DCGW的SID1和SID2。
在一种可能的实现方式中,所述EDC网络中的至少一个SF节点和所述RDC网络中的至少一个SF节点为电信云网络中的SF节点。
在一种可能的实现方式中,所述Z小于M;
所述目标转发路径中的第M个节点为所述待转发报文对应的VPN业务的目标节点的SID;
所述待转发报文具有外层报文头和内层报文头,其中,
所述外层报文头封装在所述内层报文头的前端;
所述外层报文头包含所述第一SID序列,所述内层报文头包含所述VPN业务的目标节点;
所述将所述报文头中的所述第一SID序列替换为所述第二SID序列,包括:将所述外层报文头中的所述第一SID序列替换为所述第二SID序列;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述外层报文头中的所述第二SID序列,发送所述待转发报文。
第三方面,本申请提供一种数据转发方法,所述方法包括:
尾节点接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;
尾节点去除所述待转发报文的报文头,得到待转发数据;
尾节点根据所述待转发数据的目的地址转发所述待转发数据;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1 且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
第四方面,本申请提供一种数据转发方法,其特征在于,所述方法包括:
尾节点接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID;
尾节点去除所述待转发报文的外层报文头,得到待转发报文;
尾节点向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
第五方面,本申请提供一种数据转发方法,所述方法包括:
控制器获取目标转发路径,所述目标转发路径包括M个节点;
控制器根据所述M个节点中的第1个至第N个节点的SID,生成第一SID序列;
控制器根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
控制器向头节点发送所述第一SID序列;
控制器向中间节点发送所述第二SID序列;
其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或N+1,Y小于或者等于M;
所述头节点用于将包含所述第一SID序列的报文头封装在待转发数据的前端,生成待转发报文,并根据所述第一SID序列向所述中间节点发送所述待转发报文;
所述中间节点用于将所述待转发报文的报文头中的所述第一SID序列替换为所述第二SID序列,并根据第二SID序列转发所述待转发报文。
在一种可能的实现方式中,所述向头节点发送所述第一SID序列,包括:向所述头节点发送SR policy1,所述SR policy1包含所述第一SID序列;
所述向中间节点发送所述第二SID序列,包括:向所述中间节点发送SR policy2,所述SR policy2包含所述第二SID序列。
在一种可能的实现方式中,所述Y小于M,第M个节点为VPN业务的目标节点;所述方法还包括:
将所述VPN业务的目标节点发送给所述头节点;所述头节点还用于将包含所述VPN业务的目标节点的内层报文头封装在所述待转发数据的前端,以及,将包含所述第一SID序列的外层报文头封装在所述内层报文头的前端,生成待转发报文,并根据所述外层报文头中的第一SID序列向所述中间节点发送所述待转发报文。
在一种可能的实现方式中,所述控制器为DCN中的DCN controller。
第六方面,本申请提供一种数据转发***,所述***包括:
头节点,所述头节点用于执行第一方面所述的数据转发方法;
至少一个中间节点,所述中间节点用于执行权利要求第二方面所述的数据转发方法。
在一种可能的实现方式中,所述***还包括尾节点,所述尾节点用于执行第三方面或第四方面所述的数据转发方法。其中,所述头节点可以为PE-AGG,所述中间节点可以为PRE-AGG或 者DCGW,所述尾节点可以为DCGW。
在一种可能的实现方式中,所述***还包括控制器,所述控制器用于执行第五方面所述的数据转发方法。其中,控制器可以为DCN controller。
第七方面,本申请提供一种数据转发装置,应用于网络***,所述网络***包括头节点、中间节点和尾节点,所述装置位于头节点,包括:
接收模块,用于接收待转发数据;
处理模块,用于获取所述待转发数据对应的第一SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;以及将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,得到待转发报文;
发送模块,用于根据所述第一SID序列,发送所述待转发报文;其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。
第八方面,本申请提供一种数据转发装置,应用于网络***,所述网络***包括头节点、中间节点和尾节点,所述装置位于中间节点,包括:
接收模块,用于接收待转发报文,所述待转发报文的报文头包含第一SID序列;
处理模块,用于获取所述待转发报文对应的第二SID序列;以及,将所述报文头中的所述第一SID序列替换为所述第二SID序列;
发送模块,用于根据所述第二SID序列,发送所述待转发报文;其中,所述第一SID序列和所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
第九方面,本申请提供一种数据转发装置,应用于网络***,所述网络***包括头节点、中间节点和尾节点,所述装置位于尾节点,包括:
接收模块,用于接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;
处理模块,用于去除所述待转发报文的报文头,得到待转发数据;
发送模块,用于根据所述待转发数据自身的目的地址转发所述待转发数据;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
第十方面,本申请提供一种数据转发装置,应用于网络***,所述网络***包括头节点、中间节点和尾节点,所述装置位于尾节点,包括:
接收模块,用于接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID;
处理模块,用于去除所述待转发报文的外层报文头,得到待转发报文;
发送模块,用于向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
第十一方面,本申请提供一种数据转发装置,应用于网络***,所述网络***包括头节点、中间节点、尾节点和控制器,所述装置位于控制器,包括:
接收模块,用于获取目标转发路径,所述目标转发路径包括M个节点;
处理模块,用于根据所述M个节点中的第1个至第N个节点的SID,生成第一SID序列;以及,根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
发送模块,用于向头节点发送所述第一SID序列;以及,向中间节点发送所述第二SID序列;其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或者N+1,Y小于或者等于M;
在一种可能的实现方式中,所述头节点用于将所述第一SID序列作为报文头中的目的地址,将所述报文头封装在待转发数据的前端,生成待转发报文,并根据所述目的地址向所述中间节点发送所述待转发报文;所述中间节点用于将所述待转发报文的报文头中的所述第一SID序列替换为所述第二SID序列,并根据替换后的报文头中的目的地址转发所述待转发报文。示例性地,该数据转发装置可以位于控制器侧。
第十二方面,本申请提供一种节点设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中的数据转发方法,或者,如上述第二方面中的数据转发方法,或者,如上述第三方面中的数据转发方法,或者,如上述第四方面中的数据转发方法。
在一种可能的实现方式中,节点设备可以为PRE-AGG,该节点设备可以执行上述第一方面中的数据转发方法。
在一种可能的实现方式中,节点设备可以为PE-AGG,该节点设备可以执行上述第二方面中的数据转发方法,或者,第一方面中的数据转发方法。
在一种可能的实现方式中,节点设备可以为DCGW,该节点设备可以执行上述第二方面中的数据转发方法,和/或,第三方面中的数据转发方法,或者,该节点设备可以执行上述第一方面中的数据转发方法和第三方面中的数据转发方法。
第十三方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令在计算机上运行时,用于执行上述第一方面至第四方面中任一方面中的数据转发方法。
第十四方面,本申请提供一种计算机程序,当计算机程序被计算机执行时,用于执行上述第一方面至第四方面中任一方面中的数据转发方法。
附图说明
图1为一种网络架构的示意图一;
图2为本申请实施例提供的数据转发方法的交互流程的示意图一;
图3为本申请实施例提供的数据转发方法的交互流程的示意图二;
图4为一种网络架构的示意图二;
图5为一种网络架构的示意图三;
图6为本申请实施例提供的数据转发方法的交互流程的示意图三;
图7为一种网络架构的示意图四;
图8为本申请实施例提供的数据转发方法的交互流程的示意图四;
图9为本申请实施例提供的数据转发方法应用于一种业务场景的网络架构的示意图;
图10为本申请实施例提供的数据转发方法应用于一种业务场景的处理流程的总体框架示意图;
图11为本申请实施例提供的数据转发方法应用于业务场景的处理流程图一;
图12为本申请实施例提供的数据转发方法应用于业务场景的处理流程图二;
图13为本申请实施例提供的数据转发装置的结构示意图;
图14为本申请实施例提供的节点设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请提供的技术方案用于实现在数据传输网络中按照预设的目标转发路径传输待转发数据的控制过程。在本申请中,数据传输网络可以由若干节点组成,目标转发路径可以定义为由至少两个节点的节点标识组成的节点标识的序列。
本申请提供的数据转发方法可以应用于多种网络架构,下面分别结合各种网络架构对本申请提供的数据转发方法的技术方案和技术效果进行说明。
图1为一种网络架构的示意图一。如图1所示,在该网络架构中,数据传输网络可包括头节点、尾节点、中间节点和其他节点。其中,头节点可以为控制待转发数据按照目标转发路径转发过程的起始节点,尾节点可以为控制过程的结束节点,中间节点可以为目标转发路径中的节点,其他节点可以位于传输网络中的其他位置,例如,其他节点可以位于头节点之前、尾节点之后、中间节点之间等。目标转发路径可以包括至少一个中间节点,目标转发路径中的各个中间节点可以相邻也可以通过其他节点连接。目标转发路径还可以包括一个或多个其他节点。在本申请实施例中,目标转发路径可以不包含头节点,也可以包含头节点。
基于图1所示的网络架构,为了实现控制待转发数据按目标转发路径转发,在一种控制方式中,当待转发数据到达头节点时,头节点可对待转发数据进行预处理,将包含目标转发路径的报文头封装在待转发数据的前端,得到待转发报文,该目标转发路径可用于指示数据传输网络中的节点按照报文头中的目标转发路径对应的节点序列将待转发数据转发至尾节点,在尾节点中可以对报文进行解除控制的处理,将包含目标转发路径的报文头从待转发报文中去除,得到待转发数据。之后,待转发数据可以按照待转发数据自身中原有的目的地址在网络中继续传输。示例性地,待转发数据可以为数据帧,如以太帧,则待转发数据自身的目的地址可以为以太帧中的目的MAC地址,又如,待转发数据可以为网络层报文,如IP报文,则待转发数据自身的目的地址可以为IP报文中的目的IP地址。
在实际应用中,国际互联网工程任务组(The Internet Engineering Task Force,IETF)中的网络中的源包路由(Source Packet Routing in Networking,SPRING)工作组(WorkGroup,WG)定义的段路由(Segment Routing,SR)技术可用于实现上述控制方式。
SR本身是一种基于源路由转发模式的隧道技术。对于传输网络中的一条SR隧道来说,SR隧道的入口节点和出口节点可以分别视为上述控制方式中的头节点和尾节点。SR隧道可以对应上述控制方式中由至少两个节点组成的目标转发路径,SR的一个基本设计思想是:只需要在头节点维护每流(per-flow)状态,不需在中间节点和尾节点维护per-flow状态。每流状态用于SR隧道对每个业务流进行资源预留,如预留一定的带宽。
在SR技术中,节点的标识可以用段标识(Segment Identifier,SID)表示。SID可以是一种具有拓扑或者业务语义的指令。SR隧道对应的目标转发路径可以根据至少两个节点的SID生成,例如,目标转发路径可以为至少两个节点的SID按照预设的转发顺序依次排列组成。举例来说,图1所示的数据传输网络中的头节点、中间节点1、中间节点2、中间节点3、尾节点的标识可以分别为SID1、SID2、SID3、SID4、SID5,在一示例中,若待转发数据必须经过中间节点1、中间节点2、中间节点3传输至尾节点,则对应的目标转发路径可表示为{SID2;SID3;SID4;SID5},在另一示例中,若待转发数据必须经过中间节点1、中间节点3传输至尾节点,则对应的目标转发路径可以表示为{SID2;SID3;SID4;SID5}。
在SR技术中,SR的数据面可以基于多协议标签交换(Multi-Protocol Label Switching,MPLS),也可以基于IPv6,分别称为使用MPLS作为数据面的段路由(SR MPLS)和使用IPv6作为数据面的段路由(Segment Routing based IPv6 data plane,SRv6)。在采用SRv6技术实现上述控制方式时,可以将目标转发路径中的节点的SID按照业务需求组成SID序列(SID list),用以指示采用SRv6作为数据面的方式定义的SRv6隧道的转发路径。每个SID序列可以包括至少一个SID。对于SRv6而言,SID在形式上是16-bits的IPv6地址,SID包括寻址(Locator)、功能(Function)、操作参数(Argument)三部分。表1为SRv6报文中的SID的结构的一种示意。
表1
Figure PCTCN2020071570-appb-000001
其中,Locator可用于寻址,即与路由相关,Function可用于指定与SID相关的功能,如拓扑功能或者业务功能,Argument为可选参数,可用于指定执行Function相关操作的参数。Function和Argument可以为用于实现SRv6的网络编程功能的网络编程参数。在后面将对网络编程功能进行说明。
需要说明的是,对采用SRv6方式定义的SRv6隧道可以使用常规IPv6中的traceroute功能对SRv6隧道进行路径检测,也就是说,SID需要支持在除了转发路径中的中间节点之外的普通节点被按照普通IPv6地址进行路由转发,在一示例中,SID中的Locator部分可以在普通节点的路由表中匹配到一个网段地址,则普通节点可以按照网络地址对应的下一跳地址转发该报文。此外,SRv6的报文头中的SID list在SRv6中的某些特殊节点需要支持报文头的修改操作。
在SR技术中,对于SRv6类型的报文(以下简称SRv6报文),IETF 6man WG定义可以使用IPv6段路由头(Segment Routing Header,SRH)携带SID list,用来指定IPv6报文的转发路径。SRH可以为Routing Type=4的IPv6的路由头(Routing Header),示例性的,SRH对应的IE的名称可以为draft-ietf-6man-segment-routing-header-14。SRH可以采用宽松源路由模式,即不要求转发路径上的每一跳都支持和解析SRH,也不要求SRH中的SID list包含转发路径上的每一跳节点,在一示例中,SRH中的SID list可以只包含一个节点。在一 些场景中,SRv6的隧道报文中甚至可以不包含SRH字段,示例性地,当需要添加的SID list只包含一个节点的SID时,可以将该节点的SID添加至待转发报文的目的地址字段。
在SR技术中,在利用SR隧道实现按照目标转发路径转发数据之前,需要先建立SR隧道,即分配各个节点的SID以及确定目标转发路径对应的SID list。SR隧道的建立SID list可以通过显示候选路径(Explicit candidate path)、动态候选路径(Dynamic candidate path)两种方式指定。在一示例中,可以由数据传输网络的控制器为各个节点分配SID。在另一示例中,可以为到达头节点的各种待转发数据,规划目标转发路径。
在SR技术中,在按照SRv6方式定义的SRv6隧道转发数据的过程中,SRv6报文在数据传输网络中可能经过的节点可以被划分成以下几种设备角色(device role)的类型。
非SRv6节点(Non-SRv6node):不支持或未使能SRv6功能的节点,这类节点只能进行普通IPv6报文的转发。例如,该类型的节点不支持按照报文头的SRH字段中携带的SID list转发报文,又如,该类型的节点仅支持对待转发的报文的目的地址中的IP地址为本地(Native)IPv6报文的转发。
转发节点(Transit node):已使能SRv6功能的节点,该类节点上的我的本地SID表(My Local SID table)中未安装SRv6报文的活跃SID(Active SID)。需要说明的是,一个节点上的My Local SID Table中配置的SID为该节点所具有的SID。一个SRv6报文的Active SID为SRv6报文携带的SID list中的一个SID,Active SID用于表示SRv6报文当前期望到达的目的节点。若某个节点接收到SRv6报文时,SRv6报文的报文头中携带的SID list中的Active SID不是本节点所具有的SID(即未安装SRv6报文的Active SID)时,该节点需要按照Active SID指示的目的节点继续转发该SRv6报文,此时,该节点所起的作用仅仅是转发该报文,而不进行特殊的处理,则该节点的角色就是转发节点。
绑定段标识节点(Binding Segment Identifier node,BSID node):已使能SRv6功能的节点,同时,通过BSID机制(draft-ietf-spring-segment-routing-policy-01),将流量引入一个新的SR策略(SR policy)的节点。也就是说,BSID节点可以是配置了SR policy的节点。
端点节点(Endpoint node):已使能SRv6功能的节点,且该节点上的My Local SID table中已安装SRv6报文的Active SID。需要说明的是,若某个节点接收到SRv6报文时,SRv6报文的报文头中携带的SID list中的Active SID是本节点所具有的SID(即该节点上已安装SRv6报文的Active SID)时,该节点需要将SRv6报文携带的SID list中当前被标识为Active SID的下一个SID标识为新的Active SID,之后,当前节点按照新的Active SID指示的目的节点继续转发该SRv6报文,此时,该节点的角色就是端点节点。也就是说,端点节点可以是目标转发路径对应的SID list中的节点。
需要说明的是,My Local SID Table用于实现SRv6的网络编程功能,这张表维护Endpoint node的本节点所具有的所有local SID(由该节点分配和解释的SID)。根据draft-filsfils-spring-srv6-network-programming-05的说明,My Local SID table中的SID必须显式配置生成。
可以看出,上述这几种设备角色(device role)是基于转发流程中Active SID与My Local SID table的匹配情况划分的。
待转发数据在SRv6隧道中的转发过程可以包括:
头节点(可视为BSID节点)将流量引流至SR policy,其中,头节点根据SR policy的 当前激活候选路径(active Candidate path),获得所指定路径对应的SID list,然后,头节点将包含SID list的报文头封装在待转发数据的前端,得到封装好的待转发报文,其中,SID list中的第一个SID被指示为Active SID,然后将Active SID作为目的地址(Destination Address,DA),向下游设备转发该待转发报文。在SRv6隧道中转发SRv6报文的任意时刻,SRv6报文的SID list中只有一个活跃SID(Active SID),Active SID用于标识下一跳节点的SID。中间节点在接收到SRv6报文时,根据Active SID(即IPv6DA),查询My Local SID table,如果存在匹配表项(即Active SID为中间节点自身所具有的SID),根据所命中的local SID表项所关联的功能(Function)进行相关处理。在完成相关处理后,中间节点更新SID list中的Active SID(例如,将SID list中当前Active SID后的下一个SID指示为新的Active SID),之后,中间节点按照更新的Active SID所指示的目的节点,向下游节点转发该SRv6报文,当SRv6报文被转发至尾节点(尾节点的SID与Active SID相同,且是SID list中的最后一个SID)时,尾节点可以去除封装在待转发数据前端的报文头。头节点与尾节点之间可以经过一个或多个中间节点(每个中间节点可视为端点节点),头节点与中间节点之间可以经过一个或多个其他节点(可以视为非SRv6节点或者转发节点),中间节点和尾节点之间也可以经过一个或多个其他节点(可以视为非SRv6节点或者转发节点)。
需要说明的是,在SR技术中,采用SRv6方式定义的SR隧道技术除了具备SR的通用特点之外,采用SRv6方式定义的SR隧道技术与采用MPLS方式定义的SR隧道技术的不同之处在于,采用SRv6方式定义的隧道技术支持网络编程。利用网络编程,采用SRv6方式定义的隧道技术具有非常强大的可扩展能力。
在SR技术中,SID中的Function和Argument可以作为支持网络编程功能的网络编程参数。网络编程参数可以用于指示采用SRv6方式定义的隧道中的节点按照网络编程参数对应的功能(function)对报文进行处理。SR技术支持定义多种类型的Function。
举例来说,End功能(End Function)可以用于实现端点节点更新Active SID以及指示端点节点根据更新后的Active SID转发SRv6报文的处理步骤。示例性地,End Function中可以包含以下处理逻辑:
1.IF NH=SRH and SL>0
2.decrement SL
3.update the IPv6 DA with SRH[SL]//更新IPv6目的地址(Destination Address,DA)
4.FIB lookup on the update DA//根据更新后的DA转发
5.forward accordingly to the matched entry
6.ELSE
7.drop the packet
从逻辑上讲,其他Function都可以是End Function的变种。需要说明的是,SRv6的网络编程的优势在于Function允许多种扩展形式,举例来说,SRv6的网络编程功能允许符合逻辑的“任意”形式的扩展。
又如,在上述待转发数据在SRv6隧道中的转发过程中,传输网络中的头节点可以为BSID节点,SRv6报文中携带的网络编程参数可用于指示BSID节点根据SRv6报文对应的SR策略(SR policy)对SRv6进行预处理,如,可以根据SR policy对应的SID list生成包含SIDlist的报文头,并封装在待转发数据的前端,得到待转发的SRv6报文。
此外,支持网络编程的SRv6技术还可以适用于多种应用场景,例如,可实现边界网关协议(Border Gateway Protocol,BGP)或者基于SR的三层VPN业务(SR L3VPN)或者基于以太网VPN业务的二层VPN业务(EVPN L2VPN)或者基于以太网VPN业务的三层VPN业务(EVPN L3VPN)或者业务链(Service Function Chain,SFC)等报文转发的控制方式。在一示例中,可以将报文按照SR L3VPN定义转发时所对应的转发路径,作为SID list,在SRv6隧道的头节点添加到报文头中。
在本申请其他实施例中,网络编程对应的IE名称可以为draft-filsfils-spring-srv6-network-programming-05。
还需要说明的是,在SR技术中,为了屏蔽部分网络的拓扑细节、以及规避硬件芯片MSD规格不足的问题,可以利用BSID技术来将流量引流(steer)至SR policy。BSID节点被定义为SR隧道中具有特殊功能的节点。BSID节点中可以预先设置了一个或多个SR policy,每个SR policy可以对应一个SID list。结合上述转发流程来说,头节点被赋予BSID节点的角色,头节点可以预先接收一个SR policy,其中包含一个目标转发路径,该SR policy可以是网络中控制器设备下发的。BSID节点可以将包含该SID list的报文头封装在待转发数据的前端,生成待转发报文。示例性地,SID list可以位于SRH字段或者目的地址字段。
在采用前面所述的控制方式中,头节点封装在待转发数据前端的SID list为根据完整目标转发路径中必须经过的所有节点的SID生成,在必须经过的节点的数量较多时,SID list的长度将非常长。例如,完整的目标转发路径可以包括中间节点1、中间节点2、中间节点3、……中间节点19、尾节点,各个节点的SID组成的SID list可以为{SID2;SID3;SID4;……SID20;SID21;},这就要求数据传输网络中的BSID节点和端点节点需要支持SID list的长度为20。可见,上述控制方式的实现对数据传输网络中的设备需要支持的SID的最大深度(Maximum SID Depth,MSD)提出了较高的要求。在一些场景中,由于数据传输网络中的一些低端设备自身支持的MSD小于一些业务场景所需的SID list的长度时,将导致无法沿着完整的目标转发路径转发数据。
为解决上述问题,本申请实施例提供下面的数据转发方法。
图2为本申请实施例提供的数据转发方法的交互流程的示意图一。本申请实施例涉及头节点、中间节点、尾节点等。
下面以图1所示数据传输网络为例进行说明,目标转发路径可以包括中间节点1、中间节点2、中间节点3和尾节点,由这些节点组成的目标转发路径对应的SID list为{SID2;SID3;SID4;SID5;}。
为了使得需要添加到待转发数据或者待转发报文中的SID序列的长度较短,在一示例中,在头节点收到待转发数据之前,在控制层面,网络中的控制器可以将目标转发路径划分为若干段。以划分为2段为例,目标转发路径对应的SID list可以划分为第一SID序列和第二SID序列。之后,控制器可以将第一SID序列下发给头节点,并将第二SID序列下发给第一SID序列中的最后一个节点。在图2所示交互流程中的中间节点可以为第一SID序列中的最后一个节点。之后,在转发层(也可称为数据层),头节点、中间节点和尾节点可以按照下面的步骤实施。如图2所示,本申请实施例的步骤包括:
S201,头节点接收待转发数据。
其中,待转发数据可以为数据帧或者IP报文。示例性地,数据帧可以是以太(Ethernet)帧。待转发数据可以携带所请求的业务的类型信息、与业务相关的参数信息等业务属性。如, 请求访问服务器上的视频文件以及文件名称等。在一示例中,头节点可以从其他节点接收待转发数据。
S202,头节点获取待转发数据对应的第一SID序列,第一SID序列为根据目标转发路径中的M个节点中的前N个节点的SID生成的,N小于M,N大于或者等于1。
其中,头节点可以根据待转发数据的业务属性,获取待转发数据对应的SR policy 1;并将SR policy 1中包含的SID序列,确定为待转发数据对应的所述第一SID序列。需要说明的是,从业务的角度来说,不同的业务属性可以对应不同的目标转发路径,控制器可以预先规划各种业务属性对应的目标转发路径,并对长度较长的目标转发路径进行分段,然后将一个目标转发路径分段后的SID序列分别通过不同的SR policy下发至头节点以及对应的其他中间节点上。头节点可以存储SR policy与业务属性的对应关系,并在接收到待转发数据时,根据待转发数据中携带的业务属性获取对应的SR policy。
在本申请中,若N等于1,第一SID序列为根据目标转发路径中的第1个节点的SID生成,即第一SID序列可以包括目标转发路径中的第一个节点的SID;若N大于1,第一SID序列为根据目标转发路径中的第1个至第N个节点的SID生成,即第一SID序列可以包括第1个至第N个节点的SID。
S203,头节点将包含第一SID序列的报文头封装在待转发数据的前端,得到待转发报文。
其中,封装后的待转发报文可以包括报文头和待转发数据两个部分。其中,报文头中包含第一SID序列。需要说明的是,将报文头封装在待转发数据的前端是指封装在待转发数据的外侧,而非待转发数据的内部。表2为封装后的待转发报文的一种示意。
表2
Figure PCTCN2020071570-appb-000002
在本申请的一种实施方式中,当第一SID序列仅包含一个SID时,可以直接将该SID作为报文头中的目的地址,并将报文头封装在待转发数据的前端,在另一种实施方式中,当第一SID序列包括两个及以上SID时,可以将该SID序列添加到报文头中的SRH字段,并将封装有SRH字段的报文头封装在待转发数据的前端。在本申请中,头节点将包含任一SID序列的报文头封装在待转发数据的前端时,以及中间节点替换SID序列时均可以采用上述两个实施方式。S204,头节点根据第一SID序列,向中间节点发送待转发报文,其中,中间节点为第N个节点。
在本申请中,当报文头中的SID序列仅包含一个SID时,该SID可以位于报文头中的目的地址,则头节点可以根据报文头中的目的地址,向中间节点发送待转发数据。当报文头中的SID序列包含至少两个SID时,SID序列被添加至报文头中的SRH字段,头节点需要设置SID序列中的尚未到达的第一个SID为Active SID,并将该Active SID设置为报文头中的目的地址,用于指示待转发报文的下一跳地址。
S205,中间节点获取待转发报文对应的第二SID序列,第二SID序列为根据目标转发路径中的M个节点中的第N+1个节点至第M个节点生成的。
其中,中间节点接收到待转发报文时,待转发报文中的第一SID序列中的Active SID为中间节点的SID,中间节点可以获取Active SID匹配的操作指令,该操作指令用于指示中间节点将待转发报文中的第一SID序列替换为SR policy2中包含的第二SID序列;中间节点 将操作指令对应的SR policy2中包含的第二SID序列确定为待转发报文对应的第二SID序列。
需要说明的是,操作指令可以是Active SID在My Local SID Table中匹配到的处理步骤,如SID对应的operation,也可以是Active SID的Function字段、Argument字段所指示的处理步骤。
S206,中间节点将报文头中的第一SID序列替换为第二SID序列。
在本申请中,中间节点将报文头中的第一SID序列替换为第二SID序列可以包括两种方式。
在一种实施方式中,中间节点可以将接收到的待转发数据的报文头完整地替换为新的报文头,例如,可以先对原有报文头进行剥离,再封装新的报文头,其中,新的报文头中的包含第二SID序列,若第二SID序列仅包含一个SID,新的报文头中的第二SID序列可以位于新的报文头中的目的地址,若第二SID序列包含两个及以上SID,新的报文头中的第二SID序列可以位于新的报文头中的SRH字段中,并将下一跳节点的SID设置为ActiveSID,同时将Active SID设置为报文头中的目的地址,新的报文头中的其他字段可以根据原有报文头中的字段的值填充或者根据业务实际的转发场景的需求生成。示例性地,报文头中还可以包括源地址、流标签等字段,可以根据DCGW的实际情况,按照DCGW的本地策略拷贝或设置为新的值。
在另一种实施方式中,中间节点也可以只替换待转发报文中的SID序列,当头节点中的第一SID序列位于报文头中的目的地址时,中间节点将第二SID序列添加到待转发报文的报文头中的SRH字段中,并将下一跳节点的SID设置为Active SID,并将Active SID设置为报文头中的目的地址,当头节点中的第一SID序列位于报文头中的SRH字段时,中间节点可以将原有报文头中的SRH字段中的第一SID序列替换为第二SID序列,并将下一跳节点的SID设置为Active SID,并将Active SID设置为报文头中的目的地址。
S207,中间节点根据第二SID序列,向尾节点转发待转发报文,其中,尾节点为第M个节点。
其中,中间节点按照第二SID序列指示的节点序列转发报文,并最终转发至尾节点。需要说明的是,在本申请各个实施例中,中间节点为ActiveSID时,需要将下一个未到达的SID设置为Active SID,并将Active SID设置为报文头中的目的地址,以指示待转发报文的下一跳地址。
S208,尾节点去除待转发报文的报文头,得到待转发数据。
在一示例中,头节点、中间节点均可以为SRv6隧道中的BSID节点。中间节点可以是SRv6隧道中的端点节点。尾节点可以是目标转发路径中的最后一个节点。
在本申请中,通过将目标转发路径涉及的M个节点划分为两段子路径,第一段子路径包含前N个节点,第二段子路径包含第N+1个节点至第M个节点。使得数据传输网络中的设备传输的待转发报文中的SID序列中的SID个数可以不超过单个设备的支持的MSD的个数。从而能够在目标转发路径较长时保证数据的正常传输。
在本申请实施例中,如图2所示,在S208之后,还可以包括S209:
S209,尾节点根据待转发数据自身的目的地址转发待转发数据。
其中,示例性的,待转发数据可以为数据帧或者IP报文,待转发数据的目的地址可以为数据帧中的目的MAC地址或者IP报文中的目的IP地址,尾节点可以根据数据帧的目的MAC地址或者IP报文中的目的IP地址继续转发待转发数据。
在本申请实施例中,示例性地,如图2所示,在S201之前,数据传输网络中的控制器预先划分和下发各个分段的SID序列,可以包括以下步骤:
S210,控制器获取目标转发路径,该目标转发路径包括M个节点。
其中,控制器可以根据到达头节点的各种类型的待转发数据预先规划目标转发路径。示例性地,控制器可以为请求各种业务的待转发数据规划不同的目标转发路径,并分别对各个目标转发路径进行分段,并将分段后的目标转发路径下发至相应的头节点、中间节点。举例来说,对于请求访问互联网(Internet)的待转发数据,可以规划一条经过电信云网络的若干核心网SF功能节点的目标转发路径。待转发数据中可以携带标识所请求的业务为访问互联网的相关业务属性。
S211,控制器根据M个节点中的第1个至第N个节点的SID,生成第一SID序列。
其中,在一示例中,控制器可以将中间节点1和中间节点2的SID作为第一SID序列,将中间节点3和尾节点的SID作为第二SID序列,在另一示例中,控制器可以将中间节点1的SID作为第一SID序列,将中间节点2、中间节点3和尾节点的SID作为第二SID序列。在本申请其他实施例中,目标转发路径中的M个节点还可以分为三段。
S212,控制器根据M个节点中的第X个至第Y个节点的SID,生成第二SID序列,其中,X等于N+1。
S213,控制器向头节点发送所述第一SID序列。
其中,向头节点发送第一SID序列,可以包括:向头节点发送SR policy1,SR policy1包含第一SID序列。
S214,控制器向中间节点发送第二SID序列,中间节点为M个节点中的第N个节点,N大于或者等于1。
其中,向中间节点发送所述第二SID序列,可以包括:向中间节点发送SR policy2,SR policy2包含第二SID序列。
在本申请中,对于控制器来说,第一SID序列的接收方应为头节点,头节点用于将包含第一SID序列的报文头封装在待转发数据的前端(可参看表2所示),生成待转发报文,并根据待转发报文的中的第一SID序列向中间节点发送待转发报文;第二SID序列的接收方应为中间节点,中间节点用于将待转发报文的报文头中的第一SID序列替换为第二SID序列,并根据替换后的报文头中的目的地址转发待转发报文。
在本申请其他实施例中,若划分为3段,即第一SID序列、第二SID序列和第三SID序列,则第一SID序列可以下发给头节点,第二SID序列下发给第一SID序列中的最后一个节点,第三SID序列下发给第二SID序列中的最后一个节点,则第二SID序列中的最后一个节点和第三SID序列中的最后一个节点可以分别为中间节点1和中间节点2。
在本申请实施例中,目标转发路径还可以被划分为两段以上子路径。举例来说,数据传输网络中的中间节点可以是多个,示例性地,中间节点可以为3个。图3为本申请实施例提供的数据转发方法的交互流程的示意图二。本申请实施例涉及头节点、中间节点1、中间节点2、中间节点3、尾节点等。在一种可能的场景中,中间节点1和中间节点2之间,以及,中间节点3和尾节点之间可以包含目标转发路径中的其他节点;头节点和中间节点1之间,以及,中间节点2和中间节点3之间可以包含非目标转发路径中的其他节点。如图3所示,本申请实施例的步骤包括:
S301,头节点接收待转发数据。
S302,头节点获取待转发数据对应的第一SID序列,第一SID序列为根据目标转发路径中的M个节点中的前N个节点的SID生成的,N小于M,N大于或者等于1。
S303,头节点将包含第一SID序列的报文头封装在待转发数据的前端,得到待转发报文。
S304,头节点根据第一SID序列,向中间节点1发送待转发报文,其中,中间节点1为第N个节点。
S305,中间节点1获取待转发报文对应的第二SID序列,第二SID序列为根据M个节点中的第N+1个节点至第X-1个节点生成的。
S306,中间节点1将报文头中的第一SID序列替换为第二SID序列。
S307,中间节点1根据第二SID序列,向中间节点2转发待转发报文,其中,中间节点2为第X-1个节点。
S308,中间节点2获取待转发报文对应的第三SID序列,第三SID序列为根据M个节点中的第X个节点至第Y个节点生成的。
S309,中间节点2将报文头中的第二SID序列替换为第三SID序列。
S310,中间节点2根据第三SID序列,向中间节点3转发待转发报文,其中,中间节点3为第Y个节点。
S311,中间节点3获取待转发报文对应的第四SID序列,第四SID序列为根据M个节点中的第Y+1个节点至第Z个节点生成的。
S312,中间节点3将报文头中的第三SID序列替换为第四SID序列。
S313,中间节点3根据第四SID序列,向尾节点转发待转发报文,其中,尾节点为第Z个节点。
S314,尾节点去除待转发报文的报文头,得到待转发数据。
S315,尾节点根据待转发数据自身的目的地址转发待转发数据。
本申请实施例中头节点、中间节点、尾节点执行的步骤可以采用图2所示实施例中实施方式实施,具体可参考图2所示实施例中的详细描述。
采用图2至图3任一所示的数据传输方法,能够将目标转发路径所包含的SID节点划分为至少两个部分,这使得在转发数据时,数据传输网络中的设备支持传输的最大SID数能够满足报文头中包含的SID节点的数量。
本申请提供的数据转发方法还可以应用于一种网络架构。图4为一种网络架构的示意图二。如图4所示,在该网络架构中,图1所示的传输网络可以包括:基础传输网络和目标传输网络。在一示例中,目标传输网络可以通过位于目标传输网络边缘的边缘设备与基础传输网络进行数据传输。在另一示例中,目标传输网络可以包括若干个目标传输子网,每个目标传输子网中的边缘设备可以通过基础传输网络中的设备进行数据传输,报文在目标传输子网传输时需要经由目标传输子网的边缘设备传入目标传输子网内的节点,因此,边缘设备也可以成为各个目标传输子网的网关设备。在本申请中,报文在目标传输网络中传输时需要遵循预设的转发路径。
在实际应用中,图4中的目标传输网络可以为数据中心网络(Data Center Network,DCN)。在一种作为示例的应用中,DCN可用于承载电信云网络中的各种业务单元。需要说明的是,电信云网络也可以称为电信云,是一种基于NFV技术架构的网络。NFV技术被提出用以解决电信网络硬件繁多、部署运维复杂、业务创新困难等问题,NFV技术的目标是以分布式云数 据中心为基础进行网络架构的规划和建设,采用NFV技术和SDN技术,实现软硬件分层解耦、功能虚拟化、自动化部署以及资源弹性调度。电信云网络即是基于上述思路建设的NFV网络。在另一种作为示例的应用中,基础传输网络可以包括城域(Metro)网和骨干(Core)网。Metro网和Core网可以包括一种或多种路由设备,如用户边缘(Custom Edge,CE)设备、运营商边缘(Provider Edge,PE)设备、运营商路由/骨干路由设备(Provier Router,简称P)设备等。
图5为一种网络架构的示意图三。如图5所示,DCN可以采用具有多级分层架构。示例性地,DCN可以包括:接入数据中心(Access Data Center,ADC)网络、边缘数据中心(Edge Data Center,EDC)网络、大区数据中心(Region Data Center,RDC)网络、中央数据中心(Central Data Center,CDC)网络和DCN控制器(DCN Controller)。其中,ADC网络、EDC网络、RDC网络、CDC网络为DCN中的多个DCN子网。ADC网络可以包括二级汇聚设备,可称为前置汇聚(prefix aggregation,PRE-AGG)设备,EDC网络可以包括位于EDC网络边缘的一级汇聚设备,可称为(PE aggregation,PE-AGG)设备、若干虚拟网络功能(Virtual Network Function,VNF)节点以及拓扑节点,一级汇聚设备相较于二级汇聚设备通常用于连接更高级别的基础转发网络,RDC网络可以包括位于RDC网络边缘的数据网关(Data Center Gateway,DCGW)、若干VNF节点以及拓扑节点。示例性的,EDC网络中的VNF节点可以为vIPS和vFW等VNF节点,RDC网络中的VNF节点可以包括广域网优化控制器(WAN Optimization Controller,vWOC)等,EDC网络和RDC网络中的拓扑节点可为叶子(leaf)节点、脊(spine)节点和虚拟交换(vSwitch)节点等。此外,在一示例中,EDC网络与RDC网络可以通过PE设备互联。在一示例中,DCGW设备可以与PE设备合设或分设。
在本申请其他实施例中,DCN Controller用于对DCN进行统一的规划和管理。
在图5所示的网络架构中,光线路终端(optical line terminal,OLT)为接入网设备,OLT可以为电信云中的业务流的发起方,业务流的目标是访问远端的网络,示例性地,远端的网络可以为互联网(Internet),互联网可以通过互联网网关(Internet GateWay,IGW)连接到基础传输网络或者DCN的边缘节点。
基于图5所示的网络架构,在业务流到达远端的网络之前,需要按照业务流的业务属性,依次流经多个DCN子网中的若干个VNF节点,以实现电信网络中对业务流的访问控制,如鉴权、计费等控制需求。业务流在DCN中需要经过的VNF节点的序列可以称为业务链(Service Function Chain,SFC),随着电信网络的SDN化和NFV化的程度越来越高,各种业务流在不同条件下需要经过的SFC需要进行灵活的配置和管理,灵活编排SFC也逐渐成为电信云的关键技术之一。在NFV网络架构中,可以包括SF节点、SFF节点、分类节点、代理节点。示例性地,IETF SFC WG定义了SFC的架构(RFC7498/RFC7665)与基于NSH的实现方案(RFC8300)。
需要说明的是,与Metro网络和Core网络不同的是,DCN通常被认为是企业的私有网络,尤其是DCN中的服务承载网(Underlay Network)部分通常不希望直接暴露给Metro网络和Core网络。因此,在控制业务流按照配置的SFC转发的基础上,在实现SFC时,还需要考虑数据转发的隐私性需求。隐私性要求可以概况为如下约束条件:DCN内部的拓扑结构和SF节点的SID不能暴露于基础转发网络。
此外,在将图2至图3所示的数据转发方法应用于图4至图5所示的DCN及基于DCN部署的电信云网络时,还需要满足转发数据对网络架构的拓展需求。网络架构的拓展需求可以概况为如下约束条件:数据转发方法需要支持任意数量分层的DCN,以及,SID序列的长度不能 超过数据传输网络中的设备支持的最大SID长度。
基于图2至图3所示的数据转发方法可以看出,本申请提供的数据转发方法能够满足SID序列的长度不超过设备支持的最大SID长度的这一约束条件。为了满足隐私性需求约束条件,本申请提供如下的数据转发方法,其中,头节点添加的第一SID序列仅包含DCN中的边缘节点的SID而不包括DCN内部节点的SID。
图6为本申请实施例提供的数据转发方法的交互流程的示意图三。本申请实施例涉及头节点、中间节点、尾节点,其中,示例性地,中间节点可以为DCN的入口边缘节点,尾节点可以为DCN的出口边缘节点。中间节点和尾节点之间还可以包括DCN的内部节点。在一示例中,本申请实施例中的入口边缘节点和出口边缘节点可以为同一节点设备,可称为DCN的边缘节点,需要说明的是,该边缘节点在作为入口边缘节点时和出口边缘节点时的SID分别为SID1和SID2。
在本申请的一些场景中,头节点与DCN的入口边缘节点可以通过基础转发网络连接。
如图6所示,本申请实施例的步骤可以包括:
S601,头节点接收待转发数据。
其中,头节点可以为PRE-AGG。在本申请其他实施例中,头节点也可以是PE-AGG。
S602,头节点获取待转发数据对应的第一SID序列,第一SID序列为根据目标转发路径中的M个节点中的前N个节点的SID生成的,N等于1。
其中,头节点可以根据待转发数据的业务属性,获取待转发数据对应的SR policy 1;并将SR policy 1中包含的SID序列,确定为待转发数据对应的所述第一SID序列。
S603,头节点将包含第一SID序列的报文头封装在待转发数据的前端,得到待转发报文。
S604,头节点根据第一SID序列,向中间节点发送待转发报文,其中,中间节点为DCN的入口边缘节点。
其中,示例性地,DCN的入口边缘节点可以为PRE-AGG或者DCGW。
S605,中间节点获取待转发报文对应的第二SID序列,第二SID序列为根据目标转发路径中的M个节点中的第N+1个节点至第M个节点生成的,第二SID序列中的节点属于DCN。
其中,在第一SID序列中的Active SID为中间节点的SID时,中间节点可以获取Active SID匹配的function,该function用于指示所述中间节点将待转发报文中的第一SID序列替换为SR policy2中包含的第二SID序列;中间节点将function对应的SR policy2中包含的第二SID序列确定为待转发报文对应的第二SID序列。
S606,中间节点将报文头中的第一SID序列替换为第二SID序列。
S607,中间节点根据第二SID序列,向尾节点转发待转发报文,其中,尾节点为第M个节点。
其中,中间节点按照报文头中的目的地址指示的节点序列转发报文,并最终转发至尾节点。
S608,尾节点去除待转发报文的报文头,得到待转发数据。
S609,尾节点根据待转发数据自身的目的地址转发待转发数据。
在本申请其他实施例中,DCN还可以包括第一DCN子网和第二DCN子网,其中,第一DCN子网可以包括第一DCN子网的入口边缘节点、出口边缘节点、第一DCN子网中的至少一个SF节点,第二DCN子网可以包括第二DCN子网的入口边缘节点、出口边缘节点、第二DCN子网中的至少一个SF节点。
举例来说,数据在分级DCN中的转发过程与图3所示数据转发方法中的交互流程类似。示 例性地,图3所示方法中的中间节点1可以是第一DCN子网的入口边缘节点,中间节点2可以是第一DCN子网的出口边缘节点,中间节点3可以是第二DCN子网的入口边缘节点,尾节点可以是第二DCN子网的出口边缘节点。
需要说明的是,头节点匹配到的SR policy1对应的SID序列1仅包含第一个DCN子网的入口边缘节点的SID,该入口边缘节点可以为目标转发路径中属于第一DCN子网中的第一个节点。第一个DCN子网的入口边缘节点(即中间节点)匹配到的SR policy2对应的SID序列2包含第一个DCN子网的内部节点(即目标转发路径中的SF节点)的SID以及第一个DCN子网的出口边缘节点(即中间节点)的SID。第一个DCN子网的出口边缘节点(即中间节点)匹配到SR policy3对应的SID序列3包含尾节点的SID或者第二个DCN子网的入口边缘节点(即中间节点)的SID。采用这种方式,可以确保每个分级的DCN子网的内部节点的SID不会暴露于基础转发网络中,从而可以确保满足将SRv6技术应用于DCN及电信云网络时对数据转发的隐私性需求。
本申请实施例中头节点、中间节点1、中间节点2、中间节点3、尾节点执行的步骤可以采用图2所示实施例中实施方式实施,具体可参考图2所示实施例中的详细描述。本申请实施例的其他技术方案细节及技术效果可参看本申请前述实施例中的描述,此处不再赘述。
在前述数据转发方法的基础上,本申请还提供一种数据转发方法,可以应用于SRv6隧道承载VPN业务的场景。
图7为一种网络架构的示意图。如图7所示,VPN业务通常用于控制数据在数据传输网络中的指定的设备之间传输,示例性地,PE1至PE2(即VPN业务的目标PE)之间,PE1从CE1接收待转发数据,待转发数据经过PE1至PE2之间的支持VPN业务的SRv6隧道(VPN over SRv6)后,PE2向CE2发送待转发数据,PE之间还可以包括P设备。此时,VPN业务对应的目标PE的SID可以作为VPN业务的SID。在一种控制方式中,当待转发数据进入SRv6隧道,头节点判断该待转发数据需要传输至VPN业务指定的目标节点,此时,头节点添加到报文头中的SID序列将包括完整的目标转发路径的SID和VPN业务的SID,VPN业务的SID位于SID序列的最后一位。尾节点去除报文头时,该报文头包含完整的目标转发路径的SID和VPN业务的SID。在这种控制方式中,由于SRv6技术仅允许在一节点上替换报文头中的SID序列,而不允许替换报文头中的SID序列中的部分SID,例如,若SRv6隧道对应的节点序列为ABCD,VPN业务的目的节点的SID为E,在一示例中,头节点添加的SID序列可以为ABCDE,即完整的SRv6隧道节点的SID以及VPN业务的SID。在一些场景中,由于只允许整体替换SID序列,如ABE整体替换为CDE,而不允许只将ABE中的AB替换为CD,因此,当头节点添加的SID序列中的最后一个SID是VPN业务的SID时,如ABCDE中的E时,若头节点添加的是分段的SID序列,如ABE时,中间节点不被允许将其整体替换为CDE。因此,若SRv6隧道用于承载VPN业务,将无法采用前述实施例中涉及路径分段下发的数据转发方法。
为解决上述问题,本申请提供的数据转发方法,将头节点添加到待转发数据的前端的报文头分拆为两个部分,分别为内层报文头和外层报文头,其中,内层报文头可用于携带VPN业务的SID,可称为业务报文头,外层报文头可用于携带与目标转发路径相关的SID序列,可称为传输报文头。中间节点在替换SID序列时,只需要替换外层报文头中包含的SID序列。尾节点在去除报文头时,可以去除外层报文头和内层报文头。从而可以在实现路径分段下发的基础上支持SRv6隧道承载VPN业务的数据转发场景。
图8为本申请实施例提供的数据转发方法的交互流程的示意图四。本申请实施例涉及VPN业务的起点节点、头节点、中间节点、尾节点、VPN业务的目标节点。在本申请一示例中,头节点可以与VPN业务的起点节点相连,尾节点可以与VPN业务的目标节点相连,头节点可以在接收待转发数据的接口为预设的VPN业务的接口时,确定待转发数据需要在SRv6隧道中转发至VPN业务的目标节点。下面以PE1和PE2分别作为VPN业务的起点节点和目标节点为例进行说明。如图8所示,本申请实施例的步骤可以包括:
S801,PE1向头节点发送待转发数据。
其中,示例性地,待转发数据为以太帧。
S802,头节点确定待转发数据对应的VPN业务的SID为PE2的SID。
其中,头节点可以根据接收到待转发数据的入端口确定是否按照VPN业务传输带转发数据,头节点可以预先从控制器获取VPN业务的SID。
S803,头节点获取待转发数据对应的第一SID序列。
其中,第一SID序列为根据目标转发路径中的M个节点中的前N个节点生成的。
S804,头节点将包含PE2的SID的内层报文头封装在待转发数据的前端。
其中,PE2的SID可以位于内存报文头中的目的地址或者SRH字段中。
S805,头节点将包含第一SID序列的外层报文头封装在内层报文头的前端。
S806,头节点将具有外层报文头和内层报文头的待转发数据作为待转发报文。
表3为添加了外层报文头和内层报文头后的待转发报文的一种示意。
表3
Figure PCTCN2020071570-appb-000003
S807,根据待转发报文的外层报文头中的第一SID序列,向中间节点发送待转发报文。
S808,中间节点获取待转发报文对应的第二SID序列。
其中,第二SID序列为根据目标转发路径中的M个节点中的第N+1个节点至第M个节点生成的。
S809,中间节点将外层报文头中的第一SID序列替换为第二SID序列。
S810,中间节点根据外层报文头中的第二SID序列,向尾节点转发待转发报文,其中,尾节点为第M个节点。
其中,步骤S808至S810与S205至S207类似。
S811,尾节点去除待转发报文的外层报文头,得到待转发报文,得到的待转发报文的报文头包含VPN业务的SID。
S812,尾节点根据待转发报文中的VPN业务的SID,向PE2转发待转发报文。
S813,PE2去除待转发报文中包含VPN业务的SID的报文头,得到待转发数据。
S814,PE2根据待转发数据自身的目的地址,转发待转发数据。
在本申请其他实施例中,也可以由尾节点去除外层报文头和内层报文头,并将去除外层报文头和内层报文头后得到的待转发数据发送至PE2。
在本申请实施例中,上述实施例中中间节点的数量可以为多个,中间节点也可以是多个DCN子网中的边缘节点。
在本申请其他实施例中,预先规划的目标转发路径也可以包含VPN业务的目标节点,示例性地,示例性地,目标转发路径中的第M个节点的SID可以为VPN业务的SID。则第二SID 序列可以为根据目标转发路径中的M个节点中的第N+1个节点至第Z个节点生成的,其中,Z可以等于M-1。
本申请实施例中头节点、中间节点、尾节点执行的步骤可以采用图2所示实施例中实施方式实施,具体可参考前述所示实施例中的详细描述。本申请实施例的其他技术方案细节及技术效果可参看本申请前述实施例中的描述,此处不再赘述。
下面针对在分级DCN中部署的电信云网络中实现支持VPN业务的业务流控制的场景,对本申请提供的数据转发方法进行举例说明。
图9为本申请实施例提供的数据转发方法应用于一种业务场景的网络架构的示意图。如图9所示,为待转发数据的按照业务链预设的转发路径转发的流向的一种示意。其中,OLT设备向PRE-AGG发送的待转发数据可以用于请求Internet。其中,Metro、Core(Core中的P)、PE为基础转发网络中的设备,PRE-AGG为第一分级的DCN中的设备,PE-AGG、EDC网络中的Leaf为第二分级的DCN中的设备,DCGW、RDC中的spine、Leaf为第三分级的DCN中的设备,其中DCGW和与DCGW相邻的PE可以为合设的设备或分设的设备。
图10为本申请实施例提供的数据转发方法应用于一种业务场景的处理流程的总体框架示意图。如图10所示为待转发数据在转发过程中执行被添加报文头、替换报文头中的SID序列、以及去除报文头的处理过程。
图11为本申请实施例提供的数据转发方法应用于业务场景的处理流程图一。
图12为本申请实施例提供的数据转发方法应用于业务场景的处理流程图二。
下面结合上述图9至图10进行详细描述。
基于图9所示的网络架构,本申请提供一种数据传输方法。在执行图12所示的交互流程之前,还可以预先执行图11所示如下控制流程。
Step 1.1:DCN Controller自动发现分布在电信云网络中的SF相关信息,并为这些SF分配和下发对应的SRv6 SID。
其中,电信云网络中部署的SF可以采用广播的方式向DCN Controller告知自身的SF的标识信息,并请求DCN Controller为其分配SID。
Step 1.2:WAN Controller为Metro网络和Core网络中的设备分配对应的SRv6 SID。
其中,WAN Controller可以为基础转发网络的控制器。示例性地,基础转发网络中的设备可以向WAN Controller发送自身的设备标识信息,并请求WAN Controller为其分配SID。
Step 1.3:协调器(Orchestrator)对DCN Controller和WAN Controller的相关信息进行协同,根据业务需要,对Topo SID和Service SID进行统一编排,生成若干SR policy,分别下发给EVPN SRv6的Ingress PE(PRE-AGG)和分级DC的网关设备(PE-AGG/DC-GW)。
在本申请实施例中,需要说明的是,DCN Controller与WAN Controller进行协同时,DCN Controller可以根据DCN子网被基础转发网络的多个基础转发子网隔开的情况确定目标转发路径对应的划分后的分段的转发路径。
举例来说,Orchestrator可以首先根据电信云网络中各种业务规划业务链,即各种待转发数据需要在DCN中流经的SF节点的SID的序列,这些业务链可视为SRv6隧道对应的目标转发路径。然后,将分级DCN的级数作为目标转发路径对应的SID序列需要被分段的数量,将各个分级DCN的入口边缘节点作为每个分段的最后一个节点,尾节点作为最后一个分段的最后一个节点,将目标转发路径对应的SID序列分段,如三个分级可以对应三段。
此外,将VPN业务的SID单独通知PRE-AGG(可视为头节点)。
之后,可以由WAN controller和DCN Controller将分配好的SID和分段后的SID序列下发下去。
在执行上述控制流程后,各个节点的SID已经分配并下发完成,各个BSID节点上的SR policy也已经下发完成。
示例性地,表4为SRv6隧道中各个节点的SID规划的一种示意。
表4
Figure PCTCN2020071570-appb-000004
Figure PCTCN2020071570-appb-000005
表4所示为数据传输网络中的各个节点设备的名称、节点设备对应的SID标识、节点设备的SID标识对应的SID类型、SID标识对应的操作指令、设备描述、节点设备的SID标识对应的SR policy。
其中,PRE-AGG、PE-AGG、DCGW的SID标识对应的SID类型均为BSID节点(BSID node)的设备。Leaf(EDC)和Leaf(RDC)分别表示位于EDC网络内核位于RDC网络内的叶子(leaf)节点。Leaf(EDC网络)为在EDC网络中用于部署SF功能的节点设备,示例性地,其上部署有vIPS和vFW两个SF,SF功能的SID分别以vIPS和vFW表示。AC1为PRE-AGG的入接口的SID,AC2为连接IGW的PE设备的出接口的SID。
可参考图10,在本申请实施例中,PRE-AGG可以作为头节点,PE-AGG可作为中间节点,DCGW可作为中间节点和尾节点。其中,PRE-AGG的SID为AC1,当PE1向PRE-AGG的AC1接口发送业务流中的以太帧时,PRE-AGG按照AC1确定以太帧需要匹配VPN业务,可以获取到VPN业务对应的SID,如AC2。同时,根据业务流的业务属性可以获取到对应的function和SR policy对报文进行处理。PE-AGG具有B1和B2两个SID,当报文被转发至B1时(即报文中Active SID为B1时),PE-AGG按照B1对应的SR policy对报文进行处理,当报文被转发至B2时(即报文中的Active SID为B2时),PE-AGG按照B2对应的SR Policy对报文进行处理。类似地,DCGW具有B3和B4两个SID,当报文被转发至B3时(即报文中Active SID为B3时),DCGW按照B3对应的SR policy对报文进行处理,当报文被转发至B4时(即报文中的Active SID为B4时),DCGW按照B4对应的SR Policy对报文进行处理。
在本申请中,各个DCN子网中的SID只允许发布给本DCN子网内的设备和本DCN子网的边缘设备或DCN子网的网关设备。对于EDC网络来说,PE-AGG为EDC网络的边缘设备,vIPS和vFW为EDC网络中的leaf节点上部署的SF的SID,由于PE-AGG知晓EDC网络中的内部拓扑结构,根据报文中携带的各个SF的SID可以控制报文按照报文头中的SID list指示的SFC,控制报文依次经过SFC中的SF;类似地,对于RDC网络来说,DCGW为RDC网络的网关设备,vWOC为RDC网络中的leaf节点上部署的SF的SID,由于DCGW知晓RDC网络中的内部拓扑结构,根据报文中携带的各个SF的SID可以控制报文按照报文头中的SID list指示的SFC,控制报文依次经过SFC中的SF。在本申请其他实施例中,DCN子网也可以是应用于除电信云之外的其他业务的DCN子网,上述vIPS、vFW和vWOC也可以是电信云网络中的其他业务需 要访问的SF。
需要说明的是,上述SID规划为针对EVPN SRv6 VPWS业务。如果需要采用SRv6隧道的方式部署其他业务类型,如BGP SRv6 L3VPN、EVPN SRv6 VPLS、EVPN SRv6 L3VPN等,需要对PRE-AGG(VPN业务的Ingress PE)和PE(VPN业务的Egress PE)上SID的进行差异化规划,在一示例中,可以按照其他业务类型的需要规划目标转发路径的首节点的SID和尾节点的SID。本申请的技术方案主要针对DCN子网中的边缘设备或网关设备中,分级DC网关(PE-AGG和DCGW)上的处理,因此,SRv6隧道所承载的业务类型对中间节点实施本申请实施例提供的方法没有差异。
在本申请实施例中,可以预先配置各个SID对应的SR policy,其中,AC1对应的SR policy可以为SR policy1,B1对应的SR policy可以为SR policy2,B2对应的SR policy可以为SR policy3,B3对应的SR policy可以为SR policy4。
表5为SR policy的一种示例。表5所示为SR policy1~SR policy4。
表5
Figure PCTCN2020071570-appb-000006
在本申请中,外层报文头可以称为传输报文头(Transport header),内层报文头可以称为(Service header)。
如图12所示,本申请实施例提供的数据转发方法的处理流程包括以下步骤:
Step 2.1:PRE-AGG从AC口接收到Ethernet帧时,将其引流到对应的SR policy1中,在Ethernet帧外,封装两层IPv6报文头(IPv6 header),其中,内层IPv6报文头(Inner IPv6 header)携带的SID为AC2,外层IPv6报文头(Outer IPv6 header)携带SID为B1。完成封装后的SRv6隧道报文将被发送给PE-AGG。
其中,PRE-AGG根据Ethernet帧中请求的业务是访问Internet,确定Ethernet帧的业务属性对应的SR policy为SR policy1,获取第一个分段的SID序列,即B1。此外,根据DCN controller的指示或者是PRE-AGG自身的VPN业务配置,确定按照基于SRv6的EVPN业务的方式实现VPWS,获取VPN业务的目的节点的SID为AC2,即PE的出端口的SID。在一示例中,PRE-AGG可以根据接收到Ethernet帧的入端口为AC1时,确定待转发报文需要按照VPN业务转发以及该VPN业务对应的目的节点的SID。
Step 2.2:PE-AGG在接收到SRv6隧道报文后,确定Active SID为B1以及B1对应的SR  policy为SR policy2,使用B1引流到SR policy2。由于B1配置的Function为End.DB6,因此,剥掉Outer IPv6 header后,又封装一个与SR policy2对应的Outer IPv6 header,即替换外层IPv6报文头。然后,重新封装后的SRv6隧道报文被转发至EDC网络内。
Step 2.3:在EDC网络内,将SRv6隧道报文先后转发给vIPS和vFW处理。在此过程中,有可能需要Leaf实现SFC proxy处理流程。在完成EDC网络内的处理后,SRv6隧道报文中的Active SID变为B2,SRv6隧道报文会根据B2回送给PE-AGG。
Step 2.4:PE-AGG确定Active SID为B2以及B2对应的SR policy为SR policy3,使用B2配置的function(End.DB6)将SRv6隧道报文引流到SR policy3,并对报文进行处理,剥掉Outer IPv6 header后,又封装一个与SR policy3对应的Outer IPv6 header。然后,重新封装后的SRv6隧道报文中的Outer IPv6 header中的第一个SID为DCGW的入口SID,即B3,根据B3,SRv6隧道报文被转发至DCGW。
Step 2.5:DCGW确定Active SID为B3以及B3对应的SR policy为SR policy4。使用B3配置的function(End.DB6)将SRv6隧道报文引流到SR policy4,并对报文进行处理,剥掉Outer IPv6 header后,又封装一个与SR policy4对应的Outer IPv6 header。然后,重新封装后的SRv6隧道报文被转发至RDC网络内。
Step 2.6:在RDC网络内的处理与EDC网络内的处理类似(Step 2.3),例如,SRv6隧道报文可转发给vWOC处理,在完成RDC网络内的处理后,SRv6隧道报文中的Active SID变为B4,SRv6隧道报文会根据B4回送给DCGW。
Step 2.7:DCGW在接收到RDC回送的SRv6隧道报文时,确定Active SID为B4,由于B4的Function为End.DT6,因此,在剥掉Outer IPv6 header后,使用Inner IPv6 header的DA(即AC2)查询My Local SID table,然后,再将包含Inner IPv6 header的报文转发给PE。
Step 2.8:PE在接收到上述IPv6报文时,确定报文头中作为目的地址的SID为AC2,使用AC2配置的function(End.DX2)关联到对应的AC口,对报文进行处理,剥掉Inner IPv6 header后,使用这个AC口发送Ethernet帧。
本申请实施例中上述步骤Step2.2至Step2.8的技术细节可参看本申请前述实施例中的描述。
从上述实施例可知,在应用于基于SRv6的L2VPN/L3VPN时,通过在业务报文(Ethernet/IPv4/IPv6)的前面封装两层IPv6 header(可以携带SRH,也可以不携带SRH),实现了Transport layer与Service layer的分离,从而降低了对SRv6MSD的需求。
通过本申请定义的新的SRv6 Function(End.DB6),并且将该Function部署在分级DC(ADC/EDC/RDC/CDC)的网关设备上,结合SR BSID机制,对外(Metro/Core Network)屏蔽了分级DC内部的拓扑与业务信息,从而有效地实现了SRv6SFC。
此外,由于可以满足前述实施例中描述的约束条件,从而可以高效地应用于电信云的SR SFC场景。并且,由于只需要入口Ingress PE(PRE-AGG)和分级DC的网关设备(PE-AGG/DCGW)上进行少量改动,实现简单。借助SDN Controller,可以自动生成和下发相关的SR policy,部署便利。另外,同时支持SR最短路径(Best Effort,BE)模式(指IGP使用最短路径算法计算得到的最优SR LSP)和SR流程工程(Traffic Engineering,TE)模式,同时适用于各种类型的SRv6 VPN(包括:BGP SRv6 L3VPN、EVPN SRv6 L2VPN/L3VPN等),上述技术方 案的适用范围广泛。
图13为本申请提供的数据转发装置的结构示意图,如图13所示,本申请实施例提供的数据转发装置1300可以包括接收模块1310,处理模块1320,发送模块1330。
在本申请实施例的一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中的头节点执行的步骤。其中,
接收模块1310,可用于获取待转发数据;
处理模块1320,可用于获取所述待转发数据对应的第一SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;以及将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,得到待转发报文;
发送模块1330,可用于根据所述第一SID序列,发送所述待转发报文;其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成的,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。
在本实施方式的一种可能的实现方式中,接收模块1310,还可以用于在获取所述待转发数据对应的第一SID序列之前,接收控制器发送的SR policy,所述SR policy包括所述第一SID序列;
处理模块1320,可以具体用于根据所述待转发数据的业务属性,获取所述待转发数据对应的SR policy;并将所述SR policy中包含的SID序列,确定为所述待转发数据对应的所述第一SID序列。
在本实施方式的一种可能的实现方式中,所述头节点与DCN的入口边缘节点通过基础转发网络连接;
所述目标转发路径可以包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列根据所述DCN的入口边缘节点的SID生成;
发送模块1330可以具体用于根据所述第一SID序列,通过所述基础转发网络向所述DCN的入口边缘节点发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述头节点与DCN中的第一DCN子网的入口边缘节点通过基础转发网络中的第一基础转发网络连接;所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过所述基础转发网络中的第二基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列根据所述第一DCN子网的入口边缘节点的SID生成;
发送模块1330,可以具体用于根据所述第一SID序列,通过所述第一基础转发网络向所述第一DCN子网的入口边缘节点发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述头节点为PRE-AGG,所述第一DCN子网为EDC网络,所述第二DCN子网为RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW。
在本实施方式的一种可能的实现方式中,所述第一DCN子网中的至少一个SF节点和所述 第二DCN子网中的至少一个SF节点为电信云网络中的SF节点;
所述第一基础转发网络为Metro网络,所述第二基础转发网络为Core网络。
在本实施方式的一种可能的实现方式中,所述目标转发路径中的第M个节点为所述待转发数据对应的VPN业务的目标节点;
处理模块1320,可以具体用于将包含所述目标节点的SID的内层报文头,封装在所述待转发数据的前端;将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端;将具有所述外层报文头和所述内层报文头的待转发数据作为所述待转发报文;
发送模块1330,可以具体用于根据所述外层报文头中的所述第一SID序列,发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述待转发报文为SRv6报文。
在本申请实施例的另一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中中间节点执行的步骤。其中,
接收模块1310,可用于接收待转发报文,所述待转发报文的报文头包含第一SID序列;
处理模块1320,可用于获取所述待转发报文对应的第二SID序列;以及,将所述报文头中的所述第一SID序列替换为所述第二SID序列;
发送模块1330,可用于根据所述第二SID序列,发送所述待转发报文;其中,所述第一SID序列和所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
在本实施方式的一种可能的实现方式中,所述待转发报文可以为SRv6报文。
在本实施方式的一种可能的实现方式中,所述中间节点可以为所述M个节点中的第Y个节点。
在本实施方式的一种可能的实现方式中,接收模块1310,可具体用于在获取所述待转发报文对应的第二SID序列之前,接收控制器发送的SR policy,所述SR policy包括所述第二SID序列;
处理模块1320,可以具体用于在所述第一SID序列中的Active SID为所述中间节点的SID时,获取function,所述function用于指示所述中间节点将所述待转发报文中的所述第一SID序列替换为所述SR policy中包含的所述第二SID序列;将所述function对应的所述SR policy中包含的所述第二SID序列确定为所述待转发报文对应的所述第二SID序列;根据所述function的指示,将所述报文头中的所述第一SID序列替换为所述第二SID序列。
在本实施方式的一种可能的实现方式中,所述中间节点为DCN的入口边缘节点,所述中间节点与基础转发网络连接;
所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中至少一个SF节点和所述DCN的出口边缘节点的SID生成的;
接收模块1310,可以具体用于通过基础转发网络接收头节点发送的所述待转发报文;
发送模块1330,可以具体用于根据所述第二SID序列,通过所述DCN的内部节点向所述DCN的至少一个SF节点中的第一个SF节点发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述中间节点为DCN中的第一DCN子网的出口边缘节点,所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列为根据所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点生成的;
所述第二SID序列为根据所述第二DCN子网的入口边缘节点生成的;
接收模块1310,可具体用于通过所述第一DCN子网的内部节点,接收所述第一DCN子网中所述至少一个SF节点中的最后一个SF节点发送的所述待转发报文;
发送模块1330,可具体用于根据所述第二SID序列,通过所述基础转发网络向所述第二DCN子网的入口边缘节点发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述第一DCN子网为EDC网络,所述第二DCN子网为RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW。
在本实施方式的一种可能的实现方式中,所述EDC网络中的至少一个SF节点和所述RDC网络中的至少一个SF节点为电信云网络中的SF节点。
在本实施方式的一种可能的实现方式中,所述Z小于M;所述目标转发路径中的第M个节点为所述待转发报文对应的VPN业务的目标节点;所述待转发报文具有外层报文头和内层报文头,其中,所述外层报文头封装在所述内层报文头的前端;所述外层报文头包含所述第一SID序列,所述内层报文头包含所述VPN业务的目标节点;
处理模块1320,可具体用于将所述外层报文头中的所述第一SID序列替换为所述第二SID序列;
发送模块1330,可具体用于根据所述外层报文头中的搜书第二SID序列,发送所述待转发报文。
在本申请实施例的再一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中尾节点执行的步骤。其中,
接收模块1310,可用于接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;
处理模块1320,可用于去除所述待转发报文的报文头,得到待转发数据;
发送模块1330,可用于根据所述待转发数据自身的目的地址转发所述待转发数据;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
在本申请实施例的又一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中尾节点执行的步骤。其中,
接收模块1310,可用于接收待转发报文,所述待转发报文包括外层报文头和内层报文头, 所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID;
处理模块1320,可用于去除所述待转发报文的外层报文头,得到待转发报文;
发送模块1330,可用于向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
在本申请实施例的又一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中控制器执行的步骤。其中,
接收模块1310,可用于获取目标转发路径,所述目标转发路径包括M个节点;
处理模块1320,可用于根据所述M个节点中的第1个至第N个节点的SID,生成第一SID序列;以及,根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
发送模块1330,可用于向头节点发送所述第一SID序列;以及,向中间节点发送所述第二SID序列;其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或者N+1,Y小于或者等于M;
所述第一SID序列被所述头节点用于发送所述头节点接收的待转发数据;
所述第二SID序列被所述中间节点用于发送所述中间节点接收的待转发报文。
在本实施方式的一种可能的实现方式中,所述头节点用于将所述第一SID序列作为报文头中的目的地址,将所述报文头封装在待转发数据的前端,生成待转发报文,并根据所述目的地址向所述中间节点发送所述待转发报文;所述中间节点用于将所述待转发报文的报文头中的所述第一SID序列替换为所述第二SID序列,并根据替换后的报文头中的目的地址转发所述待转发报文。
在本实施方式的一种可能的实现方式中,发送模块1330,可具体用于向所述头节点发送SR policy1,所述SR policy1包含所述第一SID序列;
发送模块1330,可具体用于向所述中间节点发送SR policy2,所述SR policy2包含所述第二SID序列。
在本实施方式的一种可能的实现方式中,所述控制器为DCN中的DCN controller。
本申请实施例提供的节点设备中,可以在不同场景中作为不同的角色,举例来说,同一节点设备可以在不同的SRv6隧道中充当头节点、中间节点、尾节点中任意一种或者多种角色,例如,节点设备1在场景1中为头节点,在场景2中为中间节点。此外,在一个场景中,同一节点设备也可以作为不同的角色,在一示例中,头节点和中间节点可以是同一节点设备,在另一示例中,中间节点和尾节点可以是同一节点设备。在这种情况下,上述用于执行头节点的功能的数据传输装置中的接收模块还可以具有用于执行中间节点的功能的数据传输装置中的接收模块的功能,类似地,上述用于执行头节点的功能的数据传输装置中的处理模块还可以具有用于执行中间节点的功能的数据传输装置中的处理模块的功能,上述用于执行头节点的功能的数据传输装置中的发送模块还可以具有用于执行中间节点的功能的数据传输装置中的发送模块的功能。
本申请实施例,上述数据传输装置中各个模块的处理的详细实现过程可以参考上述图2、图2、3、6、8中所对应的实施例中的处理步骤,此处不再予以赘述。
图14为本申请提供的节点设备的结构示意图。如图14所示,本申请还提供一种节点设备 1400,包括:
一个或多个处理器1410;
存储装置1420,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述实施例中所示数据转发方法中头节点执行的步骤,或者,上述实施例中所示数据转发方法中中间节点执行的步骤,或者,上述实施例中所示数据转发方法中尾节点执行的步骤,或者,上述实施例中所示数据转发方法中控制器执行的步骤。
在本申请实施例中,上述节点设备还可以包括接口1430,接口可以用于接收其他节点设备发送待转发数据或者待转发报文,或者,用于向其他节点设备发送经过本节点设备处理后的待转发数据或者带转发报文。
在本申请实施例中,上述节点设备中的处理器、存储装置、接口可以通过总线1460连接。
在本申请实施例的一种实施方式中,上述节点设备可以为DCN中的边缘设备。
在本申请实施例的一种实施方式中,上述节点设备可以为PRE-AGG设备,可用于执行前述任一实施例中所示数据转发方法中的头节点执行的步骤。
在本申请实施例的一种实施方式中,上述节点设备可以为PE-AGG设备,可用于执行前述任一实施例中所示数据转发方法中的头节点执行的步骤,或者,可用于执行前述任一实施例中所示数据转发方法中中间节点执行的步骤。
在本申请实施例的一种实施方式中,上述节点设备可以为DCGW设备,可用于执行前述任一实施例中所示数据转发方法中的头节点执行的步骤,或者,可用于执行前述任一实施例中所示数据转发方法中中间节点执行的步骤。
在本申请实施例的一种实施方式中,上述节点设备可以为DCN控制器设备,可用于执行前述任一实施例中所示数据转发方法中的控制器执行的步骤。
本申请还提供一种数据转发***,其中可以包括:头节点、至少一个中间节点。
在一种可能的实现方式中,所述***还可以包括尾节点。
在一种可能的实现方式中,所述***还可以包括控制器。
其中,头节点、中间节点、尾节点可以相互配合,执行前述任一实施例中所示数据转发方法中各个节点执行的步骤。在一示例中,头节点可以为PE-AGG,中间节点可以为PRE-AGG和/或DCGW,尾节点可以为DCGW。在一示例中,所述控制器为数据中心网络的控制器DCN Controller。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,当该指令在计算机上运行时,用于执行上述各个附图任一所示的方法实施例中涉及头节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及中间节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及尾节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及控制器的步骤。在一种可能的实现方式中,所述计算机存储介质还可以同时用于执行上述头节点、中间节点、尾节点中至少一种节点涉及的步骤。
本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行上述各个附图任一所示的方法实施例中涉及头节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及中间节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及尾节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及控制器的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使 用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk)等。

Claims (33)

  1. 一种数据转发方法,其特征在于,所述方法包括:
    头节点获取待转发数据;
    所述头节点获取所述待转发数据对应的第一段标识SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;
    所述头节点将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,得到待转发报文;
    所述头节点根据所述第一SID序列,发送所述待转发报文;
    其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成的,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。
  2. 根据权利要求1所述的方法,其特征在于,在获取所述待转发数据对应的第一SID序列之前,所述方法包括:所述头节点接收控制器发送的段路由策略SR policy,所述SR policy包括所述第一SID序列;
    所述获取所述待转发数据对应的第一SID序列,包括:所述头节点根据所述待转发数据的业务属性,获取所述待转发数据对应的SR policy;并将所述SR policy中包含的SID序列,确定为所述待转发数据对应的所述第一SID序列。
  3. 根据权利要求1或2所述的方法,其特征在于,所述头节点与数据中心网络DCN的入口边缘节点通过基础转发网络连接;
    所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个业务功能SF节点和所述DCN的出口边缘节点;
    所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中的至少一个SF和所述DCN的出口边缘节点生成的;所述第一SID序列在所述DCN的入口边缘节点被替换为所述第二SID序列;
    所述根据所述所述第一SID序列,发送所述待转发报文,包括:根据所述第一SID序列,通过所述基础转发网络向所述DCN的入口边缘节点发送所述待转发报文。
  4. 根据权利要求1或2所述的方法,其特征在于,所述头节点与数据中心网络DCN中的第一DCN子网的入口边缘节点通过基础转发网络中的第一基础转发网络连接;所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过所述基础转发网络中的第二基础转发网络连接;
    所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
    所述第一SID序列为根据所述第一DCN子网的入口边缘节点的SID生成的;所述第一SID序列在所述第一DCN子网的入口边缘节点被替换为所述第二SID序列,所述第二SID序列为根据所述第一DCN子网中的至少一个SF和所述第一DCN子网的出口边缘节点生成的;所述第二SID序列在所述第一DCN子网的出口边缘节点被替换为第三SID序列,所述第三SID序列为根据所述第二DCN子网的入口边缘节点生成的;
    所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述第一SID序列,通过所述第一基础转发网络向所述第一DCN子网的入口边缘节点发送所述待转发报文。
  5. 根据权利要求4所述的方法,其特征在于,所述头节点为二级汇聚设备PRE-AGG,所述第一DCN子网为边缘数据中心EDC网络,所述第二DCN子网为大区数据中心RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为一级汇聚设备PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为数据网关DCGW。
  6. 根据权利要求4所述的方法,其特征在于,所述第一DCN子网中的至少一个SF节点和所述第二DCN子网中的至少一个SF节点为电信云网络中的SF节点;
    所述第一基础转发网络为城域网络,所述第二基础转发网络为骨干网络。
  7. 根据权利要求1-6任一所述的方法,其特征在于,所述目标转发路径中的第M个节点为所述待转发数据对应的虚拟专用网络VPN业务的目标节点;
    所述将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,包括:
    将包含所述目标节点的SID的内层报文头,封装在所述待转发数据的前端;
    将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端;
    将具有所述外层报文头和所述内层报文头的待转发数据作为所述待转发报文;
    所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述外层报文头中的所述第一SID序列,发送所述待转发报文。
  8. 根据权利要求1-7任一所述的方法,其特征在于,所述待转发报文为SRv6报文。
  9. 一种数据转发方法,其特征在于,所述方法包括:
    中间节点接收待转发报文,所述待转发报文的报文头包含第一段标识SID序列;
    所述中间节点获取所述待转发报文对应的第二SID序列;
    所述中间节点将所述报文头中的所述第一SID序列替换为所述第二SID序列;
    所述中间节点根据所述第二SID序列,发送所述待转发报文;
    其中,所述第一SID序列和所述第二SID序列分别为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
  10. 根据权利要求9所述的方法,其特征在于,所述待转发报文为SRv6报文。
  11. 根据权利要求9或10所述的方法,其特征在于,所述中间节点为所述M个节点中的第Y个节点。
  12. 根据权利要求11所述的方法,其特征在于,在获取所述待转发报文对应的第二SID序列之前,所述方法包括:所述中间节点接收控制器发送的SR policy,所述SR policy包括所述第二SID序列;
    所述获取所述待转发报文对应的第二SID序列,包括:在所述第一SID序列中的Active SID为所述中间节点的SID时,所述中间节点获取操作指令,所述操作指令用于指示所述中间节点将所述待转发报文中的所述第一SID序列替换为所述SR policy中包含的所述第二SID序列;所述中间节点将所述操作指令对应的所述SR policy中包含的所述第二SID序列确定为所述待转发报文对应的所述第二SID序列;
    所述将所述报文头中的所述第一SID序列替换为所述第二SID序列,包括:根据所述操作指令的指示,将所述报文头中的所述第一SID序列替换为所述第二SID序列。
  13. 根据权利要求9-12任一所述的方法,其特征在于,所述中间节点为数据中心网络DCN的入口边缘节点,所述中间节点与基础转发网络连接;
    所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
    所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中至少一个SF节点和所述DCN的出口边缘节点的SID生成的;
    所述中间节点接收待转发报文,包括:所述中间节点通过基础转发网络接收头节点发送的所述待转发报文;
    所述根据所述所述第二SID序列,发送所述待转发报文,包括:根据所述第二SID序列,通过所述DCN的内部节点向所述DCN的至少一个业务功能SF节点中的第一个SF节点发送所述待转发报文。
  14. 根据权利要求9-12任一所述的方法,其特征在于,所述中间节点为DCN中的第一DCN子网的出口边缘节点,所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过基础转发网络连接;
    所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
    所述第一SID序列为根据所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点生成的;
    所述第二SID序列为根据所述第二DCN子网的入口边缘节点生成的;
    所述中间节点接收待转发报文,包括:所述中间节点通过所述第一DCN子网的内部节点,接收所述第一DCN子网中所述至少一个SF节点中的最后一个SF节点发送的所述待转发报文;
    所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述第二SID序列,通过所述基础转发网络向所述第二DCN子网的入口边缘节点发送所述待转发报文。
  15. 根据权利要求14所述的方法,其特征在于,所述第一DCN子网为边缘数据中心EDC网络,所述第二DCN子网为大区数据中心RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW。
  16. 根据权利要求15所述的方法,其特征在于,所述EDC网络中的至少一个SF节点和所述RDC网络中的至少一个SF节点为电信云网络中的SF节点。
  17. 根据权利要求9-16任一所述的方法,其特征在于,所述Z小于M;
    所述目标转发路径中的第M个节点为所述待转发报文对应的虚拟专用网络VPN业务的目标节点;
    所述待转发报文具有外层报文头和内层报文头,其中,所述外层报文头封装在所述内层报文头的前端;
    所述外层报文头包含所述第一SID序列,所述内层报文头包含所述VPN业务的目标节点的SID;
    所述将所述报文头中的所述第一SID序列替换为所述第二SID序列,包括:将所述外层 报文头中的所述第一SID序列替换为所述第二SID序列;
    所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述外层报文头中的搜书第二SID序列,发送所述待转发报文。
  18. 一种数据转发方法,其特征在于,所述方法包括:
    尾节点接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;
    去除所述待转发报文的报文头,得到待转发数据;
    根据所述待转发数据的目的地址转发所述待转发数据;
    其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
  19. 一种数据转发方法,其特征在于,所述方法包括:
    尾节点接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID;
    去除所述待转发报文的外层报文头,得到待转发报文;
    向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;
    其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
  20. 一种数据转发方法,其特征在于,所述方法包括:
    控制器获取目标转发路径,所述目标转发路径包括M个节点;
    根据所述M个节点中的前N个节点的SID,生成第一SID序列;
    根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
    向头节点发送所述第一SID序列;
    向中间节点发送所述第二SID序列;
    其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或N+1,Y小于或者等于M;
    所述第一SID序列被所述头节点用于发送所述头节点接收的待转发数据;
    所述第二SID序列被所述中间节点用于发送所述中间节点接收的待转发报文。
  21. 根据权利要求20所述的方法,其特征在于,所述方法包括:
    所述头节点用于将包含所述第一SID序列的报文头封装在待转发数据的前端,生成待转发报文,并根据所述目的地址向所述中间节点发送所述待转发报文;
    所述中间节点用于将所述待转发报文的报文头中的所述第一SID序列替换为所述第二SID序列,并根据替换后的报文头中的目的地址转发所述待转发报文。
  22. 根据权利要求20所述的方法,其特征在于,所述向头节点发送所述第一SID序列, 包括:向所述头节点发送SR policy1,所述SR policy1包含所述第一SID序列;
    所述向中间节点发送所述第二SID序列,包括:向所述中间节点发送SR policy2,所述SR policy2包含所述第二SID序列。
  23. 根据权利要求20所述的方法,其特征在于,所述控制器为DCN中的DCN controller。
  24. 一种数据转发装置,其特征在于,应用于网络***,所述网络***包括头节点、中间节点和尾节点,所述装置位于头节点,所述装置包括:
    接收模块,用于获取待转发数据;
    处理模块,用于获取所述待转发数据对应的第一SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;以及将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,得到待转发报文;
    发送模块,用于根据所述第一SID序列,发送所述待转发报文;其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成的,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。
  25. 一种数据转发装置,其特征在于,应用于网络***,所述网络***包括头节点、中间节点和尾节点,所述装置位于中间节点,所述装置包括:
    接收模块,用于接收待转发报文,所述待转发报文的报文头包含第一SID序列;
    处理模块,用于获取所述待转发报文对应的第二SID序列;以及,将所述报文头中的所述第一SID序列替换为所述第二SID序列;
    发送模块,用于根据所述第二SID序列,发送所述待转发报文;其中,所述第一SID序列和所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
  26. 一种数据转发装置,其特征在于,应用于网络***,所述网络***包括头节点、中间节点和尾节点,所述装置位于尾节点,所述装置包括:
    接收模块,用于接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;
    处理模块,用于去除所述待转发报文的报文头,得到待转发数据;
    发送模块,用于根据所述待转发数据自身的目的地址转发所述待转发数据;
    其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
  27. 一种数据转发装置,其特征在于,应用于网络***,所述网络***包括头节点、中间节点和尾节点,所述装置位于尾节点,所述装置包括:
    接收模块,用于接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述 外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID;
    处理模块,用于去除所述待转发报文的外层报文头,得到待转发报文;
    发送模块,用于向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
  28. 一种数据转发装置,其特征在于,应用于网络***,所述网络***包括头节点、中间节点、尾节点和控制器,所述装置位于控制器,所述装置包括:
    接收模块,用于获取目标转发路径,所述目标转发路径包括M个节点;
    处理模块,用于根据所述M个节点中的第1个至第N个节点的SID,生成第一SID序列;以及,根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
    发送模块,用于向头节点发送所述第一SID序列;以及,向中间节点发送所述第二SID序列;其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或者N+1,Y小于或者等于M;
    所述第一SID序列被所述头节点用于发送所述头节点接收的待转发数据;
    所述第二SID序列被所述中间节点用于发送所述中间节点接收的待转发报文。
  29. 一种数据转发***,其特征在于,所述***包括:
    头节点,所述头节点用于执行权利要求1至8任一所述的数据转发方法;
    至少一个中间节点,所述中间节点用于执行权利要求9至17任一所述的数据转发方法。
  30. 根据权利要求29所述的***,其特征在于,所述***还包括:
    尾节点,所述尾节点用于执行权利要求18或19所述的数据转发方法。
  31. 根据权利要求29或30所述的***,其特征在于,所述***还包括:
    控制器,所述控制器用于执行权利要求20-22任一所述的数据转发方法。
  32. 根据权利要求30所述的***,其特征在于,所述头节点为一级汇聚设备PE-AGG,所述中间节点为二级汇聚设备PRE-AGG或者数据网关DCGW,所述尾节点为DCGW。
  33. 根据权利要求31所述的***,其特征在于,所述控制器为数据中心网络的控制器DCN Controller。
PCT/CN2020/071570 2019-01-30 2020-01-11 数据转发方法及相关装置 WO2020156105A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20749251.3A EP3907942A4 (en) 2019-01-30 2020-01-11 DATA TRANSFER METHOD AND ASSOCIATED DEVICE
JP2021544358A JP7290732B2 (ja) 2019-01-30 2020-01-11 データ転送方法及び関連する装置
US17/386,954 US20210377173A1 (en) 2019-01-30 2021-07-28 Data forwarding method and related apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910094301.8A CN111510387B (zh) 2019-01-30 2019-01-30 数据转发方法及相关装置
CN201910094301.8 2019-01-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/386,954 Continuation US20210377173A1 (en) 2019-01-30 2021-07-28 Data forwarding method and related apparatus

Publications (1)

Publication Number Publication Date
WO2020156105A1 true WO2020156105A1 (zh) 2020-08-06

Family

ID=71840929

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/071570 WO2020156105A1 (zh) 2019-01-30 2020-01-11 数据转发方法及相关装置

Country Status (5)

Country Link
US (1) US20210377173A1 (zh)
EP (1) EP3907942A4 (zh)
JP (1) JP7290732B2 (zh)
CN (1) CN111510387B (zh)
WO (1) WO2020156105A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422398A (zh) * 2020-12-08 2021-02-26 中国联合网络通信集团有限公司 消息传输方法及通信装置
CN114285781A (zh) * 2021-12-17 2022-04-05 中国电信股份有限公司 Srv6业务流量统计方法、装置、电子设备及介质
WO2022068436A1 (zh) * 2020-09-30 2022-04-07 华为技术有限公司 业务处理方法以及相关设备

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356361B2 (en) * 2019-04-04 2022-06-07 Cisco Technology, Inc. Systems and methods for steering traffic into SR-TE policies
JP7056626B2 (ja) * 2019-04-09 2022-04-19 日本電信電話株式会社 通信システム及び通信方法
US11777847B1 (en) * 2020-02-12 2023-10-03 Juniper Networks, Inc. Point-to-multipoint transport chain
CN111988395B (zh) * 2020-08-18 2022-05-17 深圳信息职业技术学院 一种服务功能链构建***及方法
CN114374634A (zh) * 2020-10-15 2022-04-19 华为技术有限公司 报文转发方法以及网络设备
CN112422426B (zh) * 2020-10-28 2022-06-28 中盈优创资讯科技有限公司 基于sr的业务处理方法及装置
CN114629834B (zh) * 2020-11-27 2023-06-27 华为技术有限公司 通信方法及装置
CN113615134A (zh) * 2021-06-29 2021-11-05 新华三技术有限公司 一种报文转发方法、装置、网络节点及存储介质
CN113726655B (zh) * 2021-08-30 2022-09-20 新华三信息安全技术有限公司 一种报文引流方法、装置、头端设备及存储介质
CN116074243A (zh) * 2021-11-03 2023-05-05 华为技术有限公司 一种报文传输方法、装置及设备
CN116264560A (zh) * 2021-12-14 2023-06-16 ***通信有限公司研究院 路径规划方法及装置
WO2023155068A1 (en) * 2022-02-16 2023-08-24 Telefonaktiebolaget Lm Ericsson (Publ) Communication device, sdn controller, and methods therein for facilitating path computation
CN115348203B (zh) * 2022-10-12 2023-03-24 北京合众方达科技有限公司 一种基于TSN的IPv6网络方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193959A1 (en) * 2002-01-20 2003-10-16 General Instrument Corporation Method and apparatus for priority-based load balancing for use in an extended local area network
CN101436998A (zh) * 2008-12-16 2009-05-20 华为技术有限公司 报文转发路径获取方法和报文转发装置
CN108768848A (zh) * 2018-09-04 2018-11-06 北京邮电大学 一种分段路由方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337785B (zh) * 2014-07-18 2018-10-02 华为技术有限公司 一种路径连通性检测方法及装置
US10270691B2 (en) * 2016-02-29 2019-04-23 Cisco Technology, Inc. System and method for dataplane-signaled packet capture in a segment routing environment
CN107666436B (zh) * 2016-07-27 2019-05-17 中兴通讯股份有限公司 报文转发方法及装置
CN107666438B (zh) * 2016-07-27 2021-10-22 中兴通讯股份有限公司 报文转发方法及装置
EP3497893B1 (en) * 2016-08-15 2020-11-04 Telefonaktiebolaget LM Ericsson (publ) Segment routing based on maximum segment identifier depth
CN107566272B (zh) * 2017-10-17 2021-10-12 新华三技术有限公司 转发表建立方法及数据转发方法
CN109067652A (zh) * 2018-09-25 2018-12-21 盛科网络(苏州)有限公司 一种IPv6分段路由中节约段标识开销的方法及装置
US11134002B2 (en) * 2018-10-22 2021-09-28 Cisco Technology, Inc. Packet network interworking including segment routing
CN109218200B (zh) * 2018-11-26 2021-05-28 新华三技术有限公司 一种报文处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193959A1 (en) * 2002-01-20 2003-10-16 General Instrument Corporation Method and apparatus for priority-based load balancing for use in an extended local area network
CN101436998A (zh) * 2008-12-16 2009-05-20 华为技术有限公司 报文转发路径获取方法和报文转发装置
CN108768848A (zh) * 2018-09-04 2018-11-06 北京邮电大学 一种分段路由方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3907942A4

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022068436A1 (zh) * 2020-09-30 2022-04-07 华为技术有限公司 业务处理方法以及相关设备
CN112422398A (zh) * 2020-12-08 2021-02-26 中国联合网络通信集团有限公司 消息传输方法及通信装置
CN112422398B (zh) * 2020-12-08 2022-04-15 中国联合网络通信集团有限公司 消息传输方法及通信装置
CN114285781A (zh) * 2021-12-17 2022-04-05 中国电信股份有限公司 Srv6业务流量统计方法、装置、电子设备及介质
CN114285781B (zh) * 2021-12-17 2024-01-19 中国电信股份有限公司 Srv6业务流量统计方法、装置、电子设备及介质

Also Published As

Publication number Publication date
JP7290732B2 (ja) 2023-06-13
EP3907942A1 (en) 2021-11-10
EP3907942A4 (en) 2022-03-02
JP2022523087A (ja) 2022-04-21
CN111510387B (zh) 2021-12-14
US20210377173A1 (en) 2021-12-02
CN111510387A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
WO2020156105A1 (zh) 数据转发方法及相关装置
EP3836490B1 (en) Vpn cross-domain implementation method, device, and border node
US10484203B2 (en) Method for implementing communication between NVO3 network and MPLS network, and apparatus
US10454821B2 (en) Creating and maintaining segment routed traffic engineering policies via border gateway protocol
CN111865796B (zh) 用于网络业务的路径计算单元中央控制器(pcecc)
US9998368B2 (en) Zone routing system
EP2945330B1 (en) Route management method, route method, network controller and router
JP6236221B2 (ja) 管理プログラム、管理装置、およびネットワークシステム
CN112511444B (zh) 一种组播流量传输方法、装置、通信节点及存储介质
WO2015165311A1 (zh) 传输数据报文的方法和供应商边缘设备
WO2017124709A1 (zh) 流量工程隧道建立方法和装置
CN113904981B (zh) 一种路由信息处理方法、装置、电子设备和存储介质
WO2021115397A1 (zh) 业务链转发控制方法及装置、业务组网
JP2023540658A (ja) クラウドリソースへの自動接続
WO2024007762A1 (zh) 一种路由发布方法、通信方法及装置
JP7507308B2 (ja) 割り当てられたコンテキストに基づくネットワークサービスアクセス及びデータルーティング
US11343180B2 (en) Network service access and data routing based on assigned context
US20230261963A1 (en) Underlay path discovery for a wide area network
CN115695284A (zh) 算力网络中的回程流量引流方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20749251

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021544358

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020749251

Country of ref document: EP

Effective date: 20210804