# Patent

## Title
Ethernet-based systems and methods for improved network routing

## Abstract

Ethernet-based networks for routing Internet Protocol (IP) traffic between source and destination sites. One embodiment includes a plurality of discrete data transmission backbones between the source and destination sites. The source site includes control means for distributing IP traffic at the source site to the plurality of backbones for transmission to the destination site.

## Background
REFERENCE TO RELATED APPLICATION
This application claims the benefit of U.S. Provisional Application Ser. No. 60/650,312, filed Feb. 4, 2005, and entitled Systems And Methods For Improved Network Routing, which is incorporated herein in its entirety.


FIELD OF THE INVENTION
The present invention relates generally to network routing, and more specifically to Ethernet-based systems and methods for routing IP traffic at the edges and in the core backbone of an IP (Internet Protocol) network.
BACKGROUND OF THE INVENTION
High speed internet prices continue to drop, but the underlying costs of maintaining and operating the networks remain relatively high. One of the main factors in keeping the unit costs high is the high cost for the terabit MPLS backbone routers. Accordingly, as bandwidth requirements grow, the costs will likely grow as well. Thus, a need exists for ways to scale network architectures larger (i.e., higher bandwidth capacity) in a more cost effective manner.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagrammatic illustration of a three-stage multichassis Ethernet router (MER) in accordance with one embodiment of the invention.
FIG. 2 is a diagrammatic illustration of multiple parallel backbones (N×BB) connected to peer and edge networks in accordance with another embodiment of the invention.
FIG. 3 is a diagrammatic illustration of a combination of the multichassis Ethernet router shown in FIG. 1 and the multiple parallel backbones shown in FIG. 2 connected between sites in accordance with another embodiment of the invention.
FIG. 4 is a diagrammatic illustration of a multichassis Ethernet router-based core in parallel with existing MPLS cores between sites in accordance with another embodiment of the invention.
FIG. 5 is a diagrammatic illustration of an alternative version of the invention shown in FIG. 4.
FIG. 6 is a diagrammatic illustration of multiple core local area networks connected in the middle of core routers and edge routers in accordance with another embodiment of the invention.
FIG. 7 is a diagrammatic illustration of an alternative LIM.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
One way to scale these networks larger at lower costs is to use a network or matrix of Ethernet switches to perform the functions currently being performed by expensive routers. These Ethernet switch matrices can be used in place of the terabit MPLS backbone routers, as well as in place of gigabit access routers at the edge of a network backbone. By using the Ethernet switch matrices, unit costs can be lowered.
While cost is a concern, scalability (i.e., the ability to grow with bandwidth demands) is also a concern when designing and implementing new systems. In fact, some forecasters are estimating a significant demand growth. Thus, the ability to scale the network at reasonable costs will be very important.
Three systems have been developed to address these issues. These systems can be used individually or together to form a cost effective, scalable core backbone network and/or edge network. The systems include a multi-chassis Ethernet router (“MER”), a multiple parallel backbone configuration (“N×BB”), and a LAN in the middle (“LIM”) configuration.
Multi-Chassis Ethernet Router (MER)
In one embodiment, the MER will comprise a multi-stage CLOS matrix (e.g., 3 stages) router built out of Ethernet switches. The MER will use IP protocols to distribute traffic load across multiple switch stages. This design leverages existing technology, but allows scalability by adding additional Ethernet switches, additional stages, a combination or both, or new, inexpensive MERs.
FIG. 1 is a diagrammatic illustration of one embodiment of a 3-stage MER in accordance with one embodiment of the invention. In this particular embodiment, the MER utilizes 4 Ethernet switches in each of the three stages. Again, additional switches or stages can be added. In this particular example, as illustrated by the arrows in FIG. 1, traffic destined out L34 arrives at L11. L11 equally distributes the traffic across L21-L24 using one or more load balancing or distribution methods. L21-L24 forwards traffic to L34, which combines the flows and forwards them out the necessary links. This design provides a dramatic increase in scale. For example, in the illustrated embodiment, a 4×MER provides a 4× increase in node size. The maximum increase for a 3 stage fabric is n^2/2, where n is the number of switches used in each stage. Five stage and seven stage matrices will further increase scalability.
While CLOS matrices are known, CLOS matrices have not been implemented in a network of Ethernet switches, which is what this particular implementation provides. Further, the CLOS matrices typically implemented in the very expensive MPLS routers are implemented using proprietary software and are encompassed into a single box. In this particular implementation, multiple inexpensive Ethernet switches are formed into the matrix, and the CLOS distribution is implemented using IP protocols, not a proprietary software. Further, in this particular implementation, the CLOS matrix is implemented at each hop of the switches, instead of in a single device. Other protocols can be used in other embodiments.
After the Ethernet switches are connected together, the packets and/or packet cells can be distributed to the different stages of the matrix using flow based load balancing. Internal gateway protocols (“IGP”) can be used to implement the load balancing techniques. In some embodiments, the MER can utilize equal cost load balancing, so that each third-stage box (i.e., L31, L32, L33 and L34) associated with a destination receives the same amount of traffic. For example, if boxes L1, L2 and L3 all communicate with New York, each box will receive the same amount of traffic. This technique is relatively easy to implement and scales well, when new MERs are implemented.
In another embodiment, traffic on the MER can be distributed using bandwidth aware load balancing techniques, such as traffic engineering techniques (e.g., MPLS traffic engineering) that send packets to the least busy switch. In one embodiment, the middle layer can run the traffic engineering functionality, thus making intelligent routing decisions.
In yet another embodiment, traffic awareness techniques in the middle layer (i.e., L21, L22, L23, and L24) can be used to determine what the downstream traffic requirements might be. That is, the middle layer can determine demand placed on the third or last layer and then determine routing based on the capacity needs. In this embodiment, the middle layer can receive demand or capacity information from the last (e.g., third) layer via traffic engineering tunnels (e.g., MPLS tunnels) or via layer 2 VLANS. Alternatively, changes to IGP can be leveraged to communicate bandwidth information to the middle layer. For example, switch L31 can communicate to the middle layer (e.g., via IGP or other protocols) that it is connected to New York with 30 Gb of traffic. The middle layer can use this protocol information, as well as information from the other switches, to load balance the MER.
In another embodiment, an implementation of the MER can use a control box or a route reflector to manage the MER. In some embodiments, the route reflector or control box can participate in or control routing protocols, keep routing statistics, trouble shoot problems with the MER, scale routing protocols, or the like. In one embodiment the route reflector can implement the routing protocols. So, instead of a third stage in a MER talking to a third stage in another MER, a route reflector associated with a MER could talk to a route reflector associated with the other MER to determine routing needs and protocols. The route reflector could utilize border gateway protocols (“BGP”) or IGP route reflection protocols could be used (e.g., the route reflector could act as an area border router).
Multiple Parallel Backbones (N×BB)
Another implementation that can be utilized to scale a core backbone network is to create multiple parallel backbones. One embodiment of this type of implementation is illustrated in FIG. 2. With the N×BB configuration, traffic can be split across multiple backbones to increase scale.
As illustrated in FIG. 2, one embodiment of an implementation deploys a series of parallel backbones between core sites. The backbones can use large MPLS routers, Ethernet switches, the MERs discussed above, or any other suitable routing technology. In addition, in the illustrated embodiment, peers can connect to the backbones through a common peering infrastructure or edge connected to each backbone, and customers can connect to specific backbone edges. That is, peers are connected to the parallel backbones (BB, BB1, BB2, BB3 and BB4) through a single peering edge, and customers are connected to the backbones through separate edge networks. In FIG. 2, each backbone has is own customer edge network. In alternative embodiments, however, only one or just a couple of edge network might be utilized (similar to one peering edge). The edge network also can use different routing technologies, including the MERs discussed above. The use of MERs can help with scaling of the peering edge.
The arrows in FIG. 2 illustrate an example of traffic flows in a parallel backbone network. In this example, traffic destined for customers A-Z arrives from Peer #2. The peering edge splits traffic across the multiple backbones based on the final destination of the traffic (e.g., peering edge can distribute traffic based on IP destination prefix). Then each of the backbones forwards traffic through its associated customer edge to the final customer destination.
This multiple parallel backbone network can have many advantages. For example, parallel backbones make switching needs smaller in each backbone, so Ethernet switches and/or MERs can be used. In addition, the parallel backbone configuration can leverage existing routing and control protocols, such as BGP tools like traffic engineering, confederations, MBGP, and the like. The use of the traffic engineering protocols can help steer traffic to the appropriate backbone(s). Further, with the existence of multiple backbones, fault tolerant back-up systems can be created for mission critical applications. That is, one or more backbones can be used for disaster recovery and/or back-up purposes. Further, in yet other embodiments, the parallel backbone can be organized and utilized based on different factors. For example, a peer could have one or more backbones dedicated to it. Similarly, a customer could have one or more backbones dedicated to it. In yet other embodiments, customers can be allocated across backbones based on traffic and/or services. For example, Voice Over IP (VoIP) might use one or more backbones, while other IP service might use other backbones. Thus, backbones can be provisioned by peer, customer, service, traffic volume or any other suitable provisioning parameter.
Further, as illustrated in FIG. 3, a combination of multi-chassis Ethernet routers (MER) and parallel backbones (N×BB) can be used for even greater scaling. For example, as illustrated in the example in FIG. 3, a 300 G Ethernet switch capacity could be increased 64× to 19,200 G using a combination of MER and parallel backbones. In this example, an 8×MER and an 8× parallel backbone is combined to get 64× scalability. Scalability can be even larger if larger MERs (e.g., 16× or 32×) and/or more parallel backbones are used. Thus, these technologies used alone and/or together can help scale capacity greatly.
Further, as illustrated in FIG. 4, an Ethernet-based core (e.g., a core based on MERs) can be added as a parallel core to existing MPLS cores, thus adding easy scalability at a reasonable price without having to replace existing cores. In this implementation, some existing customers as well as new customers could be routed to the new Ethernet-core backbone. Alternatively, specific services, such as VoIP could be put on the new backbone, while leaving other services on the MPLS. Many different scenarios of use of the two cores could be contemplated and used.
FIG. 5 is another illustration of the Ethernet-based parallel core in parallel with an existing MPLS core. BGP techniques can be used to select which backbone to use on a per destination basis. Candidate routes are marked with a BGP community string (and IP next hop) that forces all traffic to the destination address to the second backbone. The selection can be done on a route by route basis and could vary based on source. Alternatively, a customer-based global policy can be used so that all traffic exiting a specific set of customer parts would use the same backbone. Route selection and route maps can be automatically generated by capacity planning tools.
LAN in the Middle (LIM)
Another network implementation that could used to scale backbone cores is the LIM. One embodiment of a LIM is illustrated in FIG. 6. In the illustrated embodiment, core routers are connected to edge routers through Ethernet switches. This is a similar configuration to the MERs discussed above, except existing core routers and edge routers are used in stages 1 and 3, instead of all stages using Ethernet switches. The benefit of this configuration is that the existing routers can be scaled larger without having to replace them with Ethernet switches. Using Ethernet switches in the middle layer and using CLOS matrices, as discussed above, will increase capacity of the existing core and edge routers. In one embodiment, the core and edge routers will be responsible for provisioning the traffic through the matrix.
FIG. 7 is a diagrammatic illustration of an alternative LIM. Customer facing provider edges (PE) can, for example, have 4×10 G to the LIM. With a 1+1 protection, this would allow 20 G customer facing working traffic. On the WAN facing side, each provider or core router (P) has 4×10 G to the LIM. With 1+1 protection, this allows at least 20 G of WAN traffic.
Although the present invention has been described with reference to preferred embodiments, those skilled in the art will recognize that changes can be made in form and detail without departing from the spirit and scope of the invention.

