The present invention relates generally to the field of network communication. More specifically, the present invention relates to a method and a system for maintaining priority of virtual local area network (VLAN) traffic across connection-oriented networks.
A VLAN is a local area network that maps workstations or nodes on a basis other than geographic location (for example, by department, type of user, or primary application). VLANs are used to regulate the access of information among nodes that reside in different multiple networks. Although these networks are physically connected, logically they are separate.
VLAN traffic is generated by multiple different applications. Some of these applications are mission critical applications and demand higher priority of service than other applications. VLANs can be implemented in an Ethernet network by inserting a VLAN tag into an Ethernet frame. Originally, an Ethernet frame is defined to have a minimum frame size of 64 bytes and a maximum frame size of 1518 bytes. The maximum allowable frame size is extended by four (4) bytes to 1522 bytes to allow insertion of the VLAN tag. Of these four (4) bytes, the last two bytes or 16 bits are used as follows: the first three (3) bits are used as a priority field to assign a priority level to the Ethernet frame, the next one (1) bit is used to indicate the presence of a routing information field (RIF), the last 12 bits are used as a VLAN identifier (VID) field that uniquely identifies the VLANs to which the Ethernet frame belongs. Each VLAN gets a unique network number or identifier (using the VID field).
Referring to
The network 100 may be a connection-oriented network such as, for example, an Asynchronous Transfer Mode (ATM) network and Multi-Protocol Label Switching (MPLS) network. In a connection-oriented network, there may be different type of services (e.g., bandwidth, jitter, delay, etc.) to handle different types of traffic (e.g., voice, video, data, etc.). The type of service is established at the time that the connection is made. For example, in the ATM network, the ATM Forum has defined four quality-of-service types of service that are architected to handle the different types of traffic. These types of service include Constant Bit Rate (CBR), Variable Bit Rate (VBR), Unspecified Bit Rate (UBR), Guaranteed Frame Rate (GFR), and Available Bit Rate (ABR).
CBR is a reserved bandwidth service. A contract is established between the network and the end station. The end station provides the network with parameters describing the traffic for that specific connection at call setup time. The network, in turn, allocates resources that match the parameters. VBR is also a reserved bandwidth service. The network allocates resources to the end station at call setup time in response to the traffic parameters requested by the end station. In the case of VBR, however, in addition to a peak rate, a sustainable rate and a maximum burst size are established. The sustainable rate is the upper limit of the average rate, and the maximum burst rate limits the duration of cell transmission at peak rate. GFR provides a rate guarantee for application traffic across networks. UBR is a non-reserved bandwidth service. The cell loss is unspecified, which means that the network is not required to provide resources for a proposed UBR connection. ABR is a mix of reserved and non-reserved bandwidth service. Periodically, a connection polls the network and, based upon the feedback it receives, adjusts its transmission rate.
As described above, the three bits priority field in the VLAN tag is used as a priority field to assign a priority level to the Ethernet frame. When, however, these Ethernet frames are sent across a connection-oriented network such as the ATM network 100, one connection is used. The quality of service of this connection may be CBR, VBR, GFR, UBR, or ABR. Using the above example, all Ethernet frames transmitted by the node 110 to the node 125 are transferred from the switch 106 to the switch 108 using the same connection having the same ATM quality of service. A connection is identified by its VPI/VCI. VPI is a virtual path identifier that identifies a path that an ATM cell will take. VCI is a virtual channel identifier that identifies a channel within the path that the ATM cell will take to reach its destination.
Because the same connection is used, the priority values in the VLAN tags of the Ethernet frames are not considered. As such, Ethernet frames having higher priority are treated the same by the ATM network 100 as Ethernet frames having lower priority.
A method of delivering virtual local area network (VLAN) frames across a connection-oriented network is disclosed. For one embodiment, VLAN identifications (VIDs) used in a local area network (LAN) are identified. The LAN is connected to a connection-oriented wide area network (WAN). Each VLAN supports multiple priorities. For each VID, each of the priorities is mapped to a service type available in the WAN. Virtual connections (VCs) are set up based using a combination of the VID and the mapping of the priorities to the service types.
Other features and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.
The present invention is illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which like references indicate similar elements and in which:
For one embodiment, a method and a system for transmitting prioritized Virtual Local Area Network (VLAN) traffic across a connection-oriented network is disclosed. Supported VLAN priorities are mapped to appropriate virtual connections (VC) before the VLAN traffic enters the network. Traffic from each virtual connection is mapped into VLAN traffic when it exits the network.
The VLAN tag includes a three-bit priority field that allows for prioritization of VLAN traffic over the Ethernet LANs. The VLAN tag allows a device to establish up to eight priority values in identifying traffic for a specific VLAN. For example, when a frame is received, it is prioritized based on the VLAN it belongs to or based on the priority field it contains and placed in appropriate queue. The frames having the highest priority are emptied first from the queue. More important VLAN traffic (e.g., real time traffic) is given higher priority value than less important VLAN traffic (e.g., email).
Typically in the prior art, the VLAN traffic is transmitted across a connection-oriented network using one connection. The transmission priority of the VLAN traffic is thus dependent on the quality of service associated with that connection. Higher priority VLAN traffic is treated the same as lower priority VLAN traffic. For one embodiment of the present invention, multiple virtual connections are used to give the VLAN traffic different quality of service corresponding to the different VLAN priority values. For example, VLAN traffic having a highest priority value may be sent across a virtual connection (VC) set up with a constant bit rate (CBR) quality of service. VLAN traffic having a next highest priority value may be sent across a VC set up with a variable bit rate (VBR).
The multiple virtual connections allow the VLAN traffic to be treated with different quality of service corresponding to the different VLAN priority values. When the Ethernet VLAN traffic arrives on an ingress line card of a switch, the frames are mapped into different classes of service based on the VLAN priority value. For the same VID, based on the three-bit VLAN priority value, frames are mapped into dedicated ATM connections. Each of these ATM connections is mapped to different classes of service. Note that the types of service offered by the connection-oriented network may not match exactly with the number of priority values defined in the VLAN. Thus, having multiple virtual connections enables the prioritized VLAN traffic to be transmitted across the network using different classes of service.
When the switch 320 receives an Ethernet frame, the switch 320 looks at the VLAN tag (including the VID and the priority field) and maps the Ethernet frame to the appropriate virtual connection. The VLAN traffic may cross multiple switches (e.g., switches 320, 325, 330) before it arrives at the destination network 315. Depending on how the VLAN is setup in the network 315, the VLAN traffic is then mapped by the switch 330 from the virtual connections to the Ethernet frame as defined by the network 315.
The column under the heading “VPI/VCI” lists the different VCs for the VLAN traffic to be mapped to. For example, box 405 shows the VLAN traffic having the VID=3 and the priority value=2 is mapped to the VC where the VPI/VCI=10/102. Similarly, box 410 shows the VLAN traffic having the VID=8 and the priority value=5 is mapped to the VC where the VPI/VCI=11/105. The column under the heading “Quality of Service” lists the different types of service including CBR, VBR, UBR and ABR. Using this table, VLAN traffic having the VLAN ID=3 may be sent to any one of the four (4) possible VCs depending on the corresponding VLAN priority value. Similarly, VLAN traffic having the VLAN ID=8 may be sent to any one of the eight (8) possible VCs depending on the corresponding VLAN priority value. Generally, higher priority VLAN traffic is sent to a VC associated with a more reliable type of service.
The VLAN ID may be different in each Ethernet LAN segment even though the nodes may belong to the same VLAN. Using the example described above with
The column under the heading “VLAN ID#2” lists the different VLAN IDs for VLAN traffic leaving the network. In this example, there are two VLANs having the VLAN IDs of five (5) and two (2) respectively. Note that the column under the second “priority” heading lists the same priority values as those listed in the column under the first “priority” heading. Using this translation table, the VLAN traffic from a source node can be sent across a network and delivered to an intended destination node even though the VLAN ID of the source node and of the destination node may be different. For example, box 505 indicates that a source VLAN traffic having the VID=8 and the priority value=5 is sent across a network and delivered to a destination having the VID=2 and the priority value=5.
At a destination end point, a reverse of the VLAN-to-virtual connection mapping process is performed based on the mapping information used at the source end point. For example, referring to
Execution of the sequences of instruction 762 causes the processing unit 742 to perform operations according to the present invention. The instructions 762 may be loaded into the main memory 746 from a storage device or from one or more other digital processing systems (e.g. a server computer system) over a network 770 using network interface device 758. In other cases, the instructions 762 may not be performed directly or they may not be directly executable by the processing unit 742. Under these circumstances, the executions may be executed by causing the processing unit 742 to execute an interpreter that interprets the instructions 762, or by causing the processing unit 742 to execute instructions which convert the received instructions 762 to instructions which can be directly executed by the processor.
For other embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the digital processing system 740.
Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention as set forth in the claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
5684800 | Dobbins et al. | Nov 1997 | A |
5742604 | Edsall et al. | Apr 1998 | A |
5825772 | Dobbins et al. | Oct 1998 | A |
5878043 | Casey | Mar 1999 | A |
5892912 | Suzuki et al. | Apr 1999 | A |
6104700 | Haddock et al. | Aug 2000 | A |
6172980 | Flanders et al. | Jan 2001 | B1 |
6175569 | Ellington et al. | Jan 2001 | B1 |
6208649 | Kloth | Mar 2001 | B1 |
6430621 | Srikanth et al. | Aug 2002 | B1 |
6470025 | Wilson et al. | Oct 2002 | B1 |
6654347 | Wiedeman et al. | Nov 2003 | B1 |
6757298 | Burns et al. | Jun 2004 | B1 |
6765914 | Jain et al. | Jul 2004 | B1 |
6798775 | Bordonaro et al. | Sep 2004 | B1 |
6862280 | Bertagna | Mar 2005 | B1 |
6865153 | Hill et al. | Mar 2005 | B1 |
6937576 | Di Benedetto et al. | Aug 2005 | B1 |
20020101868 | Clear et al. | Aug 2002 | A1 |
20020107955 | Rawson, III | Aug 2002 | A1 |
20050025160 | Meier et al. | Feb 2005 | A1 |
20050259597 | Benedetto et al. | Nov 2005 | A1 |