US20170093685A1 - Generating service-optimized paths based on enhanced eigrp telemetry - Google Patents
Generating service-optimized paths based on enhanced eigrp telemetry Download PDFInfo
- Publication number
- US20170093685A1 US20170093685A1 US14/869,217 US201514869217A US2017093685A1 US 20170093685 A1 US20170093685 A1 US 20170093685A1 US 201514869217 A US201514869217 A US 201514869217A US 2017093685 A1 US2017093685 A1 US 2017093685A1
- Authority
- US
- United States
- Prior art keywords
- eigrp
- service
- telemetry information
- identified
- router
- 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.)
- Abandoned
Links
Images
Classifications
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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
-
- 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/033—Topology update or discovery by updating distance vector protocols
-
- 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/12—Shortest path evaluation
Definitions
- the present disclosure generally relates to generation of service-optimized paths based on Enhanced Interior Gateway Routing Protocol (EIGRP) telemetry.
- EIGRP Enhanced Interior Gateway Routing Protocol
- the Enhanced Interior Gateway Routing Protocol is a distance vector-based routing protocol that enables EIGRP-enabled routers to initially exchange routing information, enabling each EIGRP router to identify its neighboring topology (i.e., its next-hop neighbors).
- an EIGRP router Once an EIGRP router has established its corresponding topology table (identified destination addresses reachable via next-hop neighbors) and routing table (e.g., based on the Diffusing Update Algorithm (DUAL)), an EIGRP router only needs to send an EIGRP-based update message only if a link transition occurs that affects the network topology.
- link-state routing protocols e.g., Intermediate System to Intermediate System (IS-IS) or Open Shortest Path First (OSPF)
- IS-IS Intermediate System to Intermediate System
- OSPF Open Shortest Path First
- Segment Routing enables a network node to select an explicit path for a traffic class. Segment routing relies on a set of “segments” that are advertised by link-state routing protocols such as IS-IS or OSPF. A nodal segment represents a multi-hop path to a node, and an adjacency segment represents a single-hop path to an adjacent node. Segments act as topological sub-paths that can be combined together to form an explicit path to a destination.
- FIG. 1 illustrates an example system having an apparatus generating service-optimized paths for reaching a destination based on telemetry information in a received EIGRP update message, according to an example embodiment.
- FIG. 2 illustrates an example EIGRP update message containing telemetry information associated with one or more EIGRP routers, according to an example embodiment.
- FIG. 3 illustrates an example segment routing database (SRDB) maintained by the EIGRP route server of FIG. 1 and containing service-optimized paths, according to an example embodiment.
- SRDB segment routing database
- FIG. 4 illustrates an example implementation of any of the devices of FIG. 1 .
- FIGS. 5A and 5B illustrate an example method of the devices of FIG. 1 in the outputting of an EIGRP update message containing telemetry information, and generating one or more service-optimized paths based on the telemetry information, according to an example embodiment.
- a method comprises an Enhanced Interior Gateway Routing Protocol (EIGRP) route server device receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information; and the EIGRP route server device generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
- EIGRP Enhanced Interior Gateway Routing Protocol
- an apparatus comprises a device interface circuit and a processor circuit.
- the device interface circuit is configured for receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information.
- the processor circuit is configured for generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
- one or more non-transitory tangible media are encoded with logic for execution by a machine and when executed by the machine operable for: receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information; and generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
- an apparatus comprises a processor circuit and a device interface circuit.
- the processor circuit is configured for generating an Enhanced Interior Gateway Routing Protocol (EIGRP) update message that includes telemetry information generated by the processor circuit based on detected attributes associated with the apparatus.
- the device interface circuit is configured for outputting the EIGRP update message to an adjacent router device, for generation of a service-optimized path for reaching a destination network device.
- EIGRP Enhanced Interior Gateway Routing Protocol
- Particular embodiments enable generation of service-optimized paths in a data network based on EIGRP telemetry information associated with an EIGRP router, where the telemetry information includes service-based attributes that enable an EIGRP route server device to generate the service-optimized paths for reaching a destination network device according to one or more identified service types.
- An EIGRP router can detect the telemetry information, including for example service-based attributes allocated to the EIGRP router, topology information associated with the EIGRP router, etc., and add the telemetry information to an EIGRP update message output by the EIGRP router.
- An EIGRP route server device in response to receiving the EIGRP update message containing the telemetry information, can generate a service-based topology map of identified EIGRP routers that includes the topology information of the identified EIGRP routers relative to the associated service-based attributes; the EIGRP route server device also can generate one or more of the service-optimized paths for one or more identified service types, enabling any EIGRP router to reach a destination network device according to an identified service type based on a service-optimized path.
- the example embodiments enable the deployment of service-optimized paths in a network using EIGRP router devices that can advertise, to an EIGRP route server, selected telemetry information including service-based attributes, topology information (e.g., Segment-Routing local information such as topology and Segment Identifiers (IDs) specific to an EIGRP router device), etc.
- the advertisement by the EIGRP router devices using EIGRP update messages containing telemetry information enables an EIGRP based network to become topology-aware and service-class aware. Further collection of telemetry information for EIGRP router devices beyond a summary point in a network can be executed by a PCE or equivalent device.
- FIG. 1 is a diagram illustrating an example network 10 having an EIGRP route server (ERS) device 12 and EIGRP routers “R1, “R2”, “R3”, “R4”, and “R5” 14 for routing network traffic along service-optimized paths 16 , according to an example embodiment.
- the EIGRP routers 14 and the EIGRP route server device 12 are interconnected by wired and/or wireless data links 18 .
- Each EIGRP router 14 is configured for generating an EIGRP update message 20 : as described in further detail below with respect to FIG. 2 , each EIGRP update message 20 generated by an EIGRP router 14 can include telemetry information ( 22 of FIG.
- the telemetry information 22 in the EIGRP update message 20 can include all service-based attributes associated with forwarding network traffic according to a prescribed service level for an identified service type.
- the telemetry information 22 also can include topology information detected by the EIGRP router 14 having generated the EIGRP update message 20 .
- the EIGRP route server device 12 can receive the EIGRP update message 20 from one or more of the EIGRP routers “R1, “R2”, “R3”, “R4”, and/or “R5” 14 .
- FIG. 1 illustrates the EIGRP route server device 12 as connected to the EIGRP router “R1”
- the EIGRP route server device 12 can be connected to another network device in the data network 10 , for example two or more EIGRP routers 14 , a network switch, etc.
- the EIGRP route server device 12 can be positioned near a summary point (e.g., EIGRP router “R1” 14 ) in the EIGRP network 12 .
- the EIGRP route server device 12 in response to receiving an EIGRP update message 20 , can store the EIGRP information 24 and telemetry information 22 in a segment routing database (SRDB) 26 .
- SRDB segment routing database
- the EIGRP route server device 12 can generate and store, in the telemetry information 22 , a service-based topology map ( 28 of FIG. 3 ) that identifies the data network 10 based not only on its physical topology, but also based on its logical topology overlying the physical topology and that is defined by the service-based attributes that provide prescribed service levels for identified service types.
- the service-based topology map 28 can provide a mapping between the physical topology and the service levels for identified service types.
- the EIGRP route server device 12 (and/or a Path Computation Element (PCE)) can generate one or more service-optimized paths ( 16 of FIG. 3 ) for reaching a destination network device based on the telemetry information 22 , namely based on the service-based topology map 28 generated based on the telemetry information 22 in the received EIGRP update messages 20 .
- the EIGRP route server device 12 can generate and store in the segment routing database 26 a plurality of identified segments ( 76 of FIGS. 1 and 3 ) for segment routing, where each identified segment is for executing a routing instruction according to a corresponding identified service type.
- the EIGRP route server device 12 can create each service-optimized path 16 using one or more of the segments 76 associated with an identified type that corresponds to the requirements of the service-optimized path. Additional details regarding segment routing can be found, for example, from the Internet Engineering Task Force (IETF) Source Packet Routing in Networking (“SPRING”) Working Group.
- IETF Internet Engineering Task Force
- SPRING Source Packet Routing in Networking
- the example embodiments enable EIGRP update messages 20 to transmit telemetry information 22 that enable generation of service-optimized paths for reaching a destination, for example generation of Segment Routing based paths that are optimized for reaching a destination network device according to an identified service type.
- FIG. 4 illustrates an example implementation of any one of the EIGRP route server device 12 , the 14 , and/or the segment routing database 26 , or any network device in the data network 10 , according to an example embodiment.
- Each apparatus 12 , 14 , and/or 26 is a physical machine (i.e., a hardware device) configured for implementing network communications with other physical machines via the data network 10 .
- the term “configured for” or “configured to” as used herein with respect to a specified operation refers to a device and/or machine that is physically constructed and arranged to perform the specified operation.
- the apparatus 12 , 14 , and/or 26 is a network-enabled machine implementing network communications via the data network 10 .
- Each apparatus 12 , 24 , and/or 26 can include a device interface circuit 32 , a processor circuit 34 , and a memory circuit 36 .
- the device interface circuit 32 can include one or more distinct physical layer transceivers for communication with any one of the other devices 12 , 24 , and/or 26 ; the device interface circuit 32 also can include an IEEE based Ethernet transceiver for communications with the devices of FIG. 1 via any of the links 18 (e.g., a wired or wireless link, an optical link, etc.).
- the processor circuit 34 can be configured for executing any of the operations described herein, and the memory circuit 36 can be configured for storing any data or data packets as described herein.
- any of the disclosed circuits of the devices 12 , 24 , and/or 26 can be implemented in multiple forms.
- Example implementations of the disclosed circuits include hardware logic that is implemented in a logic array such as a programmable logic array (PLA), a field programmable gate array (FPGA), or by mask programming of integrated circuits such as an application-specific integrated circuit (ASIC).
- PLA programmable logic array
- FPGA field programmable gate array
- ASIC application-specific integrated circuit
- any of these circuits also can be implemented using a software-based executable resource that is executed by a corresponding internal processor circuit such as a microprocessor circuit (not shown) and implemented using one or more integrated circuits, where execution of executable code stored in an internal memory circuit (e.g., within the memory circuit 36 ) causes the integrated circuit(s) implementing the processor circuit to store application state variables in processor memory, creating an executable application resource (e.g., an application instance) that performs the operations of the circuit as described herein.
- a software-based executable resource that is executed by a corresponding internal processor circuit such as a microprocessor circuit (not shown) and implemented using one or more integrated circuits, where execution of executable code stored in an internal memory circuit (e.g., within the memory circuit 36 ) causes the integrated circuit(s) implementing the processor circuit to store application state variables in processor memory, creating an executable application resource (e.g., an application instance) that performs the operations of the circuit as described herein.
- an executable application resource e.
- circuit refers to both a hardware-based circuit implemented using one or more integrated circuits and that includes logic for performing the described operations, or a software-based circuit that includes a processor circuit (implemented using one or more integrated circuits), the processor circuit including a reserved portion of processor memory for storage of application state data and application variables that are modified by execution of the executable code by a processor circuit.
- the memory circuit 36 can be implemented, for example, using a non-volatile memory such as a programmable read only memory (PROM) or an EPROM, and/or a volatile memory such as a DRAM, etc.
- any reference to “outputting a message” or “outputting a packet” can be implemented based on creating the message/packet in the form of a data structure and storing that data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a transmit buffer).
- Any reference to “outputting a message” or “outputting a packet” (or the like) also can include electrically transmitting (e.g., via wired electric current or wireless electric field, as appropriate) the message/packet stored in the non-transitory tangible memory medium to another network node via a communications medium (e.g., a wired or wireless link, as appropriate) (optical transmission also can be used, as appropriate).
- any reference to “receiving a message” or “receiving a packet” can be implemented based on the disclosed apparatus detecting the electrical (or optical) transmission of the message/packet on the communications medium, and storing the detected transmission as a data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a receive buffer).
- the memory circuit 36 can be implemented dynamically by the processor circuit 34 , for example based on memory address assignment and partitioning executed by the processor circuit 34 .
- segment routing database 26 is illustrated as distinct from the EIGRP route server device 12 , the segment routing database 26 also can be implemented within the EIGRP route server device 12 (or a PCE), for example based on storage of the segment routing database 26 within the memory circuit 36 (or attached disk or solid-state memory drive) of the EIGRP route server device 12 (or the PCE).
- FIGS. 5A and 5B illustrate an example method of the devices of FIG. 1 in the outputting of an EIGRP update message containing telemetry information, and generating one or more service-optimized paths based on the telemetry information, according to an example embodiment.
- any of the Figures can be implemented as executable code stored on a computer or machine readable non-transitory tangible storage medium (e.g., floppy disk, hard disk, ROM, EEPROM, nonvolatile RAM, CD-ROM, etc.) that are completed based on execution of the code by a processor circuit implemented using one or more integrated circuits; the operations described herein also can be implemented as executable logic that is encoded in one or more non-transitory tangible media for execution (e.g., programmable logic arrays or devices, field programmable gate arrays, programmable array logic, application specific integrated circuits, etc.). Hence, one or more non-transitory tangible media can be encoded with logic for execution by a machine, and when executed by the machine operable for the operations described herein.
- a computer or machine readable non-transitory tangible storage medium e.g., floppy disk, hard disk, ROM, EEPROM, nonvolatile RAM, CD-ROM, etc.
- executable logic e.
- each EIGRP router 14 in operation 40 can be configured (e.g., programmed) by an administrator with network policies; for example, the processor circuit 34 can be configured (e.g., based on storage of associated parameters in the corresponding memory circuit 36 ) for executing prescribed routing operations according to prescribed network policies for different service classes, where the EIGRP router 14 can enforce various traffic engineering (TE) policies (e.g., QoS policies, minimum/maximum bandwidth, maximum delay, preferred next-hop path, etc.) for an identified service class.
- TE traffic engineering
- Each EIGRP router 14 also can be configured with prescribed Segment Routing identifiers that identify the corresponding segment 76 that provides a corresponding routing instruction, for example a segment identifier (SID) label allocated to the EIGRP router 14 , a prefix segment identifier (identifying a reachable network prefix), an adjacency SID identifying an adjacent (i.e., next-hop neighbor) EIGRP router 14 by its SID, etc.
- SID segment identifier
- prefix segment identifier identifying a reachable network prefix
- adjacency SID identifying an adjacent (i.e., next-hop neighbor) EIGRP router 14 by its SID, etc.
- each EIGRP router 14 in operation 42 also can detect its neighbors, for example according to EIGRP protocol, and/or another protocol (for example based on exchange of advertisement messages advertising segment identifiers (SIDs).
- segment identifiers SIDs
- SIDs can be assigned to different “executable routing instructions” in the data network 10 , where a SID can be executable by one or more of the EIGRP routers 14 for one or more identified service types.
- segment routing can be implemented in the data network 10 based on the processor circuit 34 in the EIGRP route server device 12 (or a PCE) generating a service-optimized path 16 for reaching a destination network device (e.g., the EIGRP router “R6” 14 ), the service-optimized path 16 comprising a sequence of executable segments 76 (identified by respective SIDs) that are executed by one or more of the EIGRP routers 14 , where a SID may identify an adjacency SID (for reaching an adjacent EIGRP router 14 ), a prefix SID (associating the SID with a prescribed Internet Protocol (IP) address prefix), a SID label associated with a particular routing instruction (e.g., providing a guaranteed Quality of Service (QoS), providing a prescribed minimum or maximum bandwidth, ensuring transmission to a destination is below a prescribed maximum delay, etc.).
- a SID may identify an adjacency SID (for reaching an adjacent EIGRP router 14 ), a pre
- the processor circuit 34 of each EIGRP router 14 in operation 44 can detect each of the policies and topology parameters obtained in operations 40 and 42 as telemetry information, and generate in operation 46 an EIGRP update message 20 that includes EIGRP information 24 and telemetry information 22 , illustrated in FIG. 2 .
- FIG. 2 illustrates in further detail the EIGRP update message 20 generated by the processor circuit 34 of an EIGRP router 14 in operation 46 .
- the telemetry information 22 and the EIGRP information 24 can be implemented as one or more Type-Length-Value (TLV) elements specifying one or more prescribed TLV parameters as defined by an administrator of the data network 10 .
- the EIGRP information 24 can include EIGRP-based TLVs that can be defined by an administrator according to deployment of EIGRP in the data network 10 ;
- example EIGRP-based TLVs in the EIGRP information 24 can include adjacency information discovered during exchange of EIGRP messages between adjacent EIGRP routers 14 during EIGRP neighbor discovery and maintenance.
- the processor circuit 34 in the EIGRP router 14 also can dynamically generate TLVs, for example according to a prescribed schema that enables the EIGRP route server 12 to parse and interpret the dynamically-generated TLVs.
- the telemetry information 22 generated by the processor circuit 34 of an EIGRP router 14 in operation 46 can include service-based attributes 48 and topology information 56 , also referred to generally as non-EIGRP TLV elements.
- the service-based attributes 48 can be illustrated in FIGS. 2 and 5A as policy TLVs 50 , bandwidth TLVs 52 , delay TLVs, and other segment routing TLVs 58 (i.e., distinct from the topology-specific TLVs, described below with respect to the segment ID TLVs 56 ).
- the policy TLVs 50 can include service class TLVs 50 a specifying prescribed service classes that can be processed by the corresponding EIGRP router 14 (e.g., lowest priority class, low priority class, moderate priority class, high-priority class, and/or management (highest) priority class), and QoS TLVs 50 b specifying prescribed Quality of Service (QoS) levels enforceable by the corresponding EIGRP router 14 .
- the bandwidth TLVs 52 can include identifiable bandwidth parameters, for example maximum bandwidth for identified data links, bandwidth (e.g., traffic) statistics on identified data links such as percentage of utilization at different times, etc.
- the delay TLVs 54 can include maximum delay policies enforced by the EIGRP router 14 for one or more identified service types, etc.
- the other segment routing TLVs 58 can identify other segment routing “instructions” defined by the administrator of the data network 10 and executed by the EIGRP router 14 for an identified service type.
- the service-based attributes 48 can identify all service-based parameters and/or attributes associated with the EIGRP router 14 enforcing one or more service types or service levels.
- the telemetry information 22 also can include segment ID TLVs 56 that can describe topology information for the corresponding EIGRP router 14 , including link-state information, Segment Routing-based topology parameters associated with mapping the logical Segment Routing topology to the physical topology identifiable by the EIGRP information 24 .
- Example SID TLVs 56 can include a SID Label TLVs (identifying a specific SID Label) 56 a associated with one or more prefix SID TLVs 56 b and/or one or more adjacency SID TLVs 56 c . As illustrated in FIG.
- an adjacency SID TLV 56 c can include an association between a link address 60 (e.g., “interface identifier”) for a link interface of the device interface circuit 32 of the EIGRP router 14 , a corresponding neighbor identifier 62 , and a neighbor SID 64 specifying the corresponding SID of the neighbor reachable via the corresponding link address 60 .
- Other SID TLVs 56 can identify MPLS-based segment labels, IPv6 addresses used for Segment Routing identification, etc.
- the EIGRP update message 20 also can include sequence numbers and/or version numbers for any one of the telemetry TLVs 22 , the EIGRP TLVs 24 , or any components thereof.
- the EIGRP update message 20 output by the device interface circuit 32 of the EIGRP router 14 in operation 46 of FIG. 5A can specify telemetry information 22 that can identify all detected attributes that enable the EIGRP router 14 to execute routing along a data link 18 according to one or more identified service types.
- telemetry refers to measurement or detection by the processor circuit 34 of data, attributes, configuration parameters, etc. associated with the EIGRP router 14 (e.g., in operations 40 , 42 , and 44 ), where the measured/collected data (or parameters) are added to the telemetry information 22 as TLVs for parsing and interpretation by the EIGRP route server device 12 .
- the telemetry refers to the monitoring and/or measuring of the attributes of the data network 10 as detected by the EIGRP router 14 and/or the attributes of the EIGRP router 14 that describe the operations of the EIGRP router 14 (for identified service types) in the data network 10 .
- the device interface circuit 32 of an EIGRP router (e.g., “R6”) 14 is configured for outputting in operation 46 the generated EIGRP update message 20 to its adjacent (i.e. next-hop) EIGRP router (e.g., “R3” and/or “R5”) 14 via a data link 18 , for forwarding and delivery to the EIGRP route server device 12 (deployed, for example, near a summary point such as the EIGRP router “R1” 14 ).
- the telemetry information 22 also can be specified in an EIGRP Query message and/or an EIGRP Reply message, as appropriate. As described in further detail below with respect to FIG.
- the collection of EIGRP update messages 20 from the EIGRP routers 14 in the data network 10 enable the EIGRP route server device 12 to build the service-based topology map 28 for generation of one or more service-optimized paths 16 for reaching a destination network device.
- the EIGRP router “R6” 14 has output an EIGRP router 14 that specifies only the local EIGRP information 24 and local telemetry information 22 originated by the EIGRP router “R6” 14 (i.e., does not have any EIGRP information 24 or telemetry information 22 of another neighboring EIGRP router such as “R3” or “R5”).
- the EIGRP router “R6” 14 has output an EIGRP router 14 that specifies only the local EIGRP information 24 and local telemetry information 22 originated by the EIGRP router “R6” 14 (i.e., does not have any EIGRP information 24 or telemetry information 22 of another neighboring EIGRP router such as “R3” or “R5”).
- next-hop network device receiving the EIGRP update message 20 from the EIGRP router e.g., “R6”
- the next-hop EIGRP router receives in operation 68 the EIGRP update message 20 .
- the processor circuit 34 of the next-hop EIGRP router (e.g., “R3”) 14 can respond to the received EIGRP update message 20 based on parsing the telemetry information 22 originated by the transmitting EIGRP router (e.g., “R6”), and updating its local topology table with link state information from the telemetry information 22 .
- the processor circuit 34 of the next-hop EIGRP router (e.g., “R3”) 14 can forward the EIGRP update message 20 originated by EIGRP router “R6” to its next-hop neighbor (e.g., “R4”) 14 and generate and output its own EIGRP update message 20 as described previously with respect to operations 40 , 42 , 44 , and 46 of FIG. 5A .
- the processor circuit 34 of the next-hop EIGRP router (e.g., “R3”) 14 in operation 70 also can update the received EIGRP update message 20 received from the originating EIGRP router “R6” 14 with the corresponding local EIGRP information 24 and telemetry information 22 , based on generating the local telemetry information 22 as described above with respect to operations 42 , 44 , and 46 , and output the updated EIGRP update message 20 specifying the EIGRP information 24 and the telemetry information 22 for the “local” EIGRP router “R3” and the “remote” (next-hop) EIGRP router “R6”.
- the telemetry information 22 can be opaque to any EIGRP router that is not configured for parsing or interpreting the telemetry information 22 in a received EIGRP update message 20 ; hence, a conventional EIGRP router can execute existing EIGRP update processing on the received EIGRP update message 20 , while ignoring the telemetry information 22 , or simply forward the received telemetry information 22 .
- the operations 68 and 70 can be repeated for the next-hop EIGRP router “R2”, resulting in the EIGRP update message 20 of FIG. 2 that comprises the EIGRP information 24 and the telemetry information 22 generated by the local EIGRP router “R2”, the EIGRP information 24 and the telemetry information 22 (including the associated non-EIGRP TLV elements 48 , 56 ) having been generated by the next-hop EIGRP router “R3”, and the EIGRP information 24 and the telemetry information 22 (including the associated non-EIGRP TLV elements 48 , 56 ) of the EIGRP router “R6” having been forwarded by the next-hop EIGRP router “R3”.
- the operations 68 and 70 can be repeated by the next-hop EIGRP router “R1”, such that the EIGRP route server device 12 can receive in operation 66 an EIGRP update message 20 specifying the telemetry information 22 and the telemetry information 22 for the EIGRP routers “R6”, “R3”, “R2”, and “R1”.
- the EIGRP router “R1” also can receive an EIGRP update message 20 from the EIGRP router “R2” and/or “R4” that specifies the EIGRP information 24 and the telemetry information 22 for the EIGRP routers “R4” and “R5”.
- the EIGRP update message 20 sent in operation 46 can be sent directly to the EIGRP route server as a unicast, multicast, or anycast message.
- the processor circuit 34 of the EIGRP route server device 12 in operation 72 can generate a service-based topology map 28 , illustrated in FIG. 3 , that identifies the service-based topology attributes each of the EIGRP routers “R1”, “R2”, “R3”, “R4”, “R5”, and “R6” 14 , based on the received telemetry information 22 of each of the EIGRP routers “R1”, “R2”, “R3”, “R4”, “R5”, and “R6” 14 .
- the processor circuit 34 of the EIGRP route server device 12 in operation 74 can generate one or more service-optimized paths 16 to an identified destination network device in the data network 10 , where the destination network device can be an EIGRP router (e.g., “R6”) 14 , a network device (not shown) attached to an EIGRP router device (e.g., “R6”) 14 , etc.
- the destination network device can be an EIGRP router (e.g., “R6”) 14 , a network device (not shown) attached to an EIGRP router device (e.g., “R6”) 14 , etc.
- each service-optimized path 16 is based on one or more “segments” 76 having a corresponding SID that defines the routing instruction to be performed for one or more identified service types; hence, the processor circuit 34 of the EIGRP route server device 12 in operation 74 can generate a plurality of identified segments 76 for segment routing, each identified segment 76 identifying a corresponding routing instruction to be executed by an identified one or more of the EIGRP routers 14 according to a corresponding identified service type.
- the processor circuit 34 of the EIGRP route server device 12 in operation 74 can generate one or more service-optimized paths 16 for an identified service type based on associating in sequence one or more of the identified segments 76 associated with the identified service type. For example, assuming multiple identified segments 76 for each of the service types “Bronze”, “Gold”, and “Platinum” (identifying for example respectively distinct QoS service types), the processor circuit 34 of the EIGRP route server device 12 can generate a service-optimized path 16 for reaching a destination network device attached to the EIGRP router “R6” 14 according to the “Gold” service type based on associating in sequence one or more identified segments 76 associated with the “Gold” service type overlying a physical path in the data network 10 from the EIGRP router “R1” 14 to the EIGRP router “R6” 14 .
- the processor circuit 34 of the EIGRP route server device 12 in operation 82 can send one or more service-optimized paths 16 to the requesting network device (e.g., one of the EIGRP routers 14 ), enabling any EIGRP router 14 to reach a destination network device according to an identified service type based on the service-optimized path 16 .
- the PCE can install one or more of the service-optimized paths 16 in one or more of the EIGRP routers 14 , eliminating the necessity of the EIGRP routers 14 sending a request for the path.
- telemetry information can be added to EIGRP messages, enabling generation of service-optimized paths in an EIGRP network.
- EIGRP networks can implement service optimization, for example based on allocating logical network resources based on service type, such as in a network implementing segment routing.
- the example embodiments also can be used for optimization of other service-based operations in an EIGRP network, for example implementation of traffic engineering.
- example embodiments have been described with respect to an EIGRP network, the example embodiments also can be applicable to data networks deploying other distance vector routing protocols.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
In one embodiment, a method comprises an Enhanced Interior Gateway Routing Protocol (EIGRP) route server device receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information; and the EIGRP route server device generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
Description
- The present disclosure generally relates to generation of service-optimized paths based on Enhanced Interior Gateway Routing Protocol (EIGRP) telemetry.
- This section describes approaches that could be employed, but are not necessarily approaches that have been previously conceived or employed. Hence, unless explicitly specified otherwise, any approaches described in this section are not prior art to the claims in this application, and any approaches described in this section are not admitted to be prior art by inclusion in this section.
- The Enhanced Interior Gateway Routing Protocol (EIGRP) is a distance vector-based routing protocol that enables EIGRP-enabled routers to initially exchange routing information, enabling each EIGRP router to identify its neighboring topology (i.e., its next-hop neighbors). Once an EIGRP router has established its corresponding topology table (identified destination addresses reachable via next-hop neighbors) and routing table (e.g., based on the Diffusing Update Algorithm (DUAL)), an EIGRP router only needs to send an EIGRP-based update message only if a link transition occurs that affects the network topology. Unlike link-state routing protocols (e.g., Intermediate System to Intermediate System (IS-IS) or Open Shortest Path First (OSPF)), an EIGRP router is not aware of the network topology beyond its adjacent neighbor.
- Segment Routing (SR) enables a network node to select an explicit path for a traffic class. Segment routing relies on a set of “segments” that are advertised by link-state routing protocols such as IS-IS or OSPF. A nodal segment represents a multi-hop path to a node, and an adjacency segment represents a single-hop path to an adjacent node. Segments act as topological sub-paths that can be combined together to form an explicit path to a destination.
- Reference is made to the attached drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
-
FIG. 1 illustrates an example system having an apparatus generating service-optimized paths for reaching a destination based on telemetry information in a received EIGRP update message, according to an example embodiment. -
FIG. 2 illustrates an example EIGRP update message containing telemetry information associated with one or more EIGRP routers, according to an example embodiment. -
FIG. 3 illustrates an example segment routing database (SRDB) maintained by the EIGRP route server ofFIG. 1 and containing service-optimized paths, according to an example embodiment. -
FIG. 4 illustrates an example implementation of any of the devices ofFIG. 1 . -
FIGS. 5A and 5B illustrate an example method of the devices ofFIG. 1 in the outputting of an EIGRP update message containing telemetry information, and generating one or more service-optimized paths based on the telemetry information, according to an example embodiment. - In one embodiment, a method comprises an Enhanced Interior Gateway Routing Protocol (EIGRP) route server device receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information; and the EIGRP route server device generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
- In another embodiment, an apparatus comprises a device interface circuit and a processor circuit. The device interface circuit is configured for receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information. The processor circuit is configured for generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
- In another embodiment, one or more non-transitory tangible media are encoded with logic for execution by a machine and when executed by the machine operable for: receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information; and generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
- In another embodiment, an apparatus comprises a processor circuit and a device interface circuit. The processor circuit is configured for generating an Enhanced Interior Gateway Routing Protocol (EIGRP) update message that includes telemetry information generated by the processor circuit based on detected attributes associated with the apparatus. The device interface circuit is configured for outputting the EIGRP update message to an adjacent router device, for generation of a service-optimized path for reaching a destination network device.
- Particular embodiments enable generation of service-optimized paths in a data network based on EIGRP telemetry information associated with an EIGRP router, where the telemetry information includes service-based attributes that enable an EIGRP route server device to generate the service-optimized paths for reaching a destination network device according to one or more identified service types. An EIGRP router can detect the telemetry information, including for example service-based attributes allocated to the EIGRP router, topology information associated with the EIGRP router, etc., and add the telemetry information to an EIGRP update message output by the EIGRP router.
- An EIGRP route server device, in response to receiving the EIGRP update message containing the telemetry information, can generate a service-based topology map of identified EIGRP routers that includes the topology information of the identified EIGRP routers relative to the associated service-based attributes; the EIGRP route server device also can generate one or more of the service-optimized paths for one or more identified service types, enabling any EIGRP router to reach a destination network device according to an identified service type based on a service-optimized path.
- Hence, the example embodiments enable the deployment of service-optimized paths in a network using EIGRP router devices that can advertise, to an EIGRP route server, selected telemetry information including service-based attributes, topology information (e.g., Segment-Routing local information such as topology and Segment Identifiers (IDs) specific to an EIGRP router device), etc. The advertisement by the EIGRP router devices using EIGRP update messages containing telemetry information enables an EIGRP based network to become topology-aware and service-class aware. Further collection of telemetry information for EIGRP router devices beyond a summary point in a network can be executed by a PCE or equivalent device.
-
FIG. 1 is a diagram illustrating anexample network 10 having an EIGRP route server (ERS)device 12 and EIGRP routers “R1, “R2”, “R3”, “R4”, and “R5” 14 for routing network traffic along service-optimizedpaths 16, according to an example embodiment. The EIGRProuters 14 and the EIGRProute server device 12 are interconnected by wired and/orwireless data links 18. Each EIGRProuter 14 is configured for generating an EIGRP update message 20: as described in further detail below with respect toFIG. 2 , each EIGRPupdate message 20 generated by an EIGRProuter 14 can include telemetry information (22 ofFIG. 2 ) that includes service-based attributes associated with thecorresponding EIGRP router 14, in addition to EIGRP information (24 ofFIG. 2 ) generated by thecorresponding EIGRP router 14 according to EIGRP protocol. In other words, thetelemetry information 22 in the EIGRPupdate message 20 can include all service-based attributes associated with forwarding network traffic according to a prescribed service level for an identified service type. Thetelemetry information 22 also can include topology information detected by the EIGRProuter 14 having generated the EIGRPupdate message 20. - The EIGRP
route server device 12 can receive the EIGRPupdate message 20 from one or more of the EIGRP routers “R1, “R2”, “R3”, “R4”, and/or “R5” 14. AlthoughFIG. 1 illustrates the EIGRProute server device 12 as connected to the EIGRP router “R1”, the EIGRProute server device 12 can be connected to another network device in thedata network 10, for example two or more EIGRProuters 14, a network switch, etc. In one example embodiment, the EIGRProute server device 12 can be positioned near a summary point (e.g., EIGRP router “R1” 14) in the EIGRPnetwork 12. - The EIGRP
route server device 12, in response to receiving an EIGRPupdate message 20, can store the EIGRPinformation 24 andtelemetry information 22 in a segment routing database (SRDB) 26. As described in further detail with respect toFIG. 3 , the EIGRProute server device 12 can generate and store, in thetelemetry information 22, a service-based topology map (28 ofFIG. 3 ) that identifies thedata network 10 based not only on its physical topology, but also based on its logical topology overlying the physical topology and that is defined by the service-based attributes that provide prescribed service levels for identified service types. In other words, the service-basedtopology map 28 can provide a mapping between the physical topology and the service levels for identified service types. - Hence, the EIGRP route server device 12 (and/or a Path Computation Element (PCE)) can generate one or more service-optimized paths (16 of
FIG. 3 ) for reaching a destination network device based on thetelemetry information 22, namely based on the service-basedtopology map 28 generated based on thetelemetry information 22 in the received EIGRPupdate messages 20. In one example embodiment, the EIGRProute server device 12 can generate and store in the segment routing database 26 a plurality of identified segments (76 ofFIGS. 1 and 3 ) for segment routing, where each identified segment is for executing a routing instruction according to a corresponding identified service type. Hence, the EIGRProute server device 12 can create each service-optimizedpath 16 using one or more of thesegments 76 associated with an identified type that corresponds to the requirements of the service-optimized path. Additional details regarding segment routing can be found, for example, from the Internet Engineering Task Force (IETF) Source Packet Routing in Networking (“SPRING”) Working Group. - Hence, the example embodiments enable EIGRP update
messages 20 to transmittelemetry information 22 that enable generation of service-optimized paths for reaching a destination, for example generation of Segment Routing based paths that are optimized for reaching a destination network device according to an identified service type. -
FIG. 4 illustrates an example implementation of any one of the EIGRProute server device 12, the 14, and/or thesegment routing database 26, or any network device in thedata network 10, according to an example embodiment. Eachapparatus data network 10. The term “configured for” or “configured to” as used herein with respect to a specified operation refers to a device and/or machine that is physically constructed and arranged to perform the specified operation. Hence, theapparatus data network 10. - Each
apparatus device interface circuit 32, aprocessor circuit 34, and amemory circuit 36. Thedevice interface circuit 32 can include one or more distinct physical layer transceivers for communication with any one of theother devices device interface circuit 32 also can include an IEEE based Ethernet transceiver for communications with the devices ofFIG. 1 via any of the links 18 (e.g., a wired or wireless link, an optical link, etc.). Theprocessor circuit 34 can be configured for executing any of the operations described herein, and thememory circuit 36 can be configured for storing any data or data packets as described herein. - Any of the disclosed circuits of the
devices device interface circuit 32, theprocessor circuit 34, thememory circuit 36, and their associated components) can be implemented in multiple forms. Example implementations of the disclosed circuits include hardware logic that is implemented in a logic array such as a programmable logic array (PLA), a field programmable gate array (FPGA), or by mask programming of integrated circuits such as an application-specific integrated circuit (ASIC). Any of these circuits also can be implemented using a software-based executable resource that is executed by a corresponding internal processor circuit such as a microprocessor circuit (not shown) and implemented using one or more integrated circuits, where execution of executable code stored in an internal memory circuit (e.g., within the memory circuit 36) causes the integrated circuit(s) implementing the processor circuit to store application state variables in processor memory, creating an executable application resource (e.g., an application instance) that performs the operations of the circuit as described herein. Hence, use of the term “circuit” in this specification refers to both a hardware-based circuit implemented using one or more integrated circuits and that includes logic for performing the described operations, or a software-based circuit that includes a processor circuit (implemented using one or more integrated circuits), the processor circuit including a reserved portion of processor memory for storage of application state data and application variables that are modified by execution of the executable code by a processor circuit. Thememory circuit 36 can be implemented, for example, using a non-volatile memory such as a programmable read only memory (PROM) or an EPROM, and/or a volatile memory such as a DRAM, etc. - Further, any reference to “outputting a message” or “outputting a packet” (or the like) can be implemented based on creating the message/packet in the form of a data structure and storing that data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a transmit buffer). Any reference to “outputting a message” or “outputting a packet” (or the like) also can include electrically transmitting (e.g., via wired electric current or wireless electric field, as appropriate) the message/packet stored in the non-transitory tangible memory medium to another network node via a communications medium (e.g., a wired or wireless link, as appropriate) (optical transmission also can be used, as appropriate). Similarly, any reference to “receiving a message” or “receiving a packet” (or the like) can be implemented based on the disclosed apparatus detecting the electrical (or optical) transmission of the message/packet on the communications medium, and storing the detected transmission as a data structure in a non-transitory tangible memory medium in the disclosed apparatus (e.g., in a receive buffer). Also note that the
memory circuit 36 can be implemented dynamically by theprocessor circuit 34, for example based on memory address assignment and partitioning executed by theprocessor circuit 34. - Also note that although the
segment routing database 26 is illustrated as distinct from the EIGRProute server device 12, thesegment routing database 26 also can be implemented within the EIGRP route server device 12 (or a PCE), for example based on storage of thesegment routing database 26 within the memory circuit 36 (or attached disk or solid-state memory drive) of the EIGRP route server device 12 (or the PCE). -
FIGS. 5A and 5B illustrate an example method of the devices ofFIG. 1 in the outputting of an EIGRP update message containing telemetry information, and generating one or more service-optimized paths based on the telemetry information, according to an example embodiment. - The operations described with respect to any of the Figures can be implemented as executable code stored on a computer or machine readable non-transitory tangible storage medium (e.g., floppy disk, hard disk, ROM, EEPROM, nonvolatile RAM, CD-ROM, etc.) that are completed based on execution of the code by a processor circuit implemented using one or more integrated circuits; the operations described herein also can be implemented as executable logic that is encoded in one or more non-transitory tangible media for execution (e.g., programmable logic arrays or devices, field programmable gate arrays, programmable array logic, application specific integrated circuits, etc.). Hence, one or more non-transitory tangible media can be encoded with logic for execution by a machine, and when executed by the machine operable for the operations described herein.
- In addition, the operations described with respect to any of the Figures can be performed in any suitable order, or at least some of the operations in parallel. Execution of the operations as described herein is by way of illustration only; as such, the operations do not necessarily need to be executed by the machine-based hardware components as described herein; to the contrary, other machine-based hardware components can be used to execute the disclosed operations in any appropriate order, or at least some of the operations in parallel.
- Referring to
FIG. 5A , eachEIGRP router 14 inoperation 40 can be configured (e.g., programmed) by an administrator with network policies; for example, theprocessor circuit 34 can be configured (e.g., based on storage of associated parameters in the corresponding memory circuit 36) for executing prescribed routing operations according to prescribed network policies for different service classes, where theEIGRP router 14 can enforce various traffic engineering (TE) policies (e.g., QoS policies, minimum/maximum bandwidth, maximum delay, preferred next-hop path, etc.) for an identified service class. EachEIGRP router 14 also can be configured with prescribed Segment Routing identifiers that identify the correspondingsegment 76 that provides a corresponding routing instruction, for example a segment identifier (SID) label allocated to theEIGRP router 14, a prefix segment identifier (identifying a reachable network prefix), an adjacency SID identifying an adjacent (i.e., next-hop neighbor)EIGRP router 14 by its SID, etc. - The
processor circuit 34 of eachEIGRP router 14 inoperation 42 also can detect its neighbors, for example according to EIGRP protocol, and/or another protocol (for example based on exchange of advertisement messages advertising segment identifiers (SIDs). For example, segment identifiers (SIDs) can be assigned to different “executable routing instructions” in thedata network 10, where a SID can be executable by one or more of theEIGRP routers 14 for one or more identified service types. Hence, segment routing can be implemented in thedata network 10 based on theprocessor circuit 34 in the EIGRP route server device 12 (or a PCE) generating a service-optimizedpath 16 for reaching a destination network device (e.g., the EIGRP router “R6” 14), the service-optimizedpath 16 comprising a sequence of executable segments 76 (identified by respective SIDs) that are executed by one or more of theEIGRP routers 14, where a SID may identify an adjacency SID (for reaching an adjacent EIGRP router 14), a prefix SID (associating the SID with a prescribed Internet Protocol (IP) address prefix), a SID label associated with a particular routing instruction (e.g., providing a guaranteed Quality of Service (QoS), providing a prescribed minimum or maximum bandwidth, ensuring transmission to a destination is below a prescribed maximum delay, etc.). - The
processor circuit 34 of eachEIGRP router 14 inoperation 44 can detect each of the policies and topology parameters obtained inoperations operation 46 anEIGRP update message 20 that includesEIGRP information 24 andtelemetry information 22, illustrated inFIG. 2 . -
FIG. 2 illustrates in further detail theEIGRP update message 20 generated by theprocessor circuit 34 of anEIGRP router 14 inoperation 46. Thetelemetry information 22 and theEIGRP information 24 can be implemented as one or more Type-Length-Value (TLV) elements specifying one or more prescribed TLV parameters as defined by an administrator of thedata network 10. For example, theEIGRP information 24 can include EIGRP-based TLVs that can be defined by an administrator according to deployment of EIGRP in thedata network 10; example EIGRP-based TLVs in theEIGRP information 24 can include adjacency information discovered during exchange of EIGRP messages betweenadjacent EIGRP routers 14 during EIGRP neighbor discovery and maintenance. Theprocessor circuit 34 in theEIGRP router 14 also can dynamically generate TLVs, for example according to a prescribed schema that enables theEIGRP route server 12 to parse and interpret the dynamically-generated TLVs. - The
telemetry information 22 generated by theprocessor circuit 34 of anEIGRP router 14 inoperation 46 can include service-basedattributes 48 andtopology information 56, also referred to generally as non-EIGRP TLV elements. The service-basedattributes 48 can be illustrated inFIGS. 2 and 5A aspolicy TLVs 50,bandwidth TLVs 52, delay TLVs, and other segment routing TLVs 58 (i.e., distinct from the topology-specific TLVs, described below with respect to the segment ID TLVs 56). Thepolicy TLVs 50 can includeservice class TLVs 50 a specifying prescribed service classes that can be processed by the corresponding EIGRP router 14 (e.g., lowest priority class, low priority class, moderate priority class, high-priority class, and/or management (highest) priority class), andQoS TLVs 50 b specifying prescribed Quality of Service (QoS) levels enforceable by the correspondingEIGRP router 14. Thebandwidth TLVs 52 can include identifiable bandwidth parameters, for example maximum bandwidth for identified data links, bandwidth (e.g., traffic) statistics on identified data links such as percentage of utilization at different times, etc. Thedelay TLVs 54 can include maximum delay policies enforced by theEIGRP router 14 for one or more identified service types, etc. The othersegment routing TLVs 58 can identify other segment routing “instructions” defined by the administrator of thedata network 10 and executed by theEIGRP router 14 for an identified service type. - Hence, the service-based
attributes 48 can identify all service-based parameters and/or attributes associated with theEIGRP router 14 enforcing one or more service types or service levels. - The
telemetry information 22 also can includesegment ID TLVs 56 that can describe topology information for thecorresponding EIGRP router 14, including link-state information, Segment Routing-based topology parameters associated with mapping the logical Segment Routing topology to the physical topology identifiable by theEIGRP information 24.Example SID TLVs 56 can include a SID Label TLVs (identifying a specific SID Label) 56 a associated with one or moreprefix SID TLVs 56 b and/or one or moreadjacency SID TLVs 56 c. As illustrated inFIG. 2 , anadjacency SID TLV 56 c can include an association between a link address 60 (e.g., “interface identifier”) for a link interface of thedevice interface circuit 32 of theEIGRP router 14, acorresponding neighbor identifier 62, and aneighbor SID 64 specifying the corresponding SID of the neighbor reachable via thecorresponding link address 60.Other SID TLVs 56 can identify MPLS-based segment labels, IPv6 addresses used for Segment Routing identification, etc. - Although not shown in
FIG. 2 , theEIGRP update message 20 also can include sequence numbers and/or version numbers for any one of thetelemetry TLVs 22, theEIGRP TLVs 24, or any components thereof. - Hence, the
EIGRP update message 20 output by thedevice interface circuit 32 of theEIGRP router 14 inoperation 46 ofFIG. 5A can specifytelemetry information 22 that can identify all detected attributes that enable theEIGRP router 14 to execute routing along adata link 18 according to one or more identified service types. The term “telemetry” refers to measurement or detection by theprocessor circuit 34 of data, attributes, configuration parameters, etc. associated with the EIGRP router 14 (e.g., inoperations telemetry information 22 as TLVs for parsing and interpretation by the EIGRProute server device 12. In other words, the telemetry refers to the monitoring and/or measuring of the attributes of thedata network 10 as detected by theEIGRP router 14 and/or the attributes of theEIGRP router 14 that describe the operations of the EIGRP router 14 (for identified service types) in thedata network 10. - The
device interface circuit 32 of an EIGRP router (e.g., “R6”) 14 is configured for outputting inoperation 46 the generatedEIGRP update message 20 to its adjacent (i.e. next-hop) EIGRP router (e.g., “R3” and/or “R5”) 14 via adata link 18, for forwarding and delivery to the EIGRP route server device 12 (deployed, for example, near a summary point such as the EIGRP router “R1” 14). Thetelemetry information 22 also can be specified in an EIGRP Query message and/or an EIGRP Reply message, as appropriate. As described in further detail below with respect toFIG. 5B , the collection ofEIGRP update messages 20 from theEIGRP routers 14 in thedata network 10 enable the EIGRProute server device 12 to build the service-basedtopology map 28 for generation of one or more service-optimizedpaths 16 for reaching a destination network device. - Assume with respect to
FIG. 5B that the EIGRP router “R6” 14 has output anEIGRP router 14 that specifies only thelocal EIGRP information 24 andlocal telemetry information 22 originated by the EIGRP router “R6” 14 (i.e., does not have anyEIGRP information 24 ortelemetry information 22 of another neighboring EIGRP router such as “R3” or “R5”). Referring toFIG. 5B , if inoperation 66 the next-hop network device receiving theEIGRP update message 20 from the EIGRP router (e.g., “R6”) is not an EIGRP summary point or an EIGRProute server device 12, but rather is another EIGRP router (e.g., “R3”) 14, the next-hop EIGRP router (e.g., “R3”) 14 receives inoperation 68 theEIGRP update message 20. Theprocessor circuit 34 of the next-hop EIGRP router (e.g., “R3”) 14 can respond to the receivedEIGRP update message 20 based on parsing thetelemetry information 22 originated by the transmitting EIGRP router (e.g., “R6”), and updating its local topology table with link state information from thetelemetry information 22. - The
processor circuit 34 of the next-hop EIGRP router (e.g., “R3”) 14 can forward theEIGRP update message 20 originated by EIGRP router “R6” to its next-hop neighbor (e.g., “R4”) 14 and generate and output its ownEIGRP update message 20 as described previously with respect tooperations FIG. 5A . Theprocessor circuit 34 of the next-hop EIGRP router (e.g., “R3”) 14 inoperation 70 also can update the receivedEIGRP update message 20 received from the originating EIGRP router “R6” 14 with the correspondinglocal EIGRP information 24 andtelemetry information 22, based on generating thelocal telemetry information 22 as described above with respect tooperations EIGRP update message 20 specifying theEIGRP information 24 and thetelemetry information 22 for the “local” EIGRP router “R3” and the “remote” (next-hop) EIGRP router “R6”. - The
telemetry information 22 can be opaque to any EIGRP router that is not configured for parsing or interpreting thetelemetry information 22 in a receivedEIGRP update message 20; hence, a conventional EIGRP router can execute existing EIGRP update processing on the receivedEIGRP update message 20, while ignoring thetelemetry information 22, or simply forward the receivedtelemetry information 22. - As illustrated in
FIGS. 2 and 5B , theoperations EIGRP update message 20 ofFIG. 2 that comprises theEIGRP information 24 and thetelemetry information 22 generated by the local EIGRP router “R2”, theEIGRP information 24 and the telemetry information 22 (including the associatednon-EIGRP TLV elements 48, 56) having been generated by the next-hop EIGRP router “R3”, and theEIGRP information 24 and the telemetry information 22 (including the associatednon-EIGRP TLV elements 48, 56) of the EIGRP router “R6” having been forwarded by the next-hop EIGRP router “R3”. Theoperations route server device 12 can receive inoperation 66 anEIGRP update message 20 specifying thetelemetry information 22 and thetelemetry information 22 for the EIGRP routers “R6”, “R3”, “R2”, and “R1”. As apparent from the foregoing, the EIGRP router “R1” also can receive anEIGRP update message 20 from the EIGRP router “R2” and/or “R4” that specifies theEIGRP information 24 and thetelemetry information 22 for the EIGRP routers “R4” and “R5”. - The
EIGRP update message 20 sent inoperation 46 can be sent directly to the EIGRP route server as a unicast, multicast, or anycast message. - In response to the
device interface circuit 32 of the EIGRProute server device 12 receiving theEIGRP update message 20 from the EIGRP router “R1”, theprocessor circuit 34 of the EIGRProute server device 12 inoperation 72 can generate a service-basedtopology map 28, illustrated inFIG. 3 , that identifies the service-based topology attributes each of the EIGRP routers “R1”, “R2”, “R3”, “R4”, “R5”, and “R6” 14, based on the receivedtelemetry information 22 of each of the EIGRP routers “R1”, “R2”, “R3”, “R4”, “R5”, and “R6” 14. - Hence, the
processor circuit 34 of the EIGRProute server device 12 inoperation 74 can generate one or more service-optimizedpaths 16 to an identified destination network device in thedata network 10, where the destination network device can be an EIGRP router (e.g., “R6”) 14, a network device (not shown) attached to an EIGRP router device (e.g., “R6”) 14, etc. In particular, each service-optimizedpath 16 is based on one or more “segments” 76 having a corresponding SID that defines the routing instruction to be performed for one or more identified service types; hence, theprocessor circuit 34 of the EIGRProute server device 12 inoperation 74 can generate a plurality of identifiedsegments 76 for segment routing, each identifiedsegment 76 identifying a corresponding routing instruction to be executed by an identified one or more of theEIGRP routers 14 according to a corresponding identified service type. - The
processor circuit 34 of the EIGRProute server device 12 inoperation 74 can generate one or more service-optimizedpaths 16 for an identified service type based on associating in sequence one or more of the identifiedsegments 76 associated with the identified service type. For example, assuming multiple identifiedsegments 76 for each of the service types “Bronze”, “Gold”, and “Platinum” (identifying for example respectively distinct QoS service types), theprocessor circuit 34 of the EIGRProute server device 12 can generate a service-optimizedpath 16 for reaching a destination network device attached to the EIGRP router “R6” 14 according to the “Gold” service type based on associating in sequence one or more identifiedsegments 76 associated with the “Gold” service type overlying a physical path in thedata network 10 from the EIGRP router “R1” 14 to the EIGRP router “R6” 14. Depending on the availability of different identifiedsegments 76 for different service classes, different service-optimized paths may be established for different service classes to provide service differentiation between different network traffic. Further collection of telemetry information for EIGRP router devices beyond a summary point in thedata network 10 can be executed by a PCE or equivalent device. - Hence, in response to the
device interface circuit 32 of the EIGRProute server device 12 receiving in operation 80 a request (originated by a requesting network device) for a service-optimizedpath 16 for reaching a destination network device, theprocessor circuit 34 of the EIGRProute server device 12 inoperation 82 can send one or more service-optimizedpaths 16 to the requesting network device (e.g., one of the EIGRP routers 14), enabling anyEIGRP router 14 to reach a destination network device according to an identified service type based on the service-optimizedpath 16. As an alternative tooperations paths 16 in one or more of theEIGRP routers 14, eliminating the necessity of theEIGRP routers 14 sending a request for the path. - According to an example embodiment, telemetry information can be added to EIGRP messages, enabling generation of service-optimized paths in an EIGRP network. Hence, EIGRP networks can implement service optimization, for example based on allocating logical network resources based on service type, such as in a network implementing segment routing. The example embodiments also can be used for optimization of other service-based operations in an EIGRP network, for example implementation of traffic engineering.
- Although the example embodiments have been described with respect to an EIGRP network, the example embodiments also can be applicable to data networks deploying other distance vector routing protocols.
- While the example embodiments in the present disclosure have been described in connection with what is presently considered to be the best mode for carrying out the subject matter specified in the appended claims, it is to be understood that the example embodiments are only illustrative, and are not to restrict the subject matter specified in the appended claims.
Claims (22)
1. A method comprising:
an Enhanced Interior Gateway Routing Protocol (EIGRP) route server device receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information; and
the EIGRP route server device generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
2. The method of claim 1 , wherein:
the telemetry information includes topology information having been detected by an originator of the telemetry information;
the EIGRP route server device generating the one or more service-optimized paths for reaching the destination network device based on the topology information.
3. The method of claim 2 , wherein the EIGRP update message specifies telemetry information for a plurality of identified EIGRP routers, enabling generating of the service-optimized paths via the identified EIGRP routers.
4. The method of claim 3 , further comprising the EIGRP route server device generating a topology map of the identified EIGRP routers providing reachability to the destination network device.
5. The method of claim 1 , further comprising:
the EIGRP route server device receiving a request, originated by a requesting network device, for a path for reaching the destination network device;
the EIGRP route server device sending the one or more service-optimized paths to a requesting EIGRP router, in response to the request.
6. The method of claim 1 , wherein:
the generating includes generating a plurality of identified segments for segment routing, each identified segment for executing a routing instruction according to a corresponding identified service type;
the generating further including creating each service-optimized path using a plurality of said segments associated with the identified service type of the corresponding service-optimized path.
7. The method of claim 6 , further comprising the EIGRP route server device storing the identified segments in a segment routing database.
8. The method of 1, wherein:
the EIGRP update message includes EIGRP-based Type-Length-Value (TLV) elements generated by a next-hop neighbor device having output the EIGRP update message;
the telemetry information in the EIRGP update message including first non-EIGRP TLV elements generated by the next-hop neighbor device, and second non-EIGRP TLV elements having been forwarded by the next-hop neighbor device from another EIGRP router.
9. An apparatus comprising:
a device interface circuit configured for receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information; and
a processor circuit configured for generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
10. The apparatus of claim 9 , wherein:
the telemetry information includes topology information having been detected by an originator of the telemetry information;
the processor circuit configured for generating the one or more service-optimized paths for reaching the destination network device based on the topology information associated with the telemetry information.
11. The apparatus of claim 10 , wherein the EIGRP update message specifies telemetry information for a plurality of identified EIGRP routers, the processor circuit configured for generating the service-optimized paths for reaching the destination network device via the identified EIGRP routers.
12. The apparatus of claim 11 , wherein the processor circuit further is configured for generating a topology map of the identified EIGRP routers providing reachability to the destination network device.
13. The apparatus of claim 9 , further wherein:
the device interface circuit further is configured for receiving a request, originated by a requesting network device, for a path for reaching the destination network device;
the processor circuit further configured for sending the one or more service-optimized paths to a requesting EIGRP router, in response to the request.
14. The apparatus of claim 9 , wherein:
the processor circuit is configured for generating a plurality of identified segments for segment routing, each identified segment for executing a routing instruction according to a corresponding identified service type;
the processor circuit further is configured for creating each service-optimized path using a plurality of said segments associated with the identified service type of the corresponding service-optimized path.
15. The apparatus of claim 14 , wherein the processor circuit is configured for storing the identified segments in a segment routing database.
16. The apparatus of 9, wherein:
the EIGRP update message includes EIGRP-based Type-Length-Value (TLV) elements generated by a next-hop neighbor device having output the EIGRP update message;
the telemetry information in the EIGRP update message including first non-EIGRP TLV elements generated by the next-hop neighbor device, and second non-EIGRP TLV elements having been forwarded by the next-hop neighbor device from another EIGRP router.
17. One or more non-transitory tangible media encoded with logic for execution by a machine and when executed by the machine operable for:
receiving an EIGRP update message that includes telemetry information associated with an EIGRP router, the telemetry information including service-based attributes associated with the telemetry information; and
generating one or more service-optimized paths for reaching a destination network device based on the telemetry information, enabling any EIGRP router to reach the destination network device according to an identified service type based on the one or more service-optimized paths.
18. The one or more non-transitory tangible media of claim 17 , wherein:
the telemetry information includes topology information having been detected by an originator of the telemetry information;
the generating including generating the one or more service-optimized paths for reaching the destination network device based on the topology information associated with the telemetry information.
19. The one or more non-transitory tangible media of claim 17 , further operable for:
receiving a request, originated by a requesting network device, for a path for reaching the destination network device; and
sending the one or more service-optimized paths to a requesting EIGRP router, in response to the request.
20. The one or more non-transitory tangible media of claim 17 , wherein:
the generating includes generating a plurality of identified segments for segment routing, each identified segment for executing a routing instruction according to a corresponding identified service type;
the generating further including creating each service-optimized path using a plurality of said segments associated with the identified service type of the corresponding service-optimized path.
21. An apparatus comprising:
a processor circuit configured for generating an Enhanced Interior Gateway Routing Protocol (EIGRP) update message that includes telemetry information generated by the processor circuit based on detected attributes associated with the apparatus; and
a device interface circuit configured for outputting the EIGRP update message to an adjacent router device, for generation of a service-optimized path for reaching a destination network device.
22. The apparatus of claim 21 , wherein:
the processor circuit is configured for detecting topology information associated with the apparatus;
the processor circuit configured for adding, within the telemetry information, the topology information.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/869,217 US20170093685A1 (en) | 2015-09-29 | 2015-09-29 | Generating service-optimized paths based on enhanced eigrp telemetry |
PCT/US2016/054170 WO2017058908A1 (en) | 2015-09-29 | 2016-09-28 | Generating service-optimized paths based on enhanced eigrp telemetry |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/869,217 US20170093685A1 (en) | 2015-09-29 | 2015-09-29 | Generating service-optimized paths based on enhanced eigrp telemetry |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170093685A1 true US20170093685A1 (en) | 2017-03-30 |
Family
ID=57121549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/869,217 Abandoned US20170093685A1 (en) | 2015-09-29 | 2015-09-29 | Generating service-optimized paths based on enhanced eigrp telemetry |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170093685A1 (en) |
WO (1) | WO2017058908A1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055161A (en) * | 2017-12-28 | 2018-05-18 | 新华三技术有限公司 | A kind of networking optimization method and device |
US10171338B2 (en) * | 2016-02-08 | 2019-01-01 | Cisco Technology, Inc. | On-demand next-hop resolution |
US10574561B2 (en) | 2017-10-04 | 2020-02-25 | Cisco Technology, Inc. | Centralized error telemetry using segment routing header tunneling |
CN112714034A (en) * | 2019-10-26 | 2021-04-27 | 华为技术有限公司 | Method and device for processing multicast message |
US10999189B2 (en) * | 2018-11-20 | 2021-05-04 | Cisco Technology, Inc. | Route optimization using real time traffic feedback |
CN113067773A (en) * | 2021-03-16 | 2021-07-02 | 中国科学技术大学 | A protocol-agnostic fusion method of segment routing and in-band telemetry |
US11095559B1 (en) * | 2019-09-18 | 2021-08-17 | Cisco Technology, Inc. | Segment routing (SR) for IPV6 (SRV6) techniques for steering user plane (UP) traffic through a set of user plane functions (UPFS) with traffic handling information |
US11113396B2 (en) * | 2019-02-22 | 2021-09-07 | Bank Of America Corporation | Data management system and method |
US11310690B2 (en) * | 2018-08-03 | 2022-04-19 | Qualcomm Incorporated | Traffic service prioritization in a controller based multi-AP network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7558276B2 (en) * | 2004-11-05 | 2009-07-07 | Cisco Technology, Inc. | System and method for retrieving computed paths from a path computation element using a path key |
US20130114409A1 (en) * | 2010-04-14 | 2013-05-09 | Telefonaktiebolaget L M Ericsson (Publ) | Link advertisement for path computation in a communications network |
US9577925B1 (en) * | 2013-07-11 | 2017-02-21 | Juniper Networks, Inc. | Automated path re-optimization |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7991864B2 (en) * | 2006-05-04 | 2011-08-02 | Cisco Technology, Inc. | Network element discovery using a network routing protocol |
WO2014169251A1 (en) * | 2013-04-12 | 2014-10-16 | Huawei Technologies Co., Ltd. | Service chain policy for distributed gateways in virtual overlay networks |
US9413634B2 (en) * | 2014-01-10 | 2016-08-09 | Juniper Networks, Inc. | Dynamic end-to-end network path setup across multiple network layers with network service chaining |
-
2015
- 2015-09-29 US US14/869,217 patent/US20170093685A1/en not_active Abandoned
-
2016
- 2016-09-28 WO PCT/US2016/054170 patent/WO2017058908A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7558276B2 (en) * | 2004-11-05 | 2009-07-07 | Cisco Technology, Inc. | System and method for retrieving computed paths from a path computation element using a path key |
US20130114409A1 (en) * | 2010-04-14 | 2013-05-09 | Telefonaktiebolaget L M Ericsson (Publ) | Link advertisement for path computation in a communications network |
US9577925B1 (en) * | 2013-07-11 | 2017-02-21 | Juniper Networks, Inc. | Automated path re-optimization |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10171338B2 (en) * | 2016-02-08 | 2019-01-01 | Cisco Technology, Inc. | On-demand next-hop resolution |
US10574561B2 (en) | 2017-10-04 | 2020-02-25 | Cisco Technology, Inc. | Centralized error telemetry using segment routing header tunneling |
US10862793B2 (en) | 2017-10-04 | 2020-12-08 | Cisco Technology, Inc. | Centralized error telemetry using segment routing header tunneling |
US11711288B2 (en) | 2017-10-04 | 2023-07-25 | Cisco Technology, Inc. | Centralized error telemetry using segment routing header tunneling |
US11368386B2 (en) | 2017-10-04 | 2022-06-21 | Cisco Technology, Inc. | Centralized error telemetry using segment routing header tunneling |
CN108055161A (en) * | 2017-12-28 | 2018-05-18 | 新华三技术有限公司 | A kind of networking optimization method and device |
US11310690B2 (en) * | 2018-08-03 | 2022-04-19 | Qualcomm Incorporated | Traffic service prioritization in a controller based multi-AP network |
US10999189B2 (en) * | 2018-11-20 | 2021-05-04 | Cisco Technology, Inc. | Route optimization using real time traffic feedback |
US11113396B2 (en) * | 2019-02-22 | 2021-09-07 | Bank Of America Corporation | Data management system and method |
US11095559B1 (en) * | 2019-09-18 | 2021-08-17 | Cisco Technology, Inc. | Segment routing (SR) for IPV6 (SRV6) techniques for steering user plane (UP) traffic through a set of user plane functions (UPFS) with traffic handling information |
CN112714034A (en) * | 2019-10-26 | 2021-04-27 | 华为技术有限公司 | Method and device for processing multicast message |
US11784915B2 (en) | 2019-10-26 | 2023-10-10 | Huawei Technologies Co., Ltd. | Multicast packet processing method and device |
CN113067773A (en) * | 2021-03-16 | 2021-07-02 | 中国科学技术大学 | A protocol-agnostic fusion method of segment routing and in-band telemetry |
Also Published As
Publication number | Publication date |
---|---|
WO2017058908A1 (en) | 2017-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170093685A1 (en) | Generating service-optimized paths based on enhanced eigrp telemetry | |
US9444677B2 (en) | Scalable edge node protection using IPv6 segment routing extension header | |
US10938707B2 (en) | Peer-to-peer optimization in existing tree-based topology based on generating locally-optimized tree using confined advertisements | |
US9130863B2 (en) | Managing host routes for local computer networks with a plurality of field area routers | |
US9525619B2 (en) | Scalable edge node protection using segment routing | |
EP2915294B1 (en) | Multiple path availability between walkable clusters | |
US9479421B2 (en) | Dynamic installation of local storing mode paths in a non-storing low-power and lossy network | |
US9628435B2 (en) | Duplicate address detection based on distributed bloom filter | |
US10277686B2 (en) | Service discovery optimization in a network based on bloom filter | |
US11050663B2 (en) | Fast and loss-free local recovery by a RPL parent device | |
CN113452610B (en) | Seamless end-to-end segmented routing method across metropolitan area network and area border router | |
US10320652B2 (en) | Dynamic installation of bypass path by intercepting node in storing mode tree-based network | |
US20220150793A1 (en) | Overlapping subdags in a rpl network | |
US10009256B2 (en) | Hybrid routing table for reaching unstable destination device in a tree-based network | |
US20170373964A1 (en) | Directed acyclic graph optimization for future time instance requested by a child network device | |
CN112702263B (en) | Methods and devices for forwarding messages | |
US20220360946A1 (en) | Multicast tree topology having multicast hubs for different multicast areas in a wi-sun fan data network | |
US11463350B2 (en) | Interconnecting local RPL instance nodes via global RPL instance node as AODV relay | |
US11539613B2 (en) | Generating cross-pan bypass path based on stitching between border LLN devices | |
WO2022042610A1 (en) | Information processing method, network controller, node and computer-readable storage medium | |
CN119155236A (en) | Message notification method and device, storage medium and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RETANA, ALVARO ENRIQUE;YANG, YI;SAVAGE, DONNIE VAN;SIGNING DATES FROM 20150922 TO 20150929;REEL/FRAME:036683/0503 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |