返信
TCPの回線接続について
はじめまして。TCPの勉強を始めたばかりです。
TCPの回線接続について、ご教示いただければ幸いです。
回線の接続時に、LANアナライザで見るところのSYN→SYN+ACK→ACKは
サーバー側がacceptしている状態で、クライアントがconnectを発行すると
やりとりされるパケットだと認識しているのですが、テストツールを使って
動かしてみると、違う結果が出てしまいます。
UNIX側でサーバーAPを実行し、WINDOWS側でクライアントAPを実行させました。
サーバー側では、接続待ちを5つまで許可する形でLISTENソケットを作りました。
このソケットは、開けっ放しの状態で待機しています。その後acceptを発行し、
クライアントからのconnectにより回線接続しました。
ここまでは良いのですが、その後、サーバーがaccept待ちをする前に
クライアントからconnectを行うと、SYN→SYN+ACK→ACKが出て、
2本目の回線が接続が出来てしまうのです。(forkも使っていないのです。)
但し、WINDOWサイズがやたらと小さいのです。
acceptされていなくても、接続が出来てしまうのでしょうか?
LISTENの待ち行列を5つにしているのが良くないのでしょうか?
色々な書籍を調べてみましたが、良く解らずにいてこのサイトを見つけました。
困ったときの神頼みでスミマセン。
日時:
03/05/26 16:46