WO2021063379A1 - 路由控制方法和装置 - Google Patents

路由控制方法和装置 Download PDF

Info

Publication number
WO2021063379A1
WO2021063379A1 PCT/CN2020/119148 CN2020119148W WO2021063379A1 WO 2021063379 A1 WO2021063379 A1 WO 2021063379A1 CN 2020119148 W CN2020119148 W CN 2020119148W WO 2021063379 A1 WO2021063379 A1 WO 2021063379A1
Authority
WO
WIPO (PCT)
Prior art keywords
routing node
node
bgp
identifier
forwarding path
Prior art date
Application number
PCT/CN2020/119148
Other languages
English (en)
French (fr)
Inventor
董杰
杜宗鹏
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP20872161.3A priority Critical patent/EP4030703A4/en
Publication of WO2021063379A1 publication Critical patent/WO2021063379A1/zh
Priority to US17/707,177 priority patent/US20220224631A1/en

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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/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]

Definitions

  • This application relates to the communication field, and more specifically, to a routing control method and device in the communication field.
  • Identifier packets can be forwarded in the following two ways: Method 1: Press the BGP prefix SID list in the MPLS stack of the data packet (or in the SRv6 extended routing header (segment routing header, SRH) header)
  • the BGP prefix SID list includes the BGP prefix SID (BGP Prefix-SID) of at least one edge routing node that the packet forwarding process passes through in sequence, and the data packet is based on the edge routing node's SID in the BGP prefix SID list.
  • Method 2 Push the BGP Prefix-SID of the destination routing node in the MPLS stack of the data packet (or in the SRH header of SRv6), and the data packet uses the BGP Prefix-SID of the destination routing node as The destination is forwarded.
  • the next hop on the BGP forwarding path of the data packet is all through the default BGP routing calculation method, such as the path vector routing protocol, which is less flexible.
  • the present application provides a route control method and device, which can determine the forwarding path information of a data message according to the requirements met by the designated BGP forwarding path, and has greater flexibility.
  • this application provides a route control method, which includes:
  • the first edge routing node receives a Border Gateway Protocol BGP control message, the BGP control message carries a first node identifier and first algorithm information, the first node identifier indicates the SID of the destination routing node on the BGP forwarding path, so The first algorithm information indicates the requirements satisfied by the BGP forwarding path, and the BGP forwarding path includes routing nodes through which data packets are routed to the destination routing node via the first edge routing node, and the first The edge routing node belongs to the first autonomous domain AS, and the destination routing node belongs to the second AS;
  • the first edge routing node determines the forwarding path information of the data packet according to the first node identifier and the first algorithm information in the BGP control packet, and the forwarding path information is used to indicate all The next hop routing node of the data message;
  • the first edge routing node forwards the data packet according to the forwarding path information.
  • the first edge routing node may determine that after the first edge routing node receives the data packet according to the first node identifier and the first algorithm information in the BGP control packet, The SID pushed in the label stack of the data message, and the data message is forwarded according to the pushed SID.
  • the first edge routing node may search for the outgoing interface of the next hop routing node of the data packet on the first edge routing node according to the SID pressed in the data packet, and The data message is sent from the outgoing interface to the next-hop routing node.
  • the first node identifier may indicate the SID of the destination routing node in multiple ways, which is not limited in the embodiment of the present application.
  • the first node identifier may be the SID of the destination routing node.
  • each routing node on the BGP forwarding path may forward the path to the BGP
  • the other routing nodes on the Internet advertise the label space of each routing node.
  • the BGP forwarding path includes a second edge routing node, and the second edge routing node belongs to the first AS.
  • the method further includes: the first edge routing node receives the first edge routing node.
  • An IGP control message the first IGP control message carries a second node identifier, and the second node identifier indicates the first SID of the second edge routing node; the first edge routing node according to the BGP
  • the first node identifier and the first algorithm information in the control message determine the forwarding path information of the data message, including: the first edge routing node according to the BGP control message
  • the first node identifier and the first algorithm information, and the second node identifier in the first IGP control message determine the forwarding path information.
  • the forwarding path information includes the SID of each routing node in at least one routing node through which the data packet is routed to the second edge routing node via the first edge routing node, The at least one routing node belongs to the first AS.
  • the first edge routing node may determine that the first edge routing node is located according to the SID of the destination routing node indicated by the first node identifier and the next hop in the BGP control message.
  • the first edge routing node may determine that the first edge routing node is located according to the SID of the destination routing node indicated by the first node identifier and the next hop in the BGP control message.
  • the first edge routing node may calculate to the second edge according to the requirements indicated by the first algorithm information and the first SID of the second edge routing node indicated by the second node identifier.
  • the SID list of the routing node that meets the requirements, and the SID list includes the information of each routing node in at least one routing node through which the data message is routed through the first edge routing node to the second edge routing node. SID, that is, when the first edge routing node receives a data message in which the top of the label stack is the SID of the destination node, it pushes the SID on the top of the label stack of the data message list.
  • the forwarding path information includes the SID list and the SID of the destination routing node, where the SID list in the forwarding path information includes the SID of the routing node of the next hop of the data packet, and
  • the first edge routing node may determine the outgoing interface of the data packet on the first edge routing node according to the SID of the next hop routing node included in the SID list.
  • the data message can be routed from the first edge routing node to the second edge routing node according to the SID included in the SID list in the forwarding path information, and according to the destination in the forwarding path information.
  • the SID of the routing node is routed from the second edge routing node to the destination routing node.
  • data packets can be sequentially pushed into the label stack according to the SID of the destination routing node and the SID of each hop routing node included in the SID list, from the first An edge routing node routes to the destination routing node, and other routing nodes in the path do not need to perform path calculation, and the amount of calculation is small.
  • the BGP forwarding path includes a second edge routing node, and the second edge routing node belongs to the first AS.
  • the method further includes: the first edge routing node receives the first edge routing node.
  • Two IGP control messages the second IGP control message carries a third node identifier and second algorithm information, the third node identifier indicates the second SID of the second edge routing node, and the second algorithm information Indicate the requirements met by the IGP forwarding path
  • the IGP forwarding path includes at least one routing node through which the data packet is routed to the second edge routing node via the first edge routing node, and the at least one route
  • the node belongs to the first AS;
  • the first edge routing node determines the forwarding path information of the data packet according to the first node identifier in the BGP control packet and the first algorithm information, including : The first edge routing node according to the first node identifier and the first algorithm information in the BGP control message, and the third node identifier and the first algorithm information in
  • the forwarding path information includes the second SID.
  • the first edge routing node may determine that the first edge routing node is located according to the SID of the destination routing node indicated by the first node identifier and the next hop in the BGP control message.
  • the first edge routing node may determine that the first edge routing node is located according to the SID of the destination routing node indicated by the first node identifier and the next hop in the BGP control message.
  • the first edge routing node may indicate according to the second algorithm information And the second SID of the second edge routing node indicated by the second identification information to determine the existing transfer from the first edge routing node to the second edge routing node that meets the requirements
  • the forwarding table includes the SID of the next-hop routing node of the data message, that is, when the first edge routing node receives the data message with the SID of the destination node at the top of the label stack, The top of the label stack of the data message is then pushed into the second SID.
  • the forwarding path information includes the second SID and the SID of the destination routing node, wherein the path forwarding information implicitly indicates the data message through the second SID and the forwarding table
  • the SID of the next-hop routing node and according to the SID of the next-hop routing node, determine the outgoing interface of the data packet on the first edge routing node, and send the data packet from the outgoing interface The interface is sent to the next hop routing node.
  • the data message can be forwarded from the first edge routing node to the second edge routing node along the forwarding table according to the second SID in the forwarding path information, and along the destination The next hop indicated by the SID of the routing node is forwarded from the second edge routing node to the destination routing node.
  • the second SID and the SID of the destination routing node need to be carried in the label stack during the data message forwarding process, and the second SID and the forwarding table in the domain can be used to obtain data from the label stack.
  • the first edge routing node routes to the second edge routing node indicated by the second SID, and routes from the second edge routing node to the second edge routing node according to the SID of the destination routing node and the inter-domain forwarding table
  • the amount of data carried in the data message is small (that is, the depth of the label stack is shallow).
  • the BGP message may carry the first node identifier and the first algorithm information in multiple ways, which is not limited in the embodiment of the present application.
  • the BGP control message may include a first TLV, and the first TLV carries the first node identifier and the first algorithm information.
  • the BGP message may include a second TLV and a third TLV, the second TLV is used to carry the first node identifier, and the third TLV is used to carry the first algorithm information.
  • the BGP control message includes a first type-length-value TLV, and the first TLV includes a type T field, a length L field, and a value V field, where the T field is used for In the identification, the first TLV field carries the first node identification and the first algorithm information, the L field is used to indicate the length of the value V field, and the V field carries the first node identification and The first algorithm information.
  • the first algorithm information may indicate the requirements met by the BGP forwarding path in multiple ways, which is not limited in the embodiment of the present application.
  • the first algorithm information may include a first algorithm identifier, and the first algorithm identifier indicates a requirement satisfied by the BGP forwarding path.
  • the first algorithm information may include at least one of a metric type identifier and a calculation type identifier, and the first algorithm identifier, and the metric type identifier is used to indicate the BGP forwarding The metric type in the requirement satisfied by the path, and the calculation type identifier is used to indicate the calculation type in the requirement satisfied by the BGP path.
  • the metric type includes at least one of an IGP metric, a low-latency metric, and a traffic engineering metric.
  • a routing control device which includes:
  • the receiving unit is configured to receive a Border Gateway Protocol BGP control message, the BGP control message carrying a first node identifier and first algorithm information, the first node identifier indicating the SID of the destination routing node on the BGP forwarding path, so
  • the first algorithm information indicates the requirements satisfied by the BGP forwarding path
  • the BGP forwarding path includes routing nodes through which data packets are routed to the destination routing node via the first edge routing node, and the first The edge routing node belongs to the first autonomous domain AS, and the destination routing node belongs to the second AS;
  • the determining unit is configured to determine the forwarding path information of the data packet according to the first node identifier and the first algorithm information in the BGP control packet, where the forwarding path information is used to indicate the data The next hop routing node of the message;
  • the sending unit is configured to forward the data message according to the forwarding path information.
  • the BGP forwarding path includes a second edge routing node, the second edge routing node belongs to the first AS, and the receiving unit is further configured to receive the first IGP control message,
  • the first IGP control message carries a second node identifier, and the second node identifier indicates the first SID of the second edge routing node;
  • the determining unit is specifically configured to perform according to all information in the BGP control message.
  • the first node identifier and the first algorithm information, and the second node identifier in the first IGP control message determine the forwarding path information.
  • the forwarding path information includes the SID of each routing node in at least one routing node through which the data packet is routed to the second edge routing node via the first edge routing node, The at least one routing node belongs to the first AS.
  • the BGP forwarding path includes a second edge routing node, the second edge routing node belongs to the first AS, and the receiving unit is further configured to receive a second IGP control message,
  • the second IGP control message carries a third node identifier and second algorithm information, the third node identifier indicates the second SID of the second edge routing node, and the second algorithm information indicates that the IGP forwarding path satisfies
  • the IGP forwarding path includes at least one routing node through which the data packet is routed to the second edge routing node via the first edge routing node, and the at least one routing node belongs to the first edge routing node.
  • the determining unit is specifically configured to use the first node identifier and the first algorithm information in the BGP control message, and the third node identifier and the third node identifier in the second IGP control message
  • the second algorithm information determines the forwarding path information.
  • the forwarding path information includes the second SID.
  • the BGP control message includes a first type-length-value TLV, and the first TLV includes a type T field, a length L field, and a value V field, where the T field is used for In the identification, the first TLV field carries the first node identification and the first algorithm information, the L field is used to indicate the length of the value V field, and the V field carries the first node identification and The first algorithm information.
  • the first algorithm information includes a first algorithm identifier, and the first algorithm identifier is used to identify a requirement satisfied by the BGP forwarding path.
  • the first algorithm information further includes at least one of a metric type identifier and a calculation type identifier, and the metric type identifier is used to indicate that the BGP forwarding path satisfies the requirements.
  • the metric type identifier is used to indicate that the BGP forwarding path satisfies the requirements.
  • a metric type where the calculation type identifier is used to indicate the calculation type in the requirements satisfied by the BGP path.
  • the metric type includes at least one of an IGP metric, a low-latency metric, and a traffic engineering metric.
  • the present application also provides a routing control device, the device includes a processor and a memory, the processor is coupled to the memory, and the processor is configured to cause the device to execute the first aspect or the foregoing The methods described in the various possible implementations of the first aspect.
  • the present application also provides a router, which includes the route control device described in the third aspect.
  • the present application provides a chip device, the device includes: an input interface, an output interface, at least one processor, a memory, the input interface, the output interface, the processor and the memory
  • the processor communicates with each other through the internal connection path, and the processor is used to execute the code in the memory, characterized in that, when the processor executes the code, the chip device implements the first aspect or the first aspect.
  • the present application provides a computer-readable storage medium for storing a computer program, wherein the computer program includes various possible implementation manners for implementing the first aspect or the first aspect Instructions for the method described in.
  • the present application provides a computer program product, the computer program product contains instructions, characterized in that, when the instructions run on a computer, the computer realizes the first aspect or the first aspect.
  • Fig. 1 is a schematic diagram of an application scenario of an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a route control method 100 provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of a type-length-value (type-length-value, TLV) provided by an embodiment of the present application;
  • FIG. 4 is a schematic diagram of another TLV provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of another TLV provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another TLV provided by an embodiment of the present application.
  • FIG. 7 is a schematic block diagram of a routing control device 200 provided by an embodiment of the present application.
  • FIG. 8 is a schematic block diagram of a router 300 provided by an embodiment of the present application.
  • AS refers to an interconnection network, which divides the entire Internet into many smaller network units, and these small networks have the right to independently decide which routing protocol should be used in the system.
  • Figure 1 shows AS1, AS2, and AS3 in the Internet.
  • FIG. 1 only schematically shows the above-mentioned three ASs in the Internet, and the Internet may also include other numbers of ASs, such as 1, 2, or more than 3 ASs. This is not limited.
  • the router is the main node equipment of the Internet, and the router determines the forwarding of data through routing.
  • routers can be divided into core routers (core routers, CR) and border routers (border routers, BR).
  • core routers CR
  • border routers border routers
  • the edge router in the embodiment of the present application refers to a router located at the edge of the network and is responsible for routing within and between AS domains.
  • the core router refers to a router located at the center of the network and is responsible for routing within the AS domain.
  • AS1 in FIG. 1 includes routing node 1
  • AS2 includes routing node 4
  • routing node 7 includes routing node 10
  • AS3 includes routing node 11.
  • routing node 4 and routing node 10 in AS2 can be understood as edge routing nodes (boundary routing nodes), routing node 7 can be understood as core routing nodes, and routing node 4 and routing node 10 It can support BGP protocol and IGP protocol at the same time, and routing node 7 can support IGP protocol.
  • AS1 and AS3 may also include other edge routing nodes and/or core routing nodes not shown.
  • Routing protocols can be divided into two categories: the routing protocol in an AS is called the interior gateway protocol (IGP), such as the intermediate system to the intermediate system (intermediate system to intermediate system, ISIS) and the open shortest path first (open Shortest path first, OSPF), the routing protocol between ASs is called exterior gateway protocol (exterior gateway protocol, EGP), for example, border gateway protocol (border gateway protocol, BGP).
  • IGP interior gateway protocol
  • ISIS intermediate system to intermediate system
  • OSPF open Shortest path first
  • EGP exterior gateway protocol
  • border gateway protocol border gateway protocol
  • routing node 1, routing node 4, routing node 10, and routing node 11 in Figure 1 can transmit control messages through the BGP protocol, and routing node 4, routing 7 and routing node 10 can pass The IGP protocol transmits control messages.
  • Multi-protocol label switching multi-protocol label switching, MPLS
  • MPLS means that the label is stored in the IP protocol message as a part of the IP protocol message. Normally, MPLS operates between layer 2 (data link layer) and layer 3 (network layer) of OSI, so it is often considered a 2.5 layer protocol.
  • SR is a source routing technology that can specify nodes and paths through which packets carrying a segment identifier (SID) list (SID list) pass, so as to meet the needs of traffic tuning.
  • SID segment identifier
  • SR technology includes SR-best effort (BE) technology and SR-traffic engineering (TE) technology.
  • SR-TE pushes multiple SR SIDs into the MPLS label stack of the data packet, and guides the forwarding of the data packet through the multiple SR SIDs.
  • the header of the data packet received by routing node 4 carries ⁇ SID1, SID2>, where SID1 indicates routing node 7, SID2 indicates routing node 10, and the data packet starts from routing node 4. It is forwarded to the routing node (routing node 7) corresponding to SID1, and then forwarded to the routing node (routing node 10) corresponding to SID2.
  • SR-BE means to push an SR SID into the MPLS label stack of the data packet and carry it at the location of the destination routing node. The data packet will be forwarded to the SR SID in the shortest path.
  • the BGP prefix SID is an SR-based SID, which corresponds to a global SID for each BGP node, that is, the BGP prefix SID of a routing node can uniquely identify the node in the entire network.
  • the BGP forwarding path refers to a forwarding path that includes the BGP prefix SID.
  • a message forwarded according to the BGP forwarding path includes edge routing nodes that support BGP sessions in the path nodes that it passes through, and may also include router nodes that only support forwarding in the AS domain.
  • each routing node In MPLS-based SR technology, each routing node has its own SR label space. This label space cannot be allocated to ordinary MPLS paths. In the BGP routing process, each routing node is assigned a label index. Therefore, each routing node has its own SR label space. The routing node can obtain its own BGP prefix SID according to the label index and the label space.
  • FIG. 2 shows a schematic diagram of a route control method 100 provided by an embodiment of the present application.
  • the method 100 can be applied to the application scenario shown in FIG. 1.
  • the first edge routing node is the routing node 4
  • the second edge routing node is the routing node 10
  • the destination routing node is the routing node 11.
  • the first AS is AS2 and the second AS is AS3 as an example.
  • the first edge routing node BGP control message where the BGP control message carries a first node identifier and first algorithm information, the first node identifier indicates the SID of the destination routing node on the BGP forwarding path, and the first node identifier indicates the SID of the destination routing node on the BGP forwarding path.
  • An algorithm information indicates the requirements met by the BGP forwarding path, the BGP forwarding path includes routing nodes through which data packets are routed to the destination routing node via the first edge routing node, and the first edge routing The node belongs to the first AS, and the destination routing node belongs to the second AS.
  • the first node identifier may indicate the SID of the destination routing node in multiple ways, which is not limited in the embodiment of the present application.
  • the first node identifier may be the SID of the destination routing node.
  • each routing node on the BGP forwarding path may advertise the label space of each routing node to other routing nodes on the BGP forwarding path.
  • the first algorithm information may indicate the requirements met by the BGP forwarding path in multiple ways, which is not limited in the embodiment of the present application.
  • the requirements met by the BGP forwarding path can be understood as the optimization target and/or constraint condition of the BGP forwarding path.
  • the first algorithm information may include a first algorithm identifier, and the first algorithm identifier indicates a requirement satisfied by the BGP forwarding path.
  • the value of the first algorithm identifier can be from 128 to 255, which is not limited in the embodiment of the present application.
  • the value of the first algorithm identifier is "128" it may indicate that the optimization goal is to minimize a certain metric.
  • the first algorithm information may include at least one of a metric type identifier and a calculation type identifier, and the first algorithm identifier, and the metric type identifier is used to indicate the BGP forwarding The metric type in the requirement satisfied by the path, and the calculation type identifier is used to indicate the calculation type in the requirement satisfied by the BGP path.
  • the metric type identifier is "0", which means IGP metric; the metric type identifier is "1”, which means low-latency metric; the metric type identifier is "2”, which means TE metric.
  • the calculation type identified as "0" indicates the shortest path first algorithm.
  • the BGP message may carry the first node identifier and the first algorithm information in multiple ways, which is not limited in the embodiment of the present application.
  • the BGP control message may include a first TLV, and the first TLV carries the first node identifier and the first algorithm information.
  • the existing BGP prefix-SID attribute includes a TLV that supports the label index (label-index) of the node.
  • the first TLV described in the embodiment of this application may be a newly defined one that supports the corresponding The label-index TLV of the BGP prefix-SID identified by a certain algorithm, that is, the first TLV may indicate the first node identifier and the first algorithm information corresponding to the first node identifier.
  • the setting of each field in the first TLV field may be as shown in FIG. 3.
  • the first TLV includes a 1-byte type (T) field, a 2-byte length (L) field, and a value (V).
  • Field where the V field may include: a 1-byte reserved field, a 2-byte flag field, a 2-byte field that carries the first byte identifier, and a 1-byte that carries the first algorithm identifier.
  • Field and sub-TLV field.
  • the settings of each field in the first TLV field may be as shown in FIG. 4.
  • the first TLV includes a 1-byte T field, a 2-byte L field, and a V field, where the V field includes 1-byte reserved field, 2-byte flag field, 2-byte field carrying the first node identifier, 1-byte field carrying the first algorithm identifier, 1-byte carrying metric type Field, 1-byte field carrying calculation type and sub-TLV field.
  • the BGP message may include a second TLV and a third TLV, the second TLV is used to carry the first node identifier, and the third TLV is used to carry the The first algorithm information.
  • the second TLV may be a TLV that supports carrying the label index of the node in the existing BGP prefix-SID attribute.
  • the settings of the fields in the third TLV field may be as shown in FIG. 5, where the third TLV includes a 1-byte T field, a 2-byte L field, and a V field, where the V field may include A 1-byte reserved field, a 2-byte flag field, a 1-byte field carrying the first algorithm identifier, and a sub-TLV field.
  • the settings of each field in the third TLV field may be as shown in FIG. 6, where the third TLV includes a 1-byte T field, a 2-byte L field, and a V field, where the V The fields may include a 1-byte reserved field, a 1-byte field carrying the first algorithm identifier, a 1-byte field carrying a metric type, a 1-byte field carrying a calculation type, and a sub-TLV field.
  • the T field in the TLV field described in the embodiments of this application is used to identify the information carried in the TLV field
  • the L field is used to indicate the length of the value V field
  • the V field is used for For carrying information
  • the reserved field in the V field is used to extend the V field
  • the flag field is used to indicate the application scenarios or characteristics of the BGP prefix-SID (temporarily, this field may be empty).
  • sub-TLVs in Figures 3 to 6 are optional, which is not limited in the embodiment of the application, and the specific content can refer to related definitions in the SR flexible algorithm of IGP.
  • FIGS 3 to 6 only schematically show the T field, L field, and V field in each TLV.
  • the starting position and length of each field in the above TLVs can be adjusted according to actual needs. The application embodiment does not limit this.
  • the BGP forwarding path may include a second edge routing node, the second edge routing node belongs to the first AS, and the first edge routing node may receive all data sent by the second edge routing node.
  • the BGP control message may include a second edge routing node, the second edge routing node belongs to the first AS, and the first edge routing node may receive all data sent by the second edge routing node.
  • the first edge routing node determines the forwarding path information of the data packet according to the first node identifier and the first algorithm information in the BGP control packet, where the forwarding path information is used for Indicate the next hop routing node of the data message.
  • the first edge routing node forwards the data packet according to the forwarding path information.
  • the first edge routing node may determine that after the first edge routing node receives the data packet according to the first node identifier and the first algorithm information in the BGP control packet, The SID pushed in the label stack of the data message, and the data message is forwarded according to the pushed SID.
  • the first edge routing node may search for the outgoing interface of the data packet on the first edge routing node according to the SID pressed in the data packet, and remove the data packet from The outbound interface is sent to the next-hop routing node.
  • the first edge routing node may determine the forwarding path of the data packet according to the first node identifier and the first algorithm information in a variety of ways, which is not limited in the embodiment of the present application .
  • the first edge routing node may also receive a first IGP control message, where the first IGP control message carries a second node identifier, and the second node identifier indicates the The first SID of the second edge routing node; the first edge routing node may determine the forwarding path information according to the first node identifier, the first algorithm information, and the second node identifier.
  • the forwarding path information includes the SID of each of the at least one routing node through which the data message is routed to the second edge routing node via the first edge routing node, and each of the at least one routing node is Belongs to the first AS.
  • the BGP control message may also include information such as an Internet protocol (IP) address, next hop, and AS path.
  • IP Internet protocol
  • the first edge routing node may determine that the first edge routing node is located according to the SID of the destination routing node indicated by the first node identifier and the next hop in the BGP control message.
  • the first edge routing node may determine that the first edge routing node is located according to the SID of the destination routing node indicated by the first node identifier and the next hop in the BGP control message.
  • the first edge routing node may calculate to the second edge according to the requirements indicated by the first algorithm information and the first SID of the second edge routing node indicated by the second node identifier.
  • the SID list of the routing node that meets the requirements, and the SID list includes the information of each routing node in at least one routing node through which the data message is routed through the first edge routing node to the second edge routing node. SID, that is, when the first edge routing node receives a data message in which the top of the label stack is the SID of the destination node, it pushes the SID on the top of the label stack of the data message list.
  • the forwarding path information includes the SID list and the SID of the destination routing node, where the SID list in the forwarding path information includes the SID of the routing node of the next hop of the data packet, and
  • the first edge routing node may determine the outgoing interface of the data packet on the first edge routing node according to the SID of the next hop routing node included in the SID list, and send the data packet from all sources. The output interface is sent to the next hop routing node.
  • the data message can be routed from the first edge routing node to the second edge routing node according to the SID included in the SID list in the forwarding path information, and according to the destination in the forwarding path information.
  • the SID of the routing node is routed from the second edge routing node to the destination routing node.
  • data packets can be sequentially pushed into the label stack according to the SID of the destination routing node and the SID of each hop routing node included in the SID list, from the first An edge routing node routes to the destination routing node, and other routing nodes in the path do not need to perform path calculation, and the amount of calculation is small.
  • the first edge routing node may also receive a second IGP control message, where the IGP control message carries a third node identifier and second algorithm information, and the third node identifier Indicate the second SID of the second edge routing node, the second algorithm information indicates the requirements met by the IGP forwarding path, and the IGP forwarding path includes routing the data packet to all of the data packets via the first edge routing node. At least one routing node passed by the second edge routing node; determining the forwarding path information according to the first node identifier, the first algorithm information, the third node identifier, and the second algorithm information. Wherein, the path information includes the second SID.
  • the first edge routing node may determine that the first edge routing node is located according to the SID of the destination routing node indicated by the first node identifier and the next hop in the BGP control message.
  • the first edge routing node may determine that the first edge routing node is located according to the SID of the destination routing node indicated by the first node identifier and the next hop in the BGP control message.
  • the first edge routing node may indicate according to the second algorithm information And the second SID of the second edge routing node indicated by the second identification information to determine the existing transfer from the first edge routing node to the second edge routing node that meets the requirements
  • the forwarding table includes the SID of the next-hop routing node of the data message, that is, when the first edge routing node receives the data message with the SID of the destination node at the top of the label stack, The top of the label stack of the data message is then pushed into the second SID.
  • the forwarding path information includes the second SID and the SID of the destination routing node, wherein the path forwarding information implicitly indicates the data message through the second SID and the forwarding table
  • the SID of the next-hop routing node and according to the SID of the next-hop routing node, determine the outgoing interface of the data packet on the first edge routing node, and send the data packet from the outgoing interface The interface is sent to the next hop routing node.
  • the data message can be forwarded from the first edge routing node to the second edge routing node along the forwarding table according to the second SID in the forwarding path information, and along the destination The next hop indicated by the SID of the routing node is forwarded from the second edge routing node to the destination routing node.
  • the second SID and the SID of the destination routing node need to be carried in the label stack during the data message forwarding process, and the second SID and the forwarding table in the domain can be used to obtain data from the label stack.
  • the first edge routing node routes to the second edge routing node indicated by the second SID, and routes from the second edge routing node to the second edge routing node according to the SID of the destination routing node and the inter-domain forwarding table
  • the amount of data carried in the data message is small (that is, the depth of the label stack is shallow).
  • route control method proposed in this application can also be well compatible with the flexible algorithm in the existing IGP protocol.
  • the second algorithm information may indicate the requirements met by the IGP forwarding path in multiple ways, which is not limited in the embodiment of the present application.
  • the requirements met by the IGP forwarding path can be understood as the optimization goals and/or constraint conditions met by the IGP forwarding path.
  • the second algorithm information may include an identifier of the second algorithm, and the identifier of the second algorithm indicates a requirement satisfied by the BGP forwarding path.
  • the second algorithm information may also indicate a metric type and/or a calculation type in the requirements met by the IGP forwarding path, which is not limited in the embodiment of the present application.
  • the second algorithm information may include at least one of a second metric type identifier and a second calculation type identifier, and the second algorithm identifier, and the second metric type identifier is In order to indicate the metric type in the requirement satisfied by the IGP forwarding path, the second calculation type identifier is used to indicate the calculation type in the requirement satisfied by the IGP path.
  • the second SID of the second edge routing node may be understood as the SID associated with the second algorithm information, and may be different from the first SID of the second edge routing node.
  • the first edge routing node since the first algorithm information indicates the requirements met by the BGP forwarding path, and the second algorithm information indicates the requirements met by the IGP forwarding path, the first edge routing node is receiving these two algorithms When it comes to information, it is necessary to first determine whether the requirements indicated by the two algorithm information match.
  • the first edge routing node may determine the requirements indicated by the first algorithm identifier and the second algorithm identifier according to the first algorithm identifier being the same as the second algorithm identifier match.
  • the first edge routing node may, according to the metric type and/or calculation type included in the first algorithm information, be the same as the metric type and/or calculation type included in the second algorithm information , Determining that the requirements indicated by the first algorithm identifier and the second algorithm identifier match.
  • This embodiment takes SR-MPLS as an example. It should be understood that the same technical solution can be applied to SRv6.
  • AS1, AS2, and AS3 are three ASs in the Internet.
  • AS1 includes routing node 1
  • AS2 includes routing node 4, routing node 7, and routing node 10
  • AS3 includes routing node 11.
  • the routing node 1, the routing node 4, the routing node 10, and the routing node 11 are all edge routing nodes.
  • each routing node has advertised its label space to other nodes.
  • the following process is based on the example that the label space of each routing node is the same and is 16000. However, the implementation of this application Examples are not limited to this.
  • the routing node 11 advertises its label space of 16000 to the routing node 10.
  • the routing node 11 can advertise the BGP control message to the routing node 1 through the following process.
  • the routing node 11 can send the following BGP control messages (for the specific format, please refer to the BGP update message format specified by IETF RFC8277) to the routing node 10:
  • IP prefix or IP address: 192.0.2.11/32
  • the aforementioned "(2) label” and "(5) BGP prefix SID label” can be replaced by an SRv6 SID, for example, a 128-bit SID in SRv6.
  • the routing node 10 can send the following BGP control message (for the specific format, please refer to the format of the BGP update message specified by IETF RFC8277) to the routing node 4:
  • IP prefix or IP address: 192.0.2.11/32
  • the routing node 4 can send the following BGP control messages (for the specific format, please refer to the BGP update message format specified by IETF RFC8277) to the routing node 1:
  • IP prefix or IP address: 192.0.2.11/32
  • routing node 1 has a data message with a destination IP address of 192.0.2.11 that needs to be sent to routing node 11, it will be directly pushed into the routing node on the top of the label stack of the data message.
  • 11 SID that is, 16012
  • routing node 4 For example, if the next hop of the BGP control message received by routing node 4 is the loopback address of routing node 10, then when routing node 4 receives a data packet with a destination IP address of 192.0.2.11, and the data packet’s
  • the label at the top of the label stack is 16012 (16012 for short as an incoming label), and the action is to push a new label/label stack, and the new label/label stack is related to the routing node 10.
  • next hop of the BGP control message received by the routing node 4 is the interface address of the link connecting the routing node 11 to the routing node 10.
  • the routing table entry of the interface address of the link can be provided by the routing node 10, so the BGP route will iterate to the label/label stack of the routing node 10.
  • the action of entering the label of 16012 is to push a new label/or label stack, and the new label/label stack is related to the routing node 10.
  • the routing node 10 may also publish an IGP control message to the routing node 4 according to the prior art; accordingly, if the routing node 4 has a data message that needs to be sent to the routing node 10, The IGP forwarding path can be followed: routing node 4-routing node 7-routing node 10 to send traffic there.
  • the data message can be routed from the routing node 1 to the routing node 11 according to the following process, and the destination IP address of the data message is 192.0.2.11/32.
  • label 16012 on the data message check the label forwarding table, obtain the outgoing interface to the next hop routing node 4, and send the data message carrying the 16012 label from the outgoing interface;
  • the stack top label of the received data message is the incoming label 16012, and the label action is push-in label (push), which can specifically be pushing a label/label stack, the next hop of BGP routing It is the routing node 10 (the next hop routing node forwarded in AS2 is determined by the pressed label stack, and may be other nodes);
  • the second SID (that is, 16110) and the IGP algorithm identifier (that is, 128) of the routing node 10 carried in the above-mentioned IGP control message. Then, when the routing node 4 judges that the IGP algorithm identifier is the same as the BGP algorithm identifier, it pushes the label 16110 (the top of the stack is 16110 at this time), and forwards it according to 16110.
  • the IGP forwarding table includes 16007, which indicates that the next hop of the data packet is routing node 7, so routing The path of the data message sent by the node 4 to the routing node 10 meets the requirement of the algorithm identifier 128.
  • the stack top label of the received data message is the incoming label 16110, and the outgoing interface of the next-hop routing node 10 is found according to the incoming label 16110.
  • Routing node 7 knows that it is the penultimate hop to routing node 10 in IGP, routing node 7 pops 16110, and the top of the label stack at this time is 16012; at routing node 10: the number of received data packets The top label of the stack is the incoming label 16012.
  • the routing node 4 can calculate the path to 16010 according to the requirement of the algorithm identifier 128, or request the controller to calculate the SID list of 16010 according to the requirement indicated by the BGP algorithm identifier (that is, 128) ⁇ 16007 ,16010>, where 16007 is the SID of the routing node 7, and then the labels 16007 and 16010 are pressed into the data packet, and forwarded according to 16007, the pop operation is performed specifically, and 16007 is popped.
  • the stack top label of the received data message is the incoming label 16010, and the pop operation is performed. After the pop-up, the new stack top label is 16012. According to 16012, the next hop routing node 10 is found The outgoing interface.
  • the stack top label of the received data message is the incoming label and the incoming label 16012, perform the pop operation, pop 16012, find the outgoing interface of the next-hop routing node 11, and transfer the data message Sent from the outgoing interface;
  • FIG. 7 shows a schematic block diagram of a routing control apparatus 200 provided in an embodiment of the present application.
  • the device 200 includes:
  • the receiving unit 210 is configured to receive a Border Gateway Protocol BGP control message, the BGP control message carrying a first node identifier and first algorithm information, the first node identifier indicating the SID of the destination routing node on the BGP forwarding path,
  • the first algorithm information indicates the requirements that the BGP forwarding path satisfies, and the BGP forwarding path includes routing nodes through which data packets are routed to the destination routing node via the first edge routing node, and the first An edge routing node belongs to the first autonomous domain AS, and the destination routing node belongs to the second AS;
  • the determining unit 220 is configured to determine the forwarding path information of the data packet according to the first node identifier and the first algorithm information in the BGP control packet, and the forwarding path information is used to indicate the The next hop routing node of the data message;
  • the sending unit 230 is configured to forward the data message according to the forwarding path information.
  • the BGP forwarding path includes a second edge routing node, the second edge routing node belongs to the first AS, and the receiving unit is further configured to receive the first IGP control message,
  • the first IGP control message carries a second node identifier, and the second node identifier indicates the first SID of the second edge routing node;
  • the determining unit 220 is specifically configured to perform according to the information in the BGP control message The first node identifier and the first algorithm information, and the second node identifier in the first IGP control message determine the forwarding path information.
  • the forwarding path information includes the SID of each routing node in at least one routing node through which the data packet is routed to the second edge routing node via the first edge routing node, The at least one routing node belongs to the first AS.
  • the BGP forwarding path includes a second edge routing node, the second edge routing node belongs to the first AS, and the receiving unit is further configured to receive a second IGP control message,
  • the second IGP control message carries a third node identifier and second algorithm information, the third node identifier indicates the second SID of the second edge routing node, and the second algorithm information indicates that the IGP forwarding path satisfies
  • the IGP forwarding path includes at least one routing node through which the data packet is routed to the second edge routing node via the first edge routing node, and the at least one routing node belongs to the first edge routing node.
  • AS the determining unit 220 is specifically configured to use the first node identifier and the first algorithm information in the BGP control message, and the third node identifier in the second IGP control message And the second algorithm information to determine the forwarding path information.
  • the forwarding path information includes the second SID.
  • the BGP control message includes a first type-length-value TLV, and the first TLV includes a type T field, a length L field, and a value V field, where the T field is used for In the identification, the first TLV field carries the first node identification and the first algorithm information, the L field is used to indicate the length of the value V field, and the V field carries the first node identification and The first algorithm information.
  • the first algorithm information includes a first algorithm identifier, and the first algorithm identifier is used to identify a requirement that is met when calculating the BGP forwarding path.
  • the first algorithm information further includes at least one of a metric type identifier and a calculation type identifier, and the metric type identifier is used to indicate the requirements met when calculating the BGP forwarding path.
  • the metric type of the calculation type identifier is used to indicate the calculation type in the requirements met when calculating the BGP path.
  • the metric type includes at least one of an IGP metric, a low-latency metric, and a traffic engineering metric.
  • the device 200 here is embodied in the form of a functional unit.
  • the term "unit” here can refer to ASICs, electronic circuits, processors for executing one or more software or firmware programs (such as shared processors, proprietary processors, or group processors, etc.) and memory, combined logic circuits, and /Or other suitable components that support the described functions.
  • the apparatus 200 may be specifically the first edge node in the above-mentioned method 100 embodiment, and the apparatus 200 may be used to execute the first edge routing node in the above-mentioned method 100 embodiment. In order to avoid repetition, the various processes and/or steps of, will not be repeated here.
  • FIG. 8 shows a router 300 provided by an embodiment of the present application.
  • the router 300 may include the device 200 described in FIG. 7 or the router 300 may be the device 200 described in FIG. 7.
  • the device 200 may adopt the hardware architecture shown in FIG. 8.
  • the router 300 may include a processor 310, a transceiver 320, and a memory 330, and the processor 310, the transceiver 320, and the memory 330 communicate with each other through an internal connection path.
  • the relevant functions implemented by the determining unit 220 in FIG. 7 may be implemented by the processor 310, and the relevant functions implemented by the receiving unit 210 and the sending unit 230 may be implemented by the processor 310 controlling the transceiver 320.
  • the processor 310 may include one or more processors, such as one or more central processing units (CPU).
  • processors such as one or more central processing units (CPU).
  • CPU central processing units
  • the CPU may be a single-core CPU, or It can be a multi-core CPU.
  • the transceiver 320 is used to send and receive data and/or information, and to receive data and/or information.
  • the transceiver may include a transmitter and a receiver, the transmitter is used to send data and/or signals, and the receiver is used to receive data and/or signals.
  • the memory 330 includes but is not limited to random access memory (RAM), read-only memory (ROM), erasable programmable memory (erasable read only memory, EPROM), read-only memory A compact disc (read-only memory, CD-ROM), and the memory 330 is used to store related instructions and data.
  • RAM random access memory
  • ROM read-only memory
  • EPROM erasable programmable memory
  • EPROM erasable read only memory
  • CD-ROM compact disc
  • the memory 330 is used to store related instructions and data.
  • the memory 330 is used to store program codes and data of the device, and may be a separate device or integrated in the processor 310.
  • the processor 310 is configured to control the transceiver to perform signal transmission with other routing nodes in the network. For details, please refer to the description in the method embodiment, which will not be repeated here.
  • Fig. 8 only shows a simplified design of the device.
  • the device may also include other necessary components, including but not limited to any number of transceivers, processors, controllers, memories, etc., and all devices that can implement the application are within the scope of protection of the application. Inside.
  • the router 300 may be replaced with a chip device, for example, a communication chip that can be used in the device to implement related functions of the processor in the device.
  • the chip device can be a field programmable gate array, a dedicated integrated chip, a system chip, a central processing unit, a network processor, a digital signal processing circuit, a microcontroller, and a programmable controller or other integrated chips for realizing related functions.
  • the chip may optionally include one or more memories for storing program codes. When the codes are executed, the processor realizes corresponding functions.
  • the size of the sequence number of the above-mentioned processes does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not correspond to the embodiments of the present application.
  • the implementation process constitutes any limitation.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, 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, mechanical 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 exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments 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 codes.

