「IPアドレス」と「ポート番号」の違いは?IPv4・IPv6・TCP/UDPとの関係もわかりやすく解説

ネットワーク設定やサーバーについて調べていると、

「IPアドレスを確認してください」

「ポート443を開放する」

「192.168.1.10:8080へ接続する」

といった表現を目にすることがあります。

しかし、

「IPアドレスとポート番号は何が違う?」

「192.168.1.1の後ろに付く8080とは何?」

「ポート番号はパソコンごとに決まっている?」

「IPアドレスが分かれば接続先のアプリまで分かる?」

「TCPとUDPでは同じポート番号を使える?」

「ポート開放とはIPアドレスを公開すること?」

と迷うことがあります。

結論からいうと、「IPアドレス」はネットワーク上で通信先となるインターフェース等を識別し、データを目的地まで届けるために使うアドレスです。一方、「ポート番号」は、その通信先の中で、どのサービス・通信エンドポイントへデータを渡すかを識別するための番号です。

初心者向けにたとえるなら、

IPアドレス=「建物の住所」

ポート番号=「その建物の受付窓口・部屋番号」

と考えると分かりやすいでしょう。

たとえば、

203.0.113.10:443

という表記があった場合、

203.0.113.10=通信先を示すIPアドレス

443=その通信先で利用するポート番号

という関係です。

IETFのRFC 6335では、ポート番号を16ビットの番号とし、同じ通信相手間の複数のトランスポート通信を区別したり、アプリケーションプロトコルやサービスを識別したりするために利用すると説明しています。

一方、IPでは送信元・宛先のIPアドレスを利用して、ネットワークをまたいでデータを目的地へ転送します。

この記事では、「IPアドレス」と「ポート番号」の違いから、IPv4・IPv6、TCP・UDP、0〜65535のポート番号、ウェルノウンポート、動的ポート、NAT・NAPT、ポート開放との関係まで詳しく解説します。

  1. 「IPアドレス」と「ポート番号」の違い【結論】
  2. 「IPアドレス」とは?
    1. ネットワーク上で通信先を示すためのアドレス
  3. IPv4アドレスとは?
  4. IPv6アドレスとは?
  5. IPアドレスは「パソコンそのものの番号」?
  6. 「グローバルIPアドレス」と「プライベートIPアドレス」の違い
  7. 「ポート番号」とは?
    1. 同じ通信先の中でサービスを区別する番号
  8. IPアドレスだけでは足りない理由
  9. ポート番号は何番まである?
  10. 「ウェルノウンポート」とは?
  11. 「80番=HTTP」と決まっている?
  12. HTTPSで「:443」を書かないのはなぜ?
  13. ポート番号はサーバーだけが持つ?
  14. 「動的ポート」とは?
  15. 通信は「IPアドレス+ポート番号」で識別する
  16. TCPとUDPでは同じポート番号を使える?
  17. IPアドレスとポート番号をURLで指定できる?
  18. ドメイン名とIPアドレスの違い
  19. 「IPアドレス=住所、ポート=部屋番号」というたとえは完全に正しい?
  20. 「ポートを開く」とは?
  21. 「ポート開放」とはIPアドレスを公開すること?
  22. 「NAT」とIPアドレスの関係
  23. 「NAPT」とポート番号の関係
  24. NAPTを具体例で理解する
  25. 「ポートが閉じている」とは?
  26. ポート番号を変えれば安全になる?
  27. IPアドレスを隠せばポート番号も分からない?
  28. IPv6アドレスとポート番号を一緒に書く場合
  29. 同じIPアドレスで複数のWebサイトを運営できる?
  30. IPアドレスとMACアドレスの違い
  31. 「IPアドレス・ポート番号」で迷ったときの3秒判定
  32. 「IPアドレス」を使った例文
  33. 「ポート番号」を使った例文
  34. 具体例で比較:Webサイトへアクセスする
  35. 具体例で比較:1台のサーバーでSSHとWebを動かす
  36. よくある間違い1:「IPアドレスとポート番号は同じ種類の番号」と思う
  37. よくある間違い2:「IPアドレスが分かれば接続するサービスも決まる」と思う
  38. よくある間違い3:「ポート443はパソコンに1個しかない」と思う
  39. よくある間違い4:「ポート番号が同じなら通信内容も必ず同じ」と思う
  40. よくある間違い5:「ポートを変えればセキュリティ対策になる」と思う
  41. よくある間違い6:「UDPにはポート番号がない」と思う
  42. よくある間違い7:「家庭内の192.168.x.xへインターネットから直接接続できる」と思う
  43. 「IPアドレス」と「ポート番号」に関するよくある質問
    1. Q1. IPアドレスとポート番号の一番簡単な違いは?
    2. Q2. ポート番号はいくつありますか?
    3. Q3. 0番ポートも使えますか?
    4. Q4. TCPとUDPで同じポート番号を使えますか?
    5. Q5. HTTPSの443はIPアドレスですか?
    6. Q6. IPアドレスだけでWebサイトを開けますか?
    7. Q7. ポート開放すると危険ですか?
    8. Q8. IPアドレスはずっと同じですか?
    9. Q9. IPv6でもポート番号を使いますか?
    10. Q10. 「IPアドレス+ポート番号」は何を表しますか?
  44. まとめ
  45. 参考リンク・出典