## Claims

1. A network system for routing Internet Protocol (IP) traffic between a source site and a destination site, comprising:
a plurality of discrete data transmission backbones between the source and destination sites;
wherein the source site comprises a first Clos matrix of switches configured to selectively distribute IP traffic across the plurality of discrete data transmission backbones for transmission to the destination site and to perform routing control functions for a peering edge common to each discrete data transmission backbone;
wherein the destination site comprises a second Clos matrix of switches configured to selectively distribute IP traffic received over the plurality of discrete data transmission backbones and to perform routing control functions for a plurality of peering edges, wherein each peering edge is in communication with the network via a single discrete data transmission backbone;
wherein one of the plurality of discrete transmission backbones includes an N×M IP-implemented Clos matrix of Ethernet switches, wherein N>2 is the number of stages in the matrix and M>1 is the number of switches in each stage, and wherein the M switches of the first and last stages are Multi-Protocol Label Switching (MPLS) switches and the M switches of at least one stage between the first and last stages are Ethernet switches; and
a load balancing process for balancing the flow of traffic between two or more switches of each of the stages of the N×M Clos matrix.

2. The network system of claim 1 wherein the first Clos matrix of switches distributes IP traffic as a function of traffic volume on the plurality of backbones.

3. The network system of claim 1 wherein the first Clos matrix of switches distributes IP traffic as a function of the nature or type of the IP traffic.

