WO2016115850A1 - 一种段路由处理方法、处理装置及发送装置 - Google Patents

一种段路由处理方法、处理装置及发送装置 Download PDF

Info

Publication number
WO2016115850A1
WO2016115850A1 PCT/CN2015/084511 CN2015084511W WO2016115850A1 WO 2016115850 A1 WO2016115850 A1 WO 2016115850A1 CN 2015084511 W CN2015084511 W CN 2015084511W WO 2016115850 A1 WO2016115850 A1 WO 2016115850A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
policy
node
sub
identifier
Prior art date
Application number
PCT/CN2015/084511
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 中兴通讯股份有限公司
Publication of WO2016115850A1 publication Critical patent/WO2016115850A1/zh

Links

Images

Definitions

  • This document relates to network communication technologies, and in particular, to a segment routing processing method, a processing device, and a transmitting device.
  • Segment routing is a method based on source address-based routing. By superimposing a string of node information that affects the current shortest path forwarding outside the data packet, the packet performs the shortest path according to the specified path node or link information. Forward.
  • Figure 1 shows the format of the SR header (SR Header), where ⁇ SR1SR2...SRn ⁇ is a segment list for carrying the path information of the specified SR node, Ptr is a pointer, and SI is an SR ingress node. SE is the SR egress node.
  • a segment list is a displayed policy path that directs data packets to be forwarded along the node or link information in the policy path.
  • the network device When the packet containing the segment routing packet header is transmitted in the SR network domain, the network device (generally a router) uses the segment operation instruction in the segment routing packet header by using the specified SR node path information carried in the segment routing header. The corresponding operation is performed, and the operation indication includes Push, Next, and Continue.
  • the operation indication is a Push operation, the network device (generally a router) pushes the SR Header into the IP packet, or adds other segment indications in the segment routing message header; the Next and Continue operations indicate by the pointer of the Ptr.
  • the pointer moves to the next segment, and the segment indicated by the pointer indicates that it is an active segment for forwarding the next hop; the Continue operation does not end the segment operation, and the pointer remains Stay on the current segment.
  • the segmentation operation indication can also be extended to implement traffic or topology-based routing indications, and segment routing can also implement service-based network virtualization and operation management and maintenance (OAM) applications.
  • the segment routing technology fully utilizes the MPLS (Multiprotocol Label Switching) encapsulation technology.
  • the MPLS packet header or the IPv6 packet header carries the segment routing packet header.
  • Figure 2 shows the format of the MPLS packet header.
  • the MPLS packet header consists of 32 bits (4 bytes).
  • the 20-bit tag field and the 3-bit CoS (Class of Service) field are used to indicate the priority of the packet.
  • the 1st stack bottom mark (S shown in the figure) is used for MPLS nested operation, and the 8-bit TTL (Time To Live) field is used for TTL counting in the MPLS network.
  • the segment routing technology can be fully compatible with and inherits the MPLS forwarding data plane of the related technology. The forwarding of segment routes can be implemented without modifying the MPLS packet header.
  • the segment list in the SR header is implemented by the stack of the label stack, where the SR Ptr points to the currently executing segment (active segment), which corresponds to the top label in the MPLS label stack; the SR includes the SR The CONTINUE operation defined by the Header corresponds to the label switching (SWAP) operation in the MPLS; the local SR forwarding table is used to perform the SWAP operation of the inbound label and the outgoing label carrying the same label value; the SR also includes the NEXT operation defined for the SR Header, Corresponding to the label POP operation in MPLS; that is, the top label is popped; the SR also includes the PUSH operation defined for the SR Header, corresponding to the PUSH operation in the MPLS, that is, the label is pushed.
  • SWAP label switching
  • the forwarding device especially the node that performs the push operation on the packet
  • the path is too long, that is, the number of nodes or link information specified in the path is too long. If the forwarding device cannot process the packet, the packet cannot be sent.
  • This document provides a segment routing processing method, processing device, and transmitting device.
  • the packet can still be transmitted.
  • a segment routing processing method includes:
  • the calculating the policy path from the source node to the destination node, and assigning the unused identifier to the policy path including: calculating a policy path from the source node to the destination node, and determining that the policy path length exceeds a stack of the forwarding node When the capability is processed, the policy path is assigned an unused identifier.
  • the sending the policy path and the mapping information of the identifier to the forwarding node including: segmenting the policy path according to a stack processing capability of each node on the policy path,
  • the policy path is divided into two or more policy sub-paths, and the path information of the policy path and the identifier are sent to the first node of each policy sub-path.
  • the method further includes: processing, by the first node of the other policy sub-paths other than the source node, according to the own stack
  • the capability and the path information of the received policy path determine a policy sub-path with the first node as the first node, and establish an identity mapping forwarding relationship between the policy sub-path and the identifier.
  • the sending the mapping information of the policy sub-path and the identifier to the forwarding node including: segmenting the policy path according to a stack processing capability of each node on the policy path, The policy path is divided into two or more policy sub-paths, and the path information of each policy sub-path and the identifier are sent to the first node of the corresponding policy sub-path.
  • the method further includes: receiving, by the first node of the other policy sub-paths other than the source node, according to the The path information of the policy sub-path establishes a mapping relationship between the policy sub-path with itself as the first node and the identifier of the identifier.
  • the method further includes: when the first node of each of the policy sub-paths except the last one of the policy sub-paths sends a packet, the method of carrying the node as the first node in the segment routing packet header
  • the path information of the sub-path and the identifier the first node of the next-stage policy sub-path forwards the packet according to the identifier mapping forwarding relationship after identifying the identifier, and the last one of the policy sub-paths sends a packet in the segment routing report.
  • the path carries the path information of the policy sub-path with the node as the first node.
  • the first node of each of the policy sub-paths except the first one of the policy sub-paths carries the path of the policy sub-path with the node as the first node in the segment routing packet header when sending the packet.
  • the path information of the policy sub-path with the node as the first node including:
  • the identifier mapping forwarding relationship is searched for, and the policy sub-path corresponding to the first node is obtained, and the first node sends the packet in the segment.
  • the route header carries the path information of the policy sub-path corresponding to the first node.
  • the first node of the policy sub-path identifies the identifier, it searches for the mapping mapping forwarding relationship, and obtains the policy sub-path corresponding to the first node.
  • the first node sends the packet it is in the segment routing packet header.
  • the path information of the policy sub-path corresponding to the first node is carried.
  • the segmenting the policy path according to the stack processing capability of each node on the policy path includes:
  • the policy path is segmented by the controller according to the stack processing capability of each node on the policy path; the stack processing capability of each node on the policy path is automatically reported by the node on the policy path to the
  • the controller sends the acquisition request to each node of the policy path by the controller. After receiving the request, the node on the policy path reports the stack processing capability of the node to the controller.
  • the segmenting the policy path according to the stack processing capability of each node on the policy path including: according to one or more of the stack processing capability of each node on the policy path and the following information
  • the policy path is segmented: whether there is a specified link in the policy path; whether the other packet needs to be carried in the packet header of the segment routing message.
  • the step of segmenting the policy path according to a stack processing capability of each node on the policy path and a specified link in the policy path including: when the policy path has a specified link, according to When the stack processing capability of each node on the policy path segments the policy path, the specified link is split into the same policy sub-path as the starting node of the specified link.
  • the method according to the stack processing capability of each node on the policy path and whether the segment routing message needs to carry other labels to segment the policy path including: if the segment routing message needs to carry a private network label Or other policy labels, when the policy path is segmented according to the stack processing capability of each node on the policy path, the length of each policy sub-path is smaller than the stack depth that the first node of the policy sub-path can handle.
  • the step of segmenting the policy path according to the stack processing capability of each node on the policy path includes: when segmenting the policy path, the length of each policy sub-path does not exceed the policy sub- The depth of the stack that the first node of the path can handle.
  • a segment routing processing device includes a building module and a sending module, wherein:
  • the building module is configured to: calculate a policy path from the source node to the destination node, and allocate an unused identifier to the policy path;
  • the sending module is configured to: send the mapping information of the policy path and the identifier to the forwarding node, or send the mapping information of the policy sub-path and the identifier to the forwarding node.
  • the building module is configured to: when the length of the policy path exceeds the stack processing capability of the forwarding node, allocate an unused identifier to the policy path.
  • the sending module is configured to: when the mapping information of the policy path and the identifier is sent to the forwarding node, the policy path is divided according to the stack processing capability of each node on the policy path.
  • the segment is divided into two or more policy sub-paths, and the path information of the policy path and the identifier are sent to the first node of each policy sub-path.
  • the sending module is configured to: when the mapping information of the policy sub-path and the identifier is sent to the forwarding node, perform the policy path according to the stack processing capability of each node on the policy path. Segmenting, the policy path is divided into two or more policy sub-paths, and the path information of each policy sub-path and the identifier are sent to the first node of the corresponding policy sub-path.
  • the device further includes a stack processing capability obtaining module, configured to: obtain a stack processing capability automatically reported by each node on the policy path, or send a stack processing capability acquisition request to each node on the policy path, and Receive stack processing capability reported by each node on the policy path.
  • a stack processing capability obtaining module configured to: obtain a stack processing capability automatically reported by each node on the policy path, or send a stack processing capability acquisition request to each node on the policy path, and Receive stack processing capability reported by each node on the policy path.
  • the sending module is configured to: segment the policy path according to one or more of a stack processing capability of each node on the policy path: whether the policy path specifies Whether the link needs to carry other labels in the packet header of the segment routing message.
  • the sending module is configured to: when determining that the policy path has a specified link, when the policy path is segmented according to a stack processing capability of each node on the policy path, the specified link is The starting node of the specified link is divided into the same policy sub-path.
  • the sending module is configured to: determine, if the segment routing message needs to carry a private network label or other policy label, and then segment each of the policy paths according to the stack processing capability of each node on the policy path, so that each segment The length of the policy subpath is less than the stack depth that the first node of the segment policy subpath can handle.
  • the sending module is configured to: when the policy path is segmented, each policy is made The length of the sub-path does not exceed the stack depth that the head node of the policy sub-path can handle.
  • a device for sending a segment routing message comprising a receiving module and a forwarding module, wherein:
  • the receiving module is configured to: receive path information of a policy path or a policy sub-path, and an identifier that is allocated to the policy path;
  • the forwarding module is configured to: when the device is the first node of the policy sub-path, determine the policy sub-path with the self-first node according to the path processing capability of the self-stack processing capability and the path information of the policy path, and establish the policy sub-path and the identifier.
  • the identifier mapping mapping relationship is performed, or the policy sub-path with the first node is directly established with the identifier mapping forwarding relationship of the identifier according to the path information of the policy sub-path.
  • the forwarding module is further configured to: when the local device is the first node of the policy sub-path, when the local node sends the packet, the segment routing packet header carries the policy sub-path with the node as the first node.
  • the path information and the identifier and when the device is the first node of the policy sub-path, after receiving the identifier, forwarding the packet according to the identifier mapping forwarding relationship.
  • the forwarding module is configured to: search for the identifier mapping forwarding relationship, and obtain a policy sub-path corresponding to the node, and carry the policy sub-path corresponding to the node in the segment routing packet header when sending the packet Path information and the identity.
  • the device further includes a stack processing capability reporting module, configured to: automatically report the stack processing capability of the local node, or report the stack processing capability of the local node after receiving the stack processing capability acquisition request.
  • a stack processing capability reporting module configured to: automatically report the stack processing capability of the local node, or report the stack processing capability of the local node after receiving the stack processing capability acquisition request.
  • a computer readable storage medium storing computer executable instructions for performing the method of any of the above.
  • the embodiment of the present invention carries a partial policy path, that is, a policy sub-path, in the segment list, and indicates the forwarding of the subsequent node by using the identifier, so that when the policy path length exceeds the processing capability of the forwarding node stack, the packet can still be forwarded to the SR through the SR. Destination node.
  • FIG. 1 is a schematic diagram of a format of an SR message header of the related art
  • FIG. 2 is a schematic diagram of a format of an MPLS packet header of the related art
  • FIG. 3 is a flowchart of Embodiment 1 of the present invention.
  • FIG. 4 is a schematic structural view of a device according to Embodiment 2 of the present invention.
  • FIG. 5 is a schematic structural diagram of a device according to Embodiment 3 of the present invention.
  • FIG. 6 is a network topology diagram of an application example 1;
  • FIG. 8 is a schematic diagram of an application example three network topology.
  • This embodiment describes a segment routing processing method, as shown in FIG. 3, including the following steps:
  • Step 110 Calculate a policy path from the source node to the destination node, and allocate an unused identifier to the policy path.
  • the source node and the destination node are the source node and the destination node of the segment routing message to be forwarded.
  • the operation of calculating the policy path is usually performed by the controller.
  • the policy path may be a node or link through which the specified packet must pass according to the policy or configuration. By default, the path is the shortest path.
  • a super router or server can act as a controller. The controller obtains the topology information of the network and the SID (segment identification) information of each node and link through the southbound interface, and calculates a policy path that meets the application requirements according to the application.
  • the controller determines whether the policy path length (the number of nodes or links that the policy specifies to pass) exceeds the stack processing capability of the forwarding node, and if yes, The policy path allocates an unused identifier. If not, the method may still be used in the embodiment (for example, reducing the deep packet encapsulation by the embodiment to reduce the packet header load) or using the existing forwarding technology. Forward the message.
  • Step 120 Send the mapping information of the policy path and the identifier to the forwarding node, or send the mapping information of the policy sub-path and the identifier to the forwarding node.
  • mapping information is sent to the forwarding node to enable the forwarding node to forward the segment routing message based on the mapping information.
  • the controller assigns an unused identifier to a policy path (the identifier can be an MPLS label or an IPV6 address).
  • the mapping information of the policy path and the identifier delivered by the controller includes, for example, an identifier and policy path information mapped with the identifier.
  • the mapping information of the policy sub-path and the identifier delivered by the controller includes, for example, an identifier and policy sub-path information mapped with the identifier.
  • the mapping information can be sent to the forwarding node through the southbound interface protocol.
  • the southbound interface protocol includes but is not limited to any of the following protocols: Path Computation Unit Protocol (PCEP), Border Gateway Protocol-Link State (BGP-LS), OpenFlow, and Netconf.
  • PCEP Path Computation Unit Protocol
  • Border Gateway Protocol-Link State BGP-LS
  • OpenFlow OpenFlow
  • Netconf Netconf
  • the controller After calculating the policy path, the controller needs to segment the policy path according to the stack processing capability of each node on the policy path, and divide the policy path into two or more policy sub-paths, and the controller
  • the mapping information of the policy path and the identifier may be directly sent to the forwarding node (method 1), or the mapping information of the policy sub-path and the identifier may be sent to the forwarding node (method 2).
  • the controller sends the path information of the policy path and the identifier corresponding to the policy path to the first node of each policy sub-path.
  • the controller can also send the mapping information to all nodes on the policy path, but only the policy sub-path head node needs to process the mapping information.
  • the first node of the policy sub-path except the source node determines the policy sub-path with the self-first node according to the self-stack processing capability and the path information of the received policy path, and establishes the mapping of the policy sub-path and the identifier of the identifier. relationship.
  • the controller will use the path information of each policy sub-path and the policy path.
  • the identifier corresponding to the path is sent to the first node of the corresponding policy subpath.
  • the controller may also assign multiple identifiers to one policy path. If multiple identifiers are assigned, different sub-paths may correspond to different identifiers.
  • the first node of the policy sub-path except the source node establishes a mapping relationship between the policy sub-path with the first node and the identifier of the identifier according to the path information of the received policy sub-path.
  • Assigning an identifier to the policy path, and transmitting the identifier and the policy path, or the mapping information of the identifier and the policy sub-path to the first node of the policy sub-path, is such that the first node of each policy sub-path sends a message (datagram)
  • the path information of the policy sub-path with the node as the first node and the identifier are carried in the segment routing packet header, that is, in the segment list of the segment routing packet header, in addition to carrying the path information, the policy is carried.
  • the identifier corresponding to the path (the first node of the last policy sub-path does not need to carry the above identifier in the segment list of the segment routing header).
  • the parsing segment list obtains the identifier, according to the identifier and the policy sub-received in advance.
  • the path mapping relationship can be used to determine the next policy sub-path, that is, the policy sub-path with the node as the first node.
  • a new packet header is constructed and the packet is forwarded.
  • the path information indicating the policy sub-path with the node as the first node is carried in the segment list of the segment routing packet header. If the tail node of the segment policy sub-path is not the target node of the segment routing, You need to carry the identifier corresponding to the next sub-path of the policy in the segment list.
  • the controller segments the policy path according to the stack processing capability of each node on the policy path, and divides the policy path into two or more policy sub-paths, including: the controller segments the policy path.
  • the length of each policy sub-path does not exceed the depth of the label stack that can be processed by the first node of the policy sub-path (ie, the stack processing capability). If the stack processing power of the first node of all policy sub-paths is the same, the length of each policy sub-path is also the same. For example, if the stack processing capability of each node is 4, then a policy path of 10 nodes can be divided into 3 policy sub-paths (the tail node of one policy sub-path is the same node as the first node of the next policy sub-path). ).
  • the length of each policy sub-path is also different, for example, a policy path of 8 nodes, and the stack processing capability of the source node (node 1) is 4, then the first The length of the segment policy sub-path can be 4 (maximum 4 or less than 4), node 4 is the tail node of the first-stage policy sub-path, that is, the first node of the second-stage policy sub-path, and the stack of the node 4 deal with If the capability is 3, the length of the second-stage policy sub-path can be 3 (maximum 3 or less than 3), and node 6 is the tail node of the second-stage policy sub-path, that is, the first of the third-stage policy sub-path. Node, the stack processing capability of the node 6 is 3, and the third segment policy subpath length is 3, then the policy path is just divided into 3 policy sub-paths.
  • segmenting the policy path In addition to segmenting the policy path according to the stack processing capability of each node on the policy path, one or more of the following information may also be referred to when segmenting the policy path:
  • the specified link needs to be separated from the starting node of the specified link.
  • the policy sub-path head node may not be processed.
  • the stack processing capability is used according to the policy path of each node on the policy path.
  • the length of each policy subpath should be less than the depth of the label stack that the first node of the policy subpath can handle.
  • the private network label or other policy label to be carried needs to be carried in the segment list. Since the carried label needs to occupy a label position in the label stack, the policy sub path length is affected and must be shortened.
  • the controller can obtain the stack processing capability of each node on the policy path in the following two ways: each node on the policy path is automatically reported to the controller, or the controller sends an acquisition request to each node on the policy path. After receiving the request, the node on the policy path reports the stack processing capability of the node to the controller.
  • This embodiment describes a segment routing processing device, as shown in FIG. 4, including a building module and a sending module, where:
  • the building module 210 is configured to: calculate a policy path from the source node to the destination node, The policy path assigns an unused identifier;
  • the sending module 220 is configured to: send the mapping information of the policy path and the identifier to the forwarding node, or send the mapping information of the policy sub-path and the identifier to the forwarding node.
  • the device is located on the controller side, and the processing on the controller side enables the forwarding node to forward the segment routing message (that is, the data packet) based on the mapping information, so as to prevent the packet from being forwarded due to the limited stack processing capability of the node.
  • the foregoing building module 210 allocates an unused identifier to the policy path, and the constructing module 210 allocates an unused identifier to the policy path when the length of the policy path exceeds the stack processing capability of the forwarding node.
  • the identifier can be an unused MPLS label or an Ipv6 address.
  • the sending module 220 sends the mapping information to the forwarding node by using a southbound interface protocol.
  • the southbound interface protocol includes any one of PCEP, BGP-LS, openflow, and Netconf.
  • the sending module 220 is configured to: when the mapping information of the policy path and the identifier is sent to the forwarding node, segment the policy path according to the stack processing capability of each node on the policy path, and The policy path is divided into two or more policy sub-paths, and the path information of the policy path and the identifier are sent to the first node of each policy sub-path.
  • the sending module 220 is configured to: when the mapping information of the policy sub-path and the identifier is sent to the forwarding node, according to the stack processing capability of each node on the policy path, the policy path The segmentation is performed, and the policy path is divided into two or more policy sub-paths, and the path information of each policy sub-path and the identifier are sent to the first node of the corresponding policy sub-path.
  • the device may further include a stack processing capability obtaining module, configured to: acquire a stack processing capability automatically reported by each node on the policy path, or send a stack processing capability acquisition request to each node on the policy path. And receive the stack processing capability reported by each node on the policy path.
  • a stack processing capability obtaining module configured to: acquire a stack processing capability automatically reported by each node on the policy path, or send a stack processing capability acquisition request to each node on the policy path. And receive the stack processing capability reported by each node on the policy path.
  • the sending module 220 segments the policy path according to the stack processing capability of each node on the policy path, so that the length of each policy sub-path does not exceed that of the policy sub-path.
  • the stack is deep.
  • the sending module 220 can segment the policy path according to the stack processing capability of each node on the policy path, and can also segment the policy path by referring to one or more of the following information: 1 Is there a policy path? Indicates whether the label needs to carry other labels in the packet header of the two-layer routing packets.
  • the sending module 220 segments the policy path by referring to the foregoing information 1.
  • the sending module 220 determines that the policy path has a specified link, and when the policy path is segmented according to the stack processing capability of each node on the policy path, The specified link is split into the same policy sub-path as the starting node of the specified link.
  • the sending module 220 segments the policy path by referring to the information 2, and the sending module 220 determines that if the segment routing message needs to carry a private network label or other policy label (for example, a source node and/or a destination node of the segment route), When the stack processing capability of each node on the policy path segments the policy path, the length of each policy sub-path is smaller than the stack depth that the first node of the policy sub-path can handle.
  • a private network label or other policy label for example, a source node and/or a destination node of the segment route
  • This embodiment describes a device for sending a segment routing message, as shown in FIG. 5, including a receiving module 310 and a forwarding module 320, where:
  • the receiving module 310 is configured to: receive path information of a policy path or a policy sub-path, and an identifier that is allocated to the policy path;
  • the forwarding module 320 is configured to: when the device is the first node of the policy sub-path, determine the policy sub-path with the self-first node according to the self-stack processing capability and the path information of the policy path, and establish the policy sub-path and the The identifier of the identifier maps the forwarding relationship, or directly establishes a mapping relationship between the policy sub-path with the first node and the identifier of the identifier according to the path information of the policy sub-path.
  • the device in this embodiment is located on the node side of the forwarding device, and is applicable to all the policy sub-path head nodes.
  • the first policy sub-path first node that is, the source node of the packet receives the path of the policy path or the policy sub-path.
  • the identifier mapping forwarding relationship does not need to be established, and only the path information and the identifier of the received policy subpath are used to construct the segment routing report. Header, fill in the path information and logo in the segment list.
  • the forwarding module 320 is further configured to: when the local device is the first node of the policy sub-path, when the local node sends the packet, the path information of the policy sub-path with the node as the first node is carried in the segment routing packet header. And the identifier is forwarded; and when the device is the first node of the policy sub-path, after the identifier is identified, the packet is forwarded according to the identifier mapping forwarding relationship.
  • the forwarding module 320 forwards the packet according to the identifier mapping forwarding relationship, including: the forwarding module searches for the identifier mapping forwarding relationship, and obtains the policy sub-path corresponding to the node, and carries the policy corresponding to the node in the segment routing packet header when the packet is sent. Path information of the sub path and the identifier.
  • the device further includes a stack deep processing capability reporting module, configured to: automatically report the stack processing capability of the local node, or report the stack processing capability of the local node after receiving the stack processing capability acquisition request.
  • a stack deep processing capability reporting module configured to: automatically report the stack processing capability of the local node, or report the stack processing capability of the local node after receiving the stack processing capability acquisition request.
  • This example uses an extended MPLS label to represent the policy subpath by extending the management SRGB (segment routing global block), as shown in Figure 6:
  • the figure includes 10 devices, and the corresponding node identifiers (NODE IDs) are R1, R2, R3, R4, R5, R6, R7, R8, R9, and R10, respectively, and the segment identifiers (SIDs) assigned to the 10 devices are respectively They are 101, 102, 103, 104, 105, 106, 107, 108, 109, and 110.
  • the SRGB block size is 100-200.
  • the source node of the segment route to be forwarded is R1 and the destination node is R10.
  • the policy path specified by the controller from source node R1 to destination node R10 in this example is: 101-102-104-103-105-106-108-107-109-110.
  • the policy path is divided into three policy sub-paths, including: Policy subpath 1: 101-102-104-103, policy subpath 2: 103-105-106-108, policy subpath 3: 108-107-109-110. Segmentation of a policy path can also be understood as segmentation or fragmentation of a segment list. Processing includes:
  • the controller selects an unassigned tag, such as 100, and uses the tag 100 to map and maintain the policy path on the controller;
  • the label is not assigned or is not used to indicate that the label is not the segment identifier of the node, nor the segment identifier of the link.
  • the controller sends the mapping information of the policy sub-path and the label to the first node of each policy sub-path through the southbound interface protocol (PCEP, BGP-LS, openflow, or Netconf, etc.) (the first node of the policy sub-path can be understood)
  • PCEP southbound interface protocol
  • BGP-LS openflow, or Netconf, etc.
  • Netconf Netconf
  • the controller can directly send the 102-104-103-100, indicating that the content of the R1 node to be encapsulated in the segment header of the packet header to be forwarded is 102-104-103-100 (the first node).
  • the SID information indicates that it does not need to appear in the process of encapsulation and entry formation.
  • the mapping between 102-104-103 and 100 may also be issued.
  • the content of the automatic encapsulation segment list is 102, 104, 103, 100;
  • the controller can directly deliver the mapping between 100 and 105-106-108-100.
  • R3 can form a label mapping forwarding table as shown in Table 1, so that when the R3 node finds the incoming label, At 100 o'clock, multiple labels are applied to the push, and the next hop and the outbound interface are copied from the outermost label in the outgoing label, the next hop and the outgoing interface of the forwarding table of the label 105.
  • the controller can also directly deliver the mapping between 100 and 105-106-108, and the R3 operation is the same as above.
  • the controller can directly deliver the mapping between 100 and 107-109-110.
  • R8 forms a forwarding table.
  • the incoming label is 100
  • the multiple labels are pushed on the push, and the next hop and the outgoing interface are copied.
  • the packet forwarding process is as follows:
  • the data packet arrives at the R1 node, and according to the received mapping information, the layer 4 packet header ⁇ 102, 104, 103, 100 ⁇ is encapsulated, and the forwarding entry is searched according to the outer label 102, and forwarded to the node R2;
  • R2 receives the data packet carrying the packet header 102-104-103-100, and finds that the outermost label is its own SID, pops the 102 label and forwards it according to 104, forwards it to the R4 node, and R4 operates as R2.
  • the packet is forwarded to the R3 node. After the R3 node pops its own 103 label, it identifies the label 100, searches for the label mapping forwarding table, and re-encapsulates the packet.
  • the content of the segment header of the packet header is ⁇ 105, 106, 108, 100 ⁇ ;
  • the subsequent packet is forwarded to the R8 node as described above, and the R8 node identifies the tag 100, searches for the label mapping forwarding table, and re-encapsulates the packet.
  • the content of the segment header encapsulation of the packet header is ⁇ 107, 109, 110 ⁇ .
  • the data packet is forwarded to the destination address according to the policy sub-path and the mapping information of the label without changing the chip encapsulation processing capability of the forwarding device.
  • the policy path 1 of the above flow 1 (Flow1) is: 101-102-104-103-105-106-108-107-109-110, the corresponding label is 100, and the policy path 2 specified for the flow 2 (Flow2) It is: 101-103-104-106-105-107-108-110, and the corresponding label is 200.
  • the forwarding of Flow1 is implemented with reference to the above process.
  • the policy path 2 is divided into two policy sub-paths of 101-103-104-106 and 106-105-107-108-110, respectively.
  • the controller sends the mapping information of the policy sub-path and the label 200 to the first node of each policy sub-path through the southbound structure protocol, that is, R1 and R6:
  • mapping information is sent: 103-104-106-200;
  • mapping between 200 and 105-107-108-110 is delivered to guide re-encapsulation and forwarding;
  • the FLOW2 packet forwarding process is as follows:
  • the packet arrives at the R1 node, and encapsulates the 4-layer header ⁇ 103, 104, 106, 200 ⁇ according to the policy of the flow.
  • the outer label 103 the forwarding entry is found, and it is found that it is the next-hop node of 103, and the 103 label is popped up and forwarded to the node R3.
  • R3 receives the data packet carrying the packet header ⁇ 104, 106, 200 ⁇ and finds that it is the next-hop node of 104.
  • the label is popped up and forwarded to node R4, and forwarded to the R4 node.
  • R4 forwards the packet to the R6 node.
  • the R6 node identifies the tag 200 and re-encapsulates the message, and the segment list is ⁇ 105, 106, 108, 110 ⁇ ;
  • the message is subsequently forwarded to the R10 node as described above.
  • the policy path covers the node SID.
  • the path needs to specify a strict display path, it needs to involve the adjacent SID (Adjacency SID) of each node.
  • Adjacency SID Adjacency SID
  • the adjacent SID specified by the above link is the local label value.
  • the upper two links are 9001 and 9002 respectively. If the specified display path must be reachable through the upper link of R3-R5, The strategy path calculated by the controller is: 101-102-104-103-9001-105-106-108-107-109-110.
  • the label allocated to the policy path is 199
  • the label in the non-SRGB range is to ensure that the forwarding of the traffic is correct, and the local label needs to be carried in the SID of the device, and has a label ( In the case of 199), the fragmentation cannot be performed at the SID and the local label, that is, as described above, the R1 carries the 4-layer label, 102-104-103-9001, and the label 199 cannot be carried, then:
  • the controller sends 102-104-199, indicating the content of the packet header
  • the mapping of 199 to 103-9001-105-199, or the mapping of 199 to 103-9001-105, is issued to guide re-encapsulation;
  • the mapping of 199 to 106-108-107-199, or the mapping of 199 to 106-108-107, is directed to repackage;
  • mapping between 199 and 109-110 is delivered to guide re-encapsulation.
  • the packet forwarding process is as described in application example 1.
  • the packet arrives at R3, the 9001 label will be popped up on R3 and the message will be forwarded to the 9001 link.
  • the segment list is used to guide the forwarding of the public network label. If the traffic is sent to the peer, the private network label is sent to the peer.
  • the private network label is shown in Figure 8.
  • FLOW 1 is sent from the CE (the user network edge device) to the peer.
  • the policy path of the CE is the same as that of the application example.
  • the Lv Label vpn identifier
  • the Lv always needs to be carried on the bottom of the stack.
  • the ability to reduce the number of tags to segment, that is, the strategy subpath length needs to be reduced by 1.
  • the policy path is: 101-102-104-103-105-106-108-107-109-110, where 101 and 110 are given
  • the PE1 and PE2 (the PE is the edge router of the carrier) are allocated.
  • the identifier of the path mapping is 100.
  • the deep processing capability of the tag stack is 4, but since the private network label needs to be carried all the time, the stack depth left to the SR becomes 3, and the segment is:
  • the 102-104-100-Lv is delivered, indicating the content to be encapsulated in the middle segment of the packet header of the packet to be forwarded;
  • the mapping from 100 to 103-105-100 is delivered, which guides the search of the label 100 and guides the splicing and forwarding of the packet;
  • the mapping of 100 to 106-108-100 is delivered, and the label 100 is instructed to guide and guide the splicing and forwarding of the packet;
  • the mapping from 100 to 107-109-110 is delivered, which guides the search of the label 100 and guides the splicing and forwarding of the packet;
  • the destination address 110 of the policy path needs to be always carried at the bottom of the stack, such as reducing the label depth to handle the push operation.
  • the SID assigned to the NODE ID of each device in the figure is 101-110, and the SRGB block size is 100-200.
  • the policy path specified on the controller is 101-102-104-103-105 -106-108-107-109-110, the controller can learn the current stack processing capacity of the device through the southbound interface.
  • the stack processing capability of R1-R5 is 3, and the stack processing capability of R6-R10 is 5.
  • the policy path needs to be segmented according to the stack processing capability, and the segment can be implemented as shown:
  • the label on the controller 100 is not assigned, and the mapping of the policy path to the controller is performed using a label of 100. (The tag 100 is not the SID of the node or link and is only used to represent the mapping.)
  • the controller sends the mapping information to the first node of each policy sub-path according to the obtained deep processing capability of the node stack and the policy path information, that is, the node that needs to be spliced by the SR packet header LIST (according to the obtained The deep processing capability of the stack, knowing that the segmentation will occur on R1, R4, R5, and R8, and the information is delivered through the southbound interface protocol, such as PCEP, BGP-LS, openflow, etc. Extension of the agreement issued):
  • the mapping information sent is: 100:101-102-104-103-105-106-108-107-109-110; R1 knows that it is the source node, and its own deep processing capability is 3, then The direct form encapsulation ⁇ 102, 104, 100 ⁇ is loaded in the message header and the next hop edge 102 is forwarded.
  • the mapping of 100:101-102-104-103-105-106-108-107-109-110 is issued to form a forwarding table.
  • the 3 label on the push is ⁇ 103 (for The SID of the next hop in the list list itself, 105, 100 ⁇ (the content of the list can also be understood as a mapping fragment or a list fragment), and the next hop and the outbound interface are copied by the mapping fragment.
  • the mapping of 100:101-102-104-103-105-106-108-107-109-110 is issued to form a forwarding table.
  • the 3 label on the push is ⁇ 106 (for The next hop of the next hop in the list list, 108, 100 ⁇ , the next hop and the outbound interface are copied to the next hop and the outbound interface of the forwarding table of the first SID 106 of the mapped fragment.
  • the mapping of 100:101-102-104-103-105-106-108-107-109-110 is issued, and the forwarding table is formed.
  • the push is 3 (three places here) Because the list list has only 3 hops left, and its processing power is 5 times, but it does not use 5 re-encapsulation. If the list list has more than 5 tags, it will be sliced according to 5 times. 107 (as the SID of the next hop in the list), 109, 110 ⁇ , the next hop and the outbound interface are copied to the next hop and the outbound interface of the first SID 107 forwarding table of the mapped fragment. .
  • the packet forwarding process is as follows:
  • the packet arrives at the R1 node, and the Layer 3 label packet header 102-104-100 is encapsulated according to the policy of the flow. Finding a forwarding entry according to the outer label 102, and forwarding to the node R2;
  • R2 receives the traffic carrying the packet header 102-104-100, finds that the outermost label is its own SID, pops the 102 label and forwards it according to 104, and forwards it to the R4 node;
  • R4 receives the traffic carrying the packet header 104-100, finds that the outermost label is its own SID, pops the 104 label and forwards it according to 100, and finds that the forwarding table of 100 needs to encapsulate the 3 heavy label 103-105-100, the next hop. And the outbound interface is the next hop and the outbound interface of the 103, and the packet is forwarded to R3;
  • R3 receives the traffic carrying the packet header 103-105-100, and finds that the outermost label is its own SID, pops the 103 label and forwards it according to 105, and forwards it to the R5 node;
  • R5 receives the traffic carrying the packet header 105-100, and finds that the outermost label is its own SID.
  • the 105 label is ejected and forwarded according to 100.
  • the forwarding table of 100 needs to be encapsulated with 3 heavy labels 106-108-100, and the next hop.
  • the outgoing interface is the next hop and the outgoing interface of the 106, and the packet is forwarded to R6;
  • R6 receives the traffic carrying the packet header 106-108-100, finds that the outermost label is its own SID, pops the 106 label and forwards it according to 108, and forwards it to the R8 node;
  • R8 receives the traffic carrying the packet header 108-100, finds that the outermost label is its own SID, pops up the 108 label and forwards it according to 100, and finds that the forwarding table of 100 needs to encapsulate the 3 heavy label 107-109-110, the next hop. And the outgoing interface is the next hop and the outgoing interface of the 107, and the packet is forwarded to R7;
  • R7 receives the traffic carrying the packet header 107-109-110, finds that the outermost label is its own SID, pops the 107 label and forwards it according to 109, and forwards it to the R9 node;
  • R9 receives the traffic carrying the packet header 109-110, finds that the outermost label is its own SID, pops the 109 label and forwards it according to 110, and forwards it to the R10 node;
  • R10 receives the traffic carrying the packet header 110, and finds that the outermost label is its own SID, and the 110 label is popped up to restore the original packet forwarding.
  • the message is forwarded to the destination address according to the path policy information without changing the chip encapsulation processing capability of the device.
  • all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
  • the device/function module/functional unit in the above embodiments may be implemented by using a general-purpose computing device, which may be concentrated on a single computing device or distributed in multiple computing devices. On the network.
  • the device/function module/functional unit in the above embodiment When the device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the embodiment of the present invention carries a partial policy path, that is, a policy sub-path, in the segment list, and indicates the forwarding of the subsequent node by using the identifier, so that when the policy path length exceeds the processing capability of the forwarding node stack, the packet can still be forwarded through the segment route. To the destination node.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种段路由处理方法、处理装置及发送装置,在路径长度较长时,仍能保证报文的发送。所述段路由处理方法包括:计算源节点到目的节点的策略路径,为所述策略路径分配未使用的标识,将策略路径与所述标识的映射信息下发给转发节点,或者将策略子路径与所述标识的映射信息下发给转发节点。所述段路由处理装置包括构建模块和发送模块。所述段路由报文发送装置,包括接收模块和转发模块。

Description

一种段路由处理方法、处理装置及发送装置 技术领域
本文涉及网络通信技术,尤指一种段路由处理方法、处理装置及发送装置。
背景技术
段路由SR(Segment Routing)是一种基于源地址的路由的方法,通过在数据报文外部叠加一串影响当前最短路径转发的节点信息,报文根据这些指定路径节点或链路信息进行最短路径转发。图1所示为SR报文头(SR Header)格式,其中{SR1SR2…SRn}为段列表(Segment list)用于携带指定SR节点路径信息,Ptr为指针,SI为SR ingress(入口)节点,SE为SR egress(出口)节点。段列表即为一条显示的策略路径,指导数据报文沿策略路径中的节点或链路信息进行转发。当包含段路由报文头的报文在SR网络域中进行传输时,通过段路由头中携带的指定SR节点路径信息,网络设备(一般为路由器)根据段路由报文头中的段操作指示进行相应的操作,该操作指示包括Push(推入),Next(下一个),Continue(继续)。当操作指示为Push操作时,网络设备(一般为路由器)将SR Header压入到IP报文中,或者在段路由报文头中增加其他的段指示;Next和Continue操作通过Ptr的指针来表明,当判断出当前的段操作已经完毕,指针移到下一个段,指针所指的段表明是用于转发下一跳的活动段(active segment);Continue操作为该段操作没有结束,指针仍然停留在当前的段上。通过SR指定路径转发功能,可以非常便捷的实现网络的负载均衡和流量工程,以及快速重路由等复杂网络功能。其中段操作指示也可以扩展实现基于业务或者拓扑的路由指示,那么段路由也可以实现基于业务的网络虚拟化以及操作管理维护(OAM)等方面的应用。
段路由技术充分利用了MPLS(Multiprotocol Label Switching,多协议标签交换)封装技术,MPLS报文头或者IPv6报文头中携带段路由报文头,如图2所示为MPLS报文头的格式,MPLS报文头由32bits(4个字节)组成, 其中包括20bits的标签字段,3bits的CoS(Class of Service,服务种类)字段,用于报文的优先级指示。1bit的栈底标记(图中所示S),用于MPLS的嵌套操作,8bits的TTL(Time To Live,生存时间)字段,用于MPLS网络中的TTL计数。段路由技术可以完全兼容和继承了相关技术的MPLS转发数据平面,不需要修改MPLS的报文头就可以实现对于段路由的转发。
在MPLS数据封装中,SR Header中的segment list通过标签栈堆叠的形式实现,其中SR Ptr指向的为当前执行的segment(active segment),对应于MPLS标签栈中的顶层标签;SR中包括为SR Header定义的CONTINUE操作,对应MPLS中的标签交换(SWAP)操作;通过本地SR转发表来进行携带同一标签值的入标签和出标签的SWAP操作;SR中还包括为SR Header定义的NEXT操作,对应MPLS中的标签POP操作;即弹出顶层标签;SR中还包括为SR Header定义的PUSH操作,对应MPLS中的PUSH操作,即压入标签。而如果标签栈中的标签堆叠个数超过转发设备的栈处理能力(尤其是对报文执行压栈操作的节点),即路径过长,也即路径中指定的节点或链路信息个数过多,则转发设备无法进行处理,报文将无法发送。
发明内容
本文提供一种段路由处理方法、处理装置及发送装置,在路径长度较长时,仍能保证报文的发送。
一种段路由处理方法,包括:
计算源节点到目的节点的策略路径,为所述策略路径分配未使用的标识,将策略路径与所述标识的映射信息下发给转发节点,或者将策略子路径与所述标识的映射信息下发给转发节点。
可选地,所述计算源节点到目的节点的策略路径,为所述策略路径分配未使用的标识,包括:计算源节点到目的节点的策略路径,判断所述策略路径长度超过转发节点的栈处理能力时,为所述策略路径分配未使用的标识。
可选地,所述将策略路径与所述标识的映射信息下发给转发节点,包括:根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段, 将所述策略路径分为两段或两段以上的策略子路径,将所述策略路径的路径信息及所述标识发送给每个策略子路径的首节点。
可选地,将所述策略路径的路径信息及所述标识发送给每个策略子路径的首节点后,所述方法还包括:除源节点外的其他策略子路径的首节点根据自身栈处理能力以及接收到的策略路径的路径信息确定以自身为首节点的策略子路径,建立所述策略子路径与所述标识的标识映射转发关系。
可选地,所述将策略子路径与所述标识的映射信息下发给转发节点,包括:根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,将每段策略子路径的路径信息及所述标识发送给对应的策略子路径的首节点。
可选地,将每段策略子路径的路径信息及所述标识发送给对应的策略子路径的首节点后,所述方法还包括:除源节点外的其他策略子路径的首节点根据接收到的策略子路径的路径信息建立以自身为首节点的策略子路径与所述标识的标识映射转发关系。
可选地,所述方法还包括:除最后一条策略子路径首节点外的其他每个策略子路径的首节点在发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息以及所述标识,下一段策略子路径的首节点在识别所述标识后根据标识映射转发关系转发报文,最后一条策略子路径首节点在发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息。
可选地,所述除最后一条策略子路径首节点外的其他每个策略子路径的首节点在发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息以及所述标识,下一段策略子路径的首节点在识别所述标识后根据标识映射转发关系转发报文,最后一条策略子路径首节点在发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息,包括:
除最后一条策略子路径首节点外的其他策略子路径的首节点识别所述标识后,查找标识映射转发关系,获得本首节点对应的策略子路径,本首节点在发送报文时,在段路由报文头中携带本首节点对应的策略子路径的路径信 息以及所述标识;最后一条策略子路径首节点识别所述标识后,查找标识映射转发关系,获得本首节点对应的策略子路径,本首节点在发送报文时,在段路由报文头中携带本首节点对应的策略子路径的路径信息。
可选地,所述根据策略路径上每个节点的栈处理能力对所述策略路径进行分段,包括:
由控制器根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段;所述策略路径上每个节点的栈处理能力由策略路径上的每个节点自动上报给所述控制器,或者由所述控制器向策略路径上每个个节点下发获取请求,策略路径上节点收到请求后,将本节点的栈处理能力上报给所述控制器。
可选地,所述根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,包括:根据策略路径上每个节点的栈处理能力以及以下信息中的一种或多种对所述策略路径进行分段:所述策略路径中是否有指定链路;所述段路由报文的报文头中是否需要携带其他标签。
可选地,所述根据策略路径上每个节点的栈处理能力以及策略路径中是否有指定链路对所述策略路径进行分段,包括:当所述策略路径有指定链路时,在根据策略路径上每个节点的栈处理能力对所述策略路径进行分段时,将指定链路与所述指定链路的起始节点分在同一段策略子路径中。
可选地,所述根据策略路径上每个节点的栈处理能力以及所述段路由报文是否需要携带其他标签对所述策略路径进行分段,包括:如果段路由报文需要携带私网标签或其他策略标签,则根据策略路径上每个节点的栈处理能力对策略路径分段时,每段策略子路径的长度小于该段策略子路径的首节点能够处理的栈深。
可选地,所述根据策略路径上每个节点的栈处理能力对所述策略路径进行分段,包括:对所述策略路径分段时,每个策略子路径的长度不超过所述策略子路径的首节点能够处理的栈深。
一种段路由处理装置,包括构建模块和发送模块,其中:
所述构建模块,设置为:计算源节点到目的节点的策略路径,为所述策略路径分配未使用的标识;
所述发送模块,设置为:将策略路径与所述标识的映射信息下发给转发节点,或者将策略子路径与所述标识的映射信息下发给转发节点。
可选地,所述构建模块是设置为:判断所述策略路径长度超过转发节点的栈处理能力时,为所述策略路径分配未使用的标识。
可选地,所述发送模块是设置为:采用将策略路径与所述标识的映射信息下发给转发节点时,根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,将所述策略路径的路径信息及所述标识发送给每个策略子路径的首节点。
可选地,所述发送模块是设置为:采用将策略子路径与所述标识的映射信息下发给转发节点时,根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,将每段策略子路径的路径信息及所述标识发送给对应的策略子路径的首节点。
可选地,所述装置还包括栈处理能力获取模块,设置为:获取策略路径上的每个节点自动上报的栈处理能力,或者向策略路径上每个节点下发栈处理能力获取请求,并接收策略路径上每个节点上报的栈处理能力。
可选地,所述发送模块是设置为:根据策略路径上每个节点的栈处理能力以及以下信息中的一种或多种对所述策略路径进行分段:所述策略路径中是否有指定链路;所述段路由报文的报文头中是否需要携带其他标签。
可选地,所述发送模块是设置为:判断所述策略路径有指定链路时,在根据策略路径上每个节点的栈处理能力对所述策略路径进行分段时,将指定链路与所述指定链路的起始节点分在同一段策略子路径中。
可选地,所述发送模块是设置为:判断如果段路由报文需要携带私网标签或其他策略标签,则根据策略路径上每个节点的栈处理能力对策略路径分段时,使每段策略子路径的长度小于该段策略子路径的首节点能够处理的栈深。
可选地,所述发送模块是设置为:对所述策略路径分段时,使每个策略 子路径的长度不超过所述策略子路径的首节点能够处理的栈深。
一种段路由报文的发送装置,包括接收模块和转发模块,其中:
所述接收模块,设置为:接收策略路径或策略子路径的路径信息以及为所述策略路径分配的标识;
所述转发模块,设置为:在本装置作为策略子路径首节点时,根据自身栈处理能力以及策略路径的路径信息确定以自身为首节点的策略子路径,建立所述策略子路径与所述标识的标识映射转发关系,或者根据策略子路径的路径信息直接建立以自身为首节点的策略子路径与所述标识的标识映射转发关系。
可选地,所述转发模块还设置为:在本装置作为策略子路径的首节点时,在本节点发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息以及所述标识;以及在本装置作为策略子路径的首节点时,在收到所述标识后,根据所述标识映射转发关系转发报文。
可选地,所述转发模块是设置为:查找所述标识映射转发关系,获得本节点对应的策略子路径,在发送报文时,在段路由报文头中携带本节点对应的策略子路径的路径信息以及所述标识。
可选地,所述装置还包括栈处理能力上报模块,设置为:自动上报本节点的栈处理能力,或者在收到栈处理能力获取请求后上报本节点的栈处理能力。
一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项的方法。
本发明实施例通过在段列表中携带部分策略路径即策略子路径,并通过标识来指示后续节点的转发,使得当策略路径长度超过转发节点栈处理能力时,仍能够保证报文通过SR转发至目的节点。
附图概述
图1为相关技术的SR报文头格式示意图;
图2为相关技术的MPLS报文头格式示意图;
图3为本发明实施例一流程图;
图4为本发明实施例二装置结构示意图;
图5为本发明实施例三装置结构示意图;
图6为应用示例一网络拓扑图;
图7为应用示例二网络拓扑图;
图8为应用示例三网络拓扑图。
本发明的实施方式
下文中将结合附图对本发明的实施方式进行详细说明。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在一些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例1
本实施例描述一种段路由处理方法,如图3所示,包括以下步骤:
步骤110,计算源节点到目的节点的策略路径,为所述策略路径分配未使用的标识;
上述源节点和目的节点是指待转发的段路由报文的源节点和目的节点。
计算策略路径的操作通常由控制器完成,该策略路径可以是根据策略或配置显示指定的报文必须经过的节点或链路,默认情况下的路径为最短路径。超级路由器或者服务器可以作为控制器。控制器通过南向接口获取到网络的拓扑信息及每个节点及链路的SID(段标识)信息,根据应用计算符合应用需求的策略路径。
可选地,控制器计算源节点到目的节点的一条策略路径后,先判断该策略路径长度(策略指定需要经过的节点或链路数目)是否超过转发节点的栈处理能力,如果是,则为该策略路径分配一个未使用的标识,如果未超过,则可以选择仍采用本实施例方法(例如通过本实施例所述减少栈深封装以减少报文头负载)或者也可以采用已有转发技术转发报文。
步骤120,将策略路径与所述标识的映射信息下发给转发节点,或者将策略子路径与所述标识的映射信息下发给转发节点。
将映射信息下发给转发节点用以使转发节点基于该映射信息转发段路由报文。
可选地,控制器为一条策略路径分配一个未使用的标识(该标识可以是MPLS标签或者是IPV6地址)。控制器下发的策略路径和标识的映射信息例如包括:标识和与该标识映射的策略路径信息。控制器下发的策略子路径和标识的映射信息例如包括:标识和与该标识映射的策略子路径信息。
上述映射信息可通过南向接口协议下发给转发节点。南向接口协议包括但不限于以下协议中任意一个:路径计算单元协议(PCEP)、边界网关协议-链路状态(BGP-LS)、开放流(Openflow)、网络配置(Netconf)。
控制器在计算得到策略路径后,需根据策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,控制器可直接将策略路径与标识的映射信息下发给转发节点(方式一),也可以将策略子路径与标识的映射信息下发给转发节点(方式二),
对于方式一:可选地,控制器将该策略路径的路径信息及该策略路径对应的标识发送给每个策略子路径的首节点。控制器也可以将映射信息发送给策略路径上所有节点,但只有策略子路径首节点需要对该映射信息进行处理。
除源节点外的其他策略子路径的首节点根据自身栈处理能力以及接收到的策略路径的路径信息确定以自身为首节点的策略子路径,建立所述策略子路径与所述标识的标识映射转发关系。
对于方式二:可选地,控制器将每段策略子路径的路径信息及该策略路 径对应的标识发送给对应的策略子路径的首节点。控制器也可以为一条策略路径分配多个标识,如果分配多个标识,则不同的子路径可对应不同的标识。
除源节点外的其他策略子路径的首节点根据接收到的策略子路径的路径信息建立以自身为首节点的策略子路径与所述标识的标识映射转发关系。
为策略路径分配标识,并将标识和策略路径,或者标识和策略子路径的映射信息发送给策略子路径的首节点的作用在于,使每个策略子路径的首节点在发送报文(数据报文)时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息以及所述标识,即在段路由报文头的段列表中除了携带路径信息外,还携带策略子路径对应的标识(最后一条策略子路径的首节点可不必在段路由报文头的段列表中携带上述标识)。这样,当该段策略子路径上的最后一个节点亦即下一段策略子路径上的首节点收到该报文后,解析段列表获得所述标识,根据预先接收到的所述标识与策略子路径的映射关系,可以确定下一段策略子路径亦即以本节点为首节点的策略子路径,基于该策略子路径构建新的报文头并转发报文。构建新的报文头时在段路由报文头的段列表中携带表示以本节点为首节点的策略子路径的路径信息,如果该段策略子路径的尾节点不是段路由的目标节点,则还需要在段列表中携带下一段策略子路径对应的标识。
上述控制器根据策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,包括:控制器对策略路径分段时,每段策略子路径的长度不超过策略子路径的首节点能够处理的标签栈栈深(即栈处理能力)。如果所有策略子路径首节点的栈处理能力相同,则每段策略子路径的长度也相同。例如每个节点的栈处理能力为4,则一条经过10个节点的策略路径刚好可以被分为3个策略子路径(一条策略子路径的尾节点与下一条策略子路径的首节点为同一节点)。如果策略子路径首节点的栈处理能力不同,则每段策略子路径的长度也不相同,例如一条经过8个节点的策略路径,源节点(节点1)的栈处理能力为4,则第一段策略子路径的长度可以为4(最大为4,也可以小于4),节点4为第一段策略子路径的尾节点,亦即第二段策略子路径的首节点,该节点4的栈处理 能力为3,则第二段策略子路径的长度可以为3(最大为3,也可以小于3),节点6为第二段策略子路径的尾节点,亦即第三段策略子路径的首节点,该节点6的栈处理能力为3,则第三段策略子路径长度为3,则该策略路径刚好被分为3条策略子路径。
除了根据策略路径上每个节点的栈处理能力对所述策略路径进行分段,对策略路径分段时还可以参考以下信息中的一种或多种:
1、所述策略路径中是否有指定链路;
如果策略路径中有指定链路,则在根据策略路径上每个节点的栈处理能力对所述策略路径进行分段时,需将指定链路与所述指定链路的起始节点分在同一段策略子路径中。由于该指定链路的标签需占用标签栈中的一个标签位置,如果将其与该链路起始节点分在不同策略子路径中,则可能导致策略子路径首节点无法处理。
2、所述段路由报文的报文头中是否需要携带其他标签。
如果段路由报文需要携带私网标签或其他策略标签(例如源节点标签和/或目的节点标签基于策略需要始终携带)等其他标签,则根据策略路径上每个节点的栈处理能力对策略路径分段时,每段策略子路径的长度应小于该段策略子路径的首节点能够处理的标签栈栈深。这里是指需要携带的私网标签或其他策略标签需要携带在段列表中,则由于携带的标签需占用标签栈中的一个标签位置,因此策略子路径长度会受到影响而必须缩短。
控制器获取策略路径上每个节点的栈处理能力的方式可以有以下两种:由策略路径上的每个节点自动上报给控制器,或者由控制器向策略路径上每个节点下发获取请求,策略路径上节点收到请求后,将本节点的栈处理能力上报给所述控制器。
实施例2
本实施例描述一种段路由处理装置,如图4所示,包括构建模块和发送模块,其中:
所述构建模块210,设置为:计算源节点到目的节点的策略路径,为所 述策略路径分配未使用的标识;
所述发送模块220,设置为:将策略路径与所述标识的映射信息下发给转发节点,或者将策略子路径与所述标识的映射信息下发给转发节点。
上述装置位于控制器侧,通过上述控制器侧的处理可以使转发节点基于上述映射信息转发段路由报文(即数据报文),避免由于节点的栈处理能力有限而导致的报文无法转发。
上述构建模块210为所述策略路径分配未使用的标识,包括:所述构建模块210判断所述策略路径长度超过转发节点的栈处理能力时,为所述策略路径分配未使用的标识。该标识可以是一个未使用的MPLS标签也可以是一个Ipv6地址。
上述发送模块220通过南向接口协议将所述映射信息下发给转发节点。上所述南向接口协议包括PCEP、BGP-LS、openflow,Netconf任意之一。
所述发送模块220是设置为:采用将策略路径与所述标识的映射信息下发给转发节点时,根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,将所述策略路径的路径信息及所述标识发送给每个策略子路径的首节点。
可选地,所述发送模块220是设置为:采用将策略子路径与所述标识的映射信息下发给转发节点时,根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,将每段策略子路径的路径信息及所述标识发送给对应的策略子路径的首节点。
在一个实施例中,上述装置还可以包括栈处理能力获取模块,设置为:获取策略路径上的每个节点自动上报的栈处理能力,或者向策略路径上每个节点下发栈处理能力获取请求,并接收策略路径上每个节点上报的栈处理能力。
在一个实施例中,发送模块220根据策略路径上每个节点的栈处理能力对所述策略路径进行分段时,使每个策略子路径的长度不超过所述策略子路径的首节点能够处理的栈深。
发送模块220除了根据策略路径上每个节点的栈处理能力对所述策略路径进行分段外,还可以参考以下信息中的一种或多种对策略路径进行分段:①策略路径中是否有指定链路;②段路由报文的报文头中是否需要携带其他标签。
发送模块220参考上述信息①对策略路径进行分段,包括:发送模块220判断策略路径有指定链路时,在根据策略路径上每个节点的栈处理能力对所述策略路径进行分段时,将指定链路与所述指定链路的起始节点分在同一段策略子路径中。
发送模块220参考上述信息②对策略路径进行分段,包括:发送模块220判断如果段路由报文需要携带私网标签或其他策略标签(例如段路由的源节点和/或目的节点),则根据策略路径上每个节点的栈处理能力对策略路径分段时,使每段策略子路径的长度小于该段策略子路径的首节点能够处理的栈深。
实施例3
本实施例描述一种段路由报文的发送装置,如图5所示,包括接收模块310和转发模块320,其中:
所述接收模块310,设置为:接收策略路径或策略子路径的路径信息以及为所述策略路径分配的标识;
所述转发模块320,设置为:在本装置作为策略子路径首节点时,根据自身栈处理能力以及策略路径的路径信息确定以自身为首节点的策略子路径,建立所述策略子路径与所述标识的标识映射转发关系,或者根据策略子路径的路径信息直接建立以自身为首节点的策略子路径与所述标识的标识映射转发关系。
本实施例装置位于转发设备即节点侧,对于所有策略子路径首节点可适用,可选地,第一条策略子路径首节点即报文的源节点在收到策略路径或策略子路径的路径信息以及为所述策略路径分配的标识后,可以不必建立标识映射转发关系,只根据接收到的策略子路径的路径信息和标识构建段路由报 文头,在段列表中填写路径信息和标识。
上述转发模块320还设置为:在本装置作为策略子路径的首节点时,在本节点发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息以及所述标识;以及在本装置作为策略子路径的首节点时,在识别所述标识后,根据所述标识映射转发关系转发报文。转发模块320根据标识映射转发关系转发报文,包括:转发模块查找标识映射转发关系,获得本节点对应的策略子路径,在发送报文时,在段路由报文头中携带本节点对应的策略子路径的路径信息以及所述标识。
在一个实施例中,上述装置还包括栈深处理能力上报模块,设置为:自动上报本节点的栈处理能力,或者在收到栈处理能力获取请求后上报本节点的栈处理能力。
应用示例一
本示例通过扩展管理SRGB(段路由全局块),使用空闲的MPLS标签用以表示策略子路径,如图6所示:
图中包括10个设备,对应的节点标识(NODE ID)分别为R1、R2、R3、R4、R5、R6、R7、R8、R9和R10,为该10个设备分配的段标识(SID)分别为101、102、103、104、105、106、107、108、109和110。SRGB块大小为100-200。待转发的段路由报文的源节点为R1,目的节点为R10。在本示例中控制器指定的从源节点R1到目的节点R10的策略路径为:101-102-104-103-105-106-108-107-109-110。若控制器通过南向接口获知网络中每个节点的栈处理能力均为4,即每个节点的标签栈只能处理4层标签,则将该策略路径分为3条策略子路径,包括:策略子路径1:101-102-104-103,策略子路径2:103-105-106-108,策略子路径3:108-107-109-110。对策略路径的分段也可以理解为对段列表的分段或分片。处理包括:
1、控制器选择一未被分配的标签如100,采用标签100对该策略路径在控制器上进行映射维护;
标签未被分配或未被使用表示该标签不是节点的段标识,也不是链路的段标识。
2、控制器通过南向接口协议(PCEP、BGP-LS、openflow或Netconf等)将策略子路径与标签的映射信息下发给每个策略子路径的首节点(策略子路径的首节点可以理解为需要拼接报文头段列表的节点即LIST分段拼接节点):
对于R1节点,控制器可直接下发102-104-103-100,表明R1节点在待转发报文的报文头的段列表中需封装的内容为102-104-103-100(首节点的SID信息表示自身,在封装及表项形成过程中没有必要出现),也可以下发102-104-103与100的映射,R1节点收到后自动封装段列表内容为102,104,103,100;
对于R3节点,控制器可直接下发100与105-106-108-100的映射,R3收到该映射关系后可形成如表1所示的标签映射转发表,这样当R3节点发现入标签是100时,push上多重标签,下一跳和出接口复制的是出标签中最外层标签——标签105的转发表下一跳和出接口。控制器也可以直接下发100与105-106-108的映射,R3操作同上。
表1标签映射转发表
Figure PCTCN2015084511-appb-000001
对于R8节点,控制器可直接下发100与107-109-110的映射,R8形成转发表,发现入标签是100时,push上多重标签,下一跳和出接口复制的是所述出标签中的最外层标签的转发表中的下一跳和出接口。
3、报文转发流程如下:
数据报文到达R1节点,根据接收的映射信息,封装4层报文头{102,104,103,100},根据外层标签102查找转发表项,转发至节点R2;
R2收到携带报文头102-104-103-100的数据报文,发现最外层标签是自身的SID,弹出102标签并依据104转发,转发至R4节点,R4如R2操作将 报文转发至R3节点,R3节点弹出自身103标签后,识别标签100,查找标签映射转发表,对报文进行重新封装,报文头的段列表封装的内容为{105,106,108,100};
后续报文如上述步骤转发至R8节点,R8节点识别标签100,查找标签映射转发表,对报文进行重新封装,报文头的段列表封装的内容为{107,109,110}。
由此数据报文依据策略子路径以及标签的映射信息在无需改变转发设备的芯片封装处理能力的情形下将报文转发至目的地址。
当有多条流量即多个数据报文的策略路径均超过节点栈处理能力时,则为这些不同的策略路径分别指定不同的标签。上述的流量1(Flow1)的策略路径1为:101-102-104-103-105-106-108-107-109-110,对应的标签为100,为流量2(Flow2)指定的策略路径2为:101-103-104-106-105-107-108-110,对应的标签为200。Flow1的转发参照上述过程实现。对于Flow2,将该策略路径2分为两个策略子路径分别为101-103-104-106和106-105-107-108-110。控制器通过南向结构协议将策略子路径与标签200的映射信息下发给每个策略子路径的首节点,即R1和R6:
对于R1节点,下发映射信息:103-104-106-200;
对于R6节点,下发200与105-107-108-110的映射,指导重新封装转发;
FLOW2报文转发流程如下:
报文到达R1节点,根据对该流的策略封装4层报文头{103,104,106,200}。根据外层标签103查找转发表项,发现自己是103的次末跳节点,弹出103标签并转发至节点R3。
R3收到携带报文头{104,106,200}的数据报文,发现自己是104的次末跳节点,弹出104标签并转发至节点R4,转发至R4节点,R4如R3操作将报文转发至R6节点,R6节点识别出标签200,对报文进行重新封装,段列表为{105,106,108,110};
报文后续如上述步骤转发至R10节点。
应用示例二
上述示例中策略路径均覆盖的是节点SID,当路径需要指定严格的显示路径时,需要涉及到每个节点的邻接SID(Adjacency SID),如图7所示,R3和R5之间有两条等价链路,上面的链路指定的邻接SID为本地标签值,如上下两条链路分别为9001和9002,若指定的显示路径一定要通过R3-R5的上面一条链路可达,则控制器计算出的策略路径为:101-102-104-103-9001-105-106-108-107-109-110。参照示例1中的控制器操作,为所述该策略路径分配的标签为199,非SRGB范围内的标签为保证流量的转发无误,则本地标签需要携带在该设备的SID后,在有标签(199)的情况下,不能在SID和本地标签处进行分片,即如上述所述,R1上携带4层标签,102-104-103-9001,则标签199无法携带,则:
对于R1节点,控制器下发102-104-199,表明报文头所需封装的内容;
对于R4节点,下发199与103-9001-105-199的映射,或199与103-9001-105的映射,指导重新封装;
对于R5节点,下发199与106-108-107-199的映射,或者199与106-108-107的映射,指导重新封装;
对于R7节点,下发199与109-110的映射,指导重新封装。
报文转发流程如应用示例一所述,当报文到达R3时,R3上会将9001标签弹出并将报文投递到9001的链路上转发。
应用示例三
段列表一般用于指导公网标签转发,若有流量进来需要携带私网标签发送到对端,则私网标签如图8所示,FLOW 1从CE(用户网络边缘设备)侧发往对端CE,所经的策略路径与应用示例一一致,但需始终携带的是Lv(Label vpn的标识),所述Lv始终需要携带在栈底,则在对策略路径分段时,需要根据嵌套能力减少一重标签来分段,即策略子路径长度需要减1。策略路径为:101-102-104-103-105-106-108-107-109-110,其中101和110是给 PE1和PE2(PE为运营商侧边缘路由器)分配的,该路径映射的标识是100。标签栈深的处理能力是4,但因为私网标签需要始终携带,所以留给SR的栈深变为3,所述分段为:
对于R1节点,下发102-104-100-Lv,表示需要转发的报文的报文头中段列表所需封装的内容;
对于R4节点,下发100到103-105-100的映射,指导标签100的查找并指导报文的拼接转发;
对于R5节点,下发100到106-108-100的映射,指导标签100的查找并指导报文的拼接转发;
对于R8节点,下发100到107-109-110的映射,指导标签100的查找并指导报文的拼接转发;
同样,若有其它应用需求需要把策略路径的目的地址110始终携带在栈底时,如示减一层标签深度处理压栈操作。
应用示例四:
如应用示例一所示的组网及配置:
如图6所示,为图中每个设备的NODE ID分配的SID分别为101-110,SRGB块大小为100-200,若控制器上指定的策略路径为101-102-104-103-105-106-108-107-109-110,控制器上通过南向接口获知当前设备的标签栈栈处理能力,如R1-R5的栈处理能力为3,R6-R10的栈处理能力为5,则需要根据栈处理能力对策略路径进行相应分段,所述分段可以如示实现:
1、控制器上100的标签未被分配,采用100的标签对该策略路径在控制器上进行的映射。(该标签100不是节点或链路的SID,仅用于表示映射。)
2、控制器根据获取的节点栈深处理能力及策略路径信息,将所述映射信息下发给每个策略子路径首节点,也即相应需要拼接SR报文头LIST封装的节点(根据获取到的栈深处理能力,知道分段会发生在R1、R4、R5、R8上,所述信息通过南向接口协议下发,如通过PCEP、BGP-LS、openflow等 协议的扩展下发):
对于R1节点,下发的映射信息为:100:101-102-104-103-105-106-108-107-109-110;R1知道自己是源节点,本身的栈深处理能力是3,则直接形成封装{102,104,100}加载在报文头,下一跳沿102转发。
对于R4节点,下发100:101-102-104-103-105-106-108-107-109-110的映射,形成转发表,发现入标签是100时,push上3重标签{103(为自身在list列表中的下一跳的SID),105,100}(该段列表内容也可以理解为映射分片或列表分片),下一跳和出接口复制的是所述映射分片的第一个SID 103的转发表的下一跳和出接口。
对于R5节点,下发100:101-102-104-103-105-106-108-107-109-110的映射,形成转发表,发现入标签是100时,push上3重标签{106(为自身在list列表中的下一跳的SID),108,100},下一跳和出接口复制的是所述映射分片的第一个SID 106的转发表的下一跳和出接口。
对于R8节点,下发100:101-102-104-103-105-106-108-107-109-110的映射,形成转发表,发现入标签是100时,push上3重(这里的3重是因为list列表只剩下3跳了,而自身的处理能力尽管有5重,但用不上5重封装,若list列表有多于5重的标签,则照5重进行分片)标签{107(为自身在list列表中的下一跳的SID),109,110},下一跳和出接口复制的是所述映射分片的第一个SID 107转发表的下一跳和出接口。
3、报文转发流程如下:
报文到达R1节点,根据对该流的策略封装3层标签报文头102-104-100。根据外层标签102查找转发表项,转发至节点R2;
R2收到携带报文头102-104-100的流量,发现最外层标签是自身的SID,弹出102标签并依据104转发,转发至R4节点;
R4收到携带报文头104-100的流量,发现最外层标签是自身的SID,弹出104标签并依据100转发,发现100的转发表需要封装3重标签103-105-100,下一跳及出接口是103的下一跳及出接口,报文转发至R3;
R3收到携带报文头103-105-100的流量,发现最外层标签是自身的SID,弹出103标签并依据105转发,转发至R5节点;
R5收到携带报文头105-100的流量,发现最外层标签是自身的SID,弹出105标签并依据100转发,发现100的转发表需要封装3重标签106-108-100,下一跳及出接口是106的下一跳及出接口,报文转发至R6;
R6收到携带报文头106-108-100的流量,发现最外层标签是自身的SID,弹出106标签并依据108转发,转发至R8节点;
R8收到携带报文头108-100的流量,发现最外层标签是自身的SID,弹出108标签并依据100转发,发现100的转发表需要封装3重标签107-109-110,下一跳及出接口是107的下一跳及出接口,报文转发至R7;
R7收到携带报文头107-109-110的流量,发现最外层标签是自身的SID,弹出107标签并依据109转发,转发至R9节点;
R9收到携带报文头109-110的流量,发现最外层标签是自身的SID,弹出109标签并依据110转发,转发至R10节点;
R10收到携带报文头110的流量,发现最外层标签是自身的SID,弹出110标签,恢复原始报文转发。
由此报文依据路径策略信息在无需改变设备的芯片封装处理能力的情形下将报文转发至目的地址。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。
上述实施例中的装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成 的网络上。
上述实施例中的装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
工业实用性
本发明实施例通过在段列表中携带部分策略路径即策略子路径,并通过标识来指示后续节点的转发,使得当策略路径长度超过转发节点栈处理能力时,仍能够保证报文通过段路由转发至目的节点。

Claims (31)

  1. 一种段路由处理方法,包括:
    计算源节点到目的节点的策略路径,为所述策略路径分配未使用的标识,将策略路径与所述标识的映射信息下发给转发节点,或者将策略子路径与所述标识的映射信息下发给转发节点。
  2. 根据权利要求1所述的方法,其中,
    所述计算源节点到目的节点的策略路径,为所述策略路径分配未使用的标识,包括:计算源节点到目的节点的策略路径,判断所述策略路径长度超过转发节点的栈处理能力时,为所述策略路径分配未使用的标识。
  3. 根据权利要求1所述的方法,其中,
    所述映射信息下发给转发节点,包括:所述映射信息通过南向接口协议下发给转发节点。
  4. 根据权利要求3所述的方法,其中,
    所述南向接口协议包括以下协议中任意一个:路径计算单元协议(PCEP)、边界网关协议-链路状态(BGP-LS)、开放流(Openflow)、网络配置(Netconf)。
  5. 根据权利要求1所述的方法,其中,
    所述将策略路径与所述标识的映射信息下发给转发节点,包括:
    根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,将所述策略路径的路径信息及所述标识发送给每个策略子路径的首节点。
  6. 根据权利要求5所述的方法,其中,
    将所述策略路径的路径信息及所述标识发送给每个策略子路径的首节点后,所述方法还包括:除源节点外的其他策略子路径的首节点根据自身栈处理能力以及接收到的策略路径的路径信息确定以自身为首节点的策略子路径,建立所述策略子路径与所述标识的标识映射转发关系。
  7. 根据权利要求1所述的方法,其中,
    所述将策略子路径与所述标识的映射信息下发给转发节点,包括:
    根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,将每段策略子路径的路径信息及所述标识发送给对应的策略子路径的首节点。
  8. 根据权利要求7所述的方法,其中,
    将每段策略子路径的路径信息及所述标识发送给对应的策略子路径的首节点后,所述方法还包括:除源节点外的其他策略子路径的首节点根据接收到的策略子路径的路径信息建立以自身为首节点的策略子路径与所述标识的标识映射转发关系。
  9. 根据权利要求5或7所述的方法,
    所述方法还包括:除最后一条策略子路径首节点外的其他每个策略子路径的首节点在发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息以及所述标识,下一段策略子路径的首节点在识别所述标识后根据标识映射转发关系转发报文,最后一条策略子路径首节点在发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息。
  10. 根据权利要求9所述的方法,其中,
    所述除最后一条策略子路径首节点外的其他每个策略子路径的首节点在发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息以及所述标识,下一段策略子路径的首节点在识别所述标识后根据标识映射转发关系转发报文,最后一条策略子路径首节点在发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息,包括:
    除最后一条策略子路径首节点外的其他策略子路径的首节点识别所述标识后,查找标识映射转发关系,获得本首节点对应的策略子路径,本首节点在发送报文时,在段路由报文头中携带本首节点对应的策略子路径的路径信息以及所述标识;最后一条策略子路径首节点识别所述标识后,查找标识映射转发关系,获得本首节点对应的策略子路径,本首节点在发送报文时,在段路由报文头中携带本首节点对应的策略子路径的路径信息。
  11. 根据权利要求5或7所述的方法,其中,
    所述根据策略路径上每个节点的栈处理能力对所述策略路径进行分段,包括:
    由控制器根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段;所述策略路径上每个节点的栈处理能力由策略路径上的每个节点自动上报给所述控制器,或者由所述控制器向策略路径上每个节点下发获取请求,策略路径上节点收到请求后,将本节点的栈处理能力上报给所述控制器。
  12. 根据权利要求5或7所述的方法,其中,
    所述根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,包括:
    根据策略路径上每个节点的栈处理能力以及以下信息中的一种或多种对所述策略路径进行分段:
    所述策略路径中是否有指定链路;
    所述段路由报文的报文头中是否需要携带其他标签。
  13. 根据权利要求12所述的方法,其中,
    所述根据策略路径上每个节点的栈处理能力以及策略路径中是否有指定链路对所述策略路径进行分段,包括:
    当所述策略路径有指定链路时,在根据策略路径上每个节点的栈处理能力对所述策略路径进行分段时,将指定链路与所述指定链路的起始节点分在同一段策略子路径中。
  14. 根据权利要求12所述的方法,其中,
    所述根据策略路径上每个节点的栈处理能力以及所述段路由报文是否需要携带其他标签对所述策略路径进行分段,包括:
    如果段路由报文需要携带私网标签或其他策略标签,则根据策略路径上每个节点的栈处理能力对策略路径分段时,每段策略子路径的长度小于该段策略子路径的首节点能够处理的栈深。
  15. 根据权利要求5或7或13或14所述的方法,其中,
    所述根据策略路径上每个节点的栈处理能力对所述策略路径进行分段,包括:
    对所述策略路径分段时,每个策略子路径的长度不超过所述策略子路径的首节点能够处理的栈深。
  16. 一种段路由处理装置,包括构建模块和发送模块,其中:
    所述构建模块,设置为:计算源节点到目的节点的策略路径,为所述策略路径分配未使用的标识;
    所述发送模块,设置为:将策略路径与所述标识的映射信息下发给转发节点,或者将策略子路径与所述标识的映射信息下发给转发节点。
  17. 根据权利要求16所述的装置,其中,
    所述构建模块是设置为:判断所述策略路径长度超过转发节点的栈处理能力时,为所述策略路径分配未使用的标识。
  18. 根据权利要求16所述的装置,其中,
    所述发送模块是设置为:通过南向接口协议将所述映射信息下发给转发节点。
  19. 根据权利要求18所述的装置,其中,
    所述南向接口协议包括以下协议中任意一个:路径计算单元协议(PCEP)、边界网关协议-链路状态(BGP-LS)、开放流(Openflow)、网络配置(Netconf)。
  20. 根据权利要求16所述的装置,其中,
    所述发送模块是设置为:采用将策略路径与所述标识的映射信息下发给转发节点时,根据所述策略路径上每个节点的栈处理能力对所述策略路径进行分段,将所述策略路径分为两段或两段以上的策略子路径,将所述策略路径的路径信息及所述标识发送给每个策略子路径的首节点。
  21. 根据权利要求16所述的装置,其中,
    所述发送模块是设置为:采用将策略子路径与所述标识的映射信息下发给转发节点时,根据所述策略路径上每个节点的栈处理能力对所述策略路径 进行分段,将所述策略路径分为两段或两段以上的策略子路径,将每段策略子路径的路径信息及所述标识发送给对应的策略子路径的首节点。
  22. 根据权利要求20或21所述的装置,其中,
    所述装置还包括栈处理能力获取模块,设置为:获取策略路径上的每个节点自动上报的栈处理能力,或者向策略路径上每个节点下发栈处理能力获取请求,并接收策略路径上每个节点上报的栈处理能力。
  23. 根据权利要求20或21所述的装置,其中,
    所述发送模块是设置为:根据策略路径上每个节点的栈处理能力以及以下信息中的一种或多种对所述策略路径进行分段:
    所述策略路径中是否有指定链路;
    所述段路由报文的报文头中是否需要携带其他标签。
  24. 根据权利要求23所述的装置,其中,
    所述发送模块是设置为:判断所述策略路径有指定链路时,在根据策略路径上每个节点的栈处理能力对所述策略路径进行分段时,将指定链路与所述指定链路的起始节点分在同一段策略子路径中。
  25. 根据权利要求23所述的装置,其中,
    所述发送模块是设置为:判断如果段路由报文需要携带私网标签或其他策略标签,则根据策略路径上每个节点的栈处理能力对策略路径分段时,使每段策略子路径的长度小于该段策略子路径的首节点能够处理的栈深。
  26. 根据权利要求20或21或24或25所述的装置,其中,
    所述发送模块是设置为:对所述策略路径分段时,使每个策略子路径的长度不超过所述策略子路径的首节点能够处理的栈深。
  27. 一种段路由报文的发送装置,包括接收模块和转发模块,其中:
    所述接收模块,设置为:接收策略路径或策略子路径的路径信息以及为所述策略路径分配的标识;
    所述转发模块,设置为:在本装置作为策略子路径首节点时,根据自身栈处理能力以及策略路径的路径信息确定以自身为首节点的策略子路径,建 立所述策略子路径与所述标识的标识映射转发关系,或者根据策略子路径的路径信息直接建立以自身为首节点的策略子路径与所述标识的标识映射转发关系。
  28. 根据权利要求27所述的装置,其中,
    所述转发模块还设置为:在本装置作为策略子路径的首节点时,在本节点发送报文时,在段路由报文头中携带以本节点为首节点的策略子路径的路径信息以及所述标识;以及在本装置作为策略子路径的首节点时,在收到所述标识后,根据所述标识映射转发关系转发报文。
  29. 根据权利要求28所述的装置,其中,
    所述转发模块是设置为:查找所述标识映射转发关系,获得本节点对应的策略子路径,在发送报文时,在段路由报文头中携带本节点对应的策略子路径的路径信息以及所述标识。
  30. 根据权利要求27所述的装置,其中,
    所述装置还包括栈处理能力上报模块,设置为:自动上报本节点的栈处理能力,或者在收到栈处理能力获取请求后上报本节点的栈处理能力。
  31. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-15任一项的方法。
PCT/CN2015/084511 2015-01-19 2015-07-20 一种段路由处理方法、处理装置及发送装置 WO2016115850A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510026561.3A CN105871721B (zh) 2015-01-19 2015-01-19 一种段路由处理方法、处理装置及发送装置
CN201510026561.3 2015-01-19

Publications (1)

Publication Number Publication Date
WO2016115850A1 true WO2016115850A1 (zh) 2016-07-28

Family

ID=56416356

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/084511 WO2016115850A1 (zh) 2015-01-19 2015-07-20 一种段路由处理方法、处理装置及发送装置

Country Status (2)

Country Link
CN (1) CN105871721B (zh)
WO (1) WO2016115850A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535782A (zh) * 2019-06-15 2019-12-03 华为技术有限公司 一种实现QoS保障的报文处理方法、设备和系统
CN111698161A (zh) * 2020-04-01 2020-09-22 北京华三通信技术有限公司 报文处理方法和装置
CN112995029A (zh) * 2018-06-30 2021-06-18 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN114070782A (zh) * 2018-06-30 2022-02-18 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN114128227A (zh) * 2019-07-31 2022-03-01 华为技术有限公司 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
CN114900455A (zh) * 2022-05-13 2022-08-12 北京字节跳动网络技术有限公司 一种报文传输方法、系统、设备及存储介质
EP4064624A4 (en) * 2019-12-27 2023-01-11 Huawei Technologies Co., Ltd. TUNNEL SEGMENTATION METHOD AND APPARATUS, AND DATA TRANSMISSION SYSTEM
WO2023287651A1 (en) * 2021-07-12 2023-01-19 Cisco Technology, Inc. Circuit-style network with co-routed bidirectional network paths
CN116319336A (zh) * 2020-09-15 2023-06-23 华为技术有限公司 业务报文的转发方法、sr策略的发送方法、设备及系统
US11695688B2 (en) 2020-09-30 2023-07-04 Juniper Networks, Inc. Computing segment identifier lists for multipaths in a segment routing-enabled network

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156077B (zh) * 2016-12-02 2021-11-12 中兴通讯股份有限公司 一种基于IPv6数据平面的分段路由转发方法及装置
CN108737269B (zh) * 2017-04-13 2021-11-26 中兴通讯股份有限公司 一种封装方法、装置和节点
CN109218189B (zh) * 2017-07-03 2022-04-29 中兴通讯股份有限公司 跨域的路径的标识信息的确定方法、装置及存储介质
CN114244771A (zh) * 2017-07-07 2022-03-25 华为技术有限公司 Pecp分段路由路径分段标签绑定扩展
CN113904983A (zh) 2017-12-27 2022-01-07 华为技术有限公司 一种报文处理的方法、网络节点和系统
CN110290068B (zh) 2018-03-19 2021-09-14 华为技术有限公司 一种粘连标签的发送方法、接收方法及设备
CN114124806B (zh) * 2018-05-25 2022-11-25 华为技术有限公司 一种生成路由的方法和设备
US10841172B2 (en) 2018-05-30 2020-11-17 Cisco Technology, Inc. Network fabric visualization and management
CN110636001B (zh) 2018-06-25 2021-12-03 华为技术有限公司 发送网络性能参数、计算网络性能的方法和网络节点
CN110708243B (zh) * 2018-07-09 2021-08-13 华为技术有限公司 段路由中获取数据包的转发路径的信息的方法和装置
CN110784402B (zh) * 2018-07-30 2023-07-04 中兴通讯股份有限公司 路径标识传输方法、装置和计算机可读存储介质
CN110784403B (zh) * 2018-07-30 2022-07-15 中兴通讯股份有限公司 路径标识传输方法、装置和计算机可读存储介质
WO2020036983A1 (en) 2018-08-17 2020-02-20 Futurewei Technologies, Inc. Source routing tunnel ingress protection
CN109194579B (zh) * 2018-11-19 2020-09-04 盛科网络(苏州)有限公司 一种IPv6实现分段路由的方法及装置
CN111355657B (zh) * 2018-12-24 2022-06-24 中兴通讯股份有限公司 一种流量工程路径建立方法及装置和系统
CN111565148B (zh) * 2019-02-14 2022-07-19 中国移动通信有限公司研究院 一种段路由控制方法、段路由节点及控制器
CN112104552B (zh) * 2019-06-17 2021-12-28 华为技术有限公司 处理报文的方法、装置及计算机存储介质
CN110430130B (zh) * 2019-07-18 2021-04-30 中盈优创资讯科技有限公司 确定策略路径的方法及装置
CN110519168B (zh) * 2019-08-27 2022-03-11 北京华为数字技术有限公司 一种创建srte隧道的方法及相关设备
CN112468396B (zh) * 2019-09-06 2022-05-31 华为技术有限公司 主机网络性能需求可编程化的方法、设备和系统
CN110677341A (zh) * 2019-09-09 2020-01-10 锐捷网络股份有限公司 一种数据转发方法、装置、电子设备及存储介质
CN115733720A (zh) * 2019-11-14 2023-03-03 华为技术有限公司 发送报文、接收报文以进行oam的方法、装置及系统
CN110995596B (zh) * 2019-12-20 2022-04-12 锐捷网络股份有限公司 基于SRv6网络的SID分配方法和装置
CN111130811B (zh) * 2019-12-24 2022-09-30 广东省新一代通信与网络创新研究院 基于段路由的宽带接入方法、bras控制器以及数据中心系统
CN113141339A (zh) * 2020-01-20 2021-07-20 华为技术有限公司 一种sr报文传输方法、装置及系统
CN111314219B (zh) * 2020-02-24 2022-12-09 苏州盛科通信股份有限公司 一种IPv6分段路由的高效转发方法及装置
CN113364679B (zh) * 2020-03-06 2023-04-18 华为技术有限公司 一种基于分段路由的转发控制方法、报文转发方法及装置
CN111865789B (zh) * 2020-07-09 2021-09-17 南京航空航天大学 一种基于段路由的sr路径约束方法
CN112202671B (zh) * 2020-09-09 2022-04-08 中盈优创资讯科技有限公司 一种通过代理实现业务编排的方法及装置
CN113411259A (zh) * 2021-06-30 2021-09-17 新华三技术有限公司 一种报文转发方法、装置及设备
CN113949661B (zh) * 2021-09-27 2024-04-02 网络通信与安全紫金山实验室 一种数据转发方法及装置
CN116137632A (zh) * 2021-11-17 2023-05-19 华为技术有限公司 一种报文处理方法、装置及设备
CN115348203B (zh) * 2022-10-12 2023-03-24 北京合众方达科技有限公司 一种基于TSN的IPv6网络方法
CN116915685B (zh) * 2023-09-06 2023-12-12 新华三技术有限公司 报文传输方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685033A (zh) * 2013-12-19 2014-03-26 武汉邮电科学研究院 Sdn架构中支持分组交换和电路交换的通用流表及方法
WO2014055903A1 (en) * 2012-10-05 2014-04-10 Cisco Technology, Inc. Mpls segment-routing
CN103841022A (zh) * 2014-03-12 2014-06-04 华为技术有限公司 用于建立隧道的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102026106B (zh) * 2009-09-10 2014-01-01 中兴通讯股份有限公司 一种实现对多个下游节点的流量均衡下发的平台及方法
CN102255807B (zh) * 2011-07-07 2013-10-02 浙江大学 一种基于主从结构多跳网络的多路径分段路由方法
US9537718B2 (en) * 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014055903A1 (en) * 2012-10-05 2014-04-10 Cisco Technology, Inc. Mpls segment-routing
CN103685033A (zh) * 2013-12-19 2014-03-26 武汉邮电科学研究院 Sdn架构中支持分组交换和电路交换的通用流表及方法
CN103841022A (zh) * 2014-03-12 2014-06-04 华为技术有限公司 用于建立隧道的方法及装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070782B (zh) * 2018-06-30 2023-05-16 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN112995029A (zh) * 2018-06-30 2021-06-18 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN114070782A (zh) * 2018-06-30 2022-02-18 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
US11722401B2 (en) 2018-06-30 2023-08-08 Huawei Technologies Co., Ltd. Method and apparatus for processing transmission path fault, and system
CN112995029B (zh) * 2018-06-30 2024-03-19 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN110535782B (zh) * 2019-06-15 2023-06-20 华为技术有限公司 一种实现QoS保障的报文处理方法、设备和系统
CN110535782A (zh) * 2019-06-15 2019-12-03 华为技术有限公司 一种实现QoS保障的报文处理方法、设备和系统
US11882513B2 (en) 2019-07-31 2024-01-23 Huawei Technologies Co., Ltd. Transporting MTNC-ID over SRV6-enabled dataplane for 5G transport
CN114128227A (zh) * 2019-07-31 2022-03-01 华为技术有限公司 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
EP4064624A4 (en) * 2019-12-27 2023-01-11 Huawei Technologies Co., Ltd. TUNNEL SEGMENTATION METHOD AND APPARATUS, AND DATA TRANSMISSION SYSTEM
CN111698161B (zh) * 2020-04-01 2022-09-02 北京华三通信技术有限公司 报文处理方法和装置
CN111698161A (zh) * 2020-04-01 2020-09-22 北京华三通信技术有限公司 报文处理方法和装置
CN116319336B (zh) * 2020-09-15 2023-12-08 华为技术有限公司 业务报文的转发方法、sr策略的发送方法、设备及系统
CN116319336A (zh) * 2020-09-15 2023-06-23 华为技术有限公司 业务报文的转发方法、sr策略的发送方法、设备及系统
US11695688B2 (en) 2020-09-30 2023-07-04 Juniper Networks, Inc. Computing segment identifier lists for multipaths in a segment routing-enabled network
WO2023287651A1 (en) * 2021-07-12 2023-01-19 Cisco Technology, Inc. Circuit-style network with co-routed bidirectional network paths
CN114900455A (zh) * 2022-05-13 2022-08-12 北京字节跳动网络技术有限公司 一种报文传输方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN105871721B (zh) 2020-05-05
CN105871721A (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
WO2016115850A1 (zh) 一种段路由处理方法、处理装置及发送装置
CN110912795B (zh) 一种传输控制方法、节点、网络系统及存储介质
CN109863725B (zh) 基于最大分段标识符深度的分段路由方法及电子设备
WO2018019054A1 (zh) 报文转发方法及装置
US9444677B2 (en) Scalable edge node protection using IPv6 segment routing extension header
US11271864B2 (en) Tunnel establishment method, apparatus, and system
WO2016115823A1 (zh) 标签构造以及标签报文转发方法及装置
WO2016131225A1 (zh) 报文转发处理方法、装置、控制器及路由转发设备
CN111385207B (zh) 一种业务数据的转发方法、网络设备及网络系统
CN105245452B (zh) 多协议标签交换流量工程隧道建立方法及设备
WO2015192501A1 (zh) 地址信息的发布方法及装置
US20190273678A1 (en) Method and device for forwarding packet
CN113411243B (zh) 数据传输方法及装置
US10560376B2 (en) Semantic information for labels in border gateway protocol
US20170373966A1 (en) Packet Transmission Method, Node, Path Management Server and Storage Medium
WO2018072728A1 (zh) 段标识sid获取
US9253084B2 (en) Neighbor-label distribution with label distribution protocol
WO2018033060A1 (zh) 报文转发方法及装置
WO2019165888A1 (zh) 一种利用统一sr标签栈进行报文处理的方法及装置
WO2021004277A1 (zh) 路由管理方法、装置、网络设备和可读存储介质
CN104378292A (zh) 一种转发mpls数据包的方法及装置
CN113132235B (zh) 基于虚电路的数据报文处理方法、转发表项的构建方法
CN110417655B (zh) 一种数据报文转发的方法及装置
WO2022110535A1 (zh) 一种报文发送方法、设备及系统
WO2019052406A1 (en) METHODS, NODES, AND COMPUTER-READABLE MEDIA FOR TRUNK TUNNEL ESTABLISHMENT

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: 15878521

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15878521

Country of ref document: EP

Kind code of ref document: A1