ポート番号とは何か? IP アドレスだけでは足りないの? ── 80 と 443 の意味と、「ポート開放」の正体

こんな場面に心当たりはないでしょうか。オンラインゲームの対戦がうまく繋がらず、調べると「ポート開放が必要です」と出てくる。会社や学校のネットワークでは「ポート 443 以外はブロックされています」と言われる。プログラミングの入門書には「localhost:3000 にアクセスしてください」と書いてある ── どれも数字だけは目にしているのに、「その番号は結局何の番号なの?」と聞かれると、答えられない人がほとんどです。

本記事は、この「ポート番号」の正体を根本から解説します。先に種明かしを 1 行で言うと ── 住所である IP アドレスは、目的のコンピュータ(建物)までしか荷物を運んでくれません。建物の中では複数の係が同時に働いていて、そのうちのどの窓口宛なのかを示すのがポート番号です。こんな心当たりがあれば、この先を読んでみましょう。

  • ゲームや自宅サーバーで「ポート開放」と言われたが、何を開けているのかは説明できない
  • ポート 443 がブロックされています」のエラーに、わかったふりで頷いたことがある
  • 80 とか 443 とか、なぜいつも同じ数字を見かけるのか考えたことがない
  • localhost:3000 の「:3000」の意味を、実は知らないまま打っている

この記事では、初学者でもわかりやすいよう専門用語は多用しません。また、仕組みの解説で終わらず、「ポート開放しても大丈夫なのか」「443 がブロックされていたらどうするのか」という実用判断まで扱います。

疑問本記事の該当章
ポート番号って結局何の番号なの?§1
なぜ 80 や 443 ばかり見かけるの?§2
ファイアウォールとどう関係するの?§3
「ポート開放」って何を開けているの?§4
ポート開放は危なくないの?FAQ Q3
localhost:3000 の 3000 って何?FAQ Q4
💡 Tip

当サイトの HTTPS の記事サーバーの記事 で「ポート番号はそれだけで 1 本の記事になるテーマ」と予告してきました。本記事がその 1 本です。

1. ポート番号の正体 ── 住所の続きにある「窓口番号」

1-1. 住所だけでは、荷物は係まで届かない

インターネットに何かを要求(リクエスト)すると ── たとえばページを 1 枚開こうとすると ── その要求は 1 個の荷物となって、IP アドレスという住所を頼りに、目的のコンピュータまで旅をします(住所の仕組みは→ IPアドレスの記事)。ところが、荷物が届いた先の本部の建物(→ サーバーの記事)では、複数の係が同時に働いています。Web ページを返す係、メールを預かる係、遠隔管理に応える係 ── サーバーの記事で「1 台の機械が Web サーバーとメールサーバーを兼任できる」と説明した、あの状態です。

つまり、住所だけでは足りないのです。建物までは着いても、中のどの係に用があるのかが書かれていないと、荷物は宛先不明になってしまいます。

1-2. だから宛先には「住所」と「窓口の番号」の 2 つが要る

市役所を思い浮かべてみてください。住所を頼りに市役所の建物までは行けます。でも建物に入れば、「住民票は 3 番窓口、税金は 5 番窓口」と、用件ごとに番号のついた窓口が並んでいます。どの窓口に並ぶかは、住所ではなく用件で決まります。

インターネットの宛先もこれと同じ 2 段構えです。IP アドレスで建物まで、そして「◯番窓口」で係まで ── この窓口の番号がポート番号です。番号は 0 番から 65535 番まであり、1 台のコンピュータはこの範囲の窓口を必要な分だけ開けて業務をしています。

宛先は「住所」と「窓口番号」の 2 段構え

 荷物の宛先: 203.0.113.7 : 443
             └── 住所 ──┘ └番号┘

 住所(IP アドレス)で…      建物(コンピュータ)まで届く
 窓口番号(ポート番号)で…   建物の中の係まで届く

 本部の建物の中(市役所の窓口のように並んでいる)
  [ 80 番窓口] Web 係(ハガキ便)
  [443 番窓口] Web 係(秘密の箱便)
  [ 25 番窓口] メール係
  [ 22 番窓口] 遠隔管理の係
💡 関連記事

ここまでに登場したインターネット上での住所・建物・門番などの話は、それぞれ別の記事で詳しく扱っています。本記事を読んでいてわからないところがあれば、あわせてどうぞ。

2. 番号には意味がある ── 80 と 443 ばかり見かける理由

2-1. よく使う窓口は、番号が世界共通で決まっている

