SYN cookies
SYN cookies を使ったサーバは、通常の (SYN flood 攻撃を受けていない) 状態では他のサーバと同じようにふるまい、SYN パケットがひとつくるごとに記憶領域を割り当てる。しかし他のサーバは SYN flood 状態 (割り当てるべき領域が不足した状態) になるとクライアントからの SYN パケットを捨ててしまうのに対して、SYN cookies を使ったサーバは SYN flood 状態になると 記憶領域を割り当てずに SYN ACK パケットを返す。このとき SYN ACK に含まれる TCP シーケンス番号は以下のような特別な方法で計算される:
最初の5ビット: t mod 32 の値 (t は 現在までの経過時間を表すカウンタで、64秒ごとに増加する)。
次の 3ビット: その TCP 接続に利用する MSS (Maximum Segment Size) 値をエンコードしたもの。あらかじめサーバで取り決めておいた 8種類の値からクライアントの要求にもっとも近いものを使用する。
次の 24ビット: クライアント・サーバの各IPアドレスと TCPポート番号、および t の値をサーバ側の一方向ハッシュ関数でハッシュ化したもの。