Mechanism to indicate that a route advertised in a link-state protocol data unit (LSP) is a summary route

EP4754947A1Pending Publication Date: 2026-06-10TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Filing Date
2023-08-02
Publication Date
2026-06-10

AI Technical Summary

Technical Problem

In IS-IS routing protocols, summary routes advertised in LSPs are indistinguishable from local routes, leading to potential traffic loss when an area border router (ABR) is overloaded and has not fully booted up or established adjacencies with its neighbors.

Method used

A mechanism is introduced for an ABR to indicate in an LSP that a route is a summary route, using a specific bit in the prefix attribute flags sub-TLV, allowing other routers to refrain from considering paths that transit the ABR when it is overloaded.

Benefits of technology

This mechanism helps prevent traffic loss by ensuring that other routers do not forward traffic through an overloaded ABR that has not fully booted up or established adjacencies, thereby maintaining network stability and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMGF000008_0001
    Figure IMGF000008_0001
  • Figure 00000021_0000
    Figure 00000021_0000
  • Figure 00000022_0000
    Figure 00000022_0000
Patent Text Reader

Abstract

A method performed by an area border router (ABR) that borders a first area and a second area of a network. The method includes generating a link-state protocol data unit (LSP) that includes an indication that a route is reachable via the ABR and an indication that the route is a summary route, wherein the route summarizes routes advertised in the first area and sending the LSP to one or more neighbors in the second area.
Need to check novelty before this filing date? Find Prior Art

Description

MECHANISM TO INDICATE THAT A ROUTE ADVERTISED IN A LINK-STATEPROTOCOL DATA UNIT (LSP) IS A SUMMARY ROUTETECHNICAL FIELD

[0001] Embodiments disclosed herein relate to the field of computer networks, and more specifically, to a mechanism to indicate that a route advertised in a link-state protocol data unit (LSP) is a summary route.BACKGROUND

[0002] The Intermediate System to Intermediate System routing protocol (sometimes referred to as “IS-IS” and “ISIS”) is an interior gateway protocol (IGP) designed for use within an administrative domain or network. IS-IS is classified as a link-state routing protocol that operates by flooding link-state information throughout a network of routers. IS-IS routers flood link-state information using link-state protocol data units (LSPs). Each IS-IS router independently builds a database of the network topology based on aggregating the flooded link-state information. An ISIS router may use Dijkstra's algorithm or other shortest path computation algorithm to determine the best paths to reach a destination through the network and store the best paths in its routing table.

[0003] When performing hardware and / or software maintenance operations on a router (e.g., a line card replacement, software upgrade, etc.), it is a common practice to configure the IS-IS router to set the overload bit in the LSPs that the IS-IS router sends. Setting the overload bit signals to other IS-IS routers in the network not to use the IS-IS router that sent the LSP as a transit router when forwarding traffic. This allows the IS-IS router to continue participating in IS-IS routing and be reachable but prevents other IS-IS routers from using the IS-IS router as a transit router when forwarding traffic. When the maintenance operations are finished, the IS-IS router may clear the overload bit from the LSPs that it sends, which then allows other IS-IS routers to use the IS-IS router as a transit router when forwarding traffic. When an LSP has multiple fragments (e.g., identified by the LSP number), the overload bit may only have relevance for LSP number 0 and the overload bits present in the other LSPs are disregarded.

[0004] Some IS-IS routers can be configured to set the overload bit in LSPs when they first boot up. For example, an IS-IS router may be configured by issuing the command "set-overload-bit on-startup < interval > " to the IS-IS router, where “ <interval>” specifies for how long after boot up the IS-IS router should set the overload bit. Issuing this command to the IS-IS router causes the IS-IS router to set the overload bit in the LSP that it sends after boot up for the specified interval,which prevents the IS-IS router from attracting transit traffic until all its interfaces and adjacencies are up. The IS-IS router may clear the overload bit from the LSPs that it sends after the specified interval, making the IS-IS router available for forwarding transit traffic. The interval can be configured to be several seconds long to ensure that the IS-IS router is fully booted up before it can be used for forwarding transit traffic.

[0005] IS-IS allows for route summarization. Route summarization aggregates multiple routes into a single summary route for advertisement in LSPs. Route summarization may help to reduce the size of the link-state database and / or the routing table, reduce convergence times, and / or improve network scalability.

[0006] A summary route advertised by an IS-IS router is indistinguishable from local routes advertised by the IS-IS router. That is, a summary route advertised by an IS-IS router appears to be a local route to other IS-IS routers. As a result, even if an IS-IS router advertises a summary route in an LSP with the overload bit set, other IS-IS routers may still use the advertising IS-IS router as a transit router to forward traffic to destinations covered by the summary route. However, if the advertising IS-IS router has not fully booted up and established adjacencies with its neighbors, the advertising IS-IS router may drop the traffic, resulting in traffic loss.SUMMARY

[0007] A method performed by an area border router (ABR) that borders a first area and a second area of a network. The method includes generating a link-state protocol data unit (LSP) that includes an indication that a route is reachable via the ABR and an indication that the route is a summary route, wherein the route summarizes routes advertised in the first area. The method further includes sending the LSP to one or more neighbors in the second area.