市役所なら、入り口の案内板で「住民票は 3 番窓口」と確認できます。しかしインターネットの荷物は世界中の建物に送られるので、建物ごとに案内板を確かめていては間に合いません。そこで、よく使う窓口の番号は、世界共通で先に決めてあります。「Web のハガキ便は 80 番」「Web の秘密の箱便は 443 番」── どの建物に行っても同じ番号です(この取り決めで予約された番号は well-known ports と呼ばれます)。

ハガキ便と秘密の箱便の違い ── つまり HTTP と HTTPS の違い ── は、HTTPS の記事で扱ったテーマです。あの記事で「80 番窓口」「443 番窓口」と呼んだ受付の正体が、このポート番号でした。

2-2. 代表的な番号と、その窓口にいる係

番号窓口にいる係補足
80Web 係(HTTP ── ハガキ便の受付)中身が見える形で運ばれる
443Web 係(HTTPS ── 秘密の箱便の受付)今の Web のほぼ標準
25・587メールを送る係送信用の窓口
110・993 ほかメールを受け取る係受信箱を開ける窓口
53調べ物の係(DNS)DNSの記事の「電話帳」への問い合わせ窓口
22遠隔管理の係(SSH)サーバーの管理者が使う窓口

「サイトを見る」「メールを送る」という日常の操作の裏で、荷物は毎回この表のどれかの窓口宛に送られています。

2-3. 番号は、普段はブラウザが勝手に書き添えている

「でも、URL に 443 なんて打った覚えはない」と思うかもしれません。それもそのはずで、番号は普段、ブラウザが自動で書き添えています。アドレスが https:// で始まっていれば 443 番窓口宛、http:// なら 80 番窓口宛 ── あなたが意識しなくても、宛先には毎回番号が入っているのです。

一方で、番号を人間が手書きする場面もあります。代表例が、開発者が自分のパソコンの中に立てた練習用サーバーです。localhost:3000 という表記の「:3000」は、まさに「3000 番窓口宛」という手書きの指定です(localhost そのものの正体は、それだけで 1 本の記事になるテーマです)。

番号は普段、ブラウザが自動で書き添えている

 あなたが打つもの:  https://example.com/
 実際の宛先:        example.com の建物 : 443 番窓口
                                         △
                              https:// を見たブラウザが
                              自動で 443 を書き添える

 手書きする場面:    localhost:3000
                            └─ 「3000 番窓口宛」の手書き指定

3. 番号で守る ── 門番は「どの窓口宛か」を見ている

3-1. 開いている窓口は、そのまま入り口にもなってしまう

窓口は便利な反面、開けた分だけ建物への入り口が増えるということでもあります。ファイアウォールの記事で紹介した 2003 年の大規模被害は、まさに「開きっぱなしの窓口」(135 番・445 番)に世界中から攻撃の荷物が届いたことで起きました。使っていない窓口を開けたままにしておくことは、使っていない出入り口の施錠を忘れることと同じです。

3-2. だから門番は、宛先の番号を見て通す・止める

ここでファイアウォールの出番です。門番(ファイアウォール)は届いた荷物の宛先の窓口番号を見て、「443 番宛は通す」「それ以外は止める」といった選別をしています。会社や学校で「ポート 443 以外はブロックされています」と言われるのは、この運用です。必要な窓口だけを開けて、残りは閉めておく ── 建物を守る基本のかたちです。

門番は宛先の窓口番号で通す・止める

 [443 番宛の荷物] ──> 門番 ──> 通す ──> [443 番窓口] Web 係(HTTPS)
 [ 80 番宛の荷物] ──> 門番 ──> 通す ──> [ 80 番窓口] Web 係(HTTP)
 [135 番宛の荷物] ──> 門番 ──×  止める   (使っていない窓口宛は受け取らない)
⚠️ よくある落とし穴

「ポートを閉じる=その機能が使えなくなる」ではありません。閉じているのは建物側の受付です。あなたの PC から外の 443 番窓口へ頼みに行く分には、普段どおりサイトは見られます。閉じて困るのは「外からあなたの建物に届けたい荷物」がある場合だけです。

4. 「ポート開放」の正体 ── 家の外から、中の窓口へ届くようにする

4-1. 家のルーターは、外からの荷物を基本すべて止めている

家庭のネットワークでは、家の中の機器はルーターの内側にいます。外の世界から見えるのは代表番号(グローバル IP アドレス)だけで、外から「あなたの PC の◯番窓口宛」と名指しで送っても、荷物はルーターで止まってしまいます(この代表番号と内線の仕組みは→ NAT の記事)。普段はこれが防御として働いてくれています。

4-2. ポート開放とは、ルーターの台帳に 1 行手書きすること

