タグ

ブックマーク / ele-craft.blogspot.com (1)

  • syncookiesとListenバックログとパケットロスト

    たまにはLinuxネタを。 Listenバックログは、伝統的なUNIXの実装だと、SYN_RCVDとESTABLISHEDの両方のソケット数を数えますが、LinuxのそれはESTABLISHEDな状態の数だけを数えるようになっています(manを見よ)。 これは何でかというと、いわゆるSYN Flooding攻撃への対応として、Linuxはsyncookieを実装したことの副作用なのだと思います。syncookieを実装していると、SYNに対してSYN_ACK(COOKIE)を返すコストがほぼゼロ(メモリコストとしては)になるので、来たSYNにすべてSYN+ACKを返すことが可能です。 したがって、SYN_RCVDの数は数えても意味がなくなったので、それはListenバックログの数としてカウントしないようにした、ということのようです(厳密に言うと、tcp_max_syn_backlog個まで

  • 1