「IPアドレス」と「ポート番号」の違い【結論】

比較項目 IPアドレス ポート番号
主な役割 ネットワーク上の通信先を識別する 通信先で利用するサービス・エンドポイントを識別する
たとえ 建物の住所 部屋・受付窓口
代表例 192.168.1.10、2001:db8::1 22、53、80、443、8080など
大きさ IPv4は32ビット、IPv6は128ビット 16ビット
値の範囲 IPバージョンによる 0〜65535
関係する層 IP・ネットワーク層 主にTCP・UDPなどのトランスポート層
主な目的 どこへ送るか その中のどこへ渡すか

3秒で判断するなら、

「どの通信先へ届ける?」 → IPアドレス

「その通信先のどのサービスへ届ける?」 → ポート番号

と考えてください。

「IPアドレス」とは?

ネットワーク上で通信先を示すためのアドレス

IPアドレスは、Internet Protocolを利用した通信で、送信元・宛先を識別し、データを目的地へ届けるために使用されます。

IPv4の基本仕様であるRFC 791では、IPが送信元から宛先へデータグラムを届けるためにアドレスを使用し、そのアドレスを基にルーティングを行う仕組みが規定されています。

IPアドレスには大きく、

  • IPv4アドレス
  • IPv6アドレス

があります。

IPv4アドレスとは?

IPv4アドレスは、

32ビット

のアドレスです。

一般には、

192.168.1.10

のように、0〜255の10進数を4つ「.」で区切った形式で表します。

32ビットなので、理論上のアドレス空間は、

2の32乗=約42.9億

です。

ただし、そのすべてが一般の端末へ自由に割り当てられるわけではなく、特別な用途に予約されたアドレス範囲などもあります。

IPv6アドレスとは?

IPv6アドレスは、

128ビット

のアドレスです。

RFC 4291では、IPv6アドレスをインターフェースやインターフェース集合を識別する128ビットの識別子として定義しています。

たとえば、

2001:db8:1234:5678::1

のように、16進数と「:」を使って表します。

IPv4より圧倒的に大きなアドレス空間を持っていることが特徴です。

IPアドレスは「パソコンそのものの番号」?

初心者向けには、

「ネットワーク上の機器を識別する番号」

と説明されることがあります。

ただし厳密には、IPアドレスは単純に物理的な「パソコン本体」を識別する永久番号ではありません。

ネットワークインターフェースへアドレスが割り当てられ、1台の機器が複数のIPアドレスを持つこともあります。

また、

  • Wi-Fi
  • 有線LAN
  • VPN
  • IPv4
  • IPv6

などの状況によって、1台の端末に複数のアドレスが存在することも珍しくありません。

「グローバルIPアドレス」と「プライベートIPアドレス」の違い

IPv4では、家庭や会社のLANで、

192.168.x.x

などのプライベートアドレスがよく利用されます。

RFC 1918では、プライベートネットワーク用として、

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

のアドレス空間が予約されています。

これらは通常、そのままインターネット全体で宛先としてルーティングするためのグローバルアドレスとしては使いません。

家庭用ルーターなどでは、NAT・NAPTと呼ばれる仕組みを利用して、内部のプライベートIPアドレスと外部通信を対応付けています。

「ポート番号」とは?

同じ通信先の中でサービスを区別する番号

ポート番号は、TCPやUDPなどのトランスポートプロトコルで利用する16ビットの番号です。

RFC 7605では、ポート番号には大きく、

  1. 同一ホスト内でトランスポート通信を振り分ける
  2. サービスを識別する

