Filtered Topology for Path Computation in Large-Scale Networks

By employing an abstracted domain topology and filtered TED, the method addresses inefficiencies in path computation in large networks, reducing computation time and congestion through targeted path analysis.

CN116455811BActive Publication Date: 2025-07-15HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310564121.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-11-13
Filing Date
2021-02-04
Publication Date
2025-07-15
Estimated Expiration
2041-02-04

AI Technical Summary

Technical Problem

In large-scale networks, the prior art faces the problems of excessive computing time and network congestion when calculating the optimal path, especially in the process of network convergence, the complexity of path calculation increases with the number of nodes and links, resulting in extended network convergence time and potential congestion.

Method used

By using a filtered business engineering database (TED), the search space of network elements during path calculation is reduced, only relevant nodes and link subsets are considered, and unnecessary nodes and links are filtered out and the path calculation process is optimized.

Benefits of technology

It effectively reduces the path calculation time, reduces the risk of congestion during network convergence, and improves the efficiency and accuracy of path calculation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116455811B_ABST
    Figure CN116455811B_ABST
Patent Text Reader

Abstract

A filtering topology for path calculation in a large-scale network. Example network elements include one or more interfaces and a control unit, the control unit includes one or more processors, and the one or more processors are configured to determine an egress network domain identifier (ID) and determine an abstract inter-domain network topology. The one or more processors are further configured to determine one or more inter-domain paths from an abstract ingress domain node to an abstract egress domain node, and determine whether an abstract domain node is on one or more inter-domain paths. The one or more processors are configured to: based on the abstract domain node being on one or more inter-domain paths, include one or more resources within the network domain in a filtered traffic engineering database (TED), and based on the filtered TED, calculate a path from an ingress node within an ingress network domain to an egress node within an egress network domain.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Division Application Instructions

[0002] This application is a divisional application of a Chinese patent application with an application date of February 4, 2021, a priority date of November 13, 2020, an application number of 202110157295.3, and a title of "Filtered Topology for Path Calculation in Large-Scale Networks". Technical Field

[0003] This disclosure relates to computer networks and, more particularly, to engineering traffic flowing within a computer network. Background Art

[0004] A computer network is a collection of interconnected computing devices that exchange data and share resources. In a packet-based network (such as the Internet), computing devices communicate data by dividing the data into small chunks called packets, which are separately routed from a source device to a destination device across the network. The destination device extracts the data from the packets and assembles the data into its original format. Certain devices within the network (i.e., nodes), called routers, use routing protocols to exchange and accumulate topological information describing the network. This allows routers to construct a routing topology map of their own network. When receiving an input data packet, a router examines the keyed information within the packet and forwards the packet based on the accumulated topological information.

[0005] Many routing protocols fall into a class of protocols called Interior Gateway Protocols (IGPs), where flood-based distribution mechanisms are used to advertise topological information to routers within a network. These routing protocols typically rely on routing algorithms that require each router in the router to have synchronized routing topological information for a given domain (called an IGP area or domain).

[0006] Group-based networks increasingly utilize label switching protocols for traffic engineering and other purposes. Multiprotocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks based on routing information maintained by routers in the network. By leveraging the MPLS protocol, label-switching routers can forward traffic using labels prefixed to the traffic along a specific path through the network to a destination device, i.e., a Label Switching Path (LSP). An LSP defines a unique path through the network to carry MPLS packets from a source device to a destination device. Routers can use segment routing techniques (such as by using the Source Packet Routing in Networking (SPRING) paradigm) to use the Interior Gateway Protocol (IGP) to advertise network segments between nodes and construct single-hop or multi-hop tunnels within the IGP domain. To perform segment routing, an ingress router adds one or more labels in a label stack (e.g., a segment list) to the packet, and as the packet is forwarded through the network, intermediate routers along the path remove the labels applied to the packet from the label stack. SUMMARY OF THE INVENTION

[0007] Generally, the present disclosure describes techniques for determining an inter-domain path for routing network traffic.

[0008] According to the disclosed techniques, a network element, such as a router or a network controller, can calculate an inter-domain path by using abstract domain nodes representing network domains and a filtered Traffic Engineering Database (TED). The TED can include fast segments, nodes, and / or links on one or more inter-domain paths from an ingress node to an egress node.

[0009] In one example, the present disclosure relates to a method that includes determining an egress network domain identifier (ID) of an egress network domain; based on the egress network domain ID, determining an abstract inter-domain network topology, where the abstract inter-domain network topology includes an abstract ingress domain node, an abstract egress domain node, and an abstract first domain node, where the abstract ingress domain node includes an abstraction of all nodes within an ingress network domain, where the abstract egress domain node includes an abstraction of all nodes within an egress network domain, and where the abstract first domain node includes an abstraction of all nodes within a first network domain; determining one or more inter-domain paths from the abstract ingress domain node to the abstract egress domain node; determining whether the abstract first domain node is on one or more inter-domain paths; based on the abstract first domain node being on one or more inter-domain paths, including one or more resources within the first network domain in a filtered Traffic Engineering Database (TED); and based on the filtered TED, calculating a path from an ingress node within the ingress network domain to an egress node within the egress network domain.

[0010] In another example, the present disclosure relates to a network element, comprising: one or more interfaces; and a control unit communicatively coupled to the one or more interfaces, the control unit including one or more processors configured to: determine an egress network domain identifier (ID) of an egress network domain; determine an abstract inter-domain network topology based on the egress network domain ID, wherein the abstract inter-domain network topology includes an abstract ingress domain node, an abstract egress domain node, and an abstract first domain node, wherein the abstract ingress domain node includes an abstraction of all nodes within an ingress network domain, wherein the abstract egress domain node includes an abstraction of all nodes within the egress network domain, and wherein the abstract first domain node includes an abstraction of all nodes within a first network domain; determine one or more inter-domain paths from the abstract ingress domain node to the abstract egress domain node; determine whether the abstract first domain node is on the one or more inter-domain paths; include one or more resources within the first network domain in a filtered traffic engineering database (TED) based on the abstract first domain node being on the one or more inter-domain paths; and calculate a path from an ingress node within the ingress network domain to an egress node within the egress network domain based on the filtered TED.

[0011] In yet another example, the present disclosure relates to a non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to: determine an egress network domain network identifier (ID) of an egress network domain; determine an abstract inter-domain network topology based on the egress network domain ID, wherein the abstract inter-domain network topology includes an abstract ingress domain node, an abstract egress domain node, and an abstract first domain node, wherein the abstract ingress domain node includes an abstraction of all nodes within an ingress network domain, wherein the abstract egress domain node includes an abstraction of all nodes within the egress network domain, and wherein the abstract first domain node includes an abstraction of all nodes within a first network domain; determine one or more inter-domain paths from the abstract ingress domain node to the abstract egress domain node; determine whether the abstract first domain node is on the one or more inter-domain paths; include one or more resources within the first network domain in a filtered traffic engineering database (TED) based on the abstract first domain node being on the one or more inter-domain paths; and calculate a path from an ingress node within the ingress network domain to an egress node within the egress network domain based on the filtered TED.

[0012] Details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a block diagram illustrating an example network that supports the use of a filtered TED in accordance with the techniques of the present disclosure.

[0014] Figure 2A block diagram showing an example of an abstract inter-domain topology according to the technology of the present disclosure.

[0015] Figure 3 A block diagram showing an example of a fast segmentation between boundary nodes according to the technology of the present disclosure.

[0016] Figure 4 A block diagram of an example network domain that does not support fast segmentation according to the technology of the present disclosure.

[0017] Figure 5 A block diagram showing an example network element capable of operating according to the technology of the present disclosure.

[0018] Figure 6 A block diagram showing another example network element capable of operating according to the technology of the present disclosure.

[0019] Figure 7 A flowchart showing an example operation in which a network element calculates an inter-domain path according to the technology of the present disclosure. Detailed Description

