WO2020156090A1 - 一种建立跨域转发路径的方法、装置及系统 - Google Patents

一种建立跨域转发路径的方法、装置及系统 Download PDF

Info

Publication number
WO2020156090A1
WO2020156090A1 PCT/CN2020/071282 CN2020071282W WO2020156090A1 WO 2020156090 A1 WO2020156090 A1 WO 2020156090A1 CN 2020071282 W CN2020071282 W CN 2020071282W WO 2020156090 A1 WO2020156090 A1 WO 2020156090A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
label
area
sequence
destination
Prior art date
Application number
PCT/CN2020/071282
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 WO2020156090A1 publication Critical patent/WO2020156090A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Definitions

  • This application relates to the field of communication technology, and in particular to a method, device and system for establishing a cross-domain forwarding path.
  • Segment routing is a method of forwarding data packets on the network designed based on the concept of source routing.
  • segment routing best effort service (segment routing best effort, SR-BE) is SR label switching path (Label Switching Path, LSP)
  • SR LSP is interior gateway protocol (Interior Gateway Protocol, IGP) calculated using the shortest path algorithm, and Using the optimal path established by the SR technology, the SR LSP is forwarded according to the label, and the label is switched in the intermediate device.
  • the user configures the SR global block (SR global block, SRGB) and the prefix SID (Prefix-SID) value for each SR node.
  • SRGB is a reserved multi-protocol label switching (MPLS) label range
  • the Prefix-SID value is the SID value of the node.
  • the Prefix-SID value of a node is a unique identifier within the SR domain where it is located. Each node in the SR domain publishes its own Prefix-SID through flooding, and other nodes can calculate the label of the node based on the Prefix-SID.
  • the calculation method of the local label from the node to the destination node (also called the inbound label from the node to the destination node) is the node’s SRGB starting value + destination node Prefix-SID
  • the method for calculating the outgoing label from the node to the destination node is the SRGB start value of the next hop node from the node to the destination node + the prefix-SID of the destination node to generate a forwarding entry, and the message is forwarded in the network according to the forwarding entry.
  • the data center network uses the Intermediate System to Intermediate System (ISIS) protocol in the IGP protocol.
  • ISIS Intermediate System to Intermediate System
  • the node RTA belongs to the L1 area, and the node RTC belongs to the L2 area. If the node RTA There is a need for mutual RTC visits to nodes, and a cross-domain SR-BE must be established. However, due to cross-regional deployment, the routes between different regions of the current live network deployment are isolated.
  • the present application provides a method, device, and system for establishing a cross-domain forwarding path, which reduces the computational pressure of nodes in a large number of cross-region mutual access scenarios.
  • a method for establishing a cross-domain forwarding path is provided, which is applied to a first node.
  • the first node is any non-destination node in a data center network.
  • the data center network includes multiple nodes and nodes connected to the source network. It is called the ingress node, and the node connected to the destination network is called the destination node.
  • the data center network is used to send packets from the source network to the destination network through the forwarding path.
  • the multiple nodes included in the data center network are divided into two or more regions, and the first node belongs to the first region.
  • the method can include:
  • the first node receives the first routing information diffused by the second node in the first area, the first routing information includes a first label sequence; wherein, the first label sequence includes the SID of the second node; the first label sequence and the destination node Association; if the first node is the boundary node between the first area and the third area, the first node obtains the second label sequence according to the first label sequence, and the second label sequence includes the SID of the first node and the first node to the second node.
  • the incoming label of the first node to the second node is the SRGB starting value of the first node plus the SID of the second node; the first node publishes the second label sequence to the third area so that the ingress node generates the destination For the forwarding path of the node, the ingress node is a node in the second area or a node in the first area and an area outside the second area.
  • the second node in the first area is diffused in the first node in the label sequence.
  • the SID of the second node is replaced with the incoming label from the first node to the second node, and spread to the second area with its own SID, so that the nodes in the second area do not need to calculate to the destination node during the process of establishing a path to the destination node
  • For the incoming label only the forwarding path and forwarding table entries to the first node that have been calculated in the (multiplexing) area are used. In this way, cross-regional forwarding paths are established independently in each region.
  • the second node may be a destination node, or the second node may also be a boundary node between the first area and the second area, and the boundary node may be referred to as an ABR-based node.
  • a boundary node is a node located in at least two areas, belonging to each area in which it is located. The incoming label from the first node to the second node is used to guide the message to be sent from the first node to the second node.
  • the area referred to in this application refers to a collection of nodes deployed in a data center where routes are isolated from each other. If nodes in different areas need to visit each other, routes need to be imported. When the area adopts SR technology, it can be called SR domain. In the field of data routing and forwarding, the different names in routing protocols for different regions can be understood as the regions described in this article.
  • level 1 and level 2 distinguished in the ISIS routing protocol, and the concept of multiple areas in the open shortest path first (OSPF) protocol can all be understood as the area referred to in this article.
  • OSPF open shortest path first
  • the first routing information may further include address information of the destination node.
  • the address information is used to indicate that the path established according to the first routing information is a forwarding path to the destination node, and is used for the data message to be associated with the path through the address information.
  • the address information of the destination node may be the route of the destination node.
  • the first node obtains according to the first label sequence
  • the second label sequence can be specifically implemented as: the first node replaces the SID of the second node in the first label sequence with the incoming label from the first node to the second node, and adds the SID of the first node, and the other parts remain unchanged .
  • the second node is a boundary node between the first area and the third area
  • the first label sequence further includes: a hop-by-hop label from the boundary node to the destination node, and the boundary node
  • the hop-by-hop entry label to the destination node is the entry label of each boundary node across the shortest path from the second node to the destination node, including the second node, to its next hop node in the shortest path, or, according to The first binding segment identifier (binding SID, BSID) obtained from the hop-by-hop label from the border node to the destination node.
  • the second label sequence also includes: the hop-by-hop label or the first BSID from the border node to the destination node.
  • the second node is a non-destination node, and the route of the destination node is introduced into the first area by the second node.
  • the first BSID is associated with the hop-by-hop label from the border node to the destination node, and is recorded inside the second node.
  • the second node receives a message with the first BSID as the outer label, the first BSID can be exchanged For the hop-by-hop label from the boundary node to the destination node, subsequent message forwarding is performed.
  • the method provided in this application may further include: the first node based on the hop-by-hop label and the first node from the boundary node to the destination node Generate a second BSID from an incoming label from a node to a second node, and replace all incoming labels in the second label sequence with the second BSID; wherein, the second BSID belongs to the SRGB of the first node.
  • the first node associates the second BSID with all incoming tags included in the second tag sequence, and records them inside the first node.
  • the second BSID can be exchanged for the in-tag associated with it, and subsequent message forwarding can be performed.
  • the method provided in this application may further include: the first node based on the first BSID and the first node to the second node
  • the inbound label generates a second BSID
  • the second BSID is substituted for the first BSID in the second label sequence and the inbound label from the first node to the second node.
  • the second BSID belongs to the SRGB of the first node.
  • the first node associates the second BSID with the first BSID included in the second label sequence and the incoming label from the first node to the second node, and records them in the first node.
  • the second BSID can be exchanged with the first BSID associated with it and the incoming label from the first node to the second node, and subsequent message forwarding can be performed.
  • the first node if the length of the second tag sequence is greater than or equal to the preset threshold, the first node replaces the second BSID with the second tag All incoming tags in the sequence, or the first node replaces the second BSID with the first BSID in the second tag sequence and incoming tags from the first node to the second node.
  • the BSID is used to reduce the length of the tag sequence.
  • the second node is a boundary node between the first area and the third area; the method provided in this application may further include: A node receives second routing information diffused by a third node in the first area, where the second routing information includes a third label sequence; wherein the third label sequence includes the SID of the third node; the third label sequence is associated with the destination node; The third node is a boundary node between the first area and the third area; the first node determines from the first label sequence and the third label sequence that the first label sequence is the shortest path to the third area.
  • the first node preferentially selects the label sequence to establish a forwarding path to the destination node.
  • the first node may determine which label sequence is the shortest path to the adjacent area by determining the shortest path to the first label in the label sequence.
  • the first node may determine which label sequence is the shortest path to the adjacent area according to the number of nodes passed during the transmission of the label sequence.
  • the first node may determine which of the second node or the third node is the closest to the third area according to the node architecture in the data center, so as to determine that the label sequence spread by the node that is close to the destination node is to the third The shortest path in the area.
  • the first node may also adopt other solutions to determine that the first label sequence is the shortest path to the third area, which is not specifically limited in this application.
  • the second routing information may further include address information of the destination node.
  • the third label sequence may further include: a hop-by-hop label from the first boundary node to the destination node, and the first boundary
  • the hop-by-hop entry label from the node to the destination node is the entry label from each boundary node that the shortest path crosses from the third node to the destination node, including the third node, to its next hop node in the shortest path, or, The third BSID obtained according to the hop-by-hop label from the first boundary node to the destination node.
  • the third BSID is associated with the hop-by-hop label from the first boundary node to the destination node, and is recorded inside the third node.
  • the third node receives a packet with the third BSID as the outer label
  • the third The BSID exchange is a hop-by-hop label from the first border node to the destination node for subsequent message forwarding.
  • the method provided in this application may further include: the first node according to the first label sequence The label stack to the destination node is generated as a forwarding path to the destination node.
  • the first node generates a label stack to the destination node according to the first label sequence as a forwarding path to the destination node, specifically It may include: the first node replaces the SID of the second node in the first label sequence with the incoming label from the first node to the second node to obtain the label stack; the first node associates the label stack with the address information of the destination node, As the forwarding path to the destination node.
  • the incoming label from the first node to the second node is the SRGB starting value of the first node plus the SID of the second node.
  • the method provided in this application may further include: the first node according to the third label sequence
  • the label stack to the destination node is generated as a backup forwarding path to the destination node.
  • the first node will generate the label stack to the destination node according to the first label sequence as the main forwarding path to the destination node.
  • an active and standby forwarding path to the destination node is established. Once a node on the primary forwarding path fails, the standby forwarding path can be used to forward packets to the destination node, which improves the reliability of packet forwarding.
  • the first node generates a label stack to the destination node according to the third label sequence, as a backup forwarding path to the destination node, It may specifically include: the first node replaces the SID of the third node in the third label sequence with the incoming labels from the first node to the third node to obtain the label stack; the first node associates the label stack with the address information of the destination node , As a backup forwarding path to the destination node.
  • the incoming label from the first node to the third node is the SRGB starting value of the first node plus the SID of the third node.
  • the method provided in this application may further include: the first node receives the SRGB of the second node from the second node; The node calculates the outgoing label from the first node to the second node; where the outgoing label from the first node to the second node is the SRGB starting value of the second node plus the SID of the second node; the first node adds the SID of the second node to the first node.
  • the incoming label of the second node and the outgoing label from the first node to the second node generate forwarding entries.
  • At least one intermediate node may be deployed between the first node and the second node.
  • the node receiving the first routing information diffused by the second node in the first area may include: the first node receives the first routing information diffused by the second node through at least one intermediate node.
  • the first node if the first node is an intermediate node in the first area, the first node receives the second node in the first area After the first routing information is diffused, the first node transparently forwards the first routing information to the next hop according to the forwarding entry to the ingress node.
  • a data forwarding method is provided, which is applied to an ingress node of a data center.
  • the data forwarding method may include: the ingress node receives the message of the destination network from the source network; the ingress node encapsulates the outer layer of the message into the label stack of the destination node; the ingress node searches for forwarding entries according to the outermost label of the label stack, Obtain the outgoing label, switch the outermost label in the label stack to the outgoing label, and forward the message to the next hop node according to the outgoing label.
  • the next hop node receives the data packet encapsulating the label stack, and continues to forward the data packet according to the label switching and popping rules until the data packet is forwarded to the destination node.
  • a device for establishing a cross-domain forwarding path which can implement the functions in the first aspect and any one of its possible implementation manners. These functions can be realized by hardware, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the device may include a receiving unit and a processing unit, and the receiving unit and the processing unit can execute the method for establishing a cross-domain forwarding path in the first aspect and any one of its possible implementations. Corresponding function of the first node.
  • the receiving unit is used to receive the first routing information diffused by the second node in the first area;
  • the processing unit is used to obtain the second label sequence according to the first label sequence, and the second label sequence includes the SID of the first node and The in-tag from the first node to the second node; where the in-tag from the first node to the second node is the SRGB starting value of the first node plus the SID of the second node;
  • the processing unit is also used to issue the first node to the second area Two tag sequence.
  • an apparatus for establishing a cross-domain forwarding path includes a processor and a memory, the memory is connected to the processor; the memory is used to store computer instructions, and when the processor executes the When the computer is instructed, the communication device executes the method for establishing a cross-domain forwarding path described in the first aspect and any one of its possible implementations.
  • the apparatus for establishing a cross-domain forwarding path further includes a transceiver, and the transceiver is configured to execute the above-mentioned first aspect and any one of its possibilities under the control of the processor of the apparatus for establishing a cross-domain forwarding path.
  • the device for establishing a cross-domain forwarding path may be any node in the data center network, or a chip system in the node.
  • the chip system is used to support the node where it is located to implement the functions involved in the first aspect and any one of its possible implementation manners.
  • the chip system includes a chip, and may also include other discrete devices or circuit structures.
  • a forwarding node may include the apparatus for establishing a cross-domain forwarding path provided by any one of the foregoing aspects or any possible implementation manners.
  • a system for establishing a cross-domain forwarding path may include a first node and a second node; the first node and the second node belong to a first area.
  • the second node is used to diffuse the first routing information in the first area, the first routing information includes a first label sequence; wherein, the first label sequence includes the segment identifier SID of the second node; the first label sequence and the purpose Node association; the first node is used to receive the first routing information diffused by the second node; if the first node is the boundary node between the first area and the second area, the first node is also used to: obtain the first route information according to the first label sequence Two label sequence, the second label sequence includes the SID of the first node and the inbound label from the first node to the second node; wherein the inbound label from the first node to the second node is the SRGB starting value of the first node plus the second The SID of the node; the first no
  • a computer-readable storage medium is also provided for storing computer software instructions used by the aforementioned forwarding node, which includes a program for executing any one of the aforementioned aspects.
  • a computer program product containing instructions that, when the instructions run on a computer, cause the computer to execute the method for establishing a cross-domain forwarding path described in any of the above aspects.
  • the name of the above-mentioned device for establishing a cross-domain forwarding path does not constitute a limitation on the device or functional module itself. In actual implementation, these devices or functional modules may appear under other names. As long as the function of each device or functional module is similar to that of this application, it falls within the scope of the claims of this application and equivalent technologies.
  • Figure 1 is a schematic diagram of a data center network architecture provided by the prior art
  • Figure 2 is a schematic diagram of another data center network architecture provided by the prior art
  • FIG. 3 is a schematic diagram of the architecture of a data center network provided by an embodiment of the application.
  • FIG. 4 is a schematic diagram of another data center network architecture provided by an embodiment of the application.
  • FIG. 5 is a schematic flowchart of a method for establishing a cross-domain forwarding path according to an embodiment of this application
  • FIG. 6 is a schematic structural diagram of a device for establishing a cross-domain forwarding path according to an embodiment of the application
  • FIG. 7 is a schematic structural diagram of another apparatus for establishing a cross-domain forwarding path according to an embodiment of the application.
  • FIG. 8 is a schematic structural diagram of a forwarding node provided by an embodiment of this application.
  • FIG. 9 is a schematic structural diagram of a system for establishing a cross-domain forwarding path according to an embodiment of the application.
  • FIG. 10 is a schematic structural diagram of another system for establishing a cross-domain forwarding path according to an embodiment of the application.
  • words such as “exemplary” or “for example” are used as examples, illustrations, or illustrations. Any embodiment or design solution described as “exemplary” or “for example” in the embodiments of the present application should not be construed as being more preferable or advantageous than other embodiments or design solutions. To be precise, words such as “exemplary” or “for example” are used to present related concepts in a specific manner.
  • first and second are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined with “first” and “second” may explicitly or implicitly include one or more of these features. In the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
  • A, B, and C described in the embodiments of this application are used to represent the following concepts: A, or B, or C, or A and B, or A and C, or B And C, or A, B, and C.
  • SRGB is the reserved MPLS label range
  • Prefix-SID value is the SID value of the node.
  • SR-BE or SR LSP
  • SR LSP is an optimal path calculated by IGP using the shortest path algorithm and established using SR technology.
  • SR LSP forwards packets (also called data packets, which can be replaced with each other) according to labels.
  • FIG. 2 illustrates the architecture of a data center network.
  • the data center network includes 8 nodes, which are recorded as PE1 to PE4, and P1 to P4. For simplicity of description, it is assumed that these 8 nodes belong to one area. Assume that PE1 is the ingress node and PE2 is the destination node.
  • Table 1 When the data center network shown in Figure 2 is established, the relevant parameters configured by the user for each node are shown in Table 1. It should be noted that, for simplicity of description, Table 1 only illustrates configuration parameters related to the description process of this example, and does not specifically limit the content of configuration parameters.
  • the ingress node PE1 is the destination address 1.1.1.1.
  • the process of calculating the forwarding path is: each node calculates the incoming label from itself to PE2 as that node Its own SRGB starting value + PE2's SID, and the outgoing label to PE2 is calculated as the SRGB starting value of the next hop of the shortest path from the node to PE2 + PE2's SID.
  • Each node generates its own forwarding entry to PE2 as the incoming label to PE2 and the outgoing label to PE2. Among them, the incoming label is used to hit the forwarding entry, and the outgoing label is used to indicate the next hop node that forwards the message.
  • a node when a node receives a message, it matches the incoming label of the forwarding entry in the forwarding table according to the outermost label, exchanges the outermost label of the message with the outgoing label corresponding to the incoming label, and forwards the message.
  • PE2 calculates that the forwarding entry of PE2 is ⁇ 4100, empty ⁇
  • P3 calculates that the forwarding entry of PE2 is ⁇ 3100, 4100 ⁇
  • P1 calculates that the forwarding entry of PE2 is ⁇ 2100, 3100 ⁇
  • PE1 calculates The forwarding entry of PE2 is ⁇ 1100, 2100 ⁇ , and the contents calculated by other nodes are not shown one by one. Here, only the calculation contents of nodes related to the shortest path are shown.
  • the ingress node PE1 uses the shortest path first (SPF) algorithm to calculate the label forwarding path to PE2 as PE1->P1->P3->PE2.
  • SPF shortest path first
  • the label forwarding table generated by PE1 is shown in Table 2.
  • the forwarding behavior is that the packet is first labeled 1100 on the PE1 node, and the outgoing label is 2100 according to Table 2, the label is switched to 2100, and the packet is forwarded to P1 according to the outgoing interface.
  • the message arrives at the P1 node, look up Table 2 and find that the outgoing label is 3100, and forward it to P3 according to the outgoing interface. The same applies to P3 until the packet is forwarded to PE2.
  • the above example describes the process of establishing a path to forward packets in an area.
  • the demand for cross-area mutual access as shown in Figure 1 occurs, because of the cross-area, the SID between the areas cannot be penetrated, and the SID of one area is introduced into another through routing.
  • Area according to the above-mentioned path establishment process, calculate the label for the imported SID.
  • the calculation of nodes and the issuance of forwarding entries are very stressful.
  • the embodiment of the present application provides a method for establishing a cross-domain forwarding path.
  • the first node is the boundary node during cross-region penetration
  • the first node to send For the incoming label of the node in the tag sequence, spread the incoming label and its own SID to another area, and the node in the other area only calculates its incoming label to the first node, so that the node only calculates the original Incoming labels in the area do not need to calculate any labels outside the area.
  • the calculation pressure of nodes and the number of repeated issuing of label forwarding entries are reduced.
  • the node RTB is configured with route import, which is used to import the route of the L2 area into the L1 area. It is assumed that the destination node is the node RTC.
  • the establishment of a cross-regional path includes the following two parts.
  • the first part is the establishment of the route in the area.
  • each node in the L1 area and the L2 area diffuses its own SRGB and SID values in each area.
  • Each node calculates the incoming label and outgoing label of every other node in the area to generate a forwarding entry.
  • the second part is the establishment of cross-regional paths.
  • the node RTB diffuses the incoming label from the node RTB to the node RTC and its own SID to the L1 area, and the incoming label has been calculated in the first part and can be used directly (it can be called Multiplexing).
  • the node RTA in the L1 area receives the inbound label from the node RTB to the node RTC and the SID of the node RTB spread by the RTB, and only needs to obtain the inbound label from the node RTA to the node RTB (the inbound label has been calculated in the first part, and it is directly copied. Use) to generate the label stack to the node RTC,
  • the method for establishing a cross-domain forwarding path provided in the embodiment of the present application is applicable to the data center network 30 shown in FIG. 3.
  • the data center network 30 may be a communication network or a computer network.
  • the type of the data center network is not specifically limited in this application.
  • the data center network 30 includes a plurality of nodes 301 (referred to as forwarding nodes).
  • the user configures the data center network 30, he configures parameters for each node 301 therein, and the parameters may include but are not limited to SRGB, SID, and routing.
  • the parameters may include but are not limited to SRGB, SID, and routing.
  • Each node in each area floods its own parameters.
  • the boundary node configured with the route introduction receives the parameters of a node in an area, it will enter the data according to the method for establishing a cross-domain forwarding path provided in this application.
  • the label and its own SID are diffused to every node in another area to implement route import.
  • the two nodes 301 in the middle position are located in both the left area and the right area, which are called boundary nodes of the two areas.
  • each device included in the data center network 30 can be configured according to actual requirements, and the embodiment of the present application does not limit the scale and specific architecture of the data center network 30.
  • nodes described in this application may be routers or switches or others, and this application does not specifically limit the actual form of the nodes.
  • This application provides a method for establishing a cross-domain forwarding path, which is applied to the data center network shown in FIG. 4.
  • the data center network includes multiple forwarding nodes, and the multiple forwarding nodes are divided into three areas, which are recorded as area 1, area 2, and area 3.
  • the working principle of the data center network shown in FIG. 4 is the same as that of the data center network shown in FIG. 3, but the scale is different.
  • the present application provides a method for establishing a cross-domain forwarding path that can be applied to data center networks of various sizes.
  • FIG. 4 is only a schematic description and does not constitute a specific limitation.
  • This application provides a method for establishing a cross-domain forwarding path, which can be applied to a first node, and the first node belongs to a first area.
  • the first node may be any node other than the destination node in the data center network shown in FIG. 4
  • the first area may be any area in the data center network shown in FIG. 4.
  • the method for establishing a cross-domain forwarding path may include:
  • S501 The first node receives first routing information diffused by the second node in the first area.
  • the first routing information includes a first label sequence, and the first label sequence includes the SID of the second node.
  • the first node may be any non-destination node in the data center network, and the first node may be a boundary node or an ingress node.
  • the second node may be a destination node or a boundary node between the first area and the third area.
  • both the first node and the second node belong to the first area. If the second node is a boundary node, the second node also belongs to the third area. If the first node is a boundary node, the first node also belongs to the second area.
  • boundary nodes refer to nodes located in at least two areas.
  • the RTB, RTC, RTG, and RTF illustrated in FIG. 4 are all boundary nodes.
  • the first node may be the border node RTC in FIG. 4, and the second node may be an RTD.
  • the first node may be the border node RTB in FIG. 4, and the second node may be the RTC.
  • the first node may be the ingress node RTA in FIG. 4, and the second node may be RTB.
  • first node and the second node can be directly connected, as shown in the architecture in FIG. 4. Or, if the architecture of each area in the data center network shown in FIG. 4 is as shown in FIG. 2, the nodes between the two boundary nodes are called intermediate nodes.
  • the first node is directly connected to the second node, and the first node receives the first routing information diffused by the second node in the first area, specifically: the first node receives the first routing information from the second node One routing information.
  • the first node and the second node are connected through at least one intermediate node, and the first node receives the first label sequence diffused by the second node in the first area, specifically: The connected intermediate node receives the first label sequence spread by the second node.
  • the first tag sequence includes the SID of the second node.
  • the second node is the destination node
  • the first node is the boundary node between the first area and the second area
  • the first label sequence only includes the SID of the second node. In this implementation manner, it belongs to the establishment of the forwarding path in the area, and will not be repeated here.
  • the second node is a boundary node between the first area and the third area
  • the first label sequence may also include: a hop-by-hop label from the boundary node to the destination node, and the hop-by-hop label from the boundary node to the destination node.
  • the hop-in label is the entry label from each boundary node across the shortest path from the second node to the destination node, including the second node, to the next hop node in the shortest path, or according to the boundary node to the destination node
  • the first BSID obtained by jumping into the tag.
  • Example 1 In the data center network architecture shown in Figure 4, suppose that the destination node is the node RTD, the second node is the node RTC, and the first node is the node RTB; the node RTB receives the spread of the RTC between the boundary nodes of area 2 and area 3.
  • the tag sequence includes the SID of the RTC and the incoming tag from RTC to RTD.
  • the RTC to RTD in-label included in the label sequence diffused by the border node RTC is called the hop-by-hop in label from the border node to the destination node RTD.
  • the hop-by-hop entry label from the border node to the destination node includes the node RTC, and the entry label from a border node RTC spanned by the shortest path from the node RTC to the destination node RTD to its next hop node RTD on the shortest path.
  • Example 2 with reference to Figure 4, assume that the destination node is the node RTD, the second node is the node RTB, and the first node is the node RTA; the node RTA receives the diffused label sequence of the border node RTB of area 1 and area 2 including node RTB’s SID, incoming label from node RTB to node RTC, and incoming label from node RTC to node RTD.
  • the inbound label from node RTB to node RTC and the inbound label from node RTC to node RTD included in the label sequence diffused by the border node RTB are called the hop-by-hop in label from the border node to the destination node RTD.
  • the hop-by-hop entry label from the border node to the destination node includes the node RTB, and the entry label from the two border nodes RTB and RTC crossed by the shortest path between the node RTB and the destination node RTD to its next hop node in the shortest path.
  • each boundary node across the shortest path from the second node to the destination node uses the method for establishing a cross-domain forwarding path provided in this application to establish a forwarding path.
  • the border node RTB of area 1 and area 2 when the border node RTB of area 1 and area 2 diffuses the label sequence, it can replace the incoming label of node RTB to node RTC, and the incoming label of node RTC to node RTD with BSID X. Therefore, node RTA receives
  • the label sequence spread by the border node RTB of area 1 and area 2 includes the SID and BSID X of the node RTB, which shortens the length of the label sequence.
  • the first routing information further includes address information of the destination node.
  • the address information of the destination node may be the route of the destination node or others, which is not specifically limited in the embodiment of the present application.
  • S502 may be performed after S501.
  • the method for establishing a cross-domain forwarding path may further include S501A and S501B, S502 is executed after S501B.
  • the first node receives the second routing information diffused by the third node in the first area.
  • the second routing information includes a third label sequence, and the third label sequence includes the SID of the third node; the third label sequence is associated with the destination node.
  • the third node is the boundary node between the first area and the third area, and the third node and the second node have the same role in the data center network.
  • the third label sequence may further include: a hop-by-hop label from the first boundary node to the destination node, where the hop-by-hop label from the first boundary node to the destination node includes the third node, From each boundary node that the shortest path crosses from the third node to the destination node to its next hop node in the shortest path inbound label, or according to the hop-by-hop inbound label from the first boundary node to the destination node BSID.
  • the third BSID is associated with the hop-by-hop label from the first boundary node to the destination node, and is recorded inside the third node.
  • the third node receives a packet with the third BSID as the outer label
  • the third The BSID exchange is a hop-by-hop label from the first border node to the destination node for subsequent message forwarding.
  • the third tag sequence is similar to the above-mentioned first tag sequence, except that the sender is different, and will not be repeated here.
  • the operation of the node with respect to the third label sequence can also refer to the operation of the above-mentioned first label sequence, for example, replacing the label with the BSID, etc., which will not be described here.
  • the third node may be a node RTG.
  • the SID diffused by the RTD of the destination node can be received by both the node RTC and the node RTG.
  • Both the node RTC and the node RTG implement the solution provided in this application, and diffuse the label sequence including its own SID and its inbound label to the node RTD to area 2, and the label sequence diffused by the node RTC and the node RTG, and the node RTB receives it through S501 and S501A .
  • the first node determines from the first label sequence and the third label sequence that the first label sequence is the shortest path to the third area.
  • the first node may determine which label sequence is the shortest path to the adjacent area by determining the shortest path to the first label in the label sequence.
  • the first node may determine which label sequence is the shortest path to the third area according to the number of nodes passed during the transmission of the label sequence.
  • the first node can determine which of the second node or the third node is the closest to the destination node according to the node layout in the data center, so as to determine that the extended label sequence of the node that is close to the destination node is to the third area The shortest path.
  • the first node may also adopt other solutions to determine that the first label sequence is the shortest path to the third area, which is not specifically limited in this application.
  • the first node is a boundary node between the first area and the second area, after S501, S502 and S503 are executed; if the first node is an ingress node of the data center network, after S501, S504 is executed.
  • the second label sequence includes the SID of the first node and the inbound label from the first node to the second node; the inbound label from the first node to the second node is the SRGB starting value of the first node plus the SID of the second node.
  • the second label sequence may further include: a hop-by-hop label from the border node to the destination node.
  • the second label sequence if the first label sequence includes the first BSID obtained according to the hop-by-hop label from the border node to the destination node, the second label sequence also includes the first BSID.
  • S502 can be specifically implemented as: the first node replaces the SID of the second node in the first label sequence with the incoming label from the first node to the second node, and adds the SID of the first node to obtain The second tag sequence.
  • the first node may use the BSID to shorten the length of the second label sequence.
  • the method provided in this application may further include S502A or S502B. Specifically, if the first label sequence includes a hop-by-hop label from the border node to the destination node, S502A is executed after S502; if the first label sequence includes the first BSID, S502B is executed after S502.
  • the first node generates a second BSID based on the border node inbound label and the inbound label from the first node to the second node, and replaces all the inbound labels in the second label sequence with the second BSID.
  • the second BSID belongs to the SRGB of the first node. It should be noted that the second BSID can be randomly selected from the SRGB of the first node, or the second BSID can be selected from the SRGB of the first node according to a preset rule, and the content of the preset specification is not limited in this application.
  • the first node generates a second BSID based on the first BSID and the inbound label from the first node to the second node, and replaces the second BSID with the first BSID in the second label sequence and the inbound label from the first node to the second node.
  • the first node if the length of the second tag sequence is greater than or equal to the preset threshold, the first node performs S502A or S502B. If the length of the second label sequence is less than the preset threshold, the first node directly executes S503 after S502.
  • the ABR node RTF and RTG also enable route import.
  • the RTD node advertises route 4.4.4.4
  • SID is 40
  • diffuse label sequence 1 is: ⁇ 40 ⁇
  • the label sequence 1 includes route 4.4.44 of the destination node, which is used to indicate the establishment The path to the node with route 4.4.4.4.
  • Tag sequence 1 is flooded in area 3, and every node in area 3 can receive it.
  • Example A the ABR node RTC of area 3 and area 2 is used as the first node to perform S501 and S502.
  • the ABR node RTCs in area 3 and area 2 receive tag sequence 1.
  • RTC replaces the SID of the RTD in tag sequence 1 with the incoming tag 3040 from RTC to RTD, and adds its own SID to obtain tag sequence 2 ⁇ 3040, 30 ⁇ .
  • Example B The ABR nodes RTB in area 2 and area 1 are used as the first node to perform S501 and S502.
  • the ABR node RTB in area 2 and area 1 receives tag sequence 2.
  • RTB replaces the SID of RTC in tag sequence 2 with the incoming tag 2030 from RTB to RTC, and adds its own SID to obtain tag sequence 3 ⁇ 3040,2030,20 ⁇ .
  • RTB can replace multiple incoming tags in tag sequence 3 with BSID Y.
  • BSIDY is automatically generated within the label range of the RTB device configuration.
  • RTB can use BSID Y instead of ⁇ 3040, 2030 ⁇ , and the generated tag sequence 3 can be ⁇ BSID Y, 20 ⁇ .
  • RTB can switch the BSID Y label into label stack ⁇ 2030, 3040 ⁇ , and then continue to forward the data packet according to the normal label switching method.
  • Example A On the basis of Example A and Example B, assume that the RTF and RTG of the ABR node are also enabled for route import.
  • Example C The ABR node RTG in area 3 and area 2 is used as the first node to perform S501 and S502.
  • the ABR node RTG in area 3 and area 2 receives tag sequence 1, RTG replaces the SID of RTD in tag sequence 1 with local tag 7040 from RTG to RTD, and adds its own SID to obtain tag sequence 4 ⁇ 7040, 70 ⁇ .
  • the ABR nodes RTB in area 2 and area 1 not only receive label sequence 2, but also label sequence 4.
  • RTB identifies the optimal path for the tag sequence 2 ⁇ 3040, 30 ⁇ to reach the destination node, so RTB prefers the tag sequence 2 ⁇ 3040, 30 ⁇ . The following content is described in Example B, and will not be repeated here.
  • Example D The RTF of the ABR nodes in area 2 and area 1 are used as the first node to perform S501 and S502.
  • RTF In addition to receiving tag sequence 4 ⁇ 7040, 70 ⁇ from RTG, RTF will also receive tag sequence 2 ⁇ 3040, 30 ⁇ issued by RTC. RTF identification tag sequence 4 ⁇ 7040, 70 ⁇ is the optimal path to reach area 3. , So RTF prefers tag sequence 2 ⁇ 7040,70 ⁇ . RTF replaces the RTG incoming tag in tag sequence 2 with RTF incoming tag 6070, adds its own SID, and obtains tag sequence 5 ⁇ 7040, 6070, 60 ⁇ .
  • S503 The first node publishes the second label sequence to the second area.
  • the first node executes S503, so that the boundary nodes of the second area and other areas execute the above-mentioned procedures from S501 to S503, until the ingress node executes the method for establishing a cross-domain forwarding path provided in this application to generate a forwarding path to the destination node .
  • the RTC executes S503 to diffuse the label sequence 2 to the area 2.
  • the label sequence 2 is associated with the route 4.4.44 of the destination node and is used to indicate the establishment of a path to the node with the route 4.4.4.4.
  • Tag sequence 2 floods in area 2, and every node in area 2 can receive it. 4.4.4.4 routing is imported into area 2.
  • RTB executes S503 to diffuse the label sequence 3 to the area 1.
  • the label sequence 3 is associated with the route 4.4.44 of the destination node and is used to indicate the establishment of a path to the node with the route 4.4.4.4.
  • the label sequence 3 is flooded in area 1, and every node in area 1 can receive it. 4.4.4.4 routing is imported into area 1.
  • the RTG executes S503 to diffuse the label sequence 4 to the area 2.
  • the label sequence 4 is associated with the route 4.4.44 of the destination node and is used to indicate the establishment of a path to the node with the route 4.4.4.4.
  • the label sequence 4 is flooded in area 1, and every node in area 1 can receive it. 4.4.4.4 routes are imported into area 5.
  • RTF executes S503 to diffuse the label sequence 5 to the area 1.
  • the label sequence 5 is associated with the route 4.4.44 of the destination node and is used to indicate the establishment of a path to the node with the route 4.4.4.4.
  • Tag sequence 5 is flooded in area 1, and every node in area 1 can receive it. 4.4.4.4 routes are imported into area 1.
  • the first node generates a label stack to the destination node according to the first label sequence as a forwarding path to the destination node.
  • the first node replaces the SID of the second node in the first label sequence with the incoming label from the first node to the second node, and replaces the labels in the first label sequence according to the first node to the destination node.
  • the order of the nodes on the shortest path between the two is generated, the label stack to the destination node is generated, and the label stack is associated with the address information of the destination node.
  • the ingress node RTA of the data center network illustrated in FIG. 4 is used as the first node to perform S504, specifically: RTA receives RTB diffusion tag sequence 3 ⁇ 3040, 2030, 20 ⁇ , RTA only needs to calculate The forwarding path to the RTB of the ABR node. Since the RTB is a device in this area, it directly multiplexes the forwarding path and forwarding entries (local label 1020, out label 2020) to the RTB in this area. According to the local SRGB starting value and the label sequence, the label stack ⁇ 1020, 2030, 3040 ⁇ to the destination address 4.4.4.4 is generated. The label stack is a cross-region SR-BE tunnel path from the RTA device to the destination node RTD.
  • the first node may also perform S505.
  • the first node generates a label stack to the destination node according to the third label sequence as a backup forwarding path to the destination node.
  • the first node replaces the SID of the third node in the third label sequence with the inbound label from the first node to the third node, and replaces the labels in the first label sequence with the labels from the first node to the destination node.
  • the order of the nodes on the shortest path between the two is generated, the label stack to the destination node is generated, and the label stack is associated with the address information of the destination node.
  • the incoming label from the first node to the third node is the SRGB starting value of the first node plus the SID of the third node
  • the first node uses the label stack generated in S504 as the main forwarding path to the destination node.
  • An active and standby forwarding path to the destination node is established. Once a node on the primary forwarding path fails, the standby forwarding path can be used to forward the message to the destination node, which improves the reliability of message forwarding.
  • the ingress node RTA of the data center network illustrated in FIG. 4 is used as the first node to perform S505, specifically: RTA receives the tag sequence 3 ⁇ 3040, 2030, 20 ⁇ issued by RTB and the one issued by RTF
  • the tag sequence 5 ⁇ 7040,6070,60 ⁇ , the identification tag sequence 3 ⁇ 3040,2030,20 ⁇ is the optimal path to reach the adjacent area, so RTA prefers the tag sequence 3 ⁇ 3040,2030,20 ⁇ to determine the destination node
  • the main path of the RTD, the label sequence 5 ⁇ 7040, 6070, 60 ⁇ is used as the backup path, and the main and standby forwarding label stacks ⁇ 1020, 2030, 3040 ⁇ and ⁇ 1060, 6070, 7040 ⁇ are generated respectively.
  • each node in the data center network executes the method for establishing the cross-domain forwarding path provided in this application while performing the establishment of the forwarding path in the area, so as to support the subsequent cross-domain mutual access and forwarding of messages.
  • This application only takes the first node to execute the method for establishing the cross-domain forwarding path provided by this application as an example, and elaborates on the solution of this application in detail.
  • the process for other nodes to execute the method for establishing the cross-domain forwarding path provided by this application is the same. Do not repeat them one by one.
  • FIG. 5 the execution order of each step included in FIG. 5 can be configured according to actual requirements.
  • FIG. 5 only illustrates a possible execution order, and does not constitute a limitation on the execution order of each step.
  • the second node in the first area is diffused in the first node in the label sequence.
  • the SID of the second node is replaced with the incoming label from the first node to the second node, and spread to the second area with its own SID, so that the nodes in the second area do not need to calculate to the destination node during the process of establishing a path to the destination node
  • For the incoming label only the forwarding path and forwarding table entries to the first node that have been calculated in the (multiplexing) area are used. In this way, cross-regional forwarding paths are established independently in each region.
  • the first node also calculates the out label of the second node; wherein the out label is the SRGB starting value of the second node plus the SID of the second node.
  • the first node generates a forwarding entry for the incoming label and outgoing label to the second node for packet forwarding.
  • the RTC calculates that the outgoing tag of the RTD is 4040, and the incoming tag 3040 and outgoing tag 4040 are used to generate forwarding entry records.
  • the RTB calculates that the outgoing tag of the RTC is 3030, and the incoming tag 2030 and the outgoing tag 3030 are generated for forwarding entry records.
  • the ingress node After the forwarding path is established, when a message whose destination address is the destination node arrives at the ingress node, the ingress node encapsulates the generated label stack at the outer layer of the message, and uses the outermost label to forward the message according to the switching and forwarding principles. Each subsequent node that receives the message uses the outermost label to forward the message according to the switching and forwarding principle until the message is forwarded to the destination node.
  • the RTA encapsulates the label stack ⁇ 1020, 2030, 3040 ⁇ in the outer layer of the message. Then, according to the outermost label 1020, it is switched to the out label 2020, and the message is forwarded to the ABR node RTB. After the node RTB receives the message, it recognizes that the outermost label 2020 is its own incoming label, pops off the outer label, and then forwards it according to the current outermost label 2030, switches and pops according to the basic label, until the packet is forwarded To the destination node RTD.
  • the aforementioned first node includes hardware structures and/or software modules corresponding to various functions.
  • the functional unit in the first node that implements the above method for establishing a cross-domain forwarding path is referred to as a device for establishing a cross-domain forwarding path.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software-driven hardware depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
  • the embodiments of the present application can divide the functional modules of the apparatus for establishing a cross-domain forwarding path according to the above method examples.
  • each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 6 shows a possible schematic structural diagram of the apparatus 60 for establishing a cross-domain forwarding path deployed in the first node involved in the foregoing embodiment.
  • the apparatus 60 for establishing a cross-domain forwarding path may be the first node itself, or may be a functional module or chip in the first node.
  • the apparatus 60 for establishing a cross-domain forwarding path may include: a receiving unit 601, a processing unit 602, and a publishing unit 603.
  • the receiving unit 601 is used to execute the procedures S501 and S501A in FIG. 5; the processing unit 602 is used to execute the procedures S501B, S502, S504, S505, and S506 in FIG. 5; the processing unit 602 is also used to execute the procedures in FIG. 5 through the publishing unit 603.
  • the process S503. all relevant content of the steps involved in the above method embodiments can be cited in the functional description of the corresponding functional module, and will not be repeated here.
  • FIG. 7 shows a schematic diagram of a possible structure of the apparatus 70 for establishing a cross-domain forwarding path involved in the foregoing embodiment.
  • the apparatus 70 for establishing a cross-domain forwarding path may be any node 301 that is not a destination node in the data center network 30 shown in FIG. 3.
  • the apparatus 70 for establishing a cross-domain forwarding path may be the node 301, or a functional unit or a chip system in the node 301.
  • the device 70 for establishing a cross-domain forwarding path belongs to the first area.
  • the apparatus 70 for establishing a cross-domain forwarding path may include a processor 701, a memory 702, and a transceiver 703.
  • the memory 702 may be a volatile memory (volatile memory), such as a random-access memory (random-access memory, RAM); or a non-volatile memory (non-volatile memory), such as a read-only memory (read-only memory).
  • volatile memory such as a random-access memory (random-access memory, RAM); or a non-volatile memory (non-volatile memory), such as a read-only memory (read-only memory).
  • memory ROM), flash memory (flash memory), hard disk (HDD) or solid-state drive (solid-state drive, SSD); or a combination of the above-mentioned types of memory, used to store materials that can implement the method of this application Program code, configuration file, tag sequence, forwarding table, etc.
  • the processor 701 is the control center of the device 70 that establishes a cross-domain forwarding path, and may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or it may be configured as One or more integrated circuits that implement the embodiments of the present application, for example: one or more microprocessors (digital singnal processors, DSP), or one or more field programmable gate arrays (FPGA).
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • One or more integrated circuits that implement the embodiments of the present application, for example: one or more microprocessors (digital singnal processors, DSP), or one or more field programmable gate arrays (FPGA).
  • DSP digital singnal processors
  • FPGA field programmable gate arrays
  • the transceiver 703 is used for communication with other devices and data transmission.
  • the processor 701 executes the following functions by running or executing software programs and/or modules stored in the memory 702, and calling data stored in the memory 702:
  • the first routing information includes a first label sequence; wherein the first label sequence includes the SID of the second node; the first label sequence and the destination node Association; if the device 70 for establishing a cross-domain forwarding path is a boundary node between the first area and the third area, a second label sequence is obtained according to the first label sequence, and the second label sequence includes the incoming label of the device 70 for establishing a cross-domain forwarding path And the SID of the device 70 that establishes the cross-domain forwarding path; where the incoming tag is the SRGB starting value of the device 70 that establishes the cross-domain forwarding path plus the SID of the second node; the second tag sequence is issued to the second area so that the incoming tag
  • the node generates a forwarding path to the destination node, and the ingress node is a node in the second area or a node in the first area and an area outside the second area.
  • the processor 701 is used to execute the procedures S501B, S502, S504, S505, and S506 in FIG. 5, and is used to execute the procedures S501, S501A, and S503 in FIG. 5 through the transceiver 703.
  • the apparatus 60 for storing the establishment of a cross-domain forwarding path or the apparatus 70 for storing the establishment of a cross-domain forwarding path can be used to implement the function of the first node in the method implemented by the various embodiments of the present application. Note that only the parts related to the embodiments of the present application are shown. For specific technical details that are not disclosed, please refer to the various embodiments of the present application.
  • an embodiment of the present application further provides a forwarding node 80, and the forwarding node 80 may include the apparatus for establishing a cross-domain forwarding path described in any of the foregoing embodiments.
  • an embodiment of the present application also provides a system 90 for establishing a cross-domain forwarding path.
  • the forwarding system 90 may include at least one forwarding node 80.
  • the system 90 for establishing a cross-domain forwarding path includes at least one boundary node.
  • the boundary node please refer to the description in the embodiment shown in FIG. 6 or 7.
  • the specific function implementation of the device for establishing a cross-domain forwarding path (when used as a border node), or the specific description of each node where the first node is used as a border node in the embodiment shown in FIG. 5, will not be repeated here.
  • the system 90 for establishing a cross-domain forwarding path includes an ingress node and a boundary node.
  • the ingress node function in the embodiment shown in FIG. A specific function is realized when a node is used as an ingress node.
  • the specific function of the boundary node please refer to the specific function implementation of the device for establishing a cross-domain forwarding path (when used as a boundary node) described in the embodiment shown in Figure 6 or 7, or the first node in the embodiment shown in Figure 5 A detailed description of each node as a boundary node.
  • the system 90 for establishing a cross-domain forwarding path in this embodiment may further include a destination node.
  • the function of the destination node please refer to the specific description of the destination node in the foregoing embodiment.
  • a system 90 for establishing a cross-domain forwarding path includes an ingress node, one or more boundary nodes, and a destination node.
  • Figure 5 for the function of the ingress node.
  • specific functions are implemented when the first node is used as an ingress node.
  • each boundary node please refer to the specific function implementation of the device for establishing a cross-domain forwarding path (when used as a boundary node) described in the embodiment shown in Fig. 6 or 7, or the first node in the embodiment shown in Fig. 5
  • the function of the destination node please refer to the specific description of the destination node in the foregoing embodiment.
  • a computer-readable storage medium is provided, and an instruction is stored thereon.
  • the instruction is executed, the method for establishing a cross-domain forwarding path in the foregoing method embodiment is executed.
  • a computer program product containing instructions is provided.
  • the instructions When the instructions are executed, the method for establishing a cross-domain forwarding path in the foregoing method embodiment is executed.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may be separately physically included, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware, or in the form of hardware plus software functional unit.
  • the above-mentioned integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium.
  • the above-mentioned software function unit is stored in a storage medium, and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device, etc.) to execute part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .

Landscapes

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

Abstract

本申请实施例公开一种建立跨域转发路径的方法、装置及系统,涉及通信技术领域,能够在大量跨区域互访场景中,降低节点计算压力。该方法具体包括:第一节点接收第一区域中的第二节点扩散的路由信息,该路由信息包括第一标签序列;若第一节点为第一区域与第三区域的边界节点,第一节点根据第一标签序列得到第二标签序列,第二标签序列包括第一节点的SID以及第一节点到第二节点的入标签,第一节点到第二节点的入标签为第一节点的SRGB起始值加第二节点的SID;第一节点向第二区域发布第二标签序列,以使得入节点生成到目的节点的转发路径。

Description

一种建立跨域转发路径的方法、装置及系统
本申请要求了2019年1月28日提交的,申请号为201910083196.8,发明名称为“一种建立跨域转发路径的方法、装置及系统”的中国申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种建立跨域转发路径的方法、装置及系统。
背景技术
随着技术发展,通过网络转发数据包的方式应用到众多领域。段路由(segment routing,SR)是基于源路由理念而设计的在网络上转发数据包的一种方法。
SR中,将网络路径分成一个个段,为每个段和转发节点分配段标识(segment identity,SID),若干个有序排列的SID构成的段序列(也称之为SID序列,SID LIST),就是一条转发路径。段路由尽力而为服务(segment routing best effort,SR-BE)即SR标签交换路径(Label Switching Path,LSP),SR LSP是内部网关协议(Interior Gateway Protocol,IGP)使用最短路径算法计算得到,并使用SR技术建立的最优路径,SR LSP按标签(lable)进行转发,标签在中间设备执行交换动作。
在进行SR配置时,用户为每个SR节点配置SR全局块(SR global block,SRGB)以及前缀SID(Prefix-SID)值。SRGB为预留的多协议标签交换(multi-protocol label switching,MPLS)标签范围,Prefix-SID值为节点的SID值。一个节点的Prefix-SID值为其所在的SR域范围唯一的标识。SR域范围中每个节点通过泛洪发布各自的Prefix-SID,其他节点可以根据该Prefix-SID计算到该节点的标签。一个节点计算到目的节点的标签时,该节点到目的节点的本地标签(也称之为该节点到目的节点的入标签)的计算方法是该节点的SRGB起始值+目的节点Prefix-SID,该节点到目的节点的出标签计算方法是该节点到目的节点的下一跳节点的SRGB起始值+目的节点Prefix-SID,生成转发表项,报文按照转发表项在网络中转发。
在数据包转发过程中,通过会出现跨区域互访的需求,需建立跨域的转发路径。如图1所示的数据中心网络,该数据中心网络使用IGP协议中的中间系统到中间系统(intermediate system to intermediate system,ISIS)协议,节点RTA属于L1区域,节点RTC属于L2区域,如果节点RTA有到节点RTC互访的需求,需建立跨域的SR-BE。但是由于跨区域,当前现网部署不同区域之间路由是隔离的,需要在L1/L2的区域边界路由器(area border router,ABR)节点RTB设备上配置路由引入,把L2区域的节点RTC的3.3.3.3的路由以及节点RTC的Prefix-SID引入到L1区域,节点RTA收到节点RTC路由和Prefix-SID,计算到节点RTC的标签,生成转发表项以建立转发SR LSP。
但是,如果有大量的跨区域互访需求,就需要跨区域大量引入路由,区域内节点需要为每个外部引入的路由前缀重新计算转发路径,并下发转发表;一旦引入的其他区域的节点Prefix-SID值变动,则需重新计算转发路径;因此,节点计算以及转发表项下发压力巨大。 发明内容
本申请提供一种建立跨域转发路径的方法、装置及系统,在大量跨区域互访场景中,降低节点计算压力。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种建立跨域转发路径的方法,应用于第一节点,第一节点为数据中心网络中任一非目的节点,该数据中心网络包括多个节点,与源网络连接的节点称之为入节点,与目的网络连接的节点称之为目的节点。该数据中心网络用于将源网络的报文通过转发路径发送至目的网络。该数据中心网络包括的多个节点,被划分为两个以上区域,第一节点归属于第一区域。该方法可以包括:
第一节点接收第一区域中的第二节点扩散的第一路由信息,该第一路由信息包括第一标签序列;其中,第一标签序列包括第二节点的SID;第一标签序列与目的节点关联;若第一节点为第一区域与第三区域的边界节点,第一节点根据第一标签序列得到第二标签序列,第二标签序列包括第一节点的SID以及第一节点到第二节点的入标签;第一节点到第二节点的入标签为第一节点的SRGB起始值加第二节点的SID;第一节点向第三区域发布第二标签序列,以使得入节点生成到目的节点的转发路径,入节点为第二区域中的节点或为第一区域和第二区域之外区域的节点。
通过本申请提供的建立跨域转发路径的方法,作为第一区域与第二区域的边界节点的第一节点,在进行路由引入时,将第一区域中的第二节点扩散的标签序列中第二节点的SID替换为第一节点到第二节点的入标签,并与自身的SID扩散至第二区域,使得第二区域中的节点在建立到目的节点的路径过程中,无需计算到目的节点的入标签,仅需使用(复用)区域内已经计算好的到第一节点的转发路径及转发表项。这样一来,跨区域的转发路径建立在各个区域中相互独立,即使某个区域中节点架构发生变化,建立路径的过程仅影响该区域内部的转发路径及转发表项,其他区域由于直接复用无需再计算,降低了节点的计算量和减少标签转发表项的重复下发次数。即使大量引入外部路由,由于复用区域内的转发路径及转发表项,转发路径的建立并不会增加节点的计算,也无需再下发转发表项。因此,本申请提供的建立跨域转发路径的方法,大大降低了节点的计算压力。
其中,第二节点可以为目的节点,或者,第二节点也可以为第一区域与第二区域的边界节点,边界节点可以称之为基于ABR节点。边界节点是位于至少两个区域中的节点,属于其位于的每一个区域。第一节点到第二节点的入标签用于指导报文从第一节点发送到第二节点。
本申请所称的区域,是指数据中心中部署的路由相互隔离的节点集合,不同区域中的节点如需互访需进行路由引入。当区域采用SR技术时,可以称之为SR域。在数据路由转发领域,对于区域不同的路由协议中的称呼不同,均可以理解为本文中描述的区域。
例如,ISIS路由协议中区分的level1和level2,开放的最短路径优先协议(open shortest path first,OSPF)中多个Area的概念,均可以理解为本文所称区域。
结合第一方面,在一种可能的实现方式中,第一路由信息还可以包括目的节点的地址信息。该地址信息用于指示根据第一路由信息建立的路径是到目的节点的转发路径,用于数据报文通过地址信息与路径关联。
可选的,目的节点的地址信息可以为目的节点的路由。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,若第一节点为第一区域与第二区域的边界节点,第一节点根据第一标签序列得到第二标签序列,具体可以 实现为:第一节点将第一标签序列中第二节点的SID替换为第一节点到第二节点的入标签,并加入第一节点的SID,其他部分保持不变。
结合第一方面,在一种可能的实现方式中,第二节点为第一区域与第三区域的边界节点,第一标签序列还包括:边界节点到目的节点的逐跳入标签,该边界节点到目的节点的逐跳入标签为包括第二节点在内,从第二节点到目的节点间最短路径跨越的每个边界节点到其在该最短路径的下一跳节点的入标签,或者,根据边界节点到目的节点的逐跳入标签获得的第一绑定段标识(binding SID,BSID)。第二标签序列还包括:边界节点到目的节点的逐跳入标签或者第一BSID。在该实现方式中,第二节点为非目的节点,目的节点的路由由第二节点引入第一区域。
其中,第一BSID与边界节点到目的节点的逐跳入标签关联,记录在第二节点内部,当第二节点接收到外层标签为第一BSID的报文时,即可将第一BSID交换为边界节点到目的节点的逐跳入标签,进行后续的报文转发。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,本申请提供的方法还可以包括:第一节点基于边界节点到目的节点的逐跳入标签和第一节点到第二节点的入标签,生成第二BSID,将第二BSID替换第二标签序列中所有的入标签;其中,第二BSID属于第一节点的SRGB。在该实现方式中,第一节点将第二BSID与第二标签序列中包括的所有入标签关联,记录在第一节点内部,当第一节点接收到外层标签为第二BSID的报文时,即可将第二BSID交换为与其关联的入标签,进行后续的报文转发。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,本申请提供的方法还可以包括:第一节点基于第一BSID和第一节点到第二节点的入标签生成第二BSID,将第二BSID替换第二标签序列中的第一BSID和第一节点到第二节点的入标签。其中,第二BSID属于第一节点的SRGB。在该实现方式中,第一节点将第二BSID与第二标签序列中包括的第一BSID和第一节点到第二节点的入标签关联,记录在第一节点内部,当第一节点接收到外层标签为第二BSID的报文时,即可将第二BSID交换为与其关联的第一BSID和第一节点到第二节点的入标签,进行后续的报文转发。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,若第二标签序列的长度大于或等于预设门限,第一节点将第二BSID替换第二标签序列中所有的入标签,或者,第一节点将第二BSID替换第二标签序列中的第一BSID和第一节点到第二节点的入标签。在该实现方式中,只有在标签序列的长度满足条件时,才使用BSID以减少标签序列的长度。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,第二节点为第一区域与第三区域的边界节点;本申请提供的方法还可以包括:第一节点接收第一区域中的第三节点扩散的第二路由信息,第二路由信息包括第三标签序列;其中,第三标签序列包括第三节点的SID;第三标签序列与目的节点关联;第三节点为第一区域与第三区域的边界节点;第一节点从第一标签序列与第三标签序列中,确定第一标签序列是到第三区域的最短路径。即第一节点在接收到的多个标签序列中,择优选择标签序列建立到目的节点的转发路径。一种可能的实现中,第一节点可以通过确定到标签序列中第一个标签的路径最短,来确定哪个标签序列是到临近区域的最短路径。
其中,第一节点可以根据标签序列的传输过程中经过的节点数量来确定哪个标签序列是到临近区域的最短路径。或者,第一节点可以根据数据中心中的节点架构,确定第二节点或者第 三节点中哪个节点到第三区域距离最近,以确定到目的节点距离近的节点所扩散的标签序列是到第三区域的最短路径。当然,第一节点确定第一标签序列是到第三区域的最短路径还可以采用其他方案,本申请对此不进行具体限定。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,第二路由信息还可以包括目的节点的地址信息。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,第三标签序列还可以包括:第一边界节点到目的节点的逐跳入标签,该第一边界节点到目的节点的逐跳入标签为包括第三节点在内,从第三节点到目的节点间最短路径跨越的每个边界节点到其在该最短路径的下一跳节点的入标签,或者,根据第一边界节点到目的节点的逐跳入标签获得的第三BSID。
其中,第三BSID与第一边界节点到目的节点的逐跳入标签关联,记录在第三节点内部,当第三节点接收到外层标签为第三BSID的报文时,即可将第三BSID交换为第一边界节点到目的节点的逐跳入标签,进行后续的报文转发。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,若第一节点为入节点,本申请提供的方法还可以包括:第一节点根据第一标签序列生成到目的节点的标签栈,作为到目的节点的转发路径。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,第一节点根据第一标签序列生成到目的节点的标签栈,作为到目的节点的转发路径,具体可以包括:第一节点将第一标签序列中第二节点的SID,替换为第一节点到第二节点的入标签,得到标签栈;第一节点将该标签栈与目的节点的地址信息关联,作为到目的节点的转发路径。其中,第一节点到第二节点的入标签为第一节点的SRGB起始值加第二节点的SID。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,若第一节点为入节点,本申请提供的方法还可以包括:第一节点根据第三标签序列生成到目的节点的标签栈,作为到目的节点的备用转发路径。第一节点将根据第一标签序列生成到目的节点的标签栈,作为到目的节点的主转发路径。通过该实现方式,建立了到目的节点的主备转发路径,一旦主转发路径上的节点故障,即可采用备用转发路径向目的节点转发报文,提高了报文转发的可靠性。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,第一节点根据第三标签序列生成到目的节点的标签栈,作为到目的节点的备用转发路径,具体可以包括:第一节点将第三标签序列中第三节点的SID,替换为第一节点到第三节点的入标签,得到标签栈;第一节点将该标签栈与目的节点的地址信息关联,作为到目的节点的备用转发路径。其中,第一节点到第三节点的入标签为第一节点的SRGB起始值加第三节点的SID。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,本申请提供的方法还可以包括:第一节点从第二节点接收第二节点的SRGB;第一节点计算第一节点到第二节点的出标签;其中,第一节点到第二节点的出标签为第二节点的SRGB起始值加第二节点的SID;第一节点将第一节点到第二节点的入标签和第一节点到第二节点的出标签,生成转发表项。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,在数据中心的架构中,第一节点与第二节点间可以部署了至少一个中间节点,第一节点接收第一区域中的第二节点扩散的第一路由信息,可以包括:第一节点通过至少一个中间节点接收第二节点扩 散的第一路由信息。
结合第一方面或上述任一种可能的实现方式中,在另一种可能的实现方式中,若第一节点为第一区域中的中间节点,第一节点接收第一区域中的第二节点扩散的第一路由信息后,第一节点按照到入节点的转发表项,将第一路由信息向下一跳透明转发。
第二方面,提供一种数据转发方法,应用于数据中心的入节点。该数据转发方法可以包括:入节点从源网络接收到目的网络的报文;入节点在报文外层封装到目的节点的标签栈;入节点按照标签栈的最外层标签查找转发表项,得到出标签,将标签栈中的最外层标签交换为该出标签,并按照出标签将报文转发至下一跳节点。下一跳节点接收到封装了标签栈的数据包,按照标签交换和弹出规则,继续转发数据包,直至数据包转发至目的节点。
第三方面,提供一种建立跨域转发路径的装置,该装置能够实现第一方面及其任意一种可能的实现方式中的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
在本申请的一种可能的方式中,该装置可以包括接收单元和处理单元,该接收单元和处理单元可以执行上述第一方面及其任意一种可能的实现方式的建立跨域转发路径的方法中第一节点的相应功能。例如:接收单元,用于接收第一区域中的第二节点扩散的第一路由信息;处理单元,用于根据第一标签序列得到第二标签序列,第二标签序列包括第一节点的SID以及第一节点到第二节点的入标签;其中,第一节点到第二节点的入标签为第一节点的SRGB起始值加第二节点的SID;处理单元还用于向第二区域发布第二标签序列。
第四方面,提供一种建立跨域转发路径的装置,该装置包括处理器和存储器,所述存储器与所述处理器连接;所述存储器用于存储计算机指令,当所述处理器执行所述计算机指令时,所述通信装置执行上述第一方面及其任意一种可能的实现方式所述的建立跨域转发路径的方法。
可选的,该建立跨域转发路径的装置还包括收发器,该收发器用于在所述建立跨域转发路径的装置的处理器的控制下,执行上述第一方面及其任意一种可能的实现方式所述的建立跨域转发路径的方法中收发数据、信令或信息的步骤。
该建立跨域转发路径的装置可以是数据中心网络中的任一节点,或者,节点中的芯片系统。该芯片系统用于支持其所在的节点实现第一方面及其任意一种可能的实现方式中所涉及的功能。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第五方面,提供一种转发节点,该转发节点可以包括上述任一方面或任一种可能的实现方式提供的建立跨域转发路径的装置。
第六方面,提供一种建立跨域转发路径的系统,该转发系统可以包括第一节点及第二节点;第一节点及第二节点归属于第一区域。其中,第二节点用于,在第一区域内扩散第一路由信息,第一路由信息包括第一标签序列;其中,第一标签序列包括第二节点的段标识SID;第一标签序列与目的节点关联;第一节点用于,接收第二节点扩散的第一路由信息;若第一节点为第一区域与第二区域的边界节点,第一节点还用于:根据第一标签序列得到第二标签序列,第二标签序列包括第一节点的SID以及第一节点到第二节点的入标签;其中,第一节点到第二节点的入标签为第一节点的SRGB起始值加第二节点的SID;第一节点还用于,向第二区域发布第二标签序列,以使得入节点生成到目的节点的转发路径,入节点为第二区域中的节点或为第一区域和第二区域之外区域的节点。
需要说明的是,第六方面提供的建立跨域转发路径的系统的具体实现,可以参照上述第一方 面或任一种可能的实现方式描述的建立跨域转发路径的方法的具体实现,不再一一赘述。第七方面,还提供一种计算机可读存储介质,用于储存为上述转发节点所用的计算机软件指令,其包含用于执行上述任一方面所设计的程序。
第八方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述任一方面所述建立跨域转发路径的方法。
上述第二方面至第八方面提供的方案,用于实现上述第一方面或第二方面或任一种可能的实现方式提供的方法,因此可以与其达到相同的有益效果,此处不再进行赘述。
在本申请中,上述建立跨域转发路径的装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为现有技术提供的一种数据中心网络的架构示意图;
图2为现有技术提供的另一种数据中心网络的架构示意图;
图3为本申请实施例提供的一种数据中心网络的架构示意图;
图4为本申请实施例提供的另一种数据中心网络的架构示意图;
图5为本申请实施例提供的一种建立跨域转发路径的方法的流程示意图;
图6为本申请实施例提供的一种建立跨域转发路径的装置的结构示意图;
图7为本申请实施例提供的另一种建立跨域转发路径的装置的结构示意图;
图8为本申请实施例提供的一种转发节点的结构示意图;
图9为本申请实施例提供的一种建立跨域转发路径的系统的结构示意图;
图10为本申请实施例提供的另一种建立跨域转发路径的系统的结构示意图。
具体实施方式
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请实施例中描述的A、B、C中的一项或多项,用于表示下述概念:A,或者B,或者C,或者A和B,或者,A和C,或者,B和C,或者,A、B以及C。
下面先对使用SR技术的数据中心网络中的报文转发过程进行简单说明。
在使用SR技术的数据中心网络中,进行SR配置时,用户为每个SR节点配置SRGB以及Prefix-SID值。SRGB为预留的MPLS标签范围,Prefix-SID值为节点的SID值。每个区域中的每个节点通过泛洪形式,向区域内的每个节点扩散自身的SRGB以及SID,其他节点根据SRGB以及SID计算对应的标签。SR-BE,即SR LSP,是IGP使用最短路径算法计算得到,并 使用SR技术建立的最优路径,SR LSP按照标签转发报文(也称之为数据包,可以相互替换)的过程。
下面结合图2对数据中心网络中的路径建立过程以及报文转发过程进行描述。
图2示意了一个数据中心网络的架构,该数据中心网络中包括8个节点,分别记录为PE1至PE4,以及P1至P4,为了描述简单,假设这8个节点属于一个区域。假设PE1为入节点,PE2为目的节点。
在图2示意的数据中心网络建立时,用户为每个节点配置的相关的参数如示意表1所示。需要说明的是,为了描述简单,表1中仅示意了与本示例描述过程中相关的配置参数,并不是对配置参数内容的具体限定。
表1
节点名称 SRGB SID 路由
PE1 1000~2000 / /
P1 2000~3000 / /
P3 3000~4000 / /
PE2 4000~5000 100 1.1.1.1
结合图1以及表1,在区域内的节点相互扩散各自的配置参数之后,入节点PE1为目的地址为1.1.1.1计算转发路径的过程为:每个节点计算自身到PE2的入标签为该节点自身的SRGB起始值+PE2的SID,计算到PE2的出标签为该节点到PE2的最短路径的下一跳的SRGB起始值+PE2的SID。每个节点生成自身到PE2的转发表项为到PE2的入标签以及到PE2的出标签。其中,入标签用于命中转发表项,出标签用于指示将报文转发的下一跳节点。例如,节点接收到一个报文时,按照最外层标签在转发表中命中转发表项的入标签,将报文最外层的标签交换为该入标签对应的出标签后转发报文。
因此,PE2计算得到PE2的转发表项为{4100,空},P3计算得到PE2的转发表项为{3100,4100},P1计算得到PE2的转发表项为{2100,3100},PE1计算得到PE2的转发表项为{1100,2100},其他节点计算的内容不再一一示出,此处只示意与最短路径相关的节点的计算内容。
入节点PE1通过最短路径优先协议(shortest path first,SPF)算法计算到PE2的标签转发路径是PE1->P1->P3->PE2,PE1生成的标签转发表如表2所示。
表2
节点名称 入标签 出标签
PE1 1100 2100
P1 2100 3100
P3 3100 4100
PE2 4100
按照表2示意的标签转发表,转发行为是报文在PE1节点先打上标签1100,根据表2查找到出标签是2100,把标签交换成2100,按出接口转发给P1。报文到了P1节点,查找表2,查找到出标签是3100,按出接口转发给P3。P3上同理,直至报文转发至PE2。
上述示例描述了区域内建立路径转发报文的过程,当出现图1示意的跨区域互访的需求时,由于跨区域,区域间的SID无法渗透,通过路由引入将一个区域的SID引入另一个区域,按照上述路径建立过程,为引入的SID计算标签。当大量引入路由的情况下,节点的计算以及转发表项下发的压力非常大。
为此,本申请实施例提供一种建立跨域转发路径的方法,通过在跨区域渗透时,作为边界节点的第一节点,在接收到跨区域的标签序列时,仅计算第一节点到发送标签序列的节点的入标签,将该入标签和自身的SID扩散到另一区域,另一区域中的节点仅计算其到第一节点的入标签即可,使得跨区域渗透时节点仅计算本区域内的入标签,无需计算区域外的任何标签,在大量引入路由的情况下,降低节点计算压力和减少标签转发表项的重复下发次数。
此处结合图1对本申请的原理进行简单说明。
在图1示意的数据中心网络中,在节点RTB配置了路由引入,用于将L2区域的路由引入L1区域,假设目的节点为节点RTC。跨区域的路径建立包含下述两部分。
第一部分,区域内路径建立。
在数据中心网络构建时,L1区域与L2区域中每个节点在各区域内扩散自身的SRGB以及SID值。每个节点计算到区域内其他每个节点的入标签以及出标签,生成转发表项,具体过程前述内容已进行详细说明,此处不再进行赘述。
第二部分,跨区域路径建立。
由于节点RTB配置了路由引入,节点RTB将节点RTB到节点RTC的入标签以及自身的SID扩散向L1区域扩散,而该入标签在第一部分中已经计算好,直接使用即可(可以称之为复用)。L1区域中的节点RTA接收到RTB扩散的节点RTB到节点RTC的入标签以及节点RTB的SID,仅需获得节点RTA到节点RTB的入标签(该入标签在第一部分中已经计算好,直接复用),即可生成到节点RTC的标签栈,
本申请实施例提供的建立跨域转发路径的方法适用于图3示出的数据中心网络30。数据中心网络30可以为通信网络,也可以为计算机网络,本申请对数据中心网络的类型不进行具体限定。如图3所示,该数据中心网络30包括多个节点301(称之为转发节点)。
其中,用户在配置数据中心网络30时,为其中的每个节点301配置参数,该参数可以包括但不限于SRGB、SID以及路由。每个区域中的每个节点泛洪扩散自身的参数,配置了路由引入的边界节点在接收到一个区域中一个节点扩散的参数后,按照本申请提供的建立跨域转发路径的方法,将入标签及自身的SID扩散至另一个区域中每个节点,实现路由引入。
若图3所示的数据中心网络30中划分为两个区域,中间位置的两个节点301既位于左侧区域,也位于右侧区域,称之为两个区域的边界节点。
需要说明的是,数据中心网络30包括的各个设备的数量以及具体架构,可以根据实际需求配置,本申请实施例对于数据中心网络30的规模及具体架构均不进行限定。
需要说明的是,本申请中描述的节点,可以为路由器或者交换机或者其他,本申请对于节点的实际形态不进行具体限定。
下面结合附图,对本申请的实施例进行具体阐述。
本申请提供一种建立跨域转发路径的方法,应用于图4示意的数据中心网络。如图4所示,该数据中心网络中包括多个转发节点,该多个转发节点划分为3个区域,记录为区域1、区域2、区域3。图4示意的数据中心网络与图3示意的数据中心网络工作原理相同,只是规模不同。当然,在实际应用中,本申请提供一种建立跨域转发路径的方法可以应用于各种规模的数据中心网络中,图4仅为示意性描述,并不构成具体限定。
在如图4所示的数据中心网络中,用户为每个节点配置的参数如表3所示。
表3
节点名称 SRGB SID 路由
RTA 1000~2000 10 1.1.1.1
RTB 2000~3000 20 2.2.2.2
RTC 3000~4000 30 3.3.3.3
RTD 4000~5000 40 4.4.4.4
RTE 5000~6000 50 5.5.5.5
RTF 6000~7000 60 6.6.6.6
RTG 7000~8000 70 7.7.7.7
RTH 8000~9000 80 8.8.8.8
本申请提供一种建立跨域转发路径的方法,可以应用于第一节点,该第一节点归属于第一区域,第一节点可以为图4示意的数据中心网络中非目的节点的任一节点,第一区域可以为图4示意的数据中心网络中的任一区域。在数据中心网络完成配置,建立转发路径时,若不同区域的边界节点配置了路由引入,则执行本申请提供的建立跨域转发路径的方法,以建立跨域转发路径。对于区域内转发路径的建立,已经在前述内容进行了详细说明,此处不再进行赘述。应理解,本申请下述结合图5描述的建立跨域转发路径的方法,与区域内转发路径建立的过程并行。
如图5所示,本申请提供的建立跨域转发路径的方法可以包括:
S501、第一节点接收第一区域中的第二节点扩散的第一路由信息。
其中,第一路由信息包括第一标签序列,第一标签序列包括第二节点的SID。
需要说明的是,图5所示的实施例中,第一节点可以为数据中心网络中任一非目的节点,第一节点可以为边界节点或者入节点。第二节点可以为目的节点,或者第一区域与第三区域的边界节点。
具体的,第一节点和第二节点均属于第一区域。若第二节点为边界节点,第二节点还属于第三区域。若第一节点为边界节点,第一节点还属于第二区域。
其中,边界节点是指位于至少两个区域的节点。例如,图4中示意的RTB、RTC、RTG、RTF均为边界节点。
例如,第一节点可以为图4中的边界节点RTC,第二节点可以为RTD。或者,第一节点可以为图4中的边界节点RTB,第二节点可以为RTC。
例如,第一节点可以为图4中的入节点RTA,第二节点可以为RTB。
需要说明的是,第一节点与第二节点间可以直接相连,如图4中的架构所示。或者,若图4示意的数据中心网络中每个区域的架构如图2示意的架构,两个边界节点之间的节点称之为中间节点。
在一个具体的实施例中,第一节点与第二节点间直接相连,第一节点接收第一区域中的第二节点扩散的第一路由信息,具体为:第一节点从第二节点接收第一路由信息。
在一个具体的实施例中,第一节点与第二节点间通过至少一个中间节点相连,第一节点接收第一区域中的第二节点扩散的第一标签序列,具体为:第一节点从与之相连的中间节点,接收第二节点扩散的第一标签序列。
在一个具体的实施例中,第一标签序列包括第二节点的SID。例如,第二节点为目的节点,第一节点为第一区域与第二区域的边界节点,第一标签序列则仅包括第二节点的SID。在该实现方式中,属于区域内转发路径的建立,此处不再进行赘述。
在一个具体的实施例中,第二节点为第一区域与第三区域的边界节点,第一标签序列还 可以包括:边界节点到目的节点的逐跳入标签,该边界节点到目的节点的逐跳入标签为包括第二节点在内,从第二节点到目的节点间最短路径跨越的每个边界节点到其在最短路径的下一跳节点的入标签,或者,根据该边界节点到目的节点的逐跳入标签获得的第一BSID。
示例1,在图4示意的数据中心网络的架构,假设目的节点为节点RTD,第二节点为节点RTC,第一节点为节点RTB;节点RTB接收到区域2与区域3的边界节点RTC扩散的标签序列中包括RTC的SID以及RTC到RTD的入标签。其中,边界节点RTC扩散的标签序列中包括的RTC到RTD的入标签,称之为边界节点到目的节点RTD的逐跳入标签。该边界节点到目的节点的逐跳入标签包括节点RTC在内,从节点RTC到目的节点RTD间最短路径跨越的一个边界节点RTC到其在最短路径的下一跳节点RTD的入标签。
示例2,结合图4,假设目的节点为节点RTD,第二节点为节点RTB,第一节点为节点RTA;节点RTA接收到区域1与区域2的边界节点RTB扩散的标签序列中包括节点RTB的SID、节点RTB到节点RTC的入标签、节点RTC到节点RTD的入标签。其中,边界节点RTB扩散的标签序列中包括的节点RTB到节点RTC的入标签和节点RTC到节点RTD的入标签,称之为边界节点到目的节点RTD的逐跳入标签。该边界节点到目的节点的逐跳入标签包括节点RTB在内,从节点RTB到目的节点RTD间最短路径跨越的两个边界节点RTB、RTC到其在最短路径的下一跳节点的入标签。
上述示例1和示例2中,第二节点到目的节点间最短路径跨越的每个边界节点均采用本申请提供的建立跨域转发路径的方法建立转发路径。
结合上述示例2,区域1与区域2的边界节点RTB在扩散标签序列时,可以将节点RTB到节点RTC的入标签、节点RTC到节点RTD的入标签替换为BSID X,因此,节点RTA接收到区域1与区域2的边界节点RTB扩散的标签序列中包括节点RTB的SID、BSID X,缩短了标签序列的长度。
在一个具体的实施例中,第一路由信息还包括目的节点的地址信息。
其中,目的节点的地址信息可以为目的节点的路由或者其他,本申请实施例对此也不进行具体限定。
在一个具体的实施例中,在S501之后可以执行S502。
在一个具体的实施例中,若第二节点为第一区域与第三区域的边界节点,如图5所示,本申请实施例提供的建立跨域转发路径的方法还可以包括S501A以及S501B,在S501B之后执行S502。
S501A、第一节点接收第一区域中的第三节点扩散的第二路由信息。
其中,第二路由信息包括第三标签序列,第三标签序列包括第三节点的SID;第三标签序列与目的节点关联。第三节点为第一区域与第三区域的边界节点,第三节点与第二节点在数据中心网络中所处的角色相同。
一种具体的实施例中,第三标签序列还可以包括:第一边界节点到目的节点的逐跳入标签,该第一边界节点到目的节点的逐跳入标签为包括第三节点在内,从第三节点到目的节点间最短路径跨越的每个边界节点到其在该最短路径的下一跳节点的入标签,或者,根据第一边界节点到目的节点的逐跳入标签获得的第三BSID。
其中,第三BSID与第一边界节点到目的节点的逐跳入标签关联,记录在第三节点内部,当第三节点接收到外层标签为第三BSID的报文时,即可将第三BSID交换为第一边界节点到目的节点的逐跳入标签,进行后续的报文转发。
需要说明的是,第三标签序列与上述第一标签序列类似,只是发送者不同,此处不再进行赘述。节点对于第三标签序列的操作,也可以参照上述第一标签序列的操作,例如采用BSID替换入标签等,此处不再一一说明。
示例性的,如图4所示,当第二节点为节点RTC时,第三节点可以为节点RTG。目的节点RTD扩散的SID,节点RTC与节点RTG均可接收到。节点RTC与节点RTG都执行本申请提供的方案,向区域2扩散包括自身SID以及自身到节点RTD的入标签的标签序列,节点RTC与节点RTG扩散的标签序列,节点RTB通过S501和S501A接收到。
S501B、第一节点从第一标签序列与第三标签序列中,确定第一标签序列是到第三区域的最短路径。
可选的,第一节点可以通过确定到标签序列中第一个标签的路径最短,来确定哪个标签序列是到临近区域的最短路径。
其中,第一节点可以根据标签序列的传输过程中经过的节点数量来确定哪个标签序列是到第三区域的最短路径。或者,第一节点可以根据数据中心中的节点布局,确定第二节点或者第三节点中哪个节点到目的节点距离最近,以确定到目的节点距离近的节点所扩展的标签序列是到第三区域的最短路径。当然,第一节点确定第一标签序列是到第三区域的最短路径还可以采用其他方案,本申请对此不进行具体限定。
需要说明的是,若第一节点为第一区域与第二区域的边界节点,在S501之后,执行S502及S503;若第一节点为数据中心网络的入节点,在S501之后,执行S504。
S502、若第一节点为第一区域与第二区域的边界节点,第一节点根据第一标签序列得到第二标签序列。
其中,第二标签序列包括第一节点的SID以及第一节点到第二节点的入标签;第一节点到第二节点的入标签为第一节点的SRGB起始值加第二节点的SID。
在一个具体的实施例中,第二标签序列还可以包括:边界节点到目的节点的逐跳入标签。
在一个具体的实施例中,若第一标签序列包括根据边界节点到目的节点的逐跳入标签获得的第一BSID,第二标签序列还包括第一BSID。
在一个具体的实施例中,S502具体可以实现为:第一节点将第一标签序列中第二节点的SID替换为第一节点到第二节点的入标签,并增加第一节点的SID,得到第二标签序列。
在一个具体的实施例中,第一节点可以采用BSID缩短第二标签序列的长度。如图5示意,在S502之后S503之前,本申请提供的方法还可以包括S502A或者S502B。具体的,若第一标签序列包括的是边界节点到目的节点的逐跳入标签,则在S502之后,执行S502A;若第一标签序列包括第一BSID,则在S502之后,执行S502B。
S502A、第一节点基于边界节点入标签和第一节点到第二节点的入标签,生成第二BSID,将第二BSID替换第二标签序列中所有的入标签。
其中,第二BSID属于第一节点的SRGB。需要说明的是,第二BSID可以在第一节点的SRGB中随机选择,或者,第二BSID可以在第一节点的SRGB中,按照预设规则选择,本申请对于预设规格的内容不限定。
S502B、第一节点基于第一BSID和第一节点到第二节点的入标签生成第二BSID,将第二BSID替换第二标签序列中的第一BSID和第一节点到第二节点的入标签。
在一个具体的实施例中,若第二标签序列的长度大于或等于预设门限,第一节点执行S502A或者S502B。若第二标签序列的长度小于预设门限,第一节点在S502之后直接执行 S503。
下面结合图4,通过示例对S501和S502的执行过程进行示例性说明。在ABR节点RTF和RTG也使能了路由引入。在区域3内,RTD节点发布路由4.4.4.4,SID为40,扩散标签序列1,标签序列1的内容为:{40},该标签序列1包括目的节点的路由4.4.44,用于指示建立到路由为4.4.4.4的节点的路径。标签序列1在区域3内泛洪,区域3中每个节点均可以接收到。
示例A、区域3与区域2的ABR节点RTC作为第一节点执行S501和S502。
区域3与区域2的ABR节点RTC接收标签序列1,RTC将标签序列1中RTD的SID替换为RTC到RTD的入标签3040,将自身的SID加入,得到标签序列2{3040,30}。
示例B、区域2与区域1的ABR节点RTB作为第一节点执行S501和S502。
区域2与区域1的ABR节点RTB接收标签序列2,RTB将标签序列2中RTC的SID替换为RTB到RTC的入标签2030,将自身的SID加入,得到标签序列3{3040,2030,20}。
可选的,RTB为减少标签数量,可将标签序列3中的多个入标签用BSID Y来代替。BSIDY在RTB设备配置的标签范围内自动生成。RTB可以采用BSID Y代替{3040,2030},生成的标签序列3可以为{BSID Y,20}。当数据转发至RTB时,RTB可以将BSID Y标签交换为标签栈{2030,3040},然后继续按照正常的标签交换方法转发数据包。
在示例A和示例B的基础上,假设在ABR节点RTF和RTG也使能了路由引入。
示例C、区域3与区域2的ABR节点RTG作为第一节点执行S501和S502。
区域3与区域2的ABR节点RTG接收标签序列1,RTG将标签序列1中RTD的SID替换为RTG到RTD的本地标签7040,将自身的SID加入,得到标签序列4{7040,70}。
此时,示例B中,区域2与区域1的ABR节点RTB不仅接收到标签序列2,还接收到标签序列4。RTB识别标签序列2{3040,30}到达目的节点的最优路径,因此RTB优选标签序列2{3040,30},后续内容按照示例B中描述,此处不再赘述。
示例D、区域2与区域1的ABR节点RTF作为第一节点执行S501和S502。
在RTF除了接收来自RTG发布的标签序列4{7040,70},也会收到RTC发布的标签序列2{3040,30},RTF识别标签序列4{7040,70}到达区域3为最优路径,因此RTF优选标签序列2{7040,70}。RTF将标签序列2中RTG的入标签替换为RTF的入标签6070,将自身的SID加入,得到标签序列5{7040,6070,60}。
进一步的,如图5所示,在S502之后,或者,在S502A之后,或者,在S502B之后,执行S503。
S503、第一节点向第二区域发布第二标签序列。
具体的,第一节点执行S503,使得第二区域与其他区域的边界节点执行上述S501至S503的过程,直至入节点执行本申请提供的建立跨域转发路径的方法,生成到目的节点的转发路径。
示例性的,基于上述示例A,RTC执行S503,向区域2扩散标签序列2,该标签序列2与目的节点的路由4.4.44关联,用于指示建立到路由为4.4.4.4的节点的路径。标签序列2在区域2内泛洪,区域2中每个节点均可以接收到,4.4.4.4路由被引入到区域2。
示例性的,基于上述示例B,RTB执行S503,向区域1扩散标签序列3,该标签序列3与目的节点的路由4.4.44关联,用于指示建立到路由为4.4.4.4的节点的路径。标签序列3在区域1内泛洪,区域1中每个节点均可以接收到,4.4.4.4路由被引入到区域1。
示例性的,基于上述示例C,RTG执行S503,向区域2扩散标签序列4,该标签序列4与目的节点的路由4.4.44关联,用于指示建立到路由为4.4.4.4的节点的路径。标签序列4在区域1内泛洪,区域1中每个节点均可以接收到,4.4.4.4路由被引入到区域5。
示例性的,基于上述示例D,RTF执行S503,向区域1扩散标签序列5,该标签序列5与目的节点的路由4.4.44关联,用于指示建立到路由为4.4.4.4的节点的路径。标签序列5在区域1内泛洪,区域1中每个节点均可以接收到,4.4.4.4路由被引入到区域1。
S504、第一节点根据第一标签序列生成到目的节点的标签栈,作为到目的节点的转发路径。
具体的,在S504中,第一节点将第一标签序列中第二节点的SID替换为第一节点到第二节点的入标签,将第一标签序列中的标签,按照第一节点到目的节点间的最短路径上节点的顺序排列,生成到目的节点的标签栈,并将该标签栈与目的节点的地址信息关联。
示例性的,基于上述示例B,图4示意的数据中心网络的入节点RTA作为第一节点执行S504,具体为:RTA接收RTB扩散的标签序列3{3040,2030,20},RTA只需要计算到ABR节点RTB的转发路径。由于RTB是本区域内设备,因此直接复用本区域内到达RTB的转发路径和转发表项(本地标签1020,出标签2020)。根据本地SRGB起始值和标签序列生成到目的地址4.4.4.4的标签栈{1020,2030,3040}。该标签栈就是一条从RTA设备到目的节点RTD的跨区域SR-BE隧路径。
对应于上述S501A和S501B,若第一节点为数据中心网络的入节点,在S502之后,第一节点还可以执行S505。
S505、第一节点根据第三标签序列生成到目的节点的标签栈,作为到目的节点的备用转发路径。
具体的,在S505中,第一节点将第三标签序列中第三节点的SID替换为第一节点到第三节点的入标签,将第一标签序列中的标签,按照第一节点到目的节点间的最短路径上节点的顺序排列,生成到目的节点的标签栈,并将该标签栈与目的节点的地址信息关联。第一节点到第三节点的入标签为第一节点的SRGB起始值加第三节点的SID
若执行了S505,第一节点将S504生成的标签栈,作为到目的节点的主转发路径。建立了到目的节点的主备转发路径,一旦主转发路径上的节点故障,即可采用备用转发路径向目的节点转发报文,提高了报文转发的可靠性。
示例性的,基于上述示例D,图4示意的数据中心网络的入节点RTA作为第一节点执行S505,具体为:RTA接收来自RTB发布的标签序列3{3040,2030,20}和RTF发布的标签序列5{7040,6070,60},识别标签序列3{3040,2030,20}为到达相邻区域的最优路径,因此RTA优选标签序列3{3040,2030,20}作为确定到达目的节点RTD的主路径,标签序列5{7040,6070,60}作为备份路径,并分别生成主备转发标签栈{1020,2030,3040}和{1060,6070,7040}。
需要说明的是,数据中心网络中的每个节点在执行区域内转发路径建立的同时,执行本申请提供的跨域转发路径的建立方法,以支持后续跨域互访转发报文的需求。本申请仅以第一节点执行本申请提供的跨域转发路径的建立方法为例,对本申请的方案进行详细阐述,其他节点执行本申请提供的跨域转发路径的建立方法的过程与之相同,不再一一赘述。
需要说明的是,图5中包括的各个步骤的执行顺序,可以根据实际需求配置,图5仅示意了一种可能的执行顺序,并不构成对各个步骤执行顺序的限定。
通过本申请提供的建立跨域转发路径的方法,作为第一区域与第二区域的边界节点的第一节点,在进行路由引入时,将第一区域中的第二节点扩散的标签序列中第二节点的SID替换为第一节点到第二节点的入标签,并与自身的SID扩散至第二区域,使得第二区域中的节点在建立到目的节点的路径过程中,无需计算到目的节点的入标签,仅需使用(复用)区域内已经计算好的到第一节点的转发路径及转发表项。这样一来,跨区域的转发路径建立在各个区域中相互独立,即使某个区域中节点架构发生变化,建立路径的过程仅影响该区域内部的转发路径及转发表项,其他区域由于直接复用无需再计算,降低了节点的计算量和减少标签转发表项的重复下发次数。即使大量引入外部路由,由于复用区域内的转发路径及转发表项,转发路径的建立并不会增加节点的计算,也无需再下发转发表项。因此,本申请提供的建立跨域转发路径的方法,大大降低了节点的计算压力。
进一步的,第一节点在执行上述步骤的过程中,还计算到第二节点的出标签;其中,出标签为第二节点的SRGB起始值加第二节点的SID。第一节点将到第二节点的入标签和出标签,生成转发表项,用于报文转发。
示例性的,基于上述示例A,RTC计算到RTD的出标签为4040,将入标签3040与出标签4040生成转发表项记录。
示例性的,基于上述示例B,RTB计算到RTC的出标签为3030,将入标签2030与出标签3030生成转发表项记录。
在转发路径建立完成之后,当目的地址为目的节点的报文到达入节点时,入节点在报文外层封装生成的标签栈,采用最外层标签按照交换及转发原则进行报文转发。后续每一个接收到报文的节点,都采用最外层标签按照交换及转发原则进行报文转发,直至报文转发至目的节点。
示例性的,基于上述示例,当目的地址是4.4.4.4的流量到达RTA,RTA在报文外层封装标签栈{1020,2030,3040}。然后按照最外层标签1020,交换为出标签2020,将报文转发至ABR节点RTB。节点RTB接收到报文后,识别到最外层标签2020为自身的入标签,弹掉外层标签,然后根据当前的最外层标签2030转发,按照基本的标签交换和弹出,直至转发数据包至目的节点RTD。
需要说明的是,上述示例仅仅是举例说明,并不是对本申请方案的限定。
上述主要从第一节点工作原理的角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述第一节点为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。将第一节点中实现上述建立跨域转发路径的方法的功能单元,称之为建立跨域转发路径的装置。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对建立跨域转发路径的装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中所涉及的第一节点中部署的建立跨域转发路径的装置60的一种可能的结构示意图。该建立跨域转发路径的装置60可以为第一节点本身,也可以为第一节点中的功能模块或者芯片。
如图6所示,建立跨域转发路径的装置60可以包括:接收单元601、处理单元602、发布单元603。
接收单元601用于执行图5中的过程S501、S501A;处理单元602用于执行图5中的过程S501B、S502、S504、S505、S506;处理单元602还用于通过发布单元603执行图5中的过程S503。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图7示出了上述实施例中所涉及的建立跨域转发路径的装置70的一种可能的结构示意图。该建立跨域转发路径的装置70可以为图3示意的数据中心网络30中任一个非目的节点的节点301。建立跨域转发路径的装置70可以为节点301,或者节点301中的功能单元或者芯片系统。建立跨域转发路径的装置70属于第一区域。如图7所示,建立跨域转发路径的装置70可以包括处理器701、存储器702以及收发器703。
下面结合图7对建立跨域转发路径的装置70的各个构成部件进行具体的介绍:
其中,存储器702可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者上述种类的存储器的组合,用于存储可实现本申请方法的程序代码、配置文件、标签序列、转发表等。
处理器701是建立跨域转发路径的装置70的控制中心,可以是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
收发器703用于与其他设备之间通信以及数据传输。
具体的,处理器701通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行如下功能:
通过收发器703接收第一区域中的第二节点扩散的第一路由信息,第一路由信息包括第一标签序列;其中,第一标签序列包括第二节点的SID;第一标签序列与目的节点关联;若建立跨域转发路径的装置70为第一区域与第三区域的边界节点,根据第一标签序列得到第二标签序列,第二标签序列包括建立跨域转发路径的装置70的入标签以及建立跨域转发路径的装置70的SID;其中,入标签为建立跨域转发路径的装置70的SRGB起始值加第二节点的SID;向第二区域发布第二标签序列,以使得入节点生成到目的节点的转发路径,入节点为第二区域中的节点或为第一区域和第二区域之外区域的节点。
例如,处理器701用于执行图5中的过程S501B、S502、S504、S505、S506,以及通过收发器703用于执行图5中的过程S501、S501A、S503。
如前述,本申请实施例提供的存储建立跨域转发路径的装置60或存储建立跨域转发路径的装置70可以用于实施上述本申请各实施例实现的方法中第一节点的功能,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请各实施例。
如图8所示,本申请实施例还提供一种转发节点80,该转发节点80可以包括上述任一实施例描述的建立跨域转发路径的装置。
如图9所示,本申请实施例还提供一种建立跨域转发路径的系统90,该转发系统90可以包括至少一个转发节点80。
在一个具体的实施例中,如图10所示,建立跨域转发路径的系统90包括至少一个边界节点,所述的边界节点的具体功能请参考如上图6或7所示实施例中描述的建立跨域转发路径的装置(作为边界节点时)的具体功能实现,或者图5所示的实施例中第一节点作为边界节点的各个节点的具体描述,这里不再赘述。
在另一具体实施例中,如图10所示,建立跨域转发路径的系统90包括入节点和边界节点,具体实现中,该入节点的功能请参考图5所示的实施例中在第一节点作为入节点的情况下的具体功能实现。该边界节点的具体功能请参考如上图6或7所示实施例中描述的建立跨域转发路径的装置(作为边界节点时)的具体功能实现,或者图5所示的实施例中第一节点作为边界节点的各个节点的具体描述。可以理解的是,具体实施中,该实施例中的建立跨域转发路径的系统90还可以进一步包括目的节点,该目的节点的功能,请参考上述实施例中关于目的节点的具体描述。
在另一具体实施例中,如图10所示,建立跨域转发路径的系统90包括入节点,一个或一个以上的边界节点和目的节点,具体实现中,该入节点的功能请参考图5所示的实施例中在第一节点作为入节点的情况下的具体功能实现。各个边界节点的具体功能请参考如上图6或7所示实施例中描述的建立跨域转发路径的装置(作为边界节点时)的具体功能实现,或者图5所示的实施例中第一节点作为边界节点的各个节点的具体描述。该目的节点的功能,请参考上述实施例中关于目的节点的具体描述。
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的建立跨域转发路径的方法。
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中的建立跨域转发路径的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (22)

  1. 一种建立跨域转发路径的方法,其特征在于,应用于第一节点,所述第一节点归属于第一区域;所述方法包括:
    所述第一节点接收所述第一区域中的第二节点扩散的第一路由信息,所述第一路由信息包括第一标签序列;其中,所述第一标签序列包括所述第二节点的段标识SID;所述第一标签序列与目的节点关联;
    若所述第一节点为所述第一区域与第二区域的边界节点,所述第一节点根据所述第一标签序列得到第二标签序列,所述第二标签序列包括所述第一节点的SID以及所述第一节点到所述第二节点的入标签;其中,所述第一节点到所述第二节点的入标签为所述第一节点的段路由全局块SRGB起始值加所述第二节点的SID;
    所述第一节点向所述第二区域发布所述第二标签序列,以使得入节点生成到所述目的节点的转发路径,所述入节点为所述第二区域中的节点或为所述第一区域和所述第二区域之外区域的节点。
  2. 根据权利要求1所述的方法,其特征在于,所述第一路由信息还包括所述目的节点的地址信息。
  3. 根据权利要求2所述的方法,其特征在于,所述第二节点为所述第一区域与第三区域的边界节点,所述第一标签序列还包括:
    边界节点到所述目的节点的逐跳入标签,所述边界节点到所述目的节点的逐跳入标签为包括所述第二节点在内,从所述第二节点到所述目的节点间最短路径跨越的每个边界节点到其在所述最短路径的下一跳节点的入标签;或者,根据所述边界节点到所述目的节点的逐跳入标签获得的第一绑定段标识BSID;
    所述第二标签序列还包括:所述边界节点到所述目的节点的逐跳入标签或者所述第一BSID。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    所述第一节点基于所述边界节点到所述目的节点的逐跳入标签和所述第一节点到所述第二节点的入标签,生成第二BSID,将所述第二BSID替换所述第二标签序列中所有的入标签;或者,
    所述第一节点基于所述第一BSID和所述第一节点到所述第二节点的入标签生成第二BSID,将所述第二BSID替换所述第二标签序列中的第一BSID和所述第一节点到所述第二节点的入标签。
  5. 根据权利要求2-4任一项所述的方法,其特征在于,所述第二节点为所述第一区域与第三区域的边界节点;所述方法还包括:
    所述第一节点接收所述第一区域中的第三节点扩散的第二路由信息,所述第二路由信息包括第三标签序列;其中,所述第三标签序列包括所述第三节点的SID;所述第三标签序列与所述目的节点关联;所述第三节点为所述第一区域与所述第三区域的边界节点;
    所述第一节点从所述第一标签序列与所述第三标签序列中,确定所述第一标签序列是到所述第三区域的最短路径。
  6. 根据权利要求3-5任一项所述的方法,其特征在于,若所述第一节点为入节点,所述方法还包括:
    所述第一节点根据所述第一标签序列生成到所述目的节点的标签栈,作为到所述目的节 点的转发路径。
  7. 根据权利要求6所述的方法,其特征在于,所述第一节点根据所述第一标签序列生成到所述目的节点的标签栈,作为到所述目的节点的转发路径,包括:
    所述第一节点将所述第一标签序列中所述第二节点的SID,替换为所述第一节点到所述第二节点的入标签,得到所述标签栈;其中,所述第一节点到所述第二节点的入标签为所述第一节点的SRGB起始值加所述第二节点的SID;
    所述第一节点将所述标签栈与所述目的节点的地址信息关联,作为到所述目的节点的转发路径。
  8. 根据权利要求5所述的方法,其特征在于,若所述第一节点为入节点,所述方法还包括:
    所述第一节点根据所述第三标签序列生成到所述目的节点的标签栈,作为到所述目的节点的备用转发路径;
    所述第一节点将根据所述第一标签序列生成的到所述目的节点的标签栈作为到所述目的节点的主转发路径。
  9. 一种建立跨域转发路径的装置,其特征在于,所述装置作为第一节点,所述第一节点归属于第一区域;所述装置包括接收单元、处理单元以及发布单元;其中,
    所述接收单元用于,接收所述第一区域中的第二节点扩散的第一路由信息,所述第一路由信息包括第一标签序列;其中,所述第一标签序列包括所述第二节点的段标识SID;所述第一标签序列与目的节点关联;
    所述处理单元用于,若所述第一节点为所述第一区域与第二区域的边界节点,根据所述第一标签序列得到第二标签序列,所述第二标签序列包括所述第一节点的SID以及所述第一节点到所述第二节点的入标签;其中,所述第一节点到所述第二节点的入标签为所述第一节点的段路由全局块SRGB起始值加所述第二节点的SID;
    所述处理单元还用于,通过所述发布单元,向所述第二区域发布所述第二标签序列,以使得入节点生成到所述目的节点的转发路径,所述入节点为所述第二区域中的节点或为所述第一区域和所述第二区域之外区域的节点。
  10. 根据权利要求9所述的装置,其特征在于,所述第一路由信息还包括所述目的节点的地址信息。
  11. 根据权利要求10所述的装置,其特征在于,所述第二节点为所述第一区域与第三区域的边界节点,所述第一标签序列还包括:
    边界节点到所述目的节点的逐跳入标签,所述边界节点到所述目的节点的逐跳入标签为包括所述第二节点在内,从所述第二节点到所述目的节点间最短路径跨越的每个边界节点到其在所述最短路径的下一跳节点的入标签,或者,根据所述边界节点到所述目的节点的逐跳入标签获得的第一绑定段标识BSID;
    所述第二标签序列还包括:所述边界节点到所述目的节点的逐跳入标签或者所述第一BSID。
  12. 根据权利要求11所述的装置,其特征在于,所述处理单元还用于:
    基于所述边界节点到所述目的节点的逐跳入标签和所述第一节点到所述第二节点的入标签,生成第二BSID,将所述第二BSID替换所述第二标签序列中所有入标签;或者,
    基于所述第一BSID和所述第一节点到所述第二节点的入标签生成第二BSID,将所述第 二BSID替换所述第二标签序列中的第一BSID和所述第一节点到所述第二节点的入标签。
  13. 根据权利要求10-12任一项所述的装置,其特征在于,所述第二节点为所述第一区域与第三区域的边界节点;
    所述接收单元还用于,接收所述第一区域中的第三节点扩散的第二路由信息,所述第二路由信息包括第三标签序列;其中,所述第三标签序列包括所述第三节点的SID;所述第三标签序列与所述目的节点关联;所述第三节点为所述第一区域与所述第三区域的边界节点;
    所处处理单元还用于,从所述第一标签序列与所述第三标签序列中,确定所述第一标签序列是到所述第三区域的最短路径。
  14. 根据权利要求11-13任一项所述的装置,其特征在于,若所述第一节点为入节点,所述处理单元还用于:
    根据所述第一标签序列生成到所述目的节点的标签栈,作为到所述目的节点的转发路径。
  15. 根据权利要求14所述的装置,其特征在于,所述处理单元还用于:
    将所述第一标签序列中所述第二节点的SID,替换为所述第一节点到所述第二节点的入标签,得到所述标签栈;其中,所述第一节点到所述第二节点的入标签为所述第一节点的SRGB起始值加所述第二节点的SID;
    将所述标签栈与所述目的节点的地址信息关联,作为到所述目的节点的转发路径。
  16. 根据权利要求13所述的装置,其特征在于,若所述第一节点为入节点,所述处理单元还用于:
    根据所述第三标签序列生成到所述目的节点的标签栈,作为到所述目的节点的备用转发路径;
    将根据所述第一标签序列生成的到所述目的节点的标签栈,作为到所述目的节点的主转发路径。
  17. 一种建立跨域转发路径的装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8中任一项所述的建立跨域转发路径的方法。
  18. 一种转发节点,其特征在于,包括权利要求9-17任一项所述的建立跨域转发路径的装置。
  19. 一种建立跨域转发路径的系统,其特征在于,包括第一节点及第二节点;所述第一节点及所述第二节点归属于第一区域;其中,
    所述第二节点用于,在所述第一区域内扩散第一路由信息,所述第一路由信息包括第一标签序列;其中,所述第一标签序列包括所述第二节点的段标识SID;所述第一标签序列与目的节点关联;
    所述第一节点用于,接收所述第二节点扩散的第一路由信息;
    若所述第一节点为所述第一区域与第二区域的边界节点,所述第一节点还用于:根据所述第一标签序列得到第二标签序列,所述第二标签序列包括所述第一节点的SID以及所述第一节点到所述第二节点的入标签;其中,所述第一节点到所述第二节点的入标签为所述第一节点的段路由全局块SRGB起始值加所述第二节点的SID;
    所述第一节点还用于,向所述第二区域发布所述第二标签序列,以使得入节点生成到所述目的节点的转发路径,所述入节点为所述第二区域中的节点或为所述第一区域和所述第二 区域之外区域的节点。
  20. 根据权利要求19所述的系统,其特征在于,若所述第一节点为入节点,所述第一节点还用于:
    根据所述第一标签序列生成到所述目的节点的标签栈,作为到所述目的节点的转发路径。
  21. 一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的建立跨域转发路径的方法。
  22. 一种计算机程序产品,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的建立跨域转发路径的方法。
