EP-4736393-A1 - ACHIEVING SYMMETRIC ROUTING USING INTENT-BASED SMART DEVICE GROUPINGS IN A SOFTWARE-DEFINED WIDE AREA NETWORK
Abstract
Techniques for symmetric routing in a software-defined wide area network (SDWAN) are disclosed herein. In some aspects, the techniques described herein relate to a method including: determining a first device group, wherein the first device group includes a first router associated with a branch tag and a second router associated with a hub tag; determining a second device group, wherein the second device group includes a third router associated with and a fourth router associated with the hub tag; transmitting a first route advertisement associated with a first route from the first router to the second router to the first router; transmitting a second route advertisement associated with a second route from the first router to the third router to the first router; and preventing transmission of a third route advertisement associated with a third route from the first router to the fourth router to the first router.
Inventors
- MAHADEVAN, SATISH KUMAR
- HALAPPA, Basavaraju
- Sarkar, Prosenjit
- SEN, SOURAV
- YALAMANCHALI, Srinivas
Assignees
- Cisco Technology, Inc.
Dates
- Publication Date
- 20260506
- Application Date
- 20240627
Claims (20)
- 1. A method comprising: detennining a first device group, wherein: (i) the first device group comprises a first router and a second router, (ii) the first router is associated with a branch tag, and (ii) the second router is associated with a hub tag; determining a second device group, wherein: (i) the second device group comprises a third router and a fourth router, (ii) the third router is associated with the branch tag, and (ii) the fourth router is associated with the hub tag; transmitting a first route advertisement associated with a first route to the first router, wherein the first route is from the first router to the second router; transmitting a second route advertisement associated with a second route to the first router, wherein the second route is from the first router to the third router; and preventing transmission of a third route advertisement associated with a third route to the first router, wherein the third route is from the first router to the fourth router.
- 2. The method of claim 1, further comprising: receiving, from the first router and at a routing controller device, (i) first data representing that the first router is associated with the branch tag, (ii) second data representing that the first router is associated with the first device group, and (iii) constraint data associated with the first router, wherein the constraint data comprises: (i) a first condition representing the first device group, and (ii) a second condition representing the hub tag, and wherein: transmitting the first route and the second route and preventing transmission of the third route is performed by the routing controller device, and the first condition is applied in relation to data transmissions to hub routers but not to data transmissions to branch routers because the first router is associated with the branch tag.
- 3. The method of claim 2, wherein transmitting the first route advertisement comprises: determining that the first route satisfies the second condition because the first route is associated with the second router as a destination device and the second router is associated with the hub tag; based on determining that the first route satisfies the second condition, determining that the first route satisfies the first condition because the first route is associated with the second router as the destination device and the second router is in the first device group; and based on determining that the first route satisfies the first condition, transmitting the first route advertisement to the first router.
- 4. The method of claim 2 or 3, wherein transmitting the second route advertisement comprises: determining that the second route fails to satisfy the second condition because the second route is associated with the third router as a destination device and the third router is not associated with the hub tag; and based on detennining that the second route fails to satisfy the second condition, transmitting the first route advertisement to the first router.
- 5. The method of any of claims 2 to 4, wherein preventing transmission of the third route advertisement comprises: determining that the third route satisfies the second condition because the third route is associated with the fourth router as a destination device and the fourth router is associated with the hub tag; based on detennining that the third route satisfies the second condition, determining that the third route fails to satisfy the first condition because the third route is associated with the fourth router as the destination device and the fourth router is not in the first device group; and based on determining that the third route fails to satisfy the first condition, preventing transmission of the third route advertisement to the first router.
- 6. The method of any of claims 1 to 5, wherein: the first router, the second router, the third router, and the fourth router are part of a software-defined wide area network (SDWAN). the SDWAN comprises a plurality of virtual hubs, and each router associated with the hub tag is directly connected to no more than and no less than one of the plurality of virtual hubs.
- 7. The method of claim 6, wherein each virtual hub is configured to access a virtual network of the SDWAN.
- 8. The method of claim 6 or 7, wherein the method is performed by a virtual controller software executing on at least one of the plurality of virtual hubs.
- 9. The method of any of claims 6 to 8, wherein at least one of the plurality of virtual hubs is configured to access an external network using a firewall software.
- 10. The method of any of claims 1 to 9, wherein the first route is an overlay route.
- 1 1. The method of any of claims 1 to 10, further comprising: receiving, from the second router and at a routing controller device, (i) first data representing that the second router is associated with the hub tag, (ii) second data representing that the second router is associated with the first device group, and (iii) constraint data associated with the second router, wherein the constraint data comprises a first condition representing the first device group.
- 12. The method of claim 11, further comprising: determining, by the routing controller device, that a fourth route from the second router to the first router satisfies the constraint data because the fourth route is associated with the first router as a destination device and the first router is associated with the first device group; and based at least in part on determining that the fourth route satisfies the constraint data, transmitting, by the routing controller device, a fourth route advertisement associated with the fourth route to the second router.
- 13. The method of claim 11 or 12, further comprising: determining, by the routing controller device, that a fifth route from the second router to the third router fails to satisfy the constraint data because the fifth route is associated with the third router as a destination device and the third router is not associated with the first device group; and based at least in part on determining that the fifth route fails to satisfy the constraint data, preventing, by the routing controller device, transmission of a fifth route advertisement associated with the fifth route to the second router.
- 14. The method of any of claims 11 to 13, further comprising: determining, by the routing controller device, that a sixth route from the second router to the fourth router fails to satisfy the constraint data because the sixth route is associated with the fourth router as a destination device and the fourth router is not associated with the first device group; and based at least in part on detennining that the sixth route fails to satisfy the constraint data, preventing, by the routing controller device, transmission of a sixth route advertisement associated with the sixth route to the second router.
- 15. A system comprising: one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: detennining a first device group, wherein: (i) the first device group comprises a first router and a second router, (ii) the first router is associated with a branch tag, and (ii) the second router is associated with a hub tag; determining a second device group, wherein: (i) the second device group comprises a third router and a fourth router, (ii) the third router is associated with the branch tag, and (ii) the fourth router is associated with the hub tag; transmitting a first route advertisement associated with a first route to the first router, wherein the first route is from the first router to the second router; transmitting a second route advertisement associated with a second route to the first router, wherein the second route is from the first router to the third router; and preventing transmission of a third route advertisement associated with a third route to the first router, wherein the third route is from the first router to the fourth router.
- 16. The system of claim 15. the operations further comprising: receiving, from the first router and at a routing controller device, (i) first data representing that the first router is associated with the branch tag, (ii) second data representing that the first router is associated with the first device group, and (iii) constraint data associated with the first router, wherein the constraint data comprises: (i) a first condition representing the first device group, and (ii) a second condition representing the hub tag. and wherein: transmitting the first route and the second route and preventing transmission of the third route is performed by the routing controller device, and the first condition is applied in relation to data transmissions to hub routers but not to data transmissions to branch routers because the first router is associated with the branch tag.
- 17. The system of claim 16, wherein transmitting the first route advertisement comprises: determining that the first route satisfies the second condition because the first route is associated with the second router as a destination device and the second router is associated with the hub tag; based on determining that the first route satisfies the second condition, determining that the first route satisfies the first condition because the first route is associated with the second router as the destination device and the second router is in the first device group; and based on determining that the first route satisfies the first condition, transmitting the first route advertisement to the first router.
- 18. The system of claim 16 or 17, wherein transmitting the second route advertisement comprises: determining that the second route fails to satisfy the second condition because the second route is associated with the third router as a destination device and the third router is not associated with the hub tag; and based on determining that the second route fails to satisfy the second condition, transmitting the first route advertisement to the first router.
- 19. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: determining a first device group, wherein: (i) the first device group comprises a first router and a second router, (ii) the first router is associated with a branch tag, and (ii) the second router is associated with a hub tag; determining a second device group, wherein: (i) the second device group comprises a third router and a fourth router, (ii) the third router is associated with the branch tag, and (ii) the fourth router is associated with the hub tag; transmitting a first route advertisement associated with a first route to the first router, wherein the first route is from the first router to the second router; transmitting a second route advertisement associated with a second route to the first router, wherein the second route is from the first router to the third router; and preventing transmission of a third route advertisement associated with a third route to the first router, wherein the third route is from the first router to the fourth router.
- 20. The one or more non-transitory computer-readable media of claim 19, the operations further comprising: receiving, from the first router and at a routing controller device, (i) first data representing that the first router is associated with the branch tag, (ii) second data representing that the first router is associated with the first device group, and (iii) constraint data associated with the first router, wherein the constraint data comprises: (i) a first condition representing the first device group, and (ii) a second condition representing the hub tag, and wherein: transmitting the first route and the second route and preventing transmission of the third route is performed by the routing controller device, and the first condition is applied in relation to data transmissions to hub routers but not to data transmissions to branch routers because the first router is associated with the branch tag.
Description
ACHIEVING SYMMETRIC ROUTING USING IN ENT-BASED SMART DEVICE GROUPINGS IN A SOFTWARE-DEFINED WIDE AREA NETWORK CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This application claims priority to US Non-Provisional Application No. 18/344.685, filed June 29. 2023. and titled “ACHIEVING SYMMETRIC ROUTING USING INTENT-BASED SMART DEVICE GROUPINGS IN A SOFTWARE-DEFINED WIDE AREA NETWORK. " the entirety of which is hereby incorporated by reference. TECHNICAL FIELD [0002] The present invention is directed to the field of computer networking and, more specifically, to designing routing protocols for Software-Defined Wide Area Networks (SDWANs). BACKGROUND [0003] Wide Area Networks (WANs) are used by organizations to connect geographically dispersed offices and data centers. These networks are typically managed using a combination of leased lines. Frame Relay or Asynchronous Transfer Mode (ATM) networks, and Multiprotocol Label Switching (MPLS) networks. However, these legacy WAN technologies are often expensive, inflexible, and slow to adapt to changes in network traffic patterns. [0004] To address these challenges. Software Defined WAN (SDWAN) has emerged as anew technology that provides a more cost-effective, flexible, and scalable approach to WAN management. SDWAN uses software to abstract the underlying physical network infrastructure and provides a centralized control plane to manage the network. This allows network administrators to dynamically allocate bandwidth to different applications and prioritize traffic based on business needs. [0005] However, the implementation of SDWAN has its own set of challenges. For instance, achieving effective capacity planning and flow symmetry in the presence of a full mesh network topology can be difficult to achieve in a large and complex SDWAN. When there is traffic asymmetry', it can lead to disruptions in stateful services, such as video conferencing or Voice over Internet Protocol (VoIP) calls. Similarly, a partial mesh topology can lead to suboptimal routing and increase network latency. [0006] Therefore, there is a need for an SDWAN architecture that can maintain flow symmetry' even with a full mesh topology', and efficient routing while also being scalable and flexible enough to accommodate changes in network traffic patterns. BRIEF DESCRIPTION OF THE DRAWINGS [0007] The detailed description is set forth below with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items. The systems depicted in the accompanying figures are not to scale and components within the figures may be depicted not to scale with each other. [0008] FIG. 1 is an architecture diagram for an example SDWAN. [0009] FIG. 2 depicts an example SDWAN architecture that includes a number of branch routers and virtual hubs, connected by hub router units. [0010] FIG. 3 is a flowchart diagram of an example process for determining whether to transmit a route advertisement to a plurality of routers (e.g., including one or more branch routers and/or one or more hub routers) of an SDWAN. [0011] FIG. 4 is a flow chart diagram of an example process for determining whether to transmit a route advertisement to a destination router. [0012] FIG. 5 provides an operational example of constraint data associated with a router. [0013] FIG. 6 is a flowchart diagram of an example process for selectively filtering route advertisements associated with a set of candidate routes associated with a set of routers. [0014] FIG. 7 shows an example computer architecture for a computing device (or network routing device) capable of executing program components for implementing the functionality' described above. [0015] FIG. 8 illustrates a block diagram illustrating an example packet switching device (or system) that can be utilized to implement various aspects of the technologies disclosed herein. DESCRIPTION OF EXAMPLE EMBODIMENTS OVERVIEW [0016] Aspects of the invention are set out in the independent claims and preferred features are set out in the dependent claims. Features of one aspect may be applied to each aspect alone or in combination with other features. [0017] Techniques for symmetric routing in a software-defined wide area network (SDWAN) are disclosed herein. In some aspects, the techniques described herein relate to a method including: determining a first device group, wherein: (i) the first device group includes a first router and a second router, (ii) the first router is associated with a branch tag, and (ii) the second router is associated with a hub tag; determining a second device group, wherein: (i) the second device group includes a third router and a fourth router, (ii) the third router is associated with the branch tag, and (ii) the fourth router is associated with the hub tag; transmitting a first