という役割があると説明しています。

たとえば1台のサーバーで、

  • Webサーバー
  • SSHサーバー
  • DNSサーバー
  • メールサーバー

を同時に動かすことができます。

IPアドレスだけでは、同じサーバーのどのサービスへデータを渡せばよいのか区別できません。

そこでポート番号を使用します。

IPアドレスだけでは足りない理由

たとえば、1台のサーバーが、

203.0.113.10

というIPアドレスを持っているとします。

そのサーバーでは、

  • Webサイト
  • SSH
  • メール

など複数のサービスを同時に提供できます。

そこで、

203.0.113.10:22

203.0.113.10:80

203.0.113.10:443

のようにポート番号を組み合わせることで、利用するサービスを区別できます。

つまり、

IPアドレスだけ=建物までは分かる

IPアドレス+ポート番号=建物の中の受付先まで分かる

というイメージです。

ポート番号は何番まである?

TCP・UDPなどで利用するポート番号は、

16ビット

です。

そのため数値としては、

0〜65535

の範囲があります。

IANAおよびRFC 6335では、この範囲を大きく3つに分類しています。

範囲 名称 概要
0〜1023 System Ports Well Known Portsとも呼ばれる
1024〜49151 User Ports Registered Portsとも呼ばれる
49152〜65535 Dynamic / Private Ports 動的・私的利用のための範囲

なお、数値として0も16ビットの範囲に含まれますが、IANAのレジストリではTCP・UDPのポート0はReservedとされています。

「ウェルノウンポート」とは?

0〜1023は現在IANAでは、

System Ports

と呼ばれる範囲です。

歴史的には、

Well Known Ports

という名称でも広く知られています。

代表的なサービスには、

代表的なポート サービス例 主なトランスポート
22 SSH TCP
25 SMTP TCP
53 DNS TCP・UDP
80 HTTP TCP
443 HTTPS TCP、またQUICではUDP 443が利用される

IANAは、Service Name and Transport Protocol Port Number Registryで、サービス名とTCP・UDP等のポート番号割り当てを管理しています。

「80番=HTTP」と決まっている?

IANAでは80/TCPがHTTPサービスとして登録されています。

しかし技術的には、Webサーバーを別のポート番号で動かすこともできます。

たとえば、

http://example.com:8080/

のように、URLへポート番号を明示できます。

RFC 7605でも、Webサーバーはクライアント側が接続先ポートを知っていれば、理論上は任意の適切なポートで動かせることが説明されています。

つまり、

ポート番号=通信内容そのものを強制的に決める番号

ではありません。

IANAへの登録によって、

「このサービスでは通常このポートを使う」

という共通認識が作られていると考えると正確です。

HTTPSで「:443」を書かないのはなぜ?

HTTPSの既定ポートは443です。

そのため通常、

https://example.com/

と書けば、明示的に別ポートを指定しない限り、HTTPSの既定ポートが利用されます。

わざわざ、

https://example.com:443/

と書く必要はありません。

一方、8443など別ポートでHTTPSサービスを提供するなら、

https://example.com:8443/

のようにポート番号を明示することがあります。

ポート番号はサーバーだけが持つ?

いいえ。

通信では通常、

  • 送信元IPアドレス
  • 送信元ポート番号
  • 宛先IPアドレス
  • 宛先ポート番号

があります。

たとえばパソコンからHTTPSサイトへ接続するとき、サーバー側の宛先ポートは443でも、利用者側の送信元ポートには一時的な別の番号が自動的に割り当てられます。

これによって、同じパソコンから同時に多数のWeb接続を行っても、それぞれの通信を区別できます。

「動的ポート」とは?

IANAでは49152〜65535を、

Dynamic / Private Ports

としています。

クライアントがサーバーへ接続するときの一時的な送信元ポートなどとして、このような動的ポートが利用されることがあります。

たとえば、

192.168.1.10:53021 → 203.0.113.20:443

のような通信です。

この例では、

53021=クライアント側の一時的な送信元ポート

443=HTTPSサーバー側の宛先ポート

です。

なお、実際にOSが一時ポートとして使用する範囲は、OSや設定によって異なる場合があります。

通信は「IPアドレス+ポート番号」で識別する

TCPやUDPの通信を理解するときは、送信先だけを見るのではなく、

送信元と宛先の組み合わせ

が重要です。