[0008] A non-transitory machine-readable medium comprising computer program code which when executed by a network device functioning as an area border router (ABR) that borders a first area and a second area of a network carries out operations including generating a link-state protocol data unit (LSP) that includes an indication that a route is reachable via the ABR and an indication that the route is a summary route, wherein the route summarizes routes advertised in the first area. The operations further include sending the LSP to one or more neighbors in the second area.

[0009] A network device to function as an area border router (ABR) that borders a first area and a second area of a network. The network device includes one or more processors and a non- transitory machine-readable storage medium that stores instructions, which when executed by the one or more processors, causes the ABR to perform operations including generating a link-state protocol data unit (LSP) that includes an indication that a route is reachable via the ABR and anindication that the route is a summary route, wherein the route summarizes routes advertised in the first area. The operations further include sending the LSP to one or more neighbors in the second area.

[0010] A method performed by a router in a network. The method includes receiving a first link-state protocol data unit (LSP) that includes an indication that a route is reachable via an area border router (ABR) and responsive to a determination that the first LSP includes an indication that the route is a summary route and an indication that the ABR is overloaded, refraining from considering paths that transit the ABR when determining shortest paths for destinations covered by the route.

[0011] A non-transitory machine-readable medium comprising computer program code which when executed by a network device functioning as a router in a network carries out operations including receiving a first link-state protocol data unit (LSP) that includes an indication that a route is reachable via an area border router (ABR) and responsive to a determination that the first LSP includes an indication that the route is a summary route and an indication that the ABR is overloaded, refraining from considering paths that transit the ABR when determining shortest paths for destinations covered by the route.

[0012] A network device to function as a router in a network. The network device includes one or more processors and a non-transitory machine-readable storage medium that stores instructions, which when executed by the one or more processors, causes the router to perform operations including receiving a first link-state protocol data unit (LSP) that includes an indication that a route is reachable via an area border router (ABR) and responsive to a determination that the first LSP includes an indication that the route is a summary route and an indication that the ABR is overloaded, refraining from considering paths that transit the ABR when determining shortest paths for destinations covered by the route.

[0013] The above-mentioned methods and apparatus may help prevent traffic loss when an ABR is overloaded.BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:

[0015] Figure 1 is a diagram showing a network in which embodiments may be implemented, according to some embodiments.

[0016] Figure 2 is a diagram showing a format of an LSP, according to some embodiments.

[0017] Figure 3 is a flow diagram showing a method for indicating that a route is a summary route, according to some embodiments.

[0018] Figure 4 is a flow diagram showing a method for processing an LSP, according to some embodiments. In an embodiment, the method is performed by a router.

[0019] Figure 5A is a diagram showing connectivity between network devices (NDs) within an example network, as well as three exemplary implementations of the NDs, according to some embodiments.

[0020] Figure 5B is a diagram showing an example way to implement a special-purpose network device, according to some embodiments.DETAILED DESCRIPTION

[0021] The following description describes methods and apparatus for indicating that a route advertised in a link-state protocol data unit (LSP) is a summary route.

[0022] In the following description, numerous specific details such as logic implementations, opcodes, means to specify operands, resource partitioning / sharing / duplication implementations, types and interrelationships of system components, and logic partitioning / integration choices are set forth in order to provide a more thorough understanding of embodiments. It will be appreciated, however, by one skilled in the art that embodiments may be practiced without such specific details. In other instances, control structures, gate level circuits and full software instruction sequences have not been shown in detail in order not to obscure the descriptions. Those of ordinary skill in the art, with the included descriptions, will be able to implement appropriate functionality without undue experimentation.

[0023] References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0024] Bracketed text and blocks with dashed borders (e.g., large dashes, small dashes, dotdash, and dots) may be used herein to illustrate optional operations that add additional features to embodiments. However, such notation should not be taken to mean that these are the only options or optional operations, and / or that blocks with solid borders are not optional in certain embodiments.

[0025] In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended assynonyms for each other. “Coupled” is used to indicate that two or more elements, which may or may not be in direct physical or electrical contact with each other, co-operate or interact with each other. “Connected” is used to indicate the establishment of communication between two or more elements that are coupled with each other.

[0026] An electronic device stores and transmits (internally and / or with other electronic devices over a network) code (which is composed of software instructions and which is sometimes referred to as computer program code or a computer program) and / or data using machine-readable media (also called computer-readable media), such as machine-readable storage media (e.g., magnetic disks, optical disks, solid state drives, read only memory (ROM), flash memory devices, phase change memory) and machine -readable transmission media (also called a carrier) (e.g., electrical, optical, radio, acoustical or other form of propagated signals - such as carrier waves, infrared signals). Thus, an electronic device (e.g., a computer) includes hardware and software, such as a set of one or more processors (e.g., wherein a processor is a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application specific integrated circuit, field programmable gate array, other electronic circuitry, a combination of one or more of the preceding) coupled to one or more machine-readable storage media to store code for execution on the set of processors and / or to store data. For instance, an electronic device may include nonvolatile memory containing the code since the non-volatile memory can persist code / data even when the electronic device is turned off (when power is removed), and while the electronic device is turned on that part of the code that is to be executed by the processor(s) of that electronic device is typically copied from the slower non-volatile memory into volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM)) of that electronic device. Typical electronic devices also include a set of one or more physical network interface(s) (NI(s)) to establish network connections (to transmit and / or receive code and / or data using propagating signals) with other electronic devices. For example, the set of physical NIs (or the set of physical NI(s) in combination with the set of processors executing code) may perform any formatting, coding, or translating to allow the electronic device to send and receive data whether over a wired and / or a wireless connection. In some embodiments, a physical NI may comprise radio circuitry capable of receiving data from other electronic devices over a wireless connection and / or sending data out to other devices via a wireless connection. This radio circuitry may include transmitter(s), receiver(s), and / or transceiver(s) suitable for radiofrequency communication. The radio circuitry may convert digital data into a radio signal having the appropriate parameters (e.g., frequency, timing, channel, bandwidth, etc.). The radio signal may then be transmitted via antennas to the appropriate recipient(s). In some embodiments, the set of physical NI(s) may comprise network interface controller(s) (NICs), also known as a network interface card, networkadapter, or local area network (LAN) adapter. The NIC(s) may facilitate in connecting the electronic device to other electronic devices allowing them to communicate via wire through plugging in a cable to a physical port connected to a NIC. One or more parts of an embodiment of may be implemented using different combinations of software, firmware, and / or hardware.

