1

ポート番号はプロセスごとに一意ですか? それは 1:1 の関係ですか? いいえの場合、システムはどのようにして応答を配信するプロセスを認識しますか?

4

2 に答える 2

1

オペレーティング システムは、次の 4 つのパラメータを使用して TCP 接続のエンド ポイントを識別します。

ローカル ポート、ローカル アドレス、リモート ポート、リモート アドレス

したがって、ローカル ポートは一意である必要はありません。通常、リッスン ソケットにはリモート ポートとリモート アドレスがバインドされていないため、これは通常、リッスン (サーバー) ソケットに固有です。ただし、ソケットをリッスンする場合でも、マシンに複数の IP アドレスがある場合、1 つのプロセスが特定のポートと 1 つの IP アドレスでリッスンし、別のプロセスが同じポートで別の IP アドレスをリッスンすることができます。

接続されたソケットの場合、4 つの値すべてがバインドされます。これにより、同じローカル ポートを多数の同時接続で使用できます。このおかげで、1 台のマシンで開いている接続の数は 64K に制限されていません。これはかなり制限的です。

于 2013-01-07T11:46:46.387 に答える
0

ポート番号はシステムごとに一意です。2 つのプロセスが同じポート番号を [再度] 開くことはできません。

于 2013-01-06T16:08:46.943 に答える