WO2021151381A1 - 分段标识的处理方法及设备 - Google Patents

分段标识的处理方法及设备 Download PDF

Info

Publication number
WO2021151381A1
WO2021151381A1 PCT/CN2021/073952 CN2021073952W WO2021151381A1 WO 2021151381 A1 WO2021151381 A1 WO 2021151381A1 CN 2021073952 W CN2021073952 W CN 2021073952W WO 2021151381 A1 WO2021151381 A1 WO 2021151381A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
information
index
usid
function
Prior art date
Application number
PCT/CN2021/073952
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 EP21748366.8A priority Critical patent/EP4099648A4/en
Publication of WO2021151381A1 publication Critical patent/WO2021151381A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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/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/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • 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

Definitions

  • the embodiments of the present disclosure relate to the field of communication technology, and in particular to a method and device for processing segment identification.
  • Segment Routing is a source routing technology, based on the software-defined network (Software Defined Network, SDN) concept, constitutes a path-oriented network architecture to support the multi-level programmable requirements of the future network, and can meet the first The connection requirements of the 5th generation (5G) mobile communication technology (5th generation, 5G) ultra-large connection and slicing application scenarios.
  • 5G 5th generation
  • 5G 5th generation
  • SR-Multi-Protocol Label Switching is an SR solution based on the current mainstream MPLS forwarding plane.
  • SRv6 is an SR solution based on the Internet Protocol Version 6 (Internet Protocol Version 6, IPv6) extension.
  • SR-MPLS follows the MPLS forwarding mechanism, naturally evolves, and has been widely used in transmission networks. SRv6 further enhances network programmability and supports network and business programmability.
  • the current Internet Engineering Task Force (IETF) draft draft-ietf-6man-segment-routing-header-26 defines the segment routing header (Segment Routing Header, SRH) of the IPv6 extension header, which is used Forwarded on the data plane of SRv6, where each segment ID (Segment ID, SID) in the segment list (Segment List) contains 128 bits, including location identification (locator), function (function), variable (arguments) and other parts , See Figure 1.
  • IETF Internet Engineering Task Force
  • Location identification An identification assigned to a network node in the network, which can be used to route and forward data packets. Locator has two important attributes, routing and aggregation. In SRv6 SID, the Locator is a variable-length part, which is used to adapt to networks of different sizes.
  • Function value an identity (ID) value assigned by the device to the local forwarding instruction. This value can be used to express the forwarding action required by the device, which is equivalent to the operation code of the computer instruction.
  • ID an identity
  • SRv6 network programming different forwarding behaviors are expressed by different function ID values. To a certain extent, the function ID is similar to the MPLS label, and is used to identify a virtual private network (Virtual Private Network, VPN) forwarding instance, etc.
  • Args variables: The parameters needed when the forwarding instruction is executed. These parameters may include streams, services or any other related variable information.
  • IPv6 technology has become the main technology of the new generation network.
  • the long-term consideration of SRv6 based on IPv6 is the evolution trend of future networks.
  • Research on the mechanism of SRv6 technology is a hot spot in the industry.
  • the operator's network requires a higher number of SR label layers.
  • the traffic of the base station needs to pass through the metropolitan area network and the IP backbone network.
  • the access ring has 8-10 nodes
  • the aggregation ring has 4-8 nodes
  • the core ring has 4-8 nodes.
  • traffic still needs to pass through multiple router nodes.
  • SLA service-level agreement
  • operator networks need to be able to specify explicit paths, and end-to-end SR tunnels will have 10 hops or more. Therefore, most domestic and foreign operators deploying MPLS-SR require support for SID labels above 8 layers.
  • the SRv6 solution is based on SRH, and its SID length is 128 bits.
  • 128Byte overhead is brought to the message.
  • the overhead brought by SRv6 exceeds 1/3, and the bandwidth utilization rate drops below 67%.
  • the overhead of SR-MPLS is only 32Byte, and the bandwidth utilization rate is still 89%.
  • Figure 2 The comparative analysis of the carrying efficiency of SRv6 and SR-MPLS when the number of SIDs is from 1 to 10 is shown in Figure 2 (only a simple comparison of the overhead of SRH and SR-MPLS SID).
  • the increase in overhead caused a reduction in network utilization, and on the other hand, it brought greater support for deep message deep load balancing, in-band telemetry (In-Band Telemetry), and network service header (NSH). challenge.
  • in-band Telemetry In-Band Telemetry
  • NSH network service header
  • SRv6 deployment will inevitably coexist with the SR-MPLS network. Due to the difference in network utilization, it may cause the problem of unbalanced network boundary interfaces, resulting in waste of investment.
  • the SR-MPLS network is connected to the SRv6 network domain, consider the 100G link, 256byte packets, and the 8-layer SID. Due to the large difference in link utilization, one 100GE link in the SR-MPLS domain is in the SRv6 domain. It may require two 100GE links to match.
  • SRv6 needs to insert a field of more than 128Byte length in the network chip in the message, which is equivalent to the 32-layer MPLS-SR label depth, which exceeds the capacity of the deployed network chip. If loopback is used inside the chip. The solution will greatly reduce network performance and introduce higher delay and jitter.
  • supporting SRv6 requires further expansion of the internal processing bus bandwidth, which is a key factor in chip cost and power consumption.
  • SRv6 requires the network chip to read the complete SRH at the intermediate node, and then extract the segment to be processed according to the position indicated by the pointer and forward it. Compared with MPLS-SR, only the outermost label needs to be read, and the complexity introduced further increases the processing delay of the network chip.
  • SRv6 message overhead in related technologies increases the complexity of network chips and is difficult to smoothly upgrade.
  • SRv6 is difficult to quickly deploy to the operator's network, and further evolution is required on the basis of SRv6 technology.
  • An objective of the embodiments of the present disclosure is to provide a method and device for processing segment identification, so as to solve the problem of high SRv6 message overhead in related technologies.
  • an embodiment of the present disclosure provides a method for processing segment identification, which is applied to a first node, and includes:
  • the first information of the first node includes: the network identifier of the first node and the index of the corresponding first node
  • the second information of the first node includes: the function of the first node Value and Index of the first node
  • sending the first information of the first node and/or the second information of the first node to one or more second nodes in the network includes:
  • the method further includes:
  • the third information of the second node includes: the network identifier of the second node and the Index of the corresponding second node
  • the fourth information of the second node includes: the function of the second node. Value and Index of the second node.
  • the method further includes:
  • a segment list is generated, the segment list includes: USID information of the nodes of the message path, and the USID information includes: function selection Value and Index;
  • the method further includes:
  • the message is sent to the next node of the first node.
  • the method further includes:
  • the The message is processed.
  • the method further includes:
  • the message is sent to the next node of the first node according to a preset routing rule.
  • the second information and/or fourth information further includes:
  • the indication information is used to indicate whether to use the extended function.
  • the indication information is located in a reserved bit in the Index field or a reserved bit in the function field.
  • the Index in the second information and/or the fourth information is also used to indicate whether to use the extended function.
  • a node including:
  • An allocation module configured to allocate a globally unique Index to the first node
  • the first sending module is configured to send the first information of the first node and/or the second information of the first node to one or more second nodes in the network;
  • the first information of the first node includes: the network identifier of the first node and the index of the corresponding first node
  • the second information of the first node includes: the function and the index of the first node.
  • the Index of the first node is the first information of the first node.
  • embodiments of the present disclosure provide a node, including: a transceiver and a processor;
  • the processor is configured to allocate a globally unique Index to the first node
  • the transceiver is configured to send the first information of the first node and/or the second information of the first node to one or more second nodes in the network;
  • the first information of the first node includes: the network identifier of the first node and the index of the corresponding first node
  • the second information of the first node includes: the function and the first node of the first node. Index of a node.
  • an embodiment of the present disclosure provides a communication device, including: a processor, a memory, and a program stored on the memory and capable of running on the processor, and the program is executed when the processor is executed It includes the steps of the segment identification processing method as described in the first aspect.
  • embodiments of the present disclosure provide a computer-readable storage medium having a computer program stored on the computer-readable storage medium. Identify the steps of the processing method.
  • a globally unique Index is assigned to a node, and then the network identifier of the node and the corresponding Index, and/or the value of the function of the node and the Index are notified to other nodes in the network, so that in the message
  • the USID information only needs to include the value of the function and the Index.
  • other nodes in the network can determine the corresponding Index according to the mapping relationship between the network identifier and the Index.
  • the node recognizes the message in the Index corresponds to the node, and the service is processed according to the value of the function in the message, which effectively reduces the overhead of the message, reduces the complexity of the network chip, and realizes a smooth system upgrade, which can make SRv6 rapid deployment To the carrier network.
  • Figure 1 is a schematic diagram of SRv6 SID
  • Figure 2 is a schematic diagram of comparative analysis of SR carrying efficiency with different SID numbers when the payload length is 256B;
  • FIG. 3 is a flowchart of a method for processing segment identification in an embodiment of the disclosure
  • FIG. 4 is a schematic diagram of four 32-bit USIDs in an embodiment of the disclosure.
  • FIG. 5 is a schematic diagram of mapping the Index in the USID and the Locator in the SID in the related technology in an embodiment of the disclosure
  • FIG. 6 is a schematic diagram of Endpoint function types in an embodiment of the disclosure.
  • FIG. 7 is one of the expanded schematic diagrams of function in an embodiment of the disclosure.
  • FIG. 8 is the second schematic diagram of the expansion of the function in the embodiment of the disclosure.
  • Figure 9 is a schematic diagram of VPN traffic forwarding based on SRv6 USID TE in an embodiment of the disclosure.
  • Fig. 10 is a schematic diagram of the USID Index information of the node B in Fig. 9;
  • FIG. 11 is a schematic diagram of the USID information of the node B in FIG. 9;
  • Fig. 12 is a schematic diagram of USID Index information of node E in Fig. 9;
  • FIG. 13 and 14 are schematic diagrams of the USID information of the node E in FIG. 9;
  • FIG. 15 is a schematic diagram of the Index mapping relationship of each node in FIG. 9;
  • Fig. 16 is a schematic diagram of the USID list in the Segment List in Fig. 9;
  • FIGS 17 to 19 are schematic diagrams of the USID of each node in Figure 9;
  • FIG. 20 is one of schematic diagrams of a node in an embodiment of the disclosure.
  • FIG. 21 is the second schematic diagram of a node in an embodiment of the disclosure.
  • Fig. 22 is a schematic diagram of a communication device in an embodiment of the disclosure.
  • words such as “exemplary” or “for example” are used as examples, illustrations, or illustrations. Any embodiment or design solution described as “exemplary” or “for example” in the embodiments of the present disclosure should not be construed as being more optional or more advantageous than other embodiments or design solutions. To be precise, words such as “exemplary” or “for example” are used to present related concepts in a specific manner.
  • the technology described in this article is not limited to the fifth-generation mobile communication (5th-generation, 5G) system and subsequent evolution communication systems, and is not limited to the LTE/LTE evolution (LTE-Advanced, LTE-A) system, and can also be used for various A kind of wireless communication system, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (Frequency Division Multiple Access, FDMA), Orthogonal Frequency Division Multiple Access (Orthogonal Frequency Division Multiple Access, OFDMA), Single-carrier Frequency-Division Multiple Access (SC-FDMA) and other systems.
  • CDMA Code Division Multiple Access
  • TDMA Time Division Multiple Access
  • FDMA Frequency Division Multiple Access
  • OFDMA Orthogonal Frequency Division Multiple Access
  • SC-FDMA Single-carrier Frequency-Division Multiple Access
  • the terms “system” and “network” are often used interchangeably.
  • the CDMA system can implement radio technologies such as CDMA2000 and Universal Terrestrial Radio Access (UTRA).
  • UTRA includes Wideband Code Division Multiple Access (WCDMA) and other CDMA variants.
  • the TDMA system can implement radio technologies such as the Global System for Mobile Communication (GSM).
  • OFDMA system can realize such as Ultra Mobile Broadband (UMB), Evolved UTRA (Evolution-UTRA, E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, etc. Radio technology.
  • UMB Ultra Mobile Broadband
  • Evolution-UTRA Evolved UTRA
  • E-UTRA IEEE 802.11
  • WiMAX IEEE 802.16
  • IEEE 802.20 Flash-OFDM
  • Flash-OFDM Flash-OFDM
  • LTE and more advanced LTE are new UMTS versions that use E-UTRA.
  • UTRA, E-UTRA, UMTS, LTE, LTE-A, and GSM are described in documents from an organization named "3rd Generation Partnership Project” (3GPP).
  • CDMA2000 and UMB are described in documents from an organization named “3rd Generation Partnership Project 2" (3GPP2).
  • the techniques described in this article can be used for the systems and radio technologies mentioned above, as well as other systems and radio technologies.
  • an embodiment of the present disclosure provides a method for segment identification processing.
  • the execution subject of the method may be a first node.
  • the first node may be an ingress node (ingress node), an intermediate node, or
  • the egress node (egress node) the method includes: step 301 and step 302.
  • Step 301 Assign a globally unique index (Index) to the first node
  • the network identification of the first node may be the IP address of the first node or the device ID of the first node, and of course it is not limited to this.
  • the IP address of the first node may be the IPv6 prefix of the first node, but of course it is not limited to this.
  • Step 302 Send the first information of the first node and/or the second information of the first node to one or more second nodes in the network;
  • the first information of the first node includes: the network identifier of the first node and the index of the corresponding first node; the second information of the first node includes: the function of the first node Value and Index of the first node.
  • Index is used to identify the network location
  • function is used to identify the programming ability of the node
  • different values of function correspond to different business behaviors.
  • USID refers to: Unified SID, a unified segment identifier.
  • the above-mentioned first information of the first node may also be referred to as the USID Index information of the first node, and the second information of the first node may also be referred to as the USID information of the first node.
  • the first information of the first node and/or the second information of the first node are sent to one or more second nodes in the network through a control protocol, where the control protocol includes but is not limited to an internal routing protocol ( Interior Gateway Protocol, IGP), Border Gateway Protocol (Border Gateway Protocol, BGP) and other protocols.
  • IGP Interior Gateway Protocol
  • BGP Border Gateway Protocol
  • the length of the "function" field of the first node is 12 bits
  • the length of the "Index” field is 20 bits
  • the length of the USID information of the first node is 32 bits, which can effectively save the overhead of packets (such as SRv6 packets) .
  • the method further includes:
  • the third information of the second node includes: the network identifier of the second node and the index of the corresponding second node
  • the fourth information of the second node includes: the function of the second node. Value and Index of the second node
  • the Index of the second node is assigned by the second node according to the network identifier of the second node.
  • the Index of the second node may be the second node according to the IP address of the second node (IPv6 prefix) assigned.
  • the method further includes:
  • a segment list is generated.
  • the list includes: the USID information of the node of the message path; the segment list is encapsulated into the message.
  • the foregoing message may be an IPv6 message, but of course it is not limited to this.
  • the method further includes:
  • the message is sent to the next node of the first node.
  • the method further includes:
  • the destination address in the header of the message matches the network identifier (for example, IPv6 prefix) of the first node, then according to the function and Index in the USID information currently pointed to by the Segment list in the message, The message is processed.
  • network identifier for example, IPv6 prefix
  • the method further includes:
  • the message is sent to the first node according to the preset routing rules. The next node.
  • the network identifier for example, IPv6 prefix
  • the second information and/or fourth information (or referred to as the USID information of the first node and/or the USID information of the second node) further includes: indication information, the The indication information is used to indicate whether to use the extended function.
  • the indication information is located in a field reserved bit (for example, the lowest reserved bit) of the Index, or a field reserved bit of the function (for example, the highest reserved bit).
  • the Index in the second information and/or fourth information (or referred to as the USID information of the first node and/or the USID information of the second node) is also used to indicate whether Use extended functions.
  • the basic length of the second information and/or fourth information (or called the USID information of the first node and/or the USID information of the second node) can be 32 bits, which effectively compresses the SID space occupation and inherits
  • the Locator and function structure of the standard SID has the following correspondence with the SRv6 SID of the related standard, among which:
  • Next Header Identifies the type of packet header immediately following SRH.
  • Hdr Ext len The length of the SRH header. Mainly refers to the length occupied from Segment List[0] to Segment List[n].
  • Routing Type Identifies the routing header type, SRH Type is 4.
  • Segment Left The number of intermediate nodes that should still be visited before reaching the destination node.
  • Last Entry Include the index of the last element of the segment list in the segment list.
  • Flags Some flags of the data packet.
  • Segment List[n] A list of segments. The list of segments is coded from the last segment of the path.
  • Optional TLV Variable length TLV part.
  • each Index represents a locator, and taking a 20-bit Index as an example, there can be up to 2 to the 20th power of locator. Since Index cannot be aggregated according to the address organization form, it needs to transmit a detailed mapping table, the amount of information transmitted by the protocol is relatively large, and the mapping relationship table query is relatively large.
  • the Index and the function occupied length described above are all exemplary descriptions, and the Index and the function occupied length are not limited in the embodiment of the present disclosure.
  • the functions in the USID can all inherit the definition of draft-ietf-spring-srv6-network-programming-07 Section 4, but of course it is not limited to this.
  • a globally unique Index can be assigned to a node, and then the network identifier (for example, IPv6 prefix) and Index of the node, and/or the value and Index of the function of the node, are notified to other nodes in the network
  • the USID information in the message only needs to include the value of the function and the Index.
  • other nodes in the network can determine the corresponding Index according to the mapping relationship between the network identifier and the Index. If the node recognizes the The Index in the message corresponds to the node, and the service is processed according to the value of the function in the message, which effectively reduces the overhead of the message, reduces the complexity of the network chip, and realizes a smooth system upgrade. Enables rapid deployment of SRv6 to the operator's network.
  • the basic length of the function is 12bit. According to the current network deployment scale, it can be used for basic Endpoint functions such as END.X, END.DT4, END.DT6, and END.DT46.
  • the identification extension method includes the following two methods:
  • the entire USID information r following the current USID information is incorporated into the current USID information as a function, while the index of the current USID remains unchanged, and the function part + the newly incorporated entire USID information as a whole as a new function part.
  • chip forwarding can reuse the implementation of the existing MPLS label reservation method.
  • the extension method is identified by adding a new flag.
  • the SRv6 USID generation mechanism needs to allocate a unique Index value to the native SRv6 locator, that is, Index as the label value, forming a 1:1 mapping relationship with the locator.
  • Control protocols such as ISIS6 and OSPFv3 extended protocol sub TLV flooding protocol information, carry the mapping relationship between Index and IPv6 prefix prefix, so that all network nodes in the same network can establish a mapping relationship table between IPv6 prefix and Index.
  • the difference from the SR MPLS technology is that the USID only allocates Index for IPv6 prefix, and no longer allocates adjacency Index for adjacent links, but uses the function of END.X.
  • the node deploying SRv6 USID in the network assigns its own IPv6 prefix (including but not limited to the IPv6 prefix of common interfaces and loopback interfaces) with a globally unique Index value, and transmits it to other nodes in the network through control protocols such as IGP/BGP , All nodes in the network can obtain the mapping relationship between IPv6 prefix and Index, and form a mapping relationship table between IPv6 prefix and Index.
  • IPv6 prefix including but not limited to the IPv6 prefix of common interfaces and loopback interfaces
  • the network node deploying the SRv6 USID will also assign the value of the function to the specified function, and transmit the Endpoint function and the corresponding END USID to other nodes in the network through control protocols such as IGP/BGP.
  • the value of Function is different from the value of Index. It is only identifiable to service endpoints (usually the ingress node (ingress node) and egress node (egress node) of the network), and it is only used for transmission to other intermediate nodes.
  • the ingress node of the network uses SRv6 USID for encapsulation, it searches the mapping table according to the egress IPv6 address to obtain the corresponding Index value, and at the same time, queries the corresponding function value according to the END USID transmitted by IGP/BGP, and according to the aforementioned Index:function combination Form a USID. If you specify a set of nodes passing by, query the mapping table for each IPv6 prefix in the set, and form a USID for each corresponding Index value, and fill in the function field with 0. If a set of links is specified, the mapping table will be searched for the starting IPv6 address of each link in the set, and the corresponding Index value will be obtained. At the same time, the corresponding link function value will be queried according to the END USID transmitted by the IGP. Index: function is combined to form a USID.
  • the ingress node of the network forms the USID list from back to front in the order of the route, and encapsulates it into the Segment List of the IPv6 SRH header of the message, that is, the USID of the egress node is the first in the list, and the USID is the first on the specified path.
  • the USID of a node or link is the last in the list, and the USID currently pointed to is the last USID, which is exactly the same as the native SRv6 method.
  • the Index currently pointing to the USID is mapped to the corresponding IPv6 prefix and the function value of the USID is filled in the lowest 12 bits of the IPv6 address to form the destination address of the IPv6 header.
  • each node checks whether the IPv6 destination address is its own, and if it is not, it can be forwarded according to the IPv6 routing table. If it is, the USID currently pointed to by the IPv6 SRH header Segment List needs to be checked. Processing, query the corresponding IPv6 prefix according to Index, and perform corresponding service processing according to the value of function, such as searching for specified link forwarding, searching for routing table forwarding corresponding to VRF, etc.
  • the USID in the Segment List points to one USID forward, and the new USID Index is mapped to the corresponding IPv6 prefix and the function value of the USID is filled in the lowest 12 bits of the IPv6 address to form the destination address of the new IPv6 header.
  • the message continues to be forwarded, and the above process is repeated until the service processing of the first USID in the Segment List, that is, the USID of the egress node is completed.
  • USID uses a basic length of 32bit
  • function uses a basic length of 12bit
  • IPv6 prefix uses 64bit
  • END function uses a minimum set of END.X/END.DT4/END.DT6, node A and node E deploy L3VPN IPv4 and IPv6, based on SRv6 USID TE Perform VPN traffic forwarding.
  • Sub TLV can be expanded to A, C, D, and E nodes through the IGP (including but not limited to ISIS6, OSPFv3) protocol.
  • the INTB2 of node B is a LAN interface, and there are two neighbors of C and D.
  • the USID Index information and END USID information of node E see Figure 12, Figure 13, and Figure 14, where the Index mapping relationship can be extended by IGP (including but not limited to ISIS6, OSPFv3) Sub TLV flooding, END.DT4 USID and END.
  • the DT6 USID can be passed to the BGP VPN peer A node through BGP (including but not limited to VPNv4, VPNv6, EVPN address family, etc.) protocol extended attributes, and the function value in the corresponding USID can be obtained by cross-matching each VPN through RT.
  • INTE3 of node E is the loopback interface, which can be used as the address for establishing BGP VPN peer with node A.
  • 1K VPNv4 and 1K VPNv6, are represented by function values of 1-1024 and 1025-2048, respectively.
  • each node of A-E can form the Index mapping relationship table shown in FIG. 15 for query (in FIG. 15, only the Index mapping relationship of nodes B and E is listed).
  • 2, USID2 1200
  • Node C checks that the IPv6 destination address A503::2 is not itself, and queries the IPv6 routing table of this node to continue forwarding to node E;
  • an embodiment of the present disclosure further provides a node, where the node 2000 is a first node, and the node 2000 includes:
  • the allocation module 2001 is configured to allocate a globally unique Index to the first node, and optionally, allocate a globally unique Index to the first node according to the network identifier (for example, IPv6 prefix) of the first node;
  • the first sending module 2002 is configured to send the first information of the first node (or USID Index information of the first node) and/or the second information of the first node (or USID information of the first node) ) To send to one or more second nodes in the network;
  • the first information of the first node includes: the network identifier of the first node and the index of the corresponding first node
  • the second information of the first node includes: the function and the first node of the first node. Index of a node.
  • the first sending module 2002 is further configured to send the first information of the first node (or called the USID Index information of the first node) to one or more second nodes in the network through a control protocol And/or the second information of the first node (or called the USID information of the first node).
  • the node 2000 further includes:
  • the first receiving module is configured to receive the third information of the one or more second nodes (or the USID Index information of the second node) and/or the fourth information of the second node (or the second node USID information);
  • the third information of the second node includes: the network identifier (for example, IPv6 prefix) of the second node and the Index of the corresponding second node
  • the fourth information of the second node includes: The function of the second node and the Index of the second node; the Index of the second node is allocated by the second node according to the network identifier (for example, IPv6 prefix) of the second node.
  • the node 2000 further includes:
  • the first generating module is used to generate a segment list according to the order of the message path nodes and the second information and/or fourth information (or called the USID information of the first node and/or the USID information of the second node).
  • the segment list includes: USID information of the node of the message path;
  • the encapsulation module is used to encapsulate the segment list into the message.
  • the node 2000 further includes:
  • a determining module configured to determine the values of Index and function of the next node of the first node according to the USID information in the segment list;
  • the second generation module is configured to generate the destination address in the header of the message according to the values of the Index and function;
  • the second sending module is configured to send the message to the next node of the first node according to the destination address.
  • the node 2000 further includes:
  • a second receiving module configured to receive the message from the previous node of the first node
  • the second determining module is configured to, if the destination address in the header of the message matches the network identifier (for example, IPv6 prefix) of the first node, according to the USID information currently pointed to by the Segment list in the message Function and Index in, process the message.
  • the network identifier for example, IPv6 prefix
  • the node 2000 further includes:
  • the third sending module is configured to send the message according to preset routing rules if the destination address in the header of the message does not match the network identifier (for example, IPv6 prefix) of the first node The next node to the first node.
  • network identifier for example, IPv6 prefix
  • the second information and/or fourth information (or referred to as the USID information of the first node and/or the USID information of the second node) further includes: indication information, and the indication information is used for Indicate whether to use the function of the extended mode.
  • the indication information is located in the lowest reserved bit of the Index field or the highest reserved bit of the function field.
  • the Index in the second information and/or fourth information (or called the USID information of the first node and/or the USID information of the second node) is also used to indicate whether to use the extended mode. function.
  • the node provided in the embodiment of the present disclosure can execute the method embodiment shown in FIG. 3 above, and its implementation principles and technical effects are similar, and details are not described herein again in this embodiment.
  • an embodiment of the present disclosure also provides a node, where the node 2100 is a first node, and the node 2100 includes: a transceiver 2101 and a processor 2102;
  • the processor 2102 is configured to allocate a globally unique Index to the first node
  • the transceiver 2101 is configured to combine the first information of the first node (or the USID Index information of the first node) and/or the second information of the first node (or the USID information of the first node) ) To send to one or more second nodes in the network;
  • the first information of the first node includes: the network identifier (for example, IPv6 prefix) of the first node and the Index of the corresponding first node
  • the second information of the first node includes: the first node The function of the node and the Index of the first node.
  • the transceiver 2101 is also configured to receive the third information of the one or more second nodes (or called the USID Index information of the second node) and/or the second node's first information.
  • the third information of the one or more second nodes or called the USID Index information of the second node
  • the second node's first information or USID information of the second node
  • the third information of the second node includes: the network identifier (for example, IPv6 prefix) of the second node and the Index of the corresponding second node
  • the fourth information of the second node includes: the second node The function of the node and the Index of the second node; the Index is allocated by the second node according to the network identifier (for example, IPv6 prefix) of the second node.
  • the processor 2102 is further configured to according to the order of the message route node and the second information and/or fourth information (or called the USID information of the first node and/or the second node USID information) to generate a segment list, where the segment list includes: USID information of the node of the message path;
  • the transceiver 2101 is also used to encapsulate the segment list into the message.
  • the processor 2102 is further configured to determine the network identifier and Index of the next node of the first node according to the USID information in the segment list;
  • the processor 2102 is further configured to generate a destination address in the header of the message according to the value of the function and the Index;
  • the transceiver 2101 is also configured to send the message to the next node of the first node according to the destination address.
  • the transceiver 2101 is further configured to receive the message from the previous node of the first node;
  • the processor 2102 is further configured to: if the destination address in the header of the message matches the network identifier (for example, IPv6 prefix) of the first node, then according to the segment list in the message currently pointing to The function and Index in the USID information process the message.
  • the network identifier for example, IPv6 prefix
  • the transceiver 2101 is also configured to: if the destination address in the header of the message does not match the network identifier (for example, IPv6 prefix) of the first node, perform a preset Routing rules to send the message to the next node of the first node.
  • the network identifier for example, IPv6 prefix
  • the second information and/or fourth information (or referred to as the USID information of the first node and/or the USID information of the second node) further includes:
  • the indication information is used to indicate whether to use the extended function.
  • the indication information is located in the lowest reserved bit of the Index field or the highest reserved bit of the function field.
  • the Index in the second information and/or fourth information (or called the USID information of the first node and/or the USID information of the second node) is also used to indicate whether to use the extended mode. function.
  • the node provided in the embodiment of the present disclosure can execute the method embodiment shown in FIG. 3 above, and its implementation principles and technical effects are similar, and details are not described herein again in this embodiment.
  • FIG. 22 is a structural diagram of a communication device applied in an embodiment of the present disclosure.
  • a communication device 2200 includes a processor 2201, a transceiver 2202, a memory 2203, and a bus interface, where:
  • the communication device 2200 further includes: a computer program that is stored in the memory 2203 and can be run on the processor 2201, and the computer program is executed by the processor 2201 to implement the steps in the embodiment shown in FIG. 3 .
  • the bus architecture may include any number of interconnected buses and bridges. Specifically, one or more processors represented by the processor 2201 and various circuits of the memory represented by the memory 2203 are linked together.
  • the bus architecture can also link various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are all known in the art, and therefore, no further descriptions are provided herein.
  • the bus interface provides the interface.
  • the transceiver 2202 may be a plurality of elements, that is, include a transmitter and a receiver, and provide a unit for communicating with various other devices on the transmission medium.
  • the processor 2201 is responsible for managing the bus architecture and general processing, and the memory 2203 can store data used by the processor 2201 when performing operations.
  • the communication device provided in the embodiment of the present disclosure can execute the method embodiment shown in FIG. 3, and its implementation principles and technical effects are similar, and details are not described in this embodiment here.
  • the steps of the method or algorithm described in conjunction with the disclosure of the present disclosure may be implemented in a hardware manner, or may be implemented in a manner of executing software instructions on a processor.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disks, mobile hard disks, read-only optical disks, or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium.
  • the storage medium may also be an integral part of the processor.
  • the processor and storage medium can be carried in an ASIC.
  • the ASIC can be carried in the core network interface device.
  • the processor and the storage medium may also exist as discrete components in the core network interface device.
  • the functions described in the present disclosure can be implemented by hardware, software, firmware, or any combination thereof.
  • these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on the computer-readable medium.
  • the computer-readable medium includes a computer storage medium and a communication medium, where the communication medium includes any medium that facilitates the transfer of a computer program from one place to another.
  • the storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.
  • the embodiments of the present disclosure can be provided as a method, a system, or a computer program product. Therefore, the embodiments of the present disclosure may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present disclosure may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present disclosure can be embodied in the form of a software product in essence or a part that contributes to the related technology.
  • the computer software product is stored in a storage medium and includes a number of instructions to make a A computer device (which may be a personal computer, a server, or a network device, etc.) executes all or part of the steps of the methods described in the various embodiments of the present disclosure.
  • the aforementioned storage media include: U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk and other media that can store program codes.
  • the program can be stored in a computer-readable storage medium. When executed, it may include the procedures of the above-mentioned method embodiments.
  • the storage medium may be a magnetic disk, an optical disc, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random Access Memory, RAM), etc.
  • modules, units, and sub-units can be implemented in one or more Application Specific Integrated Circuits (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSP Device, DSPD) ), programmable logic devices (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, used to execute the present disclosure Other electronic units or a combination of the functions described above.
  • ASIC Application Specific Integrated Circuits
  • DSP Digital Signal Processor
  • DSP Device Digital Signal Processing Device
  • DSPD Digital Signal Processing Device
  • PLD programmable logic devices
  • Field-Programmable Gate Array Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology described in the embodiments of the present disclosure can be implemented by modules (for example, procedures, functions, etc.) that perform the functions described in the embodiments of the present disclosure.
  • the software codes can be stored in the memory and executed by the processor.
  • the memory can be implemented in the processor or external to the processor.

Landscapes

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

Abstract

本公开实施例提供一种分段标识的处理方法及设备,该方法包括:为第一节点分配全局唯一的Index;将所述第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送;其中,第一节点的第一信息包括:第一节点的网络标识和对应的Index,所述第一节点的第二信息包括:所述第一节点的function的取值和所述Index。

Description

分段标识的处理方法及设备
相关申请的交叉引用
本申请主张在2020年1月31日在中国提交的中国专利申请号No.202010077720.3的优先权,其全部内容通过引用包含于此。
技术领域
本公开实施例涉及通信技术领域,具体涉及一种分段标识的处理方法及设备。
背景技术
分段路由(Segment Routing,SR)是一种源路由技术,基于软件定义网络(Software Defined Network,SDN)理念,构成面向路径连接的网络架构,支撑未来网络多层次的可编程需求,可以满足第五代移动通信技术(5th generation,5G)超大连接和切片的应用场景下的连接需求。
SR-多协议标签交换(Multi-Protocol Label Switching,MPLS)是基于当前主流MPLS转发面形成的SR解决方案。SRv6是基于互联网协议第6版(Internet Protocol Version 6,IPv6)扩展的SR解决方案。SR-MPLS沿用MPLS转发机制,自然演进,并已经在传输网络得到广泛应用。SRv6则进一步增强了网络可编程能力,支持网络和业务可编程。
当前国际互联网工程任务组(The Internet Engineering Task Force,IETF)草案draft-ietf-6man-segment-routing-header-26定义了IPv6扩展头部的分段路由头部(Segment Routing Header,SRH),用于SRv6的数据面转发,其中段列表(Segment List)中的每个分段标识(Segment ID,SID)包含128bit,包含位置标识(locator)、功能(function)、变量(arguments)等几个部分,参见图1。
(1)位置标识(Locator):网络中分配给一个网络节点的标识,可以用于路由和转发数据包。Locator有两个重要的属性,可路由和聚合。在SRv6 SID中Locator是一个可变长的部分,用于适配不同规模的网络。
(2)Function的值:设备分配给本地转发指令的一个标识(identity,ID)值,该值可用于表达需要设备执行的转发动作,相当于计算机指令的操作码。在SRv6网络编程中,不同的转发行为由不同的功能ID值来表达。一定程度上功能ID和MPLS标签类似,用于标识虚拟专用网络(Virtual Private Network,VPN)转发实例等。
(3)Args(变量):转发指令在执行的时候所需要的参数,这些参数可能包含流,服务或任何其他相关的可变信息。
IPv6技术成是新一代网络的主体技术,基于IPv6的SRv6长远考虑是未来网络的演进趋势,关于SRv6技术的机制研究是业界热点。
运营商网络中对SR标签层数要求较高。以5G承载网为例,随着5G核心网集中化部署,基站的流量需要穿过城域网以及IP骨干网。典型场景下,在城域网中,接入环有8-10个节点,汇聚环有4-8个节点,核心环也有4-8个节点。在IP骨干网,流量还需穿过多个路由器节点。同时,由于网络切片、高可靠服务等级协议(Service-Level Agreement,SLA)、可管可控的要求,运营商网络需要能够指定显式路径,端到端SR隧道会有10跳甚至以上。因此,国内外多数部署MPLS-SR的运营商都要求支持8层以上SID标签。
当前,SRv6方案基于SRH,其SID长度为128bit。按照8层SID,为报文带来128Byte的开销,对于平均长度256Byte的应用净荷,SRv6带来的开销超过1/3,带宽利用率则下降为67%以下。而相同场景下,SR-MPLS的开销只有32Byte,带宽利用率仍有89%。SRv6和SR-MPLS在SID个数从1-10时承载效率的对比分析如图2所示(仅简单对比SRH和SR-MPLS SID的开销)。
开销的增大一方面造成了网络利用率的降低,另一方面为支持深层报文深层负载均衡、带内遥测(In-Band Telemetry)、网络服务包头(Network Service Header,NSH)带来更大挑战。
另外,SRv6部署必然会和SR-MPLS网络共存,由于网络利用率的不同可能会导致网络边界接口不平衡的问题,从而导致投资浪费。在SR-MPLS网络与SRv6网络域对接时,考虑100G链路,256byte报文,8层SID的情况,由于链路利用率差异较大,SR-MPLS域中的1个100GE链路在SRv6域 中可能需要2条100GE链路才能匹配。在运营商应用中,SRv6需要在网络芯片在报文中插入超过128Byte长度的字段,相当于32层MPLS-SR标签深度,超出了已部署网络芯片的能力,如果在芯片内部采用环回的解决方案,将大幅降低网络性能并引入更高的时延和抖动。在重新设计的网络芯片中,支持SRv6需要进一步扩大内部处理总线带宽,其是芯片成本和功耗的关键因素。
SRv6在中间节点要求网络芯片读取完整SRH,然后根据指针指示的位置提取需要处理的Segment并进行转发。对比MPLS-SR仅需读取最外层标签,引入的复杂性进一步增加网络芯片的处理时延。
低功耗和低时延是运营商5G解决方案的关键因素,SRv6复杂性对网络芯片带来的功耗、成本、时延的增加为其落地应用带来挑战。
根据以上分析,相关技术中的SRv6报文开销较大,增加网络芯片的复杂性和难以平滑升级,导致SRv6难以快速部署到运营商网络中,需要在SRv6技术基础上进一步进行演进。
发明内容
本公开实施例的一个目的在于提供一种分段标识的处理方法及设备,解决相关技术中的SRv6报文开销较大的问题。
第一方面,本公开实施例提供一种分段标识的处理方法,应用于第一节点,包括:
为所述第一节点分配全局唯一的Index;
将所述第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送;
其中,所述第一节点的第一信息包括:所述第一节点的网络标识和对应的第一节点的Index,所述第一节点的第二信息包括:所述第一节点的function的取值和所述第一节点的Index。
可选地,将所述第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送,包括:
通过控制协议向网络中一个或多个第二节点发送所述第一节点的第一信 息和/或第一节点的第二信息。
可选地,所述方法还包括:
接收所述一个或多个第二节点的第三信息和/或第二节点的第四信息;
其中,所述第二节点的第三信息包括:所述第二节点的网络标识和对应的第二节点的Index,所述第二节点的第四信息包括:所述第二节点的function的取值和第二节点的Index。
可选地,所述方法还包括:
根据报文途径节点的顺序以及所述第二信息和/或第四信息,生成Segment list,所述Segment list包括:所述报文途径的节点的USID信息,所述USID信息包括:function的取值和Index;
将所述Segment list封装到所述报文中。
可选地,所述方法还包括:
根据所述Segment list中的USID信息,确定所述第一节点的下一个节点的Index和function的取值;
根据所述第二节点的Index和function的取值,生成所述报文的头部中的目的地址;
根据所述目的地址,将所述报文发送给所述第一节点的下一个节点。
可选地,所述方法还包括:
从所述第一节点的上一个节点接收所述报文;
如果所述报文的头部中的目的地址与所述第一节点的网络标识匹配,则根据所述报文中的Segment list当前指向的USID信息中的function的取值和Index,对所述报文进行处理。
可选地,所述方法还包括:
如果所述报文的头部中的目的地址与所述第一节点的网络标识不匹配,则根据预设的路由规则,将所述报文发送给所述第一节点的下一个节点。
可选地,所述第二信息和/或第四信息还包括:
指示信息,所述指示信息用于指示是否使用扩展方式的function。
可选地,所述指示信息位于所述Index的字段中的预留位,或者所述function的字段中的预留位。
可选地,所述第二信息和/或第四信息中的Index还用于指示是否使用扩展方式的function。
第二方面,本公开实施例提供一种节点,包括:
分配模块,用于为所述第一节点分配全局唯一的Index;
第一发送模块,用于将所述第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送;
其中,所述第一节点的第一信息包括:所述第一节点的网络标识和对应的第一节点的Index,所述第一节点的第二信息包括:所述第一节点的function和所述第一节点的Index。
第三方面,本公开实施例提供一种节点,包括:收发机和处理器;
所述处理器,用于为所述第一节点分配全局唯一的Index;
所述收发机,用于将所述第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送;
其中,所述第一节点的第一信息包括:所述第一节点的网络标识和对应的第一节点的Index,所述第一节点的第二信息包括:所述第一节点的function和第一节点的Index。
第四方面,本公开实施例提供一种通信设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现包括如第一方面所述的分段标识的处理方法的步骤。
第五方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现包括如第一方面所述的分段标识的处理方法的步骤。
在本公开实施例中,为节点分配全局唯一的Index,然后将该节点的网络标识和对应的Index,和/或该节点的function的取值和Index通知网络中的其他节点,这样在报文中的USID信息只需包括function的取值和Index,网络中的其他节点在接收到报文后,可以根据网络标识与Index的映射关系,确定对应的Index,如果该节点识别该报文中的Index对应于该节点,则根据该报文中的function的取值对业务进行对应的处理,有效减少了报文的开销,降低网络芯片的复杂性,实现平滑的系统升级,可以使得SRv6快速部署到 运营商网络。
附图说明
通过阅读下文可选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出可选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为SRv6 SID的示意图;
图2为净荷长度256B时不同SID个数SR承载效率对比分析示意图;
图3为本公开实施例中分段标识的处理方法的流程图;
图4为本公开实施例中4个32位的USID的示意图;
图5为本公开实施例中USID中的Index与相关技术中的SID中的Locator的映射示意图;
图6为本公开实施例中Endpoint function类型的示意图;
图7为本公开实施例中function的扩展示意图之一;
图8为本公开实施例中function的扩展示意图之二;
图9为本公开实施例中基于SRv6 USID TE进行VPN流量转发的示意图;
图10为图9中节点B的USID Index信息的示意图;
图11为图9中节点B的USID信息的示意图;
图12为图9中节点E的USID Index信息的示意图;
图13、图14为图9中节点E的USID信息的示意图;
图15为图9中各节点的Index映射关系示意图;
图16为图9中Segment List中USID列表示意图;
图17至图19为图9中各节点的USID的示意图;
图20为本公开实施例中节点的示意图之一;
图21为本公开实施例中节点的示意图之二;
图22为本公开实施例中通信设备的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本申请的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,说明书以及权利要求中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B,表示包含单独A,单独B,以及A和B都存在三种情况。
在本公开实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更可选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本文所描述的技术不限于第五代移动通信(5th-generation,5G)系统以及后续演进通信系统,以及不限于LTE/LTE的演进(LTE-Advanced,LTE-A)系统,并且也可用于各种无线通信系统,诸如码分多址(Code Division Multiple Access,CDMA)、时分多址(Time Division Multiple Access,TDMA)、频分多址(Frequency Division Multiple Access,FDMA)、正交频分多址(Orthogonal Frequency Division Multiple Access,OFDMA)、单载波频分多址(Single-carrier Frequency-Division Multiple Access,SC-FDMA)和其他系统。
术语“系统”和“网络”常被可互换地使用。CDMA系统可实现诸如CDMA2000、通用地面无线电接入(Universal Terrestrial Radio Access,UTRA)等无线电技术。UTRA包括宽带CDMA(Wideband Code Division Multiple Access,WCDMA)和其他CDMA变体。TDMA系统可实现诸如全球移动通信系统(Global System for Mobile Communication,GSM)之类的无线电技术。OFDMA系统可实现诸如超移动宽带(Ultra Mobile Broadband,UMB)、演进型UTRA(Evolution-UTRA,E-UTRA)、IEEE 802.11(Wi-Fi)、IEEE 802.16 (WiMAX)、IEEE 802.20、Flash-OFDM等无线电技术。UTRA和E-UTRA是通用移动电信系统(Universal Mobile Telecommunications System,UMTS)的部分。LTE和更高级的LTE(如LTE-A)是使用E-UTRA的新UMTS版本。UTRA、E-UTRA、UMTS、LTE、LTE-A以及GSM在来自名为“第三代伙伴项目”(3rd Generation Partnership Project,3GPP)的组织的文献中描述。CDMA2000和UMB在来自名为“第三代伙伴项目2”(3GPP2)的组织的文献中描述。本文所描述的技术既可用于以上提及的系统和无线电技术,也可用于其他系统和无线电技术。
参见图1,本公开实施例提供一种分段标识处理的方法,该方法的执行主体可以为第一节点,例如,第一节点可以是网络中的入节点(ingress节点)、中间节点、或者出节点(egress节点),该方法包括:步骤301和步骤302。
步骤301:为第一节点分配全局唯一的索引(Index);
可选地,根据第一节点的网络标识,为第一节点分配全局唯一的Index,其中,第一节点的网络标识可以为第一节点的IP地址或者第一节点的设备ID,当然并不限于此。
例如,第一节点的IP地址可以是第一节点的IPv6前缀(prefix),当然并不限于此。
步骤302:将第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送;
其中,所述第一节点的第一信息包括:所述第一节点的网络标识和对应的第一节点的Index;所述第一节点的第二信息包括:所述第一节点的function的取值和第一节点的Index。
其中,Index用于标识网络位置,function用于标识节点的编程能力,function不同取值对应不同的业务行为。
在本公开实施例中,USID(或者称为Uni-SID)是指:Unified SID,统一分段标识。上述第一节点的第一信息也可以称为第一节点的USID Index信息,第一节点的第二信息也可以称为第一节点的USID信息。
例如,通过控制协议将所述第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送,其中,控制协议包括但不限于内部 路由协议(Interior Gateway Protocol,IGP)、边界网关协议(Border Gateway Protocol,BGP)等协议。
例如,第一节点的“function”字段的长度为12bit,“Index”字段的长度为20bit,该第一节点的USID信息的长度为32bit,这样可以有效节省报文(例如SRv6报文)的开销。
在本公开实施例中,可选地,所述方法还包括:
接收所述一个或多个第二节点的第三信息(或者称为第二节点的USID Index信息)和/或第二节点的第四信息(或者称为第二节点的USID信息);
其中,所述第二节点的第三信息包括:所述第二节点的网络标识和对应的第二节点的Index,所述第二节点的第四信息包括:所述第二节点的function的取值和第二节点的Index;
所述第二节点的Index是所述第二节点根据所述第二节点的网络标识分配的,例如,第二节点的Index可以是所述第二节点根据所述第二节点的IP地址(IPv6 prefix)分配的。
在本公开实施例中,可选地,所述方法还包括:
根据报文途径节点的顺序、以及第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息),生成段列表(Segment list),所述Segment list包括:所述报文途径的节点的USID信息;将所述Segment list封装到所述报文中。
可选地,上述报文可以是IPv6报文,当然并不限于此。
在本公开实施例中,可选地,所述方法还包括:
根据所述Segment list中的USID信息,确定所述第一节点的下一个节点的Index和function的取值,USID信息中包括:Index和function的取值;
根据所述第一节点的下一个节点的Index和function的取值,生成所述报文的头部中的目的地址;
根据所述目的地址,将所述报文发送给所述第一节点的下一个节点。
在本公开实施例中,可选地,所述方法还包括:
从所述第一节点的上一个节点接收所述报文;
如果所述报文的头部中的目的地址与所述第一节点的网络标识(例如IPv6 prefix)匹配,则根据所述报文中的Segment list当前指向的USID信息中的function和Index,对所述报文进行处理。
在本公开实施例中,可选地,所述方法还包括:
如果所述报文的头部中的目的地址与所述第一节点的网络标识(例如IPv6 prefix)不匹配,则根据预设的路由规则,将所述报文发送给所述第一节点的下一个节点。
在本公开实施例中,可选地,所述第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息)还包括:指示信息,所述指示信息用于指示是否使用扩展方式的function。
进一步地,所述指示信息位于所述Index的字段预留位(例如最低预留位),或者所述function的字段预留位(例如最高预留位)。
在本公开实施例中,可选地,所述第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息)中的Index还用于指示是否使用扩展方式的function。
可选地,第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息)的基础长度可以为32bit,对SID空间占用进行有效压缩,并继承了标准SID的Locator与function结构,与相关标准的SRv6 SID存在如下对应关系,其中的:
1)每个128位的空间,被分为4个32位的USID,如图4所示。
Next Header:标识紧跟在SRH之后的报文头的类型。
Hdr Ext len:SRH头的长度。主要是指从Segment List[0]到Segment List[n]所占用的长度。
Routing Type:标识路由头部类型,SRH Type是4。
Segment Left:到达目的节点前仍然应当访问的中间节点数。
Last Entry:在段列表中包含段列表的最后一个元素的索引。
Flags:数据包的一些标识。
Tag:标识同组数据包。
Segment List[n]:段列表,段列表从路径的最后一段开始编码。
Optional TLV:可变长TLV部分。
2)索引(Index)与Locator存在映射关系,如图5所示,20bit的Index可以映射到最多128bit Locator。
在本公开实施例中,每个Index表示一个locator,以20bit的Index为例最多可达2的20次方个locator。由于Index无法按照地址组织形式进行聚合,需要传递明细映射表,协议传输信息量相对较大,映射关系表查询相对较多。
3)USID的function字段由于长度相比标准SID的要小,如图5所示,12bit无法完全对应当前已经定义类型(参见draft-ietf-spring-srv6-network-programming-07 Section9.2.1),按照可用空间至少实现END.DT4,END.DT6,END.DT46的基本function能力。同时为支持流量工程(Traffic Engineering,TE),需要实现END.X,如图6所示的举例不同的数值区域分别表示上述不同端点特性(endpoint behavior)类型。可以理解的是,图6仅为举例,网络中各节点均可自行定义function的取值的含义。
需要说明的是,对于USID的压缩长度,之前描述的Index和function占用长度均为举例性说明,在本公开实施例中对Index和function占用长度不做限定。
在本公开实施例中,USID中function可以全部继承draft-ietf-spring-srv6-network-programming-07 Section 4的定义,当然并不限于此。
在本公开实施例中,可以为节点分配全局唯一的Index,然后将该节点的网络标识(例如IPv6 prefix)与Index,和/或该节点的function的取值和Index,通知网络中的其他节点,这样报文中的USID信息只需包括function的取值和Index,网络中的其他节点在接收到报文后,可以根据网络标识与Index的映射关系,确定对应的Index,如果该节点识别该报文中的Index对应于该节点,则根据该报文中的function的取值对业务进行对应的处理,有效减少了报文的开销,降低网络芯片的复杂性,实现平滑的系统升级,可以使得SRv6快速部署到运营商网络。
以一个USID32bit为例,function的基础长度12bit,按照当前网络部署规模,可用于END.X、END.DT4、END.DT6、END.DT46这类基础的Endpoint function。
而对于END.DX4、END.DX6等其他function由于空间限制则无法表达。为支持完整的function,USID的function部分需要支持灵活扩展,即可扩展一个32bit USID达到2个USID拼接的效果,20bit作为Index,function总长度可以达到44bit,但需要在USID中标识是否使用扩展方式的function,用于设备转发数据时识别。
示例性地,标识扩展方式包括如下两种方式:
1)预留Index,使用特殊值表示当前32bit的USID与下一个32bit的USID合并为一个有效USID。
参见图7,例如将当前USID信息后面的r整个USID信息都作为function并入当前USID信息,而当前USID的index不变,function部分+新并入的整个USID信息整体作为新的function部分。这样芯片转发可复用已有预留MPLS标签方式的实现。
2)Index字段最低位或function字段最高位预留1bit flag(如图8中D bit)表示是否扩展方式的USID。
也就是,通过新增flag标识扩展方式。
示例性地,SRv6 USID的生成机制中需要对原生SRv6 locator分配唯一的Index值,即Index作为标签值,与locator形成1:1映射关系。
控制协议例如ISIS6和OSPFv3扩展协议sub TLV洪泛协议信息,携带Index与IPv6前缀prefix的映射关系,这样同一网络中的所有网络节点均可建立IPv6 prefix和Index的映射关系表。其中与SR MPLS技术不同之处在于,USID仅为IPv6 prefix分配Index,不再为邻接链路分配邻接索引(adjacency Index),而使用END.X的function表示。
网络中部署SRv6 USID的节点为自身IPv6前缀(prefix)(包括但不限于普通接口和loopback接口的IPv6 prefix)分配全局唯一的Index值,并通过IGP/BGP等控制协议传输到网络中的其他节点,网络中所有节点均可获取IPv6 prefix与Index的映射关系,并形成IPv6 prefix与Index的映射关系表。
同时为实现端点(Endpoint)function,部署SRv6 USID的网络节点也会为指定function分配function的取值,并把Endpoint function和对应的END USID通过IGP/BGP等控制协议传输到网络中的其他节点。Function取值不同于Index 取值,仅对于业务的端点(通常为网络的入节点(ingress节点)和出节点(egress节点))可识别,对其他中间节点仅用于传输。
其中,网络的ingress节点使用SRv6 USID进行封装时,根据egress IPv6地址查找映射关系表,获取对应的Index值,同时根据IGP/BGP传输的END USID查询对应的function取值,按照前述Index:function组合形成一个USID。如果指定途经的节点集合,则对该集合中的每个IPv6 prefix分别查询映射关系表,分别把每个对应的Index值形成一个USID,function字段填0。如果指定途经的链路集合,则对该集合中的每个链路起点IPv6地址查找映射关系表,获取对应的Index值,同时根据IGP传输的END USID查询对应的链路function取值,按照前述Index:function组合形成一个USID。
其中,网络的ingress节点将上述USID按照途经顺序由后向前形成USID列表,封装到报文的IPv6 SRH头部的Segment List,即egress节点的USID在列表中第一个,指定路径上的第一个节点或链路USID在列表中最后一个,当前指向的USID为最后一个USID,这与原生SRv6方式完全相同。当前指向USID的Index映射到对应的IPv6 prefix并在IPv6地址的最低12bit填充该USID的function取值,形成IPv6头部的目的地址。
其中,报文在网络中转发时,每个节点均检查IPv6目的地址是否为自己,如果不是则按照IPv6路由表进行转发即可,如果是则需要对IPv6 SRH头部Segment List当前指向的USID进行处理,根据Index查询对应的IPv6 prefix,同时根据function取值进行对应的业务处理,例如查找指定的链路转发、查找对应VRF的路由表转发等。同时Segment List中的USID指向前移一个USID,并把新的USID Index映射到对应的IPv6 prefix并在IPv6地址的最低12bit填充该USID的function取值,形成新的IPv6头部的目的地址。
报文继续转发,重复以上过程,直到完成Segment List中的第一个USID即egress节点USID的业务处理。
下面结合图9,按照上述方案流程介绍一种可选的实施方式。
USID采用基础长度32bit,function采用基础长度12bit,IPv6 prefix均使用64bit,END function采用最小集END.X/END.DT4/END.DT6,节点A和节点E部署L3VPN IPv4和IPv6,基于SRv6 USID TE进行VPN流量转发。
节点B的USID Index信息和END USID信息,参见图10和图11,可通过IGP(包括但不限于ISIS6、OSPFv3)协议扩展Sub TLV洪泛到A、C、D、E节点。
例如,B节点的INTB2为一个LAN接口,存在C和D两个邻居,则使用Index=1200表示INTB2配置的IPv6 prefix,function=1表示到节点C,function=2表示到节点D。
节点E的USID Index信息和END USID信息,参见图12、图13和图14,其中Index映射关系可通过IGP(包括但不限于ISIS6、OSPFv3)扩展Sub TLV洪泛,END.DT4 USID和END.DT6 USID可通过BGP(包括但不限于VPNv4、VPNv6、EVPN地址族等)协议扩展属性传递到BGP VPN peer A节点,并通过RT交叉匹配各VPN可获取对应的USID中function取值。
例如,节点E的INTE3为loopback接口,可作为与节点A建立BGP VPN peer的地址,节点A上查询VPN路由的下一跳就为INTE3的IPv6地址,使用Index=5300表示;节点E的VPN业务存在1K个VPNv4和1K个VPNv6,分别使用function取值1-1024和1025-2048表示。
按照上述协议发布过程,A-E各节点均可形成图15所示的Index映射关系表以便查询(图15中,仅列出了B和E节点的Index映射关系)。
如果需要从节点A发送IPv4-VPN2的流量,查询VPN2路由表目的地址的下一跳为E节点,而且VPN2流量需要经过B-C链路,则需要:
首先,查询映射关系表,节点E的loopback接口IPv6 prefix对应Index=5300,同时根据BGP扩展属性VPN2交叉匹配获取对应的function=2,组成第一个USID1=5300|2
然后,查询B-C链路的起点INTB2接口IPv6 prefix对应Index=1200,同时查询B-C链路对应的END.X SID function=1,组成第二个也是最后一个USID2=1200|1,Segment List中USID列表如图16所示。
需要说明的是,对draft-ietf-6man-segment-routing-header-26草案Segment Left(SL)的含义进行变更,每个Segment长度由IPv6地址固定的128bit变为USID基础长度32bit。
结合图9、图17-图19,携带SRv6 USID的数据报文转发过程如下:
1)节点A Segment List=<USID1=5300|2,USID2=1200|1>,其中USID2的Index=1200对应的IPv6 prefix=A202::/64,并将function=1填充到低位,形成IPv6目的地址A202::1进行转发,查询IPv6路由表转发到B;
2)节点B检查IPv6目的地址A202::1为自己,则对SL指向的USID2=1200|1进行处理,根据Index=1200查询对应的IPv6 prefix为INTB2接口,function=1为B-C链路,则将报文按照B-C链路转发,同时SL指向移动到USID1,并查询USID1的Index=5300对应的IPv6 prefix=A503::/64,并将function=2填充到低位,形成新的IPv6目的地址A503::2继续进行转发;
3)节点C检查IPv6目的地址A503::2不是自己,查询本节点IPv6路由表继续转发到节点E;
4)节点E检查IPv6目的地址A503::2是自己,则对SL指向的USID1=5300|2进行处理,根据Index=5300查询对应的IPv6 prefix为INTE3接口即建立BGP VPN peer的loopback接口,function=2为VPN2,同时由于SL=0已经指向第一个USID1,则需要整体弹出IPv6的SRH头部,将报文的payload部分按照VPN2的路由表继续进行转发。
参见图20,本公开实施例还提供一种节点,该节点2000为第一节点,该节点2000包括:
分配模块2001,用于为所述第一节点分配全局唯一的Index,可选地,根据第一节点的网络标识(例如IPv6 prefix)为所述第一节点分配全局唯一的Index;
第一发送模块2002,用于将所述第一节点的第一信息(或者称为第一节点的USID Index信息)和/或第一节点的第二信息(或者称为第一节点的USID信息),向网络中一个或多个第二节点发送;
其中,所述第一节点的第一信息包括:所述第一节点的网络标识和对应的第一节点的Index,所述第一节点的第二信息包括:所述第一节点的function和第一节点的Index。
在本公开实施例中,第一发送模块2002进一步用于通过控制协议向网络中一个或多个第二节点发送所述第一节点的第一信息(或者称为第一节点的USID Index信息)和/或第一节点的第二信息(或者称为第一节点的USID信息)。
在本公开实施例中,节点2000还包括:
第一接收模块,用于接收所述一个或多个第二节点的第三信息(或者称为第二节点的USID Index信息)和/或第二节点的第四信息(或者称为第二节点的USID信息);
其中,所述第二节点的第三信息包括:所述第二节点的网络标识(例如IPv6 prefix)和与其对应的第二节点的Index,所述第二节点的第四信息包括:所述第二节点的function和第二节点的Index;所述第二节点的Index是所述第二节点根据所述第二节点的网络标识(例如IPv6 prefix)分配的。
在本公开实施例中,节点2000还包括:
第一生成模块,用于根据报文途径节点的顺序以及第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息),生成Segment list,所述Segment list包括:所述报文途径的节点的USID信息;
封装模块,用于将所述Segment list封装到所述报文中。
在本公开实施例中,节点2000还包括:
确定模块,用于根据所述Segment list中的USID信息,确定所述第一节点的下一个节点的Index和function的取值;
第二生成模块,用于根据所述Index和function的取值,生成所述报文的头部中的目的地址;
第二发送模块,用于根据所述目的地址,将所述报文发送给所述第一节点的下一个节点。
在本公开实施例中,节点2000还包括:
第二接收模块,用于从所述第一节点的上一个节点接收所述报文;
第二确定模块,用于如果所述报文的头部中的目的地址与所述第一节点的网络标识(例如IPv6 prefix)匹配,则根据所述报文中的Segment list当前指向的USID信息中的function和Index,对所述报文进行处理的。
在本公开实施例中,节点2000还包括:
第三发送模块,用于如果所述报文的头部中的目的地址与所述第一节点的网络标识(例如IPv6 prefix)不匹配,则根据预设的路由规则,将所述报文发送给所述第一节点的下一个节点。
在本公开实施例中,所述第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息)还包括:指示信息,所述指示信息用于指示是否使用扩展方式的function。
在本公开实施例中,所述指示信息位于所述Index的字段最低预留位,或者所述function的字段最高预留位。
在本公开实施例中,所述第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息)中的Index还用于指示是否使用扩展方式的function。
本公开实施例提供的节点,可以执行上述图3所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
参见图21,本公开实施例还提供一种节点,该节点2100为第一节点,该节点2100包括:收发机2101和处理器2102;
所述处理器2102,用于为所述第一节点分配全局唯一的Index;
所述收发机2101,用于将所述第一节点的第一信息(或者称为第一节点的USID Index信息)和/或第一节点的第二信息(或者称为第一节点的USID信息),向网络中一个或多个第二节点发送;
其中,所述第一节点的第一信息包括:所述第一节点的网络标识(例如IPv6 prefix)和对应的第一节点的Index,所述第一节点的第二信息包括:所述第一节点的function和第一节点的Index。
在本公开实施例中,所述收发机2101,还用于接收所述一个或多个第二节点的第三信息(或者称为第二节点的USID Index信息)和/或第二节点的第四信息(或者称为第二节点的USID信息);
其中,所述第二节点的第三信息包括:所述第二节点的网络标识(例如IPv6 prefix)和对应的第二节点的Index,所述第二节点的第四信息包括:所述第二节点的function和第二节点的Index;所述Index是所述第二节点根据所述第二节点的网络标识(例如IPv6 prefix)分配的。
在本公开实施例中,所述处理器2102,还用于根据报文途径节点的顺序以及第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点 的USID信息),生成Segment list,所述Segment list包括:所述报文途径的节点的USID信息;
所述收发机2101,还用于将所述Segment list封装到所述报文中。
在本公开实施例中,所述处理器2102,还用于根据所述Segment list中的USID信息,确定所述第一节点的下一个节点的网络标识和Index;
所述处理器2102,还用于根据所述function的取值和Index,生成所述报文的头部中的目的地址;
所述收发机2101,还用于根据所述目的地址,将所述报文发送给所述第一节点的下一个节点。
在本公开实施例中,所述收发机2101,还用于从所述第一节点的上一个节点接收所述报文;
所述处理器2102,还用于如果所述报文的头部中的目的地址与所述第一节点的网络标识(例如IPv6 prefix)匹配,则根据所述报文中的Segment list当前指向的USID信息中的function和Index,对所述报文进行处理。
在本公开实施例中,所述收发机2101,还用于如果所述报文的头部中的目的地址与所述第一节点的网络标识(例如IPv6 prefix)不匹配,则根据预设的路由规则,将所述报文发送给所述第一节点的下一个节点。
在本公开实施例中,所述第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息)还包括:
指示信息,所述指示信息用于指示是否使用扩展方式的function。
在本公开实施例中,所述指示信息位于所述Index的字段最低预留位,或者所述function的字段最高预留位。
在本公开实施例中,所述第二信息和/或第四信息(或者称为第一节点的USID信息和/或第二节点的USID信息)中的Index还用于指示是否使用扩展方式的function。
本公开实施例提供的节点,可以执行上述图3所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
请参阅图22,图22是本公开实施例应用的通信设备的结构图,如图22所示,通信设备2200包括:处理器2201、收发机2202、存储器2203和总线 接口,其中:
在本公开的一个实施例中,通信设备2200还包括:存储在存储器上2203并可在处理器2201上运行的计算机程序,计算机程序被处理器2201执行时实现图3所示实施例中的步骤。
在图22中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器2201代表的一个或多个处理器和存储器2203代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机2202可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。
处理器2201负责管理总线架构和通常的处理,存储器2203可以存储处理器2201在执行操作时所使用的数据。
本公开实施例提供的通信设备,可以执行上述图3所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
结合本公开公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以由在处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、只读光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以携带在ASIC中。另外,该ASIC可以携带在核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本公开所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施方式而已,并不用于限定本公开的保护范围,凡在本公开的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本公开的保护范围之内。
本领域内的技术人员应明白,本公开实施例可提供为方法、系统、或计算机程序产品。因此,本公开实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开实施例是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,RAM)等。
可以理解的是,本公开实施例描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,模块、单元、子单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本公开所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本公开实施例所述功能的模块(例如过程、函数等)来实现本公开实施例所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
显然,本领域的技术人员可以对本公开实施例进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开实施例的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (14)

  1. 一种分段标识的处理方法,应用于第一节点,包括:
    为所述第一节点分配全局唯一的索引Index;
    将所述第一节点的第一信息和/或第二信息,向网络中一个或多个第二节点发送;
    其中,所述第一节点的第一信息包括:所述第一节点的网络标识和对应的第一节点的Index,所述第一节点的第二信息包括:所述第一节点的function的取值和所述第一节点的Index。
  2. 根据权利要求1所述的方法,其中,将所述第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送,包括:
    通过控制协议向网络中一个或多个第二节点发送所述第一节点的第一信息和/或第一节点的第二信息。
  3. 根据权利要求1所述的方法,还包括:
    接收所述一个或多个第二节点的第三信息和/或第二节点的第四信息;
    其中,所述第二节点的第三信息包括:所述第二节点的网络标识和对应的第二节点的Index,所述第二节点的第四信息包括:所述第二节点的function的取值和所述第二节点的Index。
  4. 根据权利要求1或3所述的方法,还包括:
    根据报文途径节点的顺序以及所述第二信息和/或第四信息,生成段列表Segment list,所述Segment list包括:所述报文途径节点的统一分段标识USID信息,所述USID信息包括:function的取值和Index;
    将所述Segment list封装到所述报文中。
  5. 根据权利要求4所述的方法,还包括:
    根据所述Segment list中的USID信息,确定所述第一节点的下一个节点的Index和function的取值;
    根据所述Index和function的取值,生成所述报文的头部中的目的地址;
    根据所述目的地址,将所述报文发送给所述第一节点的下一个节点。
  6. 根据权利要求1或4所述的方法,还包括:
    从所述第一节点的上一个节点接收报文;
    如果所述报文的头部中的目的地址与所述第一节点的网络标识匹配,则根据所述报文中的Segment list当前指向的USID信息中的function的取值和Index,对所述报文进行处理。
  7. 根据权利要求6所述的方法,还包括:
    如果所述报文的头部中的目的地址与所述第一节点的网络标识不匹配,则根据预设的路由规则,将所述报文发送给所述第一节点的下一个节点。
  8. 根据权利要求1~7中任一项所述的方法,其中,所述第二信息和/或第四信息还包括:
    指示信息,所述指示信息用于指示是否使用扩展方式的function。
  9. 根据权利要求8所述的方法,其中,所述指示信息位于所述Index的字段中的预留位,或者所述function的字段中的预留位。
  10. 根据权利要求1~7中任一项所述的方法,其中,所述第二信息和/或第四信息中的Index还用于指示是否使用扩展方式的function。
  11. 一种节点,所述节点为第一节点,包括:
    分配模块,用于为所述第一节点分配全局唯一的Index;
    第一发送模块,用于将所述第一节点的USID Index信息和/或第一节点的USID信息,向网络中一个或多个第二节点发送;
    其中,所述第一节点的第一信息包括:所述第一节点的网络标识和对应的所述第一节点的Index,所述第一节点的第二信息包括:所述第一节点的function的取值和所述第一节点的Index。
  12. 一种节点,所述节点为第一节点,包括:收发机和处理器;
    所述处理器,用于为所述第一节点分配全局唯一的Index;
    所述收发机,用于将所述第一节点的第一信息和/或第一节点的第二信息,向网络中一个或多个第二节点发送;
    其中,所述第一节点的第一信息包括:所述第一节点的网络标识和对应的第一节点的Index,所述第一节点的第二信息包括:所述第一节点的function的取值和所述第一节点的Index。
  13. 一种通信设备,包括:处理器、存储器及存储在所述存储器上并可 在所述处理器上运行的程序,所述程序被所述处理器执行时实现包括如权利要求1至10中任一项所述的分段标识的处理方法的步骤。
  14. 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现包括如权利要求1至10中任一项所述的分段标识的处理方法的步骤。
