Abstract:
A method of operation for a provider edge device of a core network includes receiving a customer frame from an access network; the customer frame having a first Virtual Local Area Network (VLAN) tag of a first predetermined bit length. The first VLAN tag including a service instance identifier. The service instance identifier of the first VLAN tag is then mapped into a second VLAN tag of a second predetermined bit length greater than the first predetermined bit length.

Description:
RELATED APPLICATIONS 
     The present application is related to co-pending application Ser. Nos. 11/117,017 filed Apr. 28, 2005, entitled, “System And Method For DSL Subscriber Identification Over Ethernet Network”; 11/117,250 filed Apr. 28, 2005, entitled, “A Comprehensive Model For VPLS”; 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. 
     FIELD OF THE INVENTION 
     The present invention relates generally to digital computer network technology; more particularly, to methods and apparatus for providing metro Ethernet services. 
     BACKGROUND OF THE INVENTION 
     Ethernet originated based on the idea of peers on a network sending messages in what was essentially a common wire or channel. Each peer has a globally unique key, known as the Media Access Control (MAC) address to ensure that all systems in an Ethernet have distinct addresses. Most modern Ethernet installations use Ethernet switches (also referred to as “bridges”) to implement an Ethernet “cloud” or “island” that provides connectivity to the attached devices. The switch functions as an intelligent data traffic forwarder in which frames are sent to ports where the destination device is attached. Examples of network switches for use in Ethernet network environments are found in U.S. Pat. Nos. 6,850,542, 6,813,268 and 6,850,521. 
     The IEEE 802.1Q specification defines a standard for Virtual Local Area Network (VLAN). Broadcast and multicast frames are constrained by VLAN boundaries such that only devices whose ports are members of the same VLAN see those frames. Since 802.1Q VLANS typically span many bridges across area common network, identification of VLANs is achieved by inserting a tag into the Ethernet frame. For example, according to the existing standard, a 12-bit tag that uniquely identifies a VLAN may be inserted into an Ethernet frame. This VLAN tag may be used to specify the broadcast domain and to identify the customer associated with a particular VLAN. The customer identifier is commonly referred to as the service instance domain since it identifies the service provided for a particular customer. In a service provider (SP) metro Ethernet network, 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. 
     The concept of a broadcast and a service instance domains is illustrated in  FIG. 1 , which shows a SP Metro Ethernet network  10  that includes a plurality of interconnected switches. Three provider edge (PE) devices located on the periphery of network  10  connect with two different customers, respectively represented by customer edge (CE) devices labeled CE 1  and CE 2 . The broadcast domain (i.e., CE 1 ) is shown by the bold, heavy line, which defines the particular switches and the path or span through the switches for traffic sent among the various customer sites. The service instance defines the particular customer associated with a given data packet, e.g., the customer of the CE 1  sites as distinguished from the customer associated with devices CE 2 . Note that in the example of  FIG. 1 , both customers use the same broadcast domain. Traffic associated with a particular customer is uniquely identified by the service instance tag identifier. 
       FIG. 2  shows two data packet formats commonly used for sending frames over a Metro Ethernet network. Data packet format  11  complies with the IEEE 802.1Q specification and includes a customer MAC address field followed by a 12-bit VLAN tag that is used to specify both the broadcast domain and service instance. The customer&#39;s data payload is shown beneath the VLAN tag. (The uppermost portion of the data packet is also frequently referred to as the “outermost” portion, with the lowermost being synonymously referred to as the “innermost” portion.) The 12-bit VLAN tag field means that the IEEE 802.1 Q standard can support a combined total of up to 4,094 broadcast domains and service instance domains. For instance, the IEEE 802.1Q standard can support 4,094 broadcast domains, each corresponding to a single service instance domain or a single broadcast domain with 4,094 service instance domains. By way of further example, U.S. Pat. No. 6,430,621 teaches a method and apparatus that provides for grouping nodes in multiple VLANs using port-based VLAN grouping using IEEE 802.1Q based frame tagging. 
     Data packet format  12  corresponds to the proposed IEEE 802.1 ad specification that supports so-called “Q-in-Q” encapsulation, or tag stacking mechanism. According to this draft standard, each data packet includes an upper (i.e., outer) 12-bit tag that designates one of up to 4,094 broadcast domains (or VLANs), and a lower (i.e., inner) tag that identifies one of up to 4,094 service instances. The proposed IEEE 802.1 ad standard thus alleviates some of the capacity limitations inherent in the IEEE 802.1Q standard by permitting each broadcast domain (each VLAN) to include up to 4,094 service instances. However, although the 802.1 ad draft standard is capable of satisfying many multipoint applications, it remains inadequate for point-to-point applications where a single device can multiplex/de-multiplex tens of thousands or hundreds of thousands of service instances within a single broadcast domain. Furthermore, the number of broadcast domains in Metro Area Network (MAN)/WAN applications can easily exceed the 4K limit. In addition, there are certain applications that require the end-user MAC addresses and/or the end-user&#39;s Frame Check Sum (FCS) to be tunneled through the MAN/WAN Ethernet network, a feature which is unsupported by the 802.1ad proposal. 
     Nortel Networks Corporation has proposed an approach known as “MAC-in-MAC” that attempts to solve the drawbacks inherent in the prior art. The Nortel proposal, however, is based on a flat VLAN domain (i.e., no VLAN tag stacking) and has a number of disadvantages. First, the MAC-in-MAC approach does not differentiate between broadcast domains and service instance domains; therefore, if the number of service instances is substantially larger than the required number of broadcast domains, the network nodes (i.e., switches, bridges, routers, etc.) will be burdened with supporting as many broadcast domains as there are service instances. Since more hardware/software intensive resources are needed to support a broadcast domain than a service instance, bandwidth suffers and network costs increase. Additionally, the MAC-in-MAC approach lacks inter-operability with 802.1 ad bridges; lacks a feasible implementation capable of supporting millions of broadcast domains; and requires that all bridges within the network have the MAC-in-MAC capability, not just the edge bridges. 
     By way of further background, U.S. Pat. No. 6,789,121 discloses a method of providing a Virtual Private Network (VPN) service through a shared network infrastructure comprising interconnected PE devices having CE interfaces. Some of the CE interfaces are allocated to a VPN supporting a plurality of VLANs and are arranged for exchanging traffic data units with respective CE devices, each traffic data unit including a VLAN identifier. A virtual connection (VC) in the shared network infrastructure is directly derived from a known VPN identifier and a VLAN identifier known or discovered by a PE device. U.S. Pat. No. 6,484,209 teaches a system configured to forward multicast data based upon a first set of correlation data, wherein a first set of correlation data maps multicast group identifiers to ports that are members of the corresponding multicast groups. The switch core includes a second set of correlation data which maps multicast group identifiers to I/O cards that include member ports. 
     Thus, there is a need for alternative methods and apparatus that would accommodate the ever expanding number of broadcast domains and service instances of MAN/WAN Ethernet Networks while overcoming the shortcomings of past approaches. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       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. 
         FIG. 1  is diagram of a service provider network used to interconnect plurality of customer sites. 
         FIG. 2  illustrates two different prior art data packet formats. 
         FIG. 3  shows one embodiment of the extended VLAN format of the present invention. 
         FIG. 4  illustrates the use of the extended VLAN mechanism as a service instance identifier according to one embodiment of the present invention. 
         FIG. 5  illustrates the use of the extended VLAN mechanism as a service instance identifier according to another embodiment of the present invention. 
         FIG. 6  illustrates the use of the extended VLAN mechanism as a service instance identifier according to still another embodiment of the present invention. 
         FIG. 7  illustrates the use of the extended VLAN mechanism as both a broadcast domain identifier and a service instance identifier according to one embodiment of the present invention. 
         FIG. 8  illustrates the use of the extended VLAN mechanism as both a broadcast domain identifier and a service instance identifier according to another embodiment of the present invention. 
         FIG. 9  illustrates the use of the extended VLAN mechanism as both a broadcast domain identifier and a service instance identifier according to yet another embodiment of the present invention. 
         FIG. 10  is a generalized circuit schematic block diagram of a network node. 
     
    
    
     DETAILED DESCRIPTION 
     An extended VLAN (E-VLAN) mechanism that can differentiate between broadcast domains and service instance domains, and expands the number of broadcast domains and service instance domains in Ethernet MAN/WAN applications 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. 
     As shown in  FIG. 10 , each node  50  typically comprises a number of basic subsystems including a processor subsystem  51 , a main memory  52  and an input/output (I/O) subsystem  55 . Data is transferred between the main memory (“system memory”)  52  and processor subsystem  51  over a memory bus  53 , and between the processor and I/O subsystems over a system bus  56 . Examples of the system bus may include the conventional lightning data transport (or hyper transport) bus and the conventional peripheral component interconnect (PCI) bus. Node  50  may also comprise other hardware (H/W) units/modules  54  coupled to system bus  56  for performing additional functions. Processor subsystem  51  may comprise a single-chip processor and system 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. 
       FIG. 3  shows the E-VLAN tag format in accordance with one embodiment of the present invention. An Ethertype associated with the E-VLAN may be used to identify this extended tag in an Ethernet frame. A key feature of the E-VLAN tag format is a 20-bit VLAN ID/Service ID field that allows identification, in certain applications, of up to one million different service instances. Also included is a 4-bit Class of Service (CoS) field, a Discard eligible (D) bit, a FCS (F) bit, a customer MAC address encapsulation (M) bit, and a stack (S) bit that indicates that VLAN stacking is utilized in the data packet format. Setting of the M bit indicates the entire customer frame, including the customer&#39;s MAC address, is encapsulated in the Ethernet frame. In cases where the M bit is set, the provider MAC address is used for tunneling through the SP network. These latter two features will be discussed in more detail below. 
     As will become apparent shortly, the E-VLAN tag mechanism can be used in many different applications. For instance, when the E-VLAN tag is utilized as a service instance identifier, the E-VLAN tag may be embedded within an IEEE 802.1 ad frame, replacing the inner tag normally associated with an 802.1ad frame. In such applications, there can be 4,094 broadcast domains, with each broadcast domain supporting up to one million service instances. In applications where a given service instance requires its own broadcast domain (i.e., one-to-one correspondence) a single E-VLAN tag may be utilized as both the broadcast domain identifier and the service instance identifier. In such applications, the E-VLAN tag is the only tag in the Ethernet frame. 
     In still other cases, two E-VLAN tags may be utilized (i.e., one as the broadcast domain and the other one as service instance domain identifiers). In such applications, the E-VLAN tag is nested such that the outer tag represents the broadcast domain and the inner tag represents the service instance. Examples of these types of applications include situations where there are tens of thousands of broadcast domains, where each broadcast domain has up to one million service instances. Note that in applications where the E-VLAN tag is nested, a single Ethertype may be used, and the S bit will be set to indicate tag stacking. 
     The extended E-VLAN tag of the present invention can also be used to indicate if the Ethernet frame contains end-user&#39;s FCS, for applications where FCS retention is required, as well as to identify when the Ethernet frame contains the end-user&#39;s MAC addresses, for applications where MAC tunneling is required. 
       FIG. 4  illustrates use of the extended VLAN mechanism as a service instance identifier across an Ethernet Service provider network in accordance with one embodiment of the present invention. The service provider network of  FIG. 4  includes an Ethernet core network  20  that is shown connected to a pair of Ethernet access networks  21  &amp;  22  via network provider edge (n-PE) devices  32  &amp;  33 , respectively. User-facing provider edge (u-PE) devices  31  &amp;  34  connect respective customer edge (CE) devices  41  &amp;  42  to Ethernet access networks  21  &amp;  22 . Data packet format diagrams are shown under each corresponding network connection extending between CE devices  41  and  42 . 
     According to the embodiment of  FIG. 4 , a customer frame sent by CE device  41  arrives at u-PE device  31  with a data packet format consistent with the IEEE 802.1Q specification, which format includes a customer MAC header, a customer VLAN tag, a Layer 2 protocol data unit (L2PDU) customer payload, and a customer FCS. In this example, access network  21  is a Q-in-Q network such that, when the customer frame arrives, u-PE device  31  adds another 12-bit VLAN tag that identifies the service instance and broadcast domain for connections across network  21 . When the data packet arrives at the edge of core network  20 , n-PE device  32  appends the data packet by taking the service instance identifier received from u-PE device  31  and mapping it to an E-VLAN (20-bit) tag. A separate VLAN tag may also be added on top of the E-VLAN at this point to specify the broadcast domain spanning core network  20 . (Practitioners in the networking arts will understand that the broadcast domain through core network  20  is separate and distinct from the broadcast domains of access networks  21  and  22 .) 
     Traffic traversing the right-hand side of the diagram of  FIG. 4  (from core network  20  to CE device  42 ) follows the reverse process. That is, n-PE device  33  strips the VLAN (broadcast) and E-VLAN (service) tags from the received data packets; mapping the 20-bit E-VLAN service instance identifier to a 12-bit VLAN that specifies the broadcast domain and service instance domain for access network  22 . Similarly, u-PE device  34  strips the VLAN (broadcast &amp; service) from the Q-in-Q data packet before forwarding to CE device  42 . 
     It is appreciated that each of the u-PE and n-PE devices shown in the embodiment of  FIG. 4  are configured to both append frames (adding the appropriate tags) headed in the direction from the CE device toward core network  20 , and to strip frames (removing the appropriate tags) headed in the direction from core network  20  to the CE device. In other words, the switches at the edge of the core and access networks are capable of handling both ingress and egress data traffic in the manner described above. By way of example, processing of the frames to add/drop tag fields may be performed by a software routine running on the central processing unit (CPU) associated with the corresponding provider edge device. 
     Note that in the embodiment shown in  FIG. 4 , data packets in the Ethernet core network  20  include a SP MAC header added by the n-PE device which encapsulates the customer MAC address. Encapsulation of MAC addresses in this manner is known as MAC tunneling, and provides a mechanism for insuring that the customer&#39;s MAC addresses are not learned (i.e., they remain invisible) in all switches within core network  20 . Practitioners in the networking arts will appreciate that the embodiment of  FIG. 4  is useful in applications that rely upon devices in core network  20  that are limited to operating on a 12-bit tag. The core switches will only see the upper tag, with the lower tag, i.e., the E-VLAN tag (service), being processed by n-PE devices only. 
     The embodiment of  FIG. 5  is similar to that shown in  FIG. 4 , but without MAC tunneling in the core. Instead of an Ethernet core network,  FIG. 5  shows how the E-VLAN tag of the present invention may be used across a Multi-protocol label switching (MPLS)/Internet Protocol (IP) core network  50 . Because the core is MPLS/IP, the customer&#39;s MAC addresses are not visible in the SP core network. In this example, on the ingress side n-PE device  32  operates to map the service instance identifier of the 12-bit VLAN tag of access network  21  to a 20-bit E-VLAN tag identifying the service instance for connections across core  50 . On the egress side, n-PE device  33  maps the 20-bit E-VLAN tag back down to a 12-bit VLAN that identifies both the broadcast domain and service domain for access network  22 . As can be seen, the core data packets also include an Ethernet over MPLS (EoMPLS) header for IP encapsulation across core network  50 . 
     Turning now to  FIG. 6 , use of the E-VLAN mechanism according to another embodiment of the present invention is shown. In this embodiment, encapsulation of the customer&#39;s MAC address and generation of the E-VLAN tags occurs in access networks, i.e., at the u-PE device rather than at the n-PE devices of core network  20 . In other words, the E-VLAN tag is again used as a 20-bit service instance identifier, but instead of performing the operations of adding and dropping the E-VLAN tags at n-PE devices  32  &amp;  33 , those operations are performed by u-PE devices  31  &amp;  34 . In other words, in the example of  FIG. 6 , u-PE device  31  adds the service instance E-VLAN and broadcast domain VLAN tags to each of the customer&#39;s frames prior to forwarding them across access network  21 . Note that the customer frame is also encapsulated inside of the u-PE MAC header. 
     The E-VLAN tag remains unchanged through core network  20  and access network  22 . However, it is appreciated that the VLAN tag designating the broadcast domain in access network  21  differs from the broadcast domain VLAN tag in core network  20 , which also differs from the VLAN designating the broadcast domain in access network  22 . That is, the only thing that n-PE devices  32  &amp;  33  change in the data packets is the upper VLAN tag that defines the scope of the broadcast domain. 
       FIG. 7  illustrates the use of the extended VLAN mechanism as both a broadcast domain identifier and a service instance identifier according to another embodiment of the present invention. Whereas in the previous examples, the E-VLAN tag is used to identify the service instance domain (i.e., the customer), in the example of  FIG. 7 , the E-VLAN tag designates both the broadcast domain and the service instance domain through Ethernet core network  20 . The embodiment of  FIG. 7  is therefore similar to that shown in  FIG. 4 , but without the additional VLAN (broadcast) added by n-PE device  32  in the core. 
       FIG. 8  illustrates the use of the extended VLAN mechanism as both a broadcast domain identifier and a service instance identifier with MAC tunneling according to still another embodiment of the present invention. This embodiment is similar to that shown in  FIG. 6 , but instead of stacked VLAN (broadcast) and E-VLAN (service) tags in the access networks  21  &amp;  22 , in  FIG. 8  the broadcast domain and service instance domain identifiers are both included in a single 20-bit E-VLAN tag that is added by u-PE device  31  (for traffic flowing left-to-right from CE device  41  to CE device  42 ) or u-PE device  34  (for traffic flowing right-to-left from CE device  42  to CE device  41 ). 
     The embodiment of  FIG. 9  illustrates the use of the extended VLAN mechanism as both a broadcast domain identifier and a service instance identifier with MAC tunneling according to yet another embodiment of the present invention. This embodiment is basically the same as that shown in  FIG. 8 , except that instead of a single E-VLAN tag for both the broadcast domain and service instance identifiers, two stacked E-VLAN tags are utilized. The upper E-VLAN designates the broadcast domain and the lower E-VLAN identifies the service instance in the access domain. As before, the broadcast domain E-VLAN is changed by the n-PE device to define the devices and path through core network  20 , while the lower E-VLAN (service) remains unchanged by n-PE devices  32  &amp;  33 . 
     It should also 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.