Landscapes

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

Abstract

本申请提供一种路由控制方法和装置,应用于通信领域,能够根据指定的BGP转发路径所满足的需求确定数据报文的转发路径信息,灵活性更强。该路由控制方法包括:第一边缘路由节点接收边界网关协议BGP控制报文,该BGP控制报文携带第一节点标识和第一算法信息,该第一节点标识指示BGP转发路径上的目的路由节点的SID,该第一算法信息指示该BGP转发路径所满足的需求,该BGP转发路径包括数据报文经由该第一边缘路由节点路由至该目的路由节点所经过的路由节点,该第一边缘路由节点属于第一自治域AS,该目的路由节点属于第二AS;该第一边缘路由节点根据该BGP控制报文中的该第一节点标识和该第一算法信息,确定该数据报文的转发路径信息,该转发路径信息用于指示该数据报文的下一跳路由节点;该第一边缘路由节点根据该转发路径信息,转发该数据报文。

Description

路由控制方法和装置
本申请要求于2019年9月30日提交中国专利局、申请号为201910945856.9、发明名称为“路由控制方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,并且更具体地,涉及通信领域中的路由控制方法和装置。
背景技术
在标签交换(multi-protocol label switching,MPLS)分段路由(segment routing,SR)或第六版SR(SRv6)中,规定了包括边界网关协议(border gateway protocol,BGP)前缀(prefix)分段标识(identifier,SID)的报文可以通过如下两种方式转发:方式一:在数据包的MPLS栈中(或者SRv6的扩展路由报头(segment routing header,SRH)头中)压入BGP prefix SID list,所述BGP prefix SID list包括所述数据包转发过程依次经过的至少一个边缘路由节点的BGP前缀SID(BGP Prefix-SID),所述数据包按照所述BGP prefix SID list中的边缘路由节点的BGP Prefix-SID进行转发;方式二:在数据包的MPLS栈中(或者SRv6的SRH头中)压入目的路由节点的BGP Prefix-SID,数据包以所述目的路由节点的BGP Prefix-SID为目的地进行转发。
然而,现有技术中的上述两种方式中,数据包的BGP转发路径上的下一跳都是通过默认的BGP路由计算方式,例如路径向量路由选择协议,灵活性较差。
发明内容
本申请提供一种路由控制方法和装置,能够根据指定的BGP转发路径所满足的需求,确定数据报文的转发路径信息,灵活性更强。
第一方面,本申请提供一种路由控制方法,该方法包括:
第一边缘路由节点接收边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;
所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
所述第一边缘路由节点根据所述转发路径信息,转发所述数据报文。
也就是说,所述第一边缘路由节点可以根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述第一边缘路由节点接收到数据报文后,在所述数据 报文的标签栈中压入的SID,并根据所述压入的SID转发数据报文。
具体地,所述第一边缘路由节点可以根据所述数据报文中压入的SID,查找所述数据报文的下一跳路由节点在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至下一跳路由节点。
采用本申请实施例提供的路由控制方法,能够指定BGP转发路径所满足的需求,并根据该需求确定所述数据报文的转发路径信息,灵活性更强。
可选地,所述第一节点标识可以通过多种方式指示所述目的路由节点的SID,本申请实施例对此不作限定。
在一种可能的实现方式中,所述第一节点标识可以为所述目的路由节点的SID。
在另一种可能的实现方式中,所述第一节点标识还可以为所述目的路由节点的标签索引;相应地,所述第一边缘节点可以根据所述目的路由节点的标签索引和所述目的路由节点的标签空间,确定所述目的路由节点的SID,其中,所述目的路由节点的SID=标签索引+标签空间。
可选地,在所述第一边缘路由节点根据所述目的路由节点的标签索引和所述目的路由节点的标签空间之前,所述BGP转发路径上的每个路由节点可以向所述BGP转发路径上的其它路由节点发布所述每个路由节点的标签空间。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述方法还包括:所述第一边缘路由节点接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,包括:所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
在一种可能的实现方式中,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
也就是说,所述第一边缘路由节点可以根据所述第一节点标识指示的所述目的路由节点的SID和所述BGP控制报文中的下一跳,确定所述第一边缘路由节点在收到标签栈的栈顶为所述目的路由节点的SID的数据报文的时候需要在标签栈的栈顶压入新的与所述第二边缘路由节点相关的SID。
具体地,所述第一边缘路由节点可以根据所述第一算法信息指示的需求和所述第二节点标识指示的所述第二边缘路由节点的第一SID,计算出到所述第二边缘路由节点的满足所述需求的SID list,所述SID list中包括数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,即所述第一边缘路由节点在收到标签栈的栈顶为所述目的节点的SID的数据报文的时候,在所述数据报文的标签栈的栈顶再压入所述SID list。
这时所述转发路径信息包括所述SID list和所述目的路由节点的SID,其中,所述转发路径信息中的SID list包括所述数据报文的下一跳的路由节点的SID,所述第一边缘路由节点可以根据所述SID list中包括的下一跳路由节点的SID,确定所述数据报文 在所述第一边缘路由节点上的出接口。
这样一来,数据报文可以根据上述转发路径信息中的SID list包括的SID,从所述第一边缘路由节点路由至所述第二边缘路由节点,并根据上述转发路径信息中的所述目的路由节点的SID,从所述第二边缘路由节点路由至所述目的路由节点。
采用本申请实施例提供的路由控制方法,数据报文可以根据标签栈中先后压入的所述目的路由节点的SID和所述SID list中包括的每一跳路由节点的SID,从所述第一边缘路由节点路由至所述目的路由节点,途径的其它路由节点无需进行路径计算,计算量较小。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述方法还包括:所述第一边缘路由节点接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,包括:所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
在一种可能的实现方式中,所述转发路径信息包括所述第二SID。
也就是说,所述第一边缘路由节点可以根据所述第一节点标识指示的所述目的路由节点的SID和所述BGP控制报文中的下一跳,确定所述第一边缘路由节点在收到标签栈的栈顶为所述目的路由节点的SID的数据报文的时候需要在标签栈的栈顶压入新的与所述第二边缘路由节点相关的SID。
具体地,当所述第一边缘路由节点确定所述第一算法信息指示的需求和所述第二算法信息指示的需求匹配时,所述第一边缘路由节点可以根据所述第二算法信息指示的需求和所述第二标识信息指示的所述第二边缘路由节点的第二SID,确定所述第一边缘路由节点处已有的到所述第二边缘路由节点的满足所述需求的转发表,该转发表中包括数据报文的下一跳路由节点的SID,即所述第一边缘路由节点在收到标签栈的栈顶为所述目的节点的SID的数据报文的时候,在所述数据报文的标签栈的栈顶再压入所述第二SID。
这时所述转发路径信息包括所述第二SID和所述目的路由节点的SID,其中,所述路径转发信息通过所述第二SID和所述转发表,隐性指示所述数据报文的下一跳路由节点的SID,并根据所述下一跳路由节点的SID,确定所述数据报文在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至所述下一跳路由节点。
这样一来,数据报文可以根据上述转发路径信息中的第二SID,沿着所述转发表,从所述第一边缘路由节点转发至所述第二边缘路由节点,并沿着所述目的路由节点的SID指示的下一跳,从所述第二边缘路由节点转发至所述目的路由节点。
采用本申请实施例提供的路由控制方法,在数据报文转发过程中标签栈中只需要携带第二SID和目的路由节点的SID,就能够根据所述第二SID和域内的转发表,从所述 第一边缘路由节点路由至所述第二SID指示的所述第二边缘路由节点,并根据所述目的路由节点的SID和域间的转发表,从所述第二边缘路由节点路由至所述目的路由节点的SID指示的所述目的路由节点,数据报文携带的数据量较小(即标签栈的深度较浅)。
可选地,所述BGP报文可以通过多种方式携带所述第一节点标识和所述第一算法信息,本申请实施例对此不作限定。
例如,所述BGP控制报文可以包括第一TLV,所述第一TLV携带所述第一节点标识和所述第一算法信息。
例如,所述BGP报文可以包括第二TLV和第三TLV,所述第二TLV用于携带所述第一节点标识,所述第三TLV用于携带所述第一算法信息。
在一种可能的实现方式中,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
可选地,所述第一算法信息可以通过多种方式指示BGP转发路径所满足的需求,本申请实施例对此不作限定。
在一种可能的实现方式中,所述第一算法信息可以包括第一算法标识,所述第一算法标识指示所述BGP转发路径所满足的需求。
在另一种可能的实现方式中,所述第一算法信息可以包括metric类型标识和计算类型标识中的至少一项以及所述第一算法标识,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
在一种可能的实现方式中,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
第二方面,本申请提供一种路由控制装置,该装置包括:
接收单元,用于接收边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;
确定单元,用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
发送单元,用于根据所述转发路径信息,转发所述数据报文。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述接收单元还用于接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;所述确定单元具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
在一种可能的实现方式中,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述接收单元还用于接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;所述确定单元具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
在一种可能的实现方式中,所述转发路径信息包括所述第二SID。
在一种可能的实现方式中,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
在一种可能的实现方式中,所述第一算法信息包括第一算法标识,所述第一算法标识用于标识所述BGP转发路径所满足的需求。
在一种可能的实现方式中,所述第一算法信息还包括度量metric类型标识和计算类型标识中的至少一项,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
在一种可能的实现方式中,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
第三方面,本申请还提供一种路由控制装置,所述装置包括处理器和存储器,所述处理器和所述存储器耦合,所述处理器用于使得所述装置执行上述第一方面或所述第一方面的各种可能的实现方式中所述的方法。
第四方面,本申请还提供一种路由器,所述路由器包括上述第三方面所述的路由控制装置。
第五方面,本申请提供一种芯片装置,所述装置包括:输入接口、输出接口、至少一个处理器、存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路互相通信,所述处理器用于执行所述存储器中的代码,其特征在于,当所述处理器执行所述代码时,所述芯片装置实现上述第一方面或所述第一方面的各种可能的实现方式中所述的方法。
第六方面,本申请提供一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述第一方面或所述第一方面的各种可能的实现方式中所述的方法的指令。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品中包含指令,其 特征在于,当所述指令在计算机上运行时,使得计算机实现上述第一方面或所述第一方面的各种可能的实现方式中所述的方法。
附图说明
图1是本申请实施例的应用场景示意图;
图2是本申请实施例提供的路由控制方法100的示意性流程图;
图3是本申请实施例提供的一种类型-长度-值(type-length-value,TLV)的示意图;
图4是本申请实施例提供的另一种TLV的示意图;
图5是本申请实施例提供的又一种TLV的示意图;
图6是本申请实施例提供的又一种TLV的示意图;
图7是本申请实施例提供的路由控制装置200的示意性框图;
图8是本申请实施例提供的路由器300的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
1、自治系统(autonomous system,AS)
AS指一个互连网络,就是把整个互联网划分为许多较小的网络单位,这些小的网络有权自主地决定在本系统中应采用何种路由协议。
如图1所示,图1示出了互联网中的AS1、AS2和AS3。
需要说明的是,图1中仅示意性示出了互联网中的上述三个AS,该互联网中还可以包括其他数量的AS,例如1个、2个或3个以上AS,本申请实施例对此不作限定。
2、路由器(router)
路由器是互联网的主要节点设备,路由器通过路由决定数据的转发。
按照路由器在网络中的部署位置,路由器可以分为核心路由器(core router,CR)和边缘路由器(border router,BR)。其中,本申请实施例中边缘路由器指位于网络边缘的路由器,负责AS域内和域间的路由,相应地,核心路由器指位于网络中心的路由器,负责AS域内的路由。
如图1所示,图1中AS1中包括路由节点1,AS2中包括路由节点4、路由节点7和路由节点10,AS3中包括路由节点11。
在图1中,以AS2为例,AS2中的路由节点4和路由节点10可以理解为边缘路由节点(边界路由节点),路由节点7可以理解为核心路由节点,且路由节点4和路由节点10可以同时支持BGP协议和IGP协议,路由节点7可以支持IGP协议。
需要说明的是,AS1和AS3中还可以包括其他未示出的边缘路由节点和/或核心路由节点。
3、路由协议
路由协议可分为两类:在一个AS内的路由协议称为内部网关协议(interior gateway protocol,IGP),例如中间系统到中间系统(intermediate system to intermediate system, ISIS)和开放最短路径优先(open shortest path first,OSPF),AS之间的路由协议称为外部网关协议(exterior gateway protocol,EGP),例如,边界网关协议(border gateway protocol,BGP)。
如图1所示,图1中的路由节点1、路由节点4、路由节点10和路由节点11之间可以通过BGP协议传输控制报文,路由节点4、路由7和路由节点10之间可以通过IGP协议传输控制报文。
4、多协议标签交换(multi-protocol label switching,MPLS)协议
MPLS指把标签作为IP协议报文的一部分,存储在IP协议报文中。通常情况下,MPLS操作在OSI的2层(数据链路层)和3层(网络层)之间,因此也常常被认为是2.5层协议。
5、分段路由(segment routing,SR)
SR是一种源路由的技术,可以指定携带了分段标识(identifier,SID)列表(SID list)的数据包(packet)经过的节点和路径,从而满足流量调优的需求。
SR技术包括SR-尽力转发(best effort,BE)技术和SR-流量工程(traffic engineering,TE)技术。
可选地,SR-TE是在数据包的MPLS标签栈压入多个SR SID,通过该多个SR SID来指导数据包的转发。
例如,如图1所示,AS2中,路由节点4收到的数据包的包头携带<SID1,SID2>,其中,SID1指示路由节点7,SID2指示路由节点10,数据包从路由节点4处首先转发给SID1对应的路由节点(路由节点7),之后转发给SID2对应的路由节点(路由节点10)。可选地,SR-BE是指在数据包的MPLS标签栈压入一个SR SID,携带在目的路由节点的位置,数据包会按照最短路径的方式转发到该SR SID。
6、BGP前缀(prefix)SID
BGP prefix SID是一种基于SR的SID,针对每个BGP节点都对应一个全局的SID,即一个路由节点的BGP prefix SID能够在整个网络中唯一标识该节点。
7、BGP转发路径
所述BGP转发路径指的是包含了BGP prefix SID的转发路径。一个按照所述BGP转发路径转发的报文在经过的路径节点中包含支持BGP会话的边缘路由节点,也可能包括仅支持AS域内转发的路由器节点。
在基于MPLS的SR技术中,每个路由节点都有自己的SR标签空间,这个标签空间不能分配给普通的MPLS路径,在BGP路由过程中,每个路由节点都分配标签索引,因此,每个路由节点可以根据该标签索引和该标签空间,得到自己的BGP prefix SID。
例如,图1中的路由节点11的标签空间是16000-17000,该路由节点11的标签索引(label index)为11,那么该路由节点11的实际BGP prefix SID就是16000+11=16011。
图2示出了本申请实施例提供的路由控制方法100的示意性的示意图。该方法100可以适用于如图1所示的应用场景,下述实施例中以第一边缘路由节点为路由节点4,第二边缘路由节点为路由节点10,目的路由节点为路由节点11,第一AS为AS2,第二AS为AS3为例进行介绍。
S110,第一边缘路由节点BGP控制报文,所述BGP控制报文携带第一节点标识和 第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一AS,所述目的路由节点属于第二AS。
可选地,所述第一节点标识可以通过多种方式指示所述目的路由节点的SID,本申请实施例对此不作限定。
在一种可能的实现方式中,所述第一节点标识可以为所述目的路由节点的SID。
在另一种可能的实现方式中,所述第一节点标识还可以为所述目的路由节点的标签索引;相应地,所述第一边缘节点可以根据所述目的路由节点的标签索引和所述目的路由节点的标签空间,确定所述目的路由节点的SID,其中,所述目的路由节点的SID=标签索引+标签空间。
可选地,在S110之前,所述BGP转发路径上的每个路由节点可以向所述BGP转发路径上的其它路由节点发布所述每个路由节点的标签空间。
可选地,所述第一算法信息可以通过多种方式指示BGP转发路径所满足的需求,本申请实施例对此不作限定。
需要说明的是,BGP转发路径所满足的需求可以理解为所述BGP转发路径的优化目标和/或约束条件。
在一种可能的实现方式中,所述第一算法信息可以包括第一算法标识,所述第一算法标识指示所述BGP转发路径所满足的需求。
可选地,该第一算法标识的取值可以从128~255,本申请实施例对此不作限定。
例如,第一算法标识取值为“128”时,可以指示优化目标为最小化某种度量(metric)。
在另一种可能的实现方式中,所述第一算法信息可以包括metric类型标识和计算类型标识中的至少一项以及所述第一算法标识,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
例如,metric类型标识为“0”,表示IGP metric;metric类型标识为“1”,表示低时延metric;metric类型标识为“2”,表示TE metric。
例如,计算类型标识为“0”表示最短路径优先算法。
可选地,所述BGP报文可以通过多种方式携带所述第一节点标识和所述第一算法信息,本申请实施例对此不作限定。
在第一种可能的实现方式中,所述BGP控制报文可以包括第一TLV,所述第一TLV携带所述第一节点标识和所述第一算法信息。
需要说明的是,现有的BGP prefix-SID属性中包括一个支持携带节点的标签索引(label-index)的TLV,本申请实施例中所述的第一TLV可以为新定义的、支持携带对应了某个算法标识的BGP prefix-SID的label-index的TLV,也就是说,该第一TLV可以指示所述第一节点标识以及所述第一节点标识对应的所述第一算法信息。
例如,该第一TLV字段中各字段的设置可以如图3所示,该第一TLV包括1个字节的类型(T)字段、2个字节的长度(L)字段和值(V)字段,其中,该V字段可以包括:1个字节的保留字段、2个字节的标志域、2个字节的承载第一字节标识的字段、 1个字节的承载第一算法标识的字段、和子TLV字段。
又例如,该第一TLV字段中各字段的设置可以如图4所示,该第一TLV包括1个字节的T字段、2个字节的L字段和V字段,其中,该V字段包括1个字节的保留字段、2个字节的标志域、2个字节的承载第一节点标识的字段、1个字节的承载第一算法标识的字段、1个字节的承载metric类型的字段、1个字节的承载计算类型的字段和子TLV字段。
在第二种可能的实现方式中,所述BGP报文可以包括第二TLV和第三TLV,所述第二TLV用于携带所述第一节点标识,所述第三TLV用于携带所述第一算法信息。
需要说明的是,该第二TLV可以为现有的BGP prefix-SID属性中支持携带节点的标签索引的TLV。
例如,该第三TLV字段中各字段的设置可以如图5所示,其中,该第三TLV包括1字节的T字段、2字节的L字段和V字段,其中,该V字段可以包括1个字节的保留字段、2个字节的标志域、1个字节的承载第一算法标识的字段以及子TLV字段。
又例如,该第三TLV字段中各字段的设置可以如图6所示,其中,该第三TLV包括1个字节的T字段、2个字节的L字段和V字段,其中,该V字段可以包括1个字节的保留字段、1个字节的承载第一算法标识的字段、1个字节的承载metric类型的字段、1个字节的承载计算类型的字段以及子TLV字段。
需要说明的是,本申请实施例中所述的TLV字段中的T字段用于标识所述TLV字段携带的信息,所述L字段用于指示所述值V字段的长度,所述V字段用于携带信息,所述V字段中的保留字段用于扩展所述V字段,所述标志域用于指示所述BGP prefix-SID的应用场景或特性(暂时该字段可以为空)。
还需要说明的是,图3至图6中的子TLV是可选的,本申请实施例对此不作限定,具体内容可以参考IGP的SR灵活算法中的相关定义。
还需要说明的是,图3至图6中仅示意性示出各TLV中的T字段、L字段和V字段,上述各TLV中各字段的起始位置和长度可以根据实际需求进行调整,本申请实施例对此不作限定。
可选地,所述BGP转发路径可以包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述第一边缘路由节点可以接收所述第二边缘路由节点发送的所述BGP控制报文。
S120,所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点。
S130,所述第一边缘路由节点根据所述转发路径信息,转发所述数据报文。
也就是说,所述第一边缘路由节点可以根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述第一边缘路由节点接收到数据报文后,在所述数据报文的标签栈中压入的SID,并根据所述压入的SID转发数据报文。
具体地,所述第一边缘路由节点可以根据所述数据报文中压入的SID,查找所述数据报文在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至所述下一跳路由节点。
采用本申请实施例提供的路由控制方法,能够指定BGP转发路径所满足的需求,并根据该需求确定所述数据报文的转发路径信息,灵活性更强。
可选地,所述第一边缘路由节点可以通过多种方式,根据所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径,本申请实施例对此不作限定。
在第一种可能的实现方式中,所述第一边缘路由节点还可以接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;所述第一边缘路由节点可以根据所述第一节点标识,所述第一算法信息和所述第二节点标识,确定所述转发路径信息。其中,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
需要说明的是,所述BGP控制报文还可以包括网络协议(Internet protocol,IP)地址、下一跳、AS路径等信息。
也就是说,所述第一边缘路由节点可以根据所述第一节点标识指示的所述目的路由节点的SID和所述BGP控制报文中的下一跳,确定所述第一边缘路由节点在收到标签栈的栈顶为所述目的路由节点的SID的数据报文的时候需要在标签栈的栈顶压入新的与所述第二边缘路由节点相关的SID。
具体地,所述第一边缘路由节点可以根据所述第一算法信息指示的需求和所述第二节点标识指示的所述第二边缘路由节点的第一SID,计算出到所述第二边缘路由节点的满足所述需求的SID list,所述SID list中包括数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,即所述第一边缘路由节点在收到标签栈的栈顶为所述目的节点的SID的数据报文的时候,在所述数据报文的标签栈的栈顶再压入所述SID list。
这时所述转发路径信息包括所述SID list和所述目的路由节点的SID,其中,所述转发路径信息中的SID list包括所述数据报文的下一跳的路由节点的SID,所述第一边缘路由节点可以根据所述SID list中包括的下一跳路由节点的SID,确定所述数据报文在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至所述下一跳路由节点。
这样一来,数据报文可以根据上述转发路径信息中的SID list包括的SID,从所述第一边缘路由节点路由至所述第二边缘路由节点,并根据上述转发路径信息中的所述目的路由节点的SID,从所述第二边缘路由节点路由至所述目的路由节点。
采用本申请实施例提供的路由控制方法,数据报文可以根据标签栈中先后压入的所述目的路由节点的SID和所述SID list中包括的每一跳路由节点的SID,从所述第一边缘路由节点路由至所述目的路由节点,途径的其它路由节点无需进行路径计算,计算量较小。
在第二种可能的实现方式中,所述第一边缘路由节点还可以接收第二IGP控制报文,所述IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点;根据所述第一节点标识、所述第一算法信息、所述 第三节点标识和所述第二算法信息,确定所述转发路径信息。其中,所述路径信息包括所述第二SID。
也就是说,所述第一边缘路由节点可以根据所述第一节点标识指示的所述目的路由节点的SID和所述BGP控制报文中的下一跳,确定所述第一边缘路由节点在收到标签栈的栈顶为所述目的路由节点的SID的数据报文的时候需要在标签栈的栈顶压入新的与所述第二边缘路由节点相关的SID。
具体地,当所述第一边缘路由节点确定所述第一算法信息指示的需求和所述第二算法信息指示的需求匹配时,所述第一边缘路由节点可以根据所述第二算法信息指示的需求和所述第二标识信息指示的所述第二边缘路由节点的第二SID,确定所述第一边缘路由节点处已有的到所述第二边缘路由节点的满足所述需求的转发表,该转发表中包括数据报文的下一跳路由节点的SID,即所述第一边缘路由节点在收到标签栈的栈顶为所述目的节点的SID的数据报文的时候,在所述数据报文的标签栈的栈顶再压入所述第二SID。
这时所述转发路径信息包括所述第二SID和所述目的路由节点的SID,其中,所述路径转发信息通过所述第二SID和所述转发表,隐性指示所述数据报文的下一跳路由节点的SID,并根据所述下一跳路由节点的SID,确定所述数据报文在所述第一边缘路由节点上的出接口,并将所述数据报文从所述出接口发送至所述下一跳路由节点。
这样一来,数据报文可以根据上述转发路径信息中的第二SID,沿着所述转发表,从所述第一边缘路由节点转发至所述第二边缘路由节点,并沿着所述目的路由节点的SID指示的下一跳,从所述第二边缘路由节点转发至所述目的路由节点。
采用本申请实施例提供的路由控制方法,在数据报文转发过程中标签栈中只需要携带第二SID和目的路由节点的SID,就能够根据所述第二SID和域内的转发表,从所述第一边缘路由节点路由至所述第二SID指示的所述第二边缘路由节点,并根据所述目的路由节点的SID和域间的转发表,从所述第二边缘路由节点路由至所述目的路由节点的SID指示的所述目的路由节点,数据报文携带的数据量较小(即标签栈的深度较浅)。
此外,本申请提出的路由控制方法还可以很好的兼容现有IGP协议中的灵活算法。
可选地,所述第二算法信息可以通过多种方式指示IGP转发路径所满足的需求,本申请实施例对此不作限定。
需要说明的是,IGP转发路径所满足的需求可以理解为所述IGP转发路径所满足的优化目标和/或约束条件。
在一种可能的实现方式中,所述第二算法信息可以包括所述第二算法标识,所述第二算法的标识指示所述BGP转发路径所满足的需求。
可选地,所述第二算法信息还可以指示所述IGP转发路径所满足的需求中的度量(metric)类型和/或计算类型,本申请实施例对此不作限定。
在另一种可能的实现方式中,所述第二算法信息可以包括第二metric类型标识和第二计算类型标识中的至少一项以及所述第二算法标识,所述第二metric类型标识用于指示所述IGP转发路径所满足的需求中的metric类型,所述第二计算类型标识用于指示所述IGP路径所满足的需求中的计算类型。
需要说明的是,所述第二边缘路由节点的第二SID可以理解为与所述第二算法信息 关联的SID,可以与所述第二边缘路由节点的第一SID不同。
还需要说明的是,由于所述第一算法信息指示BGP转发路径所满足的需求,所述第二算法信息指示IGP转发路径所的需求,因此,第一边缘路由节点在收到这个两个算法信息的时候,要先判断这两个算法信息所指示的需求是否匹配。
在一种可能的实现方式中,所述第一边缘路由节点可以根据所述第一算法标识与所述第二算法标识相同,确定所述第一算法标识和所述第二算法标识指示的需求匹配。
在一种可能的实现方式中,所述第一边缘路由节点可以根据所述第一算法信息包括的metric类型和/或计算类型与所述第二算法信息包括的metric类型和/或计算类型相同,确定所述第一算法标识和所述第二算法标识指示的需求匹配。
下面将以一个具体的实施例详细描述本申请提供的路由控制方法。该实施例以SR-MPLS为例。应理解,相同的技术方案可以应用到SRv6中。
如图1所示,AS1、AS2和AS3为互联网中的3个AS,其中,AS1中包括路由节点1、AS2中包括路由节点4、路由节点7和路由节点10,AS3中包括路由节点11。其中,所述路由节点1、路由节点4、路由节点10和路由节点11均为边缘路由节点。
需要说明的是,在下述流程之前每个路由节点已将自己的标签空间发布给其他节点,下述流程是以每个路由节点的标签空间相同且为16000为例进行介绍的,但本申请实施例不限于此。
例如,路由节点11将自己的标签空间为16000发布给路由节点10。
首先,路由节点11可以通过如下流程将BGP控制报文通告给路由节点1。
1、路由节点11可以发送如下的BGP控制报文(具体格式请参考IETF RFC8277规定的BGP的更新报文的格式)给路由节点10:
(1)IP前缀或IP地址:192.0.2.11/32
(2)标签:Implicit-Null(隐式空标签)
(3)下一跳:路由节点11连接到路由节点10的链路的接口地址
(4)AS路径:{3}
(5)BGPprefix SID Index:标签索引12
(6)算法信息:128
如果是在SRv6中,前述“(2)标签”和“(5)BGP前缀SID标签”可以由SRv6的SID来替代,例如具体是SRv6中的长度为128bit的SID。
2、路由节点10可以发送如下的BGP控制报文(具体格式请参考IETF RFC8277规定的BGP的更新报文的格式)给路由节点4:
(1)IP前缀或IP地址:192.0.2.11/32
(2)标签:16012(路由节点11的节点标识,也即路由节点11的SID)
(3)下一跳:路由节点11连接到路由节点10的链路的接口地址或者路由器10的loopback地址
(4)AS路径:{3,2}
(5)BGP prefix SID Index:标签索引12
(6)算法信息:128
3、路由节点4可以发送如下的BGP控制报文(具体格式请参考IETF RFC8277规 定的BGP的更新报文的格式)给路由节点1:
(1)IP前缀或IP地址:192.0.2.11/32
(2)标签:16012
(3)下一跳:路由节点4连接到路由节点1的链路的接口地址
(4)AS路径:{3,2}
(5)BGP prefix SID Index:标签索引12
(6)算法信息:128
也就是说,通过上述1~3的流程,路由节点1如果有目的IP地址为192.0.2.11的数据报文需要发送给路由节点11,直接在数据报文的标签栈顶压入所述路由节点11的SID(即16012),就可以按照BGP转发路径:路由节点1—路由节点4—路由节点10—路由节点11把流量发过去。
例如,如果路由节点4收到的BGP控制报文的下一跳是路由节点10的loopback地址,那么当路由节点4收到目的IP地址为192.0.2.11的数据报文,且该数据报文的标签栈顶的标签为16012(简称16012为入标签),动作为压入新的标签/标签栈,该新的标签/标签栈跟路由节点10相关。
又例如,如果路由节点4收到的BGP控制报文的下一跳是路由节点11连接到路由节点10的链路的接口地址,那么路由节点4会匹配到达路由节点11连接到路由节点10的链路的接口地址的路由表项是路由节点10能提供的,因此BGP路由会迭代到路由节点10的标签/标签栈上,类似地,在路由节点4上,对于收到的数据报文中的16012的入标签,动作为压入新的标签/或标签栈,该新的标签/标签栈跟路由节点10相关。
可选地,在转发数据报文之前,所述路由节点10还可以按照现有技术向路由节点4发布IGP控制报文;相应地,路由节点4如果有数据报文需要发送给路由节点10,可以按照IGP转发路径:路由节点4—路由节点7—路由节点10把流量发过去。
具体的,可以按照以下流程将数据报文由路由节点1路由至路由节点11,该数据报文的目的IP地址是192.0.2.11/32。
1、在路由节点1处:在数据报文上打上标签16012,查标签转发表,获得到达下一跳路由节点4的出接口,将携带16012标签的数据报文从该出接口发出;
2、在路由节点4处:收到的数据报文的栈顶标签为入标签16012,标签动作为压入标签(push),具体可以是压入一个标签/标签栈,BGP路由的下一跳为路由节点10(具体在AS2内转发的下一跳路由节点由压入的标签栈决定,可能是其他节点);
在第一种可能的实现方式中,上述IGP控制报文中携带的该路由节点10的第二SID(即16110)以及IGP算法标识(即128)。那么,当路由节点4判断IGP算法标识和BGP算法标识相同时,压入标签16110(此时栈顶为16110),并且根据16110转发。因为路由节点4中已经有了满足到16110且算法标识为128的IGP转发表,其中,该IGP转发表中包括16007,该16007指示了该数据报文的下一跳为路由节点7,因此路由节点4发给路由节点10的数据报文的路径满足算法标识128的需求。
相应地,在路由节点7处:收到的数据报文的栈顶标签为入标签16110,根据入标签16110查到到下一跳路由节点10的出接口。路由节点7知道自己是在IGP中到路由节点10的倒数第二跳,路由节点7将16110弹出,此时的标签栈的栈顶为16012;在路 由节点10处:收到的数据报文的栈顶标签为入标签16012。
在第二种可能的实现方式中,上述IGP控制报文中携带的该路由节点10的第一SID(即16010),但未携带算法标识。那么,在路由节点4处,所述路由节点4可以自己根据算法标识128的需求计算到达16010的路径,或者请求控制器按照BGP算法标识(即128)指示的需求计算到16010的SID列表<16007,16010>,其中,16007为路由节点7的SID,然后在数据包中压入标签16007和16010,并且根据16007转发,具体执行pop操作,弹出16007。
相应地,在路由节点7处,收到的数据报文的栈顶标签为入标签16010,执行弹出操作,弹出后新的栈顶标签是16012,根据16012,查到到下一跳路由节点10的出接口。
3、在路由节点10处:收到的数据报文的栈顶标签为入标签入标签16012,执行pop操作,将16012弹出,查到到下一跳路由节点11的出接口,将数据报文从该出接口发出;
4、在路由节点11处:收到的没有标签的IP数据报文。
上面结合图1至图6介绍了本申请实施例提供的路由控制方法,下面将结合图7和图8介绍本申请实施例提供的路由控制装置。
图7示出了本申请实施例提供的路由控制装置200的示意性框图。该装置200包括:
接收单元210,用于接收边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;
确定单元220,用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
发送单元230,用于根据所述转发路径信息,转发所述数据报文。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述接收单元还用于接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;所述确定单元220具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
在一种可能的实现方式中,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
在一种可能的实现方式中,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述接收单元还用于接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点 所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;所述确定单元220具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
在一种可能的实现方式中,所述转发路径信息包括所述第二SID。
在一种可能的实现方式中,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
在一种可能的实现方式中,所述第一算法信息包括第一算法标识,所述第一算法标识用于标识计算所述BGP转发路径时满足的需求。
在一种可能的实现方式中,所述第一算法信息还包括度量metric类型标识和计算类型标识中的至少一项,所述metric类型标识用于指示计算所述BGP转发路径时满足的需求中的metric类型,所述计算类型标识用于指示计算所述BGP路径时满足的需求中的计算类型。
在一种可能的实现方式中,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
应理解,这里的装置200以功能单元的形式体现。这里的术语“单元”可以指ASIC、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置200可以具体为上述方法100实施例中的第一边缘节点,装置200可以用于执行上述方法100实施例中与第一边缘路由节点对应的各个流程和/或步骤,为避免重复,在此不再赘述。
图8示出了本申请实施例提供的路由器300,该路由器300可以包括图7中所述的装置200,或者该路由器300可以是图7中所述的装置200。该装置200可以采用如图8所示的硬件架构。该路由器300可以包括处理器310、收发器320和存储器330,该处理器310、收发器320和存储器330通过内部连接通路互相通信。图7中的确定单元220所实现的相关功能可以由处理器310来实现,接收单元210和发送单元230所实现的相关功能可以由处理器310控制收发器320来实现。
该处理器310可以包括是一个或多个处理器,例如包括一个或多个中央处理单元(central processing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该收发器320用于发送和接收数据和/或信息,以及接收数据和/或信息。该收发器可以包括发射器和接收器,发射器用于发送数据和/或信号,接收器用于接收数据和/或信号。
该存储器330包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程存储器(erasable programmable read only memory,EPROM)、只读光盘(compact disc read-only memory,CD-ROM),该存储器330用于存储相关指令及数据。
存储器330用于存储装置的程序代码和数据,可以为单独的器件或集成在处理器310中。
具体地,所述处理器310用于控制收发器与网络中的其它路由节点进行信号传输。具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图8仅仅示出了装置的简化设计。在实际应用中,装置还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器等,而所有可以实现本申请的装置都在本申请的保护范围之内。
在一种可能的设计中,路由器300可以被替换为芯片装置,例如可以为可用于装置中的通信芯片,用于实现装置中处理器的相关功能。该芯片装置可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。该芯片中,可选的可以包括一个或多个存储器,用于存储程序代码,当所述代码被执行时,使得处理器实现相应的功能。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计需求。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以 是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (23)

  1. 一种路由控制方法,其特征在于,包括:
    第一边缘路由节点接收边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;
    所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
    所述第一边缘路由节点根据所述转发路径信息,转发所述数据报文。
  2. 根据权利要求1所述的方法,其特征在于,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述方法还包括:
    所述第一边缘路由节点接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;
    所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,包括:
    所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
  3. 根据权利要求2所述的方法,其特征在于,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
  4. 根据权利要求1所述的方法,其特征在于,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,所述方法还包括:
    所述第一边缘路由节点接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;
    所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,包括:
    所述第一边缘路由节点根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
  5. 根据权利要求4所述的方法,其特征在于,所述转发路径信息包括所述第二SID。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识 和所述第一算法信息。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述第一算法信息包括第一算法标识,所述第一算法标识用于标识所述BGP转发路径所满足的需求。
  8. 根据权利要求7所述的方法,其特征在于,所述第一算法信息还包括度量metric类型标识和计算类型标识中的至少一项,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
  9. 根据权利要求8所述的方法,其特征在于,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
  10. 一种路由控制装置,其特征在于,包括:
    接收单元,用于接收边界网关协议BGP控制报文,所述BGP控制报文携带第一节点标识和第一算法信息,所述第一节点标识指示BGP转发路径上的目的路由节点的SID,所述第一算法信息指示所述BGP转发路径所满足的需求,所述BGP转发路径包括数据报文经由所述第一边缘路由节点路由至所述目的路由节点所经过的路由节点,所述第一边缘路由节点属于第一自治域AS,所述目的路由节点属于第二AS;
    确定单元,用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,确定所述数据报文的转发路径信息,所述转发路径信息用于指示所述数据报文的下一跳路由节点;
    发送单元,用于根据所述转发路径信息,转发所述数据报文。
  11. 根据权利要求10所述的装置,其特征在于,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,
    所述接收单元还用于接收第一IGP控制报文,所述第一IGP控制报文携带第二节点标识,所述第二节点标识指示所述第二边缘路由节点的第一SID;
    所述确定单元具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第一IGP控制报文中的所述第二节点标识,确定所述转发路径信息。
  12. 根据权利要求11所述的装置,其特征在于,转发路径信息包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点中每个路由节点的SID,所述至少一个路由节点均属于所述第一AS。
  13. 根据权利要求10所述的装置,其特征在于,所述BGP转发路径包括第二边缘路由节点,所述第二边缘路由节点属于所述第一AS,
    所述接收单元还用于接收第二IGP控制报文,所述第二IGP控制报文携带第三节点标识和第二算法信息,所述第三节点标识指示所述第二边缘路由节点的第二SID,所述第二算法信息指示IGP转发路径所满足的需求,所述IGP转发路径包括所述数据报文经由所述第一边缘路由节点路由至所述第二边缘路由节点所经过的至少一个路由节点,所述至少一个路由节点属于所述第一AS;
    所述确定单元具体用于根据所述BGP控制报文中的所述第一节点标识和所述第一算法信息,以及所述第二IGP控制报文中的所述第三节点标识和所述第二算法信息,确定所述转发路径信息。
  14. 根据权利要求13所述的装置,其特征在于,所述转发路径信息包括所述第二 SID。
  15. 根据权利要求10至14中任一项所述的装置,其特征在于,所述BGP控制报文包括第一类型-长度-值TLV,所述第一TLV包括类型T字段、长度L字段和值V字段,其中,所述T字段用于标识所述第一TLV字段携带所述第一节点标识和所述第一算法信息,所述L字段用于指示所述值V字段的长度,所述V字段携带所述第一节点标识和所述第一算法信息。
  16. 根据权利要求10至15中任一项所述的装置,其特征在于,所述第一算法信息包括第一算法标识,所述第一算法标识用于标识所述BGP转发路径所满足的需求。
  17. 根据权利要求16所述的装置,其特征在于,所述第一算法信息还包括度量metric类型标识和计算类型标识中的至少一项,所述metric类型标识用于指示所述BGP转发路径所满足的需求中的metric类型,所述计算类型标识用于指示所述BGP路径所满足的需求中的计算类型。
  18. 根据权利要求17所述的装置,其特征在于,所述metric类型包括IGP metric、低时延metric和流量工程metric中的至少一项。
  19. 一种路由控制装置,其特征在于,包括处理器和存储器,所述处理器和所述存储器耦合,所述处理器用于使得所述装置执行权利要求1至9中任一项所述的方法。
  20. 一种路由器,其特征在于,所述路由器包括权利要求19中所述的路由控制装置。
  21. 一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路互相通信,所述处理器用于执行所述存储器中的代码,其特征在于,当所述处理器执行所述代码时,所述芯片装置实现上述权利要求1至9中任一项所述的方法。
  22. 一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求1至9中任一项所述的方法的指令。
  23. 一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机上运行时,使得计算机实现上述权利要求1至9中任一项所述的方法。
PCT/CN2020/119148 2019-09-30 2020-09-30 路由控制方法和装置 WO2021063379A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20872161.3A EP4030703A4 (en) 2019-09-30 2020-09-30 ROUTING CONTROL METHOD AND APPARATUS
US17/707,177 US20220224631A1 (en) 2019-09-30 2022-03-29 Routing Control Method and Apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910945856.9A CN112583714B (zh) 2019-09-30 2019-09-30 路由控制方法和装置
CN201910945856.9 2019-09-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/707,177 Continuation US20220224631A1 (en) 2019-09-30 2022-03-29 Routing Control Method and Apparatus

Publications (1)

Publication Number Publication Date
WO2021063379A1 true WO2021063379A1 (zh) 2021-04-08

Family

ID=75117009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/119148 WO2021063379A1 (zh) 2019-09-30 2020-09-30 路由控制方法和装置

Country Status (4)

Country Link
US (1) US20220224631A1 (zh)
EP (1) EP4030703A4 (zh)
CN (1) CN112583714B (zh)
WO (1) WO2021063379A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709031B (zh) * 2021-08-30 2022-10-21 烽火通信科技股份有限公司 一种约束路由传输分发的方法和装置
CN115801654A (zh) * 2021-09-08 2023-03-14 中兴通讯股份有限公司 路由通告方法、路径建立方法、业务数据的传输方法
CN115996157A (zh) * 2021-10-15 2023-04-21 中兴通讯股份有限公司 路由报文处理方法、装置、存储介质及电子装置
CN116471220A (zh) * 2022-01-11 2023-07-21 华为技术有限公司 一种信息上报方法、信息处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1545072A1 (en) * 2003-12-19 2005-06-22 Alcatel Border router for a communication network
EP2933958A1 (en) * 2014-04-17 2015-10-21 Cisco Technology, Inc. Segment routing - egress peer engineering (SP-EPE)
CN105634940A (zh) * 2014-10-27 2016-06-01 中兴通讯股份有限公司 Sr信息获取方法及建立段路由网络的方法
CN107370675A (zh) * 2016-05-13 2017-11-21 华为技术有限公司 路由散播的方法和节点

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8072901B1 (en) * 2005-05-09 2011-12-06 Cisco Technology, Inc. Technique for efficient probing to verify policy conformance
JP4612645B2 (ja) * 2007-02-27 2011-01-12 日本電信電話株式会社 Mplsネットワークにおけるデータ転送方法、エッジルータ、as境界ルータおよびプログラム
CN107005474B (zh) * 2015-07-06 2020-10-16 华为技术有限公司 路由控制的方法、设备和系统
US10263881B2 (en) * 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1545072A1 (en) * 2003-12-19 2005-06-22 Alcatel Border router for a communication network
EP2933958A1 (en) * 2014-04-17 2015-10-21 Cisco Technology, Inc. Segment routing - egress peer engineering (SP-EPE)
CN105634940A (zh) * 2014-10-27 2016-06-01 中兴通讯股份有限公司 Sr信息获取方法及建立段路由网络的方法
CN107370675A (zh) * 2016-05-13 2017-11-21 华为技术有限公司 路由散播的方法和节点

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FILSFILS C, S. PREVIDI, L. GINSBERG, B. DECRAENE, S.LITKOWSKI, R.SHAKIR: "Segment Routing Architecture", INTERNET ENGINEERING TASK FORCE (IETF), REQUEST FOR COMMENTS: 8402, 1 July 2018 (2018-07-01), XP055797262, Retrieved from the Internet <URL:https://tools.ietf.org/pdf/rfc8402.pdf> [retrieved on 20210420] *
K. TALAULIKAR P. PSENAK CISCO SYSTEMS S. ZANDI G. DAWRA LINKEDIN: "Flexible Algorithm Definition Advertisement with BGP Link-State; draft-ietf-idr-bgp-ls-flex-algo-01.txt", FLEXIBLE ALGORITHM DEFINITION ADVERTISEMENT WITH BGP LINK-STATE; DRAFT-IETF-IDR-BGP-LS-FLEX-ALGO-01.TXT; INTERNET-DRAFT: INTER-DOMAIN ROUTING, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH, no. 01, 8 July 2019 (2019-07-08), Internet Society (ISOC) 4, rue des Falaises CH- 1205 Geneva, Switzerland, pages 1 - 13, XP015134079 *

Also Published As

Publication number Publication date
EP4030703A1 (en) 2022-07-20
CN112583714A (zh) 2021-03-30
CN112583714B (zh) 2022-10-18
US20220224631A1 (en) 2022-07-14
EP4030703A4 (en) 2023-10-11

Similar Documents

Publication Publication Date Title
US11784889B2 (en) Segment routing over label distribution protocol
US10601707B2 (en) Segment routing using a remote forwarding adjacency identifier
WO2021063379A1 (zh) 路由控制方法和装置
US11431633B2 (en) Label forwarding entry generation method and apparatus, packet sending method and apparatus, and device
US9319312B2 (en) Segment routing mapping server for LDP/SR interoperability
US11627070B2 (en) Data packet processing method and apparatus, storage medium, and electronic device
EP1913731B1 (en) Method and apparatus for enabling routing of label switched data packets
KR20220092970A (ko) 포워딩 엔트리 처리 방법 및 장치
JP2023547485A (ja) 次ホップ決定方法および装置
US12028249B2 (en) Resource aware forwarding in the network with abstract destination address and semantic addressing
US20230396544A1 (en) Resource aware forwarding in the network with abstract destination address and semantic addressing
EP3163812B1 (en) Method and apparatus for cross-layer path establishment
WO2023098703A1 (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: 20872161

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020872161

Country of ref document: EP

Effective date: 20220412