US20230179515A1 - Routing protocol broadcast link extensions - Google Patents

Routing protocol broadcast link extensions Download PDF

Info

Publication number
US20230179515A1
US20230179515A1 US18/154,712 US202318154712A US2023179515A1 US 20230179515 A1 US20230179515 A1 US 20230179515A1 US 202318154712 A US202318154712 A US 202318154712A US 2023179515 A1 US2023179515 A1 US 2023179515A1
Authority
US
United States
Prior art keywords
link
router
link state
asbrs
routers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
US18/154,712
Inventor
Huaimo Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FutureWei Technologies Inc
Original Assignee
FutureWei Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FutureWei Technologies Inc filed Critical FutureWei Technologies Inc
Priority to US18/154,712 priority Critical patent/US20230179515A1/en
Assigned to FUTUREWEI TECHNOLOGIES, INC. reassignment FUTUREWEI TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHEN, HUAIMO
Publication of US20230179515A1 publication Critical patent/US20230179515A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures

Definitions

  • Routing protocols specify how routers communicate with each other to distribute information that enables them to determine routes among themselves. Routing protocols include distance-vector routing protocols and link state routing protocols. In distance-vector routing protocols, each router shares its routing table with its neighboring routers. In link state protocols, each router shares its connectivity information with its neighboring routers.
  • IS-IS and OSPF are both link state routing protocols that implement a Dijkstra algorithm to determine routes.
  • IS-IS and OSPF have a few differences. For instance, IS-IS distributes link state information through LSPs, and an IS-IS router originates one or more LSPs that describe links attached to the IS-IS router.
  • OSPF distributes link state information through LSAs, and an OSPF router originates one LSA that describes links connected to the OSPF router.
  • IS-IS distributes TE information in TLVs added to existing LSPs, while OSPF distributes TE information in new TE LSAs.
  • the disclosure includes a first router in a first AS, the first router comprising: a processor configured to: obtain information about a broadcast link connecting the first router to a second router in a second AS, and generate a link state message comprising the information; and a transmitter coupled to the processor and configured to transmit the link state message to a third router, wherein the third router is in the first AS and is adjacent to the first router.
  • the information comprises a first sub-TLV, wherein the first sub-TLV comprises: an IP address field indicating a local IP address of a connection to the broadcast link; and a mask length field indicating a length of an IP address mask; the information further comprises a second sub-TLV, and wherein the second sub-TLV comprises a local AS number field indicating a local AS number of the first router; the link state message is an IS-IS LSP; the link state message is an OSPF LSA; the transmitter is further configured to further transmit the link state message to the third router when TE is enabled on the broadcast link; the processor is further configured to flush the link state message in the first AS when TE is disabled on the broadcast link; when TE parameters for the broadcast link have changed: the processor is further configured to generate a new link state message; and the transmitter is further configured to transmit the new link state message to the third router.
  • the disclosure includes a method implemented in a first router in a first AS, the method comprising: obtaining information about a broadcast link connecting the first router to a second router in a second AS; generating a link state message comprising the information; and transmitting the link state message to a third router, wherein the third router is in the first AS and is adjacent to the first router.
  • the information comprises a first sub-TLV, and wherein the first sub-TLV comprises: an IP address field indicating a local IP address of a connection to the broadcast link; and a mask length field indicating a length of an IP address mask; the information further comprises a second sub-TLV, and wherein the second sub-TLV comprises a local AS number field indicating a local AS number of the first router; the link state message is an IS-IS LSP; the link state message is an OSPF LSA; the method further comprises further transmitting the link state message to the third router when TE is enabled on the broadcast link; the method further comprises flushing the link state message in the first AS when TE is disabled on the broadcast link; when TE parameters for the broadcast link have changed, the method further comprises: generating a new link state message; and transmitting the new link state message to the third router.
  • the disclosure includes a method comprising: receiving a first link state message from a first router; receiving a second link state message from a second router; receiving a third link state message from a third router; and determining which of the first router, the second router, and the third router are ASBRs connected to a broadcast link based on information in the first link state message, the second link state message, and the third link state message.
  • the information comprises at least one of an IP address field indicating a local IP address of a connection to the broadcast link, a mask length field indicating a length of an IP address mask, or a local AS number field indicating an AS number;
  • the first link state message, the second link state message, and the third link state message are either IS-IS LSPs or OSPF LSAs;
  • the method further comprises designating a DR and a BDR from among the first router, the second router, and the third router; creating a pseudo node system using the first router, the second router, and the third router, wherein the pseudo node system comprises a pseudo node; and computing a routing path using the pseudo node.
  • FIG. 1 is a schematic diagram of a routing system.
  • FIG. 2 is a schematic diagram of another routing system according to an embodiment of the disclosure.
  • FIG. 3 is a flowchart illustrating a method of broadcast link advertisement, withdrawal, and re-advertisement according to an embodiment of the disclosure.
  • FIG. 4 is an inter-AS TE LSP according to an embodiment of the disclosure.
  • FIG. 5 is an inter-AS TE LSA according to an embodiment of the disclosure.
  • FIG. 6 is a sub-TLV according to an embodiment of the disclosure.
  • FIG. 7 is a sub-TLV according to another embodiment of the disclosure.
  • FIG. 8 is a sub-TLV according to yet another embodiment of the disclosure.
  • FIG. 9 is a flowchart illustrating a method of pseudo node implementation according to an embodiment of the disclosure.
  • FIG. 10 is a schematic diagram of a pseudo node system according to an embodiment of the disclosure.
  • FIG. 11 is a flowchart illustrating a method of broadcast link advertisement according to an embodiment of the disclosure.
  • FIG. 12 is a flowchart illustrating a method of pseudo node implementation according to another embodiment of the disclosure.
  • FIG. 13 is a schematic diagram of an apparatus according to an embodiment of the disclosure.
  • FIG. 1 is a schematic diagram of a routing system 100 .
  • the routing system 100 comprises ASs 105 , 125 , 140 ; links 115 , 145 , 160 ; and a PCE 165 .
  • the routing system 100 may implement IS-IS or OSPF.
  • Each AS 105 , 125 , 140 appears to the other ASs 105 , 125 , 140 to have a single, coherent interior routing plan and presents a consistent picture of what networks are reachable through it.
  • the AS 105 comprises a router 110 ; the AS 125 comprises routers 120 , 130 ; and the AS 140 comprises routers 135 , 150 , 155 .
  • the ASs 105 , 125 , 140 may further comprise other routers that are not shown.
  • the routers 110 , 120 , 130 , 135 , 150 , 155 may be referred to more generally as nodes or more specifically as ASBRs because they are routers at borders of the ASs 105 , 125 , 140 , meaning there are no routers in their ASs 105 , 125 , 140 that connect them to routers outside their ASs 105 , 125 , 140 .
  • the routers 110 , 120 , 130 , 135 , 150 , 155 are networking devices that perform traffic directing functions for the routing system 100 .
  • the PCE 165 may be referred to more generally as a node or more specifically as a controller such as an SDN controller.
  • the PCE 165 is above and connects to the ASs 105 , 125 , 140 , and the PCE 165 computes TE paths crossing the ASs 105 , 125 , 140 .
  • the PCE 165 may also be referred to as a super node.
  • the link 115 connects the routers 110 , 135 and thus the ASs 105 , 140 to each other; the link 145 connects the routers 130 , 150 and thus the ASs 125 , 140 to each other; the link 160 connects the router 155 and the PCE 165 to each other; the link 170 connects the router 110 and the PCE 165 to each other; and the link 175 connects the router 130 and the PCE 165 to each other.
  • the links 115 , 145 may be referred to as P2P inter-AS TE links, and the link 160 , 170 , 175 may be referred to as P2P links.
  • P2P indicates the links 115 , 145 , 160 , 170 , 175 connect two points; inter-AS indicates the links 115 , 145 connect two ASs; and TE indicates the links 115 , 145 are to be used in TE paths crossing the ASs 105 , 125 , 140 .
  • the link 115 connects two points, the router 110 and the router 135 ; connects two ASs, the AS 105 and the AS 140 ; and is used in a TE path segment from the router 110 to the router 120 .
  • a TE link is a logical construct that represents a way to group or map information about physical resources that connect routers.
  • IS-IS and OSPF did not provide approaches to advertise P2P inter-AS TE links like the links 115 , 145 .
  • M. Chen, et al. “ISIS Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering,” RFC 5316, Dec. 2008 (“RFC 5316”), which is incorporated by reference, describes how to advertise P2P inter-AS TE links in IS-IS.
  • M. Chen, et al., “OSPF Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering,” RFC 5392, Jan. 2009 (“RFC 5392”) similarly describes how to advertise P2P inter-AS TE links in OSPF.
  • RFC 5316 does not describe how to advertise broadcast inter-AS TE links in IS-IS
  • RFC 5392 similarly does not describe how to advertise broadcast inter-AS TE links in OSPF.
  • the routing protocols are IS-IS, OSPF, or other suitable routing protocols.
  • the broadcast links are broadcast inter-AS TE links or other suitable broadcast links.
  • the extensions comprise advertisement, withdrawal, and re-advertisement of broadcast links, as well as pseudo node implementation. Advertisement and re-advertisement of the broadcast links comprise communicating link state messages.
  • the link state messages comprise sub-TLVs for IP addresses with mask lengths and comprise local AS numbers.
  • the pseudo node implementation comprises creating and using pseudo nodes for more efficient path routing across broadcast inter-AS TE links.
  • FIG. 2 is a schematic diagram of another routing system 200 according to an embodiment of the disclosure.
  • the routing system 200 is similar to the routing system 100 in FIG. 1 .
  • the routing system 200 comprises ASs 205 , 225 , 240 ; links 215 , 245 , 260 , 270 , 275 ; and a PCE 265 .
  • the AS 205 comprises a router 210 ;
  • the AS 225 comprises the routers 220 , 230 ;
  • the AS 240 comprises the routers 235 , 250 , 255 .
  • the link 245 in the routing system 200 is a broadcast inter-AS TE link, not a P2P inter-AS TE link. Broadcast indicates the link 245 connects more than two points, specifically the routers 220 , 230 , 250 .
  • the routers 210 , 220 , 230 , 235 , 250 have local IP addresses and mask lengths associated with the links 215 , 245 .
  • the router 210 has a local IP address of 10.2.1.1 and a mask length of 30 associated with the link 215
  • the router 220 has a local IP address of 10.1.1.3 and a mask length of 30 bits associated with the link 245
  • the router 230 has a local IP address of 10.1.1.2 and mask length of 30 bits associated with the link 245
  • the router 235 has a local IP address of 10.2.1.2 and a mask length of 30 bits associated with the link 215
  • the router 250 has a local IP address of 10.1.1.1 and a mask length of 30 bits associated with the link 245
  • the local IP addresses are network addresses that belong to interfaces of the routers 210 , 220 , 230 , 235 , 250 .
  • the mask lengths indicate lengths of IP masks to apply to the IP addresses.
  • FIG. 3 is a flowchart illustrating a method 300 of broadcast link advertisement, withdrawal, and re-advertisement according to an embodiment of the disclosure.
  • One of the routers 220 , 230 , 250 implements the method 300 .
  • the broadcast link is advertised.
  • the router 220 transmits a link state message to its adjacent routers in the AS 225 , which transmit the link state message to their adjacent routers in the AS 225 .
  • adjacent routers may mean routers that have IS-IS or OSPF adjacency.
  • the router 230 may consider the PCE 265 as an adjacent router in the AS 225 and therefore transmit the link state message to the PCE 265 .
  • the PCE 265 may run an instance of IS-IS or OSPF for each AS 205 , 225 , 240 and therefore act as an adjacent router for each AS 205 , 225 , 240 by receiving link state messages as an adjacent router.
  • the PCE 265 may not transmit link state messages as an adjacent router.
  • the router 220 may not transmit the link state message to routers in the other ASs 205 , 240 .
  • the router 220 does not transmit the link state message to the router 250 in the AS 240 .
  • the link state message comprises TE information about the link 245 . If the routing system 200 implements IS-IS, then the link state message is as shown in FIG. 4 . If the routing system 200 implements OSPF, then the link state message is as shown in FIG. 5 . Messages may also be referred to as packets or frames.
  • the router 220 determines whether TE has been disabled on the broadcast link or if the broadcast link is down. For instance, the router 220 determines whether TE has been disabled on the link 245 by inspecting the user's configuration of the link 245 , and the router 220 determines the link 245 is down by receiving a message reporting that the link 245 is down. If the answer is no, then the method 300 proceeds to decision 350 . If the answer is yes, then the method proceeds to step 340 .
  • the advertisement is withdrawn. For instance, when the routing system 200 implements OSPF, the router 220 flushes the link state message in the AS 240 by setting an age of the link state message to a maximum age such as 3,600 seconds.
  • the router 220 determines whether the user's configuration of the link 245 have changed TE parameters for the link 245 such as bandwidth, or the router 220 computes current usage of resources of the link 245 . If the answer is no, then the method 300 ends. If the answer is yes, then the method 300 proceeds to step 360 .
  • the broadcast link is re-advertised. For instance, the router 220 transmits a new link state message to its adjacent routers in the AS 225 . The new link state message comprises the changed TE parameters. Decisions 330 , 350 may be switched and may be repeated, for instance at specified times until the broadcast link is disabled or another event occurs.
  • FIG. 4 is an inter-AS TE LSP 400 according to an embodiment of the disclosure.
  • the inter-AS TE LSP 400 is an IS-IS message.
  • the inter-AS TE LSP 400 may follow a format similar to LSPs described in T. Li, et al., “IS-IS Extensions for Traffic Engineering,” RFC 5305, Oct. 2008, which is incorporated by reference.
  • the inter-AS TE LSP 400 comprises a header 410 and an inter-AS reachability TLV 420 .
  • the header 410 comprises an LSP ID indicating a router transmitting the inter-AS TE LSP 400 . For instance, if the router 220 transmits the inter-AS TE LSP 400 , then the header 410 comprises 220 .
  • the LSP ID is a number such as 5.5.5.5.
  • the inter-AS reachability TLV 420 comprises sub-TLVs as described below.
  • FIG. 5 is an inter-AS TE LSA 500 according to an embodiment of the disclosure.
  • the inter-AS TE LSA 500 is an OSPF message.
  • the inter-AS TE LSA 500 may follow a format similar to the Inter-AS-TE-v2 LSA or the Inter-AS-TE-v3 LSA described in RFC 5392.
  • the inter-AS TE LSA 500 comprises a header 510 and a link TLV 520 .
  • the header 510 comprises an advertising router number indicating a router transmitting the inter-AS TE LSA 500 . For instance, if the router 220 transmits the inter-AS TE LSA 500 , then the header 510 comprises 220 . Alternatively, the advertising router is a number such as 5.5.5.5.
  • the link TLV 520 comprises sub-TLVs as described below.
  • Both the inter-AS reachability TLV 420 and the link TLV 520 comprise sub-TLVs.
  • the sub-TLVs comprise information about a broadcast link and include a first sub-TLV indicating a link type, a second sub-TLV indicating a local IP address and a mask length, a third sub-TLV indicating a TE metric, a fourth sub-TLV indicating a local AS number, a fifth sub-TLV indicating a maximum bandwidth, a sixth sub-TLV indicating a maximum reservable bandwidth, a seventh sub-TLV indicating an unreserved bandwidth, and an eighth sub-TLV indicating an administrative group.
  • the first sub-TLV may further indicate that the link type is multi-access for a broadcast link such as the link 245 .
  • the second sub-TLV and the fourth sub-TLV are new sub-TLVs as described below, and the remaining sub-TLVs may be as described in D. Katz, et al., “Traffic Engineering (TE) Extensions to OSPF Version 2,” RFC 3630, Sep. 2003.
  • the orders “first,” “second,” “third,” “fourth,” “fifth,” “sixth,” “seventh,” and “eighth” may or may not indicate actual or relative ordering.
  • a router for instance the router 220 , may retrieve the information from its memory via an interface manager.
  • the inter-AS reachability TLV 420 and the link TLV 520 may omit a sub-TLV indicating a link ID and a sub-TLV indicating a remote IP address.
  • FIG. 6 is sub-TLV 600 according to an embodiment of the disclosure.
  • the sub-TLV 600 is in the inter-AS reachability TLV 420 or the link TLV 520 .
  • the sub-TLV 600 comprises a type field 610 of two bytes, a length field 620 of two bytes, an IPv4 address field 630 of four bytes, and a mask length field 640 of one byte.
  • the type field 610 is any value indicating that the sub-TLV 600 comprises a local IPv4 address with a mask length.
  • the length field 620 indicates a sum of a length of the IPv4 address field 630 and a length of the mask length field 640 . For instance, the sum is five bytes.
  • the IPv4 address field 630 indicates a local IPv4 address of a connection to a broadcast link. For instance, if the router 220 transmits the sub -TLV 600 to its adjacent routers in the AS 225 , then the IPv4 address field 630 indicates 10.1.1.3, which is the local IPv4 address of a connection of the router 220 to the link 245 .
  • the mask length field 640 indicates a length of an IPv4 address mask. For instance, if the router 220 transmits the sub-TLV 600 to its adjacent routers in the AS 225 , then the mask length field 640 indicates 30.
  • FIG. 7 is a sub-TLV 700 according to another embodiment of the disclosure.
  • the sub-TLV 700 is similar to the sub-TLV 600 in FIG. 6 .
  • the sub-TLV 700 comprises a type field 710 of two bytes, a length field 720 of two bytes, and a mask length field 740 of one byte.
  • the sub-TLV 700 comprises an IPv6 address field 730 of 16 bytes.
  • the IPv6 address field 730 indicates a local IPv6 address of a connection to a broadcast link
  • the mask length field 740 indicates a length of an IPv6 address mask.
  • IPv4 address masks and IPv6 address masks may be referred to as IP address masks.
  • FIG. 8 is a sub-TLV 800 according to yet another embodiment of the disclosure.
  • the sub-TLV 800 is in the inter-AS reachability TLV 420 or the link TLV 520 .
  • the sub-TLV 800 comprises a type field 810 of two bytes, a length field 820 of two bytes, and a local AS number field 830 of four bytes.
  • the type field 810 is any value indicating that the sub-TLV 800 comprises a local AS number.
  • the length field 820 indicates a length of the local AS number field 830 . For instance, the length is four bytes.
  • the local AS number field 830 indicates a local AS number of an ASBR originating the inter-AS TE LSP 400 . If the sub-TLV 800 is in the link TLV 520 , then the local AS number field 830 indicates a local AS number of an ASBR originating the inter-AS TE LSA 500 . For instance, if the router 220 transmits the sub-TLV 800 to its adjacent routers in the AS 225 , then the local AS number field 830 indicates 225 , which is the local AS number of the router 220 .
  • FIG. 9 is a flowchart illustrating a method 900 of pseudo node implementation according to an embodiment of the disclosure.
  • a super node for instance the PCE 265 , implements the method 900 .
  • the PCE 265 may store in a TED data received and generated in the method 900 .
  • the TED may be within the PCE 265 or in another device accessible to the PCE 265 .
  • link state messages are received from all routers.
  • the PCE 265 receives the inter-AS TE LSP 400 or the inter-AS TE LSA 500 from each of the routers 210 , 220 , 230 , 235 , 250 , 255 .
  • the PCE 265 does so either directly from the routers 210 , 230 , 255 or indirectly through paths comprising multiple routers 210 , 220 , 230 , 235 , 250 , 255 .
  • the PCE 265 receives the link state messages from less than all of the routers 210 , 220 , 230 , 235 , 250 , 255 , but at least the routers 210 , 220 , 230 , 235 , 250 , 255 connected to the link 245 .
  • ASBRs connected to a broadcast link are determined.
  • the PCE 265 determines that the routers 220 , 230 , 250 are ASBRs based on a presence of flags in the link state messages.
  • the PCE 265 determines that the routers 220 , 230 , 250 are connected to the link 245 as follows. First, the PCE 265 obtains from the link state messages the local IP address 10.1.1.3 and the mask length of 30 bits for the router 220 , the local IP address 10.1.1.2 and the mask length of 30 bits for the router 230 , and the local IP address 10.1.1.1 and the mask length of 30 bits for the router 250 .
  • the PCE 265 applies a 30-bit mask to each of those local IP addresses to obtain the same 10.1.1.0. Third, the PCE 265 determines that the routers 220 , 230 , 250 are part of the same link 245 because their IP addresses all result in 10.1.1.0 after application of the mask. Fourth, the PCE 265 determines that the link 245 is a broadcast link because the link state messages comprise sub-TLVs indicating the link type is multi-access.
  • a DR and a BDR are designated.
  • the PCE 265 designates as the DR the first router 220 , 230 , 250 that the PCE 265 receives a link state message from
  • the PCE 265 designates as the BDR the second router 220 , 230 , 250 that the PCE 265 receives a link state message from.
  • the PCE 265 designates the router 220 as the DR and the router 230 as the BDR.
  • the PCE 265 designates the DR and the BDR based on other suitable criteria.
  • a pseudo node system is created.
  • FIG. 10 is a schematic diagram of a pseudo node system 1000 according to an embodiment of the disclosure.
  • the pseudo node system 1000 comprises the routers 220 , 230 , 250 ; a pseudo node 1020 ; and links 1010 , 1030 , 1040 .
  • the pseudo node 1020 is a logical construct, or virtual node, that represents a center point among the routers 220 , 230 , 250 .
  • the links 1010 , 1030 , 1040 are also logical constructs.
  • the link 1010 connects the router 250 to the pseudo node 1020
  • the link 1030 connects the router 220 to the pseudo node 1020
  • the link 1040 connects the router 230 to the pseudo node 1020 .
  • the pseudo node system 1000 provides a more efficient representation for the link 245 , particularly if additional routers are connected to the link 245 .
  • the PCE 265 obtains the local IP address of 10.1.1.3 and the mask length of 30 bits.
  • the PCE 265 applies a 30-bit mask to the local IP address of 10.1.1.3 to obtain 10.1.1.0.
  • the PCE 265 designates 10.1.1.3 as the ID of the pseudo node 1020 .
  • the PCE 265 creates a connection via the link 1030 with the local IP address of 10.1.1.3 and the mask length of 30 bits between the router 220 and the pseudo node 1020 .
  • the PCE 265 creates a connection via the link 1010 with the local IP address of 10.1.1.1 and the mask length of 30 bits between the router 250 and the pseudo node 1020
  • the PCE 265 creates a connection via the link 1040 with the local IP address of 10.1.1.2 and the mask length of 30 bits between the router 230 and the pseudo node 1020 .
  • the BDR is designated as a new DR when the DR is disabled.
  • the router 220 is disabled due to its removal from the routing system 200 , its powering down, or another cause.
  • the PCE 265 designates the router 230 as the new DR.
  • the PCE 265 designates as a new BDR the router with the smallest local IP address or the largest local IP address.
  • the router 250 is the only remaining router, so it has either the smallest local IP address or the largest local IP address and therefore becomes the new BDR.
  • the PCE 265 removes the links 1010 , 1030 , 1040 associated with the disabled DR. For instance, the PCE 265 removes the link 1030 .
  • Step 950 is optional and may not necessarily occur. If step 950 occurs, it may not occur after step 940 , but may instead occur at any other time when the DR is disabled.
  • a path is computed using the pseudo node.
  • the PCE 265 computes a routing path using the pseudo node 1020 .
  • Computing the routing path using the pseudo node 1020 provides for more efficient computation in the PCE 265 .
  • FIG. 11 is a flowchart illustrating a method 1100 of broadcast link advertisement according to an embodiment of the disclosure.
  • a router for instance the router 220 in the AS 225 , implements the method 1100 .
  • information about a broadcast link connecting a first router to a second router in a second AS is obtained.
  • the first router is in a first AS.
  • the router 220 obtains information about the link 245 , which connects the router 220 in the AS 225 to the router 250 in the AS 240 .
  • the information comprises any combination of the IPv4 address field 630 , mask length field 640 , the IPv6 address field 730 , the mask length field 740 , the local AS number field 830 , or the other sub-TLV information described above.
  • a link state message comprising the information is generated.
  • the router 220 generates the inter-AS TE LSP 400 or the inter-AS TE LSA 500 .
  • the link state message is transmitted to a third router.
  • the third router is in the first AS and is adjacent to the first router.
  • FIG. 12 is a flowchart illustrating a method 1200 of pseudo node implementation according to another embodiment of the disclosure.
  • a super node for instance the PCE 265 , implements the method 1200 .
  • the PCE 265 may do so using a TED.
  • a first link state message is received from a first router.
  • the PCE 265 receives the inter-AS TE LSP 400 or the inter-AS TE LSA 500 from the router 220 .
  • a second link state message is received from a second router.
  • the PCE 265 receives the inter-AS TE LSP 400 or the inter-AS TE LSA 500 from the router 230 .
  • a third link state message is received from a third router. For instance, the PCE 265 receives the inter-AS TE LSP 400 or the inter-AS TE LSA 500 from the router 250 .
  • step 1240 it is determined which of the first router, the second router, and the third router are ASBRs connected to a broadcast link based on information in the first link state message, the second link state message, and the third link state message.
  • the PCE 265 determines which of the routers 220 , 230 , 250 are ASBRs connected to the link 245 and determines that the link 245 is a broadcast link. The PCE 265 may do so as described with respect to step 920 in FIG. 9 .
  • FIG. 13 is a schematic diagram of an apparatus 1300 according to an embodiment of the disclosure.
  • the apparatus 1300 may implement the disclosed embodiments.
  • the apparatus 1300 comprises ingress ports 1310 and an RX 1320 for receiving data; a processor, logic unit, baseband unit, or CPU 1330 to process the data; a TX 1340 and egress ports 1350 for transmitting the data; and a memory 1360 for storing the data.
  • the apparatus 1300 may also comprise OE components, EO components, or RF components coupled to the ingress ports 1310 , the RX 1320 , the TX 1340 , and the egress ports 1350 for ingress or egress of optical, electrical signals, or RF signals.
  • the processor 1330 is any combination of hardware, middleware, firmware, or software.
  • the processor 1330 comprises any combination of one or more CPU chips, cores, FPGAs, ASICs, or DSPs.
  • the processor 1330 communicates with the ingress ports 1310 , RX 1320 , TX 1340 , egress ports 1350 , and memory 1360 .
  • the processor 1330 comprises a path computation component 1370 , a TED 1380 , and an interface manager 1390 , which implement the disclosed embodiments.
  • the inclusion of the path computation component 1370 , the TED 1380 , and the interface manager 1390 therefore provides a substantial improvement to the functionality of the apparatus 1300 and effects a transformation of the apparatus 1300 to a different state.
  • the memory 1360 stores the path computation component 1370 , the TED 1380 , and the interface manager 1390 as instructions, and the processor 1330 executes those instructions.
  • the memory 1360 comprises any combination of disks, tape drives, or solid-state drives.
  • the apparatus 1300 may use the memory 1360 as an over-flow data storage device to store programs when the apparatus 1300 selects those programs for execution and to store instructions and data that the apparatus 1300 reads during execution of those programs.
  • the memory 1360 may be volatile or non-volatile and may be any combination of ROM, RAM, TCAM, or SRAM.
  • a first router in a first AS the first router comprises: a processing element configured to: obtain information about a broadcast link connecting the first router to a second router in a second AS, and generate a link state message comprising the information; and a transmitting element coupled to the processing element and configured to transmit the link state message to a third router, wherein the third router is in the first AS and is adjacent to the first router.
  • a first component is directly coupled to a second component when there are no intervening components, except for a line, a trace, or another medium between the first component and the second component.
  • the first component is indirectly coupled to the second component when there are intervening components other than a line, a trace, or another medium between the first component and the second component.
  • the term “coupled” and its variants include both directly coupled and indirectly coupled. The use of the term “about” means a range including ⁇ 10% of the subsequent number unless otherwise stated.

