cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
18830
Views
5
Helpful
5
Replies

MTU, MSS, and TCP window size

cisco8887
Level 2
Level 2

Hi Guys,

I have some confusion on below topics and appreciate your response.

MTU is Layer 1 and maximum amount of information that can be transferred at one time which is 1500. I have also seen it as 1518, where does the 18 come from ? this is in byte

MSS is your MTU minus layer 3 and 4 thus if we imagine 20 Byte for IP and 20 for TCP then MSS is 1460

Does MSS take Layer 2 into consideration because Layer 2 is also 8 Byte or 12 with Vlan, right ?

Am I then correct saying the overhead is MTU- MSS - Ethernet Packet thus 1500 -1460  + 12 ( tagged) thus 52 Byte ?

Now I know that is the physical maximum that can be on the wire unless using Jumbo frames, where does TCP window come in ?

Is TCP window of 64Kb = 64000Byte ( for sake of simplicity multipleid by 1000 than 1024) thus almost 43 packets will be buffered and sent at one go ?

how would this 43 packets will then get transferred ? Would it be 43 packets of 1500 byte all at one go ?

As you can see I am quite confused here and appreciate any help :)

1 Accepted Solution

Accepted Solutions

pearl2468
Level 1
Level 1

Let me clarify about MTU.

  • The maximum payload in 802.3 ethernet is 1500 bytes.

  • The payload is encapsulated in an Ethernet Frame header (which adds the Source/Destination MAC -12 bytes , Length 2, and CRC 4 Checksum. This is a total of 18 bytes of additional "stuff" and frame size would be 1518 bytes

  • If you want to use vlan tagging then add 4 more bytes and then frame size would be 1522.

This is enough for us to work in an network environment but at the back-end  there are specific fields that frame considers . The below is just to have a clear idea on what happening at back end too.

  • The Frame is transmitted over the wire -- before your Ethernet card does that it basically stands up and shouts really loud to make sure nobody else is using the wire (CSMA/CD) -- This is the Preamble and Start-of-Frame delimiter (SFD) -- an additional 8 bytes. now frame size would be 1530.

  • Finally when an ethernet transceiver is done sending a frame it is required by 802.3 to transmit 12 bytes of silence ("Interframe Gap") before it's allowed to send its next frame and the frame size would be 1542.

Final frame with all fields is 1542 with vlan tagging and 1538 without vlan tagging.

please look at the below Cisco calculation for maximum and minimum frame size [ vlan tag of 4 bytes were not included in this  cisco calculation  and if included it would become 1542 bytes.]

Please let me know if it clarify on MTU

Regards,

P

View solution in original post

5 Replies 5

pearl2468
Level 1
Level 1

Let me clarify about MTU.

  • The maximum payload in 802.3 ethernet is 1500 bytes.

  • The payload is encapsulated in an Ethernet Frame header (which adds the Source/Destination MAC -12 bytes , Length 2, and CRC 4 Checksum. This is a total of 18 bytes of additional "stuff" and frame size would be 1518 bytes

  • If you want to use vlan tagging then add 4 more bytes and then frame size would be 1522.

This is enough for us to work in an network environment but at the back-end  there are specific fields that frame considers . The below is just to have a clear idea on what happening at back end too.

  • The Frame is transmitted over the wire -- before your Ethernet card does that it basically stands up and shouts really loud to make sure nobody else is using the wire (CSMA/CD) -- This is the Preamble and Start-of-Frame delimiter (SFD) -- an additional 8 bytes. now frame size would be 1530.

  • Finally when an ethernet transceiver is done sending a frame it is required by 802.3 to transmit 12 bytes of silence ("Interframe Gap") before it's allowed to send its next frame and the frame size would be 1542.

Final frame with all fields is 1542 with vlan tagging and 1538 without vlan tagging.

please look at the below Cisco calculation for maximum and minimum frame size [ vlan tag of 4 bytes were not included in this  cisco calculation  and if included it would become 1542 bytes.]

Please let me know if it clarify on MTU

Regards,

P

excellent all makes sense and i did read about pre amble and inter frame packets in one of the ccie books

Thank you very much for explaining this

my questions following this explanation is , does the 12 byte have to be sent with full tcp and ip header making it 1542 ? what will be filled in the tcp packet .

also with the preamble it is also a one of at start of transmission and also to align transmission between sender and receiver, correct ?

so when you have a TCP window size of 64Kb, that is not relevant to MTU and MSS , it is essentially many packets with size of MTU in memory that are transfered over the wire, right ?

for a given window size, does all data stay in memory while acknowledgement is received?

final question is does UDP have MSS or just UDP datagram plus IP overhead?

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages wha2tsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

my questions following this explanation is , does the 12 byte have to be sent with full tcp and ip header making it 1542 ? what will be filled in the tcp packet .

Both IP and TCP headers are contained within the frame's payload.  I.e. they don't increase the maximum frame size.

also with the preamble it is also a one of at start of transmission and also to align transmission between sender and receiver, correct ?

There's an Ethernet preamble before every frame.  It doesn't really align transmission between sender and receiver.  Believe it notifies each L2 receiver that an Ethernet frame is about to be seen on the wire.

so when you have a TCP window size of 64Kb, that is not relevant to MTU and MSS , it is essentially many packets with size of MTU in memory that are transfered over the wire, right ?

In theory, MSS is independent of MTU, but TCP usually insures it doesn't use a MSS larger than what a MTU can handle (this to avoid MSS fragmentation).

RWIN informs the sender how much buffer space the receiver has for segments.  Sender should not send more data than the receiver can accept.  If TCP's next waiting to be transmitted segment, doesn't have sufficient receiver buffer space to be accepted, sender will wait on receiver to free sufficient space (which happens as prior segments are ACK'ed).

for a given window size, does all data stay in memory while acknowledgement is received?

On sender, yes, although "memory" might be virtual.

final question is does UDP have MSS or just UDP datagram plus IP overhead?

MSS is specific to TCP, although UDP, using IP, can send a datagram larger than MTU.  It will be sent using IP fragmentation.  IP supports up to 64K.

so for everyframe there will be a pre amble ? what is the 1400 or so of data filled with , junk or 0000 ?

Frames are variable size, from a minimum to a maximum.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card