4. The network system of claim 1 further comprising internal gateway protocol (IGP) for balancing traffic in the N×M Clos matrix.

5. The network system of claim 1 further comprising an equal cost-based load balancing process for balancing traffic across each switch of a final stage associated with a common destination.

6. The network system of claim 1 further comprising a route reflector coupled to the matrix of switches, wherein the route reflector is configured for managing functionality of the N×M Clos matrix.

7. The network system of claim 6, wherein the route reflector performs at least one of: maintenance of routing statistics, troubleshooting of the N×M Clos matrix, and scaling of routing protocols for the N×M Clos matrix.

8. The network system of claim 1, wherein the first Clos matrix of switches is configured to determine which of the plurality of discrete data transmission backbones to route traffic over based on use of Border Gateway Protocol (BGP), wherein BGP community strings indicate which candidate routes should be used for inducing transmission of the IP traffic from the source site to the destination site.

9. A system for routing Internet Protocol (IP) traffic across a network to an edge node of the network, wherein the network comprises at least a first backbone network, the system comprising:
an N×M IP-implemented Clos matrix of switches, wherein:
N>2 is the number of stages in the matrix;
M>1 is the number or switches in each stage;
the M switches of the first and last stages are Multi-Protocol Label Switching (MPLS) switches; and
the M switches of at least one stage between the first and last stages are Ethernet switches; and

