Encyclopedia > SYN cookies

  Article Content

SYN cookies

SYN cookies are particular choices of initial TCP sequence numbers by TCP servers. The difference between the server's initial sequence number and the client's initial sequence number is:

  • top 5 bits: t mod 32, where t is a 32-bit time counter that increases every 64 seconds;
  • next 3 bits: an encoding of an MSS selected by the server in response to the client's MSS;
  • bottom 24 bits: a server-selected secret function of the client IP address and port number, the server IP address and port number, and t.

This choice of sequence number complies with the basic TCP requirement that sequence numbers increase slowly; the server's initial sequence number increases slightly faster than the client's initial sequence number.

A server that uses SYN cookies doesn't have to drop connections when its SYN queue fills up. Instead it sends back a SYN-ACK, exactly as if the SYN queue had been larger. (Exceptions: the server must reject TCP options such as large windows, and it must use one of the eight MSS values that it can encode.) When the server receives an ACK, it checks that the secret function works for a recent value of t, and then rebuilds the SYN queue entry from the encoded MSS.


The above is from http://cr.yp.to/syncookies



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Ludvika

... and 13338 are female. The population density of the community is 18 inhabitants per km². External links Ludvika (http://www.ludvika.se) - Official ...

 
 
 
This page was created in 43.6 ms