1

どこで IANA レジストリにアクセスできるのだろうか?

OSに実装されていますか?

どのポートに接続するか、正確にはどこでポート番号を比較するかを、アプリケーションはどのように知るのでしょうか?

一部のアプリにはポート番号がハードコーディングされており、一部は入力されていますが、比較は正確にはどこで行われますか?

それとも、すべて人間ベースであり、http サーバーに接続することがわかっているときにポート 80 を使用するのは開発者の責任ですか?

アプリに使用できない既知のポートがあるため、これについて頭を悩ませることはできません。それともできますか?プロセスがポートをバインドしていない場合、ポートは自由に使用できますか? ポート 80、25、443、または 1000 未満のポートを使用できますが、そのために必要なのはルート権限だけですか?

4

1 に答える 1

4

ここで 2 つの大きな質問があります。まず、IANA はどこにありますか。その答えは簡単です: http://iana.org

しかし、あなたが本当に求めていることは、投稿の残りの部分にあると思います。システム上で探しているファイルはservicesファイルです。これは通常/etc/services、UNIX スタイルのシステムにありますがC:\Windows\System32\drivers\etc、Windows システムにもあります。

このファイルは実際にはマッピング ファイルであり、サービスを名前 (たとえば "telnet" としましょう) で要求し、システムにそれをポート番号 (23) に変換させることができます。

ソフトウェアを作成するときは、可能であれば番号ではなく名前を使用することをお勧めします。これにより、「よく知られているポート」の概念を適用できるだけでなく、サービスを他のポートで実行する必要があるという異常な状況が発生した場合、servicesファイルを変更するだけでサービスを簡単に再マップできます。

ポートを使用する権限について、別の質問があります。まず、Windows を使用している場合、そのような概念は実際にはありません。「特権」ポートの概念は、他のオペレーティング システム (UNIX、VMS など) にも見られます。これらのシステムでは、root または同等の OPERATOR である必要があります。これは、1000 ではなく、1024 未満のポートに適用されます。

とは言っても、ポート 80 について特別なことは何もありませんが、そこに Web サーバーがあることが予想されます。

于 2015-05-24T09:33:51.383 に答える