wherein the N×M Clos matrix of switches is configured with a routing protocol control process for distributing IP traffic between the switches:
a second backbone network comprising a Clos matrix of switches in parallel with the first backbone; and
wherein the routing control process is operable to selectively distribute the IP traffic across the second backbone and the first backbone in order to route the IP traffic to the edge node based on use of Border Gateway Protocol (BGP), wherein BGP community strings indicate which candidate routes should be used for inducing transmission of the IP traffic from the source site to the destination site.

10. The system of claim 9 further comprising a load balancing process for balancing the flow of traffic between two or more switches of each of one or more stages of the N×M Clos matrix.

11. The system of claim 9 further comprising internal gateway protocol (IGP) for balancing traffic in the N×M Clos matrix.

12. The system of claim 9 further comprising an equal cost-based load balancing process for balancing traffic by causing each switch of a final stage of the N×M Clos matrix associated with a common destination to receive about the same amount of traffic.

13. The system of claim 9 further comprising a route reflector coupled to the matrix of switches, wherein the route reflector manages routing functionality of the N×M Clos matrix; and
wherein the route reflector further performs at least one of: maintenance of routing statistics, troubleshooting of the N×M Clos matrix, and scaling of routing protocols for the N×M Clos matrix.

14. A method for network communications between a source site and a destination site comprising:
routing Internet Protocol (IP) traffic across a plurality of discrete data transmission backbones between the source and destination sites, wherein at least one of the discrete data transmission backbones is dedicated to IP traffic from one or more customer networks associated with the source site;
from the source site, distributing IP traffic among the plurality of discrete data transmission backbones as a function of the one or more customer networks originating the IP traffic;
at the destination site, receiving the IP traffic from the at least one dedicated discrete data transmission backbone transmitting IP traffic originating from the one or more customer networks;
wherein at least one of the discrete data transmission backbones comprises a Clos matrix of Ethernet switches, the Clos matrix comprising a plurality of stages each having a plurality of Ethernet switches;
wherein the source site comprises a first Clos matrix configured to perform routing control functions for a peering edge common to each discrete data transmission backbone; and
wherein the destination site comprises a second Clos matrix of switches configured to perform routing control functions for a plurality of peering edges, wherein each peering edge is in communication with the network via a single discrete data transmission backbone;
wherein one of the plurality of discrete transmission backbones includes an N×M IP-implemented Clos matrix of Ethernet switches, wherein N>2 is the number of stages in the matrix and M>1 is the number of switches in each stage, and wherein the M switches of the first and last stages are Multi-Protocol Label Switching (MPLS) switches and the M switches of at least one stage between the first and last stages are Ethernet switches; and
balancing the flow of traffic between two or more switches of each of the stages of the N×M Clos matrix.