WO2016131225A1 - 报文转发处理方法、装置、控制器及路由转发设备 - Google Patents

报文转发处理方法、装置、控制器及路由转发设备 Download PDF

Info

Publication number
WO2016131225A1
WO2016131225A1 PCT/CN2015/085236 CN2015085236W WO2016131225A1 WO 2016131225 A1 WO2016131225 A1 WO 2016131225A1 CN 2015085236 W CN2015085236 W CN 2015085236W WO 2016131225 A1 WO2016131225 A1 WO 2016131225A1
Authority
WO
WIPO (PCT)
Prior art keywords
splicing
label
capability information
node
forwarding
Prior art date
Application number
PCT/CN2015/085236
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 WO2016131225A1 publication Critical patent/WO2016131225A1/zh

Links

Images

Definitions

  • the present invention relates to the field of communications, and in particular, to a packet forwarding processing method, apparatus, controller, and routing and forwarding device.
  • Segment routing is a method based on source address-based routing. By superimposing a layer of information that affects the existing shortest path forwarding, the data is carried outside the data packet. The packet is based on the specified path. Information is forwarded with the shortest path.
  • 1 is a schematic diagram of a main packet format of a route in a related art. As shown in FIG. 1 , when a packet including a segment header is transmitted in an SR network domain, the specified SR node path carried in the segment header is used. The information, the network device (generally a router) performs corresponding operations according to the segment operation indication in the segment routing message header, and the operation indication includes Push, Next, Continue.
  • the network device pushes the SR Header (segment routing packet header) into the IP packet, or adds other segment indications in the segment routing packet header; Next and Continue operations through the Ptr pointer. It is shown that when it is judged that the current segment operation has been completed, the pointer moves to the next segment, and the segment pointed by the pointer indicates that it is an active segment for forwarding the next hop; the Continue operation is that the segment operation does not end, and the pointer remains at the pointer. On the current segment.
  • SR By specifying the path forwarding function by SR, it is very convenient to implement network load balancing and process engineering, as well as complex network functions such as fast rerouting.
  • the segmentation operation can also be extended to implement service-based or topology-based routing indications. Then, segment routing can also implement service-based network virtualization and operation, management, and maintenance (OAM) applications.
  • OAM service-based network virtualization and operation, management, and maintenance
  • FIG. 2 is a schematic diagram of a format of an MPLS packet in the related art.
  • an MPLS packet header has 32 bits (4 bytes), wherein a 20-bit tag field and a 3 bit TC field are used. Indicates the priority of the message. 1bit stack bottom mark, used for MPLS nested operation, 8bits TTL field, used for TTL counting in MPLS network.
  • the segment routing technology can be fully compatible with and inherits the existing MPLS forwarding data plane. The forwarding of segment routes can be implemented without modifying the MPLS packet header.
  • the segment list in the SR Header is described by 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 defines the SR Header.
  • Continue operation corresponding to the label SWAP operation in 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 Next operation defined by the SR Header in the SR corresponds to the label POP operation in the MPLS; that is, the top label is popped;
  • the SR is defined as the SR Header.
  • the PUSH operation corresponds to the PUSH operation in MPLS, that is, the label is pushed. If the stack depth exceeds the processing capacity of the forwarding device, the SR LIST cannot be established.
  • a feasible solution is the SR LIST splicing or path identification.
  • the device that forwards the packet is not able to learn whether to support the splicing and/or path identification function of the SR LIST, and the packet cannot be effectively forwarded.
  • the embodiments of the present invention provide a method, a device, a controller, and a routing and forwarding device for processing a packet, so as to solve the problem that at least the related devices in the related art process the forwarding of the packet are not known to support the splicing of the SR LIST. / or the path identification function, the problem that the packet cannot be effectively forwarded.
  • a packet forwarding processing method including: acquiring label splicing capability information for identifying whether one or more routing forwarding devices support label splicing, and/or for identifying the Whether the one or more route forwarding devices support the path identification capability information of the path identifier; and the one or more route forwarding devices are delivered to be processed according to the obtained label splicing capability information and/or the path identification capability information. Forwarding policy for forwarded packets.
  • the forwarding of the forwarding processing of the to-be-forwarded packet is sent to the one or more routing and forwarding devices according to the obtained label splicing capability information and/or the path identification capability information.
  • the policy includes: determining, according to the label splicing capability information, the splicing node from the one or more routing forwarding devices for the to-be-forwarded packet, and/or identifying the capability information from the one or more according to the path Determining, by the routing and forwarding device, the identifier node for the packet to be forwarded; sending the splicing label to the determined splicing node, and/or sending the identifier label to the determined identifier node, where the splicing
  • the label is used to instruct the splicing node to perform splicing and encapsulating the packet, and the identifier is used to instruct the identities to forward the packet according to the path identified by the identifier label.
  • the splicing node is determined from the one or more routing forwarding devices for the packet to be forwarded according to the label splicing capability information, and/or, according to the path identification capability information, from the one Determining, by the plurality of route forwarding devices, the identifier node for the packet to be forwarded includes: selecting, according to the stack processing capability of the one or more route forwarding devices, an alternate splicing node for the packet to be forwarded, and And determining, by the labeling capability information, whether the standby splicing node supports label splicing, and/or whether the standby identifier node supports the path identifier; and if the determination result is yes, determining the standby The splicing node is the splicing node, and/or the alternate identification node is the identities node.
  • the splicing label is sent to the determined splicing node, and/or the labeling is sent to the determined identifiable node, including: by an extended sub-object in the SR-ERO And sending the splicing label to the determined splicing node, and/or sending the identification label to the determined identities node, in a manner of carrying the splicing label and/or the identifiable label.
  • the label splicing capability information for identifying whether the one or more routing forwarding devices support label splicing is obtained, and/or is used to identify whether the one or more routing forwarding devices support the path identifier.
  • the path identification capability information is obtained by acquiring the field value corresponding to the extension field in the type length value TLV attribute of the segment routing SR capability, where the label splicing capability information and/or the path identification capability information is obtained, where the field The value is used to identify whether the one or more routing forwarding devices support label splicing, and/or to identify whether the one or more routing forwarding devices support path identification.
  • a packet forwarding processing method including: acquiring label splicing capability information for identifying whether a controller supports label splicing, and/or for identifying whether the controller supports The path identifier of the path identifies the capability information, and performs forwarding processing according to the obtained label splicing capability information and/or the path identifier capability information, and the forwarding policy sent by the controller.
  • the forwarding processing of the to-be-forwarded packet according to the obtained label splicing capability information and/or the path identification capability information and the forwarding policy sent by the controller includes: receiving the a splicing label and/or an identification label sent by the controller; performing splicing and encapsulating the packet to be forwarded according to the splicing label, performing forwarding processing, and/or forwarding the packet according to the path identified by the identifier label The message is forwarded.
  • the receiving the splicing label and/or the identifiable label sent by the controller comprises: carrying the splicing label and/or the location by corresponding location of an extended sub-object of the SR-ERO The manner of identifying the label, receiving the splicing label and/or the identification label issued by the controller.
  • the label splicing capability information for identifying whether the controller supports label splicing, and/or the path identification capability information for identifying whether the controller supports path identification is obtained by: Obtaining the label splicing capability information and/or the path identification capability information, where the field value is used to identify the field value corresponding to the extension field in the TLV attribute of the segment routing SR capability, where the field value is used to identify the Whether the controller supports label splicing, and/or is used to identify whether the controller supports path identification.
  • a packet forwarding processing apparatus including: a first acquiring module, configured to acquire label splicing capability information for identifying whether one or more routing forwarding devices support label splicing, and And a path identifier capability information for identifying whether the one or more route forwarding devices support the path identifier; the sending module is configured to set the information according to the acquired label splicing capability information and/or the path identifier capability information Deriving a forwarding policy for forwarding a packet to be forwarded by one or more routing and forwarding devices slightly.
  • the sending module includes: a determining unit, configured to determine, according to the label splicing capability information, the splicing node from the one or more routing forwarding devices for the to-be-forwarded message, and/or The path identification capability information is used to determine an identifier node for the packet to be forwarded from the one or more route forwarding devices, and the sending unit is configured to send a splicing label to the determined splicing node, and/or And sending the identifier label to the determined identifier node, where the splicing label is used to instruct the splicing node to perform splicing and encapsulating the packet, and the identifier label is used to indicate that the identifier node is The path identified by the identifier tag forwards the packet.
  • a determining unit configured to determine, according to the label splicing capability information, the splicing node from the one or more routing forwarding devices for the to-be-forwarded message, and/or The path identification capability information is used to
  • the determining unit includes: a selecting subunit, configured to select a spare splicing node and/or a standby identity node for the message to be forwarded according to the stack processing capability of the one or more routing forwarding devices; a subunit, configured to determine, according to the label splicing capability information, whether the spare splicing node supports label splicing, and/or whether the standby identifier node supports a path identifier; determining a subunit, and setting the result to be YES Determining that the alternate splicing node is the splicing node, and/or the alternate identities node is the identifying node.
  • the sending unit is further configured to send the the spliced node to the determined splicing node by carrying the splicing tag and/or the identifiable tag at a corresponding position of the extended sub-object of the SR-ERO Splicing the label, and/or, delivering the identification label to the determined identifier node.
  • the first obtaining module is further configured to obtain the label splicing capability information and/or the path identifier by acquiring a field value corresponding to an extended field in a type length value TLV attribute of the segment routing SR capability.
  • the capability information wherein the field value is used to identify whether the one or more routing forwarding devices support label splicing, and/or to identify whether the one or more routing forwarding devices support path identification.
  • a controller comprising the apparatus of any of the above.
  • a packet forwarding processing apparatus including: a second obtaining module, configured to acquire label splicing capability information for identifying whether a controller supports label splicing, and/or for identifying Whether the controller supports the path identification capability information of the path identifier; the processing module is configured to be forwarded according to the obtained label splicing capability information and/or the path identification capability information, and the forwarding policy delivered by the controller The message is forwarded.
  • the processing module includes: a receiving unit, configured to receive a splicing label and/or an identification label that is sent by the controller; and a processing unit, configured to splicing the to-be-forwarded packet according to the splicing label And performing the forwarding process after the encapsulation, and/or forwarding the packet to be forwarded according to the path identified by the identifier label.
  • the receiving unit is further configured to be carried by a corresponding position of the extended sub-object of the SR-ERO Receiving, by the splicing label and/or the identifying label, the splicing label and/or the identification label issued by the controller.
  • the second obtaining module is further configured to acquire the label splicing capability information and/or the path identifier by acquiring a field value corresponding to an extended field in a type length value TLV attribute of the segment routing SR capability. Capability information, wherein the field value is used to identify whether the controller supports label splicing, and/or to identify whether the controller supports path identification.
  • a routing and forwarding device comprising the apparatus of any of the above.
  • the label splicing capability information for identifying whether one or more routing forwarding devices support label splicing is used, and/or the path identifier for identifying whether the one or more routing forwarding devices support the path identifier is used.
  • the capability information is obtained, and the forwarding policy for forwarding the packet to be forwarded is sent to the one or more routing and forwarding devices according to the obtained label splicing capability information and/or the path identification capability information, and the related
  • the device that forwards the packet to the device does not know whether to support the splicing and/or path identification function of the SR LIST, so that the problem that the packet cannot be effectively forwarded can be achieved.
  • the advertisement supports the capability information of label splicing and/or path identification, so as to achieve the effect of packet forwarding processing.
  • FIG. 1 is a schematic diagram of a main packet format of a route in a related art
  • FIG. 2 is a schematic diagram of a format of an MPLS packet in the related art
  • FIG. 3 is a flowchart of a packet forwarding processing method 1 according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a packet forwarding processing method 2 according to an embodiment of the present invention.
  • FIG. 5 is a structural block diagram of a message forwarding processing apparatus 1 according to an embodiment of the present invention.
  • FIG. 6 is a block diagram showing a preferred structure of a sending module 54 in a packet forwarding processing apparatus according to an embodiment of the present invention
  • FIG. 7 is a block diagram showing a preferred structure of the determining unit 62 in the sending module 54 in the message forwarding processing apparatus 1 according to the embodiment of the present invention.
  • FIG. 8 is a structural block diagram of a controller according to an embodiment of the present invention.
  • FIG. 9 is a block diagram showing a preferred structure of a message forwarding processing apparatus 2 according to an embodiment of the present invention.
  • FIG. 10 is a block diagram showing a preferred structure of a processing module 94 in a packet forwarding processing apparatus 2 according to an embodiment of the present invention
  • FIG. 11 is a structural block diagram of a route forwarding device according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of a network architecture for performing label splicing and/or path identification corresponding to an embodiment of the present invention
  • FIG. 13 is a schematic diagram of a format of a label forwarding table of a label splicing corresponding to an embodiment of the present invention
  • FIG. 14 is a schematic diagram of a message format of an SR capability TLV advertisement splicing capability and/or a path identification capability according to a preferred embodiment of the present invention
  • FIG. 15 is a schematic diagram of a message format of an SR-ERO announcement splicing and a path identifier SID according to a preferred embodiment of the present invention.
  • FIG. 3 is a flowchart of a packet forwarding processing method according to an embodiment of the present invention. As shown in FIG. 3, the process includes the following steps:
  • Step S302 Obtain label splicing capability information for identifying whether one or more routing forwarding devices support label splicing, and/or path identification capability information for identifying whether one or more routing forwarding devices support path identification.
  • Step S304 The forwarding policy for forwarding the packet to be forwarded is sent to one or more routing and forwarding devices according to the obtained label splicing capability information and/or the path identifier capability information.
  • the controller obtains the forwarding policy for forwarding the packet to the routing and forwarding device by obtaining the label splicing capability information of the label splicing device, and/or the path identification capability information of the path identifier.
  • the related devices in the related art do not know whether to support the splicing and/or path identification function of the SR LIST, which may result in the problem that the packet cannot be effectively forwarded, and thus the device can be reached. Whether the capability information of the label splicing and/or the path identifier is supported is advertised, so as to achieve the effect of performing packet forwarding processing.
  • a forwarding policy for forwarding a packet to be forwarded is sent to one or more routing and forwarding devices according to the obtained label splicing capability information and/or the path identifier capability information
  • multiple methods may be used, for example, The splicing capability information is determined from the one or more routing and forwarding devices for the to-be-forwarded packet, and/or the packet identification capability information is determined from the one or more routing forwarding devices for the packet to be forwarded.
  • the splicing label is used to send the splicing label to the splicing node, and the splicing label is used to instruct the splicing node to forward and encapsulate the packet.
  • the label is used to indicate that the identifier node forwards the packet according to the path identified by the identifier label.
  • the splicing node is determined from the one or more routing and forwarding devices for the packet to be forwarded according to the label splicing capability information, and/or the packet to be forwarded is forwarded from one or more routing forwarding devices according to the path identification capability information. Determining the identity node may also be performed in a plurality of manners.
  • the simpler processing method includes: selecting a backup splicing node and/or a standby identity node for the message to be forwarded according to the stack processing capability of the one or more routing forwarding devices; Then, according to the label splicing capability information, it is determined whether the standby splicing node supports label splicing, and/or whether the standby identifier node supports the path identifier; if the determination result is yes, determining that the standby splicing node is a splicing node, and/or a standby identification node To identify the node.
  • the routing and forwarding device can satisfy the certain stack processing capability, and the corresponding label splicing capability and/or path identification capability can be determined as the splicing node for splicing the packet and/or for identifying the forwarding path.
  • Identity node the splicing node for splicing the packet and/or for identifying the forwarding path.
  • the splicing label is sent to the determined splicing node, and/or the label is sent to the determined identities
  • multiple methods may be used.
  • the following method may be adopted, and the extended sub-object corresponding to the SR-ERO is used.
  • the splicing label is sent to the determined splicing node, and/or the identification label is sent to the determined identities.
  • the label splicing capability information for identifying whether one or more routing forwarding devices support label splicing may also be used.
  • the splicing capability information and/or the path identification capability information may be obtained by obtaining the field value corresponding to the extended field in the TLV attribute of the segment length of the SR-capability of the SR-capability, where the field value is used. Identifies whether one or more routing forwarding devices support label splicing, and/or is used to identify whether one or more routing forwarding devices support path identification.
  • FIG. 4 is a flowchart of a packet forwarding processing method 2 according to an embodiment of the present invention. As shown in FIG. 4, the process includes the following steps:
  • Step S402 obtaining label splicing capability information for identifying whether the controller supports label splicing, and/or path identification capability information for identifying whether the controller supports the path identifier;
  • Step S404 Perform forwarding processing on the packet to be forwarded according to the obtained label splicing capability information and/or path identification capability information, and the forwarding policy sent by the controller.
  • the routing and forwarding device forwards the packet to be forwarded by obtaining the label splicing capability information of the label splicing, and/or the path identification capability information of the path identifier, and the forwarding policy sent by the controller.
  • the related device in the related art does not know whether to support the splicing and/or path identification function of the SR LIST, and the packet cannot be effectively transferred.
  • the problem of sending a message, and then the capability information that can be advertised between the devices to support the label splicing and/or the path identifier is achieved, thereby achieving the effect of performing packet forwarding processing.
  • the processing may be performed in multiple ways.
  • the controller may be configured to receive the information. After the splicing label and/or the label is spliced, the splicing label is forwarded and spliced according to the splicing label, and/or the packet to be forwarded according to the path identified by the label is forwarded.
  • the splicing label and/or the identification label sent by the receiving controller may also be in multiple manners.
  • the splicing label and/or the label may be carried in the corresponding position of the extended sub-object of the SR-ERO. Splicing labels and/or identification labels issued by the device.
  • the segment splicing capability information and/or the path identification capability information are obtained by the method of the splicing capability information and/or the path identification capability information of the segment length of the SR-capability type length value TLV attribute, where the field value is used to identify whether the controller supports label splicing, and/ Or, to identify whether the controller supports path identification.
  • a message forwarding processing device is also provided, which is used to implement the foregoing embodiments and preferred embodiments, and has not been described again.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 5 is a structural block diagram of a message forwarding processing apparatus 1 according to an embodiment of the present invention. As shown in FIG. 5, the apparatus includes a first obtaining module 52 and a sending module 54, which are described below.
  • the first obtaining module 52 is configured to obtain label splicing capability information for identifying whether one or more routing forwarding devices support label splicing, and/or a path marking capability for identifying whether one or more routing forwarding devices support path identification
  • the sending module 54 is connected to the first acquiring module 52, and configured to send the packet to be forwarded to one or more routing and forwarding devices according to the obtained label splicing capability information and/or path identification capability information. Forwarding processing forwarding policy.
  • FIG. 6 is a block diagram of a preferred structure of a sending module 54 in a packet forwarding processing apparatus according to an embodiment of the present invention.
  • the sending module 54 includes: a determining unit 62 and a sending unit 64.
  • the delivery module 54 will be described.
  • the determining unit 62 is configured to determine, according to the label splicing capability information, the splicing node from the one or more routing forwarding devices for the message to be forwarded, and/or, according to the path identification capability information, from one or more routing forwarding devices
  • the forwarded message determines the identification node;
  • the sending unit 64 is connected to the determining unit 62, and is configured to send the splicing label to the determined splicing node, and/or send the identification label to the determined identities, wherein the splicing label
  • the splicing node is configured to forward the packet after the splicing and splicing of the packet, and the identifier label is used to indicate that the identifier node forwards the packet according to the path identified by the identifier label.
  • FIG. 7 is a block diagram showing a preferred structure of the determining unit 62 in the sending module 54 of the packet forwarding processing apparatus according to the embodiment of the present invention.
  • the determining unit 62 includes: a selecting subunit 72 and a judging subunit 74. And determining subunit 76, the determining unit 62 will be described below.
  • the selecting subunit 72 is configured to select a spare splicing node and/or a spare identities node for the message to be forwarded according to the stack processing capability of the one or more routing forwarding devices; the determining subunit 74 is connected to the selecting subunit 72, It is configured to determine, according to the label splicing capability information, whether the spare splicing node supports label splicing, and/or whether the standby identifier node supports the path identifier; the determining subunit 76 is connected to the determining subunit 74, and is set to be in the case that the determination result is yes.
  • the spare splicing node is determined to be a splicing node, and/or the alternate identities node is an identification node.
  • the sending unit 64 is further configured to send the splicing label to the determined splicing node by carrying the splicing label and/or the label in the corresponding position of the extended sub-object of the SR-ERO, and/or The identified identification node sends an identification label.
  • the first obtaining module 52 is further configured to obtain the label splicing capability information and/or the path identifier capability information by acquiring the field value corresponding to the extended field in the type length value TLV attribute of the segment routing SR capability, where The field value is used to identify whether one or more routing forwarding devices support label splicing, and/or to identify whether one or more routing forwarding devices support path identification.
  • FIG. 8 is a structural block diagram of a controller according to an embodiment of the present invention. As shown in FIG. 8, the controller 80 includes the message forwarding processing device 82 of any of the above.
  • FIG. 9 is a block diagram showing a preferred structure of a message forwarding processing apparatus 2 according to an embodiment of the present invention. As shown in FIG. 9, the apparatus includes a second obtaining module 92 and a processing module 94, which will be described below.
  • the second obtaining module 92 is configured to obtain label splicing capability information for identifying whether the controller supports label splicing, and/or path identification capability information for identifying whether the controller supports the path identifier, and the processing module 94 is connected to the foregoing
  • the second obtaining module 92 is configured to perform forwarding processing on the packet to be forwarded according to the obtained label splicing capability information and/or path identification capability information, and the forwarding policy sent by the controller.
  • FIG. 10 is a block diagram showing a preferred structure of a processing module 94 in a message forwarding processing apparatus 2 according to an embodiment of the present invention.
  • the processing module 94 includes a receiving unit 102 and a processing unit 104, and the processing module is provided below. 94 for explanation.
  • the receiving unit 102 is configured to receive the splicing label and/or the identification label that is sent by the controller, and the processing unit 104 is connected to the receiving unit 102, and is configured to perform splicing and packaging according to the splicing label, and then perform forwarding processing, and / Forwarding the packets to be forwarded according to the path identified by the identification label.
  • the receiving unit 102 is further configured to receive the splicing label and/or the identification label sent by the controller by carrying the splicing label and/or the label in the corresponding position of the extended sub-object of the SR-ERO.
  • the second obtaining module 92 is further configured to obtain the label splicing capability information and/or the path identifier capability information by acquiring the field value corresponding to the extended field in the type length value TLV attribute of the segment routing SR capability, where The field value is used to identify whether the controller supports label splicing, and/or to identify whether the controller supports path identification.
  • FIG. 11 is a structural block diagram of a route forwarding device according to an embodiment of the present invention. As shown in FIG. 11, the route forwarding device 110 includes the packet forwarding processing device 112 of any of the above.
  • the label splicing and path identification scheme of the SR LIST will be described with two examples.
  • idle tags are used to indicate splicing or path identification.
  • FIG. 12 is a schematic diagram of a network architecture for performing label splicing and/or path identification according to an embodiment of the present invention.
  • the SID of the NODE ID allocation of each device in the figure is 101-110, and the SRGB block size is 100-200. If the specified policy path on the controller is 101-102-104-103-105-106-108-107-109-110, if the existing deep processing capability of the label stack is 4 layers, you need to give
  • the LIST segmentation, segmentation splicing can be implemented as shown:
  • the label on the controller 100 is not assigned, and the label of 100 is used as the splicing identifier of each segment. (The tag of 100 is not the SID of the node or link, it is only used to indicate splicing.)
  • the splicing node is sent to each LIST segment, that is, the node that needs to be spliced by the packet header LIST, and the corresponding LIST processing information (the information is delivered through the southbound interface protocol, such as extensions of protocols such as PCEP and OpenFlow). ):
  • the packet header of the traffic that needs to be forwarded to the policy path needs to be encapsulated as 102-104-103-100.
  • FIG. 13 is a schematic diagram of the label forwarding table format of the label splicing corresponding to the embodiment of the present invention, as shown in FIG. As shown, when the ingress label is 100, the multi-label on the Push, the next hop and the outbound interface replicate the forwarding table of the outermost label 105 of the mapped fragment.
  • the forwarding table is formed as shown in Figure 13.
  • the ingress label is 100
  • the multiple labels on the Push the next hop and the outbound interface are copied. Is the forwarding table of the outermost label of the mapped fragment.
  • the packet forwarding process is as follows:
  • the packet arrives at the R1 node, and the 4-layer header 102-104-103-100 is encapsulated according to the policy of the flow. Find the forwarding entry according to the outer label 102, and forward it to the node R2.
  • R2 receives the traffic carrying the packet header 102-104-103-100, and finds that the outermost label is its own SID. The 102 label is popped up and forwarded according to 104. If it is forwarded to the R4 node, R4 is forwarded to R3 as indicated by R2. After the R3 node pops its own 103 tag, it finds the spliced identifier of the 100 mapping and repackages the packet 105-106-108-100.
  • the subsequent message is forwarded to the R8 node as described above, and the 100-mapped splicing identifier is searched for re-encapsulation 107-109-110.
  • the message is forwarded to the destination address according to the path policy information without changing the chip encapsulation processing capability of the device.
  • the path identification method can be implemented as follows:
  • the SIDs assigned to the NODE IDs of the devices in the figure are 101-110, and the SRGB block sizes are 100-200.
  • the controller can learn the label stack processing capability of the existing device through the southbound interface. For example, the stack processing capability of R1-R5 is 3, and the stack processing capability of R6-R10 is 5.
  • the policy path is segmented according to the stack processing capability, and the segment identifier can be implemented as shown:
  • the label on the controller 100 is not assigned, and the label of the policy path is marked on the controller by using the label of 100. (The tag 100 is not the SID of the node or link, only for the path ID.)
  • the controller sends the path and path identification information to the first node of each policy sub-path according to the acquired deep processing capability and the policy path information of the node stack, that is, the node that needs to be encapsulated by the SR packet header LIST.
  • the segmentation will occur on R1, R4, R5, and R8.
  • the information is delivered through the southbound interface protocol, such as through the extension of protocols such as PCEP and OpenFlow:
  • the path identifier and path information delivered are: 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, the direct formation of the package ⁇ 102, 104, 100 ⁇ is loaded in the message header, and the next hop edge 102 is forwarded.
  • the identifier of 100:101-102-104-103-105-106-108-107-109-110 is sent to form a forwarding table.
  • the 3 label on the button 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 the identification fragment or list fragment), the next hop and The outbound interface replicates the next hop and the outbound interface of the forwarding table of the first SID 103 that identifies the fragment.
  • the identifier of 100:101-102-104-103-105-106-108-107-109-110 is sent to form a forwarding table.
  • the 3 heavy label on the Push ⁇ 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 that identifies the fragment.
  • the identifier of 100:101-102-104-103-105-106-108-107-109-110 is issued, and the forwarding table is formed.
  • the push is 3 heavy (the 3 digits 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 that identifies the 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.
  • the device can advertise whether the SR LIST splicing is supported by using the Path Computation Element Communication Protocol (PCEP).
  • PCEP Path Computation Element Communication Protocol
  • the path identification function in the case that the device supports, the PCEP protocol can carry the SR LIST information and the corresponding splicing or path identification label, and perform corresponding processing to form forwarding information.
  • the solution mainly includes the following processing: the controller collects the network topology through the SR service, and calculates the corresponding SR LIST according to the requirements of the application; when the SR LIST exceeds the maximum label stack depth of the device, the segment is delivered by the SR LIST segmentation.
  • the forwarding device When the forwarding device receives the splicing or path identification information, it forms a label forwarding table. When receiving the corresponding forwarding packet, each node encapsulates and forwards the corresponding packet according to the forwarding table.
  • the splicing or path identification label is identified and processed because the SR LIST splicing or path identification function requires the forwarding device (ie, the routing forwarding device described above) to support. Therefore, the controller needs to know whether the forwarding device supports SR LIST splicing or path identification capability.
  • This function can be extended based on the PCEP support SR function protocol draft [draft-ietf-pce-segment-routing-00].
  • the current draft defines the SR-PCE-CAPABILITY TLV for forwarding between the device and the controller to support the establishment of the SR LIST, and to advertise the maximum tag stack depth supported by the forwarding device through the MSD (Maximum SID Depth) field.
  • the Flags and Reserved fields are set to 0 by default.
  • 14 is a schematic diagram of a message format of an SR capability TLV advertisement splicing capability and/or a path identification capability according to a preferred embodiment of the present invention. As shown in FIG. 14, on the basis of the SR capability TLV, the extended Flags field is added with a J (Joint). The bit indicates whether the SR LIST splicing function is supported.
  • Setting J to 1 indicates support for splicing, and resetting J to 0 indicates that splicing is not supported.
  • the Extended Flags field adds a P (Path Id) bit to indicate whether the path identification function is supported. P is set to 1 to indicate the support path identifier, and P is reset to 0 to indicate that the path identifier is not supported.
  • the SR LIST on the controller can only select one of the label splicing or path identification in the same node, and deliver two methods at the same time. The forwarding device considers that An exception does not process the next issued message.
  • the forwarding device notifies the controller of the splicing capability process:
  • the forwarding device supports splicing, when the PCC client where it resides establishes a PCEP session with the controller, the J position of the SR capability TLV is set in the initialization message.
  • the record forwarding device supports the SR LIST splicing function and records the maximum label stack depth limit of the device.
  • the controller notifies the forwarding device of the splicing capability process:
  • the controller supports the SR LIST segmentation function.
  • the PCC on the forwarding device receives the J-bit information in the SR capability TLV in the initialization message, which can be recorded or not processed according to the local policy. However, even if the segmentation splicing function is not supported, no reply error is required, and the information is ignored and in the normal manner. Establish a session.
  • the notification and processing of the path identification capability is the same as the label splicing capability, except that the P bit is used for notification.
  • the controller collects and records the maximum label stack depth supported by each forwarding device, and whether it supports the SR LIST splicing or path identification capability, determines whether to perform SR LIST splicing or path identification according to the maximum label stack depth limit, and selects the corresponding splicing. Or identify the node.
  • the controller calculates the SR LIST and sends it through the PCEP channel
  • the SR LIST information defined in the draft [draft-ietf-pce-segment-routing-00] is extended by the subtype of the ERO, that is, it is carried by the SR-ERO sub-object.
  • the splicing or path identification tag can also be carried by further extending the SR-ERO.
  • 15 is a schematic diagram of a packet format of an SR-ERO advertisement splicing and a path identifier SID according to a preferred embodiment of the present invention. As shown in FIG. 15, the original Flags field in the SR-ERO uses only 4 bits, and they are set to 1 meaning.
  • M indicates that the SID is the label and the first 20 bits are valid
  • C indicates that the additional attribute bits of the label are valid
  • S indicates that the SID value is not carried
  • F indicates that the NAI portion is not carried.
  • the splicing label sent by the controller can only appear on the top of the stack of the SR-ERO label stack or at the lower two positions of the stack. The PCC only processes the spliced tags on the top of the stack.
  • the path identification label delivered by the controller can only appear on the top of the stack of the SR-ERO label stack. The PCC only processes the path identification label at the top of the stack.
  • the SID of the NODE ID assigned to each device in the figure is 101-110, and the SRGB block size is 100-200. If the policy path specified on the controller is 101-102-104-103-105- 106-108-107-109-110, if all devices have a tag stack depth of 4, you need to segment the LIST.
  • the label of the controller 100 is not assigned, and the mapping of the policy path to the controller is performed by using the label of 100, and is sent as a splicing label to the splicing node.
  • the controller processes the delivery process as follows:
  • the SR LIST issued by the head node R1 and the splicing point R3 and R8 are calculated as: 102-104-103-100, 100-105-106-108-100, 100-107-109-110, respectively.
  • the controller sends the R1 node through the PCEP protocol: the R1 node receives the PCInitiate message to create a tunnel.
  • the SID tag sequence in the SR-ERO sub-object of the LSP instance is 102, 104, 103, 100.
  • the PCC checks that the top-of-stack tag 102 is not a spliced tag, R1 directly forms a forwarding entry with 102 as the forwarding information, and 102-104-103-100 as the forwarding entry of the tag stack.
  • the controller sends the R3 node through the PCEP protocol.
  • the R3 node receives the PCInitiate message to create a tunnel.
  • the SID tag sequence in the SR-ERO sub-object of the LSP instance is 100, 105, 106, 108, 100.
  • PCC inspection It is found that the top label 100 is a spliced label and therefore does not count towards the total depth of the label stack and is therefore not considered to exceed the maximum label stack depth. Since the top label is a spliced label, the formed forwarding entry uses the forwarding information of the next layer label 105 and forms a label stack of 105-106-108-100.
  • the specific forwarding table format is as shown in FIG.
  • the controller sends the R8 node through the PCEP protocol: the R8 node receives the PCInitiate message to create a tunnel.
  • the SID tag sequence in the SR-ERO sub-object of the LSP instance is 100, 107, 109, 110. Since the top label is a spliced label, it is formed.
  • the forwarding entry uses the forwarding information of the next label 107 and forms a label stack of 107-109-110.
  • the forwarding table is similar in form to an R3 node.
  • the controller when selecting the splicing node, the controller considers the limitation of the stack depth of 4, and also considers whether the node supports the splicing of the label stack.
  • the controller cannot select the R8 node when the above SR LIST splice point is selected, and the controller can select R3 and R6 as the splice point.
  • the SR LIST received by the head node R1, and the splicing points R3, R6 are: 102-104-103-100, 100-105-106-100, 100-108-107-109-110, respectively.
  • the processing of each splice point is unchanged.
  • the SID of the NODE ID assigned to each device in the figure is 101-110, and the SRGB block size is 100-200. If the policy path specified on the controller is 101-102-104-103-105- 106-108-107-109-110, if the stack processing capability of R1-R5 is 3, and the stack processing capability of R6-R10 is 5, the LIST segment needs to be segmented.
  • the label of the controller 100 is not assigned, and the mapping of the policy path to the controller is performed by using the label of 100, and is sent to the identifier node as a path identifier label.
  • the controller processes the delivery process as follows:
  • the controller selects R4, R5, and R8 nodes as identification nodes according to the stack depth limit.
  • the controller adopts the SR LIST in the path identification mode, and the head node R1 is the same as the SR LIST issued by the identification points R4, R5 and R8: 100-101-102-104-103-105-106-108-107- 109-110.
  • the controller sends the R1 node through the PCEP protocol.
  • the R1 node receives the PCInitiate message to create a tunnel.
  • the SID tag sequence in the SR-ERO sub-object of the LSP instance is 100, 101, 102, 104, 103, 105, 106, 108, 107, 109, 110.
  • the PCC checks that the top tag 100 is a path identification tag, so the SR LIST notified in the ERO is that the full path is not constrained by the local stack and does not reply to an error message.
  • the controller sends R4 through the PCEP protocol.
  • the information and processing of the R5 node are the same as R1, and the stacking labels formed are 103-105-100 and 106-108-100, respectively.
  • the ingress tag 100 forwarding behavior uses the forwarding behavior of the next SID value 103, 106 immediately following the local SID.
  • the controller sends the R8 node information through the PCEP protocol and the processing process is the same. However, since the label stack depth is greater than or equal to the remaining SR LIST after the local SID, the path identifier label 100 is not required to be used in the forwarding label. The remaining 107-109-110 is used as a forwarding push tag. The forwarding of the incoming tag 100 forms a forwarding behavior using 107.
  • the controller uses the path identification mode to organize the label. Since the forwarding device also participates in the calculation of the label stack, and the forwarding device does not know the path identification capability of other devices in the network, the node that does not support the path identification label cannot be avoided. If the node found by the label stack depth limit on the device does not support the path identifier function, the SR LIST is discarded and recalculated.
  • the SDN controller can integrate the status information of the complete SR LIST according to the same splicing or path identification label carried by the PCRpt message of each node. Through the cooperation of the PCRpt and the PCInitiate message, the controller can choose to first send the SR LIST to the intermediate point, and wait for all the intermediate points to notify the SR LIST status that the SR LIST is sent to the first node, so that the traffic introduced by the first node is not guaranteed. Will be lost.
  • modules or steps of the embodiments of the present invention can be implemented by a general computing device, which can be concentrated on a single computing device or distributed in multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from The steps shown or described are performed sequentially, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated into a single integrated circuit module. Thus, embodiments of the invention are not limited to any specific combination of hardware and software.
  • the related devices in the related art are not able to learn whether to support the splicing and/or path identification function of the SR LIST.
  • the problem of effective forwarding processing and thus it is possible to advertise whether the label is supported between devices.
  • the capability information of the splicing and/or path identification thereby achieving the effect of performing packet forwarding processing.

Abstract

本发明公开了一种报文转发处理方法、装置、控制器及路由转发设备,其中,该方法包括:获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识一个或多个路由转发设备是否支持路径标识的路径标识能力信息;依据获取的标签拼接能力信息和/或路径标识能力信息向一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策略,通过本发明,解决了相关技术中对报文进行转发处理的相关设备之间并不能获知是否支持SR LIST的拼接和/或路径标识功能,导致无法对报文进行有效的转发处理的问题,进而达到了可以在设备之间通告是否支持标签拼接和/或路径标识的能力信息,进而达到进行报文转发处理的效果。

Description

报文转发处理方法、装置、控制器及路由转发设备 技术领域
本发明涉及通信领域,具体而言,涉及一种报文转发处理方法、装置、控制器及路由转发设备。
背景技术
段路由(Segment Routing)是一种基于源地址的路由的方法,通过在数据报文外叠加一层影响现有最短路径转发的节点信息,携带在数据报文外部,报文根据这些指定路径节点信息进行最短路径转发。图1是相关技术中段路由的主要报文格式示意图,如图1所示,当包含段路由报文头的报文在SR网络域中进行传输时,通过段路由头中携带的指定SR节点路径信息,网络设备(一般为路由器)根据段路由报文头中的段操作指示进行相应的操作,该操作指示包括Push,Next,Continue。当操作指示为Push操作时,网络设备将SR Header(段路由报文头)压入到IP报文中,或者在段路由报文头中增加其他的段指示;Next和Continue操作通过Ptr的指针来表明,当判断出当前的段操作已经完毕,指针移到下一个段,指针所指的段表明是用于转发下一跳的active segment;Continue操作为该段操作没有结束,指针仍然停留在当前的段上。通过SR指定路径转发功能,可以非常便捷的实现网络的负载均衡和流程工程,以及快速重路由等复杂网络功能。其中段操作指示也可以扩展实现基于业务或者拓扑的路由指示,那么段路由也可以实现基于业务的网络虚拟化以及运行、管理和维护(Operation Administration and Maintenance,简称为OAM)等方面的应用。
段路由技术充分利用了相关技术中的多协议标签交换(Multi-Protocol Label Switching,简称为MPLS)封装技术,相关技术中的MPLS网络的报文头或者IPv6报文头中携带段路由报文头(Segment Routing Header),图2是相关技术中MPLS报文的格式示意图,如图2所示,MPLS报文头有32bits(4个字节),其中20bits的标签字段,3bits的TC字段,用于报文的优先级指示。1bit的栈底标记,用于MPLS的嵌套操作,8bits的TTL字段,用于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 LIST,一种可行解决方案是SR LIST拼接或路径标识。
然而在相关技术中对报文进行转发处理的相关设备之间并不能获知是否支持SR LIST的拼接和/或路径标识功能,导致无法对报文进行有效的转发处理。
发明内容
本发明实施例提供了一种报文转发处理方法、装置、控制器及路由转发设备,以至少解决相关技术中对报文进行转发处理的相关设备之间并不能获知是否支持SR LIST的拼接和/或路径标识功能,导致无法对报文进行有效的转发处理的问题。
根据本发明实施例的一个方面,提供了一种报文转发处理方法,包括:获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识所述一个或多个路由转发设备是否支持路径标识的路径标识能力信息;依据获取的所述标签拼接能力信息和/或所述路径标识能力信息向所述一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策略。
优选地,依据获取的所述标签拼接能力信息和/或所述路径标识能力信息向所述一个或多个路由转发设备下发用于对所述待转发的报文进行转发处理的所述转发策略包括:依据所述标签拼接能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定拼接节点,和/或,依据所述路径标识能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定标识节点;向确定的所述拼接节点下发拼接标签,和/或,向确定的所述标识节点下发标识标签,其中,所述拼接标签用于指示所述拼接节点对所述报文进行拼接封装后进行转发,所述标识标签用于指示所述标识节点依据所述标识标签标识的路径对所述报文进行转发。
优选地,依据所述标签拼接能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定所述拼接节点,和/或,依据所述路径标识能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定所述标识节点包括:依据所述一个或多个路由转发设备的栈处理能力为所述待转发的报文选择备用拼接节点,和/或备用标识节点;依据所述标签拼接能力信息判断所述备用拼接节点是否支持标签拼接,和/或所述备用标识节点是否支持路径标识;在判断结果为是的情况下,确定所述备用拼接节点为所述拼接节点,和/或所述备用标识节点为所述标识节点。
优选地,通过以下方式,向确定的所述拼接节点下发所述拼接标签,和/或,向确定的所述标识节点下发所述标识标签包括:通过在SR-ERO的扩展子对象对应位置上携带所述拼接标签和/或所述标识标签的方式,向确定的所述拼接节点下发所述拼接标签,和/或,向确定的所述标识节点下发所述标识标签。
优选地,通过以下方式,获取用于标识所述一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识所述一个或多个路由转发设备是否支持路径标识的路径标识能力信息:通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取所述标签拼接能力信息和/或所述路径标识能力信息,其中,所述字段值用于标识所述一个或多个路由转发设备是否支持标签拼接,和/或,用于标识所述一个或多个路由转发设备是否支持路径标识。
根据本发明实施例的另一方面,提供了一种报文转发处理方法,包括:获取用于标识控制器是否支持标签拼接的标签拼接能力信息,和/或用于标识所述控制器是否支持路径标识的路径标识能力信息;依据获取的所述标签拼接能力信息和/或所述路径标识能力信息,以及所述控制器下发的转发策略对待转发的报文进行转发处理。
优选地,依据获取的所述标签拼接能力信息和/或所述路径标识能力信息,以及所述控制器下发的所述转发策略对所述待转发的报文进行转发处理包括:接收所述控制器下发的拼接标签和/或标识标签;依据所述拼接标签对所述待转发的报文进行拼接封装后进行转发处理,和/或依据所述标识标签标识的路径对所述待转发的报文进行转发处理。
优选地,通过以下方式,接收所述控制器下发的所述拼接标签和/或所述标识标签包括:通过在SR-ERO的扩展子对象对应位置上携带所述拼接标签和/或所述标识标签的方式,接收所述控制器下发的所述拼接标签和/或所述标识标签。
优选地,通过以下方式,获取用于标识所述控制器是否支持标签拼接的所述标签拼接能力信息,和/或用于标识所述控制器是否支持路径标识的所述路径标识能力信息:通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取所述标签拼接能力信息和/或所述路径标识能力信息,其中,所述字段值用于标识所述控制器是否支持标签拼接,和/或,用于标识所述控制器是否支持路径标识。
根据本发明实施例的一方面,提供了一种报文转发处理装置,包括:第一获取模块,设置为获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识所述一个或多个路由转发设备是否支持路径标识的路径标识能力信息;下发模块,设置为依据获取的所述标签拼接能力信息和/或所述路径标识能力信息向所述一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策 略。
优选地,所述下发模块包括:确定单元,设置为依据所述标签拼接能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定拼接节点,和/或,依据所述路径标识能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定标识节点;下发单元,设置为向确定的所述拼接节点下发拼接标签,和/或,向确定的所述标识节点下发标识标签,其中,所述拼接标签用于指示所述拼接节点对所述报文进行拼接封装后进行转发,所述标识标签用于指示所述标识节点依据所述标识标签标识的路径对所述报文进行转发。
优选地,所述确定单元包括:选择子单元,设置为依据所述一个或多个路由转发设备的栈处理能力为所述待转发的报文选择备用拼接节点,和/或备用标识节点;判断子单元,设置为依据所述标签拼接能力信息判断所述备用拼接节点是否支持标签拼接,和/或所述备用标识节点是否支持路径标识;确定子单元,设置为在判断结果为是的情况下,确定所述备用拼接节点为所述拼接节点,和/或所述备用标识节点为所述标识节点。
优选地,所述下发单元,还设置为通过在SR-ERO的扩展子对象对应位置上携带所述拼接标签和/或所述标识标签的方式,向确定的所述拼接节点下发所述拼接标签,和/或,向确定的所述标识节点下发所述标识标签。
优选地,所述第一获取模块,还设置为通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取所述标签拼接能力信息和/或所述路径标识能力信息,其中,所述字段值用于标识所述一个或多个路由转发设备是否支持标签拼接,和/或,用于标识所述一个或多个路由转发设备是否支持路径标识。
根据本发明实施例的另一方面,提供了一种控制器,包括上述任一项所述的装置。
根据本发明实施例的一方面,提供了一种报文转发处理装置,包括:第二获取模块,设置为获取用于标识控制器是否支持标签拼接的标签拼接能力信息,和/或用于标识所述控制器是否支持路径标识的路径标识能力信息;处理模块,设置为依据获取的所述标签拼接能力信息和/或所述路径标识能力信息,以及所述控制器下发的转发策略对待转发的报文进行转发处理。
优选地,所述处理模块包括:接收单元,设置为接收所述控制器下发的拼接标签和/或标识标签;处理单元,设置为依据所述拼接标签对所述待转发的报文进行拼接封装后进行转发处理,和/或依据所述标识标签标识的路径对所述待转发的报文进行转发处理。
优选地,所述接收单元,还设置为通过在SR-ERO的扩展子对象对应位置上携带 所述拼接标签和/或所述标识标签的方式,接收所述控制器下发的所述拼接标签和/或所述标识标签。
优选地,所述第二获取模块,还设置为通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取所述标签拼接能力信息和/或所述路径标识能力信息,其中,所述字段值用于标识所述控制器是否支持标签拼接,和/或,用于标识所述控制器是否支持路径标识。
根据本发明实施例的另一方面,提供了一种路由转发设备,包括上述任一项所述的装置。
通过本发明实施例,采用获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识所述一个或多个路由转发设备是否支持路径标识的路径标识能力信息;依据获取的所述标签拼接能力信息和/或所述路径标识能力信息向所述一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策略,解决了相关技术中对报文进行转发处理的相关设备之间并不能获知是否支持SR LIST的拼接和/或路径标识功能,导致无法对报文进行有效的转发处理的问题,进而达到了可以在设备之间通告是否支持标签拼接和/或路径标识的能力信息,进而达到进行报文转发处理的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中段路由的主要报文格式示意图;
图2是相关技术中MPLS报文的格式示意图;
图3是根据本发明实施例的报文转发处理方法一的流程图;
图4是根据本发明实施例的报文转发处理方法二的流程图;
图5是根据本发明实施例的报文转发处理装置一的结构框图;
图6是根据本发明实施例的报文转发处理装置一中下发模块54的优选结构框图;
图7是根据本发明实施例的报文转发处理装置一中下发模块54中确定单元62的优选结构框图;
图8是根据本发明实施例的控制器的结构框图;
图9是根据本发明实施例的报文转发处理装置二的优选结构框图;
图10是根据本发明实施例的报文转发处理装置二中处理模块94的优选结构框图;
图11是根据本发明实施例的路由转发设备的结构框图;
图12是与本发明实施例对应的进行标签拼接和/或路径标识的网络架构示意图;
图13是与本发明实施例对应的标签拼接的标签转发表格式示意图;
图14是根据本发明优选实施例的SR能力TLV通告拼接能力和/或路径标识能力的报文格式示意图;
图15是根据本发明优选实施例的SR-ERO通告拼接和路径标识SID的报文格式示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种报文转发处理方法,图3是根据本发明实施例的报文转发处理方法一的流程图,如图3所示,该流程包括如下步骤:
步骤S302,获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识一个或多个路由转发设备是否支持路径标识的路径标识能力信息;
步骤S304,依据获取的标签拼接能力信息和/或路径标识能力信息向一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策略。
通过上述步骤,控制器通过获取路由转发设备是否支持标签拼接的标签拼接能力信息,和/或是否支持路径标识的路径标识能力信息,向路由转发设备下发用于转发报文的转发策略,解决了相关技术中对报文进行转发处理的相关设备之间并不能获知是否支持SR LIST的拼接和/或路径标识功能,导致无法对报文进行有效的转发处理的问题,进而达到了可以在设备之间通告是否支持标签拼接和/或路径标识的能力信息,进而达到进行报文转发处理的效果。
依据获取的标签拼接能力信息和/或路径标识能力信息向一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策略时,可以采用多种方式,例如,可以先依据标签拼接能力信息从一个或多个路由转发设备中为待转发的报文确定拼接节点,和/或,依据路径标识能力信息从一个或多个路由转发设备中为待转发的报文确 定标识节点;之后,向确定的拼接节点下发拼接标签,和/或,向确定的标识节点下发标识标签,其中,拼接标签用于指示拼接节点对报文进行拼接封装后进行转发,标识标签用于指示标识节点依据标识标签标识的路径对报文进行转发。
其中,依据标签拼接能力信息从一个或多个路由转发设备中为待转发的报文确定拼接节点,和/或,依据路径标识能力信息从一个或多个路由转发设备中为待转发的报文确定标识节点也可以采用多种方式,例如,比较简单的处理方式包括:先依据一个或多个路由转发设备的栈处理能力为待转发的报文选择备用拼接节点,和/或备用标识节点;之后,依据标签拼接能力信息判断备用拼接节点是否支持标签拼接,和/或备用标识节点是否支持路径标识;在判断结果为是的情况下,确定备用拼接节点为拼接节点,和/或备用标识节点为标识节点。即只有路由转发设备满足一定的栈处理能力,以及自身支持对应的标签拼接能力和/或路径标识能力,才能确定为用于对报文进行拼接的拼接节点和/或用于对转发路径进行标识的标识节点。
向确定的拼接节点下发拼接标签,和/或,向确定的标识节点下发标识标签时,可以采用多种方式,较优地,可以采用以下方式,通过在SR-ERO的扩展子对象对应位置上携带拼接标签和/或标识标签的方式,向确定的拼接节点下发拼接标签,和/或,向确定的标识节点下发标识标签。
另外,获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识一个或多个路由转发设备是否支持路径标识的路径标识能力信息时,也可以采用多种方式,举例说明:可以通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取标签拼接能力信息和/或路径标识能力信息,其中,字段值用于标识一个或多个路由转发设备是否支持标签拼接,和/或,用于标识一个或多个路由转发设备是否支持路径标识。
图4是根据本发明实施例的报文转发处理方法二的流程图,如图4所示,该流程包括如下步骤:
步骤S402,获取用于标识控制器是否支持标签拼接的标签拼接能力信息,和/或用于标识控制器是否支持路径标识的路径标识能力信息;
步骤S404,依据获取的标签拼接能力信息和/或路径标识能力信息,以及控制器下发的转发策略对待转发的报文进行转发处理。
通过上述步骤,路由转发设备通过获取控制器是否支持标签拼接的标签拼接能力信息,和/或是否支持路径标识的路径标识能力信息,以及控制器下发的转发策略对待转发的报文进行转发处理,解决了相关技术中对报文进行转发处理的相关设备之间并不能获知是否支持SR LIST的拼接和/或路径标识功能,导致无法对报文进行有效的转 发处理的问题,进而达到了可以在设备之间通告是否支持标签拼接和/或路径标识的能力信息,进而达到进行报文转发处理的效果。
依据获取的标签拼接能力信息和/或路径标识能力信息,以及控制器下发的转发策略对待转发的报文进行转发处理时,可以采用多种处理方式,例如,可以先接收控制器下发的拼接标签和/或标识标签;之后,依据拼接标签对待转发的报文进行拼接封装后进行转发处理,和/或依据标识标签标识的路径对待转发的报文进行转发处理。
其中,接收控制器下发的拼接标签和/或标识标签也可以采用多种方式,例如,可以通过在SR-ERO的扩展子对象对应位置上携带拼接标签和/或标识标签的方式,接收控制器下发的拼接标签和/或标识标签。
另外,获取用于标识控制器是否支持标签拼接的标签拼接能力信息,和/或用于标识控制器是否支持路径标识的路径标识能力信息时,也可以采用多种处理方式,例如,可以通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取标签拼接能力信息和/或路径标识能力信息,其中,字段值用于标识控制器是否支持标签拼接,和/或,用于标识控制器是否支持路径标识。
在本实施例中还提供了一种报文转发处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的报文转发处理装置一的结构框图,如图5所示,该装置包括第一获取模块52和下发模块54,下面对该装置进行说明。
第一获取模块52,设置为获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识一个或多个路由转发设备是否支持路径标识的路径标识能力信息;下发模块54,连接至上术第一获取模块52,设置为依据获取的标签拼接能力信息和/或路径标识能力信息向一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策略。
图6是根据本发明实施例的报文转发处理装置一中下发模块54的优选结构框图,如图6所示,该下发模块54包括:确定单元62和下发单元64,下面对该下发模块54进行说明。
确定单元62,设置为依据标签拼接能力信息从一个或多个路由转发设备中为待转发的报文确定拼接节点,和/或,依据路径标识能力信息从一个或多个路由转发设备中为待转发的报文确定标识节点;下发单元64,连接至上述确定单元62,设置为向确定的拼接节点下发拼接标签,和/或,向确定的标识节点下发标识标签,其中,拼接标签 用于指示拼接节点对报文进行拼接封装后进行转发,标识标签用于指示标识节点依据标识标签标识的路径对报文进行转发。
图7是根据本发明实施例的报文转发处理装置一中下发模块54中确定单元62的优选结构框图,如图7所示,该确定单元62包括:选择子单元72、判断子单元74和确定子单元76,下面对该确定单元62进行说明。
选择子单元72,设置为依据一个或多个路由转发设备的栈处理能力为待转发的报文选择备用拼接节点,和/或备用标识节点;判断子单元74,连接至上述选择子单元72,设置为依据标签拼接能力信息判断备用拼接节点是否支持标签拼接,和/或备用标识节点是否支持路径标识;确定子单元76,连接至上述判断子单元74,设置为在判断结果为是的情况下,确定备用拼接节点为拼接节点,和/或备用标识节点为标识节点。
优选地,该下发单元64,还设置为通过在SR-ERO的扩展子对象对应位置上携带拼接标签和/或标识标签的方式,向确定的拼接节点下发拼接标签,和/或,向确定的标识节点下发标识标签。
优选地,上述第一获取模块52,还设置为通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取标签拼接能力信息和/或路径标识能力信息,其中,字段值用于标识一个或多个路由转发设备是否支持标签拼接,和/或,用于标识一个或多个路由转发设备是否支持路径标识。
图8是根据本发明实施例的控制器的结构框图,如图8所示,该控制器80包括上述任一项的报文转发处理装置一82。
图9是根据本发明实施例的报文转发处理装置二的优选结构框图,如图9所示,该装置包括:第二获取模块92和处理模块94,下面对该装置进行说明。
第二获取模块92,设置为获取用于标识控制器是否支持标签拼接的标签拼接能力信息,和/或用于标识控制器是否支持路径标识的路径标识能力信息;处理模块94,连接至上述第二获取模块92,设置为依据获取的标签拼接能力信息和/或路径标识能力信息,以及控制器下发的转发策略对待转发的报文进行转发处理。
图10是根据本发明实施例的报文转发处理装置二中处理模块94的优选结构框图,如图10所示,该处理模块94包括:接收单元102和处理单元104,下面对该处理模块94进行说明。
接收单元102,设置为接收控制器下发的拼接标签和/或标识标签;处理单元104,连接至上述接收单元102,设置为依据拼接标签对待转发的报文进行拼接封装后进行转发处理,和/或依据标识标签标识的路径对待转发的报文进行转发处理。
优选地,该接收单元102,还设置为通过在SR-ERO的扩展子对象对应位置上携带拼接标签和/或标识标签的方式,接收控制器下发的拼接标签和/或标识标签。
优选地,该第二获取模块92,还设置为通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取标签拼接能力信息和/或路径标识能力信息,其中,字段值用于标识控制器是否支持标签拼接,和/或,用于标识控制器是否支持路径标识。
图11是根据本发明实施例的路由转发设备的结构框图,如图11所示,该路由转发设备110包括上述任一项的报文转发处理装置二112。
在对本发明优选实施例进行说明之前,先以两个例子来说明SR LIST的标签拼接和路径标识方案。通过扩展管理SRGB块,使用空闲的标签用以表示拼接或路径标识。
标签拼接方式可以如下实现:
图12是与本发明实施例对应的进行标签拼接和/或路径标识的网络架构示意图,如图12所示:图中各设备的NODE ID分配的SID分别为101-110,而SRGB块大小为100-200,若控制器上指定的策略路径为101-102-104-103-105-106-108-107-109-110,如现有的标签栈深处理能力是4层标签,则需要给该LIST分段,分段拼接可以如示实现:
1、控制器上100的标签未被分配,采用100的标签来作为各个分段的拼接标识。(100的标签不是节点或链路的SID,仅用于表示拼接。)
2、下发给各LIST分段拼接节点,也即相应需要拼接报文头LIST封装的节点,相应的LIST处理信息(信息通过南向接口协议下发,如PCEP、OpenFlow等协议的扩展下发):
对于R1节点,下发需要转发至该策略路径的流量的报文头所需封装为102-104-103-100。
对于R3节点,需要下发100映射到105-106-108-100的标识,指导拼接封装,形成转发表,图13是与本发明实施例对应的标签拼接的标签转发表格式示意图,如图13所示,发现入标签是100时,Push上多重标签,下一跳和出接口复制的是映射分片的最外层标签105的转发表。
对于R8节点,需要下发100到107-109-110的标识,指导拼接封装,形成转发表如图13所示,发现入标签是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节点,查找100映射的拼接标识进行重新封装107-109-110。
由此报文依据路径策略信息在无需改变设备的芯片封装处理能力的情形下将报文转发至目的地址。
路径标识方式可以如下实现:
如图12所示,为图中各设备的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、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标签,恢复原始报文转发。
由此报文依据路径策略信息在无需改变设备的芯片封装处理能力的情形下将报文转发至目的地址。
结合上述标签拼接和路径标识的方案,在本优选实施例中,通过扩展路径计算单元通信协议(Path Computation Element Communication Protocol,简称为PCEP),使得设备可以通告是否支持SR LIST拼接(即上述标签拼接)或路径标识功能,在设备支持的情况下PCEP协议可以携带SR LIST信息和相应的拼接或路径标识标签,并做相应的处理形成转发信息。该方案主要包括如下处理:控制器通过SR服务来收集网络拓扑,并根据应用的需求计算对应的SR LIST;当SR LIST超过了设备最大标签栈深时采用分段下发SR LIST的方式进行拼接或向子路径首节点下路径标识信息;PCEP收集设备上是否支持SR LIST的拼接或路径标识能力,并作为控制器进行SR LIST分段的依据,最后将SR LIST分段信息或路径标识信息下发到需要的中间节点上;转发设备接收到拼接或路径标识信息时,形成标签转发表;各节点收到相应的转发报文时,根据转发表进行相应报文的封装及转发。
下面结合上述标签拼接和路径标识方案,以及附图对本发明优选实施例进行说明。
SR LIST拼接或路径标识能力通告和使用
由于SR LIST拼接或路径标识功能需要转发设备(即上述的路由转发设备)支持,识别并处理拼接或路径标识标签。因此控制器需要知道转发设备是否支持SR LIST拼接或路径标识能力。该功能可以在PCEP支持SR功能协议草案[draft-ietf-pce-segment-routing-00]基础上做扩展得到。
当前草案定义了SR能力TLV(SR-PCE-CAPABILITY TLV)用于转发设备和控制器间通告是否支持SR LIST建立,并通过MSD(Maximum SID Depth)字段通告转发设备支持的最大标签栈深,目前Flags和Reserved字段默认设置为0。图14是根据本发明优选实施例的SR能力TLV通告拼接能力和/或路径标识能力的报文格式示意图,如图14所示,在SR能力TLV的基础上,扩展Flags字段增加一个J(Joint)位表示是否支持SR LIST拼接功能。J置位为1表示支持拼接,J复位为0表示不支持拼接。扩展Flags字段增加一个P(Path Id)位表示是否支持路径标识功能。P置位为1表示支持路径标识,P复位为0表示不支持路径标识。控制器上一条SR LIST给同一个节点只能选择标签拼接或路径标识中的一种方式,同时下发两种方式,转发设备认为是 异常而不处理后一个下发的信息。
标签拼接能力的通告过程如下:
转发设备向控制器通知拼接能力过程:
1、转发设备如果支持拼接,则在其驻留的PCC客户端与控制器建立PCEP会话时,在初始化消息中将SR能力TLV的J位置1。
2、控制器上PCE收到初始化话消息中的SR能力TLV后,记录转发设备否支持SR LIST拼接功能,同时记录设备最大标签栈深限制。
控制器向转发设备通知拼接能力过程:
1、控制器上PCE服务端如果将J位置1,表示控制器支持SR LIST分段拼接功能。
2、转发设备上PCC收到初始化消息中SR能力TLV中J位信息,可以按本地策略进行记录或不处理,但即使不支持分段拼接功能也不需要回复错误,忽略该信息并按正常方式建立会话。
路径标识能力的通告和处理过程和标签拼接能力一样,只是采用了P位进行通告。
控制器收集并记录各转发设备支持的最大标签栈深,以及是否支持SR LIST拼接或路径标识能力后,根据最大标签栈深限制,判断是否要进行SR LIST拼接或路径标识,并选择相应的拼接或标识节点。
SR LIST拼接或路径标识信息下发方式:
控制器计算好SR LIST后通过PCEP通道下发,草案[draft-ietf-pce-segment-routing-00]中定义SR LIST信息通过扩展ERO的子类型,即使用SR-ERO子对象携带。拼接或路径标识标签也可以通过进一步扩展SR-ERO来携带。图15是根据本发明优选实施例的SR-ERO通告拼接和路径标识SID的报文格式示意图,如图15所示,SR-ERO中原有的Flags字段只使用了4位,它们设置成1含义分别是:M表示SID是标签且前20位有效,C表示标签的附加属性位有效,S表示SID值未携带,F表示NAI部分未携带。我们在这个基础上增加了一个J(Joint)位,J置位为1表示SID是一个拼接标签,J复位为0表示非拼接标签。同时增加了一个P(Path Id)位,P置位为1表示SID是一个路径标识标签,P复位为0表示非路径标识标签。
控制器下发拼接标签SR-ERO相关位的设置如下:M=1,C=0,S=0,F=1,J=1, P=0。转发设备上驻留的PCC如果不能处理这样的SR-ERO,则回复PCErr消息Error-Type=10,Error-value=8(不支持路径标识或拼接标签),同时携带相应的错误SR-ERO对象给控制器,并忽略整个消息。控制器下发的拼接标签只能出现在SR-ERO标签栈的栈顶或栈低两个位置。PCC只对栈顶的拼接标签做处理。拼接标签出现在其他位置需要回复PCErr消息Error-Type=10,Error-value=9(路径标识或拼接标签格式错误),同时携带整个ERO对象给控制器,并忽略整个消息。
控制器下发路径标识标签SR-ERO相关位的设置如下:M=1,C=0,S=0,F=1,J=0,P=1。转发设备上驻留的PCC如果不能处理这样的SR-ERO,则回复PCErr消息Error-Type=10,Error-value=8(不支持路径标识或拼接标签),同时携带相应的错误SR-ERO对象给控制器,并忽略整个消息。控制器下发的路径标识标签只能出现在SR-ERO标签栈的栈顶。PCC只对栈顶的路径标识标签做处理。标识标签出现在其他位置需要回复PCErr消息Error-Type=10,Error-value=9(路径标识或拼接标签格式错误),同时携带整个ERO对象给控制器,并忽略整个消息。
下面对SR LIST的拼接下发处理以及路径标识下发处理过程分别进行说明。
SR LIST拼接下发处理过程
如图12所示:图中各设备的NODE ID分配的SID分别为101-110,而SRGB块大小为100-200,若控制器上指定的策略路径为101-102-104-103-105-106-108-107-109-110,如所有设备的标签栈深都是4,则需要给该LIST分段。控制器上100的标签未被分配,采用100的标签对该策略路径在控制器上进行的映射维护,并作为拼接标签下发到拼接节点。
如果所有的转发设备都支持拼接功能,则控制器处理下发过程如下:
1、根据栈深限制选取R3,R8节点作为拼接点。
2、头结点R1,和拼接点R3,R8下发的SR LIST计算得到分别是:102-104-103-100,100-105-106-108-100,100-107-109-110。
3、控制器通过PCEP协议下发R1节点:R1节点收到PCInitiate消息创建隧道,该消息中LSP实例的SR-ERO子对象中SID标签序列是102,104,103,100。PCC检查栈顶标签102不是拼接标签,R1直接形成一个以102为转发信息,102-104-103-100为标签栈的转发条目。
4、控制器通过PCEP协议下发R3节点:R3节点收到PCInitiate消息创建隧道,该消息中LSP实例的SR-ERO子对象中SID标签序列是100,105,106,108,100。PCC检 查发现栈顶标签100是一个拼接标签,因此不计入标签栈的总深度所以不认为超过了最大标签栈深。由于栈顶标签是一个拼接标签,因此形成的转发条目采用下一层标签105的转发信息,并形成105-106-108-100的标签栈,具体的转发表格式如图13所示。
5、控制器通过PCEP协议下发R8节点:R8节点收到PCInitiate消息创建隧道,该消息中LSP实例的SR-ERO子对象中SID标签序列是100,107,109,110.由于栈顶标签是一个拼接标签,因此形成的转发条目采用下一个标签107的转发信息,并形成107-109-110的标签栈。转发表形式类似R3节点。
如果图12中的R8节点和控制器建立PCEP会话时,没有通告标签拼接能力。
则控制器在选择拼接节点时,考虑栈深为4的限制同时,还要考虑节点是否支持标签栈的拼接。控制器在上述SR LIST拼接点选择时不能选择R8节点,控制器可以选择R3,R6做拼接点。头结点R1,和拼接点R3,R6收到的SR LIST分别是:102-104-103-100,100-105-106-100,100-108-107-109-110。各拼接点的处理方式不变。
SR LIST路径标识下发处理过程
如图12所示:图中各设备的NODE ID分配的SID分别为101-110,而SRGB块大小为100-200,若控制器上指定的策略路径为101-102-104-103-105-106-108-107-109-110,如R1-R5的栈处理能力为3,R6-R10的栈处理能力为5,则需要给该LIST分段。控制器上100的标签未被分配,采用100的标签对该策略路径在控制器上进行的映射维护,并作为路径标识标签下发到标识节点。控制器处理下发过程如下:
1、控制器根据栈深限制选取R4,R5,R8节点作为标识节点。
2、控制器采用路径标识方式下SR LIST,头结点R1,和标识点R4,R5,R8下发的SR LIST相同:100-101-102-104-103-105-106-108-107-109-110。
3、控制器通过PCEP协议下发R1节点:R1节点收到PCInitiate消息创建隧道,该消息中LSP实例的SR-ERO子对象中SID标签序列是100,101,102,104,103,105,106,108,107,109,110。PCC检查栈顶标签100是路径标识标签,因此ERO中通知的SR LIST是完整路径不受本地栈深约束,不回复错误消息。R1处理该SR LIST时根据本地最大栈深是3的约束,R1使用紧随本机SID值101的SID值102形成转发信息,同时从中本机SID往后选取栈深值减1(3-1=2)个SR LIST条目,加上路径标识标签100,构成102-104-100的SR LIST分段,作为压栈标签。
4、控制器通过PCEP协议下发R4,R5节点的信息和处理过程同R1,形成的压栈标签分别是103-105-100,106-108-100。入标签100转发行为分别使用紧随本地SID的下一个SID值103,106的转发行为。
5、控制器通过PCEP协议下发R8节点信息和处理过程是一样的,但是由于标签栈深大于等于本机SID后的剩余SR LIST,因此不需要在转发标签中再使用路径标识标签100,直接将剩余的107-109-110作为转发压栈标签。入标签100的转发形成采用107的转发行为。
控制器采用路径标识方式来组织标签,由于转发设备也参与了标签栈的计算形成,且转发设备不知道网络中其他设备的路径标识能力,因此无法避开不支持路径标识标签的节点,控制器发现设备上按标签栈深限制找到的节点不支持路径标识功能则要放弃该SR LIST,进行重新计算。
SR LIST拼接或路径标识形成隧道有序形成控制
SR LIST的头结点和拼接或标识节点都采用PCRpt消息来通告SR LIST的状态。SDN控制器可以根据各节点PCRpt消息携带的相同拼接或路径标识标签,整合出完整SR LIST的状态信息。通过PCRpt和PCInitiate消息的相互配合,控制器可以选择先向中间点下SR LIST,等所有中间点通报SR LIST状态可用后再向首结点下发SR LIST,这样保证首结点引入的流量不会丢失。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
如上所述,通过上述实施例及优选实施方式,解决了相关技术中对报文进行转发处理的相关设备之间并不能获知是否支持SR LIST的拼接和/或路径标识功能,导致无法对报文进行有效的转发处理的问题,进而达到了可以在设备之间通告是否支持标签 拼接和/或路径标识的能力信息,进而达到进行报文转发处理的效果。

Claims (20)

  1. 一种报文转发处理方法,包括:
    获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识所述一个或多个路由转发设备是否支持路径标识的路径标识能力信息;
    依据获取的所述标签拼接能力信息和/或所述路径标识能力信息向所述一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策略。
  2. 根据权利要求1所述的方法,其中,依据获取的所述标签拼接能力信息和/或所述路径标识能力信息向所述一个或多个路由转发设备下发用于对所述待转发的报文进行转发处理的所述转发策略包括:
    依据所述标签拼接能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定拼接节点,和/或,依据所述路径标识能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定标识节点;
    向确定的所述拼接节点下发拼接标签,和/或,向确定的所述标识节点下发标识标签,其中,所述拼接标签用于指示所述拼接节点对所述报文进行拼接封装后进行转发,所述标识标签用于指示所述标识节点依据所述标识标签标识的路径对所述报文进行转发。
  3. 根据权利要求2所述的方法,其中,依据所述标签拼接能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定所述拼接节点,和/或,依据所述路径标识能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定所述标识节点包括:
    依据所述一个或多个路由转发设备的栈处理能力为所述待转发的报文选择备用拼接节点,和/或备用标识节点;
    依据所述标签拼接能力信息判断所述备用拼接节点是否支持标签拼接,和/或所述备用标识节点是否支持路径标识;
    在判断结果为是的情况下,确定所述备用拼接节点为所述拼接节点,和/或所述备用标识节点为所述标识节点。
  4. 根据权利要求2所述的方法,其中,通过以下方式,向确定的所述拼接节点下发所述拼接标签,和/或,向确定的所述标识节点下发所述标识标签包括:
    通过在SR-ERO的扩展子对象对应位置上携带所述拼接标签和/或所述标识标签的方式,向确定的所述拼接节点下发所述拼接标签,和/或,向确定的所述标识 节点下发所述标识标签。
  5. 根据权利要求1至4中任一项所述的方法,其中,通过以下方式,获取用于标识所述一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识所述一个或多个路由转发设备是否支持路径标识的路径标识能力信息:
    通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取所述标签拼接能力信息和/或所述路径标识能力信息,其中,所述字段值用于标识所述一个或多个路由转发设备是否支持标签拼接,和/或,用于标识所述一个或多个路由转发设备是否支持路径标识。
  6. 一种报文转发处理方法,包括:
    获取用于标识控制器是否支持标签拼接的标签拼接能力信息,和/或用于标识所述控制器是否支持路径标识的路径标识能力信息;
    依据获取的所述标签拼接能力信息和/或所述路径标识能力信息,以及所述控制器下发的转发策略对待转发的报文进行转发处理。
  7. 根据权利要求6所述的方法,其中,依据获取的所述标签拼接能力信息和/或所述路径标识能力信息,以及所述控制器下发的所述转发策略对所述待转发的报文进行转发处理包括:
    接收所述控制器下发的拼接标签和/或标识标签;
    依据所述拼接标签对所述待转发的报文进行拼接封装后进行转发处理,和/或依据所述标识标签标识的路径对所述待转发的报文进行转发处理。
  8. 根据权利要求7所述的方法,其中,通过以下方式,接收所述控制器下发的所述拼接标签和/或所述标识标签包括:
    通过在SR-ERO的扩展子对象对应位置上携带所述拼接标签和/或所述标识标签的方式,接收所述控制器下发的所述拼接标签和/或所述标识标签。
  9. 根据权利要求6所述的方法,其中,通过以下方式,获取用于标识所述控制器是否支持标签拼接的所述标签拼接能力信息,和/或用于标识所述控制器是否支持路径标识的所述路径标识能力信息:
    通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取所述标签拼接能力信息和/或所述路径标识能力信息,其中,所述字段值用于标识所述控制器是否支持标签拼接,和/或,用于标识所述控制器是否支持路径标识。
  10. 一种报文转发处理装置,包括:
    第一获取模块,设置为获取用于标识一个或多个路由转发设备是否支持标签拼接的标签拼接能力信息,和/或用于标识所述一个或多个路由转发设备是否支持路径标识的路径标识能力信息;
    下发模块,设置为依据获取的所述标签拼接能力信息和/或所述路径标识能力信息向所述一个或多个路由转发设备下发用于对待转发的报文进行转发处理的转发策略。
  11. 根据权利要求10所述的装置,其中,所述下发模块包括:
    确定单元,设置为依据所述标签拼接能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定拼接节点,和/或,依据所述路径标识能力信息从所述一个或多个路由转发设备中为所述待转发的报文确定标识节点;
    下发单元,设置为向确定的所述拼接节点下发拼接标签,和/或,向确定的所述标识节点下发标识标签,其中,所述拼接标签用于指示所述拼接节点对所述报文进行拼接封装后进行转发,所述标识标签用于指示所述标识节点依据所述标识标签标识的路径对所述报文进行转发。
  12. 根据权利要求11所述的装置,其中,所述确定单元包括:
    选择子单元,设置为依据所述一个或多个路由转发设备的栈处理能力为所述待转发的报文选择备用拼接节点,和/或备用标识节点;
    判断子单元,设置为依据所述标签拼接能力信息判断所述备用拼接节点是否支持标签拼接,和/或所述备用标识节点是否支持路径标识;
    确定子单元,设置为在判断结果为是的情况下,确定所述备用拼接节点为所述拼接节点,和/或所述备用标识节点为所述标识节点。
  13. 根据权利要求11所述的装置,其中,
    所述下发单元,还设置为通过在SR-ERO的扩展子对象对应位置上携带所述拼接标签和/或所述标识标签的方式,向确定的所述拼接节点下发所述拼接标签,和/或,向确定的所述标识节点下发所述标识标签。
  14. 根据权利要求10至13中任一项所述的装置,其中,
    所述第一获取模块,还设置为通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取所述标签拼接能力信息和/或所述路径 标识能力信息,其中,所述字段值用于标识所述一个或多个路由转发设备是否支持标签拼接,和/或,用于标识所述一个或多个路由转发设备是否支持路径标识。
  15. 一种控制器,包括权利要求10至14中任一项所述的装置。
  16. 一种报文转发处理装置,包括:
    第二获取模块,设置为获取用于标识控制器是否支持标签拼接的标签拼接能力信息,和/或用于标识所述控制器是否支持路径标识的路径标识能力信息;
    处理模块,设置为依据获取的所述标签拼接能力信息和/或所述路径标识能力信息,以及所述控制器下发的转发策略对待转发的报文进行转发处理。
  17. 根据权利要求16所述的装置,其中,所述处理模块包括:
    接收单元,设置为接收所述控制器下发的拼接标签和/或标识标签;
    处理单元,设置为依据所述拼接标签对所述待转发的报文进行拼接封装后进行转发处理,和/或依据所述标识标签标识的路径对所述待转发的报文进行转发处理。
  18. 根据权利要求17所述的装置,其中,
    所述接收单元,还设置为通过在SR-ERO的扩展子对象对应位置上携带所述拼接标签和/或所述标识标签的方式,接收所述控制器下发的所述拼接标签和/或所述标识标签。
  19. 根据权利要求16所述的装置,其中,
    所述第二获取模块,还设置为通过获取段路由SR能力的类型长度值TLV属性中扩展字段所对应的字段值的方式,获取所述标签拼接能力信息和/或所述路径标识能力信息,其中,所述字段值用于标识所述控制器是否支持标签拼接,和/或,用于标识所述控制器是否支持路径标识。
  20. 一种路由转发设备,包括权利要求16至19中任一项所述的装置。
PCT/CN2015/085236 2015-02-16 2015-07-27 报文转发处理方法、装置、控制器及路由转发设备 WO2016131225A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510085557.4 2015-02-16
CN201510085557.4A CN105991437B (zh) 2015-02-16 2015-02-16 报文转发处理方法、装置、控制器及路由转发设备

Publications (1)

Publication Number Publication Date
WO2016131225A1 true WO2016131225A1 (zh) 2016-08-25

Family

ID=56689156

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/085236 WO2016131225A1 (zh) 2015-02-16 2015-07-27 报文转发处理方法、装置、控制器及路由转发设备

Country Status (2)

Country Link
CN (1) CN105991437B (zh)
WO (1) WO2016131225A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020168905A1 (zh) * 2019-02-21 2020-08-27 华为技术有限公司 一种数据传输方法、节点以及系统
CN112187761A (zh) * 2020-09-22 2021-01-05 中国建设银行股份有限公司 一种报文解析、构造方法、装置、计算机设备和存储介质
EP3761574A4 (en) * 2018-03-19 2021-04-21 Huawei Technologies Co., Ltd. METHOD OF SENDING AND RECEIVING AND DEVICE FOR ADHESIVE LABEL
CN112910772A (zh) * 2019-11-19 2021-06-04 中国移动通信有限公司研究院 一种基于分段路由的报文转发方法及设备

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107968752B (zh) * 2016-10-20 2020-07-07 新华三技术有限公司 一种sid获取方法和装置
US10382592B2 (en) * 2017-07-12 2019-08-13 Juniper Networks, Inc. Segment routing label switched path for non-segment routing enabled routers
EP4191979A1 (en) 2017-07-14 2023-06-07 Huawei Technologies Co., Ltd. A method for establishing segment routing for ipv6 tunnel
CN109962847B (zh) * 2017-12-14 2021-07-30 中国电信股份有限公司 业务功能链报文的封装方法和装置及计算机可读存储介质
CN110224934B (zh) * 2018-03-01 2021-11-09 中兴通讯股份有限公司 一种利用统一sr标签栈进行报文处理的方法及装置
CN112995029B (zh) * 2018-06-30 2024-03-19 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN113507416B (zh) * 2018-10-27 2022-05-10 华为技术有限公司 报文处理方法、相关设备及计算机存储介质
WO2020181636A1 (en) * 2019-03-08 2020-09-17 Huawei Technologies Co., Ltd. Mpls extension headers in mixed networks
CN113765791B (zh) * 2020-06-02 2023-01-13 华为技术有限公司 一种确定处理能力的方法、节点和系统
CN113411259A (zh) * 2021-06-30 2021-09-17 新华三技术有限公司 一种报文转发方法、装置及设备
CN117354219A (zh) * 2022-06-29 2024-01-05 中兴通讯股份有限公司 一种流量报文处理方法、装置、存储介质及电子装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243311A (zh) * 2013-06-08 2014-12-24 华为技术有限公司 报文处理的方法及路由器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431471A (zh) * 2008-12-17 2009-05-13 华为技术有限公司 一种lsp报文传输的方法、设备及系统
CN102098222B (zh) * 2011-02-09 2014-09-10 中兴通讯股份有限公司 利用mpls技术转发应用服务报文方法和转发节点
CN102624616B (zh) * 2012-03-02 2018-03-02 中兴通讯股份有限公司 一种实现标签交换路径间拼接的方法及系统
US9537718B2 (en) * 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243311A (zh) * 2013-06-08 2014-12-24 华为技术有限公司 报文处理的方法及路由器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SIVABALAN, S. ET AL.: "PCEP Extensions for Segment Routing", 26 October 2014 (2014-10-26), Retrieved from the Internet <URL:https://tools.ietf.org/html/draft-ietf-pce-segment-routing-00> *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3761574A4 (en) * 2018-03-19 2021-04-21 Huawei Technologies Co., Ltd. METHOD OF SENDING AND RECEIVING AND DEVICE FOR ADHESIVE LABEL
US11522793B2 (en) 2018-03-19 2022-12-06 Huawei Technologies Co., Ltd. Stitching label sending method, receiving method, and device
WO2020168905A1 (zh) * 2019-02-21 2020-08-27 华为技术有限公司 一种数据传输方法、节点以及系统
US11570093B2 (en) 2019-02-21 2023-01-31 Huawei Technologies Co., Ltd. Data transmission method, node and system
CN112910772A (zh) * 2019-11-19 2021-06-04 中国移动通信有限公司研究院 一种基于分段路由的报文转发方法及设备
CN112187761A (zh) * 2020-09-22 2021-01-05 中国建设银行股份有限公司 一种报文解析、构造方法、装置、计算机设备和存储介质
CN112187761B (zh) * 2020-09-22 2022-12-13 中国建设银行股份有限公司 一种报文解析、构造方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN105991437B (zh) 2020-05-15
CN105991437A (zh) 2016-10-05

Similar Documents

Publication Publication Date Title
WO2016131225A1 (zh) 报文转发处理方法、装置、控制器及路由转发设备
WO2021063232A1 (zh) 建立bier转发表项的方法、装置和系统
US10164838B2 (en) Seamless segment routing
CN105871721B (zh) 一种段路由处理方法、处理装置及发送装置
US11979322B2 (en) Method and apparatus for providing service for traffic flow
CN109756425B (zh) 组播转发方法、装置以及bfr
EP3896923A1 (en) Bier packet sending method and apparatus
CN103748835B (zh) 标签交换路径的动态更新
WO2016198013A1 (zh) 一种报文传输方法及装置
WO2018072728A1 (zh) 段标识sid获取
WO2015192501A1 (zh) 地址信息的发布方法及装置
WO2022041916A1 (zh) 报文头的处理方法及装置、存储介质、电子装置
CN113056891B (zh) 源路由隧道入节点保护
CN110224934A (zh) 一种利用统一sr标签栈进行报文处理的方法及装置
WO2020156090A1 (zh) 一种建立跨域转发路径的方法、装置及系统
EP2571203A1 (en) Tunnel switching method and system for multi-protocol label switching services
JP2023515112A (ja) パケット送信方法、デバイス、およびシステム
WO2022184169A1 (zh) 报文转发方法、系统、存储介质及电子装置
CN103825818A (zh) 一种多拓扑网络转发方法和装置
EP3484107B1 (en) Parameter notification and obtaining methods and devices, and storage medium
EP2832055B1 (en) Pseudowire groups in a packet switched network
EP2832061B1 (en) Pseudowire extended group messaging in a packet switched network
WO2017088718A1 (zh) 传输控制报文的方法和装置
WO2021077972A1 (zh) 转发报文的方法、装置及存储介质
WO2022237563A1 (zh) 数据转发方法、装置、存储介质和电子装置

Legal Events

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

Ref document number: 15882364

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

Country of ref document: EP

Kind code of ref document: A1