【初心者わかりやすく】TCP/UDPポート番号のイメージ

 よく、HTTPだとTCPポート番号80番、DNSだとUDPポート番号53番など、ポート番号という用語が出てきます。初心者のうちは、「IPアドレス以外にどうしてポート番号が必要なの?」と疑問になることがあるかもしれません。

 若干正確性は欠けますが、ポート番号についてのイメージを書きます。

ポート番号のイメージ

 部屋数65535室もある超大型マンションをイメージしてください。

 しかもこのマンションは2棟(TCP棟とUDP棟)があります。

 マンション名は、IPアドレスです。IPアドレスがインターネットの住所と言われるのも、ここからイメージができると思います。

 各部屋にはアプリケーションが住んでいます。ただし、1号室〜1024号室までは、住める人が決まっています。例えば、TCP棟の80号室にはhttpサーバさんが住むことができます。UDP棟の53号室には、DNSサーバさんが住むことができます。 (これが Well-Known-Port(ウェルノウンポート)になります)

通信のイメージ

 192.168.100.1マンションにいるhttpクライアントさんから192.168.1.1マンションのhttpサーバさんへ荷物と届けようとします。 httpクライアントさんのマンションも1〜1024号室は住めるひとが決まっているので、1025〜65535号室のどこか空いているところにまず住みます。 ここでは例えば、10000号室に住み始めたとします。

 httpクライアントさんは192.168.100.1マンションの10000号室から、192.168.1.1マンションの80号室宛に荷物を送ります。これで、httpサーバさんに荷物が届きます。

 マンション名だけだと、自分の部屋に荷物が届かないですよね。それと同じで、IPアドレスだけだと、どのアプリケーションに?(どの部屋に?)がわからず、送りたいアプリケーションまでデータを送信できません。

 httpサーバは、送ってもらった荷物の返事をする場合、送り先が、192.168.100.1マンションの10000号室と分かるので、返事も問題なくできます。

 通信の必要がなくなると、部屋を退去します。(ポートの解放とも呼びます)。httpサーバなどで常時接続が必要であれば、そのまま住み続けます。

 これがざっくりとしたイメージです。ここから、TCP/IPの参考書などを読むと、理解が深まるのではないかなと思います。

コメント