The present application is related to application Ser. Nos. 11/117,016 filed Apr. 28, 2005, entitled, “Metro Ethernet Network With Scaled Broadcast And Service Instance Domains”; 11/117,017 filed Apr. 28, 2005, entitled, “System And Method For DSL Subscriber Identification Over Ethernet Network”; and 11/117,249 filed Apr. 28, 2005, entitled, “Scalable System And Method For DSL Subscriber Traffic Over An Ethernet Network”, which applications are assigned to the assignee of the present application.
The present invention relates generally to digital computer network technology; more particularly, to methods and apparatus for providing Local Area Network (LAN) emulation services over Internet protocol (IP) networks.
A LAN is a high-speed network (typically 10 to 1000 Mbps) that supports many computers connected over a limited distance (e.g., under a few hundred meters). Typically, a LAN spans a single building. U.S. Pat. No. 6,757,286 provides a general description of a LAN segment. A Virtual Local Area Network (VLAN) is mechanism by which a group of devices on one or more LANs that are configured using management software so that they can communicate as if they were attached to the same LAN, when in fact they are located on a number of different LAN segments. Because VLANs are based on logical instead of physical connections, they are extremely flexible.
The IEEE 802.1Q specification defines a standard for Virtual LAN and its associated Ethernet frame format. Broadcast and multicast frames are typically constrained by VLAN boundaries such that only devices whose ports are members of the same VLAN see those frames. Since 802.1Q VLANs commonly span many switches across different LAN segments, sharing of Virtual LANs by a common set of infrastructure switches is achieved by inserting a VLAN tag into the Ethernet frame. For example, according to the existing standard, a VLAN tag with 12-bit VLAN identifier (VLAN ID) is inserted into an Ethernet frame. This VLAN ID may be used to specify the broadcast domain and to identify the customer associated with a particular VLAN. The customer identifier is frequently referred to as the service instance domain since it identifies the service provided for a particular customer. In a typical service provider (SP) metropolitan area network (MAN) the broadcast domain constrains the scope of traffic among network devices such that data packets are not multicast to all devices connected to the network. A system and method for efficiently distributing multicast messages within computer networks configured to have one or more VLAN domains is disclosed in U.S. Pat. No. 6,839,348.
A Virtual Private Network (VPN) enables IP traffic (the Internet is basically a conglomeration of WANs) to travel securely over a public Transmission Control Protocol (TCP)/IP network by encrypting all traffic from one network to another. A VPN uses “tunneling” to encrypt all information at the IP level. In a Layer 3 IP VPN, customer sites are connected via IP routers (e.g., provider edge (PE) devices and nodes) that can communicate privately over a shared backbone as if they are using their own private network. Multi-protocol label switching (MPLS) Border Gateway Protocol (BGP) networks are one type of L3VPN solution. An example of an IP-based Virtual Private Network is disclosed in U.S. Pat. No. 6,693,878. U.S. Pat. No. 6,665,273 describes a MPLS system within a network device for traffic engineering.
One problem associated with existing IEEE 802.1 specifications is that the 12-bit VLAN ID can only support a combined total of up to 4,094 broadcast domains and service instance domains. The 4K VLAN ID space thus limits the number of VLANs or VPNs that can be handled, and is inadequate for operations over a SP MAN/WAN network. A proposed solution to the scalability problem imposed by the 4K VLAN ID space limitation is described in U.S. Patent Application Publication 2004/0165600.
Virtual Private LAN Service (VPLS) has recently emerged to meet the need to connect geographically dispersed locations with a protocol-transparent, any-to-any connectivity service. VPLS is an architecture that delivers Layer 2 service that in all respects emulates an Ethernet LAN across a WAN and inherits the scaling characteristics of a LAN. All sites in a VPLS instance appear to be on the same LAN, regardless of location. In other words, with VPLS, customers can communicate as if they were connected via a private Ethernet LAN segment. Basically, VPLS offers a MPLS-based approach with multipoint connectivity for L2 services, i.e., multipoint Ethernet LAN services, often referred to as Transparent LAN Service (TLS). VPLS thus supports the connection of multiple sites in a single broadcast domain over a managed IP/MPLS network. Since a VPLS is normally provided over a service provider MAN/WAN network, it therefore needs to scale to accommodate a very large number of VPNs (e.g., a large number of customers, numerous services for each customer, and a large number of customer sites).
Conceptually, VPLS can be thought of as an emulated Ethernet LAN network with each Virtual Switch Instance (VSI) being analogous to a virtual Ethernet switch. Current VPLS models are described in the Internet Engineering Task Force (IETF) working group (WG) documents draft-ietf-l2vpn-vpls-ldp-03.txt and draft-ietf-l2vpn-vpls-bpg-02.txt, which are herein incorporated by reference. These documents address the aforementioned scalability problem in terms of the number of VPNs that can be supported. These VPLS models, however, create additional problems in terms of Operations and Management (OAM) maintainability and scalability because of the very large number of pseudowire (PW) meshes required.
In the VPLS model described in the IETF draft-ietf-l2vpn-vpls-ldp-03.txt, a VPLS instance has a filtering database for supporting its own MAC address domain, and uses a set of PWs per service instance for defining the broadcast domain of the L2 VPN. It also uses split horizon mechanism on each set of PWs to prevent loops in the MPLS/IP network. Since the current model uses a set of PWs per L2 VPN, the number of PWs that need to be supported per PE can be very large, i.e., on the order of 100K or 1M (e.g., 10K L2 VPNs with 10-100 sites per VPN). Considering existing requirements for partial mesh detection and timing constraints, it is extremely difficult to run a fast failure detection mechanism on a per PW basis for such a large number of PWs and exchange state information among PEs for partial mesh detection.
Thus, what is needed is a new VPLS architectural model that reduces the number of PWs in the network while maintaining scalability and support for a large number of VPNs as well as OAM.
The present invention will be understood more fully from the detailed description that follows and from the accompanying drawings, which however, should not be taken to limit the invention to the specific embodiments shown, but are for explanation and understanding only.
A VPLS model that utilizes an extended VLAN (E-VLAN) mechanism that tremendously reduces the number of PWs in a VPLS system is described. In the following description specific details are set forth, such as device types, protocols, configurations, etc., in order to provide a thorough understanding of the present invention. However, persons having ordinary skill in the networking arts will appreciate that these specific details may not be needed to practice the present invention.
A computer network is a geographically distributed collection of interconnected subnetworks for transporting data between nodes, such as intermediate nodes and end nodes. A local area network (LAN) is an example of such a subnetwork; a plurality of LANs may be further interconnected by an intermediate network node, such as a router or switch, to extend the effective “size” of the computer network and increase the number of communicating nodes. Examples of the end nodes may include servers and personal computers. The nodes typically communicate by exchanging discrete frames or packets of data according to predefined protocols. In this context, a protocol consists of a set of rules defining how the nodes interact with each other.
Each node typically comprises a number of basic subsystems including a processor subsystem, a main memory and an input/output (I/O) subsystem. Data is transferred between main memory (“system memory”) and processor subsystem over a memory bus, and between the processor and I/O subsystems over a system bus. Examples of the system bus may include the conventional lightning data transport (or hyper transport) bus and the conventional peripheral component [computer] interconnect (PCI) bus. Each network node may also comprise other hardware units/modules coupled to system bus for performing additional functions. The processor subsystem may comprise one or more processors and a controller device that incorporates a set of functions including a system memory controller, support for one or more system buses and direct memory access (DMA) engines. In general, the single-chip device is designed for general-purpose use and is not heavily optimized for networking applications.
In a typical networking application, packets are received from a framer, such as an Ethernet media access control (MAC) controller, of the I/O subsystem attached to the system bus. A DMA engine in the MAC controller is provided a list of addresses (e.g., in the form of a descriptor ring in a system memory) for buffers it may access in the system memory. As each packet is received at the MAC controller, the DMA engine obtains ownership of (“masters”) the system bus to access a next descriptor ring to obtain a next buffer address in the system memory at which it may, e.g., store (“write”) data contained in the packet. The DMA engine may need to issue many write operations over the system bus to transfer all of the packet data.
In accordance with the present invention, each PW 16 functions as a logical link (e.g., an IEEE 802.1Q specification trunk) between bridge components of two PE devices. This is a departure from the prior art use of PWs as part of VLAN emulation. That is, according to the traditional VPLS model, a full mesh of PWs of a service instance emulates a provider VLAN with respect to the bridge component of a PE device. However, in accordance with the present invention, the VLAN emulation model is discarded and each PW functions like a logical link transport mechanism that carries the provider VLANs. According to the VPLS model of the present invention, each VPLS instance is identified by an extended VLAN (E-VLAN) tag that is generated by CPU 11 of PE device 10. Basically, CPU 11 converts the incoming SP VLAN tag associated with packets arriving at ports 13 into the E-VLAN tag format that is sent across the SP core network.
In one implementation, the E-VLAN tag of
It is appreciated that each of the u-PE and n-PE devices shown in the embodiment of
Note that in accordance with the present invention, the filtering database normally associated with each customer is unchanged; that is, the filtering database is used as before (prior model) for each customer. But instead of using a full mesh of PWs to designate a broadcast domain over the core network (i.e., to emulate a provider VLAN), the E-VLAN mechanism described above is utilized. To limit the broadcast domain associated with a provider VLAN (or VPLS instance) over a set of PWs, a modified version of GARP (Generic Attribute Registration Protocol) VLAN Registration Protocol (GVRP) is run, which modified version is herein referred to as Extended GVRP (E-GVRP), among the PE devices (or n-PE devices only). GVRP is a known application defined in the IEEE 802.1Q standard that allows for the control of 802.1Q VLANs, i.e., 802.1Q-compliant VLAN pruning and dynamic VLAN creation on 802.1Q trunk ports. GVRP basically allows a switch to exchange VLAN configuration information with other GVRP switches, prune unwanted VLANs and their associated broadcast, multicast, and unicast traffic, and dynamically create and manage VLANs on switches connected through 802.1Q trunk ports.
The E-GVRP is essentially a compact GVRP that has a coding used to compress the VLAN information for up to 4K VLANs into a single Ethernet frame. In the E-GVRP, a jumbo Ethernet frame is utilized to carry the information needed for a large number of E-VLANs. Like GVRP, E-GVRP only runs among PE devices (or n-PEs); it does not interfere with and runs independently from each access domain's GVRP. Using E-GVRP each PE device may indicate to other PE devices what VPLS instances (E-VLANs) it is interested in on a given PW. Thus, the other PE devices may operate by only sending traffic from those VLANs over that PW, thereby limiting the scope of broadcast domain for each E-VLAN.
It should be understood that the Multiple VLAN Registration Protocol (MVRP) may also be utilized in conjunction with the present invention in replacement for GVRP for the purposes of auto-discovery and notification of active VLANs.
Each of islands 50 and 70 runs its own Spanning Tree Protocol (STP), or some variant of STP, e.g., MSTP or RSTP. As is well known, switches in a network running STP gather information about other switches in the network through an exchange of control messages called Bridge Protocol Data Units (BPDUs). BPDUs contain information about the transmitting switch and its ports, including its switch and port Media Access Control (MAC) addresses and priorities. The exchange of BPDU messages results in the election of a root bridge on the network, and computation of the best path from each switch to the root switch. To provide path redundancy, STP defines a tree from the root that spans all of the switches in the network, with certain redundant paths being forced into a standby (i.e., blocked) state. If a particular network segment becomes unreachable the STP algorithm reconfigures the tree topology and re-establishes the link by activating an appropriate standby path.
According to one embodiment, link and node level redundancy is achieved by BPDU loopback at the remote n-PE device. In the example shown in
Practitioners will appreciate that the examples of
In addition, since PWs function as a transport mechanism for VPLS identifiers in the present invention, either full or partial meshes may be implemented among the n-PE devices so connected across the core network. In other words, problems caused by partial meshes in the prior art VPLS model are obviated in the present invention since PWs are no longer part of an emulated VLAN. Instead, PWs are used as logical links, which means that bridge protocols may be leveraged to take care of PW failures. The present invention also allows for an efficient recovery mechanism since a single PW failure does not result in a PE failure (as was often the case in the prior art). Furthermore, Ethernet OAM protocol (IEEE 802.1ag) can be readily applied to the VPLS model of the present invention.
It should be understood that elements of the present invention may also be provided as a computer program product which may include a machine-readable medium having stored thereon instructions which may be used to program a computer (e.g., a processor or other electronic device) to perform a sequence of operations. Alternatively, the operations may be performed by a combination of hardware and software. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, elements of the present invention may be downloaded as a computer program product, wherein the program may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a customer or client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
Additionally, although the present invention has been described in conjunction with specific embodiments, numerous modifications and alterations are well within the scope of the present invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
5331637 | Francis et al. | Jul 1994 | A |
5818842 | Burwell et al. | Oct 1998 | A |
5848227 | Sheu | Dec 1998 | A |
6055364 | Speakman et al. | Apr 2000 | A |
6073176 | Baindur et al. | Jun 2000 | A |
6078590 | Farinacci et al. | Jun 2000 | A |
6188694 | Fine et al. | Feb 2001 | B1 |
6301244 | Huang et al. | Oct 2001 | B1 |
6304575 | Carroll et al. | Oct 2001 | B1 |
6308282 | Huang | Oct 2001 | B1 |
6373838 | Law et al. | Apr 2002 | B1 |
6424657 | Voit et al. | Jul 2002 | B1 |
6430621 | Srikanth et al. | Aug 2002 | B1 |
6470025 | Wilson et al. | Oct 2002 | B1 |
6484209 | Momirov | Nov 2002 | B1 |
6502140 | Boivie | Dec 2002 | B1 |
6519231 | Ding et al. | Feb 2003 | B1 |
6611869 | Eschelbeck et al. | Aug 2003 | B1 |
6667982 | Christie et al. | Dec 2003 | B2 |
6668282 | Booth, III et al. | Dec 2003 | B1 |
6732189 | Novaes | May 2004 | B1 |
6763469 | Daniely | Jul 2004 | B1 |
6785232 | Kotser et al. | Aug 2004 | B1 |
6785265 | White et al. | Aug 2004 | B2 |
6789121 | Lamberton et al. | Sep 2004 | B2 |
6798775 | Bordonaro | Sep 2004 | B1 |
6801533 | Barkley | Oct 2004 | B1 |
6813268 | Kalkunte et al. | Nov 2004 | B1 |
6826698 | Minkin et al. | Nov 2004 | B1 |
6829252 | Lewin et al. | Dec 2004 | B1 |
6839348 | Tang et al. | Jan 2005 | B2 |
6850521 | Kadambi et al. | Feb 2005 | B1 |
6850542 | Tzeng | Feb 2005 | B2 |
6852542 | Mandel et al. | Feb 2005 | B2 |
6879594 | Lee et al. | Apr 2005 | B1 |
6882643 | Mauger et al. | Apr 2005 | B1 |
6892309 | Richmond et al. | May 2005 | B2 |
6954436 | Yip | Oct 2005 | B1 |
7009983 | Mancour | Mar 2006 | B2 |
7016351 | Farinacci et al. | Mar 2006 | B1 |
7047304 | Senapati et al. | May 2006 | B2 |
7092389 | Chase et al. | Aug 2006 | B2 |
7113512 | Holmgren et al. | Sep 2006 | B1 |
7116665 | Balay et al. | Oct 2006 | B2 |
7173934 | Lapuh et al. | Feb 2007 | B2 |
7277936 | Frietsch | Oct 2007 | B2 |
7310342 | Rouleau | Dec 2007 | B2 |
7315554 | Baum et al. | Jan 2008 | B2 |
7339929 | Zelig et al. | Mar 2008 | B2 |
7345991 | Shabtay et al. | Mar 2008 | B1 |
7408936 | Ge et al. | Aug 2008 | B2 |
7466703 | Arunachalam et al. | Dec 2008 | B1 |
7693078 | Gonda | Apr 2010 | B2 |
7698456 | Guichard et al. | Apr 2010 | B2 |
7701936 | Hongal et al. | Apr 2010 | B2 |
7843917 | Brockners | Nov 2010 | B2 |
20020032780 | Moore et al. | Mar 2002 | A1 |
20020087721 | Sato et al. | Jul 2002 | A1 |
20020156612 | Schulter et al. | Oct 2002 | A1 |
20020156919 | Maeno | Oct 2002 | A1 |
20020196795 | Higashiyama | Dec 2002 | A1 |
20030012183 | Butler | Jan 2003 | A1 |
20030036375 | Chen et al. | Feb 2003 | A1 |
20030101243 | Donahue et al. | May 2003 | A1 |
20030110268 | Kermarec et al. | Jun 2003 | A1 |
20030112781 | Kermode et al. | Jun 2003 | A1 |
20030142674 | Casey | Jul 2003 | A1 |
20030154259 | Lamberton et al. | Aug 2003 | A1 |
20030177221 | Ould-Brahim et al. | Sep 2003 | A1 |
20040078469 | Ishwar et al. | Apr 2004 | A1 |
20040081171 | Finn | Apr 2004 | A1 |
20040095940 | Yuan et al. | May 2004 | A1 |
20040102182 | Reith et al. | May 2004 | A1 |
20040107382 | Doverspike et al. | Jun 2004 | A1 |
20040125809 | Jeng | Jul 2004 | A1 |
20040133619 | Zelig et al. | Jul 2004 | A1 |
20040141501 | Adams et al. | Jul 2004 | A1 |
20040151180 | Hu et al. | Aug 2004 | A1 |
20040158735 | Roese | Aug 2004 | A1 |
20040165525 | Burak | Aug 2004 | A1 |
20040165600 | Lee | Aug 2004 | A1 |
20040172559 | Luo et al. | Sep 2004 | A1 |
20040213201 | Osterlund | Oct 2004 | A1 |
20040228291 | Huslak et al. | Nov 2004 | A1 |
20040230444 | Holt et al. | Nov 2004 | A1 |
20040233891 | Regan | Nov 2004 | A1 |
20040264364 | Sato | Dec 2004 | A1 |
20050007951 | Lapuh et al. | Jan 2005 | A1 |
20050025143 | Chen et al. | Feb 2005 | A1 |
20050030975 | Wright et al. | Feb 2005 | A1 |
20050044265 | Vinel et al. | Feb 2005 | A1 |
20050063397 | Wu et al. | Mar 2005 | A1 |
20050068972 | Burns et al. | Mar 2005 | A1 |
20050089047 | Ould-Brahim et al. | Apr 2005 | A1 |
20050099949 | Mohan et al. | May 2005 | A1 |
20050152370 | Meehan et al. | Jul 2005 | A1 |
20050157664 | Baum | Jul 2005 | A1 |
20050157751 | Rabie et al. | Jul 2005 | A1 |
20050160180 | Rabjie et al. | Jul 2005 | A1 |
20050163049 | Yazaki et al. | Jul 2005 | A1 |
20050175022 | Nishimura et al. | Aug 2005 | A1 |
20050190773 | Yang et al. | Sep 2005 | A1 |
20050193385 | de Heer et al. | Sep 2005 | A1 |
20050239445 | Karaoguz et al. | Oct 2005 | A1 |
20050249124 | Elie-Dit-Cosaque et al. | Nov 2005 | A1 |
20050265329 | Havala et al. | Dec 2005 | A1 |
20050286503 | Oda et al. | Dec 2005 | A1 |
20060007867 | Elie-Dit-Cosaque et al. | Jan 2006 | A1 |
20060092847 | Mohan et al. | May 2006 | A1 |
20060098607 | Zeng | May 2006 | A1 |
20060109802 | Zelig et al. | May 2006 | A1 |
20060126496 | Filsfils et al. | Jun 2006 | A1 |
20060182037 | Chen et al. | Aug 2006 | A1 |
20060198323 | Finn | Sep 2006 | A1 |
20060248227 | Hato | Nov 2006 | A1 |
20060248277 | Pande | Nov 2006 | A1 |
20060262794 | Livet et al. | Nov 2006 | A1 |
20060285500 | Booth | Dec 2006 | A1 |
20060285501 | Damm | Dec 2006 | A1 |
20070076719 | Allan et al. | Apr 2007 | A1 |
20070133564 | Chun et al. | Jun 2007 | A1 |
20070274321 | Jonsson et al. | Nov 2007 | A1 |
20080062999 | Platnic | Mar 2008 | A1 |
20080144657 | Li | Jun 2008 | A1 |
20080172497 | Mohan et al. | Jul 2008 | A1 |
20090019469 | Foti et al. | Jan 2009 | A1 |
20090129386 | Rune | May 2009 | A1 |
Number | Date | Country |
---|---|---|
WO 03005648 | Jan 2003 | WO |
WO 2005034441 | Apr 2005 | WO |
WO 2007031002 | Mar 2007 | WO |
WO 2008089370 | Jul 2008 | WO |
Number | Date | Country | |
---|---|---|---|
20060245436 A1 | Nov 2006 | US |