[go: up one dir, main page]

IL276770B2 - Processing data in a distributed routing system - Google Patents

Processing data in a distributed routing system

Info

Publication number
IL276770B2
IL276770B2 IL276770A IL27677020A IL276770B2 IL 276770 B2 IL276770 B2 IL 276770B2 IL 276770 A IL276770 A IL 276770A IL 27677020 A IL27677020 A IL 27677020A IL 276770 B2 IL276770 B2 IL 276770B2
Authority
IL
Israel
Prior art keywords
routing system
distributed routing
modules
forwarding
fabric
Prior art date
Application number
IL276770A
Other languages
Hebrew (he)
Other versions
IL276770A (en
IL276770B1 (en
Inventor
Krayden Amir
SANDLER Evgeny
Zilberman Alexander
Cohen Ron
Original Assignee
Drivenets Ltd
At& T Services Inc
Krayden Amir
SANDLER Evgeny
Zilberman Alexander
Cohen Ron
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Drivenets Ltd, At& T Services Inc, Krayden Amir, SANDLER Evgeny, Zilberman Alexander, Cohen Ron filed Critical Drivenets Ltd
Priority to IL276770A priority Critical patent/IL276770B2/en
Publication of IL276770A publication Critical patent/IL276770A/en
Publication of IL276770B1 publication Critical patent/IL276770B1/en
Publication of IL276770B2 publication Critical patent/IL276770B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0618Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on the physical or logical position
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

PROCESSING DATA IN A DISTRIBUTED ROUTING SYSTEM TECHNICAL FIELD The present disclosure relates generally to the field of networking, and in particular, to optimization of hardware resources. GLOSSARY ACL – Access Control List – set of rules for allowing or denying packets to be forwarded via a device. ASIC – Application-specific integrated circuits. CPU – Central processing unit. FIB – Forwarding Information Base – used by a routing device to select an interface for sending a packet. FPGA – Field-Programmable Gate Array. LIF – Logical interface. LSP - Label Switched Path. MPLS - Multiprotocol Label Switching. RIB – Routing Information Base – used by a routing device to learn routes to other routing devices VLAN – Virtual Local Access Network – A network or part of a network that operates separately from the Internet. VLAN is an approach that enables separating between networks operating within the same physical network. BACKGROUND A typical distributed routing platform is composed of one or more routing processors (e.g. for redundancy purposes), forwarding devices (according to the number of network interfaces in the routing platform), fabric devices, and a platform management network. The routing processors are computing nodes that operate control plane protocols (e.g., operating routing protocols) and management plane protocols. The routing protocols are used to populate the routing information base table (RIB) table. Eventually, the RIB table includes routes to all reachable destinations in the network. The forwarding devices (forwarders) are typically based on packet processors, which may be data plane application-specific integrated circuits (ASIC) or field-programmable gate arrays (FPGA). Packet processors have multiple network interfaces. Each network interface can be segregated further to multiple logical interfaces (LIFs). A LIF can be presented on the network interface as a VLAN, MPLS LSP, L3 tunnel, etc. Packet processors are configured to perform packet forwarding from one LIF to another. In addition to the packet processor, the forwarding device includes a CPU that runs a forwarding engine application. The forwarding engine application is responsible for maintaining the FIB, ACL, and other packet processor resources according to the routing engine directives. The forwarding engine application reports the status of the forwarder, such as the network interfaces state, counters, etc. to the routing engine. In addition, the forwarding engine traps routing protocol packets received from the packet processor and sends them to the routing engine. The fabric devices are typically based on fabric switches, which may be data plane ASIC or FPGA chips. Fabric switches are used for the interconnection of forwarding devices to forward packets from the LIF that resides on one forwarder to a LIF that resides on another forwarder. In addition to the fabric switch, the fabric device includes a CPU that runs a fabric engine application. Fabric engine application is responsible for reporting the status of the fabric switch, such as fabric interfaces state, counters, etc. to the routing engine. In order to enable implementing traffic telemetry and troubleshooting tools, the packet processors on the forwarding devices maintain counters for each physical and logical interface, counting the number of packets being forwarded via that physical or logical interface. The forwarding engine applications must collect on a periodical basis the current outcome of the counters from the packet processors and fabric switch. It is important that the collection period remains a short period for the following reasons:  To avoid counter wrap around due to high data plane rates; and  To enable provisioning of accurate and up-to-date telemetry to the user. The packet processor may support thousands of logical interfaces (LIFs) and may maintain hundreds of counters for each LIF. With that many interfaces and counters, the collection process becomes a cumbersome process and extremely CPU intensive. The solution provided by the present disclosure proposes a new distributed system in which the computing load of the forwarding engines (e.g. counters' maintenance) is reduced while still maintaining the distributed system's functionalities as before. SUMMARYThe disclosure may be summarized by referring to the appended claims. It is an object of the present disclosure to provide a novel distributed system which enables effective monitoring of statistics collection (PM collection) from nodes comprised in that distributed routing system. It is an object of the present disclosure to provide a novel distributed routing system in which CPU intensive tasks are offloaded from the forwarding devices, while the distributed routing system maintains its functionalities. It is another object of the present disclosure to provide a novel distributed routing system wherein the counter collection logic for the forwarding devices is run remotely on fabric devices. It is another object of the present disclosure to provide a novel distributed routing system wherein the counters collection load is shifted from forwarding engines to fabric engines. Other objects of the present disclosure will become apparent from the following description. According to a first embodiment of the present disclosure there is provided a distributed routing system for use in a communication network comprising a plurality of forwarding modules and a plurality of fabric modules, and wherein at least one counter located at at least one respective fabric module is configured to receive data relating to number of packets being forwarded via physical and/or logical interfaces associated with at least two of the plurality of forwarding modules. In accordance with another embodiment, the at least one counter located at at least one respective fabric module is configured to receive data relating to the number of packets being forwarded via all physical and/or logical interfaces associated with said at least two of the plurality of forwarding modules. By yet another embodiment each of the plurality of forwarding modules and the plurality of fabric modules is a separate physical device (e.g. a node in the distributed routing system). According to still another embodiment, a CPU associated with at least one counter located at a respective fabric module is configured to remotely retrieve the data relating to the number of packets being forwarded via physical and/or logical interfaces associated with the at least two forwarding modules. By yet another embodiment, the data relating to number of packets being forwarded via physical and/or logical interfaces associated with the at least two forwarding modules, is exported to a counter engine of a fabric switches associated with a respective fabric module, as a data plane packet. According to another embodiment, the at least one fabric module is further configured to execute a counter collection application for retrieving counter values from a counter engine located at that at least one fabric module. In accordance with still another embodiment the data relating to the number of packets being forwarded via physical and/or logical interfaces associated with the at least two forwarding modules is processed at the at least one fabric module separately from processing the counter values retrieved from the counter engine located at the at least one fabric module. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawing, which is incorporated herein and constitute a part of this specification, illustrates an embodiment of the disclosure and, together with the description, serve to explain the principles of the embodiments disclosed herein. FIG. 1illustrates a schematic view of a part of a distributed routing system construed in accordance with an embodiment of the present invention. DESCRIPTION OF EXEMPLARY EMBODIMENTSSome of the specific details and values in the following detailed description refer to certain examples of the disclosure. However, this description is provided only by way of example and is not intended to limit the scope of the invention in any way. As will be appreciated by those skilled in the art, the claimed distributed routing system may be implemented by using other devices that are known in the art per se. The scope of the invention can be summarized by referring to the appended claims.
As discussed above, the typical prior art solution for implementing traffic telemetry is, to configure the packet processors associated with the forwarding devices (forwarders) so as to maintain a counter for each physical and logical interface. In order to comply with this task, the forwarding engine applications must collect, on a (short) periodical basis, the current value of the counters from the packet processors. However, such a packet processor may support thousands of logical interfaces (LIFs) and may maintain hundreds of counters for each LIF. With that many interfaces and counters, the collection process becomes a very cumbersome task and extremely CPU intensive. In view of the fact that the forwarding engine application includes several CPU intensive functions, where supporting the counter collection function is only one of them, the inventors reached the conclusion that the CPU performance of the forwarding device should be improved by reducing its CPU processing load, thereby enabling improved performance monitoring statistics collection (PM collection) from nodes located within the distributed routing system. To do that, the solution provided by the present invention proposes to offload the counter collection task from the CPUs of the forwarding devices to a software logic that runs on a fabric device (a fabric module). When a distributed routing system includes multiple fabric devices, each fabric device may be configured to collect the counters' values of different groups of forwarding devices. FIG. 1 illustrates a schematic view of a part of a distributed routing system 100 which comprises a plurality of forwarding devices (1101, 1102…110n) (forwarding modules) and a plurality of fabric devices (1201, 1202…120k) (fabric modules). Packet processors (1301, 1302…130n) that reside on respective forwarding devices maintain counters (1401, 1402…140n) as part of respective on-chip blocks, which are configured to count the number of packets being forwarded via a physical or a logical interface with which that counter is associated. These counters are referred to as counter engines. The essentially same on-chip blocks may be located as part of the fabric switches (1501, 1502…150k) residing on respective fabric devices (1201, 1202…120k) or the data received from the forwarding devices (1101, 1102…110n) may be conveyed to and collected by a processor configured to collect that data received from the these forwarding devices. The local CPUs (1601, 1602…160k) that reside on the fabric devices (1201, 1202…120k) run counter collection logics that are configured to remotely retrieve current values of the counter engines (1401, 1402…140n) located on forwarding devices packet processors (1301, 1302…130n). Remote access to retrieve data from the packet processors’ counter engines (1401, 1402…140n) can be performed by using any one of various methods that are known in the art per se, such as for example a remote direct memory access (RDMA) or by exporting counter values of the packet processor to the counter engines of the fabric switches (1501, 1502…150k) as a data plane packet. In addition, the local CPUs (1601, 1602…160k) that reside on the fabric devices may run a counter collection logic that is configured to retrieve (read) the counters' values from the counter engines (1701, 1702…170k) located at the respective local fabric switches (1501, 1502…150k). After receiving the information at the fabric devices, it is processed and used for whatever tasks it is needed, such as for performance monitoring statistics collection from nodes comprised in the distributed routing system. The present invention has been described using detailed descriptions of embodiments thereof that are provided by way of example and are not intended to limit the scope of the invention in any way. The described embodiments comprise different features, not all of which are required in all embodiments of the invention. Some embodiments of the present invention utilize only some of the features or possible combinations of the features. Variations of embodiments of the present invention that are described and embodiments of the present invention comprising different combinations of features noted in the described embodiments will occur to persons of the art. The scope of the invention is limited only by the following claims. 5

Claims (7)

1. CLAIMS1. A distributed routing system for use in a communication network comprising a plurality of forwarding modules and a plurality of fabric modules, and wherein at least one counter located at at least one respective fabric module is configured to receive data that enable determining a number of packets being forwarded via physical and/or logical interfaces associated with at least two of the plurality of forwarding modules, to be collected by the at least one counter located at at least one respective fabric module, thereby enabling offloading CPU intensive tasks from the forwarding modules to be carried out by said at least one respective fabric module, while said distributed routing system still maintains its original functionalities.
2. The distributed routing system of claim 1, wherein the at least one counter located at at least one respective fabric module is configured to receive data relating to the number of packets being forwarded via all physical and/or logical interfaces associated with said at least two of the plurality of forwarding modules.
3. The distributed routing system of claim 1 or 2, wherein each of the plurality of forwarding modules and the plurality of fabric modules is a separate physical device.
4. The distributed routing system of claim 1 to 3, wherein a CPU associated with at least one counter located at a respective fabric module is configured to remotely retrieve the data relating to number of packets being forwarded via physical and/or logical interfaces associated with said at least two forwarding modules.
5. The distributed routing system of claim 1 to 4, wherein the data received from at leas two of the plurality of forwarding modules and relates to number of packets being forwarded via physical and/or logical interfaces associated with said at least two forwarding modules, is conveyed to and collected by a processor configured to collect data received from said at least two forwarding modules.
6. The distributed routing system of claim 1 to 5, wherein said at least one fabric module is further configured to execute a counter collection application for retrieving counter values from a counter engine located at said at least one fabric module.
7. The distributed routing system of claim 1 to 6, wherein said number of packets received is collected by a software logic that runs on a fabric module, and wherein each of said fabric modules comprised in said distributed routing system is configured to collect number of packets received associated with a plurality of forwarding modules. For the Applicant, By
IL276770A 2020-08-17 2020-08-17 Processing data in a distributed routing system IL276770B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IL276770A IL276770B2 (en) 2020-08-17 2020-08-17 Processing data in a distributed routing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IL276770A IL276770B2 (en) 2020-08-17 2020-08-17 Processing data in a distributed routing system

Publications (3)

Publication Number Publication Date
IL276770A IL276770A (en) 2022-03-01
IL276770B1 IL276770B1 (en) 2025-05-01
IL276770B2 true IL276770B2 (en) 2025-09-01

Family

ID=80473126

Family Applications (1)

Application Number Title Priority Date Filing Date
IL276770A IL276770B2 (en) 2020-08-17 2020-08-17 Processing data in a distributed routing system

Country Status (1)

Country Link
IL (1) IL276770B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050063385A1 (en) * 2003-09-18 2005-03-24 Samsung Electronics Co., Ltd. Apparatus and method for packet length and enhanced traffic profiling in a massively parallel router
US20100328159A1 (en) * 2009-06-25 2010-12-30 Chung-Wen Yang Antenna Structure
US20160173371A1 (en) * 2014-12-11 2016-06-16 Brocade Communications Systems, Inc. Multilayered distributed router architecture
US20190379576A1 (en) * 2018-06-07 2019-12-12 Vmware, Inc. Providing dynamic serviceability for software-defined data centers
US20200007405A1 (en) * 2018-06-29 2020-01-02 Juniper Networks, Inc. Monitoring and policy control of distributed data and control planes for virtual nodes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050063385A1 (en) * 2003-09-18 2005-03-24 Samsung Electronics Co., Ltd. Apparatus and method for packet length and enhanced traffic profiling in a massively parallel router
US20100328159A1 (en) * 2009-06-25 2010-12-30 Chung-Wen Yang Antenna Structure
US20160173371A1 (en) * 2014-12-11 2016-06-16 Brocade Communications Systems, Inc. Multilayered distributed router architecture
US20190379576A1 (en) * 2018-06-07 2019-12-12 Vmware, Inc. Providing dynamic serviceability for software-defined data centers
US20200007405A1 (en) * 2018-06-29 2020-01-02 Juniper Networks, Inc. Monitoring and policy control of distributed data and control planes for virtual nodes

Also Published As

Publication number Publication date
IL276770A (en) 2022-03-01
IL276770B1 (en) 2025-05-01

Similar Documents

Publication Publication Date Title
US8077613B2 (en) Pinning and protection on link aggregation groups
US10911355B2 (en) Multi-site telemetry tracking for fabric traffic using in-band telemetry
US7088716B2 (en) Network routing apparatus
EP3560148B1 (en) Database functions-defined network switch
US7436775B2 (en) Software configurable cluster-based router using stock personal computers as cluster nodes
US11595315B2 (en) Quality of service in virtual service networks
Gholami et al. Congestion control in software defined data center networks through flow rerouting
US9065745B2 (en) Network traffic distribution
JP2023126364A (en) Congestion avoidance in slice-based network
EP3559833B1 (en) Best-efforts database functions
US12184486B2 (en) Detecting and resolving multicast traffic performance issues
US8867408B2 (en) Fast convergence on child link failures and weighted load balancing of aggregate ethernet/sonet bundles
US12255794B2 (en) Methods, systems, and computer readable media for selectively processing a packet flow using a flow inspection engine
CN112822233B (en) Traffic redirection method and device
US12413514B2 (en) Processing data in a distributed routing system
US11637739B2 (en) Direct memory access (DMA) engine for diagnostic data
IL276770B1 (en) Processing data in a distributed routing system
Qin et al. FlowDecider: End-host driven proactive load balancing for data center networks
CN112134810B (en) A NFV network traffic classification method based on FPGA hardware acceleration
US20260032084A1 (en) Scheduling method, electronic device, and storage medium for managing network congestion
Bonomi On the Evolution of Internet Routers
Zhuge et al. The Design and Research of Cluster Router Based on ForCES Protocol