CN111541613A - Data processing method based on SRv6 and related equipment - Google Patents

Data processing method based on SRv6 and related equipment Download PDF

Info

Publication number
CN111541613A
CN111541613A CN202010346913.4A CN202010346913A CN111541613A CN 111541613 A CN111541613 A CN 111541613A CN 202010346913 A CN202010346913 A CN 202010346913A CN 111541613 A CN111541613 A CN 111541613A
Authority
CN
China
Prior art keywords
path
network
identifier
network device
srv6
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010346913.4A
Other languages
Chinese (zh)
Other versions
CN111541613B (en
Inventor
詹双平
成剑
冯景斌
崔春来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
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 Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202010346913.4A priority Critical patent/CN111541613B/en
Publication of CN111541613A publication Critical patent/CN111541613A/en
Application granted granted Critical
Publication of CN111541613B publication Critical patent/CN111541613B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • 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]

Landscapes

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

Abstract

The application provides a data processing method based on SRv6 and related equipment, which can reduce the overhead of SRv6 messages. The method comprises the following steps: the controller generates a segment identifier, wherein the segment identifier comprises position information, an instruction and a path identifier, and the path identifier is used for indicating SRv6 a forwarding path of the message between network devices in the SR network; and the controller sends the segment identifier to a network device, so that the network device forwards the SRv6 message according to the segment identifier.

Description

Data processing method based on SRv6 and related equipment
Technical Field
The present application relates to the field of communications, and in particular, to a data processing method based on SRv6 and a related device.
Background
Segment Routing (SR) is a source Routing technique. SRv6 means that the SR technology is applied to Internet Protocol Version 6 (Internet Protocol Version 6, IPv6), so that the unification of Internet Protocol (IP) forwarding and tunnel forwarding is achieved, the flexibility and the powerful programmability of IPv6 are provided, and a powerful support is provided for the application of future intelligent IP network slices, service chains, and the like, which is a basis for the establishment of an intelligent IP network in the fifth generation mobile communication technology (5 generation mobile networks, 5G) and the cloud era.
The SR usually uses Segment List to specify the transmission path of traffic in the network, that is, Segment IDs (SID) of nodes or links that need to be constrained are all carried in SRv6 messages to instruct SRv6 messages to forward one by one, so as to meet the requirement of explicit path. However, the overhead of this method is very large, the length of one SID is 128 bits (i.e. 16 bytes), if 10 hops are constrained, the overhead of 160 bytes is required, and the overhead is too large, which not only reduces the service carrying efficiency, but also may cause the forwarding chip to be unable to complete reading in one cycle due to the long SRv6 header, and require two cycles to perform reading, thereby reducing the throughput by half. In addition, the SID forming the Segment list only has the identifier of a node or a link, and lacks a service-level identifier, which makes it difficult to implement service-level resource reservation on a path.
Disclosure of Invention
The application provides a data processing method based on SRv6 and related equipment, which can reduce the cost of SRv6 messages and realize resource reservation.
The application in a first aspect provides an SRv 6-based data processing method, which includes:
the controller generates a segment identifier, wherein the segment identifier comprises position information, an instruction and a path identifier, and the path identifier is used for indicating SRv6 a forwarding path of the message between network devices in the SR network;
and the controller sends the segment identifier to a network device, so that the network device forwards the SRv6 message according to the segment identifier.
Optionally, the controller generating the segment identification comprises:
the controller acquires policy information;
the controller generates the segment identifier according to the policy information.
Optionally, the controller sending the segment identifier to a network device includes:
determining a first reserved resource and a first display path corresponding to the path identifier;
determining N network devices in the SR network corresponding to the first explicit path;
and respectively sending the first reserved resource to each network device in the N network devices.
Optionally, the controller sending the segment identifier to a network device includes:
determining a first network device, wherein the first network device is one network device in the SR network;
determining attribute information of the path identifier, wherein the attribute information of the path identifier indicates a second display path, a last network device in the second display path, and a second resource reservation corresponding to the second display path;
sending attribute information of the path identifier to the first network device, so that the first network device floods the segment identifier in the SR network.
The second aspect of the present application provides an SRv 6-based data processing method, including:
the method comprises the steps that network equipment receives segment identification, wherein the segment identification comprises position information, instructions and path identification, and the path identification is used for indicating SRv6 forwarding paths of messages among the network equipment in the SR network;
the network device forwards the SRv6 message based on the segment identification.
Optionally, the method further comprises:
the network equipment receives attribute information of the path identifier, wherein the attribute information of the path identifier indicates a display path, the last network equipment in the display path and resource reservation corresponding to the display path;
and the network equipment floods the attribute information of the path identifier in the SR network so that all network equipment on the explicit path acquires the attribute information of the path identifier.
Optionally, the forwarding, by the network device, the SRv6 packet based on the segment identifier includes:
the network equipment determines second network equipment according to the attribute information of the path identifier;
and the network equipment sends the SRv6 message to the second network equipment.
A third aspect of the present application provides a controller comprising:
a generating unit, configured to generate a segment identifier, where the segment identifier includes location information, an instruction, and a path identifier, and the path identifier is used to indicate SRv6 a forwarding path of the packet between network devices in the SR network;
a sending unit, configured to send the segment identifier to a network device, so that the network device forwards the SRv6 packet according to the segment identifier.
Optionally, the generating unit is specifically configured to:
the controller acquires policy information;
the controller generates the segment identifier according to the policy information.
Optionally, the sending unit is specifically configured to:
determining a first reserved resource and a first display path corresponding to the path identifier;
determining N network devices in the SR network corresponding to the first explicit path;
and respectively sending the first reserved resource to each network device in the N network devices.
Optionally, the sending unit is further specifically configured to:
determining first network equipment, wherein the first network equipment is any one network equipment in the SR network;
determining attribute information of the path identifier, wherein the attribute information of the path identifier indicates a display path, a last network device in the display path and resource reservation corresponding to the display path;
sending attribute information of the path identifier to the first network device, so that the first network device floods the segment identifier in the SR network.
A fourth aspect of the present application provides a network device, comprising:
a receiving unit, configured to receive a segment identifier, where the segment identifier includes location information, an instruction, and a path identifier, and the path identifier is used to indicate SRv6 a forwarding path of a packet between network devices in an SR network;
a sending unit, configured to forward the SRv6 packet based on the segment identifier.
Optionally, the receiving unit is further configured to receive attribute information of the path identifier, where the attribute information of the path identifier indicates a display path, a last network device in the display path, and a resource reservation corresponding to the display path;
the network device further includes: and the processing unit is used for flooding the attribute information of the path identifier in the SR network so that all network equipment on the explicit path acquires the attribute information of the path identifier.
Optionally, the sending unit is specifically configured to:
determining the second network device according to the attribute information of the path identifier, wherein the second network is set as an intermediate network device on the explicit path, and the intermediate network device comprises a network device located between a first network device on the explicit path and a last network device on the explicit path;
and sending the SRv6 message to the second network equipment.
A fifth aspect of the present application provides a computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method as in any one of the optional embodiments of the first and second aspects of the present application.
A sixth aspect of the present application provides a computer program product which, when run on a computer, causes the computer to perform the method as in any of the alternative embodiments of the first and second aspects of the present application.
According to the technical scheme, the embodiment of the application has the following advantages:
in the embodiment provided by the application, by expanding an SRv6SID structure, a path identifier is introduced into a SRv6SID, and a path forwarding node in an SR network forwards a SRv6 message according to an explicit path according to the path identifier, and performs resource reservation, so that compared with the current scheme that the explicit path is implemented by a segment list in SRv6, the cost of SRv6 messages is greatly reduced.
Drawings
Fig. 1 is a schematic structural diagram of a SID provided in an embodiment of the present application;
fig. 2 is a schematic structural diagram of an SR network according to an embodiment of the present application;
FIG. 3 is a schematic flow chart of a data processing method based on SRv6 according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an extended SID provided in an embodiment of the present application;
fig. 5 is another schematic structural diagram of an SR network according to an embodiment of the present application;
fig. 6 is another schematic structural diagram of an SR network according to an embodiment of the present application;
fig. 7 is another schematic structural diagram of an SR network according to an embodiment of the present application;
fig. 8 is another schematic flow chart of an SRv 6-based data processing method according to an embodiment of the present application;
fig. 9 is a schematic diagram of a scenario of a data processing method based on SRv6 according to an embodiment of the present application;
fig. 10 is a schematic view of another scenario of an SRv 6-based data processing method according to an embodiment of the present application;
fig. 11 is a schematic view of another scenario of an SRv 6-based data processing method according to an embodiment of the present application;
fig. 12 is a schematic view of another scenario of an SRv 6-based data processing method according to an embodiment of the present application;
fig. 13 is a schematic view of a virtual structure of a controller according to an embodiment of the present application;
fig. 14 is a schematic view of a virtual structure of a network device according to an embodiment of the present application;
fig. 15 is a schematic hardware structure diagram of a controller according to an embodiment of the present application;
fig. 16 is a schematic hardware structure diagram of a network device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments.
The terms "first," "second," and the like in the description and in the claims of the present application and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be practiced otherwise than as specifically illustrated or described herein. Furthermore, the terms "comprise," "include," and "have," and any variations thereof, are intended to cover non-exclusive inclusions, such that a process, method, system, article, or apparatus that comprises a list of steps or modules is not necessarily limited to those steps or modules expressly listed, but may include other steps or modules not expressly listed or inherent to such process, method, article, or apparatus, the division of modules presented herein is merely a logical division that may be implemented in a practical application in a further manner, such that a plurality of modules may be combined or integrated into another system, or some feature vectors may be omitted, or not implemented, and such that couplings or direct couplings or communicative coupling between each other as shown or discussed may be through some interfaces, indirect couplings or communicative coupling between modules may be electrical or other similar, this application is not intended to be limiting. The modules or sub-modules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed in a plurality of circuit modules, and some or all of the modules may be selected according to actual needs to achieve the purpose of the present disclosure.
The SR technology can specify the node and path through which SRv6 packets carrying SID lists pass, thereby satisfying the traffic optimization requirement. SRv6 is a protocol for forwarding IPv6 data packets on the network designed based on the concept of source Routing, based on SRv6 of IPv6 forwarding plane, through inserting a Routing extension Header (SRH) in SRv6 message, pressing an explicit IPv6 address stack (which may include multiple SIDs) in SRH, and through the continuous operation of updating the destination address and offset address stack by the intermediate node, completing hop-by-hop forwarding. For example, the IPv6 address stack includes SID1, SID2, SID3, SRv6 packets, which are first forwarded to the node corresponding to SID1, then forwarded to the node corresponding to SID2, and then forwarded to the node corresponding to SID 3. The way to forward to SID1 is determined based on the shortest path.
The following introduces a concept related to the SRv6 technique:
SRH: the SRv6 message consists of an IPv6 standard header + an extended header (0.. n) + a Payload (Payload). To implement SRv6, an IPv6 extension header, called SRH, is newly added, which specifies an explicit path for IPv6, storing Segment List (Segment List) information for IPv 6. The head node adds an SRH in the IPv6SRv6 message, and the intermediate node can forward the message according to the path information contained in the SRH.
SID: SRv6 Segment is a 128-bit binary value, which may also be referred to generally as SRv6SID or SID. A SID is an instantiated IPv6 address, such IPv6 addresses are assigned unique functions, and a SRv6SID may represent a node or link, or a slice, or a service. It can be said that any network function can be defined by the SID.
SRv6 use SRv6 Segment as the instruction for network programming. The SRv6 Segment identifier is referred to as SRv6SID or SID. The SRv6SID is a 128-bit value, and each SRv6SID is a network command, which is generally composed of two parts: location information (Locator) and command (Function/Argu), as shown in fig. 1, refer to fig. 1, and fig. 1 is a schematic diagram of SID components provided in the present embodiment:
locator is an identifier assigned to a network node for routing and forwarding packets. In SRv6SID Locator is a variable length section used to adapt to different size networks. The Locator has global properties, i.e., globally visible, globally valid, and globally unique. The Locator needs to be spread all over the network, and all nodes in the SR network have the same meaning for the Locator of the same network node.
The functions are used to express the forwarding actions to be performed by the instructions, and in SRv6 network programming, different forwarding behaviors are expressed by different functions. Argu is a parameter required by an instruction when the instruction is executed, and is an optional part, and most functions do not need to carry Argu. The Function/Argu field is also variable in length, and if the Locator field is X bits long, the Function/Argu field is (128-X) bits long. Both Function and Argu have local attributes, and only need to be locally valid and locally unique. The Locator and Function form a complete 128bit SRv6SID to represent specific network functions, such as End, end.x, end.dt4, etc., and The Internet Engineering Task Force (IETF) currently defines various network Function commands, which can implement flexible network programming.
Each node will advertise the Locator information in the whole network by an Interior Gateway Protocol (IGP) in a route prefix mode, and other nodes will calculate and generate route items to reach the destination prefix according to the topology, so as to ensure the accessibility of all nodes. Meanwhile, each node can also advertise the local SID instruction in the whole network through IGP, but other nodes in the SR network can obtain the advertisement of the SID, but do not generate forwarding table entries and are only used for knowing the network programming capability supported by other nodes in the network.
Explicit path (Explicit Route): in order to ensure that the network quality of the service is stable and not influenced by the change of the network topology, the deterministic service needs to provide an explicit path and restrict the route of the SRv6 message to prevent the influence of route vibration or other factors on the service;
resource reservation (Resource Reserved): in the current statistical multiplexing network, congestion is an important reason for uncertain packet network delay and packet loss. Deterministic traffic requires resource reservation for nodes along the path, and can guarantee traffic bandwidth even when the network is congested.
Referring to fig. 2, fig. 2 is a schematic structural diagram of an SRv6 network according to an embodiment of the present disclosure, which includes 6 nodes, nodes 1 to 6, two Customer Edge devices (CEs), a CE1, and a CE2, where a Locator is 64 bits long, and a Function/Argu is also 64 bits long. Node k identifies Ak:/64 as its Locator and advertises in the SR network through IGP, and all nodes will generate routing table entries to other nodes. All nodes use functional 0:0:0:1 as End instructions, and after being combined with Locator, the End Function SID of the node k is Ak:: 1/128. The End Function is the most basic Function in SRv6, and corresponds to the Node SID. Meanwhile, because the nodes 1 and 4 are connected with CE equipment, the functions id 0:0:0:88 is configured as an end.DT4 instruction to represent the L3 Virtual Private Network (VPN) of the user 88, and the end.DT4 SIDs of the nodes 1 and 4 are respectively A1::88/128 and A4::88/128, and each node can issue the local SID to the forwarding table. FIB @ Node1 is a forwarding entry of Node1, FIB @ Node2 is a forwarding entry of Node2, and so on, FIB @ Node6 is a forwarding entry of Node6, the forwarding table of each Node includes two parts, namely a routing entry 201 and an SID entry 202, the routing entry 201 includes routing information of all nodes in the network, and the SID entry 202 only includes local SID information.
However, the main reason why the SR network is difficult to implement traffic engineering at present is that the SRv6SID only contains information of a node (Locator) and a network Function (Function), and lacks path information of a service. In view of this, in the present application, by extending the SID structure, a path identifier is introduced into the SID, and the path forwarding node implements explicit path forwarding and resource reservation according to the path identifier, which greatly reduces SRv6 message overhead compared with the current SRv6 scheme that implements an explicit path by segment list, and meanwhile, the path id can also be used as a service identifier, thereby solving the problem that service-level resource reservation cannot be performed due to SR without service state.
Referring to fig. 3, fig. 3 is a schematic flowchart of a data processing method based on SRv6 according to an embodiment of the present application, including:
301. the controller generates a segment identification.
In this embodiment, the controller may generate a segment identifier, where the segment identifier, that is, the SID includes location information (locator), an instruction (Function), and a path identifier, and the path identifier is used to indicate SRv6 a forwarding path of the packet between network devices in the SR network.
In one embodiment, the controller generating the segment identification comprises:
the controller acquires strategy information;
the controller generates segment identifiers according to the policy information.
In this embodiment, the controller may first obtain policy information, for example, SRv6 messages need to be transmitted in a node with a large bandwidth, or SRv6 messages need to be transmitted in a node with a low delay, generate an identification list according to the policy information, for example, it needs to be ensured that in a SRv6 message transmission process, SRv6 messages are forwarded with the lowest delay in an SR network, then obtain transmission delays of the nodes, then select a node with the smallest transmission delay to form an explicit path, and generate an SID corresponding to the explicit path.
With reference to fig. 4, fig. 4 is a schematic diagram of the extended SID provided in this embodiment of the present application, including location information (Locator), instruction (Function), and Path identifier, where, in order to be compatible with the ordinary SRv6 node, the length of the location information (Locator) is generally kept unchanged, the Path field may be extended from the original Function field, and if the length of the Path field of Y bit is extended, the length of the Function/argu field is correspondingly changed to (128-X-Y) bit.
Unlike the global attribute of the location information (locator) and the local attribute of the instruction (Function), the scope of the path identifier (path) is between the two, and is valid only for nodes along the display path. Similarly, similar to assigning a Locator id to a node, a separate Path id is assigned to an explicit Path, and each node on the explicit Path combines a destination node (e.g., node 4 in fig. 2) of the Path and the Path id together to generate a Path forwarding entry, which means that the explicit Path indicated by the Path reaches the destination node indicated by the Locator. The Path id is 0 and is used for reservation, which represents an unconstrained Path, i.e. forwarding according to a normal Locator route.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an SRv6 network for extending a SID provided in this embodiment of the present application, and with respect to the SID in the SRv6 network in fig. 2, a Path entry 501 is added to the SID shown in fig. 5, and with a Path field length of 16 bits and a Locator field length of 64 bits, a function field is compressed to 48 bits, and other configurations are illustrated as examples shown in fig. 2, it is assumed that a controller deploys an explicit Path 502 from a node1 to a node 4, and 1- >3- >5- >4, and assigns a Path identifier to the explicit Path 502: if the path id is 100, it is shown that each node (node 1, node 3, node 5, and node 4) in the path 502 needs to generate a forwarding entry of a4::100:0:0:0/80, which indicates that the node 4 is reached along the path with the path id of 100. Other nodes that are not on the path, such as node2 and node6, do not need to generate this entry.
It should be noted that SRv6 uses an IP address as a forwarding plane encapsulation format, and according to the basic characteristic of longest matching forwarding of an IP address, because the table entry mask of Locator + path is longer, SRv6 packets carrying path identifiers can be preferentially matched with the forwarding table entries of Locator + path according to the longest matching principle to implement forwarding according to an explicit path, and SRv6 packets not carrying path information can be forwarded by being matched with a common Locator table entry. As shown in FIG. 5, the forwarding table entry has two entries, namely, A4:/64 route and A4::100:0:0:0/80Path entry, and the next hop is node2 and node 3, respectively. If the received SRv6 message carries path information, the path table entry matching A4: 100:0:0:0/80 is forwarded to the node 3; if the received SRv6 message does not carry path information, the routing table entry matching A4:/64 is forwarded to node 2.
In addition, the explicit path constructed by the method naturally supports protection and convergence, taking fig. 5 as an example, if the link between the node 5 and the node 3 fails, the entry a4::100:0:0:0/80 fails due to the unreachable next hop, the SRv6 message carrying the path information can still match the routing entry a4:: 64 to continue forwarding, and a4:: 64 is automatically generated by the IGP protocol and has the TILFA FRR and convergence capability. The explicit path itself constructed by the extended path can have high reliability without additional protection mechanisms. According to the principle of IP longest match, the SID of the expanded Path field has no change to the forwarding plane of the current SRv6 network, and can realize seamless fusion with the ordinary SRv6 node hybrid networking.
302. The controller sends the segment identification to the network device so that the network device forwards SRv6 the message according to the segment identification.
In this embodiment, after the controller generates the segment identifier, the controller may send the segment identifier to the network device in the SR network, so that the network device forwards SRv6 the message according to the segment identifier.
It should be noted that, there are two ways to issue the segment identifier: centralized and distributed, as explained below:
1. centralized type;
the controller sending the segment identification to the network device comprises:
determining a first display path and first reserved resources corresponding to the path identifier;
determining N network devices corresponding to a first explicit path in the SR network;
and respectively transmitting the first reserved resource to each network device in the N network devices.
In this embodiment, first, a first display Path and a first reserved resource corresponding to a Path identifier are determined, N Network devices corresponding to the first display Path are determined, the first reserved resource is sent to each of the N Network devices, the first reserved resource corresponding to the Path identifier is issued point by point to a relevant Network device corresponding to an explicit Path by means of centralized control (where the first resource reservation includes, but is not limited to, a reserved cache and a reserved bandwidth, it is understood that, while the reserved resource corresponding to the Path identifier is issued in a centralized manner, other information corresponding to the Path identifier may also be issued, specifically, without limitation), the southbound interface used is not limited, and may be a Network Configuration Protocol (netbook Configuration Protocol, Netconf), a Path Computation Element communication Protocol (PCEP), or a Border Gateway Protocol (Border Gateway Protocol, BGP), etc. The controller completes explicit path calculation, allocates path id for the explicit path, and issues the combination of the allocated path id and the destination locator to each network device corresponding to the explicit path. As shown in fig. 6, after completing the calculation of the explicit path 602 of 1- >3- >5- >4, the controller 601 generates an extended SID, issues the SID to a node corresponding to the explicit path, such as node1, node 3, node 5, and node 4, and each node writes a table and reserves a corresponding resource, such as a specific queue, a guaranteed bandwidth, a reserved cache, and even an exclusive Network Processor (NPU) Core, according to information issued by the controller 601. The controller need not issue path identifiers to the nodes unrelated to the explicit path, such as nodes 2 and 6 in fig. 6.
2. Distributing and issuing;
the controller sending the segment identification to the network device comprises:
determining first network equipment, wherein the first network equipment is any one network equipment in an SR network;
determining attribute information of a path identifier, wherein the attribute information of the path identifier indicates a second display path, a last network device in the second display path and a second resource reservation corresponding to the second display path;
and sending the attribute information of the path identifier to the first network equipment so that the first network equipment can flood the attribute information of the path identifier in the SR network.
In this embodiment, after the controller obtains the path identifier, it only needs to send the attribute information of the path identifier to any node in the SR network, and the node floods in the SR network through the IGP, and the other nodes complete the installation of the forwarding table entry according to the information of the IGP flooding. The following is described in detail with reference to fig. 7:
after generating the segment identifier, the controller 701 may issue attribute information of the path identifier of the segment identifier to the first network device 703 through a southbound interface, where the southbound interface is not limited and may be Netconf, PCEP, BGP, or the like, after receiving attribute information of the path identifier (the attribute information indicates a second display path, a last network device in the second display path, and a second resource reservation corresponding to the second display path, and the second resource reservation includes but is not limited to a reserved buffer and a reserved bandwidth), the first network device 703 floods the attribute information of the path identifier in the SR network through an IGP, after receiving attribute information of the path identifier flooded by the first network device, first determining whether the path function is supported and the path identifier is on the explicit path, if so, ignoring, if so, according to the explicit path (the attribute information of the path identifier is as shown as 702 in fig. 7, including destination Locator ═ a4: : /64, Path id 100, explicit Path: 1- >5- >3- >4, resource reservation: bandwidth, cache, etc.) to generate a forwarding table entry. The match field is locator + path, and the mask length is the sum of the length of locator and the length of the path field. The next hop is the information indicated in the explicit path. If the node 5 receives the flooding message, it knows that the next hop to the destination node is node 3 according to the information indicated by 1- >5- >3- >4, instead of node2 calculated according to the IGP shortest path, then an entry of a4: 100:0:0:0/80 is generated, where the next hop is node 3. Meanwhile, resource reservation, such as bandwidth guarantee, cache, etc., is performed according to the information carried in the control plane SRv6 message.
In summary, it can be seen that, in the embodiment provided by the present application, a path identifier is introduced into the SRv6SID by extending the SRv6SID structure, and a path forwarding node in the SR network forwards a SRv6 packet according to an explicit path according to the path identifier, and performs resource reservation, so that compared with the current scheme in which the SRv6 implements the explicit path through segment list, the cost of SRv6 packets is greatly reduced.
The SRv 6-based data processing method provided by the embodiment of the present application is described above from the perspective of a controller, and the SRv 6-based data processing method provided by the embodiment of the present application is described below from the perspective of a first network device, please refer to fig. 8, where fig. 8 is another schematic flow chart of the SRv 6-based data processing method provided by the embodiment of the present application, and includes:
801. the first network device receives a segment identification.
In this embodiment, the first network device may receive a segment identifier, where the segment identifier includes location information, an instruction, and a path identifier, and the path identifier is used to indicate SRv6 a forwarding path of the packet between network devices in the SR network.
It should be noted that the segment identifier may be generated by the controller, and the segment identifier is sent to the first network device, and the above-mentioned manner of generating the segment identifier is described in detail, and details are not repeated here. It can be understood that, when issuing the segment identifier, the controller sends the segment identifier to each network device corresponding to the display path separately, and sends the segment identifier to any one of the network devices in the SR network.
It can be understood that, when sending the segment identifier to any one of the network devices in the SR network, first determining attribute information of a path identifier in the segment identifier, where the attribute information indicates a display path, a resource reservation corresponding to the display path, and a last network device in the display path, and then flooding the attribute information of the path identifier in the SR network, so that all the network devices on the display path obtain the attribute information of the path identifier, and all the network devices on the display path generate corresponding forwarding entries according to the attribute information of the path identifier.
It should be noted that, when the first network device floods the segment identifier in the SR, all network devices in the SR network may receive the segment identifier, and then each network device performs a respective determination to determine whether to support the path function and determine whether to be in the display path, and if so, generates a forwarding table entry according to the segment identifier.
802. The first network device forwards SRv6 the message based on the segment identification.
In this embodiment, after receiving the segment identifier, the first network device may determine, according to the attribute information of the path identifier, a second network device, where the second network device is an intermediate network device on the display path, and the intermediate network device includes at least one network device located between the first network device on the display path and the last network device on the display path, that is, the position of the next hop of the SRv6 packet is determined, and then the first network device sends the SRv6 packet to the second network device.
It should be noted that details of the segment identifier, the path identifier, the display path, and the like have already been described in detail in fig. 3 to fig. 7, and details thereof are not repeated here.
In summary, it can be seen that, in the embodiment provided by the present application, a path identifier is introduced into the SRv6SID by extending the SRv6SID structure, and a path forwarding node in the SR network forwards a SRv6 packet according to an explicit path according to the path identifier, and performs resource reservation, so that compared with the current scheme in which the SRv6 implements the explicit path through segment list, the cost of SRv6 packets is greatly reduced.
The following description is made in conjunction with several detailed application scenarios:
first, referring to fig. 9 for implementing an SR L3VPN Function with a constrained Path, please refer to fig. 9, where fig. 9 is a schematic view of a scenario of a data processing method based on SRv6 according to an embodiment of the present invention, as shown in fig. 9, a SRv6 network is formed by nodes 1 to 6 (where, the nodes 1 to 6 are the above-mentioned network device 1 to network device 6, and in addition, 6 nodes are taken as an example for illustration, but may also include other number of nodes, for example, 5 or 7, which are not specifically limited), where the length of a Locator in the network is 64 bits, the length of a Path field is 16 bits, and the length of a Function/Argu is 48 bits. Node k represents the End Function as Ak: 1/128. The basic configuration is as follows:
the node1 and the node 4 are connected to two CE devices, and configured with Virtual Routing Forwarding (VRF) of the user 88, and the IP addresses of the two CE devices are 20.20.20.10 and 20.20.20.20, respectively;
node 4 configures A4: 0:0:0:88 to represent end.DT4 and binds to the VRF of user 88;
the node 4 advertises the address prefix of the CE-2 to other nodes through signaling or a controller, and the node1 knows that the CE-2 can be reached through the end.DT4 SID A4 of the node 4, wherein 0:0: 88;
the conventional SRv6 message forwarding process at present uses the shortest path for forwarding, and the specific steps are as follows:
step A1, when node1 receives SRv6 message with DA 20.20.20.20, it will encapsulate new IPv6 header, where SA is IPv6 address of node1, DA is end.DT4 SID of node 4, namely A4: 0:0:0: 88;
step a2, looking up a table by the node1, and forwarding the SRv6 packet to the node6, where the forwarding path is a path obtained based on the shortest path forwarding rule, as shown in 901 in fig. 9;
step A3, after receiving SRv6 message of DA 4::0:0:0:88, the node6 matches with the table entry of A4:: 64, and forwards SRv6 message to the node 4;
in the step a4, after receiving the SRv6 message with DA being a4::0:0:0:88, the node 4 matches the table entry with a4::0:0:0:88/128, determines that the table entry is local end.dt4, strips the outer IPv6 header, continues to look up the table in the VRF of the user 88 by using the address of the inner Internet Protocol version 4 (IPv 4), and forwards the SRv6 message to the CE-2. The L3VPN function is thus completed by the SRv6 SID.
However, from node1 to node 4 can only forward along the shortest path computed by IGP. If the SRv6 message is bound to be forwarded along a low-latency path of 1- >3- >5- >4, the End SIDs of all nodes on the path need to be carried in the SRv6 message, which results in a large overhead.
In view of this, an embodiment of the present application provides a data processing method based on SRv6, which can implement this requirement very conveniently by extending an SID, and forward a SRv6 packet through a specified path, and the specific steps are as follows:
step B1, the controller creates an explicit low latency path 1- >3- >5- >4 (i.e. an explicit path) according to the policy information, and allocates a path id of 100;
b2, guiding each node of the path to form A4 through a control surface, wherein the path forwards a table entry and reserves resources of 100:0:0:0/80, namely, the segment identifier is sent to each node in the display path, the sending can adopt a centralized control panel (namely, the segment identifier is sent to each node in the display path respectively), or adopt a distributed control surface (namely, the segment identifier is sent to a head node, namely the node1 in FIG. 9, and then the head node floods in an SR network), and the method is not limited in detail as long as each node on the display path receives the segment identifier;
step B3, the end node (node 4 in FIG. 9) is guided by the control plane to generate an end.DT4 table entry with path, namely A4::100:0:0:88/128, and is bound to the VRF of the user 88.
Step B4, the node 4 advertises the address prefix of the CE-2 to other nodes in the SR network through signaling or a controller, the node1 can determine that the CE-2 is reached through the end.DT4 SID A4 of the node 4, wherein the ratio of 0:0:0:88 is 0, and meanwhile, the CE-2 is reached through a low-delay path A4, wherein the ratio of 100:0:0:88 is 100;
step B5, after the node1 receives the SRv6 message with DA being 20.20.20.20, selecting a low-latency path according to the policy information, and encapsulating a new IPv6 header, wherein SA is the IPv6 address of the node1, and DA is the low-latency end.DT4 SID of the node 4, namely A4: 100:0:0: 88;
step B6, the node1 checks the path table entry and forwards the IPv6SRv6 message to the node 5, as shown in the display path 902 shown in FIG. 9;
step B7, after receiving SRv6 message of DA (A4): 100:0:0:88, the node 5 looks up table matching with the table entry of A4::100:0:0:0/80 and forwards SRv6 message to the node 3;
step B8, after the node 3 receives SRv6 message of DA (A4):: 100:0:0:88, table look-up matching is carried out on the table entry of A4::100:0:0:0/80, and SRv6 message is forwarded to the node 4;
in the step B9, after the node 4 receives the SRv6 message of DA 4::100:0:0:88, the table lookup matches the table entry of a4::100:0:0:88/128, which indicates that the table entry is local end.dt4. And end, DT4 will strip the outer IPv6 header, continue to look up the table in the VRF of the user 88 by adopting the inner IPv4 address, and forward the SRv6 message to CE-2. Therefore, by expanding SID of Path function, SR L3VPN function with explicit Path constraint can be realized only by one layer of IPv6 address, and network efficiency is greatly improved. Meanwhile, the path intermediate nodes can reserve resources according to the path id, and the problem caused by the stateless SR is solved.
It should be noted that the network with the extended Path function provided in the embodiment of the present application may be mixedly networked with a common SRv6 node, and does not affect the original common SRv6 service. As shown in fig. 10, the node 3 is a normal SRv6 node, and the other nodes are nodes supporting the Path function. Although node 3 does not support extended functionality, low latency paths from 1- >3- >5- >4 can still be created using this approach. The method comprises the following specific steps:
step C1, the controller creates an explicit low latency path 1- >3- >5- >4, and assigns a path id of 100;
step C2, forming A4 by guiding the node1, the node 5 and the node 3 on the path through a control plane, wherein the path forwarding table entry of 100:0:0:0/80 can adopt a centralized control plane or a distributed control plane, and the node 3 ignores the path identifier after receiving the issued path identifier because the node 3 does not support the path function; if the centralized control plane is adopted, the controller does not issue a path forwarding table item to the node 3; if the distributed control plane is adopted, the node 3 ignores the received IGP advertisement related to the path;
step C3, the tail node (such as node 4 in FIG. 10) is guided by the control plane to generate an end.DT4 table entry with path, namely A4: 100:0:0:88/128, and the entry is bound to the VRF of the user 88;
step C4, the node 4 advertises the address prefix of the CE-2 to other nodes through signaling or a controller, and the node1 can determine that the CE-2 is reached through the end.DT4 SID A4 of the node 4, wherein the ratio of 0:0:0:88 and the CE-2 is reached through the low-delay path A4, wherein the ratio of 100:0:0:88 and the CE-2 are reached;
step C5, after the node1 receives the SRv6 message with DA being 20.20.20.20, a low-latency path is selected according to the strategy information, and a new IPv6 header is encapsulated, wherein SA is the IPv6 address of the node1, and DA is the low-latency end.DT4 SID of the node 4, namely A4: 100:0:0: 88;
step C6, looking up the table by the node1, and forwarding the SRv6 packet to the node 3, as shown in the display path 1001 in fig. 10;
step C7, after receiving SRv6 message of DA (DA) 4: 100:0:0:88, the node 5 matches with the table entry of A4: 100:0:0:0/80, and then determines that the next hop is node 3, and forwards SRv6 message to node 3;
step C8, after receiving SRv6 message of DA 4: 100:0:0:88, the node 3 matches the table entry of A4: 64, then the next hop is determined as node 3, and the SRv6 message is forwarded to the node 4;
and step C9, after receiving the SRv6 message of DA (DA) 4: 100:0:0:88, the node 4 determines that the message is local end.DT4 after matching the table entry of A4: 100:0:0:88/128, then stripping the outer IPv6 header, continuously using the inner IPv4 address to look up the table in the VRF of the user 88, and forwarding the SRv6 message to the CE-2. Therefore, although the node 3 in the display path does not support the path function and does not have a forwarding table entry related to the path, the node 3 can still complete the forwarding of the SRv6 packet through the Locator table entry generated by SRv 6.
Referring to fig. 11, fig. 11 is another schematic view of a scenario of a data processing method based on SRv6 according to an embodiment of the present application, which is described by taking nodes 1 to 6 as an example in an SR network, and it can be understood that an explicit Path constructed by a Path function may use an entry generated by a current Locator as protection, so that the explicit Path has an automatic protection capability. The path table entry is preferred in the explicit path scenario, and once the explicit path fails, the path table entry automatically falls back to the current Locator table entry. The method comprises the following specific steps:
step D1, the controller creates an explicit low-latency path 1- >3- >5- >4, and allocates a path id of 100;
d2, forming A4 by each node of the path guided by the control plane, wherein the path forwarding table entry of 100:0:0:0/80 can adopt a centralized control plane or a distributed control plane;
d3, guiding the tail node to generate an end.DT4 table entry with a path through a control plane, namely A4: 100:0:0:88/128, and binding to the VRF of the user 88;
step D4, the node 4 advertises the address prefix of CE-2 to other nodes through signaling or a controller, and the node1 can determine that CE-2 is reached through the end.DT4 SID A4 of the node 4, wherein the CE-2 is reached through 0:0:0:88, and meanwhile, CE-2 is reached through a low-delay path A4, wherein the CE-2 is reached through 100:0:0: 88;
step D5, after the node1 receives the SRv6 message with DA being 20.20.20.20, selecting a low-latency path according to the policy information, and encapsulating a new IPv6 header, wherein SA is the IPv6 address of the node1, and DA is the low-latency end.DT4 SID of the node 4, namely A4: 100:0:0: 88;
step D6, looking up the table by the node1, and forwarding the SRv6 packet to the node 3, see 1101 shown in fig. 11;
step D7, after receiving SRv6 message of DA 4: 100:0:0:88, the node 5 matches the table entry of A4: 100:0:0:0/80 and forwards SRv6 message to the node 3;
step D8, after receiving SRv6 message of DA 4: 100:0:0:88, the node 3 matches the table entry of A4: 100:0:0:0/80 and forwards SRv6 message to the node 4;
step D9, after receiving the SRv6 message of DA (DA) 4: 100:0:0:88, the node 4 matches with A4: 100:0:0:88/128, determines that the table entry is local end.DT4, then strips the outer IPv6 header, continues to adopt the inner IPv4 address to look up the table in the VRF of the user 88, and forwards the SRv6 message to CE-2;
step D10, if the link between the node 5 and the node 3 fails (as 1102 in fig. 11), the node 5 senses that the next hop is not reachable, and sets the table entry of a4::100:0:0:0/80 as invalid, and after the node 5 receives SRv6 packet of DA ═ a4::100:0:0:88, the SRv6 packet is forwarded to the node2 by matching the table entry of a4:: 64, as 1103 in fig. 11;
step D11, after receiving SRv6 message of DA 4::100:0:0:88, the node2 matches the table entry of A4:: 64 and forwards SRv6 message to the node 4;
and D12, after receiving the SRv6 message of DA (DA) 4: 100:0:0:88, the node 4 matches the entry of A4: 100:0:0:88/128 to determine that the entry is local end.DT4, then stripping the outer IPv6 header, continuously using the inner IPv4 address to look up the table in the VRF of the user 88, and forwarding the SRv6 message to CE-2. Therefore, in the embodiment provided by the application, even if a certain link in the display path fails, the message can be smoothly forwarded, and the feasibility of the scheme is provided.
Referring to fig. 12, fig. 12 is another schematic view of a data processing method based on SRv6 according to an embodiment of the present application, in which the SR tunnels in the SR network are all unidirectional tunnels, but in some operator networks, it is desirable to use bidirectional SR tunnels. For example, in SR-MPLS, a Path segment is newly added to implement tunnel identification, and a new layer of Path SID label is introduced to complete tunnel identification and bidirectional binding. However, since the overhead of SRv6SID is much higher than that of SR-MPLS SID, if a Path SID in IPv6 address format is also added, the introduced overhead is larger. In addition, the Path SID is placed at the bottom of the stack, which is not good for the intermediate node to identify. As shown in fig. 12, the specific steps are as follows:
step E1, the controller creates an explicit path from 1- >4 (1201 in fig. 12) through 1- >3- >5- >4 and assigns path id 100 according to the policy information, and creates an explicit path from 4- >1 through 4- >5- >3- >1 (1202 in fig. 12) and assigns path id 101;
e2, guiding each node of the path through a control plane to form A4, wherein the path forwarding table item is 100:0:0:0/80, and the path forwarding table item is 101:0:0:0/80, wherein the path forwarding table item can adopt a centralized control plane or a distributed control plane; binding is completed at the end point of the tunnel through a management plane or a control plane;
thus, A4::100:0:0:0/80 and A1::101:0:0:0/80 can be bound as a bidirectional tunnel at node1 (the path entry is 1204 in FIG. 12), and if the message received from A1::101:0:0:0/80, it is looped back through A4::100:0:0: 0/80; at the same time, A4::100:0:0:0/80 and A1::101:0:0:0/80 are bound as a bidirectional tunnel (table entry is 1203 in FIG. 12) at node 4, if the message received from A4::100:0:0:0/80, it is sent back through A1::101:0:0: 0/80.
In summary, it can be seen that a Path can uniquely represent an explicit Path, so that bidirectional binding can be directly completed according to a Path entry, without need of re-expanding a new Path SID like SR-MPLS, thereby reducing overhead.
The data processing method based on SRv6 in the embodiment of the present application is described above, and the controller in the embodiment of the present application is described below:
referring to fig. 13, fig. 13 is a schematic view of a virtual structure of a controller according to an embodiment of the present application, including:
a generating unit 1301, configured to generate a segment identifier, where the segment identifier includes location information, an instruction, and a path identifier, and the path identifier is used to indicate SRv6 a forwarding path of the packet between network devices in the SR network;
a sending unit 1302, configured to send the segment identifier to a network device, so that the network device forwards the SRv6 packet according to the segment identifier.
Optionally, the generating unit 1302 is specifically configured to:
the controller acquires policy information;
the controller generates the segment identifier according to the policy information.
Optionally, the sending unit 1301 is specifically configured to:
determining a first display path and a first resource reservation corresponding to the path identifier;
determining N network devices in the SR network corresponding to the first explicit path;
and respectively sending the first resource reservation to each network device in the N network devices.
Optionally, the sending unit 1301 is further specifically configured to:
determining first network equipment, wherein the first network equipment is any one network equipment in the SR network;
determining attribute information of the path identifier, wherein the attribute information of the path identifier indicates a second display path, a last network device in the second display path, and a second resource reservation corresponding to the second display path;
sending attribute information of the path identifier to the first network device, so that the first network device floods the segment identifier in the SR network.
The network device of the present application is described below with reference to fig. 14:
referring to fig. 14, fig. 14 is a schematic view of a virtual structure of a network device provided in the present application, including:
a receiving unit 1401, configured to receive a segment identifier, where the segment identifier includes location information, an instruction, and a path identifier, and the path identifier is used to indicate SRv6 a forwarding path of a packet between network devices in an SR network;
a sending unit 1402, configured to forward the SRv6 packet based on the segment identifier.
Optionally, the receiving unit 1401 is further configured to receive attribute information of the path identifier, where the attribute information of the path identifier indicates a display path, a last network device in the display path, and a resource reservation corresponding to the display path;
the network device further includes:
a processing unit 1403, configured to flood the attribute information of the path identifier in the SR network, so that all network devices on the explicit path obtain the attribute information of the path identifier.
Optionally, the sending unit 1402 is specifically configured to:
determining the second network device according to the attribute information of the path identifier, wherein the second network is set as an intermediate network device on the explicit path, and the intermediate network device comprises a network device located between a first network device on the explicit path and a last network device on the explicit path;
and sending the SRv6 message to the second network equipment.
The controller and the network device in the embodiment of the present application are described above from the perspective of the modular functional entity, and the controller and the network device in the embodiment of the present application are described below from the perspective of hardware processing:
fig. 15 is a schematic diagram of a controller 1500 according to an embodiment of the present disclosure, where the controller 1500 may have a relatively large difference due to different configurations or performances, and may include one or more Central Processing Units (CPUs) 1522 (e.g., one or more processors) and a memory 1532, and one or more storage media 1530 (e.g., one or more mass storage devices) for storing applications 1542 or data 1544. Memory 1532 and storage media 1530 may be, among other things, transient or persistent storage. The program stored on the storage medium 1530 may include one or more modules (not shown), each of which may include a series of instruction operations for the server. Further, a central processor 1522 may be provided in communication with the storage medium 1530, executing a series of instruction operations in the storage medium 1530 on the controller 1500.
Controller 1500 can also include one or more power supplies 1527, one or more wired or wireless network interfaces 1550, one or more input-output interfaces 1558, and/or one or more operating systems 1541, such as Windows Server, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
The steps performed by the controller in the above embodiment may be based on the controller structure shown in fig. 15.
Referring to fig. 16, the network device of the present application includes one or more central processors 1601, a storage 1602 and a communication interface 1603, wherein the central processors 1601, the storage 1602 and the communication interface 1603 are connected to each other via a bus.
Memory 1602 may be a transitory or persistent store for storing associated instructions and data and communication interface 1603 is used to receive and transmit data. Still further, the central processor 1901 may be configured to communicate with the memory 1602 to perform a sequence of instruction operations in the memory 1602.
The network devices in the above embodiments may each be based on the structure shown in fig. 16.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the system, the apparatus and the module described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). The memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The above are merely examples of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (14)