Abstract

A first router in a first AS, the first router comprises: a processor configured to: obtain information about a broadcast link connecting the first router to a second router in a second AS, and generate a link state message comprising the information; and a transmitter coupled to the processor and configured to transmit the link state message to a third router, wherein the third router is in the first AS and is adjacent to the first router. A method comprises: receiving a first link state message from a first router; receiving a second link state message from a second router; receiving a third link state message from a third router; determining which of the first router, the second router, and the third router are ASBRs connected to a broadcast link based on information in the first link state message, the second link state message, and the third link state message.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This is a continuation of U.S. patent application Ser. No. 15/901,494 filed on Feb. 21, 2018, which claims priority to U.S. Prov. Patent App. No. 62/469,686 filed on Mar. 10, 2017 and U.S. Prov. Patent App. No. 62/469,692 filed on Mar. 10, 2017, all of which are incorporated by reference.
  • STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
  • Not applicable.
  • REFERENCE TO A MICROFICHE APPENDIX
  • Not applicable.
  • BACKGROUND
  • Routing protocols specify how routers communicate with each other to distribute information that enables them to determine routes among themselves. Routing protocols include distance-vector routing protocols and link state routing protocols. In distance-vector routing protocols, each router shares its routing table with its neighboring routers. In link state protocols, each router shares its connectivity information with its neighboring routers.
  • IS-IS and OSPF are both link state routing protocols that implement a Dijkstra algorithm to determine routes. However, IS-IS and OSPF have a few differences. For instance, IS-IS distributes link state information through LSPs, and an IS-IS router originates one or more LSPs that describe links attached to the IS-IS router. OSPF distributes link state information through LSAs, and an OSPF router originates one LSA that describes links connected to the OSPF router. In addition, IS-IS distributes TE information in TLVs added to existing LSPs, while OSPF distributes TE information in new TE LSAs.
  • SUMMARY
  • In one embodiment, the disclosure includes a first router in a first AS, the first router comprising: a processor configured to: obtain information about a broadcast link connecting the first router to a second router in a second AS, and generate a link state message comprising the information; and a transmitter coupled to the processor and configured to transmit the link state message to a third router, wherein the third router is in the first AS and is adjacent to the first router. In some embodiments, the information comprises a first sub-TLV, wherein the first sub-TLV comprises: an IP address field indicating a local IP address of a connection to the broadcast link; and a mask length field indicating a length of an IP address mask; the information further comprises a second sub-TLV, and wherein the second sub-TLV comprises a local AS number field indicating a local AS number of the first router; the link state message is an IS-IS LSP; the link state message is an OSPF LSA; the transmitter is further configured to further transmit the link state message to the third router when TE is enabled on the broadcast link; the processor is further configured to flush the link state message in the first AS when TE is disabled on the broadcast link; when TE parameters for the broadcast link have changed: the processor is further configured to generate a new link state message; and the transmitter is further configured to transmit the new link state message to the third router.
  • In another embodiment, the disclosure includes a method implemented in a first router in a first AS, the method comprising: obtaining information about a broadcast link connecting the first router to a second router in a second AS; generating a link state message comprising the information; and transmitting the link state message to a third router, wherein the third router is in the first AS and is adjacent to the first router. In some embodiments, the information comprises a first sub-TLV, and wherein the first sub-TLV comprises: an IP address field indicating a local IP address of a connection to the broadcast link; and a mask length field indicating a length of an IP address mask; the information further comprises a second sub-TLV, and wherein the second sub-TLV comprises a local AS number field indicating a local AS number of the first router; the link state message is an IS-IS LSP; the link state message is an OSPF LSA; the method further comprises further transmitting the link state message to the third router when TE is enabled on the broadcast link; the method further comprises flushing the link state message in the first AS when TE is disabled on the broadcast link; when TE parameters for the broadcast link have changed, the method further comprises: generating a new link state message; and transmitting the new link state message to the third router.
  • In yet another embodiment, the disclosure includes a method comprising: receiving a first link state message from a first router; receiving a second link state message from a second router; receiving a third link state message from a third router; and determining which of the first router, the second router, and the third router are ASBRs connected to a broadcast link based on information in the first link state message, the second link state message, and the third link state message. In some embodiments, the information comprises at least one of an IP address field indicating a local IP address of a connection to the broadcast link, a mask length field indicating a length of an IP address mask, or a local AS number field indicating an AS number; the first link state message, the second link state message, and the third link state message are either IS-IS LSPs or OSPF LSAs; the method further comprises designating a DR and a BDR from among the first router, the second router, and the third router; creating a pseudo node system using the first router, the second router, and the third router, wherein the pseudo node system comprises a pseudo node; and computing a routing path using the pseudo node.
  • Any of the above embodiments may be combined with any of the other above embodiments to create a new embodiment. These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
  • FIG. 1 is a schematic diagram of a routing system.
  • FIG. 2 is a schematic diagram of another routing system according to an embodiment of the disclosure.
  • FIG. 3 is a flowchart illustrating a method of broadcast link advertisement, withdrawal, and re-advertisement according to an embodiment of the disclosure.
  • FIG. 4 is an inter-AS TE LSP according to an embodiment of the disclosure.
  • FIG. 5 is an inter-AS TE LSA according to an embodiment of the disclosure.
  • FIG. 6 is a sub-TLV according to an embodiment of the disclosure.
  • FIG. 7 is a sub-TLV according to another embodiment of the disclosure.
  • FIG. 8 is a sub-TLV according to yet another embodiment of the disclosure.
  • FIG. 9 is a flowchart illustrating a method of pseudo node implementation according to an embodiment of the disclosure.
  • FIG. 10 is a schematic diagram of a pseudo node system according to an embodiment of the disclosure.
  • FIG. 11 is a flowchart illustrating a method of broadcast link advertisement according to an embodiment of the disclosure.
  • FIG. 12 is a flowchart illustrating a method of pseudo node implementation according to another embodiment of the disclosure.
  • FIG. 13 is a schematic diagram of an apparatus according to an embodiment of the disclosure.
  • DETAILED DESCRIPTION
  • It should be understood at the outset that, although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
  • The following abbreviations and initialisms apply:
      • AS: autonomous system
      • ASBR: AS border router
      • ASIC: application-specific integrated circuit
      • BDR: backup DR
      • CPU: central processing unit
      • DR: designated router
      • DSP: digital signal processor
      • EO: electrical-to-optical
      • FPGA: field-programmable gate array
      • ID: identifier
      • IP: Internet Protocol
      • IPv4: IP version 4
      • IPv6: IP version 6
      • IS-IS: Intermediate System to Intermediate System
      • LSA: link state advertisement
      • LSP: link state PDU
      • OE: optical-to-electrical
      • OSPF: Open Shortest Path First
      • PCE: path computation element
      • PDU: protocol data unit
      • P2P: point-to-point
      • RAM: random-access memory
      • RF: radio frequency
      • RFC: request for comments
      • ROM: read-only memory
      • RX: receiver unit
      • SDN: software-defined networking
      • SRAM: static RAM
      • TCAM: ternary content-addressable memory
      • TE: traffic engineering
      • TED: TE database
      • TLV: type, length, and value
      • TX: transmitter unit.
  • FIG. 1 is a schematic diagram of a routing system 100. The routing system 100 comprises ASs 105, 125, 140; links 115, 145, 160; and a PCE 165. The routing system 100 may implement IS-IS or OSPF. Each AS 105, 125, 140 appears to the other ASs 105, 125, 140 to have a single, coherent interior routing plan and presents a consistent picture of what networks are reachable through it. The AS 105 comprises a router 110; the AS 125 comprises routers 120, 130; and the AS 140 comprises routers 135, 150, 155. The ASs 105, 125, 140 may further comprise other routers that are not shown.
  • The routers 110, 120, 130, 135, 150, 155 may be referred to more generally as nodes or more specifically as ASBRs because they are routers at borders of the ASs 105, 125, 140, meaning there are no routers in their ASs 105, 125, 140 that connect them to routers outside their ASs 105, 125, 140. The routers 110, 120, 130, 135, 150, 155 are networking devices that perform traffic directing functions for the routing system 100. The PCE 165 may be referred to more generally as a node or more specifically as a controller such as an SDN controller. The PCE 165 is above and connects to the ASs 105, 125, 140, and the PCE 165 computes TE paths crossing the ASs 105, 125, 140. For those reasons, the PCE 165 may also be referred to as a super node.
  • The link 115 connects the routers 110, 135 and thus the ASs 105, 140 to each other; the link 145 connects the routers 130, 150 and thus the ASs 125, 140 to each other; the link 160 connects the router 155 and the PCE 165 to each other; the link 170 connects the router 110 and the PCE 165 to each other; and the link 175 connects the router 130 and the PCE 165 to each other. The links 115, 145 may be referred to as P2P inter-AS TE links, and the link 160, 170, 175 may be referred to as P2P links. P2P indicates the links 115, 145, 160, 170, 175 connect two points; inter-AS indicates the links 115, 145 connect two ASs; and TE indicates the links 115, 145 are to be used in TE paths crossing the ASs 105, 125, 140. For instance, the link 115 connects two points, the router 110 and the router 135; connects two ASs, the AS 105 and the AS 140; and is used in a TE path segment from the router 110 to the router 120. A TE link is a logical construct that represents a way to group or map information about physical resources that connect routers.
  • Previously, IS-IS and OSPF did not provide approaches to advertise P2P inter-AS TE links like the links 115, 145. However, M. Chen, et al., “ISIS Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering,” RFC 5316, Dec. 2008 (“RFC 5316”), which is incorporated by reference, describes how to advertise P2P inter-AS TE links in IS-IS. M. Chen, et al., “OSPF Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering,” RFC 5392, Jan. 2009 (“RFC 5392”), which is incorporated by reference, similarly describes how to advertise P2P inter-AS TE links in OSPF. However, RFC 5316 does not describe how to advertise broadcast inter-AS TE links in IS-IS, and RFC 5392 similarly does not describe how to advertise broadcast inter-AS TE links in OSPF. In addition, it is desirable to make path routing across such broadcast inter-AS TE links more efficient.
  • Disclosed herein are embodiments for routing protocol broadcast link extensions. The routing protocols are IS-IS, OSPF, or other suitable routing protocols. The broadcast links are broadcast inter-AS TE links or other suitable broadcast links. The extensions comprise advertisement, withdrawal, and re-advertisement of broadcast links, as well as pseudo node implementation. Advertisement and re-advertisement of the broadcast links comprise communicating link state messages. The link state messages comprise sub-TLVs for IP addresses with mask lengths and comprise local AS numbers. The pseudo node implementation comprises creating and using pseudo nodes for more efficient path routing across broadcast inter-AS TE links.
  • FIG. 2 is a schematic diagram of another routing system 200 according to an embodiment of the disclosure. The routing system 200 is similar to the routing system 100 in FIG. 1 . Specifically, like the routing system 100, the routing system 200 comprises ASs 205, 225, 240; links 215, 245, 260, 270, 275; and a PCE 265. In addition, like in the routing system 100, the AS 205 comprises a router 210; the AS 225 comprises the routers 220, 230; and the AS 240 comprises the routers 235, 250, 255.
  • However, unlike in the routing system 100, the link 245 in the routing system 200 is a broadcast inter-AS TE link, not a P2P inter-AS TE link. Broadcast indicates the link 245 connects more than two points, specifically the routers 220, 230, 250. In addition, the routers 210, 220, 230, 235, 250 have local IP addresses and mask lengths associated with the links 215, 245. For instance, the router 210 has a local IP address of 10.2.1.1 and a mask length of 30 associated with the link 215, the router 220 has a local IP address of 10.1.1.3 and a mask length of 30 bits associated with the link 245, the router 230 has a local IP address of 10.1.1.2 and mask length of 30 bits associated with the link 245, the router 235 has a local IP address of 10.2.1.2 and a mask length of 30 bits associated with the link 215, and the router 250 has a local IP address of 10.1.1.1 and a mask length of 30 bits associated with the link 245. The local IP addresses are network addresses that belong to interfaces of the routers 210, 220, 230, 235, 250. The mask lengths indicate lengths of IP masks to apply to the IP addresses.
  • FIG. 3 is a flowchart illustrating a method 300 of broadcast link advertisement, withdrawal, and re-advertisement according to an embodiment of the disclosure. One of the routers 220, 230, 250, for instance the router 220, implements the method 300. At decision 310, it is determined whether TE has been enabled on a broadcast link. For instance, the router 220 determines whether TE has been enabled on the link 245 by inspecting a user's configuration of the link 245. Using an interface manager of the router 220, the user may have previously entered the configuration for storage in a memory of the router 220. If the answer is no, then the method 300 ends. If the answer is yes, then the method 300 proceeds to step 320.
  • At step 320, the broadcast link is advertised. For instance, the router 220 transmits a link state message to its adjacent routers in the AS 225, which transmit the link state message to their adjacent routers in the AS 225. In this case, adjacent routers may mean routers that have IS-IS or OSPF adjacency. In addition, the router 230 may consider the PCE 265 as an adjacent router in the AS 225 and therefore transmit the link state message to the PCE 265. The PCE 265 may run an instance of IS-IS or OSPF for each AS 205, 225, 240 and therefore act as an adjacent router for each AS 205, 225, 240 by receiving link state messages as an adjacent router. However, the PCE 265 may not transmit link state messages as an adjacent router. The router 220 may not transmit the link state message to routers in the other ASs 205, 240. For instance, the router 220 does not transmit the link state message to the router 250 in the AS 240. The link state message comprises TE information about the link 245. If the routing system 200 implements IS-IS, then the link state message is as shown in FIG. 4 . If the routing system 200 implements OSPF, then the link state message is as shown in FIG. 5 . Messages may also be referred to as packets or frames.
  • At decision 330, it is determined whether TE has been disabled on the broadcast link or if the broadcast link is down. For instance, the router 220 determines whether TE has been disabled on the link 245 by inspecting the user's configuration of the link 245, and the router 220 determines the link 245 is down by receiving a message reporting that the link 245 is down. If the answer is no, then the method 300 proceeds to decision 350. If the answer is yes, then the method proceeds to step 340. At step 340, the advertisement is withdrawn. For instance, when the routing system 200 implements OSPF, the router 220 flushes the link state message in the AS 240 by setting an age of the link state message to a maximum age such as 3,600 seconds.
  • At decision 350, it is determined whether TE parameters for the broadcast link have changed. For instance, the router 220 determines whether the user's configuration of the link 245 have changed TE parameters for the link 245 such as bandwidth, or the router 220 computes current usage of resources of the link 245. If the answer is no, then the method 300 ends. If the answer is yes, then the method 300 proceeds to step 360. At step 360, the broadcast link is re-advertised. For instance, the router 220 transmits a new link state message to its adjacent routers in the AS 225. The new link state message comprises the changed TE parameters. Decisions 330, 350 may be switched and may be repeated, for instance at specified times until the broadcast link is disabled or another event occurs.
  • FIG. 4 is an inter-AS TE LSP 400 according to an embodiment of the disclosure. The inter-AS TE LSP 400 is an IS-IS message. The inter-AS TE LSP 400 may follow a format similar to LSPs described in T. Li, et al., “IS-IS Extensions for Traffic Engineering,” RFC 5305, Oct. 2008, which is incorporated by reference. In addition, the inter-AS TE LSP 400 comprises a header 410 and an inter-AS reachability TLV 420. The header 410 comprises an LSP ID indicating a router transmitting the inter-AS TE LSP 400. For instance, if the router 220 transmits the inter-AS TE LSP 400, then the header 410 comprises 220. Alternatively, the LSP ID is a number such as 5.5.5.5. The inter-AS reachability TLV 420 comprises sub-TLVs as described below.
  • FIG. 5 is an inter-AS TE LSA 500 according to an embodiment of the disclosure. The inter-AS TE LSA 500 is an OSPF message. The inter-AS TE LSA 500 may follow a format similar to the Inter-AS-TE-v2 LSA or the Inter-AS-TE-v3 LSA described in RFC 5392. In addition, the inter-AS TE LSA 500 comprises a header 510 and a link TLV 520. The header 510 comprises an advertising router number indicating a router transmitting the inter-AS TE LSA 500. For instance, if the router 220 transmits the inter-AS TE LSA 500, then the header 510 comprises 220. Alternatively, the advertising router is a number such as 5.5.5.5. The link TLV 520 comprises sub-TLVs as described below.
  • Both the inter-AS reachability TLV 420 and the link TLV 520 comprise sub-TLVs. The sub-TLVs comprise information about a broadcast link and include a first sub-TLV indicating a link type, a second sub-TLV indicating a local IP address and a mask length, a third sub-TLV indicating a TE metric, a fourth sub-TLV indicating a local AS number, a fifth sub-TLV indicating a maximum bandwidth, a sixth sub-TLV indicating a maximum reservable bandwidth, a seventh sub-TLV indicating an unreserved bandwidth, and an eighth sub-TLV indicating an administrative group. The first sub-TLV may further indicate that the link type is multi-access for a broadcast link such as the link 245. The second sub-TLV and the fourth sub-TLV are new sub-TLVs as described below, and the remaining sub-TLVs may be as described in D. Katz, et al., “Traffic Engineering (TE) Extensions to OSPF Version 2,” RFC 3630, Sep. 2003. The orders “first,” “second,” “third,” “fourth,” “fifth,” “sixth,” “seventh,” and “eighth” may or may not indicate actual or relative ordering. A router, for instance the router 220, may retrieve the information from its memory via an interface manager. The inter-AS reachability TLV 420 and the link TLV 520 may omit a sub-TLV indicating a link ID and a sub-TLV indicating a remote IP address.
  • FIG. 6 is sub-TLV 600 according to an embodiment of the disclosure. The sub-TLV 600 is in the inter-AS reachability TLV 420 or the link TLV 520. The sub-TLV 600 comprises a type field 610 of two bytes, a length field 620 of two bytes, an IPv4 address field 630 of four bytes, and a mask length field 640 of one byte. The type field 610 is any value indicating that the sub-TLV 600 comprises a local IPv4 address with a mask length. The length field 620 indicates a sum of a length of the IPv4 address field 630 and a length of the mask length field 640. For instance, the sum is five bytes. The IPv4 address field 630 indicates a local IPv4 address of a connection to a broadcast link. For instance, if the router 220 transmits the sub -TLV 600 to its adjacent routers in the AS 225, then the IPv4 address field 630 indicates 10.1.1.3, which is the local IPv4 address of a connection of the router 220 to the link 245. The mask length field 640 indicates a length of an IPv4 address mask. For instance, if the router 220 transmits the sub-TLV 600 to its adjacent routers in the AS 225, then the mask length field 640 indicates 30.
  • FIG. 7 is a sub-TLV 700 according to another embodiment of the disclosure. The sub-TLV 700 is similar to the sub-TLV 600 in FIG. 6 . Specifically, like the sub-TLV 600, the sub-TLV 700 comprises a type field 710 of two bytes, a length field 720 of two bytes, and a mask length field 740 of one byte. However, unlike the sub-TLV 600, which comprises an IPv4 address field 630, the sub-TLV 700 comprises an IPv6 address field 730 of 16 bytes. The IPv6 address field 730 indicates a local IPv6 address of a connection to a broadcast link, and the mask length field 740 indicates a length of an IPv6 address mask. Together, IPv4 address masks and IPv6 address masks may be referred to as IP address masks.
  • FIG. 8 is a sub-TLV 800 according to yet another embodiment of the disclosure. The sub-TLV 800 is in the inter-AS reachability TLV 420 or the link TLV 520. The sub-TLV 800 comprises a type field 810 of two bytes, a length field 820 of two bytes, and a local AS number field 830 of four bytes. The type field 810 is any value indicating that the sub-TLV 800 comprises a local AS number. The length field 820 indicates a length of the local AS number field 830. For instance, the length is four bytes. If the sub-TLV 800 is in the inter-AS reachability TLV 420, then the local AS number field 830 indicates a local AS number of an ASBR originating the inter-AS TE LSP 400. If the sub-TLV 800 is in the link TLV 520, then the local AS number field 830 indicates a local AS number of an ASBR originating the inter-AS TE LSA 500. For instance, if the router 220 transmits the sub-TLV 800 to its adjacent routers in the AS 225, then the local AS number field 830 indicates 225, which is the local AS number of the router 220.
  • FIG. 9 is a flowchart illustrating a method 900 of pseudo node implementation according to an embodiment of the disclosure. A super node, for instance the PCE 265, implements the method 900. The PCE 265 may store in a TED data received and generated in the method 900. The TED may be within the PCE 265 or in another device accessible to the PCE 265.
  • At step 910, link state messages are received from all routers. For instance, the PCE 265 receives the inter-AS TE LSP 400 or the inter-AS TE LSA 500 from each of the routers 210, 220, 230, 235, 250, 255. The PCE 265 does so either directly from the routers 210, 230, 255 or indirectly through paths comprising multiple routers 210, 220, 230, 235, 250, 255. Alternatively, the PCE 265 receives the link state messages from less than all of the routers 210, 220, 230, 235, 250, 255, but at least the routers 210, 220, 230, 235, 250, 255 connected to the link 245.
  • At step 920, ASBRs connected to a broadcast link are determined. For instance, the PCE 265 determines that the routers 220, 230, 250 are ASBRs based on a presence of flags in the link state messages. The PCE 265 then determines that the routers 220, 230, 250 are connected to the link 245 as follows. First, the PCE 265 obtains from the link state messages the local IP address 10.1.1.3 and the mask length of 30 bits for the router 220, the local IP address 10.1.1.2 and the mask length of 30 bits for the router 230, and the local IP address 10.1.1.1 and the mask length of 30 bits for the router 250. Second, the PCE 265 applies a 30-bit mask to each of those local IP addresses to obtain the same 10.1.1.0. Third, the PCE 265 determines that the routers 220, 230, 250 are part of the same link 245 because their IP addresses all result in 10.1.1.0 after application of the mask. Fourth, the PCE 265 determines that the link 245 is a broadcast link because the link state messages comprise sub-TLVs indicating the link type is multi-access.
  • At step 930, a DR and a BDR are designated. For instance, the PCE 265 designates as the DR the first router 220, 230, 250 that the PCE 265 receives a link state message from, and the PCE 265 designates as the BDR the second router 220, 230, 250 that the PCE 265 receives a link state message from. As an example, the PCE 265 designates the router 220 as the DR and the router 230 as the BDR. Alternatively, the PCE 265 designates the DR and the BDR based on other suitable criteria. At step 940, a pseudo node system is created.
  • FIG. 10 is a schematic diagram of a pseudo node system 1000 according to an embodiment of the disclosure. The pseudo node system 1000 comprises the routers 220, 230, 250; a pseudo node 1020; and links 1010, 1030, 1040. The pseudo node 1020 is a logical construct, or virtual node, that represents a center point among the routers 220, 230, 250. The links 1010, 1030, 1040 are also logical constructs. The link 1010 connects the router 250 to the pseudo node 1020, the link 1030 connects the router 220 to the pseudo node 1020, and the link 1040 connects the router 230 to the pseudo node 1020. The pseudo node system 1000 provides a more efficient representation for the link 245, particularly if additional routers are connected to the link 245.
  • Returning to step 940 of FIG. 9 , from the link state message from the DR, which is the router 220, the PCE 265 obtains the local IP address of 10.1.1.3 and the mask length of 30 bits. The PCE 265 applies a 30-bit mask to the local IP address of 10.1.1.3 to obtain 10.1.1.0. The PCE 265 designates 10.1.1.3 as the ID of the pseudo node 1020. The PCE 265 creates a connection via the link 1030 with the local IP address of 10.1.1.3 and the mask length of 30 bits between the router 220 and the pseudo node 1020. Likewise, the PCE 265 creates a connection via the link 1010 with the local IP address of 10.1.1.1 and the mask length of 30 bits between the router 250 and the pseudo node 1020, and the PCE 265 creates a connection via the link 1040 with the local IP address of 10.1.1.2 and the mask length of 30 bits between the router 230 and the pseudo node 1020.
  • At step 950, the BDR is designated as a new DR when the DR is disabled. For instance, the router 220 is disabled due to its removal from the routing system 200, its powering down, or another cause. The PCE 265 designates the router 230 as the new DR. In addition, from among the remaining routers connected to the link 245, the PCE 265 designates as a new BDR the router with the smallest local IP address or the largest local IP address. In this case, the router 250 is the only remaining router, so it has either the smallest local IP address or the largest local IP address and therefore becomes the new BDR. Furthermore, the PCE 265 removes the links 1010, 1030, 1040 associated with the disabled DR. For instance, the PCE 265 removes the link 1030. Step 950 is optional and may not necessarily occur. If step 950 occurs, it may not occur after step 940, but may instead occur at any other time when the DR is disabled.
  • Finally, at step 960, a path is computed using the pseudo node. For instance, the PCE 265 computes a routing path using the pseudo node 1020. Computing the routing path using the pseudo node 1020 provides for more efficient computation in the PCE 265.
  • FIG. 11 is a flowchart illustrating a method 1100 of broadcast link advertisement according to an embodiment of the disclosure. A router, for instance the router 220 in the AS 225, implements the method 1100. At step 1110, information about a broadcast link connecting a first router to a second router in a second AS is obtained. The first router is in a first AS. For instance, the router 220 obtains information about the link 245, which connects the router 220 in the AS 225 to the router 250 in the AS 240. The information comprises any combination of the IPv4 address field 630, mask length field 640, the IPv6 address field 730, the mask length field 740, the local AS number field 830, or the other sub-TLV information described above.
  • At step 1120, a link state message comprising the information is generated. For instance, the router 220 generates the inter-AS TE LSP 400 or the inter-AS TE LSA 500. Finally, at step 1130, the link state message is transmitted to a third router. The third router is in the first AS and is adjacent to the first router.
  • FIG. 12 is a flowchart illustrating a method 1200 of pseudo node implementation according to another embodiment of the disclosure. A super node, for instance the PCE 265, implements the method 1200. The PCE 265 may do so using a TED.
  • At step 1210, a first link state message is received from a first router. For instance, the PCE 265 receives the inter-AS TE LSP 400 or the inter-AS TE LSA 500 from the router 220. At step 1220, a second link state message is received from a second router. For instance, the PCE 265 receives the inter-AS TE LSP 400 or the inter-AS TE LSA 500 from the router 230. At step 1230, a third link state message is received from a third router. For instance, the PCE 265 receives the inter-AS TE LSP 400 or the inter-AS TE LSA 500 from the router 250.
  • Finally, at step 1240, it is determined which of the first router, the second router, and the third router are ASBRs connected to a broadcast link based on information in the first link state message, the second link state message, and the third link state message. For instance, the PCE 265 determines which of the routers 220, 230, 250 are ASBRs connected to the link 245 and determines that the link 245 is a broadcast link. The PCE 265 may do so as described with respect to step 920 in FIG. 9 .
  • FIG. 13 is a schematic diagram of an apparatus 1300 according to an embodiment of the disclosure. The apparatus 1300 may implement the disclosed embodiments. The apparatus 1300 comprises ingress ports 1310 and an RX 1320 for receiving data; a processor, logic unit, baseband unit, or CPU 1330 to process the data; a TX 1340 and egress ports 1350 for transmitting the data; and a memory 1360 for storing the data. The apparatus 1300 may also comprise OE components, EO components, or RF components coupled to the ingress ports 1310, the RX 1320, the TX 1340, and the egress ports 1350 for ingress or egress of optical, electrical signals, or RF signals.
  • The processor 1330 is any combination of hardware, middleware, firmware, or software. The processor 1330 comprises any combination of one or more CPU chips, cores, FPGAs, ASICs, or DSPs. The processor 1330 communicates with the ingress ports 1310, RX 1320, TX 1340, egress ports 1350, and memory 1360. The processor 1330 comprises a path computation component 1370, a TED 1380, and an interface manager 1390, which implement the disclosed embodiments. The inclusion of the path computation component 1370, the TED 1380, and the interface manager 1390 therefore provides a substantial improvement to the functionality of the apparatus 1300 and effects a transformation of the apparatus 1300 to a different state. Alternatively, the memory 1360 stores the path computation component 1370, the TED 1380, and the interface manager 1390 as instructions, and the processor 1330 executes those instructions.
  • The memory 1360 comprises any combination of disks, tape drives, or solid-state drives. The apparatus 1300 may use the memory 1360 as an over-flow data storage device to store programs when the apparatus 1300 selects those programs for execution and to store instructions and data that the apparatus 1300 reads during execution of those programs. The memory 1360 may be volatile or non-volatile and may be any combination of ROM, RAM, TCAM, or SRAM.
  • A first router in a first AS, the first router comprises: a processing element configured to: obtain information about a broadcast link connecting the first router to a second router in a second AS, and generate a link state message comprising the information; and a transmitting element coupled to the processing element and configured to transmit the link state message to a third router, wherein the third router is in the first AS and is adjacent to the first router.
  • A first component is directly coupled to a second component when there are no intervening components, except for a line, a trace, or another medium between the first component and the second component. The first component is indirectly coupled to the second component when there are intervening components other than a line, a trace, or another medium between the first component and the second component. The term “coupled” and its variants include both directly coupled and indirectly coupled. The use of the term “about” means a range including ±10% of the subsequent number unless otherwise stated.
  • While several embodiments have been provided in the present disclosure, it may be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
  • In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, components, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled may be directly coupled or may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and may be made without departing from the spirit and scope disclosed herein.

