コース一覧
ネットワーク基礎:TCP/IP・HTTP・DNS・CDN
ポート番号と well-known port

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

ブラウザからサーバーまでデータが届く仕組みを、OSI・TCP/IP、IPとルーティング、TCP/UDP、HTTP/HTTPS、DNS、CDNから体系的に学びます。通信障害や構成選択をプロトコルから考えられるようになります。

1
ネットワークの全体像
0. ネットワークとは8分
1. OSI 7階層モデル10分
2. TCP/IP 4階層モデル9分
3. パケットとフレーム9分
4. ルーター・スイッチ・ハブ9分
2
IP とルーティング
0. IPアドレス (IPv4 / IPv6)10分
1. サブネットマスクと CIDR11分
2. NAT とプライベートIP9分
3. ルーティングと経路選択10分
4. ファイアウォール基礎9分
3
TCP / UDP
0. TCP と UDP の違い9分
1. 3-way ハンドシェイク9分
2. 輻輳制御と再送10分
3. UDP の用途 (DNS / 動画 / ゲーム)8分
4. ポート番号と well-known port9分
4
HTTP / HTTPS
0. HTTP の基本10分
1. HTTP メソッド9分
2. HTTPS と TLS ハンドシェイク10分
3. HTTP/2 と HTTP/3 (QUIC)10分
4. REST API の設計原則10分
5
DNS とドメイン
0. DNS とは8分
1. レコードタイプ10分
2. 名前解決の流れ10分
3. DNS キャッシュと TTL9分
4. CDN の仕組みと Anycast10分
6
応用
0. ロードバランサ (L4 / L7)10分
1. プロキシとリバースプロキシ9分
2. WebSocket とリアルタイム通信9分
3. gRPC と HTTP/2 利用10分

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

01ネットワークとは
02OSI 7階層モデル
03TCP/IP 4階層モデル
04パケットとフレーム
05ルーター・スイッチ・ハブ
06IPアドレス (IPv4 / IPv6)
07サブネットマスクと CIDR
08NAT とプライベートIP
09ルーティングと経路選択
10ファイアウォール基礎
11TCP と UDP の違い
123-way ハンドシェイク
13輻輳制御と再送
14UDP の用途 (DNS / 動画 / ゲーム)
15ポート番号と well-known port
16HTTP の基本
17HTTP メソッド
18HTTPS と TLS ハンドシェイク
19HTTP/2 と HTTP/3 (QUIC)
20REST API の設計原則
21DNS とは
22レコードタイプ
23名前解決の流れ
24DNS キャッシュと TTL
25CDN の仕組みと Anycast
26ロードバランサ (L4 / L7)
27プロキシとリバースプロキシ
28WebSocket とリアルタイム通信
29gRPC と HTTP/2 利用

ネットワーク基礎:TCP/IP・HTTP・DNS・CDN

ポート番号と well-known port

IPアドレスとポート

1 台のサーバーで、Web と管理用ログインが同時に動くのはなぜか

1 台のサーバーには IP アドレスが 1 つしかありません。それなのに、そのサーバーは Web サイトを配りながら、同時に管理用のログインも受け付けています。

宛先の住所が同じなら、届いたデータはどちらのアプリのものなのでしょうか。この行き先を決めているのがポート番号です。

住所と、部屋番号

IP アドレスが建物の住所だとすれば、ポート番号は部屋番号です。住所だけでは建物までしか届きません。部屋番号があって初めて、中の誰宛かが決まります。

ポート番号は 16 ビットの数値で、0 から 65535 までを取ります。サーバー側のアプリは起動時に「私は何番で待ちます」と宣言し、そこへ来たデータだけを受け取ります。HTTPS は 443 番、SSH は 22 番、PostgreSQL は 5432 番、というふうに、よく使われるものには慣例の番号が決まっています。慣例なので技術的には変えられますが、変えると相手が探せなくなるので、公開するものは慣例に従います。

番号の範囲は、おおまかに 3 つに分かれています。

  • 0 から 1023 は、標準的なサービス用に予約されている範囲です。ここで待ち受けるには管理者権限が要ります
  • 1024 から 49151 は、登録済みだが必須ではない範囲です。開発中に 3000 番や 8080 番を使うのはここです
  • 49152 以降は、その場限りの用途に空けてある範囲です

番号を指定せずに通信することはできません。ブラウザに https://example.com と打ったとき番号が見えないのは、省略しているだけで、種類に応じた慣例の番号が自動で補われているからです。慣例と違う番号で動かしているサーバーに繋ぐときだけ、末尾に番号を書く必要が出てきます。

頼む側の番号は、毎回変わる

見落としやすいのが、頼む側にも番号が要るという点です。応答をどの部屋に返すかを決めないといけないからです。

この番号は OS がその都度、空いているものを自動で割り当て、使い終われば回収します。ふだん意識する必要はありません。ただし、同じ相手へ短い接続を大量に張り続けると、割り当てる番号が尽きて接続に失敗することがあります。バッチ処理で「しばらく動いてから急に接続できなくなる」という症状の定番の原因です。接続を毎回捨てずに使い回す、という対策が効きます。

待ち受ける側にも決まりがあります。1 つのアプリが複数の番号で待つことはできますが、1 つの番号を複数のアプリが同時に使うことはできません。すでに使われている番号で起動しようとすると、その場でエラーになって立ち上がりません。前回の開発サーバーが終了しきっておらず、次を起動できない、という詰まり方がこれです。

なお、番号の空間は TCP と UDP で完全に別です。TCP の 5432 番と UDP の 5432 番は、無関係な別の部屋です。関所の設定を書くときに、どちらのことなのかを必ず明示しなければならないのはこのためです。片方だけ開けて「番号は開けたのに繋がらない」と悩むのは、誰もが一度は通る道です。設定画面で TCP と UDP のどちらが選ばれているかを、まず見てください。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • ポート番号1台のサーバーで複数のサービスを区別するための番号。
  • ビット2進数の1桁。0 か 1 のどちらか
  • HTTPWeb の通信プロトコル、HTTPS は TLS で暗号化したもの
  • PostgreSQL機能が豊富なオープンソースのRDBMS
  • ブラウザユーザーから見たWebのクライアント
  • 処理計算や代入を表す長方形
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/05/27·更新 2026/08/26

関連レッスン

  • HTTP の基本

    HTTP リクエストとレスポンスの構造、ステータスコードを理解します。

  • DNS とは

    人間が読める名前と IP を結びつける DNS の役割を理解します。

  • ロードバランサ (L4 / L7)

    L4 と L7 ロードバランサの違いと使い分けを理解します。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。

復習ミニクイズ

HTTPS が標準で使うポート番号はどれですか