The SYNPROXY module deploys TCP SYN cookies to establish a TCP connection terminated on a third party device located behind the ALOHA. It relies on the conntrack module to translate sequence numbers. The diagram below show how sequence numbers are translated from Y (client to ALOHA) to Z (ALOHA to server):

If the router receives a TCP packet with the SYN bit and MSS option set and the MSS option specified in the packet is larger than the MSS specified by the tcp-mss command, the router replaces the MSS value in the packet with the lower value specified by the tcp-mss statement. Dec 15, 2014 · On Cisco boxes if you don’t use “ip tcp adjust-mss” command then any bigger packet will be dropped. If you use this command on the gateway then the gateway will send ICMP message back to the source to adjust the TCP MSS. Your maximum MTU is fixed on the ethernet interface anyway. An Option-Kind byte of 0 indicates End Of Options, and is also only one byte. An Option-Kind byte of 0x02 is used to indicate Maximum Segment Size option, and will be followed by an Option-Length byte specifying the length of the MSS field. Option-Length is the total length of the given options field, including Option-Kind and Option-Length fields. The TCP Maximum Segment Size Option TCP provides an option that may be used at the time a connection is established (only) to indicate the maximum size TCP segment that can be accepted on that connection. This Maximum Segment Size (MSS) announcement (often mistakenly called a negotiation) is sent from the data receiver to the data sender and

Jul 31, 2019 · The MSS parameter is a part of the options filed in the TCP initial handshake that specifies the largest amount of data that a TCP speaker can receive in a single TCP segment. Each direction of TCP traffic uses its own MSS value, as this is a receiver-specified value.

TCP Maximum Segment Size is the maximum allowable TCP payload size as show in the below diagram. You can find a nice article on this & MTU in below blog post from Packetlife.net (above diagram from this blog page) MTU Manipulation If client's maximum segment size (MSS) in a TCP 3-way handshake is greater than… The option-length counts the two octets of option-kind and option-length as well as the option-data octets. Note that the list of options may be shorter than the data offset field might imply. The content of the header beyond the End-of-Option option must be header padding (i.e., zero). A TCP must implement all options.

If the router receives a TCP packet with the SYN bit and MSS option set and the MSS option specified in the packet is larger than the MSS specified by the tcp-mss command, the router replaces the MSS value in the packet with the lower value specified by the tcp-mss statement.

The maximum segment size ( MSS) is a parameter of the options field of the TCP header that specifies the largest amount of data, specified in bytes, that a computer or communications device can receive in a single TCP segment. It does not count the TCP header or the IP header (unlike, for example, the MTU for IP datagrams). MSS = MTU – TCP header – IP header From below screenshot TCP option field is 32 bit long which includes 16-bit MSS value. Maximum value can be 65535 however that’s very rare. MSS value depends on interface MTU. The Short Statement When calculating the value to put in the TCP MSS option, the MTU value SHOULD be decreased by only the size of the fixed IP and TCP headers and SHOULD NOT be decreased to account for any possible IP or TCP options; conversely, the sender MUST reduce the TCP data length to account for any IP or TCP options that it is including in the packets that it sends. The rest of this document just expounds on that statement, and the goal is to avoid IP-level fragmentation of TCP packets.