PCT/CN2021/073952 2020-01-31 2021-01-27 分段标识的处理方法及设备 WO2021151381A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP21748366.8A EP4099648A4 (en) 2020-01-31 2021-01-27 METHOD FOR PROCESSING SEGMENT ID AND APPARATUS

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010077720.3 2020-01-31
CN202010077720.3A CN113206787B (zh) 2020-01-31 2020-01-31 分段标识的处理方法及设备

Publications (1)

Publication Number Publication Date
WO2021151381A1 true WO2021151381A1 (zh) 2021-08-05

Family

ID=77024791

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/073952 WO2021151381A1 (zh) 2020-01-31 2021-01-27 分段标识的处理方法及设备

Country Status (3)

Country Link
EP (1) EP4099648A4 (zh)
CN (1) CN113206787B (zh)
WO (1) WO2021151381A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709031A (zh) * 2021-08-30 2021-11-26 烽火通信科技股份有限公司 一种约束路由传输分发的方法和装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765794B (zh) * 2021-09-30 2022-11-25 新华三信息安全技术有限公司 数据发送的方法、装置、电子设备及介质
CN114338498B (zh) * 2021-12-28 2024-04-09 中国电信股份有限公司 基于SRv6的报文处理方法、系统、电子设备及介质
CN117118884A (zh) * 2022-05-16 2023-11-24 中国移动通信有限公司研究院 SRv6报文处理方法、装置、节点及控制设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049350A (zh) * 2014-04-17 2015-11-11 思科技术公司 分段路由-出口对等工程(sp-epe)
CN105075194A (zh) * 2013-03-11 2015-11-18 思科技术公司 有索引的段id
CN108259341A (zh) * 2017-12-06 2018-07-06 新华三技术有限公司 一种前缀标签分配方法和sdn控制器
US20190020738A1 (en) * 2017-07-12 2019-01-17 Juniper Networks, Inc. Segment routing label switched path for non-segment routing enabled routers
CN110086712A (zh) * 2019-05-13 2019-08-02 何梓菁 一种基于sr-te隧道的链路保护方法和本地修复节点
CN110460507A (zh) * 2019-09-11 2019-11-15 赛尔网络有限公司 业务承载方法、装置
CN110611616A (zh) * 2019-09-18 2019-12-24 下一代互联网重大应用技术(北京)工程研究中心有限公司 一种基于Radius服务器的流量调度方法、系统、设备和介质
CN111628995A (zh) * 2020-05-26 2020-09-04 新华三信息安全技术有限公司 基于SRv6的SID压缩方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450437B (zh) * 2014-09-19 2020-03-06 中兴通讯股份有限公司 一种分配sid的方法和sr节点
CN105871722B (zh) * 2015-01-19 2020-02-14 中兴通讯股份有限公司 标签构造以及标签报文转发方法及装置
US10270691B2 (en) * 2016-02-29 2019-04-23 Cisco Technology, Inc. System and method for dataplane-signaled packet capture in a segment routing environment
US10880203B2 (en) * 2017-06-12 2020-12-29 Cisco Technology, Inc. Centralized segment routing dataplane based backup path validation
KR102315401B1 (ko) * 2017-07-14 2021-10-19 후아웨이 테크놀러지 컴퍼니 리미티드 Ipv6 터널에 대한 세그먼트 라우팅을 구축하기 위한 방법
CN114598642A (zh) * 2018-06-25 2022-06-07 华为技术有限公司 发送网络性能参数、计算网络性能的方法和网络节点
CN109688057B (zh) * 2018-12-13 2021-08-24 Ut斯达康通讯有限公司 基于ipv6的段路由网络的报文转发方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105075194A (zh) * 2013-03-11 2015-11-18 思科技术公司 有索引的段id
CN105049350A (zh) * 2014-04-17 2015-11-11 思科技术公司 分段路由-出口对等工程(sp-epe)
US20190020738A1 (en) * 2017-07-12 2019-01-17 Juniper Networks, Inc. Segment routing label switched path for non-segment routing enabled routers
CN108259341A (zh) * 2017-12-06 2018-07-06 新华三技术有限公司 一种前缀标签分配方法和sdn控制器
CN110086712A (zh) * 2019-05-13 2019-08-02 何梓菁 一种基于sr-te隧道的链路保护方法和本地修复节点
CN110460507A (zh) * 2019-09-11 2019-11-15 赛尔网络有限公司 业务承载方法、装置
CN110611616A (zh) * 2019-09-18 2019-12-24 下一代互联网重大应用技术(北京)工程研究中心有限公司 一种基于Radius服务器的流量调度方法、系统、设备和介质
CN111628995A (zh) * 2020-05-26 2020-09-04 新华三信息安全技术有限公司 基于SRv6的SID压缩方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C. FILSFILS, ED. P. CAMARILLO, ED. CISCO SYSTEMS, INC. D. CAI ALIBABA D. VOYER BELL CANADA I. MEILIK BROADCOM K. PATEL ARRCUS, INC: "Network Programming extension: SRv6 uSID instruction; draft-filsfils-spring-net-pgm-extension-srv6-usid-07.txt", NETWORK PROGRAMMING EXTENSION: SRV6 USID INSTRUCTION; DRAFT-FILSFILS-SPRING-NET-PGM-EXTENSION-SRV6-USID-07.TXT; INTERNET-DRAFT: SPRING, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 , no. 07, 19 May 2020 (2020-05-19), Internet Society (ISOC) 4, rue des Falaises CH- 1205 Geneva, Switzerland, pages 1 - 21, XP015139644 *
See also references of EP4099648A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709031A (zh) * 2021-08-30 2021-11-26 烽火通信科技股份有限公司 一种约束路由传输分发的方法和装置

