1


0

プログラムに最適なポートは何ですか?

次のポートのうち、プログラムに使用するのに最適なポートはどれですか。 私はまだ開発中のカスタムプロトコルの使用に取り組んでいます。 パブリックインターネットに接続されている実質的にすべてのホストにアクセスできるものを探しています(つまり、Webサイトを表示できるすべてのホストがこのポートを使用できます)。 3つの主なオプションは次のとおりです。

  • ポート53 UDP (http://en.wikipedia.org/wiki/Domain_Name_System[DNS])

  • ポート80 TCP(http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol[HTTP])

  • ポート443 TCP(http://en.wikipedia.org/wiki/HTTP_Secure[HTTPS])

これらのうち、すべてのhttp://en.wikipedia.org/wiki/Internet_service_provider[ISP]、企業のファイアウォールなどを含むインターネットを介して最も広くアクセスできます。

3 Answer


11


これらのポートはすべて、既知のサービスで使用されます。使用しないでください(製品がWebサーバーでもDNSサーバーでもない場合)。DCCPの既知のポートは、IANA登録なしでは使用しないでください。 サービスが商業的に実行可能であるか、ネットワーク全体にメリットがある場合は、より低いポート番号で登録することを検討してください。登録手順は、RFC4340、セクション19.9で定義されています。

実験的に使用するには、1024〜49151のポートを使用します。 サービスが「ライブ」になるとすぐに、それらのポートでさえIANAに登録する必要があることに注意してください。

ファイアウォールについて:サービスがどのネットワークでも利用可能になるかどうかを予測することはできません。 ポート80を使用している場合でも、コンテンツチェックを行うファイアウォールに対して実行される可能性があります。


1


ポート53ではありません。 80から443の間で投げ上げます。 プロトコルがHTTPSのように見えるようにし、プロキシが同じように転送する場合は、おそらく443が最良の選択です。


1


指定したすべてのポートが特定の適切なプロトコルに使用されるため、これらを別のプロトコルに使用することは非常に悪い考えです。 よく知られているポートには対応するプロトコルがあり、この規則を破ると、少なくとも混乱を招き、最悪の場合には不当な意図が疑われ、ブロックされるという規則があります。 Martin’s answerは、正しい方向を示しています。