1. A data processing method based on SRv6, comprising:
the controller generates a segment identifier, wherein the segment identifier comprises position information, an instruction and a path identifier, and the path identifier is used for indicating SRv6 a forwarding path of the message between network devices in the SR network;
and the controller sends the segment identifier to a network device, so that the network device forwards the SRv6 message according to the segment identifier.
2. The method of claim 1, wherein the controller generating segment identifications comprises:
the controller acquires policy information;
the controller generates the segment identifier according to the policy information.
3. The method of claim 1 or 2, wherein the controller sending the segment identifier to a network device comprises:
determining a first reserved resource and a first display path corresponding to the path identifier;
determining N network devices in the SR network corresponding to the first explicit path;
and respectively sending the first reserved resource to each network device in the N network devices.
4. The method of claim 1 or 2, wherein the controller sending the segment identifier to a network device comprises:
determining a first network device, wherein the first network device is one network device in the SR network;
determining attribute information of the path identifier, wherein the attribute information of the path identifier indicates a second display path, a last network device in the second display path, and a second resource reservation corresponding to the second display path;
sending attribute information of the path identifier to the first network device, so that the first network device floods the segment identifier in the SR network.
5. A data processing method based on SRv6, comprising:
the method comprises the steps that network equipment receives segment identification, wherein the segment identification comprises position information, instructions and path identification, and the path identification is used for indicating SRv6 forwarding paths of messages among the network equipment in the SR network;
the network device forwards the SRv6 message based on the segment identification.
6. The method of claim 5, further comprising:
the network equipment receives attribute information of the path identifier, wherein the attribute information of the path identifier indicates a display path, the last network equipment in the display path and resource reservation corresponding to the display path;
and the network equipment floods the attribute information of the path identifier in the SR network so that all network equipment on the explicit path acquires the attribute information of the path identifier.
7. The method of claim 6, wherein the network device forwarding the SRv6 packet based on the segment identifier comprises:
the network equipment determines second network equipment according to the attribute information of the path identifier;
and the network equipment sends the SRv6 message to the second network equipment.
8. A controller, comprising:
a generating unit, configured to generate a segment identifier, where the segment identifier includes location information, an instruction, and a path identifier, and the path identifier is used to indicate SRv6 a forwarding path of the packet between network devices in the SR network;
a sending unit, configured to send the segment identifier to a network device, so that the network device forwards the SRv6 packet according to the segment identifier.
9. The controller according to claim 8, wherein the generating unit is specifically configured to:
the controller acquires policy information;
the controller generates the segment identifier according to the policy information.
10. The controller according to claim 8 or 9, wherein the sending unit is specifically configured to:
determining a first reserved resource and a first display path corresponding to the path identifier;
determining N network devices in the SR network corresponding to the first explicit path;
and respectively sending the first reserved resource to each network device in the N network devices.
11. The controller according to claim 8 or 9, wherein the sending unit is further specifically configured to:
determining first network equipment, wherein the first network equipment is any one network equipment in the SR network;
determining attribute information of the path identifier, wherein the attribute information of the path identifier indicates a display path, a last network device in the display path and resource reservation corresponding to the display path;
sending attribute information of the path identifier to the first network device, so that the first network device floods the segment identifier in the SR network.
12. A network device, comprising:
a receiving unit, configured to receive a segment identifier, where the segment identifier includes location information, an instruction, and a path identifier, and the path identifier is used to indicate SRv6 a forwarding path of a packet between network devices in an SR network;
a sending unit, configured to forward the SRv6 packet based on the segment identifier.
13. The network device of claim 12,
the receiving unit is further configured to receive attribute information of the path identifier, where the attribute information of the path identifier indicates a display path, a last network device in the display path, and a resource reservation corresponding to the display path;
the network device further includes:
and the processing unit is used for flooding the attribute information of the path identifier in the SR network so that all network equipment on the explicit path acquires the attribute information of the path identifier.
14. The network device of claim 13, wherein the sending unit is specifically configured to:
determining the second network device according to the attribute information of the path identifier, wherein the second network is set as an intermediate network device on the explicit path, and the intermediate network device comprises a network device located between a first network device on the explicit path and a last network device on the explicit path;
and sending the SRv6 message to the second network equipment.
CN202010346913.4A 2020-04-27 2020-04-27 Data processing method based on SRv6 and related equipment Active CN111541613B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010346913.4A CN111541613B (en) 2020-04-27 2020-04-27 Data processing method based on SRv6 and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010346913.4A CN111541613B (en) 2020-04-27 2020-04-27 Data processing method based on SRv6 and related equipment

