port番号とは何か?
port番号が必要な理由
TCP/IPネットワークにおいて、相手側(サーバー)のコンピューターを特定するときにIPアドレスを使用する。
しかし、IPアドレスで特定ができるのは、相手側のコンピューターまでとなる。
そのコンピューター上のどのサービスと通信をするのかはIPアドレスだけでは特定することができない。
たとえば、1台のサーバー上でメールサーバーとWebサーバーが一緒に動いている場合、メールサーバーに接続してメールを閲覧、送信がしたいのか、Webサーバーに接続してWebページを閲覧したいのかどうか、IPアドレスだけでは区別することができない。
そこで登場するのが「port番号」で、サービスの区別を行い、通信相手となるサービスをしてする。
つまり「port番号」は、コンピュータが通信する際の、プログラムを識別するための番号だ。
TCP/IPネットワーク上でコンピュータ同士が通信を行う際は、 IPアドレスとポート番号をセットで用いて通信を行う。
URL(URI)の一部として指定する場合、
「http://www.example.com:80/」
「https://192.168.1.1:443/」
のように、ホスト名やIPアドレスの末尾にコロン(:)を付して追記する。
port番号とは
port番号は16ビットの整数であり、 0番~65535番まである。
代表的なポート番号を紹介すると、以下となる。
• TCP 20 : FTP (データ)
• TCP 21 : FTP (制御)
• TCP 22 : SSH
• TCP 23 : Telnet
• TCP 25 : SMTP
• UDP 53 : DNS
• UDP 67 : DHCP(サーバ)
• UDP 68 : DHCP(クライアント)
• TCP 80 : HTTP
• TCP 110 : POP3
• UDP 123 : NTP
• TCP 443 : HTTPS
Webサーバーは80番のportでパケットを待っていることが多い。
port番号には、下記のような三つの種別が存在する。
WELL KNOWN PORT NUMBERS
0番~1023番
使用目的が定められたport番号で、Internet Assigned Numbers Authority (IANA)という組織が管理している。
先ほど挙げたport番号80番も、 このWELL KNOWN PORT NUMBERSに該当する。
ポート番号の一覧は下記のIANAのWebサイトで見ることができる。
REGISTERED PORT NUMBERS
1024番~49151番
IANAが登録を受け付け、 公開しているport番号となる。
特定のアプリケーションなどが使用することになっているportの集まりと言える。
DYNAMIC AND/OR PRIVATE PORTS
49152番~65535番
これらの番号は、誰でも自由に使用できるportとして開放されており、IANAに登録をする必要もない。
おまけ
以下のサイトが、図入りでわかりやすい。
コメントお待ちしています☕ また、mondにて匿名の質問・メッセージを募集しています。なんでも送ってね👍 https://mond.how/ja/hovinci_jp