The invention relates to computer networks, and more particularly, to techniques for establishing communications within computer networks.
Networks that primarily utilize data link layer devices are often referred to as layer two (L2) networks. A data link layer device is a device that operates within the second layer of the Open Systems Interconnection (OSI) reference model, i.e., the data link layer. One example of a data link layer device is a customer premises equipment (CPE) device, such as a switch, modem, Ethernet card, or wireless access point. Traditional L2 networks include Ethernet networks, Asynchronous Transfer Mode (ATM) networks, Frame Relay networks, networks using High Level Data Link Control (HDLC), Point-to-Point (PPP) connections, PPP sessions from Layer 2 Tunneling Protocol (L2TP) tunnels, and Virtual Local Area Networks (VLANs).
In some instances, a layer three (L3) network is used as an intermediate transport network between two or more L2 networks in order to allow communication between the L2 networks. In this type of configuration, the L3 network transparently transports L2 communication between the L2 networks, thereby allowing the L2 networks to share an L2 service. Common protocols for transporting the L2 service through the intermediate L3 network are label switching protocols, such as Multi-protocol Label Switching (MPLS) protocols like Resource Reservation Protocol (RSVP) and the Label Distribution Protocol (LDP). In accordance with MPLS, a source device, such as a router connected to one of the L2 networks, can request a path through the intermediate network. This path, referred to as a Label Switched Path (LSP), defines one or more distinct, dedicated, and guaranteed paths through the network to carry MPLS packets from the source to the destination. The MPLS packets encapsulate the L2 communications, thereby effectively shielding the L3 network from the transported L2 information.
One example of an L2 service is the Virtual Private LAN Service (VPLS), also referred to as Point-to-multipoint (P2MP) L2 VPNs. In general, VPLS allows two or more remote customer networks to be extended through the intermediate network as if the intermediate network does not exist. In particular, L2 communications, such as Ethernet packets, are transported between customer networks via the intermediate network. In a typical configuration, VPLS-enabled routers that are associated with the customer networks define LSPs within the intermediate network to carry encapsulated L2 communications as if these customer networks were directly attached to the same LAN. To properly communicate via these LSPs, each of these VPLS-enabled routers store L2 information, such as Media Access Control (MAC) addresses, as well as VPLS information, such as local and remote VPLS site information. In this manner, these VPLS-enables routers provide transparent L2 connectivity across the intermediate network and simulate a direct LAN.
While a VPLS may provide transparent L2 connectivity across a single intermediate network, establishing L2 connectivity via VPLS across one or more intermediate networks becomes increasingly difficult, especially when the intermediate networks are provided by different service providers. In particular, the intermediate networks may not support VPLS, and the service providers associated with the intermediate networks may be unwilling to do so due to the increased overhead and cost associated with VPLS. For example, the service providers may be unwilling to incur the increased overhead and cost associated with storing and managing the L2 state information associated with the VPLS service.
In general, techniques are described for providing layer two (L2) services, such as Virtual Private LAN Service (VPLS), across one or more intermediate networks. More specifically, the techniques allow distributed customer networks to achieve L2 connectivity through the intermediate networks without requiring that the intermediate networks maintain L2 state information associated with the L2 service. As one example, the intermediate networks need not provide VPLS services in order to provide L2 connectivity for the service.
In general, the techniques utilize an exterior routing protocol, such as the Border Gateway Protocol (BGP), that has been extended to distribute label information between the intermediate networks. In particular, this extended routing protocol is utilized to distribute label information associated with a label switching protocol, such as a Multi-protocol Label Switching (MPLS) protocol like Label Distribution Protocol (LDP) or Resource Reservation Protocol (RSVP). In this manner, the techniques provide end-to-end, i.e., inter-provider, LSP connectivity across the intermediate networks.
In addition, the techniques provide for the exchange of L2 service information between the distributed customer networks. In particular, an exterior routing protocol may be utilized to establish a peering relationship between routers associated with the distributed customer networks, thereby allowing the routers to directly exchange the L2 service information. For example, the routers may establish a peering session using the Border Gateway Protocol (BGP), and directly exchange VPLS information via the BGP session. The BGP session could be either an Internal BGP (I-BGP) session or a multihop External BGP (E-BGP) session depending on whether or not the routers exchanging L2 service information are configured to be in the same autonomous system.
In one embodiment, a method comprises establishing a label switched path (LSP) through one or more intermediate networks communicatively coupled between a first customer network and a second customer network. The method further comprises communicating layer two (L2) service information between a first device associated with the first customer network and a second device associated with the second customer network and providing an L2 service in accordance with the L2 service information to transport L2 communications between the first customer network and the second customer network through the one or more intermediate networks using the LSP.
In another embodiment, a device comprises a routing process that receives label information for a label switched path (LSP) through one or more intermediate networks communicatively coupled between a first customer network and a second customer network. The device further comprises a layer two (L2) service that receives L2 service information from a device associated with the second customer network, and transports L2 communications between the first customer network and the second customer network through the one or more intermediate networks in accordance with the label information.
In another embodiment, a system comprises a border router, a first route reflector and an edge router. The border router establishes a label switched path (LSP) through one or more intermediate networks, wherein the LSP communicatively couples a first customer network and a second customer network. The first route reflector associated with the first customer network communicates layer two (L2) service information with a second route reflector associated with the second customer network. The edge router provides an L2 service to the first customer network in accordance with the L2 service information to transport L2 communications between the first customer network and the second customer network through the one or more intermediate networks using the LSP.
The techniques may provide one or more advantages. For example, the end-to-end LSP connectivity and the sharing of the L2 service information allows the routers to establish LSPs across the multiple intermediate networks, and seamlessly provide L2 connectively through the intermediate networks without requiring the intermediate networks maintain L2 state information or otherwise provide the L2 service. In this manner, the intermediate networks need not incur the cost or overhead associated with providing the L2 service. Consequently, seamless L2 connectivity between distributed customer networks may be more easily established in situations where the networks are coupled by multiple intermediate networks.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
In the example of
For exemplary purposes, the techniques are described herein in reference to Virtual Private LAN Service (VPLS) and the transportation of Ethernet communications between L2 networks 6. In order to provide VPLS services to L2 networks 6, PE routers 4 communicate with border routers 12 to establish end-to-end label switch paths (LSPs) (not shown in
In general, PE routers 4 receive Ethernet communications from L2 networks 6, and transport the Ethernet communications through autonomous systems 8A and 8B using the LSPs. PE router 4A, for example, may receive an Ethernet communications from L2 network 6A, encapsulate the Ethernet communications in one or more MPLS packets, and forward the MPLS packets to PE router 4B via one or more LSPs. Upon receipt, PE router 4B extracts the Ethernet communications from the MPLS packets, and injects the Ethernet communications into L2 network 6B. In similar fashion, PE router 4B transports Ethernet communications from L2 network 6B to PE router 4A. In this manner, PE routers 4 provide VPLS services through intermediate autonomous systems 8A and 8B, thereby allowing remote L2 networks 6 to communicate as if directly connected. PE routers 4 may also perform L2 functions, such as MAC frame flooding and forwarding and MAC address learning, in order to provide the VPLS service.
In accordance with the principles of the invention, border routers 12 utilize a routing protocol, such as the Border Gateway Protocol (BGP), that has been extended to distribute label information 13 between autonomous systems 8A and 8B. In particular, border routers 12 utilize this extended routing protocol (referred to herein for exemplary purposes as Label BGP or “L-BGP”) to distribute label information 13 associated with a label switching protocol, such as the LDP or MPLS protocol. Border router 12A may, for example, utilize the L-BGP to announce label identifiers for LSPs within autonomous system 8A. Similarly, border router 12B may, for example, utilize L-BGP to announce label identifiers for LSPs within autonomous system 8B. Routing devices within autonomous systems 8A and 8B, such as PE routers 4, receive the label information 13 from border routers 12 via conventional interior routing protocols, such as Interior BGP (I-BGP), ISIS or OSPF, and Multi-protocol Label Switching (MPLS) protocols like Label Distribution Protocol (LDP).
As a result, PE routers 4 are able to construct “end-to-end” LSPs, i.e., LSPs defined through autonomous systems 8A and 8B that originate and terminate on PEs connected to L2 networks 6. In this manner, the techniques provide end-to-end, i.e., inter-provider, LSP connectivity across autonomous systems 8A and 8B for transporting L2 communications, e.g., Ethernet packets. The techniques used to establish end-to-end LSPs between the PEs to tunnel L2 communications, can also be used to establish end-to-end LSPs between the CEs routers 10 themselves. In this scenario, CE routers 10A and 10B act as PE routers by encapsulating L2 communications in MPLS, and the PEs act as autonomous system border routers that transport MPLS packets through the intermediate networks.
In addition, in order to increase the transparency of the VPLS L2 service, devices associated with L2 networks 6 are configured to directly exchange VPLS service information 14. For example, PE routers 4 or other devices, such as dedicated router reflectors as further described below, establish peering relationships utilizing an exterior routing protocol, such as BGP (BGP). Using these BGP sessions, PE routers 4 directly exchange the L2 service information, e.g., VPLS service information 14.
In this way, other devices within autonomous systems 8A and 8B, such as border routers 12, need not support VPLS or even be aware that communications related the L2 service is being tunneled through the autonomous systems. Consequently, border routers 12 need not be configured to maintain VPLS state information, thereby avoiding the overhead and cost associated with providing the L2 service. Consequently, seamless L2 connectivity between distributed customer networks, such as L2 networks 6, may be more easily established in situations where the networks are coupled by multiple intermediate networks, such as autonomous systems 8A and 8B.
For exemplary purposes, the techniques are described in reference to Virtual Private LAN Service (VPLS) and the transportation of Ethernet communications between L2 networks 6. However, the techniques may readily be applied to other types of L2 services. For example, each of the L2 networks 6 may comprises an ATM network, and PE routers 4 may utilize the techniques to transports ATM cells and other ATM-related L2 information through intermediate autonomous systems 8A and 8B. Other exemplary types of L2 networks for which L2 information may be transported in accordance with the techniques described herein include Frame Relay networks, networks using High Level Data Link Control (HDLC), Point-to-Point (PPP) connections, PPP sessions from Layer 2 Tunneling Protocol (L2TP) tunnels, and Virtual Local Area Networks (VLANs).
Border routers (“BR” in
In addition, autonomous systems 23 and 25 include route reflectors (“RR” in
VPLS service information 26 may, for example, include L2 site data, such as site-id's of remote sites, VPN domains to which these sites belong, and any information required to forward traffic to these sites or other L2 information. Route reflectors 22A and 22B forward VPLS service information 26 to the PE routers associated with the L2 networks for use in providing the VPLS service through the intermediate autonomous systems. In this manner, route reflectors 22A and 22B provide a mechanism for readily sharing L2 VPLS information between the numerous PE routers connected to remote L2 networks.
In this example, route reflector 22A receives VPLS service information 26 from route reflector 22B (
PE router 23A receives Ethernet communications 33 from CE router 21A, and formulates packets for transporting the Ethernet communications to other customer networks in accordance with the VPLS service. PE router 23A may, for example, encapsulate Ethernet communications 33 in one or more MPLS packets and forward the MPLS packets to PE router 23B via LSP 27. In turn, PE router 23B extracts the Ethernet communications from the MPLS packets, and forwards Ethernet communications 35 to customer network 21B.
In addition, border router 31A may establish LSP 32 by communicating with a border router of an intermediate autonomous system via L-BGP. An L-BGP compliant update message associated with one or more advertised routes may include, for example, a Subsequent Address Family Identifier (SAFI) field and Network Layer Reachability Information (NLRI) field for advertising prefixes with MPLS labels that can be used to reach them, to nearby routers. The SAFI field identifies the nature of the information stored in the NLRI field and is set to a predefined value when the NLRI field contains label switching protocol labels and prefixes reachable via the labels. Border router 31A establishes LSP 32 by sending an L-BGP update message having the SAFI field set to the predefined value and the NLRI field set to contain the label of LSP 32 to border router 31B. Border router 31B and subsequent routers forward similar update messages until LSP 32 connects to customer network 21C and 21D (
In addition, based on the L2 site information learned from route reflector 22A, PE router 23A forwards the MPLS packets to border router 31A via LSP 32. Border router 31A in turn forwards the MPLS packets via LSP 32 to other remote customer networks, such as customer networks 21C and 21D.
In addition, PE routers 38A and 38B communicate utilizing an exterior routing protocol, such as Exterior BGP (EBGP). Using EBGP, PE routers 38A and 38B exchange L2 service information, e.g., VPLS service information 48. VPLS service information 48, as described above, may, for example, include L2 site data, such as site-id's of remote sites, VPN domains to which these sites belong, and any information required to forward traffic to these sites or other L2 information. In this manner, a mechanism is established for sharing L2 information between numerous remote L2 networks, e.g., customer networks 40A and 40B, regardless of the level of network abstraction.
In addition, PE routers 38A and 38B communicate utilizing an exterior routing protocol, such as Exterior BGP (EBGP). Using EBGP, PE routers 38A and 38B exchange L2 service information, e.g., VPLS service information 48. VPLS service information 48, as described above. In this manner, a mechanism is established for sharing L2 information between numerous remote L2 networks, e.g., customer networks 40A and 40B, regardless of the level of network abstraction.
In this example, router 50 also includes L2 state data 62 that generally represents the state data necessary to provide services for an L2 network. L2 state data 62 may, for example, specify MAC addresses for the L2 networks. MAC addresses, for example, may be learned by MAC flooding and learning procedures during L2 communication.
In this example, router 50 also includes L2 state data 62 that generally represents the state data necessary to provide services for an L2 network. L2 state data 62 may, for example, specify MAC addresses for the L2 networks. Mac addresses, for example, my be learned by MAC flooding and learning procedures during L2 communication.
In addition, router 50 maintains route information 63 that defines routes through a network. Route information 50 may, for example, define next-hops for reaching customer networks and, in some instances, LSPs for transporting data to the customer networks.
As described herein, router 50 may be similar to PE router 23A (
Also, in order to provide VPLS services, router 50 exchanges VPLS service information with the other PE routers included within the L2 VPN via a route reflector, such as route reflector 22A. The route reflector utilizes an exterior routing protocol, such as BGP, to exchange the VPLS service information between PE routers belonging to the L2 VPN. Router 50 receives the VPLS service information from the route reflector using BGP protocol 60C. Router 50 receives the VPLS service information, and control unit 58 processes the VPLS service information in accordance with BGP protocol 60C by injecting the VPLS service information into route information 63. Control unit 58 resolves route information 63 and associates all of the routes, including the recently injected L2 information, with respective next-hops. In the case of the recently injected L2 information, control unit 58 may associate the L2 information with next-hops that define LSPs. Control unit 58, in accordance with VPLS protocol 60A and its procedures of flooding and learning, further processes the VPLS service information received via BGP protocol 60C to extract L2 state data 62.
The architecture of router 50 illustrated in
The architecture of router 50 illustrated in
Router 50 also receives VPLS service information (66) and stores the VPLS service information in route information 63. Typically, route reflectors, such as route reflector 22A and 22B (
Once the LSPs are established and VPLS service information is exchanged, router 50 may provide VPLS service to coupled customer networks, such as customer networks 21A-21D (
Based on L2 state data 62 and routing information 63, router 50 selects one of the established LSPs to forward the L2 data through the intermediate networks (70). In order to select one of the established LSPs, control unit 58 of router 50 analyzes the L2 data to determine a source Media Access Control (MAC) address and a destination MAC address. Using these addresses, control unit 58 accesses route information 63 and selects a next-hop that typically refers to an egress into one of the established LSPs. Again, conventional procedures for VPLS functions, such as flooding L2 traffic and learning MAC addresses, may be utilized. Whether flooding Ethernet traffic to all remote PEs or forwarding Ethernet traffic to a single remote PE, the principles used to select the next hop information corresponding to a remote PE and encapsulating L2 frames in end-to-end LSPs are the similar.
After selecting the LSP, control unit 58 assigns a label associated with the selected LSP to the received L2 data in accordance with MPLS protocol 60B (72), and transmits the L2 data via the selected LSP (74). In reverse order, router 50 receives packets from LSPs, extracts encapsulated L2 data, and forwards the L2 data to one or more L2 networks. In this manner, router 50 provides VPLS services to customer networks that are separated by intermediate networks, e.g., intermediate autonomous systems.
Various embodiments of the invention have been described. These and other embodiments are within the scope of the following claims.
This application is a continuation of U.S. application Ser. No. 10/821,791, filed Apr. 9, 2004, now U.S. Pat. No. 7,856,509, the entire content of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5600642 | Pauwels et al. | Feb 1997 | A |
6374303 | Armitage et al. | Apr 2002 | B1 |
6493349 | Casey | Dec 2002 | B1 |
6501754 | Ohba et al. | Dec 2002 | B1 |
6731652 | Ramfelt et al. | May 2004 | B2 |
6751218 | Hagirahim et al. | Jun 2004 | B1 |
6778531 | Kodialam et al. | Aug 2004 | B1 |
6807182 | Dolphin et al. | Oct 2004 | B1 |
6879594 | Lee et al. | Apr 2005 | B1 |
7035226 | Enoki et al. | Apr 2006 | B2 |
7082102 | Wright | Jul 2006 | B1 |
7095738 | Desanti | Aug 2006 | B1 |
7133928 | McCanne | Nov 2006 | B2 |
7221675 | Bryden et al. | May 2007 | B2 |
7269135 | Frick et al. | Sep 2007 | B2 |
7281058 | Shepherd et al. | Oct 2007 | B1 |
7286479 | Bragg | Oct 2007 | B2 |
7333491 | Chen et al. | Feb 2008 | B2 |
7333509 | Gadagottu | Feb 2008 | B1 |
7359328 | Allan | Apr 2008 | B1 |
7359989 | Orava et al. | Apr 2008 | B2 |
7420988 | Grossman | Sep 2008 | B1 |
7856509 | Kodeboyina | Dec 2010 | B1 |
20020071390 | Reeves et al. | Jun 2002 | A1 |
20020181477 | Mo et al. | Dec 2002 | A1 |
20030012215 | Novaes | Jan 2003 | A1 |
20030088696 | McCanne | May 2003 | A1 |
20030099235 | Shin et al. | May 2003 | A1 |
20030112748 | Puppa et al. | Jun 2003 | A1 |
20030177221 | Ould-Brahim et al. | Sep 2003 | A1 |
20030191937 | Balissat et al. | Oct 2003 | A1 |
20040037279 | Zelig et al. | Feb 2004 | A1 |
20040151181 | Chu et al. | Aug 2004 | A1 |
20040190517 | Gupta et al. | Sep 2004 | A1 |
20040218536 | Yasukawa et al. | Nov 2004 | A1 |
20040223500 | Sanderson et al. | Nov 2004 | A1 |
20050027782 | Jalan et al. | Feb 2005 | A1 |
20050044262 | Luo | Feb 2005 | A1 |
20050097203 | Unbehagen et al. | May 2005 | A1 |
20050108419 | Eubanks | May 2005 | A1 |
20050111351 | Shen | May 2005 | A1 |
20050169270 | Mutou et al. | Aug 2005 | A1 |
20050213513 | Ngo et al. | Sep 2005 | A1 |
20050262232 | Cuervo et al. | Nov 2005 | A1 |
20050281192 | Nadeau et al. | Dec 2005 | A1 |
20060013141 | Mutoh et al. | Jan 2006 | A1 |
20060039364 | Wright | Feb 2006 | A1 |
20060047851 | Voit et al. | Mar 2006 | A1 |
20060147204 | Yasukawa et al. | Jul 2006 | A1 |
20060153067 | Vasseur et al. | Jul 2006 | A1 |
20070036162 | Tingle et al. | Feb 2007 | A1 |
20080123654 | Tse-Au | May 2008 | A1 |
Number | Date | Country |
---|---|---|
2004001206 | Jan 2004 | KR |
2004071032 | Aug 2004 | WO |
Number | Date | Country | |
---|---|---|---|
Parent | 10821791 | Apr 2004 | US |
Child | 12973559 | US |