Publications (2)

Publication Number Publication Date
CN111541613A true CN111541613A (en) 2020-08-14
CN111541613B CN111541613B (en) 2022-03-22

Family

ID=71978846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010346913.4A Active CN111541613B (en) 2020-04-27 2020-04-27 Data processing method based on SRv6 and related equipment

Country Status (1)

Country Link
CN (1) CN111541613B (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112243010A (en) * 2020-11-13 2021-01-19 中盈优创资讯科技有限公司 SRv 6-based traffic collection method and device
CN112491926A (en) * 2020-12-11 2021-03-12 迈普通信技术股份有限公司 SRv6 path quality measuring method, device, electronic equipment and storage medium
CN112532520A (en) * 2020-10-28 2021-03-19 中盈优创资讯科技有限公司 PCE-based TE-LSP implementation method and device
CN112583718A (en) * 2020-12-31 2021-03-30 网络通信与安全紫金山实验室 SRv6 message transmission method, system, equipment and medium in SRoU scene
CN113014485A (en) * 2021-02-25 2021-06-22 烽火通信科技股份有限公司 Message forwarding method and message forwarding device based on SRv6-TE path
CN113259241A (en) * 2021-05-08 2021-08-13 烽火通信科技股份有限公司 Method for improving SRv6 forwarding efficiency and electronic equipment
CN113411259A (en) * 2021-06-30 2021-09-17 新华三技术有限公司 Message forwarding method, device and equipment
CN113438158A (en) * 2021-06-30 2021-09-24 新华三信息安全技术有限公司 Message forwarding method and device
CN113507410A (en) * 2021-06-29 2021-10-15 新华三信息安全技术有限公司 CGN backup method and device
CN113645135A (en) * 2021-08-02 2021-11-12 迈普通信技术股份有限公司 SID compression method, message forwarding method, message compression device and electronic equipment
CN113726654A (en) * 2021-08-13 2021-11-30 新华三信息安全技术有限公司 Message forwarding method and device of SRV6 protocol, electronic equipment and medium
WO2022042610A1 (en) * 2020-08-25 2022-03-03 中兴通讯股份有限公司 Information processing method, network controller, node and computer-readable storage medium
WO2022042403A1 (en) * 2020-08-31 2022-03-03 华为技术有限公司 Method for generating routing information, method for sending location information, method for forwarding message, and device
WO2022068389A1 (en) * 2020-09-30 2022-04-07 华为技术有限公司 User group-based packet forwarding method, device and system
WO2022105625A1 (en) * 2020-11-23 2022-05-27 ***通信有限公司研究院 Packet forwarding method and apparatus, communication device, and readable storage medium
WO2022110535A1 (en) * 2020-11-27 2022-06-02 华为技术有限公司 Packet sending method, device, and system
CN114629834A (en) * 2020-11-27 2022-06-14 华为技术有限公司 Communication method and device
CN114650255A (en) * 2020-12-18 2022-06-21 北京华为数字技术有限公司 Message processing method and network equipment
CN115242713A (en) * 2021-04-22 2022-10-25 ***通信有限公司研究院 IPV 6-based segmented routing message forwarding method, configuration method and equipment
CN115361328A (en) * 2022-07-29 2022-11-18 鹏城实验室 Method for addressing and forwarding identity message and related equipment
WO2022247355A1 (en) * 2021-05-27 2022-12-01 华为技术有限公司 Message processing method and related device
CN115632977A (en) * 2022-08-31 2023-01-20 ***数智科技有限公司 Device for forwarding SRv message based on hybrid networking
WO2023016550A1 (en) * 2021-08-13 2023-02-16 华为技术有限公司 Route sending method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140269266A1 (en) * 2012-10-05 2014-09-18 Cisco Technology, Inc. Method and system for path monitoring using segment routing
US20190190818A1 (en) * 2016-08-15 2019-06-20 Telefonaktiebolaget Lm Ericsson (Publ) Segment routing based on maximum segment identifier depth
US20200044936A1 (en) * 2013-03-15 2020-02-06 Cisco Technology, Inc. Segment routing: pce driven dynamic setup of forwarding adjacencies and explicit path
CN110912795A (en) * 2018-09-14 2020-03-24 中兴通讯股份有限公司 Transmission control method, node, network system and storage medium
CN111010274A (en) * 2019-12-30 2020-04-14 烽火通信科技股份有限公司 Safe and low-overhead SRv6 implementation method
US20200120022A1 (en) * 2018-10-12 2020-04-16 Cisco Technology, Inc. Methods and apparatus for use in providing transport and data center segmentation in a mobile network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140269266A1 (en) * 2012-10-05 2014-09-18 Cisco Technology, Inc. Method and system for path monitoring using segment routing
US20200044936A1 (en) * 2013-03-15 2020-02-06 Cisco Technology, Inc. Segment routing: pce driven dynamic setup of forwarding adjacencies and explicit path
US20190190818A1 (en) * 2016-08-15 2019-06-20 Telefonaktiebolaget Lm Ericsson (Publ) Segment routing based on maximum segment identifier depth
CN110912795A (en) * 2018-09-14 2020-03-24 中兴通讯股份有限公司 Transmission control method, node, network system and storage medium
US20200120022A1 (en) * 2018-10-12 2020-04-16 Cisco Technology, Inc. Methods and apparatus for use in providing transport and data center segmentation in a mobile network
CN111010274A (en) * 2019-12-30 2020-04-14 烽火通信科技股份有限公司 Safe and low-overhead SRv6 implementation method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐永林,刘峰: "《SRv6的分段标识符结构的改善》", 《电信科学》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022042610A1 (en) * 2020-08-25 2022-03-03 中兴通讯股份有限公司 Information processing method, network controller, node and computer-readable storage medium
WO2022042403A1 (en) * 2020-08-31 2022-03-03 华为技术有限公司 Method for generating routing information, method for sending location information, method for forwarding message, and device
WO2022068389A1 (en) * 2020-09-30 2022-04-07 华为技术有限公司 User group-based packet forwarding method, device and system
CN112532520A (en) * 2020-10-28 2021-03-19 中盈优创资讯科技有限公司 PCE-based TE-LSP implementation method and device
CN112243010A (en) * 2020-11-13 2021-01-19 中盈优创资讯科技有限公司 SRv 6-based traffic collection method and device
WO2022105625A1 (en) * 2020-11-23 2022-05-27 ***通信有限公司研究院 Packet forwarding method and apparatus, communication device, and readable storage medium
CN114629834B (en) * 2020-11-27 2023-06-27 华为技术有限公司 Communication method and device
WO2022110535A1 (en) * 2020-11-27 2022-06-02 华为技术有限公司 Packet sending method, device, and system
CN114629834A (en) * 2020-11-27 2022-06-14 华为技术有限公司 Communication method and device
CN112491926A (en) * 2020-12-11 2021-03-12 迈普通信技术股份有限公司 SRv6 path quality measuring method, device, electronic equipment and storage medium
CN114650255B (en) * 2020-12-18 2023-12-08 北京华为数字技术有限公司 Message processing method and network equipment
CN114650255A (en) * 2020-12-18 2022-06-21 北京华为数字技术有限公司 Message processing method and network equipment
CN112583718B (en) * 2020-12-31 2022-09-27 网络通信与安全紫金山实验室 SRv6 message transmission method, system, equipment and medium in SRoU scene
CN112583718A (en) * 2020-12-31 2021-03-30 网络通信与安全紫金山实验室 SRv6 message transmission method, system, equipment and medium in SRoU scene
CN113014485A (en) * 2021-02-25 2021-06-22 烽火通信科技股份有限公司 Message forwarding method and message forwarding device based on SRv6-TE path
CN115242713A (en) * 2021-04-22 2022-10-25 ***通信有限公司研究院 IPV 6-based segmented routing message forwarding method, configuration method and equipment
CN113259241B (en) * 2021-05-08 2022-04-26 烽火通信科技股份有限公司 Method for improving SRv6 forwarding efficiency and electronic equipment
CN113259241A (en) * 2021-05-08 2021-08-13 烽火通信科技股份有限公司 Method for improving SRv6 forwarding efficiency and electronic equipment
WO2022247355A1 (en) * 2021-05-27 2022-12-01 华为技术有限公司 Message processing method and related device
CN113507410A (en) * 2021-06-29 2021-10-15 新华三信息安全技术有限公司 CGN backup method and device
CN113438158B (en) * 2021-06-30 2022-06-21 新华三信息安全技术有限公司 Message forwarding method and device
CN113438158A (en) * 2021-06-30 2021-09-24 新华三信息安全技术有限公司 Message forwarding method and device
CN113411259A (en) * 2021-06-30 2021-09-17 新华三技术有限公司 Message forwarding method, device and equipment
CN113645135A (en) * 2021-08-02 2021-11-12 迈普通信技术股份有限公司 SID compression method, message forwarding method, message compression device and electronic equipment
CN113726654A (en) * 2021-08-13 2021-11-30 新华三信息安全技术有限公司 Message forwarding method and device of SRV6 protocol, electronic equipment and medium
WO2023016550A1 (en) * 2021-08-13 2023-02-16 华为技术有限公司 Route sending method and device
CN115361328A (en) * 2022-07-29 2022-11-18 鹏城实验室 Method for addressing and forwarding identity message and related equipment
CN115361328B (en) * 2022-07-29 2023-10-20 鹏城实验室 Method and related equipment for addressing and forwarding identity identification message
CN115632977A (en) * 2022-08-31 2023-01-20 ***数智科技有限公司 Device for forwarding SRv message based on hybrid networking

Also Published As

Publication number Publication date
CN111541613B (en) 2022-03-22

Similar Documents

Publication Publication Date Title
CN111541613B (en) Data processing method based on SRv6 and related equipment
CN106656781B (en) Method, device and system for transmitting message
CN108574639B (en) EVPN message processing method, device and system
JP7290732B2 (en) Data transfer method and related equipment
CN105871722B (en) Label structure and label message forwarding method and device
CN108574630B (en) EVPN message processing method, device and system
US9998368B2 (en) Zone routing system
EP3043519B1 (en) Method, controller, forwarding device, and network system for forwarding packets
CN110912795A (en) Transmission control method, node, network system and storage medium
US20220038364A1 (en) SRv6-Based Data Processing Method and Related Network Device
US20210044538A1 (en) Tunnel establishment method, apparatus, and system
CN113300949A (en) Method for forwarding message, method, device and system for issuing routing information
WO2022001835A1 (en) Method and apparatus for sending message, and network device, system and storage medium
CN104378292A (en) Method and device for forwarding MPLS data packages
US20230300070A1 (en) Packet Sending Method, Device, and System
US11362954B2 (en) Tunneling inter-domain stateless internet protocol multicast packets
CN110611616A (en) Traffic scheduling method, system, device and medium based on Radius server
WO2021151381A1 (en) Method for processing segment id, and apparatus
WO2022007702A1 (en) Message processing method and network device
US20230412508A1 (en) Packet processing method and related apparatus
CN113904981A (en) Routing information processing method and device, electronic equipment and storage medium
CN117118886A (en) Message forwarding method, head-end equipment, controller, equipment and storage medium
WO2023274083A1 (en) Route publishing method and apparatus, packet forwarding method and apparatus, device, and storage medium
WO2022042133A1 (en) Communication method and related apparatus
CN115277526A (en) Communication method and device

Legal Events

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