[0020] Accurate and fast path calculation of the optimal path may be important during network convergence. Most routing algorithms have an order of complexity that depends on the number of nodes and links in the network. For example, for massively large network topologies, the path calculation time can increase sharply as the number of nodes and / or links increases. This sharp increase in the path calculation time can lead to a longer convergence time in the network. When the path of a flow in the network is determined by a single network element (e.g., an ingress label edge router (LEP) or a path computation element (PCE) in a network controller that represents paths for many ingress LERs), this sharp increase in the calculation time may be particularly evident. Generally, the larger the network, the greater the number of requests for path calculation. In some cases, since requests are processed in a queue, later requests for path calculation may take longer to complete, which may increase the chance(s) of network congestion during a convergence event.

[0021] When determining a path in a large network, it may be desirable to search for an optimal path. The search space can include all nodes and links in the network. To reduce the time spent by network elements in searching, it may be desirable to limit the search space so as to eliminate nodes and links that are known not to be part of the path before performing the search. For example, if a complete native topology is available, a subset of nodes and / or links related to a path computation request can be filtered. Link state messages can be exchanged and stored in a link state database (LSDB). The subset can be filtered into one or more filtered TEDs. For example, a network operator can define a filter to extract a subset from the entire network topology. In some examples, the topology can be further constrained, for example, based on capacity, based on domain, or otherwise.

[0022] Figure 1 is a block diagram showing an example network that supports the use of a filtered TED in accordance with the techniques of the present disclosure. In some examples, an optimal path in a very large network, such as an inter-domain network 190, can go from one access node to another by traversing an ingress access network domain 114A (also referred to herein as the ingress network domain 114A), a metro network domain 118A, a core network domain 120, a metro network domain 118F, and an egress access network domain 114G (also referred to herein as the egress network domain 114G). In some examples, another path can also include an access network domain 114F between the metro network domain 118F and the egress network domain 114G. These paths can generally be computed by the Border Gateway Protocol (BGP), with the shortest autonomous system inter-domain path being the best or optimal path (which can be based on the shortest number of hops). Once the shortest inter-domain path is determined, a path computation device, such as a PCE on a requesting router or a network controller, can look at each domain to find the shortest / best path within each domain. Without the filtering techniques of the present disclosure, the PCE on a network element, such as a requesting router or a network controller, would be presented with the complete topology of the very large network to perform path computation.

[0023] In accordance with the techniques of the present disclosure, a network element can reduce the search space by reducing the size of the topology on which the network element runs path computation. This reduction in the size of the topology can improve the aggregation of the very large network. For example, some nodes may not contribute to an end-to-end path. The network element can disregard such nodes when computing a path.

[0024] In some examples, relevant subsets of the topology of the overall topology are included in the filtered TED. The complete LS table in the Link State (LS) database can be filtered to determine relevant links / nodes that may be on one or more inter-domain paths. In some examples, there can be multiple TEDs, such as one TED per egress domain or one TED per egress domain-Virtual Private Network (VPN) combination. For example, a network element can filter out a subset of nodes or paths based on a request. For example, a network element can use link states, such as Border Gateway Protocol (BGP) link state, Interior Gateway Protocol (IGP) link state, etc. to determine the subset. An inter-domain path has an ingress node and an egress node. A network element can use information related to the ingress node and the egress node to determine a subset of network domains to be searched during inter-domain path calculation.

[0025] In some examples, a network element can use a topology filter to determine a subset of the network (e.g., which network domains can be on one or more inter-domain paths to an egress network domain). In some examples, a network element can also use a constraint filter to select only nodes and / or links in a network domain that meet additional constraints (such as at least a predetermined bandwidth, less than a predetermined latency, less than a predetermined jitter, etc.) on one or more inter-domain paths. In some examples, a network element can use domain IDs for filtering border nodes and connected egress peering engineering (EPE), fast segment, and / or segment routing identifier (SID).

[0026] In Figure 1 the example of, the inter-domain network 190 includes access network domains 114A - 114G (collectively access network domains 114). The inter-domain network 190 also includes metro network domains 118A - 118F (collectively metro network domains 118). The inter-domain network 190 also includes a core network domain 120. Border nodes 116A - 116J (collectively border nodes 116) are also depicted. Each border node of the border nodes 116 can belong to or be associated with two or more network domains. The border nodes 116 can include border routers. The ingress node 112 can be an ingress router (such as a provider edge router, which can be configured to provide an ingress to the ingress access network domain 114A). In some examples, a Path Computation Engine (PCE) of a network controller 128 can compute one or more inter-domain paths from the ingress node 112 to the egress node 122. In some other examples, the ingress node 112 can compute one or more inter-domain paths from the ingress node 112 to the egress node 122.

[0027] Border nodes 116A and 116B belong to or are associated with both the ingress access network domain 114A and the metro network domain 118A, and can provide access from the ingress access network domain 114A to the metro network domain 118A. Border nodes 116C and 116D belong to or are associated with both the metro network domain 118A and the core network domain 120, and can provide access from the metro network domain 118A to the core network domain 120. Border nodes 116E and border node 116F belong to or are associated with both the core network domain 120 and the metro network domain 118F, and can provide access from the core network domain 120 to the metro network domain 118F. Border nodes 116G - 116H belong to or are associated with both the metro network domain 118F and the egress access network domain 114G, and can provide access from the metro network domain 118F to the egress access network domain 114G. The egress node 118 can be a network element (such as a provider edge router, which can be configured to provide egress from the egress access network domain 114G). For example, the subscriber device 184 can be connected to the egress node 118 to obtain packets from the egress access network domain 114G. Additionally, border node 116I belongs to or is associated with both the metro network domain 118F and the access network domain 114F, and can provide access between the metro network domain 118F and the access network domain 114F. Border node 116J belongs to or is associated with both the access network domain 114F and the egress access network domain 114G, and can provide access between the access network domain 114F and the egress access network domain 114G.

[0028] In some examples, Figure 1 each of the network domains in the network domain can each include an Interior Gateway Protocol (IGP) area or domain, which includes a set of nodes (such as routers) under common administrative control and shares a common routing protocol. Example IGPs include Intermediate System - Intermediate System (IS - IS) and Open Shortest Path First (OSPF). In Figure 1 the illustrated example, the border nodes 116 can include border routers at the boundaries of and between different network domains. Although not shown in Figure 1As shown in FIG. 1 , each of the access network domain 114 , the metropolitan network domain 118 , and the core network domain 120 may include one or more other network elements that operate as transit routers or switches to forward traffic within the respective domains and traffic between the border nodes 116 .

[0029] Metropolitan network domains 118A and 118F and core network domain 120 are shown with IGP nodes represented by dots within the network. Although not shown in each network domain for simplicity, each of access network domain 114, metropolitan network domain 118, and core network domain 120 may include multiple IGP nodes.

[0030] As in Figure 1 , the ingress access network domain 114A may also be coupled to a network controller 128, which may operate as a software defined network (SDN) controller or other centralized controller that provides control plane operations and management for routers and other network devices within one or more of the access network domain 114, the metropolitan network domain 118, and the core network domain 120. For purposes of explanation, the network controller 128 is described herein as providing control plane operations and management for at least the ingress access network domain 114A. In some other examples, each of the access network domain 114, the metropolitan network domain 118, and the core network domain 120 may include a designated centralized controller.

[0031] The source of the network traffic received by the ingress node 112 may include one or more devices (not shown) and / or any public or private network or the Internet that provides traffic to the ingress node 112 in the inter-domain network 190. In addition, in some examples, the egress node 122 may act as an egress router. The destination of the network traffic forwarded through the inter-domain network 190 may include one or more destination devices (such as subscriber devices 184) and / or a network including multiple devices (which may include a LAN or a wide area network (WAN)). For example, the destination device may include a personal computer, a laptop computer, a workstation, a personal digital assistant (PDA), a wireless device, a network-ready appliance, a file server, a print server, or other devices that access the source via the inter-domain network 190.

[0032] exist Figure 1In an example, the border node 116 can use segment routing techniques, such as the SPRING paradigm, to use IGP or BGP to advertise segments between nodes and construct single-hop or multi-hop tunnels within each of the access network domain 114, the metro network domain 118, and the core network domain 120. Segment routing can engage IGP or BGP to advertise multiple types of segments. The first example type of segment is a "adjacency segment", which represents a single-hop tunnel that strictly forwards regardless of link cost and typically carries packets over a specific link between a router and a specific node. The second example type of segment is a "prefix segment", which represents a multi-hop tunnel that typically uses the lowest-cost path link between a router and a specific address prefix. The third example type of segment is a "binding segment", which represents a specific-domain tunnel between a router and a specific node or a specific address prefix.

