ナイペータさん,こんばんわ。
> 送信元のクライアントが使用するポート番号は、 > 1024以上の任意の番号を使用するため、 > ルータでIPアドレスのみを変更する(NAT)の機能だけで > クライアントの認識が、可能なのでは?
クライアント側のポート番号は,未使用のものを適当に見繕って使います。 すると,複数のクライアントが,たまたま, 同じ値のポート番号を使うことだってあるでしょう。 IPアドレスのみを変更するNATだとそのときに困るんです。 だから,IPアドレスとポート番号を両方一緒に書き換えるんですね。
> 図3.20の「アドレスとポートの対応表」にあるLAN側のポート番号欄の > 番号がすべて同じであることに疑問が出ています。
これは,複数のクライアントがたまたま同じポート番号を使う, という上の状況を絵にしたものです。(笑) 実際には,OSが適当にポート番号を決めるのですが, OSが同じだったら,ポート番号を決める部分のプログラムが同じなので, 複数のクライアントのポート番号が同じになることはよくあります。
> 複数あるクライアント端末が任意の同じポート番号を使用して > 通信することは、可能なのでしょうか?
可能です。 といいますか,ソケットを作るときにポート番号を指定すると, 指定したポート番号を使って通信し, ソケットを作るときにポート番号を指定しないと, OSに組み込んであるTCP/IPソフトが未使用の番号を適当に見繕います。 これは,クライアントでもサーバでも同じです。 通常,クライアント側のポート番号は何でもよいのでポート番号を指定しません。 だから,適当な番号を見繕って使うわけです。 サーバの方はアプリケーションの種類によってポート番号が決まっているので, ソケットを作るときにその番号を指定するということですね。
More information about text formats
複数のクライアントが,たまたま,同じポート番号を使うこともある
ナイペータさん,こんばんわ。
> 送信元のクライアントが使用するポート番号は、
> 1024以上の任意の番号を使用するため、
> ルータでIPアドレスのみを変更する(NAT)の機能だけで
> クライアントの認識が、可能なのでは?
クライアント側のポート番号は,未使用のものを適当に見繕って使います。
すると,複数のクライアントが,たまたま,
同じ値のポート番号を使うことだってあるでしょう。
IPアドレスのみを変更するNATだとそのときに困るんです。
だから,IPアドレスとポート番号を両方一緒に書き換えるんですね。
> 図3.20の「アドレスとポートの対応表」にあるLAN側のポート番号欄の
> 番号がすべて同じであることに疑問が出ています。
これは,複数のクライアントがたまたま同じポート番号を使う,
という上の状況を絵にしたものです。(笑)
実際には,OSが適当にポート番号を決めるのですが,
OSが同じだったら,ポート番号を決める部分のプログラムが同じなので,
複数のクライアントのポート番号が同じになることはよくあります。
> 複数あるクライアント端末が任意の同じポート番号を使用して
> 通信することは、可能なのでしょうか?
可能です。
といいますか,ソケットを作るときにポート番号を指定すると,
指定したポート番号を使って通信し,
ソケットを作るときにポート番号を指定しないと,
OSに組み込んであるTCP/IPソフトが未使用の番号を適当に見繕います。
これは,クライアントでもサーバでも同じです。
通常,クライアント側のポート番号は何でもよいのでポート番号を指定しません。
だから,適当な番号を見繕って使うわけです。
サーバの方はアプリケーションの種類によってポート番号が決まっているので,
ソケットを作るときにその番号を指定するということですね。