[Discussion] MTU mismatch and impact of data-plane traffic
Suppose you have the below network topology, where PE is connected to P1, P1 is connected to P2 and P2 is connected to GW, all through 1G links. [PE]-1500------------1500-[P1]-1600------------1600-[P2]-1500------------1600-[GW] The numbers represent the MTU values configured in the following order; PE's egress interface to P1, P1 ingress interface, P1 egress interface, P2 ingress, P2 egress and eventually GW ingress. Q1: What do you think would be the impact in terms of data-plane traffic (HTTP/s browsing, Video streaming etc), traversing this network, in the direction from the Internet and going to the PE router? My answer is: If there is a client running Win7 on a machine trying to access a web server out there, the TCP MSS would be adjusted to around 1260-1460 bytes depending on the Operating System's MTU value. Hypothetically, the first packet from the web server destined to the client would be 1460-bytes and will reach the ingress interface of the GW. The GW would receive it in the input_buffer of the ingress interface, strip off the Ethernet header, and move it to the output buffer of the egress interface whose MTU is 1600. Since the largest MSS is 1460, and there is always a one-to-one mapping between segments received from the TCP module and the packets constructed in the IP module, I believe that the largest IP packet would be 1480. GW would cram the Ethernet frame with the 1480-bytes of IP payload data and send it to the P2, which would in the other end, pass it on its way. Q2: However, what about larger MSS sizes? example; above 1500? and larges chunks of payload from a connectionless protocols that don't exchange MSS? UDP for example? or Google's QUIC (which is HTTP over UDP)? -- Mohamed Kamal
On Tue, 27 Oct 2015, Mohamed Kamal wrote:
Suppose you have the below network topology, where PE is connected to P1, P1 is connected to P2 and P2 is connected to GW, all through 1G links.
[PE]-1500------------1500-[P1]-1600------------1600-[P2]-1500------------1600-[GW]
The numbers represent the MTU values configured in the following order; PE's egress interface to P1, P1 ingress interface, P1 egress interface, P2 ingress, P2 egress and eventually GW ingress.
Q1: What do you think would be the impact in terms of data-plane traffic (HTTP/s browsing, Video streaming etc), traversing this network, in the direction from the Internet and going to the PE router?
My answer is:
If there is a client running Win7 on a machine trying to access a web server out there, the TCP MSS would be adjusted to around 1260-1460 bytes depending on the Operating System's MTU value. Hypothetically, the first packet from the web server destined to the client would be 1460-bytes and will reach the ingress interface of the GW.
Where is the Win7 machine located in the above topology? If the end system uses 1500 as MTU, you won't notice the above misconfiguration because no packet will ever be bigger than 1500 (IP) so the mismatched MTU won't matter. Routers do not assemble packets (generally).
Q2: However, what about larger MSS sizes? example; above 1500? and larges chunks of payload from a connectionless protocols that don't exchange MSS? UDP for example? or Google's QUIC (which is HTTP over UDP)?
As soon as you try to send larger than 1500 byte packets in the above configuration you will star to drop packets (if MTU and MRU is the same). For instance, if the Internet is on the right and GW has 1600 to the outside, then you'll get a packet that is 1600 bytes that P2 will silently drop due to 1500 MRU. -- Mikael Abrahamsson email: swmike@swm.pp.se
participants (2)
-
Mikael Abrahamsson
-
Mohamed Kamal