Claims (20)

What is claimed is:
1. A method comprising:
receiving link state messages from routers in a routing system; and
determining, based on the link state messages, autonomous system border routers (ASBRs) connected to a broadcast link.
2. The method of claim 1, wherein the method is implemented by a path computation element (PCE).
3. The method of claim 1, wherein each of the link state messages is an Intermediate System to Intermediate System (IS-IS) link state protocol data unit (LSP) or an Open Shortest Path First (OSPF) link state advertisement (LSA).
4. The method of claim 1, wherein the routers are all routers in the routing system.
5. The method of claim 1, wherein the routers are all routers connected to a link.
6. The method of claim 1, wherein receiving the link state messages from the routers comprises receiving the link state messages directly from the routers.
7. The method of claim 1, wherein receiving the link state messages from the routers comprises receiving the link state messages indirectly from the routers and through paths comprising multiple routers.
8. The method of claim 1, further comprising further determining the ASBRs based on flags in the link state messages.
9. The method of claim 1, further comprising determining that the ASBRs are connected to the broadcast link by obtaining local Internet Protocol (IP) addresses from the link state messages.
10. The method of claim 9, further comprising further determining that the ASBRs are connected to the broadcast link by applying a mask to each of the local IP addresses to obtain masked IP addresses.
11. The method of claim 10, further comprising further determining that the ASBRs are connected to the broadcast link by determining that the ASBRs are part of a link when the masked IP addresses corresponding to the ASBRs are the same.
12. The method of claim 11, further comprising further determining that the ASBRs are connected to the broadcast link by determining that the link is the broadcast link when the link state messages corresponding to the ASBRs comprise sub-type-length-values (sub-TLVs) indicating a link type is multi-access.
13. The method of claim 1, further comprising designating a designated router (DR) and a backup designated router (BDR) based on the link state messages.
14. The method of claim 13, wherein designating the DR and the BDR comprises:
designating the DR as a first router from which one of the link state messages is received; and
designating the BDR as a second router from which another one of the link state messages is received.
15. The method of claim 13, further comprising creating a pseudo node system comprising the ASBRs, a pseudo node, and virtual links, wherein the pseudo node is a virtual node that represents a center point among the ASBRs, and wherein the virtual links connect the ASBRs to the pseudo node.
16. The method of claim 15, further comprising designating the BDR as a new DR when the DR is disabled.
17. The method of claim 15, further comprising computing a routing path using the pseudo node.
18. An apparatus comprising:
a memory configured to store instructions; and
a processor coupled to the memory and configured to execute the instructions to cause the apparatus to:
receive link state messages from routers in a routing system; and
determine, based on the link state messages, autonomous system border routers (ASBRs) connected to a broadcast link.
19. The apparatus of claim 18, wherein the processor is further configured to execute the instructions to cause the apparatus to determine the ASBRs connected to the broadcast link by:
determining the ASBRs based on flags in the link state messages;
obtaining local Internet Protocol (IP) addresses from the link state messages;
applying a mask to the local IP addresses to obtain masked IP addresses;
determining that the ASBRs are part of a link when the masked IP addresses corresponding to the ASBRs are the same; and
determining that the link is the broadcast link when the link state messages corresponding to the ASBRs comprise sub-type-length-values (sub-TLVs) indicating a link type is multi-access.
20. A computer program product comprising instructions that are stored on a computer-readable medium and that, when executed by a processor, cause an apparatus to:
receive link state messages from routers in a routing system; and
determine, based on the link state messages, autonomous system border routers (ASBRs) connected to a broadcast link.
US18/154,712 2017-03-10 2023-01-13 Routing protocol broadcast link extensions Pending US20230179515A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/154,712 US20230179515A1 (en) 2017-03-10 2023-01-13 Routing protocol broadcast link extensions

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762469686P 2017-03-10 2017-03-10
US201762469692P 2017-03-10 2017-03-10
US15/901,494 US11558291B2 (en) 2017-03-10 2018-02-21 Routing protocol broadcast link extensions
US18/154,712 US20230179515A1 (en) 2017-03-10 2023-01-13 Routing protocol broadcast link extensions

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/901,494 Continuation US11558291B2 (en) 2017-03-10 2018-02-21 Routing protocol broadcast link extensions

