返信

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

<code>Only

  • 使用できるHTMLタグ: <code>
  • 文字で図を描く場合に<code>と</code>で囲んでください
画像認証
機械的なスパムメッセージ送信を防止するために画像認証を設けています。ご協力ください。
Image CAPTCHA
Enter the characters shown in the image.