[0033] Another example type of segment is a fast segment. A fast segment is a virtual link from one border node to another border node. For example, a fast segment is an SID, and an SID is an attribute of a virtual TE link that connects two border nodes of a domain. The virtual link is supported by one or more underlying LSPs (for example, such underlying LSPs can be set up using RSVP or segment routing traffic engineering). A fast segment has attributes and characteristics such as a physical link, such as capacity, latency, etc. A fast segment can include a border node-to-border node link, and the border node link can pass through other nodes within the domain, such as IGP nodes. In segment routing, the "path" information for segments is disseminated as part of the IGP link state information for the corresponding domain among routers within each of the access network domain 114, the metro network domain 118, and the core network domain 120. According to the present disclosure, at least the path information for fast segments is disseminated or advertised between the border node 116 using BGP and / or to a network controller 128 using BGP link state (BGP-LS). The ingress node 112 is configured to steer packets through an ordered list of instructions or segments by prepending one or more segment identifiers (SIDs) to the packets. In other words, the ingress node 112 can steer packets through a set of desired nodes and links by prepending an appropriate combination (stack) of SIDs to the packets based on the calculated path. Segment routing allows routers to force traffic through any topological path and service chain while maintaining per-flow state only at the ingress node of each domain.

[0034] Segment routing can be directly applied to a Multiprotocol Label Switching (MPLS) architecture without changes to the forwarding plane. A network administrator or a centralized controller (e.g., network controller 128) only needs to assign SIDs to specific routers, and the segment routing control plane architecture automatically constructs the required MPLS forwarding fabric from a router to any other router. The SIDs are encoded as MPLS labels, and an ordered list of SIDs is encoded as a stack of labels. The SID of the segment to be processed is at the top of the stack, and as the segment is completed and the packet is forwarded through the network, the relevant label is popped from the stack.

[0035] Segment routing is further described in "Segment Routing Architecture" IETF RFC 8402, July 2018 by Filsfils (et al.), and segment routing use cases are described in "Segment Routing Use Cases" IETF Internet-Draft draft-filsfils-spring-segment-routing-use-cases-01, October 21, 2014 by Filsfils (et al.), each of which is incorporated herein by reference. For more details on SPRING, see (1) "Segment Routing Policy Architecture" IETF Internet-Draft draft-ietf-spring-segment-routing-policy-06, December 14, 2019 by Filsfils (et al.); (2) "Source Packet Routing in Networking (SPRING) Problem Statement and Requirements" IETF RFC 7855, May 2016 by Previdi (et al.); and (3) "Segment Routing with MPLS Data Plane" IETF RFC 8660, December 2019 by Bashandy (et al.), each of which is incorporated herein by reference.

[0036] A further description of the establishment and use of prefix segments in the inter-domain network 190 is provided as an illustrative example. Each node of the nodes 116 can be associated with an address prefix. For example, an administrator or network controller 128 can assign a prefix to one or more of the border nodes 116. The prefix can be an address or an address block. The prefix corresponding to a node (such as a router) can include an Internet Protocol (IP) address (such as IPv4 or IPv6), an IP address block, or another type of data that identifies the node. Additionally, one or more of the border nodes 116 can be configured with a segment identifier (SID) associated with the prefix. Routers in the inter-domain network 190 can advertise their prefixes and SIDs to neighboring routers within the same network domain in the access network domain 114, metropolitan network domain 118, and core network domain 120 of the inter-domain network 190. When a router receives an advertisement, the router can forward the advertisement to its neighboring routers. A router that only forwards an advertisement is not considered to be the originator of the advertisement. Additionally, when a router receives an advertisement, the router determines whether the prefix specified in the advertisement is already associated with the SID specified in the advertisement. If so, and if the advertisement represents a new best path, the router can update the routing table in response to the advertisement such that the routing table indicates the next hop in the route to the prefix. If the advertisement represents an equal cost compared to an existing route, the router can add an equal cost multi-path (ECMP) next hop to the existing route.

[0037] If the advertisement specifies a prefix and SID that are not yet in the receiving router's LSDB or TED, the router can calculate a route to the prefix specified in the advertisement. In some examples, the router can calculate the route according to a shortest path algorithm or a strict shortest path algorithm. Additionally, in some examples, the advertisement can specify the type of algorithm used to calculate the route to the prefix specified in the advertisement. Additionally, the router can associate the SID specified in the advertisement with the calculated route to the prefix specified in the advertisement. In other words, the router can generate data that associates the SID with the route. Then, the router can install the route as an active route. Installing the route as an active route can include generating forwarding information that the forwarding component of the router can use to forward packets to the next hop of the route associated with the SID attached to the packet. For example, installing the route as an active route can include generating information in the forwarding table that maps the SID to the interface card attached to the link to the next hop of the route associated with the SID.

[0038] As illustrated in Figure 1 a network (such as the inter-domain network 190) can be partitioned into multiple IGP domains or areas, such as the access network domain 114, metropolitan network domain 118, and core network domain 120. In Figure 1In the example, border node 116A and border node 116B are in the ingress access network domain 114A, border nodes 116B, 116C, 116D, and border node 116E are in the metro network domain 118A, and border nodes 116C, 116D, 116E, and border node 112F are in the core network domain 120. Border nodes 116E - 116I are in the metro network domain 118F, and border node 116J is in both the access network domain 114F and the egress access network domain 114G. Nodes in a given domain typically do not store data describing nodes and routes within other domains, including prefixes and SIDs. For example, nodes in the first IGP domain typically do not store the LSDB or TED for any other IGP domain, and the corresponding prefixes and SIDs.

[0039] When an IGP advertisement initiated by a router in the ingress access network domain 114A reaches a border node (such as border node 116A or border node 116B) spanning the ingress access network domain 114A and the metro network domain 118A, the nodes spanning the network domains can discard the advertisement initiated in the ingress access network domain 114A, or re-initiate the advertisement in the metro network domain 118A. For example, in Figure 1 the example, if border node 116B receives an IGP advertisement initiated by ingress node 112 in the ingress access network domain 114A, border node 116B may not forward the advertisement to border node 116C in the metro network domain 118A.

[0040] After installing a route as an active route, the router can receive packets. In response to receiving a packet, the router can determine whether a stack of one or more labels is attached to the packet. The stack of labels includes an ordered sequence of labels. If no stack of labels is attached to the packet when the router receives the packet, or if no remaining labels are attached to the packet after the route removes the active label, the router forwards the packet to another node in the inter-domain network 190 without further using segment routing. For example, the router can forward the packet based on the IP address of the packet.

[0041] However, if the stack of labels still includes one or more labels, the router can determine the next hop of the route associated with the active label of the stack. The active label can be the label at the "top" of the stack. For example, the active label can be the label that first appears in the ordered sequence of labels attached to the packet. If the next hop of the route associated with the active label announces the active SID, the router can remove the active label from the stack of labels attached to the packet, potentially leaving one or more labels still attached to the packet. In other words, the router can "pop" the active label from the stack. Then, the router can forward the packet and the remaining labels of the stack to the next hop on the route associated with the active label. This system can allow a source node (such as ingress node 112) to control the path that the packet takes through the interdomain network 190.

[0042] The ingress node of each access network domain in the access network domain 114 can build an intra-domain LSP or an intra-domain segment routing (SR) tunnel within the corresponding domain, for example, using the Label Distribution Protocol (LDP) or the Resource Reservation Protocol with Traffic Engineering extensions (RSVP-TE). Then, the ingress node can provision a binding segment representing the intra-domain tunnel and assign a Binding SID (BSID) to the binding segment. The BSID can be attached to a virtual TE link and advertised as a fast segment. Traditionally, an inter-domain segment routing tunnel is constructed by using a list of BSIDs of intra-domain tunnels, essentially stitching together a sequence of intra-domain tunnels. For example, an inter-domain segment network tunnel across N domains can be completed by using a BSID list including SID_1, SID_2, …… SID_N, where SID_X is the BSID of the intra-domain tunnel across the Xth domain.