TCP通信などでは、一般に、

  • 通信プロトコル
  • 送信元IPアドレス
  • 送信元ポート番号
  • 宛先IPアドレス
  • 宛先ポート番号

を組み合わせて通信を識別します。

この組み合わせは、

5タプル(5-tuple)

と呼ばれることがあります。

RFC 6335でも、通信する両端のIPアドレスと送信元・宛先ポート番号の組み合わせによって、特定トランスポートプロトコルの通信セッションを区別できると説明しています。

TCPとUDPでは同じポート番号を使える?

使えます。

TCPとUDPのポート番号は、それぞれのトランスポートプロトコルごとに扱われます。

つまり、

TCP 53

と、

UDP 53

は別です。

DNSのようにTCPとUDPの両方で同じ番号を利用するサービスもあります。

またHTTPS関連では、

TCP 443

が従来のHTTPS通信に利用される一方、HTTP/3ではQUICが、

UDP 443

を利用する構成が一般的です。

したがって、

「443番ポート」

だけでなく、必要に応じて、

「TCP 443なのか、UDP 443なのか」

まで確認することが重要です。

IPアドレスとポート番号をURLで指定できる?

できます。

たとえば、

http://192.168.1.100:8080/

というURLなら、

192.168.1.100=IPアドレス

8080=ポート番号

です。

ただし一般的なWebサイトでは、IPアドレスを直接覚えて利用するのではなく、

example.com

のようなドメイン名を利用します。

DNSによってドメイン名からIPアドレスを調べ、ブラウザはそのIPアドレスへ接続します。

ドメイン名とIPアドレスの違い

ドメイン名は、人間が扱いやすい名前です。

IPアドレスは、ネットワーク通信で宛先を指定するために使われます。

大まかな流れは、

  1. 利用者がexample.comを入力する
  2. DNSでexample.comに対応するIPアドレスを調べる
  3. 取得したIPアドレスへ接続する
  4. HTTPSなら通常443番など、必要なポートへ接続する

となります。

したがって、

ドメイン名・IPアドレス・ポート番号

はそれぞれ役割が違います。

「IPアドレス=住所、ポート=部屋番号」というたとえは完全に正しい?

基本理解には便利ですが、完全な対応ではありません。

IPアドレスはネットワークインターフェース等を識別するためのアドレスであり、1台の物理機器が複数持つこともあります。

ポート番号も物理的な「穴」ではなく、OSやトランスポートプロトコルが通信を振り分けるために使う論理的な番号です。

したがって、

「住所と部屋番号」は初心者向けのイメージ

として利用し、実際には、

IPアドレス=ネットワーク上の宛先

ポート番号=トランスポート通信・サービスの識別子

と理解するのが正確です。

「ポートを開く」とは?

「ポートを開く」という言葉には、文脈によって複数の意味があります。

たとえば、

  • サーバーアプリを特定ポートで待ち受けさせる
  • ファイアウォールでそのポートへの通信を許可する
  • ルーターで外部から内部サーバーへの転送を設定する

などです。

そのため、

「ポートを開ければ必ず外部からアクセスできる」

とは限りません。

サーバー、OS、ファイアウォール、ルーター、回線事業者など複数の条件が関係します。

「ポート開放」とはIPアドレスを公開すること?

違います。

一般家庭などでいう「ポート開放」は、外部から特定のポートへ届いた通信を、LAN内の特定端末・サービスへ転送できるよう設定することを指す場合があります。

IPアドレスそのものとポート番号は別の情報です。

ただしインターネット側からサービスへ接続するためには、通常、

  • 外部から到達可能なアドレス
  • 利用するポート番号
  • ルーター等の転送設定
  • ファイアウォール設定

などが関係します。

「NAT」とIPアドレスの関係

NATは、

Network Address Translation

の略です。

IPアドレスを別のIPアドレスへ変換する仕組みです。

家庭内では、

192.168.1.10

192.168.1.11

など複数のプライベートIPアドレスを持つ端末が、ルーターを経由してインターネットへ接続します。

このとき外部では、ルーター側のグローバルアドレスを利用して通信する構成があります。

「NAPT」とポート番号の関係

RFC 3022では、IPアドレスだけを変換するBasic NATに加えて、

Network Address Port Translation(NAPT)

が説明されています。

NAPTでは、

  • IPアドレス
  • TCP・UDPのポート番号

を組み合わせて変換します。