PCT/CN2020/071282 2019-01-28 2020-01-10 一种建立跨域转发路径的方法、装置及系统 WO2020156090A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910083196.8A CN111490937B (zh) 2019-01-28 2019-01-28 一种建立跨域转发路径的方法、装置及系统
CN201910083196.8 2019-01-28

Publications (1)

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

Family

ID=71796655

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/071282 WO2020156090A1 (zh) 2019-01-28 2020-01-10 一种建立跨域转发路径的方法、装置及系统

Country Status (2)

Country Link
CN (2) CN114844818A (zh)
WO (1) WO2020156090A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938807A (zh) * 2023-09-14 2023-10-24 新华三技术有限公司 数据报文传输方法、装置、设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363987A (zh) * 2020-10-12 2022-04-15 中国移动通信集团河南有限公司 一种路由方法、装置及电子设备
CN112398730A (zh) * 2020-10-28 2021-02-23 上海欣诺通信技术股份有限公司 数据中心网络中的报文转发方法、装置、设备及存储介质
CN115051945A (zh) * 2021-03-09 2022-09-13 中兴通讯股份有限公司 路径建立方法及其装置、节点、计算机可读存储介质
CN117955890A (zh) * 2022-10-28 2024-04-30 华为技术有限公司 报文转发方法、装置、设备、存储介质及计算机程序

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521601A (zh) * 2008-02-29 2009-09-02 华为技术有限公司 一种通告相邻网络域ds-te信息的方法和系统及设备
CN105634940A (zh) * 2014-10-27 2016-06-01 中兴通讯股份有限公司 Sr信息获取方法及建立段路由网络的方法
US20170054626A1 (en) * 2015-08-21 2017-02-23 Cisco Technology, Inc. Distribution of segment identifiers in network functions virtualization and software defined network environments
CN109039903A (zh) * 2018-10-18 2018-12-18 新华三技术有限公司 路由确定方法、装置及机器可读存储介质
CN109218197A (zh) * 2017-06-30 2019-01-15 瞻博网络公司 分段路由中的冲突解决

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3863233B1 (en) * 2013-05-24 2024-07-10 Huawei Technologies Co., Ltd. Method and device used for ethernet virtual private network
US9660897B1 (en) * 2013-12-04 2017-05-23 Juniper Networks, Inc. BGP link-state extensions for segment routing
US9762488B2 (en) * 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
CN107770063A (zh) * 2016-08-17 2018-03-06 中兴通讯股份有限公司 报文转发方法及装置
US10454821B2 (en) * 2016-10-14 2019-10-22 Cisco Technology, Inc. Creating and maintaining segment routed traffic engineering policies via border gateway protocol
CN106850435A (zh) * 2016-12-16 2017-06-13 北京格林伟迪科技股份有限公司 一种跨域端到端标签交换路径建立方法和系统
CN109257279B (zh) * 2018-10-26 2021-03-26 新华三技术有限公司 一种报文转发方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521601A (zh) * 2008-02-29 2009-09-02 华为技术有限公司 一种通告相邻网络域ds-te信息的方法和系统及设备
CN105634940A (zh) * 2014-10-27 2016-06-01 中兴通讯股份有限公司 Sr信息获取方法及建立段路由网络的方法
US20170054626A1 (en) * 2015-08-21 2017-02-23 Cisco Technology, Inc. Distribution of segment identifiers in network functions virtualization and software defined network environments
CN109218197A (zh) * 2017-06-30 2019-01-15 瞻博网络公司 分段路由中的冲突解决
CN109039903A (zh) * 2018-10-18 2018-12-18 新华三技术有限公司 路由确定方法、装置及机器可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GUEDREZ RABAH; DUGEON OLIVIER; LAHOUD SAMER; TEXIER GERALDINE: "A New Method For Encoding MPLS Segment Routing TE Paths", 2017 8TH INTERNATIONAL CONFERENCE ON THE NETWORK OF THE FUTURE (NOF), 24 November 2017 (2017-11-24), pages 58 - 65, XP033294477, DOI: 10.1109/NOF.2017.8251221 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938807A (zh) * 2023-09-14 2023-10-24 新华三技术有限公司 数据报文传输方法、装置、设备及存储介质
CN116938807B (zh) * 2023-09-14 2023-12-22 新华三技术有限公司 数据报文传输方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN114844818A (zh) 2022-08-02
CN111490937B (zh) 2022-03-29
CN111490937A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
WO2020156090A1 (zh) 一种建立跨域转发路径的方法、装置及系统
CN111385206B (zh) 报文转发的方法、网络系统、相关设备及计算机存储介质
US10880203B2 (en) Centralized segment routing dataplane based backup path validation
CN111385207B (zh) 一种业务数据的转发方法、网络设备及网络系统
US9998368B2 (en) Zone routing system
US10637768B1 (en) Enabling non-flexible-algorithm routers to participate in flexible-algorithm routing protocols
CN113347091B (zh) 灵活算法感知边界网关协议前缀分段路由标识符
CN110661711B (zh) 生成标签转发表的方法、报文发送方法、装置及设备
KR20220062335A (ko) Bier 포워딩 테이블 엔트리를 확립하기 위한 방법, 장치 및 시스템
US8842522B2 (en) Incremental deployment of MRT based IPFRR
CN112087386B (zh) 一种报文处理的方法、设备和系统
JP7479489B2 (ja) パケット送信方法、デバイス、およびシステム
US20210044538A1 (en) Tunnel establishment method, apparatus, and system
WO2021000752A1 (zh) 一种在数据中心网络中转发报文的方法及相关装置
EP3754914B1 (en) Class-based traffic engineering in an ip network
CN113285876B (zh) 路由方法、路由装置及计算机可读存储介质
CN112868214B (zh) 分组内的协调负载转移oam记录
CN116782336B (zh) 一种通信方法及装置
WO2022184169A1 (zh) 报文转发方法、系统、存储介质及电子装置
US10855572B2 (en) Area abstraction extensions to routing protocols
CN116094987A (zh) 转发路径的确定方法及装置
CN114567594B (zh) 大规模网络中用于路径计算的过滤拓扑
WO2021169297A1 (zh) 一种传输节点标识的方法、设备及系统
US10924395B2 (en) Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core
WO2024087688A1 (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: 20748310

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

Country of ref document: EP

Kind code of ref document: A1