Information About IEEE 802.1Q Tunneling
The IEEE 802.1Q Tunneling feature is designed for service providers who carry traffic of multiple customers across their networks and are required to maintain the VLAN and Layer 2 protocol configurations of each customer without impacting the traffic of other customers.
IEEE 802.1Q Tunnel Ports in a Service Provider Network
IEEE 802.1Q tunnel ports are a type of network port used in service-provider networks that:
-
preserve customer VLAN IDs through a VLAN-in-VLAN hierarchy,
-
segregate traffic for multiple customers within the same service-provider network, and
-
expand VLAN space by retagging customer-tagged packets with a metro tag.
Metro tag:
An outer IEEE 802.1Q tag added to encapsulate packets entering the service-provider network, uniquely identifying customer traffic.
Tunnel port:
A port configured to use IEEE 802.1Q tunneling, connecting customer devices to the service-provider edge device.
Business customers of service providers often have specific requirements for VLAN IDs and the number of VLANs to be supported. The VLAN ranges required by different customers in the same service-provider network might overlap, and traffic of customers through the infrastructure might be mixed. Assigning a unique range of VLAN IDs to each customer would restrict customer configurations and could easily exceed the VLAN limit (4096) of the IEEE 802.1Q specification.
Using the IEEE 802.1Q tunneling feature, service providers can use a single VLAN to support customers who have multiple VLANs. Customer VLAN IDs are preserved, and traffic from different customers is segregated within the service-provider network, even when they appear to be in the same VLAN. Using IEEE 802.1Q tunneling expands VLAN space by using a VLAN-in-VLAN hierarchy and retagging the tagged packets. A port configured to support IEEE 802.1Q tunneling is called a tunnel port. When you configure tunneling, you assign a tunnel port to a VLAN ID that is dedicated to tunneling. Each customer requires a separate service-provider VLAN ID, but that VLAN ID supports all of the customer’s VLANs.
Customer traffic tagged in the normal way with appropriate VLAN IDs comes from an IEEE 802.1Q trunk port on the customer device and into a tunnel port on the service-provider edge device. The link between the customer device and the edge device is asymmetric because one end is configured as an IEEE 802.1Q trunk port, and the other end is configured as a tunnel port. You assign the tunnel port interface to an access VLAN ID that is unique to each customer.
Packets coming from the customer trunk port into the tunnel port on the service-provider edge device are normally IEEE 802.1Q-tagged with the appropriate VLAN ID. The tagged packets remain intact inside the device and when they exit the trunk port into the service-provider network, they are encapsulated with another layer of an IEEE 802.1Q tag (called the metro tag) that contains the VLAN ID that is unique to the customer. The original customer IEEE 802.1Q tag is preserved in the encapsulated packet. Therefore, packets entering the service-provider network are double-tagged, with the outer (metro) tag containing the customer’s access VLAN ID, and the inner VLAN ID being that of the incoming traffic.
When the double-tagged packet enters another trunk port in a service-provider core device, the outer tag is stripped as the device processes the packet. When the packet exits another trunk port on the same core device, the same metro tag is again added to the packet.
When the packet enters the trunk port of the service-provider egress device, the outer tag is again stripped as the device internally processes the packet. However, the metro tag is not added when the packet is sent out the tunnel port on the edge device into the customer network. The packet is sent as a normal IEEE 802.1Q-tagged frame to preserve the original VLAN numbers in the customer network.
In the above network figure, Customer A was assigned VLAN 30, and Customer B was assigned VLAN 40. Packets entering the edge device tunnel ports with IEEE 802.1Q tags are double-tagged when they enter the service-provider network, with the outer tag containing VLAN ID 30 or 40, appropriately, and the inner tag containing the original VLAN number, for example, VLAN 100. Even if both Customers A and B have VLAN 100 in their networks, the traffic remains segregated within the service-provider network because the outer tag is different. Each customer controls its own VLAN numbering space, which is independent of the VLAN numbering space used by other customers and the VLAN numbering space used by the service-provider network.
At the outbound tunnel port, the original VLAN numbers on the customer’s network are recovered. It is possible to have multiple levels of tunneling and tagging, but the device supports only one level in this release.
If traffic coming from a customer network is not tagged (native VLAN frames), these packets are bridged or routed as normal packets. All packets entering the service-provider network through a tunnel port on an edge device are treated as untagged packets, whether they are untagged or already tagged with IEEE 802.1Q headers. The packets are encapsulated with the metro tag VLAN ID (set to the access VLAN of the tunnel port) when they are sent through the service-provider network on an IEEE 802.1Q trunk port. The priority field on the metro tag is set to the interface class of service (CoS) priority configured on the tunnel port. (The default is zero if none is configured.)
On switches, because 802.1Q tunneling is configured on a per-port basis, it does not matter whether the switch is a standalone device or a member switch. All configuration is done on the active switch.
Native VLANs
When configuring IEEE 802.1Q tunneling on an edge device, you must use IEEE 802.1Q trunk ports for sending packets into the service-provider network. However, packets going through the core of the service-provider network can be carried through IEEE 802.1Q trunks, ISL trunks, or nontrunking links. When IEEE 802.1Q trunks are used in these core devices, the native VLANs of the IEEE 802.1Q trunks must not match any native VLAN of the nontrunking (tunneling) port on the same device because traffic on the native VLAN would not be tagged on the IEEE 802.1Q sending trunk port.
In the following network figure, VLAN 40 is configured as the native VLAN for the IEEE 802.1Q trunk port from Customer X at the ingress edge switch in the service-provider network (Switch B). Switch A of Customer X sends a tagged packet on VLAN 30 to the ingress tunnel port of Switch B in the service-provider network, which belongs to access VLAN 40. Because the access VLAN of the tunnel port (VLAN 40) is the same as the native VLAN of the edge switch trunk port (VLAN 40), the metro tag is not added to tagged packets received from the tunnel port. The packet carries only the VLAN 30 tag through the service-provider network to the trunk port of the egress-edge switch (Switch C) and is misdirected through the egress switch tunnel port to Customer Y.
These are some ways to solve this problem:
-
Use the switchport trunk native vlan tag per-port command and the vlan dot1q tag native global configuration command to configure the edge switches so that all packets going out an IEEE 802.1Q trunk, including the native VLAN, are tagged. If the switch is configured to tag native VLAN packets on all IEEE 802.1Q trunks, the switch drops untagged packets, and sends and receives only tagged packets.
Note:
vlan dot1q tag native global command needs to be enabled to execute the switchport trunk native vlan tag command.
-
Ensure that the native VLAN ID on the edge switches trunk port is not within the customer VLAN range. For example, if the trunk port carries traffic of VLANs 100 to 200, assign the native VLAN a number outside that range.
IEEE 802.1Q tunneling features and compatibility
IEEE 802.1Q tunneling is utilized for Layer 2 packet switching but certain incompatibilities exist with Layer 3 features. Below is a structured reference for IEEE 802.1Q tunneling:
Incompatibility Issues:
-
Routing Support: Tunnel ports cannot be routed. IP routing is unsupported on VLANs with tunnel ports.
-
Fallback Bridging: Unsupported on tunnel ports, treating IP packets improperly.
-
IP ACLs & Layer 3 QoS: Not applicable on tunnel ports; MAC-based QoS is supported.
Compatibility with Other Protocols:
-
EtherChannel Port Groups: Compatible if IEEE 802.1Q is consistent across groups.
-
PAgP, LACP, UDLD: Supported on tunnel ports.
-
Dynamic Trunking Protocol (DTP): Not compatible; requires manual configuration of links.
-
VLAN Trunking Protocol (VTP): Ineffective across asymmetrical links and tunnels.
Additional Features and Protocol Support:
-
BPDU Filtering: Enabled automatically on tunnel ports.
-
Cisco Discovery Protocol (CDP): Disabled automatically.
-
Loopback Detection: Supported feature.
-
IGMP/MLD Forwarding: Can be enabled by disabling snooping on the provider network.
-
SPAN Configuration: Span filter application needed when tunnel ports are SPAN sources.
-
Routing Support: Tunnel ports cannot be routed; IP routing is unsupported on VLANs with tunnel ports.
-
Fallback Bridging: Unsupported on tunnel ports, treating IP packets improperly.
-
IP ACLs & Layer 3 QoS: Not applicable on tunnel ports; MAC-based QoS is supported.
Compatibility with Other Protocols:
-
EtherChannel Port Groups: Compatible if IEEE 802.1Q is consistent across groups.
-
PAgP, LACP, UDLD: Supported on tunnel ports.
-
Dynamic Trunking Protocol (DTP): Not compatible; requires manual configuration of links.
-
VLAN Trunking Protocol (VTP): Ineffective across asymmetrical links and tunnels.
Additional Features and Protocol Support:
-
BPDU Filtering: Enabled automatically on tunnel ports.
-
Cisco Discovery Protocol (CDP): Disabled automatically.
-
Loopback Detection: Supported feature.
-
IGMP/MLD Forwarding: Can be enabled by disabling snooping on the provider network.
-
SPAN Configuration: Span filter application needed when tunnel ports are SPAN sources.
Feedback