返信

ナイペータさん,こんばんわ。

> 送信元のクライアントが使用するポート番号は、
> 1024以上の任意の番号を使用するため、
> ルータでIPアドレスのみを変更する(NAT)の機能だけで
> クライアントの認識が、可能なのでは?

クライアント側のポート番号は,未使用のものを適当に見繕って使います。
すると,複数のクライアントが,たまたま,
同じ値のポート番号を使うことだってあるでしょう。
IPアドレスのみを変更するNATだとそのときに困るんです。
だから,IPアドレスとポート番号を両方一緒に書き換えるんですね。

> 図3.20の「アドレスとポートの対応表」にあるLAN側のポート番号欄の
> 番号がすべて同じであることに疑問が出ています。

これは,複数のクライアントがたまたま同じポート番号を使う,
という上の状況を絵にしたものです。(笑)
実際には,OSが適当にポート番号を決めるのですが,
OSが同じだったら,ポート番号を決める部分のプログラムが同じなので,
複数のクライアントのポート番号が同じになることはよくあります。

> 複数あるクライアント端末が任意の同じポート番号を使用して
> 通信することは、可能なのでしょうか?

可能です。
といいますか,ソケットを作るときにポート番号を指定すると,
指定したポート番号を使って通信し,
ソケットを作るときにポート番号を指定しないと,
OSに組み込んであるTCP/IPソフトが未使用の番号を適当に見繕います。
これは,クライアントでもサーバでも同じです。
通常,クライアント側のポート番号は何でもよいのでポート番号を指定しません。
だから,適当な番号を見繕って使うわけです。
サーバの方はアプリケーションの種類によってポート番号が決まっているので,
ソケットを作るときにその番号を指定するということですね。

<code>Only

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