これによって、家庭内の複数端末が、1つのグローバルIPv4アドレスを共有して外部へ通信できます。

一般的な家庭用ルーターで単に「NAT」と呼ばれている仕組みの中には、実際にはこのようなポート変換を伴うものがあります。

NAPTを具体例で理解する

家庭内に、

192.168.1.10:52001

192.168.1.11:53002

という2台の端末があるとします。

ルーターが1つのグローバルIPv4アドレス、

203.0.113.5

を持っている場合、外部通信を、

203.0.113.5:40001

203.0.113.5:40002

などへ変換して区別できます。

戻ってきた通信のポート番号を見れば、ルーターはLAN内のどの端末へ返せばよいか判断できます。

このように、ポート番号はNAT環境でも重要な役割を持ちます。

「ポートが閉じている」とは?

ポート番号そのものに物理的な蓋があるわけではありません。

一般に「ポートが閉じている」とは、

  • そのポートでサービスが待ち受けていない
  • ファイアウォールが通信を遮断している
  • ルーターで転送されていない

など、外部からそのサービスへ接続できない状態を指します。

反対に「ポートが開いている」とは、ネットワーク経由で何らかのサービスが応答可能な状態を意味することがあります。

ポート番号を変えれば安全になる?

ポート番号を変えるだけで本質的に安全になるわけではありません。

たとえばSSHを22番ではなく別のポートで動かせば、自動化された単純な22番ポートへのスキャンを減らせる場合があります。

しかしポートスキャンによって別ポートを発見される可能性があります。

本質的な対策としては、

  • 不要なサービスを公開しない
  • 認証を強化する
  • ソフトウェアを更新する
  • ファイアウォールで接続元を制限する
  • 安全な暗号通信を使う

などが重要です。

IPアドレスを隠せばポート番号も分からない?

IPアドレスとポート番号は別の情報ですが、インターネット越しに特定サービスへ接続するには、通常、そのサービスへ到達するためのアドレスとポート等が必要です。

ただしDNS、プロキシ、CDN、ロードバランサー、NATなどが介在するため、利用者が見ているIPアドレスが実際のアプリケーションサーバー自身のIPアドレスとは限りません。

現在の大規模Webサービスでは、1つのドメイン名の背後に多数のサーバーが存在することも一般的です。

IPv6アドレスとポート番号を一緒に書く場合

IPv6アドレスには「:」が含まれます。

そのためURLなどでIPv6アドレスとポート番号を組み合わせる場合、IPv6アドレスを、

[ ]

で囲んで区別します。

たとえば、

http://[2001:db8::1]:8080/

のような形式です。

この場合、

2001:db8::1=IPv6アドレス

8080=ポート番号

です。

同じIPアドレスで複数のWebサイトを運営できる?

できます。

現在のWebサーバーでは、同じIPアドレス・同じポート番号で複数のドメインを扱うことも可能です。

HTTPではHost情報を利用し、HTTPSではTLSのSNIなどの仕組みも組み合わせることで、どのドメイン向けの通信なのか判断できます。

したがって、

「1つのIPアドレス+1つのポート番号には1サイトしか置けない」

というわけではありません。

IPアドレスとMACアドレスの違い

IPアドレスと混同されやすいものに、

MACアドレス

があります。

大まかには、

IPアドレス=IPネットワーク上でルーティングに利用

MACアドレス=主に同一リンク・LAN内で通信相手を識別するために利用

という違いがあります。

インターネットの遠隔サーバーへ通信するとき、パケットがルーターを経由するたびにリンク層の情報は変化し得ますが、IPアドレスはIP通信の送信元・宛先として重要な役割を持ちます。

「IPアドレス・ポート番号」で迷ったときの3秒判定

こんな場合 答え
192.168.1.10 IPアドレス
2001:db8::1 IPv6アドレス
443 ポート番号
通信先のネットワーク上の場所を示す IPアドレス
同じ通信先でサービスを区別する ポート番号
IPv4では32ビット IPアドレス
16ビット・0〜65535 ポート番号
TCPとUDPでそれぞれ利用 ポート番号

最も簡単に覚えるなら、

IPアドレス=「どの宛先?」

ポート番号=「その宛先のどのサービス?」

です。

「IPアドレス」を使った例文

  • サーバーのIPアドレスを確認する。
  • DNSでドメイン名からIPアドレスを取得する。
  • パソコンにプライベートIPアドレスが割り当てられた。
  • IPv6のIPアドレスでサーバーへ接続する。
  • ルーターがIPアドレスを基にパケットを転送する。