Publications (1)

Publication Number Publication Date
US20230179515A1 true US20230179515A1 (en) 2023-06-08

Family

ID=63445157

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/901,494 Active US11558291B2 (en) 2017-03-10 2018-02-21 Routing protocol broadcast link extensions
US18/154,712 Pending US20230179515A1 (en) 2017-03-10 2023-01-13 Routing protocol broadcast link extensions

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US15/901,494 Active US11558291B2 (en) 2017-03-10 2018-02-21 Routing protocol broadcast link extensions

Country Status (1)

Country Link
US (2) US11558291B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050073958A1 (en) * 2003-10-03 2005-04-07 Avici Systems, Inc. Selecting alternate paths for network destinations
CN101155135A (en) * 2006-09-28 2008-04-02 华为技术有限公司 Method and device for flooding autonomous system border router ability information
US20100097925A1 (en) * 2008-10-16 2010-04-22 International Business Machines Corporation Selective routing traffic controls and automated recovery among parallel multi-access interfaces
US7936780B1 (en) * 2008-03-12 2011-05-03 Juniper Networks, Inc. Hierarchical label distribution protocol for computer networks
US8018873B1 (en) * 2007-11-08 2011-09-13 Juniper Networks, Inc. Enhanced link state protocol for identifying broadcast networks
US8125926B1 (en) * 2007-10-16 2012-02-28 Juniper Networks, Inc. Inter-autonomous system (AS) virtual private local area network service (VPLS)
US20160261501A1 (en) * 2015-03-05 2016-09-08 Juniper Networks, Inc. Overload functionality in overlay networks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003309595A (en) * 2002-04-12 2003-10-31 Fujitsu Ltd Router and routing method in network
EP2086189B1 (en) * 2006-11-09 2014-01-01 Huawei Technologies Co., Ltd. A method and border node for advertising border connection information of a system
US7804848B2 (en) * 2007-02-28 2010-09-28 Cisco Technology, Inc. Setting a forwarding address in an internet protocol version 6 (IPv6) routing protocol domain at a boundary with a different routing protocol domain
US9565027B2 (en) * 2013-08-23 2017-02-07 Futurewei Technologies, Inc. Multi-destination traffic control in multi-level networks
US10097372B2 (en) * 2014-01-09 2018-10-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050073958A1 (en) * 2003-10-03 2005-04-07 Avici Systems, Inc. Selecting alternate paths for network destinations
CN101155135A (en) * 2006-09-28 2008-04-02 华为技术有限公司 Method and device for flooding autonomous system border router ability information
US8125926B1 (en) * 2007-10-16 2012-02-28 Juniper Networks, Inc. Inter-autonomous system (AS) virtual private local area network service (VPLS)
US8018873B1 (en) * 2007-11-08 2011-09-13 Juniper Networks, Inc. Enhanced link state protocol for identifying broadcast networks
US7936780B1 (en) * 2008-03-12 2011-05-03 Juniper Networks, Inc. Hierarchical label distribution protocol for computer networks
US20100097925A1 (en) * 2008-10-16 2010-04-22 International Business Machines Corporation Selective routing traffic controls and automated recovery among parallel multi-access interfaces
US20160261501A1 (en) * 2015-03-05 2016-09-08 Juniper Networks, Inc. Overload functionality in overlay networks

