ポート番号とは?

[voice icon=”https://tomslifestylelab.com/wp-content/uploads/2019/05/tom0212.png” name=”この記事を書いている人” type=”l”]

ネットワークエンジニア
Tom

Tomとかいうやつが何者なのか知りたい方は下のプロフィールをご覧ください。

プロフィール

[/voice]

こんにちは。

今回は、

「ポート番号」

について解説していきます。

今回の記事で、あなたのこんな疑問を解消していきます。

こんな疑問を解消!
  • ポート番号ってなんのためにあるの?
  • ポート番号に種類ってあるんですか?
  • よく使われるポート番号ってなんですか?

それでは一緒に学んでいきましょう。

1.ポート番号とは?

ポート番号とは、TCP/IP通信において

通信先のアプリケーションを識別するための番号

です。

ポート番号は16ビットの整数で、0〜65535の範囲です。
そして、ポート番号は「IANA」で管理されています。

 

トランスポート層では、アプリケーション層から受け取ったデータをインターネット層に転送する時に、

“どのアプリケーションから受け取ったデータなのか”

を識別して、その情報をヘッダに格納しなければいけません。

 

また、逆にインターネット層から受け取ったデータをアプリケーション層に転送するときに、

“どのアプリケーションから送られてきたデータなのか”

を識別して、通信先のアプリケーションにデータを送信しなければいけません。

 

そのような、アプリケーションの識別は

「ポート番号」

を用いて行っています。

 

つまり、トランスポート層は、

「ポート番号を用いて、アプリケーションを識別する」

という役割を担っているのです。

そして、この「ポート番号」のおかげで複数のアプリケーションが同時に通信を行うことができます。

 

インターネット層までの通信(IP通信)では、一つのホストに対して一つのIPアドレスしか持つことができません。

そのため、一見するとそのIPアドレスと通信できるのは、一度に一つのアプリケーションだけであるように感じます。

 

しかし、実際には同時に複数のアプリケーションが動作しています。

このようなことを可能にするのが、「ポート番号」なのです。

それは、下の図を見ていただければわかる思います。

あなたが、Webブラウザでウェブページを見ながら、メールアプリケーションを立ち上げているとします。

このとき、メールサーバからは「POP3」というプロトコルで、

ポート番号「110」を指定してメールのデータが送信されてきます。

 

また、Webサーバからは「HTTP」というプロトコルで、

ポート番号「80」を指定してWebペーシのデータが送信されてきます。

 

Webページを閲覧するときにはURLを入力して検索しますが、実際にはIPアドレスを使って通信をします。

このURLとIPアドレスの対応を問い合わせをやり取りするプロトコルが「DNS」ですが、

DNSサーバはポート番号「53」を指定してデータが送信されてきます。

 

このように、宛先であるホスト(192.168.10.1)が同じでも、ポート番号によってアプリケーションを区別することで、様々なアプリケーションを同時に使用することができるのです。

言うなれば、ポート番号は、アプリケーションの出入口です。

2.ポート番号の種類

ポートには次の3種類があります。

2-1.ウェルノウンポート

ウェルノウンポートとは、

アプリケーションプロトコル別に予約されているポート

のことです。

主にサーバ側で使用されます。サーバは複数のクライアントが接続しにくるので、予約済みの“よく知られた”ポート番号”でなければいけないからです。

ウェルノウンポート番号の範囲は、「0〜1023」です。

2-2.登録済みポート

登録済みポートは、番号とアプリケーションの対応をIANAに登録できるポートのことです。

登録済みポート番号の範囲は、「1024〜49151」です。
しかし、1024は予約済みのため、実際には1025以降を使用します。

2-3.ダイナミックポート

ダイナミックポートとは、自由に使用できるポートのことで、主にクライアントが送信元ポートとして使用します。

クライアントは世界中に五万といるので、ウェルノウンポート番号や登録済みポート番号ではなく、ダイナミックポート番号を使います。

ダイナミックポート番号の範囲は、「49152〜65535」です。

3.代表的なウェルノウンポート番号

以下に代表的ウェルノウンポート番号を載せておきます。

すべて覚える必要はありませんが、よく使われるアプリケーションプロトコルのポート番号は覚えておいたほうがいいです。

また、一番右側の項目は、そのアプリケーションプロトコルが、TCP、UDPどちらで転送されるかを表しています。

4.まとめ

いかかでしたでしょうか?

ポート番号はトランスポート層の動作を理解するために必要な、非常に重要な項目です。

とくによく使われるウェルノウンポートは覚えてください。

 

TCP、UDPについて詳しく知りたい方は、以下の記事をご覧ください。

あなたも勘違いしてるかも?「TCP」と「UDP」の違いとは? コネが重要?TCP/IPの「TCP」とは? UDPとは?たったこれだけ!

それでは、今回もまで読んでくださり本当にありがとうございました。

 

この分野も記事を書いてほしい!
ここがわらかないから教えてほしい
など、ブログを読んで疑問に思ったこと・気づいたことなど、何でもメールしてください!

  お問い合わせはこちら