「ポート番号」を使った例文

  • HTTPSでは443番ポートが広く利用される。
  • ファイアウォールで特定のポート番号を許可する。
  • サーバーが8080番ポートで待ち受けている。
  • TCPとUDPでは同じポート番号でも別に扱われる。
  • クライアント側に一時的な送信元ポートが割り当てられる。

具体例で比較:Webサイトへアクセスする

ブラウザで、

https://example.com/

を開いたとします。

簡略化すると、

  1. DNSでexample.comに対応するIPアドレスを取得する
  2. そのIPアドレスへ接続する
  3. HTTPSで利用するポートへ接続する
  4. TLS通信を確立する
  5. HTTPリクエスト・レスポンスをやり取りする

という流れです。

ここで、

IPアドレス=接続先を探す

ポート番号=接続先のサービスを選ぶ

という役割の違いが分かります。

具体例で比較:1台のサーバーでSSHとWebを動かす

1台のサーバーに、

203.0.113.10

というIPアドレスがあるとします。

このサーバーが、

TCP 22=SSH

TCP 443=HTTPS

で待ち受けていれば、同じIPアドレスでも異なるサービスへ接続できます。

IPアドレスだけではなくポート番号があるからこそ、1台のホストで多くのネットワークサービスを同時に提供できます。

よくある間違い1:「IPアドレスとポート番号は同じ種類の番号」と思う

違います。

IPアドレスはネットワーク上の宛先を指定するアドレスで、ポート番号はTCP・UDP等で通信やサービスを識別する番号です。

よくある間違い2:「IPアドレスが分かれば接続するサービスも決まる」と思う

1つのIPアドレスで複数のサービスを提供できます。

どのサービスへ接続するかを区別するためにポート番号が利用されます。

よくある間違い3:「ポート443はパソコンに1個しかない」と思う

ポート番号はトランスポートプロトコルやIPアドレス等との組み合わせで扱われます。

異なるIPアドレスのサーバーなら、それぞれがTCP 443でHTTPSサービスを提供できます。

またTCP 443とUDP 443も別の通信です。

よくある間違い4:「ポート番号が同じなら通信内容も必ず同じ」と思う

ポート番号はサービス識別の共通認識として重要ですが、番号そのものが通信内容を強制するわけではありません。

設定次第では、一般的でないサービスを別のポートで動かすこともできます。

よくある間違い5:「ポートを変えればセキュリティ対策になる」と思う

ポート変更だけでは本質的な対策にはなりません。

不要なサービスを閉じ、認証・暗号化・ファイアウォール・アップデートなどを適切に組み合わせる必要があります。

よくある間違い6:「UDPにはポート番号がない」と思う

UDPもポート番号を使用します。

RFC 768のUDPヘッダーには送信元ポートと宛先ポートのフィールドがあります。

よくある間違い7:「家庭内の192.168.x.xへインターネットから直接接続できる」と思う

192.168.x.xはRFC 1918で定められたプライベートIPv4アドレス範囲です。

インターネット側からそのアドレスをそのまま宛先として一般的にルーティングするものではありません。

外部からLAN内サービスへ接続させる場合には、NAT・NAPT、ポート転送、ファイアウォール等の設定が関係します。

「IPアドレス」と「ポート番号」に関するよくある質問

Q1. IPアドレスとポート番号の一番簡単な違いは?

IPアドレスは「どの通信先か」を示し、ポート番号は「その通信先のどのサービスか」を示します。

Q2. ポート番号はいくつありますか?

ポート番号は16ビットなので、数値としては0〜65535です。

IANAでは0〜1023、1024〜49151、49152〜65535の3範囲に分類しています。

Q3. 0番ポートも使えますか?

数値範囲には含まれますが、IANAのTCP・UDPポートレジストリではポート0はReservedです。

一般的なサービス用ポートとして利用する番号ではありません。

Q4. TCPとUDPで同じポート番号を使えますか?

はい。

TCPとUDPでは別のポート番号空間として扱われます。

DNSの53番のように、TCP・UDPの両方に登録されているサービスもあります。

Q5. HTTPSの443はIPアドレスですか?

いいえ。

443はポート番号です。

実際の接続ではIPアドレスと443などのポート番号を組み合わせます。

Q6. IPアドレスだけでWebサイトを開けますか?