Also Published As

Publication number Publication date
CN113206787B (zh) 2022-11-15
EP4099648A1 (en) 2022-12-07
CN113206787A (zh) 2021-08-03
EP4099648A4 (en) 2024-01-24

Similar Documents

Publication Publication Date Title
WO2021155759A1 (zh) 分段标识的处理方法及设备
US11824771B2 (en) Packet processing method, related device, and computer storage medium
CN111541613B (zh) 一种基于SRv6的数据处理方法及相关设备
WO2021151381A1 (zh) 分段标识的处理方法及设备
US11658847B2 (en) Packet communications providing packet processing efficiencies in a network including using a segment routing and tunnel exchange
EP3127286B1 (en) Handling of traffic flows in a communications system
WO2021213507A1 (zh) 数据包处理的方法及设备
CN111988266B (zh) 一种处理报文的方法
US20220263751A1 (en) Packet Processing Method, Apparatus, and System
CN114128227B (zh) 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
WO2021043232A1 (zh) 主机网络性能需求可编程化的方法、设备和系统
US20230086487A1 (en) Method for Determining Processing Capability, Node, and System
WO2022222750A1 (zh) 报文转发方法、装置、网络设备及存储介质
WO2022170944A1 (zh) 报文转发方法、装置及系统
CN113630316B (zh) 一种数据传输方法及通信装置
CN111464443B (zh) 基于服务功能链的报文转发方法、装置、设备及存储介质
CN115348202A (zh) 基于网络切片的数据传输方法、装置、设备及存储介质
WO2023134631A1 (zh) 数据包处理方法、装置及网络设备
CN115733786A (zh) 路由和云资源注册方法及装置、存储介质和电子装置
WO2023246118A1 (zh) 报文的转发方法、装置、存储介质及电子装置
WO2022105625A1 (zh) 报文转发的方法、装置、通信设备及可读存储介质
WO2024002101A1 (zh) 报文传输方法、装置、相关设备及存储介质
US20240283738A1 (en) Packet Processing Method, Apparatus, and System
WO2023185235A1 (zh) 报文转发方法、装置及系统
WO2024007640A1 (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: 21748366

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021748366

Country of ref document: EP

Effective date: 20220831