Learning TCP options

While TCP is already an amazing protocol, it also permits various options that can be added to the TCP header to extend the functionality. The complete list, last updated January 2019, can be found at https://www.iana.org/assignments/tcp-parameters/tcp-parameters.txt.

Not all options are used. Some of the options are experimental, some are used for specific reasons and do not have an associated RFC, and some have been developed and used without proper IANA assignment. The seven most common options are listed in the following table:

Kind Length Meaning Reference
0 1 End of Option List (EOL) [RFC793]
1 1 No-Operation (NOP) [RFC793]
2 4 Maximum segment size (MSS) [RFC793]
3 3 Window scale [RFC7323]
4 2 Selective acknowledgment (SACK) permitted [RFC2018]
5 N SACK [RFC2018]
8 10 Timestamps [RFC7323]
TCP options

The first three, EOL, NOP, and MSS, are from the original TCP RFC 793. The others were developed over time. Any options will follow the TCP header and are in multiples of 8-bit, or 1 byte. The entire header must be a multiple of 32-bit, or four bytes, for memory alignment. Therefore, in some cases, padding is required to ensure that the header is a multiple of four bytes. The entire TCP header can be up to 40 bytes.

To see the TCP options for Flow312.pcap, select the options header in frame 1, where additional conversation parameters are listed, as shown here:

Flows312 frame 1 options

So that you have a better understanding of each of the seven common options, let's take a look at each of them, starting with End of Option List.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.104.238