サーバー構成によっては可能ですが、現在のWebサイトではドメイン名を前提とした設定が多く、IPアドレスだけでは期待したサイトが表示されない場合があります。

HTTPSでは証明書のドメイン名との一致も重要です。

Q7. ポート開放すると危険ですか?

外部からアクセス可能なサービスが増えれば攻撃対象も増える可能性があります。

必要のないポートを安易に公開せず、必要なサービスだけを適切な認証・暗号化・ファイアウォール設定とともに公開することが重要です。

Q8. IPアドレスはずっと同じですか?

必ずしも同じではありません。

ネットワーク環境や契約、DHCP等によって変更されることがあります。

固定IPアドレスを利用する構成もあります。

Q9. IPv6でもポート番号を使いますか?

はい。

IPv6上でもTCP・UDPなどを利用する場合にはポート番号を使用します。

IPv6になったからポート番号が不要になるわけではありません。

Q10. 「IPアドレス+ポート番号」は何を表しますか?

ネットワーク上の通信先と、その通信先で利用するトランスポートエンドポイント・サービスを組み合わせて示します。

さらに実際の通信では、送信元IP・送信元ポート・宛先IP・宛先ポート・トランスポートプロトコル等の組み合わせで通信を識別します。

まとめ

「IPアドレス」と「ポート番号」は、どちらもネットワーク通信で重要ですが、役割は明確に異なります。

IPアドレス ポート番号
ネットワーク上の宛先を示す サービス・通信エンドポイントを区別する
IPv4は32ビット 16ビット
IPv6は128ビット 0〜65535
192.168.1.10など 22、53、80、443など
「どこへ送る?」 「その中のどこへ渡す?」

最も簡単な覚え方は、

IPアドレス=「住所」

ポート番号=「受付窓口・部屋番号」

です。

ただし厳密には、IPアドレスは物理的な建物やパソコン本体を永久に識別する番号ではなく、ネットワークインターフェース等へ割り当てられるアドレスです。

ポート番号も物理的な接続口ではなく、TCPやUDPなどが通信・サービスを振り分けるために利用する論理的な番号です。

たとえば、

203.0.113.10:443

であれば、

203.0.113.10=ネットワーク上の宛先

443=その宛先で利用するサービス側のポート

と整理できます。

さらに実際の通信では、

  • 送信元IPアドレス
  • 送信元ポート番号
  • 宛先IPアドレス
  • 宛先ポート番号
  • TCP・UDPなどのプロトコル

を組み合わせて個々の通信を区別します。

ポート番号については、

0〜1023=System Ports

1024〜49151=User Ports

49152〜65535=Dynamic / Private Ports

というIANAの分類も覚えておくと理解しやすいでしょう。

また家庭用ルーターでは、IPアドレスだけでなくTCP・UDPのポート番号も変換するNAPTによって、複数端末が1つのグローバルIPv4アドレスを共有できる場合があります。

ネットワーク用語を整理するなら、

IPアドレス=通信先

ポート番号=サービス

TCP・UDP=データをどのように運ぶか

と分けて考えると理解しやすくなります。

参考リンク・出典

※本記事では初心者向けに「IPアドレス=住所」「ポート番号=部屋・受付窓口」とたとえていますが、これは概念を理解するための簡略化です。厳密にはIPアドレスはネットワークインターフェース等を識別するアドレスで、ポート番号はトランスポートエンドポイントやサービスの識別に利用される論理的な番号です。

※ポート番号は0〜65535の16ビット値ですが、すべての番号を任意の公開サービスへ自由に割り当てることを推奨しているわけではありません。IANAの割り当て・登録状況やRFC 6335、RFC 7605の指針を確認してください。

※「ポート番号=そのポートでは必ずその通信が行われている」という意味ではありません。ポート番号はサービス識別の共通認識として利用されますが、実際のサービス構成はシステム設定によって変わる場合があります。

※「ポート開放」の具体的な意味は、OS、ファイアウォール、家庭用ルーター、クラウドサービスなどによって異なります。不要なポートを外部公開するとセキュリティリスクが増える可能性があるため、必要なサービスだけを適切に設定してください。

※IPv4・IPv6・ポート番号・NAT等の仕様や運用方法を実際のネットワークへ適用する場合は、IETF、IANA、利用するOS・ルーター・クラウド事業者等の最新資料も確認してください。

タイトルとURLをコピーしました