ところが、オンラインゲームの対戦相手からの接続や、自宅サーバーへのアクセスのように、外からの荷物を家の中まで届けてほしい場面があります。そこで使うのが「ポート開放」です。正体は、ルーターの台帳への手書きの 1 行 ── 「◯番窓口宛の荷物が来たら、この機器へ回すこと」という転送の指示です。壁に穴を開けるような大工事ではなく、受付の取り次ぎルールを 1 行増やしているだけです(具体的な手順とゲームの NAT タイプの話は→ NAT の記事 §4)。

4-3. 「繋がらない」がポートのせいかを疑う順序

「繋がらない」と思ったとき、いきなりポートを疑う必要はありません。次の順で切り分けるのが早道です。

  1. 1まず基本を確認するURL の打ち間違い・回線の不調・相手側の障害(→ サーバーの記事 §4 の切り分け)を先に潰す。
  2. 2エラー文に番号が出ていないか見る「ポート」「443」「blocked」等の語が出ていれば、ポート起因の可能性が高い。
  3. 3どちら側の問題かを見極める会社・学校の網なら管理者の設定(自分では開けられない)。自宅で外からの接続が必要なら、ポート開放の出番。

そして、むやみに開けないことも大切です。§3 で見たとおり、開けた窓口はそのまま入り口になります。開けるのは必要な番号だけにして、使い終わったら閉じる ── 市役所が閉庁時に窓口を閉めるのと同じ感覚で扱うのが安全です。

まとめ ── 4 行で本質

  • ポート番号とは窓口の番号: 住所(IP アドレス)は建物まで、窓口番号は建物の中の係まで ── 宛先は 2 段構えでできている
  • よく使う番号は世界共通: Web のハガキ便は 80 番、秘密の箱便は 443 番 ── 普段はブラウザが自動で書き添えている
  • 開けた窓口は入り口になる: だから門番(ファイアウォール)は宛先の番号で通す・止めるを選別している
  • ポート開放は台帳への 1 行: 外からの荷物を家の中の機器へ回す転送の指示 ── 必要な番号だけ開けて、使い終わったら閉じる

これで、住所(IPアドレス)→ 電話帳(DNS)→ 建物と本部(サーバー)→ 窓口番号(本記事)と、荷物の宛先の話が最後まで繋がりました。旅の全行程をもう一度たどるなら→ 総集編へ。

FAQ

Q1. ポート番号と IP アドレスの違いは何ですか?

A. 宛先の段が違います。IP アドレスは「どの建物(コンピュータ)か」を示す住所で、ポート番号は「建物の中のどの窓口(係)か」を示す番号です。市役所に例えれば、住所で建物まで行き、用件に合わせて 3 番窓口や 5 番窓口に並ぶ ── この 2 段がそろって初めて、荷物は目的の係まで届きます。

Q2. なぜ HTTPS は 443 番なのですか?

A. 世界共通の取り決めで、先にそう予約されているからです。どの建物でも「Web の秘密の箱便(HTTPS)は 443 番窓口」と決まっているおかげで、ブラウザは案内板を確かめることなく、いきなり正しい窓口へ荷物を送れます。番号そのものに深い意味はないので、「443=HTTPS の窓口」とだけ覚えれば十分です。

Q3. ポート開放は危険ではないのですか?

A. 開ける番号と期間を絞れば、過度に恐れる必要はありません。ただし §3 で見たとおり、開けた窓口はそのまま外からの入り口になります。ゲームやサーバーに必要な番号だけを開ける、不要になったら閉じる、家の中の機器を最新の状態に保つ ── この 3 点を守るのが基本です。何のために開けるのか説明できない番号は、開けないでください。

Q4. 「localhost:3000」の 3000 とは何ですか?

A. 「3000 番窓口宛」という手書きの指定です。開発者は自分のパソコンの中に練習用のサーバーを立てて動作確認をしますが(→ サーバーの記事 §1-3)、その練習用サーバーが 3000 番の窓口で依頼を待っているため、宛先に「:3000」と書き添えています。localhost そのものの正体は、それだけで 1 本の記事になるテーマなので、今後の記事で扱う予定です。

Q5. ポートが「開いている・閉じている」は、どう確認すればいいですか?

A. まずはエラー文と管理者への確認が第一です。会社や学校のネットワークなら、どの番号を通すかは管理者の設定次第なので、自分の環境の管理者やヘルプデスクに聞くのが確実です。自宅なら、ルーターの設定画面の「ポート転送(ポートフォワーディング)」の項目で、どの番号をどの機器へ回しているかを確認できます。むやみに窓口を増やしていないかの点検は、門番の仕事の一部です(→ ファイアウォールの記事)。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です