[0043] For example, the ingress node 112 can receive Network Layer Reachability Information (NLRI) (for the subscriber device 184) via Multiprotocol BGP (MP-BGP) and can obtain reachability information for the subscriber device 184. For example, the ingress node 112 can receive information about the egress node 122 via the BGP Next Hop (NH): egress node 122. In some embodiments, via On-Demand Next Hop (ODN), the ingress node 112 or the network controller 128 can calculate the path to the egress provider edge (PE): egress node 122.

[0044] In Figure 1In the example, the access network domains 114B - 114E and the metro network domains 118B - 118E do not provide a path from the ingress node 112 to the egress node 122. Thus, when calculating the inter - domain path from the ingress node 112 to the egress node 122, the access network domains 114B - 114E and the metro network domains 118B - 118E can be excluded from the subset of domains to be considered (e.g., excluded from the filtered TED).

[0045] The computing power of nodes may be limited. In some examples, network elements can group certain nodes into a domain in a multi - domain network. BGP can be used in a multi - domain network to pick the shortest hop. For example, the ingress node 112 wants to reach the egress node 122. The PCE of the network controller 128 can calculate one or more inter - domain paths from the ingress node 112 to the egress node 122.

[0046] Figure 2 is a block diagram showing an example of an abstract inter - domain topology according to the technology of the present disclosure. For example, a BGP - LS extension can be advertised by the border node 112 of ( Figure 1 such that the network controller 128 of ( Figure 1 knows that the egress node 122 is in the egress access network domain 114G. The network controller 128 can use domain ID advertisement for abstraction and filtering. For example, the network controller 128 can determine the egress network domain ID of the egress network domain. Based on the egress network domain ID, the network controller 129 can determine the abstract inter - domain network topology 190'. For example, the network controller 128 can know the ingress network domain ID and the egress network domain ID, and can abstract a single virtual node for each domain, and the single virtual node can be part of one or more inter - domain paths from the ingress node 112 of ( Figure 1 to the egress node 122. In this way, the network controller 128 may not see internal nodes, such as the IGP nodes represented by dots in Figure 1 . For example, the network controller 128 can abstract all nodes in the ingress access network domain 114A to the abstract ingress domain node 114A'. The network controller 128 can abstract all nodes in the metro network domain 118A to the abstract node 118A'. The network controller 128 can abstract all nodes in the core network 120 to the abstract node 120'. The network controller 128 can abstract all nodes in the metro network domain 118F to the abstract node 118F'. The network controller 128 can abstract all nodes in the access network domain 114F to the abstract node 114F', and all nodes in the egress access network domain 114G to the abstract node 114G'.

[0047] For example, a network element (such as network controller 128) may use the LSDB to derive an egress domain ID from the egress node 122. In some examples, network controller 128 may determine an abstract inter-domain network topology 190', where each domain is treated as an abstract node and the domains are connected via abstract links. Network controller 128 determines one or more inter-domain paths from the abstract ingress domain node 114A' to the abstract egress domain node 114G'. For example, network controller 128 may use the k shortest paths algorithm, based on the abstract inter-domain network topology 190' via abstract domain nodes, to determine the k shortest inter-domain paths from the abstract ingress domain node 114A' to the abstract egress domain node 114G'. In some examples, a user (such as a network operator) determines the value of k. In some examples, each domain across the entire network may be abstracted into its own abstract domain node. For example, in addition to the above abstract domain nodes, network controller 128 may abstract each access network domain in access network domains 114B - 114E into corresponding abstract domain nodes 114B' - 114E', and network controller 128 may abstract each metro network domain in metro network domains 118B - 118E into corresponding abstract metro network nodes 118B' - 118E'.

[0048] Network controller 128 may filter the links and / or nodes along one or more inter-domain paths (such as inter-domain path 192 or inter-domain path 194) in each inter-domain path of one or more inter-domain paths in the LS table, and decorate them with the corresponding route target (RT). For example, link state network layer reachability information (NRLI) may have (an) RT. The (an) RT may further be used to filter the links to determine a customized topology. Provider edge network elements (PEs) interested in a particular TED may import the links / nodes with a particular RT. Network controller 128 may ignore the network domains corresponding to the abstract domain nodes that do not lie along one or more inter-domain paths between the abstract ingress domain node 114A' and the abstract egress domain node 114G'. For example, in Figure 2Among them, the abstract access domain nodes 114B'-114E' and the abstract metro domain nodes 118B'-118E' that are not along the inter-domain path 192 or the inter-domain path 194 are shown in dashed lines for indication. Thus, the network controller 128 can ignore or filter any of the resources associated with the abstract access domain nodes 114B'-114E' and the abstract metro domain nodes 118B'-118E' within the network domain, thereby reducing the calculation of one or more paths from the filtered TED to only the relevant resources (e.g., the resources in the network domain associated with the abstract domain nodes on one or more inter-domain paths). "Filtering" as used herein can mean not importing, not copying to, filtering out, eliminating, removing, deleting, or otherwise not making or not keeping present in the filtered TED. Such network domains along one or more inter-domain paths between the ingress node 112 and the egress node 122 can be included in the filtered TED. "Including" as used herein can mean importing, copying to, not filtering out, or otherwise making or keeping present in the filtered TED. Any link or node in any network domain that is not ultimately connected to the network domain along one or more inter-domain paths can also be filtered out from the filtered TED. In some examples, the filtered TED can include a topology instantiated according to the ingress domain and the egress domain or a topology instantiated according to the ingress domain, the egress domain, and the presence of the VPN.

[0049] The network controller 128 can use the abstract inter-domain topology to determine which abstract domain nodes are on one or more inter-domain paths, and thereby determine which network domains have resources that should be in the filtered TED. For example, the filtered TED for path calculation between the abstract ingress domain node 114A' and the abstract egress domain node 114G' can have [source domain = abstract ingress domain node 114A', destination domain = abstract egress domain node 114G']. The inter-domain paths determined between the abstract ingress domain node 114A' and the abstract egress domain node 114G' can include: inter-domain path 192: {abstract ingress domain node 114A', abstract metro domain node 118A', abstract core domain node 120', abstract metro domain node 118F', abstract egress domain node 114G'}; and inter-domain path 194: {abstract ingress domain node 114A', abstract metro domain node 118A', abstract core domain node 120', abstract metro domain node 118F', abstract access domain node 114F', abstract egress domain node 114G'}.

[0050] Figure 3A block diagram illustrating an example of a fast segment between boundary nodes according to the techniques of the present disclosure. In some examples, a boundary node (such as any boundary node 116) can be associated with at least one fast segment. A fast segment is a virtual link from one boundary node to another boundary node. A fast segment has attributes and characteristics such as those of a physical link, such as capacity, latency, etc. A fast segment can include boundary node-to-boundary node links that can pass through other nodes within a domain, such as IGP nodes. For example, a fast segment 350 from boundary node 116C to boundary node 116E can include any link through any node (not shown for simplicity) that can provide a path from boundary node 116C to boundary node 116E. In some examples, the network controller 128 can use fast segments to further reduce the links and / or nodes included in the filtered TED.

[0051] For example, when boundary nodes (such as boundary node 116) are connected by fast segments, the network controller 128 can examine a particular fast segment to determine whether the particular fast segment is along one or more inter-domain paths between the ingress access network domain 114A and the egress access network domain 114G. When determining the filtered TED, the network controller 128 can exclude any fast segment that is not along the path from the ingress node 112 to the egress node 122. Fast segments along the path from the ingress node 112 to the egress node 122 can be included in the filtered TED. The network controller 128 can include a fast segment (such as fast segment 350) in the filtered TED as a link. In some examples, the filtered TED may not include any IGP links within a fast segment. In some examples, the filtered TED can include only fast segments and no IGP links, as Figure 3 represented by the depicted links, where each of the ingress node 112, the egress node 122, and the boundary node 116 includes fast segments to the other depicted nodes in its respective network domain.

[0052] In some examples, the network controller 128 may determine whether a first border node (e.g., border node 116C) associated with a first network domain (e.g., core network domain 120) is associated with at least one fast segment. Based on the first border node supporting fast segments, the network controller 128 may include one or more fast segments from at least one fast segment (e.g., fast segment 350) within the first network domain in the filtered TED. In some examples, the network controller 128 may determine whether a first fast segment (e.g., fast segment 350) within the first network domain is on one or more inter-domain paths (e.g., inter-domain path 192 or inter-domain path 194), and based on the first fast segment being on one or more inter-domain paths, include the first fast segment in the filtered TED. In another example, the network controller 128 may determine whether a second fast segment (e.g., fast segment 352) within the first network domain is on one or more inter-domain paths (e.g., inter-domain path 192 or inter-domain path 194). Based on the second fast segment not being on one or more inter-domain paths, the network controller 128 may filter the second fast segment out of the filtered TED. For example, a fast segment may be along an inter-domain path if both border nodes of the fast segment belong to or are associated with the network domains along the inter-domain path. If the border nodes of at least one fast segment do not belong to or are not associated with the network domains along the inter-domain path, then the fast segment may not be along the inter-domain path. For example, fast segment 352 connects border node 116C to border node 124. However, border node 124 is in both the core network domain 120 and the metro network domain 118C, and it is not along either inter-domain path 192 or inter-domain path 194. Accordingly, the network controller 128 may filter fast segment 352 out of the filtered TED. In this way, the network controller 128 may filter fast segments such that only the fast segments on one or more inter-domain paths are considered during path calculation.

[0053] In some examples, network controller 128 may determine a topology-based filtered TED for each egress domain. Network controller 128 may include the border nodes along one or more computed inter-domain paths in the filtered TED. For example, the filtered TED may include border nodes 116 because each of these border nodes lies along a path between ingress node 112 and egress node 122. The filtered TED may include the links that leave from and / or terminate on the included nodes. For example, border nodes 116G and 116H may announce both egress access network domain 114G and metro network domain 118F. Network controller 128 may create a new instance (e.g., a filtered TED) of the TED that depends on the ingress domain (e.g., ingress access network domain 114A) and the egress domain (e.g., access network domain 114G). Network controller 128 may eliminate the links to any nodes that are not ultimately linked to the ingress domain or the egress domain.

[0054] Figure 4 is a block diagram of an example network domain according to the techniques of the present disclosure that does not support fast segmentation. Network domain 202 may be an example of any one of access network domain 114, metro network domain 118, or core network domain 120. As can be seen from Figure 4 what is shown, each of border nodes 204A - 204D (collectively border nodes 204) has a link to each of routers 206A - 206D (collectively routers 206), and the routers may be IGP routers. Similarly, each of routers 206 has a link to each of the other routers 206. In this example, network domain 202 does not support fast segmentation. For example, no virtual links are directly shown between one border node 204 and another border node 204. If the border nodes of a network domain are not associated with any fast segmentation, network controller 128 may include the real links and / or nodes within the domain in the filtered TED. Thus, in this example, the filtered TED may have Figure 4 the shown links, border nodes 204, and each of routers 206. In some examples, the filtered TED may include a list of such fast segmentations and a list of any such IGP links and / or nodes, where the fast segmentations are from the fast segmentations of the border nodes of network domains that support fast segmentation along one or more inter-domain paths from ingress node 112 to egress node 122, and the any IGP links and / or nodes are from network domains that do not support fast segmentation along one or more inter-domain paths from ingress node 112 to egress node 122.

[0055] For each domain along the inter-domain path, the network controller 128 can examine each border node in these domains. For example, the network controller 128 can examine each border node in border nodes 116. When the border node is an Area Border Router (ABR), the border node resides between (at least) two domains. For example, border node 116A and border node 116B reside between the ingress access network domain 114A and the metro network domain 118A. If the border node belongs to the domain of the path calculated along the inter-domain, then the network controller 128 can include the node in the filtered TED. In some examples, only the fast segments connecting the imported border nodes can be included in the filtered TED. If the domain does not have or does not support fast segments, then the network controller 128 can include all IGP links of the domain in the filtered TED.

[0056] Figure 5 is a block diagram illustrating an example network element that can operate in accordance with the techniques of the present disclosure. Router 200 can represent an example of either the ingress node 112 or Figure 1 any of the border routers 116. Thus, although described with respect to the ingress node 112, the techniques should not be limited to the ingress node 112 as described in the example with respect to Figure 5 the example.

[0057] In Figure 5 the example, router 200 includes interface cards 254A - 254N ("IFC 254") that receive and transmit data units, such as packet flows, via network links 256A - 256N and network links 257A - 257N, respectively. Router 200 can include a chassis (not shown) having a number of slots for receiving a set of cards, including the IFC 254. Each card can be inserted into a corresponding slot of the chassis for electrically coupling the card to the routing component 244 via a high-speed switch (not shown), which can include, for example, a switching fabric, a switching device, a configurable network switch or hub, or other high-speed switching mechanism. The IFC 254 can be coupled to the network links 256A - 256N and network links 257A - 257N via a number of physical interface ports (not shown). Generally, the IFC 254 can each represent one or more network interfaces through which router 200 can interface with the links of the network.

[0058] Generally, router 200 can include a control unit 242 that determines the routing of received packets and forwards the packets accordingly via the IFC 254. In Figure 5 the example, the control unit 242 includes a routing component (control plane) 244 that configures and controls the packet forwarding operations applied by the forwarding component (data plane) 246.

[0059] The routing component 244 provides an operating environment for various routing protocols 270 that operate at different layers of the network stack. The routing component 244 is responsible for the maintenance of routing information 260 to reflect the current topologies of the networks and other network entities to which the router 200 is connected. In particular, based on routing protocol messages received by the router 200, the routing protocols periodically update the routing information 260 to accurately reflect the topologies of the networks and other entities. The protocols can be software processes executed on one or more processors. For example, the routing component 244 includes network protocols that operate at the network layer of the network stack and are typically implemented as executable software instructions.

[0060] In Figure 5 an example, the protocols 270 can include the Border Gateway Protocol (BGP) 271 for exchanging routing and reachability information among routing domains in a network, and BGP-LS 272 for exchanging traffic engineering and segment routing policy information among routing domains in a network. The BGP-LS protocol is described in detail in "Northbound Distribution of Link State and Traffic Engineering (TE) Information Using BGP" by H. Gredler (et al.), Internet Engineering Task Force (IETF) RFC 7752, March 2016, the entire content of which is incorporated herein by reference.

[0061] Protocol 270 may also include an IGP 273 for exchanging link state information and facilitating the forwarding of packets or other data units between routers within each routing domain in a routing domain. In some examples, based on one or more of the following, IGP 273 may include the OSPF routing protocol: RFC 2328, titled "OSPF Version 2", authored by J. Moy in April 1998; RFC 5340, titled "OSFP for IPv6", authored by R. Coltun (et al.) in July 2008; RFC 6845, titled "OSPF Hybrid Broadcast and Point-to-Multipoint Interface Types", authored by N. Shet (et al.) in January 2013; and RFC 8362, titled "Scalability of OSPFv3 Link State Advertisements (LSAs)", authored by A. Lindem (et al.) in April 2018. In some examples, IGP 273 may include the IS-IS routing protocol, which, according to RFC 1142, titled "OSI IS-IS Intra-Domain Routing Protocol", authored by D. Oran in February 1990 (ISO / IEC 10589, Revised, Latest Update in November 2002), implements an IGP for exchanging routes and reachability information within a routing domain. IGP 273 may include IS-IS extensions that support traffic engineering, as described in RFC 5305, titled "IS-IS Extensions for Traffic Engineering", authored by T. Li (et al.) in October 2008. In some examples, router 200 may include both OSPF components and IS-IS components.

[0062] Protocol 270 may also include a configuration protocol. For example, based on RFC 5440, titled "Path Computation Element (PCE) Communication Protocol (PCEP)", authored by J.P. Vasseur (et al.) in March 2009, protocol 270 may include PCEP 274, or based on RFC 6241, titled "Network Configuration Protocol (NETCONF)", authored by R. Enns (et al.) in June 2011, protocol 270 may include NETCONF (not shown). In some examples where router 200 includes ingress node 112, network controller 128 (from Figure 1 and Figure 3 ) may configure router 200 to have a list of SIDs 288 for a segment routing tunnel via PCEP 274 or a NETCONF component (not shown). Protocol 270 may include other routing protocols (not shown), such as the Label Distribution Protocol (LDP), the Resource Reservation Protocol with Traffic Engineering Extensions (RSVP-TE), the Routing Information Protocol (RIP), or other network protocols.

[0063] The routing component 244 includes a Segment Routing (SR) component 276 for implementing segment routing techniques that specify how the router 200 can supply and advertise SIDs for adjacency segments, prefix segments, binding segments, or fast segments according to the present disclosure. An ingress node (such as Figure 1 the ingress node 112) can use SIDs to steer packets through a controlled instruction set called segments by prepending an SID label stack to the packets in a segment routing header.

[0064] By executing a routing protocol, the routing component 244 identifies existing routes through the network and determines new routes through the network. The routing component 244 stores routing information 260, which includes, for example, known routes through the network. The forwarding component 246 stores forwarding information 262, which includes the destinations of the output links 257. The forwarding information 262 can be generated based on the routing information 260.

[0065] The routing component 244 includes a Link State Database (LSDB) 280 for storing domain topology information, which includes SIDs and label domains for the supplied segments (e.g., adjacency segments, prefix segments, and binding segments) within the routing domain of the router 200. The routing component 244 also includes a Traffic Engineering Database (TED) 282, which adds TE link attributes to the LSDB 280. Each of the LSDB 280 and the TED 282 can be in various forms of data structures, such as several tables, link lists, radix trees, databases, flat files, or other data structures.

[0066] In some examples, the router 200 can be an example of the ingress node 112, which can send LSDB and / or TED information to the network controller 128 via BGP-LS. The network controller 128 can use such information to generate a filtered TED and determine a path from the ingress node 112 to the egress node 122. The network controller 128 can send path information to the ingress node 112 via PCEP.

[0067] For example, the network controller 128 can determine the egress network domain ID of the egress network domain 114G. Based on the egress network domain ID, the network controller 128 can determine the abstract inter-domain network topology. The abstract inter-domain network topology can include an abstract ingress domain node 114A’, an abstract egress domain node 114G’, and an abstract first domain node (e.g., an abstract core domain node 120’). The abstract ingress domain node 114A’ includes an abstraction of all nodes within the ingress access network domain 114A. The abstract egress domain node 114G’ includes an abstraction of all nodes within the egress network domain 114G. The abstract first domain node (e.g., an abstract core domain node 120’) includes an abstraction of all nodes within the first network domain (e.g., the core network domain 120). The network controller 128 can determine one or more inter-domain paths (e.g., inter-domain path 192 and / or inter-domain path 194) from the abstract ingress domain node 114A’ to the abstract egress domain node 114G’.

[0068] The network controller 128 can determine whether the abstract first domain node (e.g., the abstract core domain node 120’) is on one or more inter-domain paths (e.g., inter-domain path 192 and / or inter-domain path 194). Based on the abstract first domain node being on one or more inter-domain paths, the network controller 128 can include one or more resources within the first network domain in the filtered TED 286. The network controller 128 can calculate a path from the ingress node 112 within the ingress network domain 114A to the egress node 122 within the egress network domain 114G based on the filtered TED 286.

[0069] The LSDB 280 can store the (multiple) fast segments 284 for the router 200. For example, the LSBD 280 can store virtual links between the router 200 (in an example where the router 200 is a border node) and another border node within the same network domain.

[0070] In some examples, the router 200 can include an ingress node that can be configured to calculate inter-domain paths. For example, the router 200 can calculate paths instead of sending LSDB and / or TED information to the network controller 128 for path calculation. In such examples, the router 200 can include a filtered TED 286 (shown in dashed lines), which can include abstract domain nodes, fast segments, and / or IGP links and / or nodes according to the techniques of the present disclosure. In an example where the router 200 includes an ingress node for an inter-domain segment routing tunnel, the routing component 244 can also include a SID list 288 for the inter-domain segment routing tunnel. In some examples, the network controller 128 can utilize the SID list 288 for the inter-domain segment routing tunnel via PCEP 274 to provision the inter-domain segment routing tunnel and program the router 200 as an ingress node.

[0071] Regardless of how the inter-domain segment routing tunnel is provisioned, the routing component 244 stores a list 288 of SIDs for the inter-domain segment routing tunnel. Based on the SID list 288, the routing component 244 creates a segment routing label stack for the inter-domain segment routing tunnel. When a packet destined for the egress node of the inter-domain segment routing tunnel is received, the forwarding component 246 attaches the segment routing stack to the packet and forwards the packet according to the segment routing label stack.

[0072] Although described with respect to a router for purposes of example, more generally, the router 200 can be a network device having routing functionality and need not be a dedicated routing device. Shown only for purposes of example Figure 5 the illustrated architecture of the router 200. The techniques of the present disclosure are not limited to this architecture. In some other examples, the router 200 can be configured in various ways. In one example, some of the functionality of the control unit 242 can be distributed within the IFC 254. In another example, the control unit 242 can include multiple packet forwarding engines operating as slaves to the router.

[0073] The control unit 242 can be implemented solely in software or hardware, or can be implemented as a combination of software, hardware, or firmware. For example, the control unit 242 can include one or more processors that execute program code in the form of software instructions. In such a case, the various software components / modules of the control unit 242 can include executable instructions stored on a computer-readable storage medium (such as computer memory or a hard disk).

[0074] Figure 6 is a block diagram showing an example network element capable of operating in accordance with the techniques of the present disclosure. The network element 300 can be Figure 1 an example of the controller 128. In Figure 6 the illustrated architecture of the network element 300, shown only for purposes of example and should not be limited to this architecture. In some other examples, the network element 300 can be configured in a variety of ways.

[0075] The network element 300 can include a control unit 312 coupled to a network interface 314 to exchange packets with other network devices via an inbound link 316 and an outbound link 318. The control unit 312 can include one or more processors (not shown) that execute software instructions (such as those used to define a software or computer program), the software instructions being stored on a computer-readable storage medium (not shown). Alternatively or additionally, the control unit 312 can include dedicated hardware for performing the techniques described herein.

[0076] The control unit 312 provides an operating environment for the Network Topology Abstraction Daemon (NTAD) 320, the Path Computation Element (PCE) 324, and the Segment Routing (SR) component 338. In one example, these units may be implemented as one or more processes executing on one or more virtual machines of one or more servers. That is, although typically illustrated and described as executing on a single network element 300, various aspects of these units may also be delegated to other computing devices. The control unit 312 also provides an operating environment for several protocols 322 including BGP-LS 340.

[0077] The control unit 312 may use BGP-LS 340 to receive link state information from border nodes within one or more domains of a computer network (e.g., border node 116 from the access network domain 114, the metro network domain 118, or the core network domain 120 of network 100 of Figure 1 ). The control unit 312 may also forward the received link state information to the NTAD 320. The NTAD 320 may generate a network topology based on the received link state information. In some examples, the control unit may include routing information 360, an LSDB 380 that may include fast segments 384, a TED 382, and / or a filtered TED 386. The LSDB 380 may store inter-domain network 190 domain topology information, including SIDs and labels for the provisioned segments, such as fast segments, adjacent segments, prefix segments, and binding segments. The TED 382 may add TE link attributes to the LSDB 380. Each of the LSDB 280 and the TED 282 may be various forms of data structures, such as several tables, link lists, radix trees, databases, flat files, or other data structures. According to the techniques of the present disclosure, the filtered TED 386 may include network domains, abstract domain nodes, fast segments, nodes, and / or links.

[0078] As Figure 6As shown, the PCE 324 includes a path calculation unit 326, a topology unit 328, and a path provisioning unit 330. The NTAD 320 may forward topology data to the topology unit 328 of the PCE 324. The topology unit 328 may receive topology data describing the available resources of a computer network, including access, aggregation, and border nodes, their interfaces, and interconnected communication links. The path calculation unit 326 of the PCE 324 may use the topology data received by the topology unit 328 to calculate a path across the computer network. For example, the NTAD 320 may determine the egress network domain ID of the egress network domain 114G. Based on the egress network domain ID, the NTAD 320 may determine an abstract inter-domain network topology. The abstract inter-domain network topology may include an abstract ingress domain node 114A’, an abstract egress domain node 114G’, and an abstract first domain node (e.g., an abstract core domain node 120’). The abstract ingress domain node 114A’ includes an abstraction of all nodes within the ingress network domain 114A. The abstract egress domain node 1145G’ includes an abstraction of all nodes within the egress network domain 114G. The abstract first domain node (e.g., an abstract core domain node 120’) includes an abstraction of all nodes within the first network domain (e.g., the core network domain 120). The path calculation unit 326 may determine one or more inter-domain paths (e.g., inter-domain path 192 and / or inter-domain path 194) from the abstract ingress domain node 114A’ to the abstract egress domain node 114G’.

[0079] The path calculation unit 326 may determine whether the abstract first domain node (e.g., the abstract core domain node 120) is on one or more inter-domain paths (e.g., inter-domain path 192 and / or inter-domain path 194). Based on the abstract first domain node being on one or more inter-domain paths, the path calculation unit 326 may include one or more resources within the first network domain in the filtered TED 386. The path calculation unit 326 may calculate a path from an ingress node 112 within the ingress network domain 114A to an egress node 122 within the egress network domain 114G based on the filtered TED 286. When calculating the path, the path calculation unit 326 may schedule the path for provisioning through the path provisioning unit 330. The calculated path includes path information that can be used by the path provisioning unit 330 to establish a path in the network. For example, the path provisioning unit 330 may send the path information to network devices to direct the network devices to establish at least a portion of the path in the network. Provisioning the path may require path verification before submitting the path for packet transport.

[0080] The routing component 244 includes a Link State Database (LSDB) 280 for storing domain topology information, where the domain topology information includes SIDs and label fields for the provisioned segments (e.g., adjacent segments, prefix segments, and binding segments) within the routing domain of the router 200. The routing component 244 also includes a Traffic Engineering Database (TED) 282, and the Traffic Engineering Database (TED) 282 adds TE link attributes to the LSDB 280. Each of the LSDB 280 and the TED 282 can be various forms of data structures, such as several tables, link lists, radix trees, databases, flat files, or other data structures.

[0081] Figure 7 is a flowchart showing an example operation of a network element calculating an inter-domain path according to the technology of the present disclosure. One or more processors of the control unit 312 may determine the egress network domain ID of the egress network domain 114G (402). For example, the control unit 312 may read from the link state database the egress network domain ID of the egress network domain 114G including the egress node 122. Based on the egress network domain ID, the control unit 312 may determine an abstract inter-domain network topology (404). For example, the control unit 312 may determine the abstract inter-domain network topology to include an abstract ingress domain node 114A’, an abstract egress domain node 114G’, and an abstract first domain node (e.g., an abstract core domain node 120’). The control unit 312 may determine the abstract ingress domain node 114A’ to include an abstraction of all nodes within the ingress network domain 114A. The control unit 312 may determine the abstract egress domain node 114G’ to include an abstraction of all nodes within the egress network domain 114G. One or more processors of the control unit 312 may determine an abstract first domain node (e.g., an abstract core domain node 120’) to include an abstraction of all nodes within the first network domain (e.g., the core network domain 120).

[0082] The control unit 312 may determine one or more inter-domain paths from the abstract ingress domain node to the abstract egress domain node (406). For example, the control unit 312 may determine that the network domain IDs for each network domain (e.g., the metro network domain 118A, the core network domain 120, the metro network domain 118F, and the access network domain 114F) are on one or more paths from the abstract ingress domain node 114A’ to the abstract egress domain node 114G’. For example, the control unit 312 may employ a K-means algorithm to determine up to K paths from the abstract ingress domain node 114A’ to the abstract egress domain node 114G’.

[0083] The control unit 312 can determine whether the abstract first domain node is on one or more inter-domain paths (408). For example, the control unit 312 can determine whether the first network domain ID associated with the abstract first domain node (e.g., the abstract core network domain node 120') is on the inter-domain path 192 or the inter-domain path 194.

[0084] Based on the abstract first domain node being on one or more inter-domain paths, the control unit 312 can include one or more resources within the first network domain in the filtered TED (410). For example, the control unit 312 can add or retain (e.g., not filter out) at least one link or node from the first network domain (e.g., the core network domain 120) in the filtered TED. The control unit 312 can calculate a path from an ingress node within the ingress network domain to an egress node within the egress network domain based on the filtered TED (412). For example, the control unit 312 can use the filtered TED 386 instead of the TED 382 to calculate the path from the ingress node 112 to the egress node 118.

[0085] In some examples, the abstract inter-domain network topology further includes an abstract second domain node (e.g., the abstract metro domain node 118B'). The abstract second domain node can include an abstraction of all nodes within the second network domain (e.g., the metro network domain 118B). The control unit 312 can determine whether the abstract second domain node is on one or more inter-domain paths (e.g., the inter-domain path 192 or the inter-domain path 194). Based on the abstract second domain node not being on one or more inter-domain paths, the control unit 312 can filter out one or more resources within the second network domain (e.g., the metro network domain 118B) from the filtered TED.

[0086] In some examples, the control unit 312 can determine whether the abstract first domain node meets a constraint, and further based on the abstract first domain node meeting the constraint, include one or more resources within the first network domain in the filtered TED 386. For example, the constraints can include: whether the node participates in a virtual private network, whether it has a predetermined time or less delay, whether it has a predetermined amount or less jitter, whether it has a predetermined amount or more bandwidth, etc.

[0087] In some examples, the control unit 312 can determine whether a first boundary node (e.g., the boundary node 116A) associated with the first network domain (e.g., the metro network domain 1118A) is associated with at least one fast section 284. Including one or more resources within the first network domain in the filtered TED 286 can include: based on the first boundary node being associated with a fast section, the control unit 312 can include one or more fast sections of at least one fast section 284 within the first network domain in the filtered TED 286.

[0088] In some examples, including one or more fast segments within the first network domain in the filtered TED may include: the control unit 312 determines whether the first fast segment (e.g., fast segment 350) established between the first boundary node and the second boundary node is on one or more inter-domain paths (e.g., inter-domain path 192 or inter-domain path 194) based on whether the first boundary node (such as boundary node 116C) and the second boundary node (e.g., boundary node 116E) within the first network domain (e.g., core network domain 120) are associated with other network domains having abstract domain nodes on one or more inter-domain paths. Based on the first fast segment (e.g., fast segment 350) being on one or more inter-domain paths, the control unit 312 may include the first fast segment in the filtered TED 286.

[0089] In some examples, the control unit 312 is further configured to: determine whether the second fast segment (e.g., fast segment 352) established between the first boundary node (e.g., boundary node 116C) and the third boundary node (e.g., boundary node 124) associated with the first network domain (e.g., core network domain 120) is on one or more inter-domain paths (e.g., inter-domain path 192 or inter-domain path 194) based on whether the first boundary node and the third boundary node are associated with other network domains having abstract domain nodes on one or more inter-domain paths. Based on the second fast segment (e.g., fast segment 352) not being on one or more inter-domain paths, the control unit 312 may filter out the second fast segment from the filtered TED 286.

[0090] In some examples, the abstract inter-domain network topology further includes an abstract second domain node. The abstract second domain node includes an abstraction of all nodes within the second network domain (e.g., Figure 4 network domain 202). The control unit 312 may determine whether the abstract second domain node is on one or more inter-domain paths, and based on the abstract second domain node being on one or more inter-domain networks, the control unit 312 may determine whether the second boundary point (boundary node 204A) associated with the second network domain is associated with at least one fast segment, and based on the second boundary node not being associated with at least one fast segment, include one or more links and one or more nodes (e.g., boundary node 204A, router 206A, and boundary node 204C and the links between them) within the third network domain in the filtered TED 286.

[0091] In some examples, the network element includes a router. In some examples, the network element includes a network controller. In some examples, the controller unit includes a path computation element (PCE).

[0092] The techniques described in this disclosure may be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, aspects of the described techniques may be implemented within one or more processors, including one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components. The term "processor" or "processing circuitry" generally may refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry. A control unit including hardware may also perform one or more of the techniques of this disclosure.

[0093] Such hardware, software, and firmware may be implemented within the same device or in different devices to support the various operations and functions described in this disclosure. Additionally, any of the described units, modules, or components may be implemented together or separately as discrete but co - operative logic devices. Describing different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be implemented by separate hardware or software components. Rather, the functions associated with one or more modules or units may be performed by separate hardware or software components, or may be integrated within common or separate hardware or software components.

[0094] The techniques described in this disclosure may also be implemented or encoded in a computer - readable medium, such as a computer - readable storage medium, that contains instructions. The instructions embedded or encoded in the computer - readable medium may cause a programmable processor or other processor to perform the method, for example, when the instructions are executed. The computer - readable medium may include non - transitory computer - readable storage media and transitory communication media. Tangible and non - transitory computer - readable storage media may include random access memory (RAM), read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), flash memory, hard disks, CD - ROMs, floppy disks, cassette tapes, magnetic media, optical media, or other computer - readable storage media. The term "computer - readable storage medium" refers to physical storage media, rather than signals, carriers, or other transitory media.

[0095] Aspects of the techniques have been described. These and other aspects are within the scope of the appended claims.

Claims

1. A method for path calculation, comprising: Determining an export network domain identifier (ID) of an export network domain; Based on the export network domain ID, determining an abstract inter-domain network topology, wherein the abstract inter-domain network topology includes an abstract ingress domain node, an abstract export domain node, and an abstract first domain node, wherein the abstract ingress domain node includes an abstraction of a plurality of nodes within an ingress network domain, wherein the abstract export domain node includes an abstraction of a plurality of nodes within the export network domain, and wherein the abstract first domain node includes an abstraction of a plurality of nodes within a first network domain; Determining one or more inter-domain paths from the abstract ingress domain node to the abstract export domain node; Determining whether the abstract first domain node is on the one or more inter-domain paths; Based on the abstract first domain node not being on the one or more inter-domain paths, filtering out one or more resources within the first network domain from a filtered traffic engineering database (TED); And Based on the filtered TED, calculating a path from an ingress node within the ingress network domain to an export node within the export network domain.

2. The method according to claim 1, wherein the abstract inter-domain network topology further includes an abstract second domain node, the abstract second domain node including an abstraction of a plurality of nodes within a second network domain, the method further comprising: Determining whether the abstract second domain node is on the one or more inter-domain paths; Based on the abstract second domain node being on the one or more inter-domain paths, including one or more resources within the second network domain in the filtered TED.

3. The method according to claim 2, further comprising: Determining whether the abstract second domain node satisfies a constraint, wherein including the one or more resources within the second network domain in the filtered TED is further based on the abstract second domain node satisfying the constraint.

4. The method according to any one of claims 1 to 3, wherein determining the egress network domain ID comprises: Reading the export network domain ID of the export network domain including the export node from a link state database.

5. The method according to claim 2 or 3, further comprising: Determining whether a first border node associated with the second network domain is associated with at least one fast section, wherein including the one or more resources within the second network domain in the filtered TED includes: based on the first border node being associated with a fast section, including one or more fast sections of the at least one fast section within the second network domain in the filtered TED.

6. The method according to claim 5, wherein including the one or more fast sections within the second network domain in the TED includes: Based on whether the first border node and a second border node associated with the second network domain are associated with other network domains having abstract domain nodes on the one or more inter-domain paths, determining whether a first fast section established between the first border node and the second border node is on the one or more inter-domain paths; And On the one or more inter - domain paths based on the first fast segmentation, include the first fast segmentation in the filtered TED.

7. The method according to claim 6, further comprising: Based on whether the first border node and a third border node associated with the second network domain are associated with other network domains having abstract domain nodes on the one or more inter - domain paths, determine whether a second fast segmentation established between the first border node and the third border node is on the one or more inter - domain paths; And Based on the second fast segmentation not being on the one or more inter - domain paths, filter out the second fast segmentation from the filtered TED.

8. The method according to claim 5, wherein the abstract inter - domain network topology further includes an abstract third domain node, and wherein the abstract third domain node includes an abstraction of a plurality of nodes within a third network domain, the method further comprising: Determine whether the abstract third domain node is on the one or more inter - domain paths; Based on the abstract third domain node being on the one or more inter - domain paths, determine whether a second border node associated with the third network domain is associated with one or more fast segmentations; and Based on the third network domain not being associated with one or more fast segmentations, include one or more links and one or more nodes within the third network domain in the filtered TED.

9. A network element, comprising: One or more interfaces; And A control unit in communication with the one or more interfaces, the control unit including one or more processors configured to: Determine an export network domain identifier (ID) of an export network domain; Based on the export network domain ID, determine an abstract inter - domain network topology, wherein the abstract inter - domain network topology includes an abstract entry domain node, an abstract export domain node, and an abstract first domain node, wherein the abstract entry domain node includes an abstraction of a plurality of nodes within an entry network domain, wherein the abstract export domain node includes an abstraction of a plurality of nodes within the export network domain, and wherein the abstract first domain node includes an abstraction of a plurality of nodes within a first network domain; Determine one or more inter - domain paths from the abstract entry domain node to the abstract export domain node; Determine whether the abstract first domain node is on the one or more inter - domain paths; Based on the abstract first domain node not being on the one or more inter - domain paths, filter out one or more resources within the first network domain from a filtered traffic engineering database (TED); And Based on the filtered TED, calculate a path from an entry node within the entry network domain to an export node within the export network domain.

10. The network element according to claim 9, wherein the abstract inter - domain network topology further includes an abstract second domain node, the abstract second domain node including an abstraction of a plurality of nodes within a second network domain, and wherein the control unit is further configured to: Determine whether the abstract second domain node is on the one or more inter - domain paths; Include one or more resources within the second network domain in the filtered TED based on the abstract second domain node being on the one or more inter-domain paths.

11. The network element according to claim 10, wherein the control unit is further configured to: Determine whether the abstract second domain node satisfies a constraint, wherein the one or more resources within the second network domain are also included in the filtered TED based on the abstract second domain node satisfying the constraint.

12. The network element according to any one of claims 9 to 11, wherein the control unit is configured to: determine the egress network domain ID by reading the egress network domain ID of the egress network domain including the egress node from a link state database.

13. The network element according to claim 10 or 11, wherein the control unit is further configured to: Determine whether a first border node associated with the second network domain is associated with at least one fast segment, wherein, to include the one or more resources within the second network domain in the filtered TED, the control unit is configured to: include one or more fast segments among the at least one fast segment within the second network domain in the filtered TED based on the first border node being associated with at least one fast segment.

14. The network element according to claim 13, wherein, to include the one or more resources within the second network domain in the filtered TED, the control unit is configured to: Determine whether a first fast segment established between the first border node and a second border node associated with the second network domain is on the one or more inter-domain paths based on whether the first border node and the second border node associated with the second network domain are associated with other network domains having abstract domain nodes on the one or more inter-domain paths; and Include the first fast segment in the filtered TED based on the first fast segment being on the one or more inter-domain paths.

15. The network element according to claim 14, wherein the control unit is further configured to: Determine whether a second fast segment established between the first border node and a third border node associated with the second network domain is on the one or more inter-domain paths based on whether the first border node and the third border node associated with the second network domain are associated with other network domains having abstract domain nodes on the one or more inter-domain paths; and Filter out the second fast segment from the filtered TED based on the second fast segment not being on the one or more inter-domain paths.

16. The network element according to claim 13, wherein the abstract inter-domain network topology further includes an abstract third domain node, and wherein the abstract third domain node includes an abstraction of a plurality of nodes within a third network domain, and wherein the control unit is further configured to: Determine whether the abstract third domain node is on the one or more inter-domain paths; Based on the abstract third - domain node being on the one or more inter - domain paths, determine whether a second border node associated with the third network domain is associated with at least one fast segment; Based on the second border node not being associated with at least one fast segment, include one or more links and one or more nodes within the third network domain in the filtered TED.

17. The network element according to any one of claims 9 to 11, wherein the network element comprises a router.

18. The network element according to any one of claims 9 to 11, wherein the network element comprises a network controller.

19. The network element according to any one of claims 9 to 11, wherein the control unit comprises a path computation element (PCE).

20. A computer - readable storage medium encoded with instructions for causing one or more programmable processors to perform the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Apparatus and method for computing end-to-end paths through a network comprising a plurality of network domains

    CN104365072A

  • System, method, and device for communication between network segments

    CN111886834A