Also Published As

Publication number Publication date
US11558291B2 (en) 2023-01-17
US20180262426A1 (en) 2018-09-13

Similar Documents

Publication Publication Date Title
US10541905B2 (en) Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment
US11909596B2 (en) Connections and accesses for hierarchical path computation element (PCE)
EP3200402B1 (en) Segment routing information obtainment method and segment routing network establishment method
US9749214B2 (en) Software defined networking (SDN) specific topology information discovery
US9660897B1 (en) BGP link-state extensions for segment routing
US7460481B2 (en) Inter-domain TE-LSP with IGP extensions
US9019865B2 (en) Advertising traffic engineering information with the border gateway protocol
US7814227B2 (en) Computation of a shortest inter-domain TE-LSP across a set of autonomous systems
US10469360B1 (en) Reverse metric advertisement for border gateway protocol route reflection inhierarchical networks
JP5450665B2 (en) LDPIGP synchronization for broadcast networks
EP2741546B1 (en) Performance-based routing method and device
US10958559B2 (en) Scaled inter-domain metrics for link state protocols
WO2020187308A1 (en) Method for optimal routing in an inter-area srmpls igp network, nodes and system thereof
US10992567B2 (en) Traffic engineering attribute for avoiding packet paths with signal degrade
US11805046B2 (en) Border gateway protocol (BGP) for routing policy distribution
US20160142284A1 (en) Establishing a multicast backup path
JP2022522175A (en) Systems and methods for handling IGP flooding topology inconsistencies
US11303549B2 (en) Segmented traceroute for segment routing traffic engineering
US20230179515A1 (en) Routing protocol broadcast link extensions
WO2022042610A1 (en) Information processing method, network controller, node and computer-readable storage medium
WO2020243465A1 (en) Open shortest path first (ospf) service group dedicated databases
WO2020231740A1 (en) Open shortest path first (ospf) service grouping capability, membership, and flooding
CN116800660A (en) Method and device for generating forwarding table, storage medium and electronic device

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

AS Assignment

Owner name: FUTUREWEI TECHNOLOGIES, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHEN, HUAIMO;REEL/FRAME:063313/0658

Effective date: 20180202

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER