Tcp – Where is the maximum packet size for TCP identified as 65,535

layer4protocol-theoryrfctcptransport-protocol

In doing online searches, the value "65,535" is often referenced as the maximum packet size for TCP. Where is this stated?

I ask because RFC 793 states, in relation to the "Maximum Segment Size" field…

"If this option is present, then it communicates the maximum receive segment size at the TCP which sends this segment. This field must only be sent in the initial connection request (i.e., in segments with the SYN control bit set). If this option is not used, any segment size is allowed."

Since this field is 16-bits wide, I can see where the maximum constrained segment size would be 65,535 bytes. But, absent the constraint, this reads that there is no limit on segment size.

The "only workaround" I see is that RFC 1122 identifies a default of 576 if a value is not provided, which becomes a forcing factor that either defaults to 576 or to a supplied value…for which the maximum is 65,535.

While I can see that the combination of RFCs 793 and 1122 lead to the 64,535 limit, is there anywhere where this is pulled together in a single reference?

Best Answer

RFC 791 might be what your looking for. Search 65,535 to find it quickly in the doc. link

For Ipv6 is rfc 2675 includes info on Jumbo link

Related Topic