[0027] A network device (ND) is an electronic device that communicatively interconnects other electronic devices on the network (e.g., other network devices, end-user devices). Some network devices are “multiple services network devices” that provide support for multiple networking functions (e.g., routing, bridging, switching, Layer 2 aggregation, session border control, Quality of Service, and / or subscriber management), and / or provide support for multiple application services (e.g., data, voice, and video).

[0028] As mentioned above, a summary route advertised by an Intermediate System to Intermediate System (IS-IS) router is indistinguishable from local routes advertised by the IS-IS router. That is, a summary route advertised by an IS-IS router appears to be a local route to other IS-IS routers. A local route of a router is a route to a destination / address configured on the router itself (e.g., an Internet Protocol (IP) address assigned to one of the interfaces of the router). As a result, even if an IS-IS router advertises a summary route in an LSP with the overload bit set in the LSP, other IS-IS routers may still use the advertising IS-IS router as a transit router to forward traffic to destinations covered by the summary route. A transit router is a router on the network path to a destination / address that is not locally configured on the router (e.g., an IP address configured on a remote router). However, if the advertising IS-IS router has not fully booted up and established adjacencies with its neighbors, the advertising IS-IS router may drop the traffic, resulting in traffic loss.

[0029] Embodiments address the problem mentioned above by providing a mechanism for an area border router (ABR) advertising a route in an LSP to indicate that the route is a summary route. This way, if the ABR sends an LSP advertising a summary route and that has the overload bit set, other routers will not consider paths that transit the area border router when determining shortest paths for destinations covered by the summary route. As used herein, a destination is said to be covered by a summary route if its address (e.g., Internet Protocol (IP) address) is included in the set / range of addresses associated with the summary route. This may help avoid traffic loss when there are other paths available to reach the destinations covered by the summary route (as routers may choose to forward traffic on one of the other paths instead of forwarding traffic to the overloaded ABR). In an embodiment, a LSP includes a prefix attribute flags sub-TLV (type- length-value) and an unused bit in this sub-TLV is used to indicate that a route is a summary route. For example, the bit located at bit position five (bit B5, where bit numbering starts from zero) of the prefix attribute flags sub-TLV may be used for this purpose. It should be appreciated thatdifferent bit positions (e.g., the first bit position of the prefix attribute flags sub-TLV that is unused by the standard at the time of the summary route indication feature being adopted) can be used for this purpose.

[0030] In an embodiment, bit B5 of the prefix attribute flags sub-TLV may be defined as shown in Table I below.Table I

[0031] As shown in Table I, bit B5 is called the “Summary Route” bit and when it is set (i.e., it has a value of binary ‘ 1’), it indicates that the advertised route is a summary route.

[0032] Embodiments are further described with reference to the accompanying figures.

[0033] Figure 1 is a diagram showing a network in which embodiments may be implemented, according to some embodiments.

[0034] As shown in the diagram, the network includes area border router 120A (referred to herein as “ABR1”), area border router 120B (referred to herein as “ABR2”) and routers 110A-E. The network may be divided into multiple areas. In the example shown in the diagram, the network is divided into a first area 130A and a second area 130B. Router 110A and router HOB belong to the first area 130A. Router HOC, router HOD, and router 110E belong to the second area 130B. ABR1 120A and ABR2 120B are border routers that belong to both the first area 130A and the second area 130B. An ABR 120 may communicate with two or more areas. Routers (routers 110 and ABRs 120) may be communicatively coupled to each other using links (depicted in the diagram with lines connecting the routers). Each link may have a link metric. The link metric may represent the cost of using the link (e.g., in terms of bandwidth, latency, physical distance, monetary cost, priority, etc.). In the example shown in the diagram, the link between router HOC and router 110E has a link metric of “8,” the link between router 110A and ABR2 120B has a link metric of “9,” and the link between router HOB and ABR2 120B has a link metric of “9.” The other links (which are unmarked in the diagram) have a link metric of “10.”

[0035] In an embodiment, the routers implement IS -IS. In such an embodiment, the first area 130A may be a LI area and the second area 130B may be a L2 area (or vice versa). Also, the ABRs 120 may be level 1 and level 2 (L1 / L2) routers. In IS-IS, a L1 / L2 router may communicate with multiple LI areas and / or communicate with both LI and L2 areas.

