Information About Any Transport over MPLS
This section includes the following topics:
Any Transport over MPLS
Any Transport over MPLS (AToM) accommodates different types of Layer 2 packets, including Ethernet and VLAN, to enable the service provider to transport different types of traffic over the backbone and accommodate all types of customers. AToM adheres to the standards developed for transporting Layer 2 packets over MPLS. Other Layer 2 solutions are proprietary, which can limit the service provider’s ability to expand the network and can force the service provider to use only one vendor’s equipment. Upgrading to AToM is transparent to the customer. Because the service provider network is separate from the customer network, the service provider can upgrade to AToM without disruption of service to the customer.
The successful transmission of the Layer 2 frames between PE devices is due to the configuration of the PE devices. You can set up the connection, called a pseudowire, between the routers and specify the following information on each PE device:
- The type of Layer 2 data to be transported across the pseudowire, such as Ethernet or VLAN.
- The IP address of the loopback interface of the peer PE device, which enables PE devices to communicate.
- A unique combination of peer PE IP address and virtual circuit (VC) ID that identifies the pseudowire.
AToM encapsulates Layer 2 frames at the ingress provider edge (PE) and sends them to a corresponding PE at the other end of a pseudowire. The egress PE removes the encapsulation and sends out the Layer 2 frame.
Ethernet over MPLS
Any Transport over MPLS (AToM) supports Ethernet over MPLS (EoMPLS) in two modes: VLAN and port mode.
A VLAN is a switched network that is logically segmented by functions, project teams, or applications regardless of the physical location of users. EoMPLS allows you to connect two VLAN networks that are in different locations. You must configure the provider edge (PE) devices at each end of the MPLS backbone and add a point-to-point virtual circuit (VC). Only the two PE devices at the ingress and egress points of the MPLS backbone know about the VCs dedicated to transporting Layer 2 VLAN traffic. All other devices do not have table entries for those VCs. EoMPLS in VLAN mode transports Ethernet traffic from a source 802.1Q VLAN to a destination 802.1Q VLAN over a core MPLS network.
Port mode allows a frame coming into an interface to be packed into an MPLS packet and transported over the MPLS backbone to an egress interface. The entire Ethernet frame without the preamble or frame check sequence (FCS) is transported as a single packet. Each interface is associated with one unique pseudowire VC label.
Ethernet Remote Port Shutdown
Ethernet remote port shutdown allows a service provider edge (PE) device on the local end of an Ethernet over MPLS (EoMPLS) pseudowire to detect a remote link failure and cause the shutdown of the Ethernet port on the local customer edge (CE) device. Because the Ethernet port on the local CE device is shut down, the device does not lose data by continuously sending traffic to the failed remote link. This process is beneficial if the link is configured as a static IP route.
Estimating Packet Sizes
The following calculation helps you to determine the size of the packets that travel through the core network. You must set the maximum transmission unit (MTU) on the core-facing interfaces of the provider (P) and provider edge (PE) devices to accommodate packets of the calculated size. The MTU should be greater than or equal to the total bytes of the items in the following equation:
Core MTU > = (Edge MTU + Transport header + AToM header + (MPLS label stack * MPLS label size)), where the following definitions apply:
- The edge MTU is the MTU for customer-facing devices.
- The Transport header depends on the transport type. The table below lists the specific sizes of the headers.
|
|
Ethernet VLAN |
18 bytes |
Ethernet port |
14 bytes |
- The AToM header is 4 bytes (control word).
- The MPLS label stack size depends on the configuration of the core MPLS network:
– AToM uses one MPLS label to identify the AToM VCs (VC label). Therefore, the minimum MPLS label stack is one for directly connected AToM PEs, which are PE devices that do not have a P router between them.
– If the Label Distribution Protocol (LDP) is used in the MPLS network, the label stack size is two (the LDP label and the VC label).
– If a traffic engineering (TE) tunnel is used instead of LDP between PE routers in the MPLS network, the label stack size is two (the TE label and the VC label).
– If a TE tunnel and LDP are used in the MPLS network (for example, a TE tunnel between P routers or between P and PE routers, with LDP on the tunnel), the label stack is three (the TE label, LDP label, and VC label).
– If you use MPLS fast reroute in the MPLS network, you add a label to the stack. The maximum MPLS label stack in this case is four (the Fast Reroute (FRR) label, TE label, LDP label, and VC label).
– If AToM is used by the customer carrier in an MPLS VPN Carrier Supporting Carrier environment, you add a label to the stack. The maximum MPLS label stack in the provider carrier network is five (the FRR label, TE label, LDP label, VPN label, and VC label).
– If an AToM tunnel spans different service providers that exchange MPLS labels using IPv4 Border Gateway Protocol (BGP) (RFC 3107), you add a label to the stack. The maximum MPLS label stack is five (the FRR label, TE label, LDP label, and VC label).
- Other circumstances can increase the MPLS label stack size. Therefore, analyze the complete data path between the AToM tunnel endpoints, determine the maximum MPLS label stack size for your network, and then multiply the label stack size by the size of the MPLS label.
Note For more information about establishing nondirectly connected MPLS LDP sessions, see the “Configuring MPLS Label Distribution Protocol” chapter.
Applying the following assumptions and using the formula: Edge MTU + Transport header + AToM header + (MPLS label stack * MPLS label) = Core MTU, or 1500 + 18 + 0 + (2 * 4) = 1526, you must configure the P and PE devices in the core to accept packets of 1526 bytes.
- The edge MTU is 1500 bytes.
- The transport type is Ethernet VLAN which is 18 bytes for the transport header.
- The AToM header is 0 because the control word is not used.
- The MPLS label stack is 2 because LDP is used.
- The MPLS label is 4 bytes.
Layer 2 VPN Internetworking
Layer 2 transport over Multiprotocol Label Switching (MPLS) already exists for like-to-like attachment circuits, such as Ethernet-to-Ethernet. Layer 2 Virtual Private Network (L2VPN) internetworking builds on this functionality by allowing disparate attachment circuits to be connected. The internetworking function facilitates the translation between the different Layer 2 encapsulations.
The EoMPLS L2VPN Internetworking feature supports Ethernet and VLAN attachment circuits over MPLS. The features and restrictions for like-to-like functionality also apply to L2VPN internetworking.
Quality of Service Features Supported in AToM
The table below lists the Quality of Service (QoS) features supported in AToM.
Table 25-1 QoS Features Supported in AToM
|
|
Service policy |
Can be applied to Ethernet Virtual Circuits (EVCs) and switchport interfaces |
Classification |
Supports the commands for matching the following:
- Class of service (CoS) on interfaces and subinterfaces
- MPLS experimental topmost on interfaces and subinterfaces
- QoS groups on interfaces (output policy)
|
Policing |
Supports the following:
- Single-rate policing
- Two-rate policing
- Color-aware policing
- Multiple-action policing
|
Queuing and shaping |
Supports the following:
- Distributed Low Latency Queueing (dLLQ)
- Distributed Weighted Random Early Detection (dWRED)
- Byte-based WRED
|
Equal Cost Multiple Paths on PWE Label
Equal Cost Multiple Paths (ECMPs) are available between the ingress and egress devices. However, a pseudowire is transported over a single network path to retain the characteristics of the emulated service over the pseudowire.
In the network core, load balancing is performed by checking the first nibble in the frame, after the MPLS label stack. If the destination MAC address (DMAC) starts with 4 or 6, it selects a different link in the core. To avoid a different link and preserve order of frames, a control word is added to the frame transmitted over the pseudowire emulation (PWE) label.
Configuring Any Transport over MPLS
This section includes the following topics:
BEFORE YOU BEGIN
Ensure that you configured the EFP (service instance) for EoMPLS. For information, see the “Configuring Ethernet over MPLS” chapter.
SUMMARY STEPS
1. configure terminal
2. port-profile type pseudowire profile-name
3. encapsulation mpls
4. [ no ] interface pseudowire pw-id
5. (Optional) control-word
6. inherit port-profile profile-name
7. neighbor peer-ip-address vc-id
8. (Optional) copy running-config start-up config
DETAILED STEPS
|
|
|
Step 1 |
configure terminal
switch# configure terminal switch(config)# |
Enters global configuration mode. |
Step 2 |
port-profile type pseudowire profile-name
switch(config)# port-profile type pseudowire AToM switch(config-if-prof)# |
Enters interface port-profile configuration mode and configures a pseudowire port profile. |
Step 3 |
encapsulation mpls
switch(config-if-prof)# encapsulation mpls |
Specifies MPLS encapsulation for this profile. |
Step 4 |
[ no ] interface pseudowire pw-id
switch(config-prof)# interface pseudowire 12 switch(config-if-pseudowire)# |
Enters interface pseudowire configuration mode and configures a static pseudowire logical interface.
- The pw-id argument is a unique per-interface identifier for this pseudowire. The range is from 1 to 200000. The range for a static pseudowire is from 1 to 8192.
Note You can use the no form of this command to delete the pseudowire interface and the associated configuration. |
Step 5 |
control-word
switch(config-if-pseudowire)# control-word |
(Optional) Enables the control word for this interface.
- If you do not enable a control word, autosense is the default mode for the control word.
|
Step 6 |
inherit port-profile profile-name
switch(config-if-pseudowire)# inherit port-profile AToM |
Applies a port profile to this interface. |
Step 7 |
neighbor peer-ip-address vc-id
switch(config-if-pseudowire)# neighbor 10.2.2.1 1 |
Configures a emulated virtual circuit for this interface.
- The combination of the peer-ip-address and vc-id arguments must be unique on a device.
- The peer IP address is the address of the provider edge (PE) peer.
- The vc-id argument is an identifier for the virtual circuit between devices. The valid range is from 1 to 4294967295.
|
Step 8 |
copy running-config startup-config
switch(config-xconnect)# copy running-config startup-config |
(Optional) Saves this configuration change. |
Configuring Ethernet Remote Port Shutdown (optional)
The Remote Ethernet Port Shutdown feature is enabled by default when an image with the feature supported is loaded on the device.
SUMMARY STEPS
1. configure terminal
2. [ no ] l2vpn xconnect context context-name
3. [ no ] remote failure notification
4. (Optional) copy running-config start-up config
DETAILED STEPS
|
|
|
Step 1 |
configure terminal
switch# configure terminal switch(config)# |
Enters global configuration mode. |
Step 2 |
[ no ] l2vpn xconnect context context-name
switch(config)# l2vpn context cxt1 switch(config-xconnect)# |
Enters Xconnect configuration mode and establishes a Layer 2 VPN (L2VPN) context for identifying the two members in a VPWS, multisegment pseudowire, or local connect service.
- The context-name argument is a unique per-interface identifier for this context. The maximum range is 100 alphanumeric, case-sensitive characters.
Note You can use the no form of this command to delete the context and the associated configuration. |
Step 3 |
[ no ] remote failure notification
switch(config-xconnect)# remote failure notification |
Enables AToM MPLS remote link failure notification and shutdown. Note You can use the no form of this command to disable this feature. |
Step 4 |
copy running-config startup-config
switch(config-xconnect)# copy running-config startup-config |
(Optional) Saves this configuration change. |
Configuring Ethernet over MPLS in VLAN Mode
You can configure EoMPLS (VLAN mode) on the subinterfaces.
BEFORE YOU BEGIN
- Ensure that you configured the EFP (service instance) for EoMPLS. For information, see the “Configuring Ethernet over MPLS” chapter.
- Before configuring Ethernet over MPLS (EoMPLS) in VLAN mode, you must configure EoMPLS on the subinterfaces.
SUMMARY STEPS
1. configure terminal
2. interface ethernet slot/subslot/port [. subinterface ]
3. encapsulation dot1q vlan-id
4. [ no ] l2vpn context context-name
5. (Optional) internetworking { ethernet | vlan }
6. [ no ] member interface-type slot / port [ service-instance service-instance-id ] [ group group-name ] [ priority number ]
7. [ no ] member pseudowire pw-id [ group name ] [ priority number ]
8. (Optional) copy running-config start-up config
DETAILED STEPS
|
|
|
Step 1 |
configure terminal
switch# configure terminal switch(config)# |
Enters global configuration mode. |
Step 2 |
interface ethernet slot/subslot/port [. subinterface ]
switch(config)# interface ethernet 4/0/0.1 switch(config-if)# |
Enters interface configuration mode.
- Ensure the subinterface on the adjoining CE router is on the same VLAN as this PE router.
|
Step 3 |
encapsulation dot1q vlan-id
switch(config-if)# encapsulation dot1q 100 |
Configures the matching criteria for mapping dot1q frames on an ingress interface to this interface.
- The valid range for the vlan-id argument is from 2 to 967.
- The subinterfaces between the CE and PE routers that are running EoMPLS must be in the same subnet. All other subinterfaces and backbone devices do not ned to be in the same subnet.
|
Step 4 |
[ no ] l2vpn xconnect context context-name
switch(config-if)# l2vpn context cxt1 switch(config-xconnect)# |
Enters XConnect configuration mode and establishes a Layer 2 VPN (L2VPN) context for identifying the two members in a VPWS, multisegment pseudowire, or local connect service.
- The context-name argument is a unique per-interface identifier for this context. The maximum range is 100 alphanumeric, case-sensitive characters.
Note You can use the no form of this command to delete the context and the associated configuration. |
Step 5 |
internetworking { ethernet | vlan }
switch(config-xconnect)# internetworking ethernet |
(Optional) Specifies the type of pseudowire and the type of traffic that can flow across it.
- This command is required only if you are configuring a connection between two disparate attachment circuits.
- The internetworking type on a provider edge (PE) device must match the internetworking type on its peer PE device.
- The ethernet keyword causes Ethernet frames to be extracted from the attachment circuit and sent over the pseudowire. Ethernet end-to-end transmission is assumed. Attachment circuit frames that are not Ethernet are dropped.
- The vlan keyword allows the VLAN ID to be included as part of the Ethernet frame.
|
Step 6 |
[ no ] member interface-type slot / port [ service-instance service-instance-id ] [ group group-name ] [ priority number ]
switch(config-xconnect)# member ethernet 0/0/0.1 service-instance 300 |
Adds an active Ethernet AC, with or without an Ethernet Flow Point (EFP), to the context.
- The service-instance-id argument is a unique per-interface identifier for the EFP. The valid range is from 1 to 4000. The range might be restricted due to resource constraints.
- (Optional) The group group-name keyword and argument combination specifies to which of the redundant groups the member belongs. This configuration is required if the member is backed up by one or more other group members in order to identify to which redundant group each member belongs.
- (Optional) The priority number keyword and argument combination specifies the priority of the backup pseudowire in instances where multiple backup pseudowires exist. The range is from 1 to 10, with 1 being the highest priority. The default is 0 and is higher than 1.
- You can use the no form of this command to delete the specified member configuration.
|
Step 7 |
[ no ] member pseudowire pw-id [ group group- name ] [ priority number ]
switch(config-xconnect)# member pseudowire 12 group core-side priority 1 |
Adds an active pseudowire to the context.
- The pw-id argument is a unique per-interface identifier for this pseudowire. The range is from 1 to 200000. The range for a static pseudowire is from 1 to 8192.
- (Optional) The group group-name keyword and argument combination specifies to which of the redundant groups the member belongs. This configuration is required if the member is backed up by one or more other group members in order to identify to which redundant group each member belongs.
- (Optional) The priority number keyword and argument combination specifies the priority of the backup pseudowire in instances where multiple backup pseudowires exist. The range is from 1 to 10, with 1 being the highest priority. The default is 0 and is higher than 1.
- You can use the no form of this command to delete the specified member configuration.
|
Step 8 |
copy running-config startup-config
switch(config-xconnect)# copy running-config startup-config |
(Optional) Saves this configuration change. |
Configuring Ethernet over MPLS in Port Mode
Perform this task to configure EoMPLS (port mode) on the subinterfaces.
SUMMARY STEPS
1. configure terminal
2. interface ethernet slot/subslot/port [. subinterface ]
3. l2vpn xconnect context context-name
4. [ no ] member interface-type slot / port [ service-instance service-instance-id ] [ group group-name ] [ priority number ]
5. [ no ] member pseudowire pw-id [ group name ] [ priority number ]
6. (Optional) copy running-config start-up config
DETAILED STEPS
|
|
|
Step 1 |
configure terminal
switch# configure terminal switch(config)# |
Enters global configuration mode. |
Step 2 |
interface ethernet slot/subslot/port [. subinterface ]
switch(config)# interface ethernet 4/0/0 switch(config-if)# |
Enters interface configuration mode.
- Ensure the subinterface on the adjoining CE router is on the same VLAN as this PE router.
|
Step 3 |
[ no ] l2vpn xconnect context context-name
switch(config-if)# l2vpn context cxt1 switch(config-xconnect)# |
Enters XConnect configuration mode and establishes a Layer 2 VPN (L2VPN) context for identifying the two members in a VPWS, multisegment pseudowire, or local connect service.
- The context-name argument is a unique per-interface identifier for this context. The maximum range is 100 alphanumeric, case-sensitive characters.
Note You can use the no form of this command to delete the context and the associated configuration. |
Step 4 |
[ no ] member interface-type slot / port [ service-instance service-instance-id ] [ group group-name ] [ priority number ]
switch(config-xconnect)# member ethernet 0/0 |
Adds an active Ethernet AC, with or without an Ethernet Flow Point (EFP), to the context.
- The service-instance-id argument is a unique per-interface identifier for the EFP. The valid range is from 1 to 4000. The range might be restricted due to resource constraints.
- (Optional) The group keyword specifies which of redundant groups the member belongs. This must be configured if the member is backed up by one or more other group members in order to identify to which redundant group each member belongs.
- (Optional) The priority number keyword and argument combination specifies the priority of the backup pseudowire in instances where multiple backup pseudowires exist. The range is from 1 to 10, with 1 being the highest priority. The default is 0 and is higher than 1.
- You can use the no form of this command to delete the specified member configuration.
|
Step 5 |
[ no ] member pseudowire pw-id [ group name ] [ priority number ]
switch(config-xconnect)# member pseudowire 12 |
Adds an active pseudowire to the context.
- The pw-id argument is a unique per-interface identifier for this pseudowire. The range is from 1 to 200000. The range for a static pseudowire is from 1 to 8192.
- (Optional) The group keyword specifies which of redundant groups the member belongs. This must be configured if the member is backed up by one or more other group members in order to identify to which redundant group each member belongs.
- (Optional) The priority number keyword and argument combination specifies the priority of the backup pseudowire in instances where multiple backup pseudowires exist. The range is from 1 to 10, with 1 being the highest priority. The default is 0 and is higher than 1.
- You can use the no form of this command to delete the specified member configuration.
|
Step 6 |
copy running-config startup-config
switch(config-xconnect)# copy running-config startup-config |
(Optional) Saves this configuration change. |
Configuring Per-Subinterface MTU for Ethernet over MPLS
SUMMARY STEPS
1. configure terminal
2. interface ethernet slot / port
3. mtu mtu-value
4. encapsulation dot1q vlan-id
5. [ no ] l2vpn context context-name encapsulation mpls
6. mtu mtu-value
7. (Optional) copy running-config start-up config
DETAILED STEPS
|
|
|
Step 1 |
configure terminal
switch# configure terminal switch(config)# |
Enters global configuration mode. |
Step 2 |
interface ethernet slot / port
switch(config)# interface ethernet 3/1 switch(config-if)# |
Enters interface configuration mode. |
Step 3 |
mtu mtu-value
switch(config-if)# mtu 2000 |
Configures the maximum transmission unit (MTU) size, in bytes, for this interface.
- The valid range for the mtu-value argument is 576 to 9216. The default is 1500.
|
Step 4 |
encapsulation dot1q vlan-id
switch(config-if)# encapsulation dot1q 100 |
Configures the matching criteria for mapping dot1q frames on an ingress interface to this EFP.
- The valid range for the vlan-id argument is from 2 to 967.
- The subinterfaces between the CE and PE routers that are running EoMPLS must be in the same subnet. All other subinterfaces and backbone devices do not need to be in the same subnet.
|
Step 5 |
[ no ] l2vpn context context-name encapsulation mpls
switch(config-if)# l2vpn context cxt1 encapsulation mpls switch(config-xconnect)# |
Enters Xconnect configuration mode and establishes a Layer 2 VPN (L2VPN) context for identifying the two members in a VPWS, multisegment pseudowire, or local connect service.
- The context-name argument is a unique per-interface identifier for this context. The maximum range is 100 alphanumeric, case-sensitive characters.
- The encapsulation and mpls keywords specify MPLS encapsulation for this context.
Note You can use the no form of this command to delete the context and the associated configuration. |
Step 6 |
mtu mtu-value
switch(config-xconnect)# mtu 1400 |
Configures the maximum transmission unit (MTU) size, in bytes, for this context.
- The valid range for the mtu-value argument is 576 to 9216. The default is 1500.
|
Step 7 |
copy running-config startup-config
switch(config-xconnect)# copy running-config startup-config |
(Optional) Saves this configuration change. |