WO2016153536A1 - Delay of route update communication - Google Patents
Delay of route update communication Download PDFInfo
- Publication number
- WO2016153536A1 WO2016153536A1 PCT/US2015/033879 US2015033879W WO2016153536A1 WO 2016153536 A1 WO2016153536 A1 WO 2016153536A1 US 2015033879 W US2015033879 W US 2015033879W WO 2016153536 A1 WO2016153536 A1 WO 2016153536A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- network
- preempt
- communication
- communication interface
- route update
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/023—Delayed use of routing table updates
Definitions
- High speed communication networks form part of the backbone of what has become indispensable worldwide data connectivity.
- network devices such as switching devices direct network traffic from source ports to destination ports, helping to eventually guide a data packet from a source to a destination. Improvements in the resiliency and efficiency of these communication networks will increase the effectiveness of communicating data.
- Figure 1 shows an example of a network device that supports delay of a route update communication.
- Figure 2 shows an example of a system that includes a network device supporting delay of a route update communication.
- Figure 3 shows another example of a system that includes a network device supporting delay of a route update communication.
- Figure 4 shows an example communication sequence that includes delay of a route update communication.
- Figure 5 shows an example of logic that the link circuitry may implement.
- Figure 6 shows an example of a device that supports delay of a route update communication.
- Convergence may refer to a communication network state when a set of network devices have consistent (e.g., identical) routing and/or network topology information. Convergence may be specific to a routing protocol employed by the network devices, and a network device may store routing information in a device routing table (which may also be referred to a forwarding table). The device routing table may store route information to particular network destinations and, thus, be in an unconverged state when the device routing table is inconsistent with or does not store routing information for network routes accessible through other network devices linked to the particular network device implementing the device routing table.
- Figure 1 shows an example of network device 100 that supports delay of a route update communication.
- the network device 100 may be any device that routes data in a communication network. Accordingly, the network device 100 may take the form of, for example, a router, switch, gateway, switching fabric, or any other device (physical or virtual) that routes or forwards packet data between a source and destination.
- the network device 100 may include a communication interface to link to another device.
- the network device 100 may be one of multiple network devices that form a communication network through which data is routed across different physical or logical endpoints in a communication system.
- a communication interface may include a data port, logic, or other circuitry to interface to a different device, whether if be an intermediate network device or an endpoint device.
- the network device 100 includes multiple communication interfaces, including the first communication interface 102 and the second communication interface 104.
- Communication interfaces of the network device 100 may be linked to various communication networks.
- One way to characterize different communication networks that the network device 100 may link to is as upstream and downstream communication networks and their respective network devices.
- Upstream and downstream networks may refer to different directions in which data is routed by the network device 100.
- an upstream communication network may refer to networks and devices through which the network device 100 routes packet data to a server whereas a downstream communication network may refer to networks and devices through which the network device 100 routes packet data to a client.
- the first communication interface 102 links to an upstream network device, and thus an upstream communication network.
- the second communication interface 104 in the example shown in Figure 1 links to a downstream network device, and thus a downstream communication network.
- the network device 100 may include link circuitry 1 10. As described in greater detail below, the link circuitry 1 10 may delay a routing protocol communication on a selected communication interface for the network device 100 when a device routing table for the network device 100 is in an unconverged state. In particular, the link circuitry 1 10 may delay route update communications through the selected communication interface used to exchange route information with a particular communication network to converge the device routing table.
- a route update communication may include route information for the communication network, such as an internet protocol (IP) address, subnet mask, next hop information, cost information, and the like. Accordingly, network devices may exchange route update communications (e.g., route update messages) to converge respective device routing tables to include consistent routing information with one another.
- IP internet protocol
- the selected communication interface may correspond to a particular communication network that the network device 100 is linked to, such as a downstream or upstream communication network.
- the link circuitry 1 10 may ensure that route updates obtained for a different communication network (e.g., an upstream communication network) are processed to update the device routing table prior to exchanging route update communications for the particular communication network.
- the link circuitry 1 10 includes the modules 1 1 1 , 1 12, and 1 13.
- the modules 1 1 1 , 1 12, 1 13 may be implemented as circuitry, logic, executable instructions stored on a machine-readable medium, or in various other forms.
- the modules 1 1 1 1 , 1 12, 1 13 may support the link circuitry 1 10 to, for example, determine that a device routing table is in an unconverged state; start a preempt timer that expires after a preempt duration; delay communication of a route update message through the first communication interface 102 to the downstream network device until after the preempt timer expires; and communicate a route update message through the second communication interface 104 to the upstream network device before the preempt timer expires.
- the link circuitry 1 10 may apply the preempt timer to a selected communication interface or a selected set of communication interfaces, thus delaying communication of route update messages through the selected set of communication interfaces until after the preempt timer expires.
- the link circuitry 1 10 may apply the preempt timer and delayed route update communications for some, but not all, of the communication interfaces of the network device 100.
- the link circuitry 1 10 may delay route update messages for any routing protocol supported by the network device 100, and for a communication interface on an individual basis according to the routing protocols used by the communication interface.
- Example routing protocols the network device 100 may support and the link circuitry 1 10 may delay route update communications for include Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), Routing Information Protocol (RIP), Intermediate System to Intermediate System (IS-IS), Interior Gateway Protocol (IGP), Enhanced Interior Gateway Routing Protocol (EIGRP), Exterior Gateway Protocol (EGP), and more.
- OSPF Open Shortest Path First
- Border Gateway Protocol Border Gateway Protocol
- Routing Information Protocol RIP
- IS-IS Intermediate System to Intermediate System
- IS-IS Intermediate System to Intermediate System
- IGP Interior Gateway Protocol
- EIGRP Enhanced Interior Gateway Routing Protocol
- EIGRP Exterior Gateway Protocol
- EGP Exterior Gateway Protocol
- Figure 2 shows an example of a system 200 that includes a network device 202 supporting delay of a route update communication.
- the system 200 includes a network device 202, a core network 204, and a host network 206.
- the network device 202 may be linked to multiple communication networks, such as the core network 204 and the host network 206 in the example shown in Figure 2.
- the network device 202 may thus include multiple communication interfaces, including communication interface(s) linking the network device 202 to the core network 204 as well as the host network 208, e.g., by linking to network devices part of the core network 204 and host network 206 respectively.
- the core network 204 may be referred to as an upstream communication network to the network device 202.
- the core network 204 may, for example, be a network core that includes a mesh of linked networks including regional or global internet server provider (ISP) networks, institutional networks, interconnected router networks, or other network circuitry and devices that link public networks together, such as the Internet.
- the host network 206 may be a local communication network, such as private network of a local entity or corporation or a local area network (LAN). In Figure 2, the host network 206 may be referred to as a downstream communication network to the network device 202.
- the network device 202 may include link circuitry 1 10 to support delaying communicating a route update communication for a selected communication interface in the network device 202 when a device routing table is in an unconverged state.
- the link circuitry 1 10 may determine which communication interfaces to delay route update communications for according to any number of delay criteria. In some examples, the link circuitry 1 10 determines which communication interface(s) of a particular network device to delay route update communications through according to a communication network size.
- the link circuitry 1 10 may, for example, delay route update communications to a particular communication network that does not exceed a threshold network size, which may be measured according to number of routing devices, a number of routing updates for the network, a number of linked networks, a number of advertised networks, communication latency, or any other metric. As another example, the link circuitry 1 10 may compare network size amongst multiple communication networks linked to the network device 202, and determine to delay route update communications to a particular communication network with a lesser size.
- the link circuitry 1 10 may identify the core network 204 as a larger communication network than the host network 206. As noted above, the network size comparison may be performed according to any combination of network size metrics. For the lesser sized communication network, the link circuitry 1 10 may delay route update communication across a communication interface in the network device that links to the lesser sized network. Accordingly, in the example shown in Figure 2, the link circuitry 1 10 may determine that a device routing table is in an unconverged state, and delay route update communications to the host network 208 for converging the routing table for a determined time period. The time period during which the link circuitry 1 10 delays these route update communications may be referred to as a delay period, and implemented through a preempt timer, for example.
- the link circuitry 1 10 may nonetheless exchange route update communications with the host network 206, thus allowing the link circuitry 1 10 to gather route information for the host network 208 to populate the device routing table.
- the link circuitry 1 10 may first converge the device routing table to the core network 204 before exchanging route update communications with the host network 208.
- the link circuitry 1 10 may then exchange route update communications with the host network 206, and may thus converge the device routing table to the host network 206.
- Figure 3 shows another example of a system 300 that includes a network device supporting delay of a route update communication.
- the system 300 includes multiple routing devices including the aggregation routers labeled as 301 and 302 and the distribution routers labeled as 31 1 and 312.
- the system 300 also includes a core network 305 communicatively linked to the aggregation routers 301 and 302 as well as host devices 321 , 322, 323, 324, and 325 communicatively linked to the distribution routers 31 1 and 312.
- the aggregation routers 301 and 302 may affect a communication network by aggregating various routes or paths within a network (e.g., a host network) to specific routing points.
- Distribution routers 31 1 and 312 may be directly or indirectly linked to end point devices or local devices, such as the host devices 321 -325, and may aggregate traffic from access routers, for example.
- the system 300 may implement redundancy in a communication network through multiple aggregation routers and distribution routers, such as in Figure 3.
- a host communication network including the aggregation and distribution routers may offer multiple routes to the core network 305 to avoid single points of failure and provide load balance support. While one example system 300 including aggregation and distribution routers is shown in Figure 3, the link circuitry 1 10 may be consistently implemented in any hierarchy or topology of routing devices.
- any of the routing devices in the system 300 may include the link circuitry 1 10. Accordingly, any of the routers 301 , 302, 31 1 , and 312 may delay a route update communication across a selected communication interface in response to determining that a device routing table for the router is in an unconverged state.
- One communication update delay illustration is provided with respect to the aggregation router 301 in Figure 3, which may be implemented and/or performed through link circuitry 1 10 of the aggregation router 301 .
- Link circuitry 1 10 of the aggregation router 301 may apply a delay period during which routing update communications across selected communication interfaces of the aggregation router 301 are delayed during a convergence process.
- the link circuitry 1 10, as noted above, may utilize a preempt timer active for a preempt duration, the duration set according to a determined delay period.
- the link circuitry 1 10 configures the preempt duration according to an instruction from a separate control entity, such as a management device or network administrator.
- the link circuitry 1 10 may receive a instruction message from the network administrator specifying the preempt duration to configure the preempt timer to.
- the link circuitry 1 10 may delay routing update communications to a downstream communication network during the delay period, while allowing routing update communications to an upstream communication network during the delay period.
- the link circuitry 1 10 may prevent routing update communications across communication interfaces to downstream network devices (such as the distribution routers 31 1 and 312) until after the delay period ends. Accordingly, the link circuitry 1 10 may start a preempt timer and wait until after the preempt timer expires to transmit and receive routing update communications with the distribution routers 31 1 and 312 for the convergence process. The link circuitry 1 10 may delay these routing update communications even if a particular routing protocol is configured and activated on the selected communication interfaces.
- the OSPF protocol may be activated on a communication interface to the distribution router 31 1 after a reboot of the aggregation router 301 , e.g., upon establishing a communication link to the distribution router 31 1 . Nonetheless, the link circuitry 1 10 may delay routing update communications across the communication interface to the distribution router 31 1 until after the preempt timer expires. Prior to expiration of the preempt timer however, the link circuitry 1 10 may exchange route update communications through communication interfaces linking to upstream network devices of the core network 305.
- the link circuitry 1 10 may apply a delay period that accounts for a communication network size.
- the delay period may account for the network size of a communication network that the link circuitry 1 10 determines not to delay route update communications for.
- the link circuitry 1 10 may apply a delay period (e.g., through the preempt duration of the preempt timer) that accounts for the network size of the core network 305, that is, the communication network through which the aggregation router 301 does not delay route update communications for while the preempt timer is active.
- the delay period may thus correspond to or be proportional to, for example, a number of route updates, devices, routes, or any other size metric for the core network 305.
- the link circuitry 1 10 may adaptiveiy adjust the delay period during which routing update communications through a selected communication interface are delayed. In some examples, the link circuitry 1 10 determines a preempt duration for the preempt timer according to a number of route updates for an upstream network (e.g., the core network 305) queued for processing to converge the device routing table to the upstream network. Put another way, during the delay period when the preempt timer has yet to expire, the link circuitry 1 10 of the aggregation router 301 may exchange route updates with the core network 305 and thus receiving routing information from the core network 305. As the link circuitry 1 10 receives route information from various devices, networks, or other portions of the core network 305, the link circuitry 1010 may queue these route updates for processing to update the device routing table into a converged state.
- an upstream network e.g., the core network 305
- the link circuitry 1 10 of the aggregation router 301 may exchange route updates with the core network 305 and thus receiving routing information from the
- the link circuitry 1 10 may determine a preempt duration for the preempt timer based on the number of queued routing updates for processing. For a time 't to' process a route update and 'n' number of route updates for processing to converge a device routing table, the link circuitry 1 10 may determine the preempt duration as 't' 'n' so as to complete processing of the route updates for the core network 305 before exchanging route update communications with a host network (e.g., through the distribution routers 31 1 and 312). As another example, after starting the preempt timer, the link circuitry 1 10 may queue an additional route update for processing to converge the device routing table to the upstream network (e.g., the core network 305). In response to queuing the additional route update, the link circuitry 1 10 may extend the preempt duration to account for the additional route update, for example by extending the preempt duration by an amount of time 't' used to process the additional route update.
- the link circuitry 1 10 may delay route update communications through selected communication interfaces of a network device on a protocol specific basis. Thus, when the link circuitry 1 10 determines that the device routing table for a particular protocol is in an unconverged state, the link circuitry 1 10 may determine to delay routing update communications across a set of communication interfaces to a particular communication network for which the particular protocol is enabled. Using OSPF as an example, the link circuitry 1 10 may determine to delay routing update communications across specific communication interfaces to a downstream communication network (e.g., a host network) for which OSPF is enabled. Thus, for specific routing protocols, the link circuitry 1 10 may determine to delay routing update communications of a specific routing protocol for particular communication interfaces for which the specific routing protocol is enabled.
- the link circuitry 1 10 of the aggregation router 301 may ensure that routing updates and route information for the core network 305 is exchanged and processed prior to exchanging route update information with the downstream (e.g. host) network that includes the distribution routers 31 1 and 312 as well as the host devices 321 -325.
- the downstream network e.g. host
- network traffic from the downstream network devices may instead traverse through a network device that is converged to the upstream network, e.g., the aggregation router 302.
- the aggregation router 301 may prevent traffic from flowing through itself when it does not have a completely converged routing table, which may thus prevent dropped traffic or traffic loss during a convergence process by the aggregation router 301 .
- Figure 4 shows an example communication sequence 400 that includes delay of a route update communication.
- the example communication sequence 400 is provided with respect to the system elements described above in Figure 3, including the core network 305, aggregation router (AR) 301 , AR 302, distribution router (DR) 31 1 , and the host device 321 .
- Figure 4 illustrates delay of routing update communications that the aggregation router 301 may implement in response to its device routing table being in an unconverged state, as caused by a device reboot.
- a first data packet may traverse from the core network 305 to the aggregation router 302 to the distribution router 31 1 to the host device 321 .
- the host device 321 may communication a first reply packet to the distribution router 31 1 , which may route the first reply packet to the aggregation router 301 as specified by the routing table of the distribution router 31 1 .
- the aggregation router 301 may then route the first reply packet to the core network 305.
- the device routing table of the aggregation router 301 may be in an unconverged state.
- the aggregation router 301 may start a preempt timer. Prior to expiration of the preempt timer, the aggregation router 301 may exchange route updates with the core network 305 upstream to the aggregation router 301 , but may delay route update communications with downstream network devices such as the distribution router 31 1 .
- a second data packet may traverse from the core network 305 to the aggregation router 302 to the distribution router 31 1 to the host device.
- the host device 321 may reply with a second reply packet to the distribution router 31 1 .
- the device routing table of the distribution router 31 1 may now route the second reply packet through the aggregation router 302 instead. This may occur as the distribution router 31 1 may be unaware of routes accessible to the aggregation router 301 as routing information has yet to be exchanged with the aggregation router 301 during the delay period. Thus, the distribution router 31 1 may route the second reply packet to a routing device that is in a converged state instead of the aggregation router 301 in the process of converging its routing table to core network 305. After the distribution router 31 1 sends the second reply packet to the aggregation route 302, the aggregation router 302 may route the second reply packet to the core network 305.
- the aggregation router 301 may prevent the distribution router 31 1 from routing the second reply packet through the aggregation router 301 when the device routing table of the aggregation router 301 is in an unconverged state or prior to processing route updates from the core network 305.
- the core network 305 may be a larger network than a host network that the aggregation routers 301 and 302, distribution routers 31 1 and 312, and the host devices 321 -325 are part of, processing route updates for the core network 305 to converge a device routing table to the core network 305 may take a relatively longer time than converging the device routing table to the smaller host network.
- the aggregation router 301 may have been unable route the second reply packet due to incomplete route information for the core network 305, which may result in traffic loss. Accordingly, the aggregation router 301 may prevent routing errors (e.g., loss, routing loops, unreachable subnets, etc.) by instead delaying exchange of routing update communications with the distribution router 31 1 until after the preempt timer expires, allowing the aggregation router 301 to process route updates and first converge to the core network 305.
- routing errors e.g., loss, routing loops, unreachable subnets, etc.
- the aggregation router 301 may first exchange routing update communications with the core network 305 to converge its device routing table to the core network 305.
- the device routing table of the aggregation router 301 may reach a converged state before expiration of the preempt timer, specifically convergence to the core network 305.
- the aggregation router 301 may then exchange route update communications with the host network.
- the device routing table of the aggregation router 301 may again be in an unconverged state while processing routing updates for the host network and then return to a converged state upon processing the routing updates for host network.
- the convergence time for the core network 305 may be longer than convergence time for the host network due to the difference in network size
- the aggregation router 301 may ensure that its device routing table first converges routing information for the core network 305 to prevent traffic loss that may result were the aggregation router 301 to exchange routing update communications with both the core network 305 and host network simultaneously and a host device transmit a packet to the core network 305 prior to the aggregation router 301 converging to the core network 305.
- the aggregation router 301 may then exchange route update communications with the host network, e.g., with the distribution router 31 1 and/or other devices in the host network.
- the aggregation router 301 may complete the convergence process and the device routing table of the aggregation router 301 may thus be in a converged state with both the core network 305 and host network.
- the distribution router 31 1 may update its device routing table to again forward packets upstream to the core network 305 through the aggregation router 301 instead of the aggregation router 302, as shown through the third data packet and third reply packet.
- Figure 5 shows an example of logic 500 that the link circuitry 1 10 may implement.
- the link circuitry 1 10 may implement the iogic 500 as hardware and/or machine-readable instructions, for example.
- the link circuitry 1 10 may execute the Iogic 500 as a process or method to support delay of a route update communication.
- the link circuitry 1 10 may determine that that a device routing table is in an unconverged state (502). As examples, the link circuitry 1 10 may determine the device routing table is in an unconverged state in response to a network device reboot, when a routing protocol is activated for a communication network (e.g., for network devices in the communication network), when a routing protocol is activated on a particular communication interface in a network device (e.g., configuration of an internet protocol (IP) address on the communication interface or a link event, such as a link up or a link down event). In that regard, the link circuitry 1 10 may determine that a device routing table is in an unconverged state on a protocoi-specific basis, as a network device may implement a different device routing table for different routing protocols.
- IP internet protocol
- the link circuitry 1 10 may delay route update communications for a delay period.
- the link circuitry 1 10 may start a preempt timer that expires after a preempt duration (504), and the preempt duration may define the delay period.
- the link circuitry 1 10 may then delay a route update communication through a selected communication interface in the network device for converging the device routing table until after the preempt timer expires (506).
- the selected communication interface may link to a particular communication network, such as a downstream communication network, a lesser sized communication network, or according to any other delay criteria.
- Figure 6 shows an example of a device 800 that supports delay of a route update communication.
- the device 600 may implement any of the features described herein, including according to any of the features described with respect to the link circuitry 1 10.
- the device 600 may include a processor 810.
- the processor 810 may include a central processing unit (CPU) . , microprocessor, and/or any hardware device suitable for executing instructions stored on a machine-readable medium.
- the device 800 may include a machine-readable medium 620.
- the machine- readable medium 620 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions, such as the link instructions 822 shown in Figure 8.
- the machine-readable medium 820 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disk, and the like.
- RAM Random Access Memory
- EEPROM Electrically-Erasable Programmable Read-Only Memory
- the device 800 may execute instructions stored on the machine- readable medium 820 through the processor 610. Executing the instructions may cause the device 600 to perform any of the features described herein. One specific example is shown in Figure 8 through the link instructions 622. Executing the link instructions 822 may cause the device 600 to operate according to any combination of features of the link circuitry 1 10.
- executing the link instructions 622 may cause the device 800 to determine that a device routing table of a network device is in an unconverged state and, in response, delay communication of a route update message through a first communication interface of the network device for converging the device routing table until after a delay period expires as well as communicate a route update message through a second communication interface of the network device also for converging the device routing table before the delay period expires.
- the delay period may be determined to account for a network size of a communication network associated with (e.g., linked through) the first communication interface, for example as determined by a network administrator or other management entity.
- executing the link instructions 822 may further cause the device 600 to receive an instruction message from a network administrator specifying a duration of the delay period.
- executing the link instructions 822 may further cause the device 600 to determine a duration of the delay period according to a number of route updates for a communication network linked through the first communication interface that are queued for processing to converge the device routing table to the communication network, e.g., as described above.
- executing the link instructions 622 may further cause the device 800 to, during the delay period, queue an additional route update for processing to converge the device routing table to the communication network and extend the delay period to account for the additional route update.
- the link circuitry 1 10 may be implemented in many different ways in many different combinations of hardware, software or both hardware and software.
- the link circuitry 1 10 may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits.
- a product such as a computer program product, may include a storage medium and machine readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above.
- the processing capability of the systems, devices, and circuitry described herein, including the link circuitry 1 10, may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems.
- Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms.
- Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL)).
- the DLL for example, may store code that performs any of the system processing described above.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
In some examples, a method is performed through a network device. The method may include determining that a device routing table is in an unconverged state, starting a preempt timer that expires after a preempt duration, delaying a route update communication through a selected communication interface in the network device for converging the device routing table until after the preempt timer expires.
Description
DELAY OF ROUTE UPDATE COMMUNICATION
BACKGROUND
[0001] High speed communication networks form part of the backbone of what has become indispensable worldwide data connectivity. Within the communication networks, network devices such as switching devices direct network traffic from source ports to destination ports, helping to eventually guide a data packet from a source to a destination. Improvements in the resiliency and efficiency of these communication networks will increase the effectiveness of communicating data.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Certain examples are described in the following detailed description and in reference to the drawings.
[0003] Figure 1 shows an example of a network device that supports delay of a route update communication.
[0004] Figure 2 shows an example of a system that includes a network device supporting delay of a route update communication.
[0005] Figure 3 shows another example of a system that includes a network device supporting delay of a route update communication.
[0006] Figure 4 shows an example communication sequence that includes delay of a route update communication.
[0007] Figure 5 shows an example of logic that the link circuitry may implement.
[0008] Figure 6 shows an example of a device that supports delay of a route update communication.
DETAILED DESCRIPTION
[0009] The discussion below refers to convergence, which may also be referred to as routing convergence. Convergence may refer to a communication network state when a set of network devices have consistent (e.g., identical) routing and/or network topology information. Convergence may be specific to a routing protocol employed by the network devices, and a network device may store routing information in a device routing table (which may also be referred to a forwarding table). The device routing table may store route information to particular network destinations and, thus, be in an unconverged state when the device routing table is inconsistent with or does not store routing information for network routes accessible through other network devices linked to the particular network device implementing the device routing table.
[0010] Figure 1 shows an example of network device 100 that supports delay of a route update communication. The network device 100 may be any device that routes data in a communication network. Accordingly, the network device 100 may take the form of, for example, a router, switch, gateway, switching fabric, or any other device (physical or virtual) that routes or forwards packet data between a source and destination.
[0011] The network device 100 may include a communication interface to link to another device. In that regard, the network device 100 may be one of multiple network devices that form a communication network through which data is routed across different physical or logical endpoints in a communication system. A communication interface may include a data port, logic, or other circuitry to interface to a different device, whether if be an intermediate network device or an endpoint device. In the example shown in Figure 1 , the network device 100 includes multiple communication interfaces, including the first communication interface 102 and the second communication interface 104.
[0012] Communication interfaces of the network device 100 may be linked to various communication networks. One way to characterize different communication networks that the network device 100 may link to is as upstream and downstream communication networks and their respective network devices.
Upstream and downstream networks may refer to different directions in which data is routed by the network device 100. In a client-server system for example, an upstream communication network may refer to networks and devices through which the network device 100 routes packet data to a server whereas a downstream communication network may refer to networks and devices through which the network device 100 routes packet data to a client. In the example shown in Figure 1 , the first communication interface 102 links to an upstream network device, and thus an upstream communication network. The second communication interface 104 in the example shown in Figure 1 links to a downstream network device, and thus a downstream communication network.
[0013] The network device 100 may include link circuitry 1 10. As described in greater detail below, the link circuitry 1 10 may delay a routing protocol communication on a selected communication interface for the network device 100 when a device routing table for the network device 100 is in an unconverged state. In particular, the link circuitry 1 10 may delay route update communications through the selected communication interface used to exchange route information with a particular communication network to converge the device routing table. A route update communication may include route information for the communication network, such as an internet protocol (IP) address, subnet mask, next hop information, cost information, and the like. Accordingly, network devices may exchange route update communications (e.g., route update messages) to converge respective device routing tables to include consistent routing information with one another.
[0014] The selected communication interface may correspond to a particular communication network that the network device 100 is linked to, such as a downstream or upstream communication network. In delaying exchange of route update communications with other network devices of a particular communication network (e.g., a downstream communication network), the link circuitry 1 10 may ensure that route updates obtained for a different communication network (e.g., an upstream communication network) are processed to update the device routing table prior to exchanging route update communications for the particular communication network.
[0015] In the example shown in Figure 1 , the link circuitry 1 10 includes the modules 1 1 1 , 1 12, and 1 13. The modules 1 1 1 , 1 12, 1 13 may be implemented as circuitry, logic, executable instructions stored on a machine-readable medium, or in various other forms. The modules 1 1 1 , 1 12, 1 13 may support the link circuitry 1 10 to, for example, determine that a device routing table is in an unconverged state; start a preempt timer that expires after a preempt duration; delay communication of a route update message through the first communication interface 102 to the downstream network device until after the preempt timer expires; and communicate a route update message through the second communication interface 104 to the upstream network device before the preempt timer expires.
[0016] The link circuitry 1 10 may apply the preempt timer to a selected communication interface or a selected set of communication interfaces, thus delaying communication of route update messages through the selected set of communication interfaces until after the preempt timer expires. In that regard, the link circuitry 1 10 may apply the preempt timer and delayed route update communications for some, but not all, of the communication interfaces of the network device 100. The link circuitry 1 10 may delay route update messages for any routing protocol supported by the network device 100, and for a communication interface on an individual basis according to the routing protocols used by the communication interface. Example routing protocols the network device 100 may support and the link circuitry 1 10 may delay route update communications for include Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), Routing Information Protocol (RIP), Intermediate System to Intermediate System (IS-IS), Interior Gateway Protocol (IGP), Enhanced Interior Gateway Routing Protocol (EIGRP), Exterior Gateway Protocol (EGP), and more.
[0017] Figure 2 shows an example of a system 200 that includes a network device 202 supporting delay of a route update communication. The system 200 includes a network device 202, a core network 204, and a host network 206. The network device 202 may be linked to multiple communication networks, such as the core network 204 and the host network 206 in the example shown in Figure 2. The network device 202 may thus include multiple communication interfaces,
including communication interface(s) linking the network device 202 to the core network 204 as well as the host network 208, e.g., by linking to network devices part of the core network 204 and host network 206 respectively.
[0018] In Figure 2, the core network 204 may be referred to as an upstream communication network to the network device 202. The core network 204 may, for example, be a network core that includes a mesh of linked networks including regional or global internet server provider (ISP) networks, institutional networks, interconnected router networks, or other network circuitry and devices that link public networks together, such as the Internet. The host network 206 may be a local communication network, such as private network of a local entity or corporation or a local area network (LAN). In Figure 2, the host network 206 may be referred to as a downstream communication network to the network device 202.
[0019] The network device 202 may include link circuitry 1 10 to support delaying communicating a route update communication for a selected communication interface in the network device 202 when a device routing table is in an unconverged state. The link circuitry 1 10 may determine which communication interfaces to delay route update communications for according to any number of delay criteria. In some examples, the link circuitry 1 10 determines which communication interface(s) of a particular network device to delay route update communications through according to a communication network size. The link circuitry 1 10 may, for example, delay route update communications to a particular communication network that does not exceed a threshold network size, which may be measured according to number of routing devices, a number of routing updates for the network, a number of linked networks, a number of advertised networks, communication latency, or any other metric. As another example, the link circuitry 1 10 may compare network size amongst multiple communication networks linked to the network device 202, and determine to delay route update communications to a particular communication network with a lesser size.
[0020] To illustrate, the link circuitry 1 10 may identify the core network 204 as a larger communication network than the host network 206. As noted above, the network size comparison may be performed according to any combination of
network size metrics. For the lesser sized communication network, the link circuitry 1 10 may delay route update communication across a communication interface in the network device that links to the lesser sized network. Accordingly, in the example shown in Figure 2, the link circuitry 1 10 may determine that a device routing table is in an unconverged state, and delay route update communications to the host network 208 for converging the routing table for a determined time period. The time period during which the link circuitry 1 10 delays these route update communications may be referred to as a delay period, and implemented through a preempt timer, for example. During the delay period (e.g., prior to the preempt timer expiring), the link circuitry 1 10 may nonetheless exchange route update communications with the host network 206, thus allowing the link circuitry 1 10 to gather route information for the host network 208 to populate the device routing table. Thus, the link circuitry 1 10 may first converge the device routing table to the core network 204 before exchanging route update communications with the host network 208. After the delay period ends (e.g., after expiration of the preempt timer), the link circuitry 1 10 may then exchange route update communications with the host network 206, and may thus converge the device routing table to the host network 206.
[0021] Figure 3 shows another example of a system 300 that includes a network device supporting delay of a route update communication. In the particular example shown in Figure 3, the system 300 includes multiple routing devices including the aggregation routers labeled as 301 and 302 and the distribution routers labeled as 31 1 and 312. The system 300 also includes a core network 305 communicatively linked to the aggregation routers 301 and 302 as well as host devices 321 , 322, 323, 324, and 325 communicatively linked to the distribution routers 31 1 and 312.
[0022] The aggregation routers 301 and 302 may affect a communication network by aggregating various routes or paths within a network (e.g., a host network) to specific routing points. Distribution routers 31 1 and 312 may be directly or indirectly linked to end point devices or local devices, such as the host devices 321 -325, and may aggregate traffic from access routers, for example. The system 300 may implement redundancy in a communication network through
multiple aggregation routers and distribution routers, such as in Figure 3. Thus, a host communication network including the aggregation and distribution routers may offer multiple routes to the core network 305 to avoid single points of failure and provide load balance support. While one example system 300 including aggregation and distribution routers is shown in Figure 3, the link circuitry 1 10 may be consistently implemented in any hierarchy or topology of routing devices.
[0023] Any of the routing devices in the system 300 may include the link circuitry 1 10. Accordingly, any of the routers 301 , 302, 31 1 , and 312 may delay a route update communication across a selected communication interface in response to determining that a device routing table for the router is in an unconverged state. One communication update delay illustration is provided with respect to the aggregation router 301 in Figure 3, which may be implemented and/or performed through link circuitry 1 10 of the aggregation router 301 .
[0024] Link circuitry 1 10 of the aggregation router 301 may apply a delay period during which routing update communications across selected communication interfaces of the aggregation router 301 are delayed during a convergence process. The link circuitry 1 10, as noted above, may utilize a preempt timer active for a preempt duration, the duration set according to a determined delay period. In some examples, the link circuitry 1 10 configures the preempt duration according to an instruction from a separate control entity, such as a management device or network administrator. The link circuitry 1 10 may receive a instruction message from the network administrator specifying the preempt duration to configure the preempt timer to. During a convergence process, the link circuitry 1 10 may delay routing update communications to a downstream communication network during the delay period, while allowing routing update communications to an upstream communication network during the delay period.
[0025] In particular, in response to determining that a device routing table for the aggregation router 301 is in an unconverged state, the link circuitry 1 10 may prevent routing update communications across communication interfaces to downstream network devices (such as the distribution routers 31 1 and 312) until after the delay period ends. Accordingly, the link circuitry 1 10 may start a preempt timer and wait until after the preempt timer expires to transmit and receive routing
update communications with the distribution routers 31 1 and 312 for the convergence process. The link circuitry 1 10 may delay these routing update communications even if a particular routing protocol is configured and activated on the selected communication interfaces. To provide one illustration, the OSPF protocol may be activated on a communication interface to the distribution router 31 1 after a reboot of the aggregation router 301 , e.g., upon establishing a communication link to the distribution router 31 1 . Nonetheless, the link circuitry 1 10 may delay routing update communications across the communication interface to the distribution router 31 1 until after the preempt timer expires. Prior to expiration of the preempt timer however, the link circuitry 1 10 may exchange route update communications through communication interfaces linking to upstream network devices of the core network 305.
[0026] The link circuitry 1 10 may apply a delay period that accounts for a communication network size. In particular, the delay period may account for the network size of a communication network that the link circuitry 1 10 determines not to delay route update communications for. !n the example of Figure 3, the link circuitry 1 10 may apply a delay period (e.g., through the preempt duration of the preempt timer) that accounts for the network size of the core network 305, that is, the communication network through which the aggregation router 301 does not delay route update communications for while the preempt timer is active. The delay period may thus correspond to or be proportional to, for example, a number of route updates, devices, routes, or any other size metric for the core network 305.
[0027] The link circuitry 1 10 may adaptiveiy adjust the delay period during which routing update communications through a selected communication interface are delayed. In some examples, the link circuitry 1 10 determines a preempt duration for the preempt timer according to a number of route updates for an upstream network (e.g., the core network 305) queued for processing to converge the device routing table to the upstream network. Put another way, during the delay period when the preempt timer has yet to expire, the link circuitry 1 10 of the aggregation router 301 may exchange route updates with the core network 305 and thus receiving routing information from the core network 305. As the link
circuitry 1 10 receives route information from various devices, networks, or other portions of the core network 305, the link circuitry 1010 may queue these route updates for processing to update the device routing table into a converged state.
[0028] Continuing the example above, the link circuitry 1 10 may determine a preempt duration for the preempt timer based on the number of queued routing updates for processing. For a time 't to' process a route update and 'n' number of route updates for processing to converge a device routing table, the link circuitry 1 10 may determine the preempt duration as 't' 'n' so as to complete processing of the route updates for the core network 305 before exchanging route update communications with a host network (e.g., through the distribution routers 31 1 and 312). As another example, after starting the preempt timer, the link circuitry 1 10 may queue an additional route update for processing to converge the device routing table to the upstream network (e.g., the core network 305). In response to queuing the additional route update, the link circuitry 1 10 may extend the preempt duration to account for the additional route update, for example by extending the preempt duration by an amount of time 't' used to process the additional route update.
[0029] The link circuitry 1 10 may delay route update communications through selected communication interfaces of a network device on a protocol specific basis. Thus, when the link circuitry 1 10 determines that the device routing table for a particular protocol is in an unconverged state, the link circuitry 1 10 may determine to delay routing update communications across a set of communication interfaces to a particular communication network for which the particular protocol is enabled. Using OSPF as an example, the link circuitry 1 10 may determine to delay routing update communications across specific communication interfaces to a downstream communication network (e.g., a host network) for which OSPF is enabled. Thus, for specific routing protocols, the link circuitry 1 10 may determine to delay routing update communications of a specific routing protocol for particular communication interfaces for which the specific routing protocol is enabled.
[0030] Continuing the illustration in Figure 3, the link circuitry 1 10 of the aggregation router 301 may ensure that routing updates and route information for
the core network 305 is exchanged and processed prior to exchanging route update information with the downstream (e.g. host) network that includes the distribution routers 31 1 and 312 as well as the host devices 321 -325. Thus, during a convergence period when the aggregation router 301 is acquiring route information and converging its device routing table, network traffic from the downstream network devices may instead traverse through a network device that is converged to the upstream network, e.g., the aggregation router 302. In doing so, the aggregation router 301 may prevent traffic from flowing through itself when it does not have a completely converged routing table, which may thus prevent dropped traffic or traffic loss during a convergence process by the aggregation router 301 .
[0031] Figure 4 shows an example communication sequence 400 that includes delay of a route update communication. The example communication sequence 400 is provided with respect to the system elements described above in Figure 3, including the core network 305, aggregation router (AR) 301 , AR 302, distribution router (DR) 31 1 , and the host device 321 . !n particular, Figure 4 illustrates delay of routing update communications that the aggregation router 301 may implement in response to its device routing table being in an unconverged state, as caused by a device reboot.
[0032] Prior to the reboot of the aggregation router 301 , a first data packet may traverse from the core network 305 to the aggregation router 302 to the distribution router 31 1 to the host device 321 . The host device 321 may communication a first reply packet to the distribution router 31 1 , which may route the first reply packet to the aggregation router 301 as specified by the routing table of the distribution router 31 1 . The aggregation router 301 may then route the first reply packet to the core network 305.
[0033] After the reboot of the aggregation router 301 , the device routing table of the aggregation router 301 may be in an unconverged state. The aggregation router 301 may start a preempt timer. Prior to expiration of the preempt timer, the aggregation router 301 may exchange route updates with the core network 305 upstream to the aggregation router 301 , but may delay route update communications with downstream network devices such as the distribution router
31 1 . For traffic routed during the delay period, a second data packet may traverse from the core network 305 to the aggregation router 302 to the distribution router 31 1 to the host device. During the delay period, the host device 321 may reply with a second reply packet to the distribution router 31 1 .
[0034] As the distribution router 31 1 has yet to exchange route update communications with the aggregation router 301 due to the route update communication delay implemented by the aggregation router 301 (e.g., through link circuitry 1 10), the device routing table of the distribution router 31 1 may now route the second reply packet through the aggregation router 302 instead. This may occur as the distribution router 31 1 may be unaware of routes accessible to the aggregation router 301 as routing information has yet to be exchanged with the aggregation router 301 during the delay period. Thus, the distribution router 31 1 may route the second reply packet to a routing device that is in a converged state instead of the aggregation router 301 in the process of converging its routing table to core network 305. After the distribution router 31 1 sends the second reply packet to the aggregation route 302, the aggregation router 302 may route the second reply packet to the core network 305.
[0035] By delaying route update exchanges with the distribution router 31 1 , the aggregation router 301 may prevent the distribution router 31 1 from routing the second reply packet through the aggregation router 301 when the device routing table of the aggregation router 301 is in an unconverged state or prior to processing route updates from the core network 305. As the core network 305 may be a larger network than a host network that the aggregation routers 301 and 302, distribution routers 31 1 and 312, and the host devices 321 -325 are part of, processing route updates for the core network 305 to converge a device routing table to the core network 305 may take a relatively longer time than converging the device routing table to the smaller host network. Were the distribution router 31 1 to route the second reply packet to the aggregation router 301 prior to or during the processing of route updates from the core network 305, the aggregation router 301 may have been unable route the second reply packet due to incomplete route information for the core network 305, which may result in traffic loss. Accordingly, the aggregation router 301 may prevent routing errors
(e.g., loss, routing loops, unreachable subnets, etc.) by instead delaying exchange of routing update communications with the distribution router 31 1 until after the preempt timer expires, allowing the aggregation router 301 to process route updates and first converge to the core network 305.
[0036] To explain another way, by delaying route update communications to the host network until after the preempt timer expires, the aggregation router 301 may first exchange routing update communications with the core network 305 to converge its device routing table to the core network 305. Thus, the device routing table of the aggregation router 301 may reach a converged state before expiration of the preempt timer, specifically convergence to the core network 305. After the preempt timer expires, the aggregation router 301 may then exchange route update communications with the host network. During the routing update exchange with the host network, the device routing table of the aggregation router 301 may again be in an unconverged state while processing routing updates for the host network and then return to a converged state upon processing the routing updates for host network. As the convergence time for the core network 305 may be longer than convergence time for the host network due to the difference in network size, the aggregation router 301 may ensure that its device routing table first converges routing information for the core network 305 to prevent traffic loss that may result were the aggregation router 301 to exchange routing update communications with both the core network 305 and host network simultaneously and a host device transmit a packet to the core network 305 prior to the aggregation router 301 converging to the core network 305.
[0037] After the preempt timer expires, the aggregation router 301 may then exchange route update communications with the host network, e.g., with the distribution router 31 1 and/or other devices in the host network. The aggregation router 301 may complete the convergence process and the device routing table of the aggregation router 301 may thus be in a converged state with both the core network 305 and host network. Also, as the aggregation router 301 and distribution router 31 1 have now exchanged route update communications, the distribution router 31 1 may update its device routing table to again forward packets upstream to the core network 305 through the aggregation router 301
instead of the aggregation router 302, as shown through the third data packet and third reply packet.
[0038] Figure 5 shows an example of logic 500 that the link circuitry 1 10 may implement. The link circuitry 1 10 may implement the iogic 500 as hardware and/or machine-readable instructions, for example. The link circuitry 1 10 may execute the Iogic 500 as a process or method to support delay of a route update communication.
[0039] The link circuitry 1 10 may determine that that a device routing table is in an unconverged state (502). As examples, the link circuitry 1 10 may determine the device routing table is in an unconverged state in response to a network device reboot, when a routing protocol is activated for a communication network (e.g., for network devices in the communication network), when a routing protocol is activated on a particular communication interface in a network device (e.g., configuration of an internet protocol (IP) address on the communication interface or a link event, such as a link up or a link down event). In that regard, the link circuitry 1 10 may determine that a device routing table is in an unconverged state on a protocoi-specific basis, as a network device may implement a different device routing table for different routing protocols.
[0040] Upon identifying that a device routing table is (or will be) in an unconverged state, the link circuitry 1 10, the link circuitry 1 10 may delay route update communications for a delay period. Thus, the link circuitry 1 10 may start a preempt timer that expires after a preempt duration (504), and the preempt duration may define the delay period. The link circuitry 1 10 may then delay a route update communication through a selected communication interface in the network device for converging the device routing table until after the preempt timer expires (506). As described above, the selected communication interface may link to a particular communication network, such as a downstream communication network, a lesser sized communication network, or according to any other delay criteria.
[0041] Figure 6 shows an example of a device 800 that supports delay of a route update communication. The device 600 may implement any of the features
described herein, including according to any of the features described with respect to the link circuitry 1 10.
[0042] The device 600 may include a processor 810. The processor 810 may include a central processing unit (CPU)., microprocessor, and/or any hardware device suitable for executing instructions stored on a machine-readable medium. The device 800 may include a machine-readable medium 620. The machine- readable medium 620 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions, such as the link instructions 822 shown in Figure 8. Thus, the machine-readable medium 820 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disk, and the like.
[0043] The device 800 may execute instructions stored on the machine- readable medium 820 through the processor 610. Executing the instructions may cause the device 600 to perform any of the features described herein. One specific example is shown in Figure 8 through the link instructions 622. Executing the link instructions 822 may cause the device 600 to operate according to any combination of features of the link circuitry 1 10.
[0044] As one example, executing the link instructions 622 may cause the device 800 to determine that a device routing table of a network device is in an unconverged state and, in response, delay communication of a route update message through a first communication interface of the network device for converging the device routing table until after a delay period expires as well as communicate a route update message through a second communication interface of the network device also for converging the device routing table before the delay period expires. The delay period may be determined to account for a network size of a communication network associated with (e.g., linked through) the first communication interface, for example as determined by a network administrator or other management entity. In that regard, executing the link instructions 822 may further cause the device 600 to receive an instruction message from a network administrator specifying a duration of the delay period.
[0045] As another example, executing the link instructions 822 may further cause the device 600 to determine a duration of the delay period according to a number of route updates for a communication network linked through the first communication interface that are queued for processing to converge the device routing table to the communication network, e.g., as described above. As yet another example, executing the link instructions 622 may further cause the device 800 to, during the delay period, queue an additional route update for processing to converge the device routing table to the communication network and extend the delay period to account for the additional route update.
[0046] The methods, devices, systems, and logic described above, including the link circuitry 1 10, may be implemented in many different ways in many different combinations of hardware, software or both hardware and software. For example, the link circuitry 1 10 may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits. A product, such as a computer program product, may include a storage medium and machine readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above.
[0047] The processing capability of the systems, devices, and circuitry described herein, including the link circuitry 1 10, may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library
(e.g., a dynamic link library (DLL)). The DLL, for example, may store code that performs any of the system processing described above.
[0048] While various examples have been described above, many more implementations are possible.
Claims
1 . A method comprising:
through a network device:
determining that a device routing table is in an unconverged state;
starting a preempt timer that expires after a preempt duration; and deiaying a route update communication through a selected
communication interface in the network device for converging the device routing table until after the preempt timer expires.
2. The method of claim 1 , further comprising determining the selected communication interface according to a particular communication network linked to the network device through the selected communication interface.
3. The method of claim 1 , further comprising performing another route update communication before the preempt timer expires and through a different communication interface in the network device for converging the device routing table.
4. The method of claim 1 , further comprising delaying route update communications for multiple routing protocols through the selected
communication interface until after the preempt timer expires.
5. The method of claim 1 , further comprising receiving an instruction message from a network administrator specifying the preempt duration for the preempt timer.
8. A device comprising
a first communication interface to a downstream network device;
a second communication interface to an upstream network device; and link circuitry to:
determine that a device routing table is in an unconverged state;
start a preempt timer that expires after a preempt duration;
delay communication of a route update message through the first communication interface to the downstream network device until after the preempt timer expires; and
communicate a route update message through the second
communication interface to the upstream network device before the preempt timer expires.
7. The device of claim 6, wherein the link circuitry is further to determine the preempt duration according to a number of route updates for an upstream network queued for processing to converge the device routing tabie to the upstream network.
8. The device of claim 7, wherein the link circuitry is further to, after starting the preempt timer:
queue an additional route update for processing to converge the device routing table to the upstream network; and
extend the preempt duration to account for the additional route update.
9. The device of claim 6, wherein the preempt duration is determined to account for a network size of an upstream network.
10. The device of claim 6, wherein the link circuitry is further to converge route information for an upstream network that the upstream network device is part of before the preempt timer expires; and
send, after the preempt timer expires, the route update exchange message through the first communication interface to the downstream network device that includes the route information for the upstream network.
1 1 . A non-transitory machine-readable medium storing executable instructions to:
determine that a device routing table of a network device is in an unconverged state; and in response:
delay communication of a route update message through a first communication interface of the network device for converging the device routing table until after a delay period expires; and
communicate a route update message through a second communication interface of the network device also for converging the device routing table before the delay period expires.
12. The non-transitory machine readable medium of claim 1 1 , wherein the executable instructions are further to determine a duration of the delay period according to a number of route updates for a communication network linked through the first communication interface that are queued for processing to converge the device routing table to the communication network.
13. The non-transitory machine readable medium of claim 12, wherein the executable instructions are further to, during the delay period:
queue an additional route update for processing to converge the device routing table to the communication network; and
extend the delay period to account for the additional route update.
14. The non-transitory machine readable medium of claim 1 1 , wherein the delay period is determined to account for a network size of a communication network associated with the first communication interface.
15. The non-transitory machine readable medium of claim 1 1 , wherein the executable instructions are further to receive an instruction message from a network administrator specifying a duration of the delay period.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1571/CHE/2015 | 2015-03-26 | ||
IN1571CH2015 | 2015-03-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016153536A1 true WO2016153536A1 (en) | 2016-09-29 |
Family
ID=56978226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2015/033879 WO2016153536A1 (en) | 2015-03-26 | 2015-06-03 | Delay of route update communication |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016153536A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010617A1 (en) * | 2002-07-09 | 2004-01-15 | Hitachi, Ltd. | Request routing network system, request router apparatus, router apparatus and a method for path setting in a network |
US20080151868A1 (en) * | 2006-12-22 | 2008-06-26 | Research In Motion Limited | Global virtual local area network for voice communication sessions in a wireless local area network |
US20110261706A1 (en) * | 2008-10-15 | 2011-10-27 | Panasonic Corporation | Communication apparatus and communication method |
US20120155329A1 (en) * | 2010-12-17 | 2012-06-21 | Cisco Technology Inc. | Dynamic Reroute Scheduling in a Directed Acyclic Graph (DAG) |
US20130201909A1 (en) * | 2012-02-06 | 2013-08-08 | Juniper Networks, Inc. | Mobile node host route installation and withdrawal |
-
2015
- 2015-06-03 WO PCT/US2015/033879 patent/WO2016153536A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010617A1 (en) * | 2002-07-09 | 2004-01-15 | Hitachi, Ltd. | Request routing network system, request router apparatus, router apparatus and a method for path setting in a network |
US20080151868A1 (en) * | 2006-12-22 | 2008-06-26 | Research In Motion Limited | Global virtual local area network for voice communication sessions in a wireless local area network |
US20110261706A1 (en) * | 2008-10-15 | 2011-10-27 | Panasonic Corporation | Communication apparatus and communication method |
US20120155329A1 (en) * | 2010-12-17 | 2012-06-21 | Cisco Technology Inc. | Dynamic Reroute Scheduling in a Directed Acyclic Graph (DAG) |
US20130201909A1 (en) * | 2012-02-06 | 2013-08-08 | Juniper Networks, Inc. | Mobile node host route installation and withdrawal |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3525405B1 (en) | Packet sending method and network device | |
US10305696B2 (en) | Group bundling priority dissemination through link-state routing protocol in a network environment | |
US9887902B2 (en) | Traffic switching method, device, and system | |
KR101237862B1 (en) | Softrouter protocol disaggregation | |
US9559962B2 (en) | Optimizing traffic flows via dynamic routing protocol modifications when using server virtualization with dynamic routing | |
JP2022532729A (en) | Slice-based routing | |
EP3399703B1 (en) | Method for implementing load balancing, apparatus, and network system | |
US9442742B2 (en) | Method and system for network device maintenance | |
US10097445B2 (en) | Method and system for initializing the border gateway protocol on network devices | |
US20190286469A1 (en) | Methods and apparatus for enabling live virtual machine (vm) migration in software-defined networking networks | |
US20140036913A1 (en) | Acknowledged multicast convergence | |
CN103200093B (en) | A kind of method and apparatus improving the handling property of many VRRP backup group | |
WO2016174598A1 (en) | Sdn network element affinity based data partition and flexible migration schemes | |
WO2019135704A1 (en) | Adaptive application assignment to distributed cloud resources | |
US9525624B2 (en) | Virtual router redundancy protocol for scalable distributed default routing gateway | |
WO2017175033A1 (en) | Method and apparatus for enabling non stop routing (nsr) in a packet network | |
US9521073B2 (en) | Enhanced fine-grained overlay transport virtualization multi-homing using per-network authoritative edge device synchronization | |
WO2016123904A1 (en) | Routing convergence method, device and virtual private network system | |
US20170111260A1 (en) | Trill isis-based route calculation method and device | |
CN113366804A (en) | Method and system for preventing micro-loops during network topology changes | |
WO2016153536A1 (en) | Delay of route update communication | |
US11936559B2 (en) | Fast receive re-convergence of multi-pod multi-destination traffic in response to local disruptions | |
Abdallah et al. | A round robin load balancing and redundancy protocol for network routers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15886689 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15886689 Country of ref document: EP Kind code of ref document: A1 |