[0036] Conventional router operation will now be described with reference to the diagram to illustrate the problem therewith. ABR1 120A and ABR2 120B may summarize routes advertisedin the first area 130A, including routes advertised by router 110A and router HOB, and advertise the summary routes in the LSPs that they send to their neighbors in the second area 130B. Router 110E may receive the LSPs advertising the summary routes and select the path that goes through router 1 IOC and ABR1 120A to be the primary path to reach destinations covered by the summary route (as this path is shorter compared to the path that goes through router 110D and ABR2 120B) and select the path that goes through router 110D and ABR2 120B to be the backup path. If ABR1 120A begins a reboot (e.g., due to performing a firmware / software upgrade) or otherwise becomes unavailable, router 110E may use the backup path (the path that goes through router HOD and ABR2 120B) to forward traffic to destinations covered by the summary route. As a result, traffic destined for router 110A and router HOB should not be impacted because ABR2 120B can forward the traffic.

[0037] When ABR1 120A boots up, it may begin forming adjacencies with router HOB and router HOC, generate an LSP that advertises the summary route and that has the overload bit set (e.g., ABR1 120A may have been previously configured to set the overload bit after boot up (e.g., using the “set-overload-bit” command)), and send the LSP to its neighbors in the second area 130B.

[0038] However, to other routers 110 in the network, the summary route advertised by ABR1 120A is indistinguishable from local routes advertised by ABR1 120A. Thus, the overload bit set in the LSP becomes irrelevant to the other routers when determining shortest paths for destinations covered by the summary route. As a result, other routers may forward traffic destined for destinations covered by the summary route to ABR1 120A even though ABR1 120A might not have fully established adjacencies with its neighbors, which results in traffic being dropped at ABR1 120A.

[0039] For example, router 110E may determine based on the LSP (advertising the summary route and that has the overload bit set) that the shortest path for the destinations covered by the summary route is the path through router HOC and ABR1 120A. However, it may be the case that ABR1 120A has yet to fully form an adjacency with router 110A. Thus, when router 110E sends traffic destined for router 110A, ABR1 120A will drop the traffic until it is able to form an adjacency with router 110A and receive the routes advertised by router 110A. After some time, ABR 120A may form an adjacency with router 110A and be able to forward traffic to router 110A.

[0040] The traffic loss at ABR 120A occurs because router 110E effectively ignores the overload bit for the summary routes advertised in the LSP sent by ABR 120A, as router 110E views the summary route as being a local route. With the conventional routing mechanism, there is no way for router 110E to determine whether the route being advertised is a summary route or a local route.

[0041] It should be noted that an LSP can have multiple fragments (e.g., IS-IS LSPs can have multiple fragments). In an embodiment, the summary route indication can be included in any LSP fragment (e.g., fragment 0, 1, 2, etc.) but the overload bit is only set in the first LSP fragment (e.g., fragment 0). The problem mentioned above may also occur when an LSP has multiple LSP fragments. As an example, before ABR1 120A boots up, it may have updated summary routes that were advertised in multiple different LSP fragments (e.g., LSP fragment 0 (LSP.O), LSP fragment 1 (LSP.l), LSP fragment 2 (LSP.2)...). When ABR1 120A boots up, it may generate an updated first LSP fragment (e.g., new LSP.O) that has the overload bit set and send this LSP fragment to its neighbors in the second area 130B. When router 110E receives this LSP fragment, it may determine shortest paths for destinations covered by the summary routes advertised in this LSP fragment (e.g., new LSP.O) and the summary routes previously advertised in the other LSP fragments (e.g., old LSP.l, old LSP.2...). However, with the conventional routing mechanism, there is no way for router 110E to determine whether a route is a summary route or a local route, and thus it may forward traffic destined for destinations covered by the summary routes to overloaded ABR1 120A, resulting in traffic loss.

[0042] This problem may occur whenever route summarization happens. In IS-IS, route summarization may happen during LI to L2 propagation, L2 to LI leak, and redistribution.

[0043] Embodiments address this problem by providing a mechanism for an ABR 120 advertising a route in an LSP to indicate that the route is a summary route. This allows a router 110 that receives an LSP to recognize that the route being advertised is a summary route. If the router 110 recognizes that a route being advertised by the ABR 120 is a summary route, then the router 110 may refrain from considering paths that transit the ABR 120 when determining shortest paths for destinations covered by the (summary) route when the ABR 120 is overloaded. In an embodiment, the indication that the route is a summary route is encoded in the LSP using a single bit. In an embodiment, the single bit is located at bit position five of a prefix attribute flags sub- TLV included in the LSP.

[0044] For example, as shown in the diagram, when ABR1 120A boots up, it may send an LSP to the second area that includes an indication that a route is reachable via ABR1 120A (advertises the route), an indication that the route is a summary route, and an indication that ABR1 120A is overloaded. Router 110E may receive this LSP and determine whether the LSP includes an indication that the route is a summary route. Responsive to a determination that the LSP includes an indication that the route is a summary route and an indication that ABR1 120A is overloaded, router 110E may refrain from considering paths that transit ABR1 120A when determining shortest paths for destinations covered by the route.

[0045] After ABR1 120A finishes booting up, ABR1 120A may send an updated LSP to the second area 130B that includes an indication that the route is reachable via ABR1 120A and an indication that the route is a summary route, but that does not include an indication that ABR1 120A is overloaded. Responsive to receiving the updated LSP and determining that the updated LSP does not include an indication that ABR1 120A is overloaded, router 110E may consider paths that transit ABR1 120A when determining shortest paths for destinations covered by the route.

[0046] Figure 2 is a diagram showing a format of an LSP, according to some embodiments.

[0047] As shown in the diagram, the LSP 200 includes an overload bit 205 and a prefix reachability TLV 210. The overload bit 205 may be used to indicate when a router is overloaded. For example, the overload bit 205 may be set to a value of binary ‘ T to indicate that the router is overloaded and set to a value of binary ‘0’ to indicate that the router is not overloaded.

[0048] The prefix reachability TLV 210 may be used to advertise a route. The prefix reachability TLV 210 includes a type field 215, a length field 220, and a value field 225. The type field 215 may be used to indicate that the TLV 210 is a prefix reachability TLV. In an embodiment, the type field 215 includes a value of “135,” “235,” “236,” or “237” to indicate that the TLV 210 is a prefix reachability TLV. A value of “135” in the type field 215 may indicate extended IP reachability. A value of “235” in the type field 215 may indicate MT (multi-topology) IP reachability. A value of “236” in the type field 215 may indicate IPv6 (IP version 6) reachability. A value of “237” in the type field 215 may indicate MT IPv6 IP reachability. The length field 220 may be used to indicate the length of the value field 225. The value field 225 includes a prefix field 230 and a metric field 235. The prefix field 230 may be used to indicate a reachable prefix (e.g., an Internet Protocol (IP) prefix). The metric field 235 may be used to indicate a link metric associated with the prefix.

[0049] As shown in the diagram, the value field 225 of the prefix reachability TLV 210 further includes a prefix attribute flags sub-TLV 240. The prefix attribute flags sub-TLV 240 may be used to indicate various flags associated with the prefix. As shown in the diagram, the prefix attribute flags sub-TLV 240 includes a type field 245, a length field 250, and a value field 255. The type field 245 may be used to indicate that the sub-TLV 240 is a prefix attribute flags sub- TLV. In an embodiment, the type field 245 includes a value of “4” to indicate that the sub- TLV 240 is a prefix attribute flags sub-TLV. The length field 250 may be used to indicate the length of the value field 255. The value field 255 includes a summary route bit 260 among other bits. The summary route bit 260 may be used to indicate that the route being advertised is a summary route. In the example shown in the diagram, the summary route bit 260 is located at bit position five (5) (when bits are counted starting with bit number zero).

[0050] While a specific LSP format is shown in the diagram, it should be appreciated that this LSP format is provided as one example and not meant to be limiting. Other embodiments may use an LSP format that is different from what is shown in the diagram. Also, it should be appreciated that the LSP format shown in the diagram is a simplified example that only shows certain fields / TLVs. The LSP may include additional fields / TLVs that are not shown in the diagram.

[0051] Figure 3 is a flow diagram showing a method for indicating that a route is a summary route, according to some embodiments. In an embodiment, the method is performed by an ABR that borders a first area and a second area of a network (e.g., ABR 120A). In an embodiment, the first area is an IS -IS level 1 (LI) area and the second area is an IS -IS level 2 (L2) area. Alternatively, in an embodiment, the first area is an IS-IS level 2 (L2) area and the second area is an IS-IS level 1 (LI) area. In an embodiment, the ABR is an IS-IS level 1 and level 2 (L1 / L2) router.

[0052] The operations in the flow diagrams will be described with reference to the exemplary embodiments of the other figures. However, it should be understood that the operations of the flow diagrams can be performed by embodiments other than those discussed with reference to the other figures, and the embodiments discussed with reference to these other figures can perform operations different than those discussed with reference to the flow diagrams.

[0053] While the flow diagrams in the figures show a particular order of operations performed by certain embodiments, it should be understood that such order is provided by way of example and should not be regarded as limiting (e.g., alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc.).

[0054] At operation 310, the ABR generates a link-state protocol data unit (LSP) that includes an indication that a route is reachable via the ABR and an indication that the route is a summary route, wherein the route summarizes routes advertised in the first area. In an embodiment, the indication that the route is a summary route is encoded in the LSP using a single bit. In an embodiment, the single bit is located at bit position five of a prefix attribute flags sub-TLV included in the LSP.

[0055] In an embodiment, as shown in block 320, the LSP further includes an indication that the ABR is overloaded (e.g., in IS-IS LSP fragment 0). In an embodiment, the indication that the ABR is overloaded is encoded in the LSP using a single bit. In an embodiment, the indication that the ABR is overloaded is included in the LSP due to the ABR booting up.

[0056] At operation 330, the ABR sends the LSP to one or more neighbors in the second area.

[0057] Figure 4 is a flow diagram showing a method for processing an LSP, according to some embodiments. In an embodiment, the method is performed by a router (e.g., router 110E).

[0058] At operation 410, the router receives a first link-state protocol data unit (LSP) that includes an indication that a route is reachable via an area border router (ABR).

[0059] At operation 420, responsive to a determination that the first LSP includes an indication that the route is a summary route and an indication that the ABR is overloaded, the router refrains from considering paths that transit the ABR when determining shortest paths for destinations covered by the route (in some embodiments, the router may also refrain from considering paths that transit the ABR when determining shortest paths for destinations covered by other summary routes (e.g., summary routes previously advertised in different LSP fragments)). In an embodiment, the indication that the route is a summary route is encoded in the LSP using a single bit. In an embodiment, the single bit is located at bit position five of a prefix attribute flags sub- TLV included in the first LSP. In an embodiment, the indication that the ABR is overloaded is encoded in the first LSP using a single bit. In an embodiment, the indication that the ABR is overloaded is included in the first LSP due to the ABR booting up.

[0060] At operation 430, the router receives a second LSP that includes an indication that the route is reachable via the ABR.

[0061] At operation 440, responsive to a determination that the second LSP does not include an indication that the ABR is overloaded, the router considers paths that transit the ABR when determining shortest paths for destinations covered by the route.

[0062] Figure 5A is a diagram showing connectivity between network devices (NDs) within an example network, as well as three exemplary implementations of the NDs, according to some embodiments. Figure 5A shows NDs 500A-H, and their connectivity by way of lines between 500A-500B, 500B-500C, 500C-500D, 500D-500E, 500E-500F, 500F-500G, and 500A- 500G, as well as between 500H and each of 500A, 500C, 500D, and 500G. These NDs are physical devices, and the connectivity between these NDs can be wireless or wired (often referred to as a link). An additional line extending from NDs 500A, 500E, and 500F illustrates that these NDs act as ingress and egress points for the network (and thus, these NDs are sometimes referred to as edge NDs; while the other NDs may be called core NDs).

[0063] Two of the exemplary ND implementations in Figure 5A are: 1) a special-purpose network device 502 that uses custom application-specific integrated-circuits (ASICs) and a special-purpose operating system (OS); and 2) a general purpose network device 504 that uses common off-the-shelf (COTS) processors and a standard OS.

[0064] The special-purpose network device 502 includes networking hardware 510 comprising a set of one or more processor(s) 512, forwarding resource(s) 514 (which typically include one or more ASICs and / or network processors), and physical network interfaces (NIs) 516 (through which network connections are made, such as those shown by the connectivity betweenNDs 500A-H), as well as non-transitory machine readable storage media 518 having stored therein networking software 520. During operation, the networking software 520 may be executed by the networking hardware 510 to instantiate a set of one or more networking software instance(s) 522. Each of the networking software instance(s) 522, and that part of the networking hardware 510 that executes that network software instance (be it hardware dedicated to that networking software instance and / or time slices of hardware temporally shared by that networking software instance with others of the networking software instance(s) 522), form a separate virtual network element 530A-R. Each of the virtual network element(s) (VNEs) 530A-R includes a control communication and configuration module 532A-R (sometimes referred to as a local control module or control communication module) and forwarding table(s) 534A-R, such that a given virtual network element (e.g., 530A) includes the control communication and configuration module (e.g., 532A), a set of one or more forwarding table(s) (e.g., 534A), and that portion of the networking hardware 510 that executes the virtual network element (e.g., 530A).

[0065] The special-purpose network device 502 is often physically and / or logically considered to include: 1) a ND control plane 524 (sometimes referred to as a control plane) comprising the processor(s) 512 that execute the control communication and configuration module(s) 532A-R; and 2) a ND forwarding plane 526 (sometimes referred to as a forwarding plane, a data plane, or a media plane) comprising the forwarding resource(s) 514 that utilize the forwarding table(s) 534A-R and the physical NIs 516. By way of example, where the ND is a router (or is implementing routing functionality), the ND control plane 524 (the processor(s) 512 executing the control communication and configuration module(s) 532A-R) is typically responsible for participating in controlling how data (e.g., packets) is to be routed (e.g., the next hop for the data and the outgoing physical NI for that data) and storing that routing information in the forwarding table(s) 534A-R, and the ND forwarding plane 526 is responsible for receiving that data on the physical NIs 516 and forwarding that data out the appropriate ones of the physical NIs 516 based on the forwarding table(s) 534A-R.

[0066] In an embodiment, software 520 includes code such as summary route component 523, which when executed by networking hardware 510, causes the special-purpose network device 502 to perform operations of one or more embodiments disclosed herein (e.g., to generate an LSP that includes an indication that a route is a summary route and / or process such an LSP).

[0067] Figure 5B is a diagram showing an example way to implement the special-purpose network device 502, according to some embodiments. Figure 5B shows a special-purpose network device including cards 538 (typically hot pluggable). While in some embodiments the cards 538 are of two types (one or more that operate as the ND forwarding plane 526 (sometimes called line cards), and one or more that operate to implement the ND control plane 524 (sometimes calledcontrol cards)), alternative embodiments may combine functionality onto a single card and / or include additional card types (e.g., one additional type of card is called a service card, resource card, or multi-application card). A service card can provide specialized processing (e.g., Layer 4 to Layer 7 services (e.g., firewall, Internet Protocol Security (IPsec), Secure Sockets Layer (SSL) / Transport Layer Security (TLS), Intrusion Detection System (IDS), peer-to-peer (P2P), Voice over IP (VoIP) Session Border Controller, Mobile Wireless Gateways (Gateway General Packet Radio Service (GPRS) Support Node (GGSN), Evolved Packet Core (EPC) Gateway)). By way of example, a service card may be used to terminate IPsec tunnels and execute the attendant authentication and encryption algorithms. These cards are coupled together through one or more interconnect mechanisms illustrated as backplane 536 (e.g., a first full mesh coupling the line cards and a second full mesh coupling all of the cards).

[0068] Returning to Figure 5A, the general purpose network device 504 includes hardware 540 comprising a set of one or more processor(s) 542 (which are often COTS processors) and physical NIs 546, as well as non-transitory machine readable storage media 548 having stored therein software 550. During operation, the processor(s) 542 execute the software 550 to instantiate one or more sets of one or more applications 564A-R. While one embodiment does not implement virtualization, alternative embodiments may use different forms of virtualization. For example, in one such alternative embodiment the virtualization layer 554 represents the kernel of an operating system (or a shim executing on a base operating system) that allows for the creation of multiple instances 562A-R called software containers that may each be used to execute one (or more) of the sets of applications 564A-R; where the multiple software containers (also called virtualization engines, virtual private servers, or jails) are user spaces (typically a virtual memory space) that are separate from each other and separate from the kernel space in which the operating system is run; and where the set of applications running in a given user space, unless explicitly allowed, cannot access the memory of the other processes. In another such alternative embodiment the virtualization layer 554 represents a hypervisor (sometimes referred to as a virtual machine monitor (VMM)) or a hypervisor executing on top of a host operating system, and each of the sets of applications 564A-R is run on top of a guest operating system within an instance 562A-R called a virtual machine (which may in some cases be considered a tightly isolated form of software container) that is run on top of the hypervisor - the guest operating system and application may not know they are running on a virtual machine as opposed to running on a “bare metal” host electronic device, or through para-virtualization the operating system and / or application may be aware of the presence of virtualization for optimization purposes. In yet other alternative embodiments, one, some or all of the applications are implemented as unikemel(s), which can be generated by compiling directly with an application only a limited set of libraries (e.g., from alibrary operating system (LibOS) including drivers, 'libraries of OS services) that provide the particular OS services needed by the application. As a unikernel can be implemented to run directly on hardware 540, directly on a hypervisor (in which case the unikernel is sometimes described as running within a LibOS virtual machine), or in a software container, embodiments can be implemented fully with unikernels running directly on a hypervisor represented by virtualization layer 554, unikemels running within software containers represented by instances 562A-R, or as a combination of unikernels and the above-described techniques (e.g., unikernels and virtual machines both run directly on a hypervisor, unikernels and sets of applications that are run in different software containers).

[0069] The instantiation of the one or more sets of one or more applications 564A-R, as well as virtualization if implemented, are collectively referred to as software instance(s) 552. Each set of applications 564A-R, corresponding virtualization construct (e.g., instance 562A-R) if implemented, and that part of the hardware 540 that executes them (be it hardware dedicated to that execution and / or time slices of hardware temporally shared), forms a separate virtual network element(s) 560A-R.

[0070] The virtual network element(s) 560A-R perform similar functionality to the virtual network element(s) 530A-R - e.g., similar to the control communication and configuration module(s) 532A and forwarding table(s) 534A (this virtualization of the hardware 540 is sometimes referred to as network function virtualization (NFV)). Thus, NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which could be located in Data centers, NDs, and customer premise equipment (CPE). While embodiments are illustrated with each instance 562A- R corresponding to one VNE 560A-R, alternative embodiments may implement this correspondence at a finer level granularity (e.g., line card virtual machines virtualize line cards, control card virtual machine virtualize control cards, etc.); it should be understood that the techniques described herein with reference to a correspondence of instances 562A-R to VNEs also apply to embodiments where such a finer level of granularity and / or unikernels are used.

[0071] In certain embodiments, the virtualization layer 554 includes a virtual switch that provides similar forwarding services as a physical Ethernet switch. Specifically, this virtual switch forwards traffic between instances 562A-R and the physical NI(s) 546, as well as optionally between the instances 562A-R; in addition, this virtual switch may enforce network isolation between the VNEs 560A-R that by policy are not permitted to communicate with each other (e.g., by honoring virtual local area networks (VLANs)).

[0072] In an embodiment, software 550 includes code such as summary route component 553, which when executed by hardware 540, causes the general purpose network device 504 to performoperations of one or more embodiments disclosed herein (e.g., to generate an LSP that includes an indication that a route is a summary route and / or process such an LSP).

[0073] The third exemplary ND implementation in Figure 5A is a hybrid network device 506, which includes both custom ASICs / special-purpose OS and COTS processors / standard OS in a single ND or a single card within an ND. In certain embodiments of such a hybrid network device, a platform VM (i.e., a VM that that implements the functionality of the special-purpose network device 502) could provide for para- virtualization to the networking hardware present in the hybrid network device 506.

[0074] Regardless of the above exemplary implementations of an ND, when a single one of multiple VNEs implemented by an ND is being considered (e.g., only one of the VNEs is part of a given virtual network) or where only a single VNE is currently being implemented by an ND, the shortened term network element (NE) is sometimes used to refer to that VNE. Also in all of the above exemplary implementations, each of the VNEs (e.g., VNE(s) 530A-R, VNEs 560A-R, and those in the hybrid network device 506) receives data on the physical NIs (e.g., 516, 546) and forwards that data out the appropriate ones of the physical NIs (e.g., 516, 546). For example, a VNE implementing IP router functionality forwards IP packets on the basis of some of the IP header information in the IP packet; where IP header information includes source IP address, destination IP address, source port, destination port (where “source port” and “destination port” refer herein to protocol ports, as opposed to physical ports of a ND), transport protocol (e.g., user datagram protocol (UDP), Transmission Control Protocol (TCP), and differentiated services code point (DSCP) values.

[0075] A network interface (NI) may be physical or virtual; and in the context of IP, an interface address is an IP address assigned to a NI, be it a physical NI or virtual NI. A virtual NI may be associated with a physical NI, with another virtual interface, or stand on its own (e.g., a loopback interface, a point-to-point protocol interface). A NI (physical or virtual) may be numbered (a NI with an IP address) or unnumbered (a NI without an IP address). A loopback interface (and its loopback address) is a specific type of virtual NI (and IP address) of a NE / VNE (physical or virtual) often used for management purposes; where such an IP address is referred to as the nodal loopback address. The IP address(es) assigned to the NI(s) of a ND are referred to as IP addresses of that ND; at a more granular level, the IP address(es) assigned to NI(s) assigned to a NE / VNE implemented on a ND can be referred to as IP addresses of that NE / VNE.

[0076] Some portions of the preceding detailed descriptions have been presented in terms of algorithms and symbolic representations of transactions on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art.An algorithm is here, and generally, conceived to be a self-consistent sequence of transactions leading to a desired result. The transactions are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

[0077] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing" or "computing" or "calculating" or "determining" or "displaying" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

[0078] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method transactions. The required structure for a variety of these systems will appear from the description above. In addition, embodiments are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments as described herein.

[0079] An embodiment may be an article of manufacture in which a non-transitory machine- readable storage medium (such as microelectronic memory) has stored thereon instructions (e.g., computer code) which program one or more data processing components (generically referred to here as a “processor”) to perform the operations described above. In other embodiments, some of these operations might be performed by specific hardware components that contain hardwired logic (e.g., dedicated digital filter blocks and state machines). Those operations might alternatively be performed by any combination of programmed data processing components and fixed hardwired circuit components.

[0080] Throughout the description, embodiments have been presented through flow diagrams. It will be appreciated that the order of transactions and transactions described in these flowdiagrams are only intended for illustrative purposes and not intended to be limiting. One having ordinary skill in the art would recognize that variations can be made to the flow diagrams.

[0081] In the foregoing specification, embodiments have been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the disclosure provided herein. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

Claims

CLAIMS:

1. A method performed by an area border router (ABR) that borders a first area and a second area of a network, the method comprising: generating (310) a link-state protocol data unit (LSP) that includes an indication that a route is reachable via the ABR and an indication that the route is a summary route, wherein the route summarizes routes advertised in the first area; and sending (330) the LSP to one or more neighbors in the second area.

2. The method of claim 1, wherein the indication that the route is a summary route is encoded in the LSP using a single bit.

3. The method of claim 2, wherein the single bit is located at bit position five of a prefix attribute flags sub-type length value (TLV) included in the LSP.

4. The method of claim 1, wherein the LSP further includes an indication that the ABR is overloaded.

5. The method of claim 4, wherein the indication that the ABR is overloaded is encoded in the LSP using a single bit.

6. The method of claim 5, wherein the indication that the ABR is overloaded is included in the LSP due to the ABR booting up.

7. The method of claim 1, wherein the first area is an intermediate system to intermediate system (IS-IS) level 1 (LI) area and the second area is an IS-IS level 2 (L2) area.

8. The method of claim 1, wherein the first area is an intermediate system to intermediate system (IS-IS) level 2 (L2) area and the second area is an IS-IS level 1 (LI) area.

9. The method of claim 1, wherein the ABR is a level 1 and level 2 (L1 / L2) router.

10. A method performed by a router in a network, the method comprising: receiving a first link-state protocol data unit (LSP) that includes an indication that a route is reachable via an area border router (ABR); and responsive to a determination that the first LSP includes an indication that the route is a summary route and an indication that the ABR is overloaded, refraining from considering paths that transit the ABR when determining shortest paths for destinations covered by the route.

11. The method of claim 10, wherein the indication that the route is a summary route is encoded in the LSP using a single bit.

12. The method of claim 11, wherein the single bit is located at bit position five of a prefix attribute flags sub-type length value (TLV) included in the first LSP.

13. The method of claim 10, further comprising: receiving a second LSP that includes an indication that the route is reachable via the ABR; and responsive to a determination that the second LSP does not include an indication that the ABR is overloaded, considering paths that transit the ABR when determining shortest paths for destinations covered by the route.

14. A machine-readable medium comprising computer program code which when executed by a network device functioning as an area border router (ABR) that borders a first area and a second area of a network carries out the method steps of any of claims 1-9.

15. A machine-readable medium comprising computer program code which when executed by a network device functioning as a router in a network carries out the method steps of any of claims 10-13.

16. A network device (504) to function as an area border router (ABR) that borders a first area and a second area of a network, the network device comprising: one or more processors (542); and a non-transitory machine-readable storage medium (548) that stores instructions, which when executed by the one or more processors, causes the ABR to perform the method steps of any one of claims 1-9.

17. A network device (504) to function as a router in a network, the network device comprising: one or more processors (542); and a non-transitory machine-readable storage medium (548) that stores instructions, which when executed by the one or more processors, causes the router to perform the method steps of any one of claims 10-13.