The last part of this article series is related to TCP options. After this there is aleady the data part. In this section there are some options that enhance TCP protocol. This options are MSS, Window Scaling, Selective Acknowledgements, Timestamps and Nop. The size of this field is changable according tot the used options. Generally these options are used during the 3-way handshake but others can be use during normal TCP session.
TCP options fields are at the end of the header and they are multiple of 8 bits. If any of bits remains from options, they can be filled by padding, with zeros.
Let’s check the options in order.
Maximum Segment Size(MSS)
MSS option is used to define the maximum segment size that will be used during a connection between two hosts. It should be seen only 3-way handshake in SYN and SYN/ACK packets. MSS option fields is 4 bytes long.
MSS is also helps to define MTU values.
The difference between the MSS and MTU is mentined in the picture below:
If the MSS option is ommitted by one or both ends of the connection, the value of 536 bytes is used.The default value of IP datagram is 576 bytes. If we mines the standard IP header and the TCP header (40 bytes), it gives us the 536 bytes.