I am working on some bandwidth requirement numbers and I keep finding contradicting information on the Internet.
I have a certain amount of UDP traffic and need to calculate the corresponding traffic via an MPLS cloud.
Now I know that the UDP traffic over my Ethernet II interface has an Ehernet frame overhead of 18 bytes (14 bytes for the MAC header, and 4 bytes for the CRC).
Now I know that an MPLS header is consisting of
• A 20-bit label value.
• a 3-bit Traffic Class field for QoS (quality of service) priority (experimental) and ECN (Explicit Congestion Notification).
• a 1-bit bottom of stack flag. If this is set, it signifies that the current label is the last in the stack.
• an 8-bit TTL (time to live) field.
What I am not clear on if the MPLS header is added to the entire UDP packet (including the Ethernet header), or if it replaces the header.
I have found contradicting information on this last point and would like to see what the experts here have to say to this.
In the end, I need to know how much larger or smaller the traffic over the MPLS cloud will be.
I'll take a stab.
"Layer 2 technologies cannot use their Layer 2 address fields to carry labels, These technologies cary labels in shim headers
The shim label header is inserted between the link layer and the network layer"
Advanced MPLS Design and Implementation, Vivek Alwayn Cisco Press 2002
Here's a nice simple view of the MPLS frame
Easy way to look (same point is vmiller) at it is that the MPLS tag is "inserted" in between the ethernet header (L2) and the IP header (L3) - hence Layer 2.5
[18byte inc CRC][4byte per MPLS label/tag][1500byte upper no changes] = 1522bytes
Assuming on ethernet is the medium of transport - then you'd adjust the interface MTU's accordingly - don't forget 802.1q - 4bytes (so Jumbo MTU's may be required).
It depends on how your traffic is going to be carried over the MPLS cloud. Following are some possibilities: