FOR BEGINNERS未経験向け

Bネットワーク基礎段0土台層とは

ネットワークとは何か|IP アドレス・ポート・プロトコルを「住所・窓口・約束事」で理解する

ネットワークとは何か|IP アドレス・ポート・プロトコルを「住所・窓口・約束事」で理解する

AWS の説明を読むと、VPC・サブネット・セキュリティグループ・ポート 443・プライベート IP と、ネットワークの言葉が最初から出てきます。ここが曖昧なまま進むと、「なんとなく設定したら動いた」か「なぜかつながらない」のどちらかになります。この記事は、クラウドを学ぶ前に要るネットワークの言葉を、3つの比喩と1枚の層の図で整理します。

この記事の結論

  • ネットワークとは、複数のコンピュータをつないでデータをやり取りできるようにしたもの。「つながっている」は、住所が分かり・経路があり・途中で止められていないの3つが揃った状態です。
  • IP アドレスは住所、ポート番号は建物の中の窓口、プロトコルは会話の約束事。この3つで通信の相手と中身が決まります。
  • 通信は層に分かれています。TCP/IP の4層のうち、クラウドで日常的に触るのは「インターネット層(IP)」と「トランスポート層(TCP/UDP)」と「アプリケーション層(HTTP・DNS)」です。
  • プライベート IP アドレスは内側でだけ通用する住所で、外へ出るには NAT で書き換えます。AWS の VPC は、この「内側の住所の範囲」を自分で決めるものです。
  • TCP は確認しながら順番どおりに送る、UDP は確認せずに送る。セキュリティグループの「TCP 443 を許可」は、この言葉で読めます。

ネットワークとは「住所・窓口・約束事」でつながる仕組み

ネットワークとは、複数のコンピュータをつないで、データをやり取りできるようにしたものです。家の Wi-Fi も、会社の LAN も、インターネットも、AWS の VPC も、規模が違うだけで同じ仕組みで動いています。

「つながっている」を分解すると、3つの要素になります。

  1. 住所が分かる。 相手のコンピュータが、ネットワーク上のどこにいるか。これがIP アドレスです。
  2. 窓口が分かる。 相手のコンピュータの中で、どのアプリに話しかけるか。これがポート番号です。
  3. 約束事が合っている。 どういう順番で、どういう形式のデータを送るか。これがプロトコルです。

たとえばブラウザで Web サイトを開くとき、ブラウザは「203.0.113.10(住所)の 443 番(窓口)に、HTTPS(約束事)で話しかける」ことをしています。住所が違えば届かず、窓口が閉じていれば門前払いされ、約束事が違えば会話が成立しません。ネットワークの不具合は、この3つのどれが欠けているかで切り分けます。

ADDRESS / PORT / PROTOCOL通信に要る3つ

住所・窓口・約束事が揃って、初めてつながる

  1. IP アドレス=住所

    相手のコンピュータがどこにいるか。192.168.1.10

  2. ポート番号=窓口

    その中のどのアプリか。443 は HTTPS

  3. プロトコル=約束事

    どう話すか。HTTP・DNS・TCP

3つのどれが欠けているかで、「つながらない」を切り分ける

IP アドレスは「住所」。内側の住所と外側の住所がある

IP アドレスは、ネットワーク上の機器につける住所です。いま広く使われている IPv4 では、0〜255 の数字を4つ並べて「192.168.1.10」のように書きます。数字は 32 ビットで表され、この決まりは 1981 年の RFC 791 で定められています。

IP アドレスには、通用する範囲が違う2種類があります。

種類 範囲 通用する場所 例
プライベート IP アドレス 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16(RFC 1918) 家・会社・VPC の内側だけ。インターネットには出られない 家の Wi-Fi の 192.168.1.10、VPC の 10.0.1.25
パブリック(グローバル)IP アドレス それ以外 インターネット全体で一意 Web サイトの 203.0.113.10

内側の機器が外へ出るときは、出口の機器(家の Wi-Fi ルーター、AWS の NAT ゲートウェイ)が、内側の住所を外側の住所に書き換えます。これがNATです。だから、家の中の何台ものパソコンが、外からは1つの住所に見えます。

AWS の VPC は、「内側の住所の範囲(たとえば 10.0.0.0/16)を自分で決めて、その中にサーバーを置く」ものです。この「/16」や「/24」という書き方(CIDR)は、VPC とは何かで扱います。いまは「内側の住所と外側の住所があり、境目で書き換えている」ことだけ掴んでください。

CHECK 1ここまでの確認

ブラウザが「203.0.113.10 の 443 番に HTTPS で話しかける」とき、443 番は3つのうちどれ?

答えと解説

答え: 2. 窓口(ポート番号)

ポート番号は、同じ住所(コンピュータ)の中でどのアプリに話しかけるかを選ぶ窓口です。443 は HTTPS が待ち受ける既定の窓口です。

ポート番号は「窓口」。同じ住所の中で相手のアプリを選ぶ

1台のコンピュータの中では、Web サーバー・SSH・データベースなど複数のアプリが同時に待ち受けています。住所(IP アドレス)だけでは、どのアプリに話しかけたいのか分かりません。そこで、0〜65535 の番号で窓口を区別します。これがポート番号です。

よく使う窓口は決まっています。

ポート 約束事 用途
22 SSH サーバーに入って操作する
53 DNS 名前から住所を引く
80 HTTP Web(暗号化なし)
443 HTTPS Web(暗号化あり)
3306 MySQL データベース
5432 PostgreSQL データベース

AWS のセキュリティグループで「インバウンドで TCP の 443 を許可」と書くのは、「この住所の 443 番の窓口だけ、外からの来訪を通す」という意味です。22 番(SSH)を全世界に開けたまま放置するのは、未経験の人が最初にやりがちな事故で、窓口の意味が分かっていれば避けられます。

PORT IS A DOORポートは窓口

開けた窓口だけが通り、それ以外は止まる

セキュリティグループ(インスタンスの門)

  • 443HTTPS 通る全世界から
  • 22SSH 通る自分の IP からだけ
  • 3306MySQL 止まる外から

プロトコルは「約束事」。層に分かれている

プロトコルは、通信の約束事です。「どういう順番で、どういう形式のデータを送るか」を決めたもので、送る側と受ける側が同じ約束事に従って初めて会話が成立します。

約束事は1つではなく、役割ごとに層に分かれています。インターネットで使われる TCP/IP のモデルでは4層です。

層 役割 代表的なプロトコル クラウドでの接点
アプリケーション層 アプリ同士の会話の中身 HTTP、HTTPS、DNS、SSH Web サーバーの設定、名前解決
トランスポート層 相手のアプリ(ポート)まで届ける。届いたか確認するかどうか TCP、UDP セキュリティグループの「TCP 443」
インターネット層 相手のコンピュータ(IP アドレス)まで、ネットワークをまたいで届ける IP、ICMP VPC、サブネット、ルートテーブル、ping
ネットワークインターフェース層 隣の機器へ物理的に届ける Ethernet、Wi-Fi AWS が担う(利用者は触らない)

なぜ層に分けるのか。上の層は、下の層がどう動いているかを知らなくてよいからです。ブラウザ(HTTP)は、相手が Wi-Fi でつながっているか光ファイバーかを気にしません。クラウドでは、一番下の層は事業者が担い、利用者はインターネット層から上を設計します。だから VPC の話は IP アドレスから始まります。

LAYERS約束事は層に分かれる

クラウドでは、インターネット層から上を利用者が設計する

オンプレミス

  • ネットワークインターフェース層(Ethernet・Wi-Fi)
  • インターネット層(IP・ICMP)
  • トランスポート層(TCP・UDP)
  • アプリケーション層(HTTP・DNS・SSH)

クラウド

  • ネットワークインターフェース層(Ethernet・Wi-Fi)
  • インターネット層(IP・ICMP)
  • トランスポート層(TCP・UDP)
  • アプリケーション層(HTTP・DNS・SSH)

利用者が設計する事業者が担う

TCP/IP の4層。上の層は、下の層がどう動いているかを知らなくてよい

CHECK 2ここまでの確認

192.168.1.10 という住所について正しいのはどれ?

答えと解説

答え: 2. 家や VPC の内側でだけ通用する住所

192.168.x.x は RFC 1918 で決められたプライベート IP アドレスの範囲で、内側でだけ通用します。外に出るときは NAT で書き換えられます。

TCP と UDP は「確認するか、しないか」

トランスポート層の2つのプロトコルは、クラウドの設定で毎日目にします。違いは1つです。

  • TCP は、相手に届いたかを確認しながら、順番どおりに送ります。最初に「話していい?」「いいよ」「じゃあ始める」の3往復(3ウェイハンドシェイク)で接続を作り、届かなかったデータは送り直します。Web・メール・SSH・データベースは TCP です。現在の仕様は RFC 9293 にまとまっています。
  • UDP は、確認せずに送りっぱなしにします。軽くて速い代わりに、届いたかは保証しません。DNS の問い合わせ・動画・音声は UDP です。仕様は RFC 768 で、わずか3ページです。

セキュリティグループの「TCP 443 を許可」「UDP 53 を許可」は、この違いを踏まえた書き方です。Web は TCP、DNS は UDP、と覚えておけば設定で迷いません。

TCP VS UDP確認するか、しないか

Web は TCP、DNS は UDP

TCP

届いたか確認しながら、順番どおりに送る

  • 最初に3往復で接続を作る(3ウェイハンドシェイク)
  • 届かなかったデータは送り直す
  • Web・メール・SSH・データベース

UDP

確認せずに送りっぱなし。軽くて速い

  • 接続を作らない
  • 届いたかは保証しない
  • DNS の問い合わせ・動画・音声
出典: RFC 9293(TCP)・RFC 768(UDP)

CHECK 3ここまでの確認

セキュリティグループに「UDP の 53 番を許可」と書くのは、何を通すため?

答えと解説

答え: 2. DNS の問い合わせ

DNS の問い合わせは UDP の 53 番を使います。Web は TCP の 443、SSH は TCP の 22 です。TCP と UDP の違いは「届いたか確認するかどうか」です。

まとめ

ネットワークとは、コンピュータ同士がデータをやり取りするためのつながりで、「つながっている」は住所・経路・通過の3つが揃った状態です。IP アドレスは住所、ポート番号は窓口、プロトコルは約束事。プロトコルは層に分かれ、クラウドではインターネット層(IP)から上を利用者が設計します。TCP は確認しながら、UDP は確認せずに送る。次のping と DNS で分かる「つながる」の仕組みで、この言葉を使って「つながらない」を切り分けます。

参照ソース

SCOREこの記事の確認テスト

0/3問 正解

各章の「ここまでの確認」に答えると、ここに集まります。結果はこの端末のブラウザにだけ残り、サーバには送りません。

FAQよくある質問

IP アドレスと MAC アドレスは何が違いますか?

IP アドレスはネットワーク上の住所で、ネットワークをまたいで相手を探すために使います。MAC アドレスは機器に焼き込まれた識別番号で、同じ LAN の中で隣の機器に届けるために使います。宛先の IP アドレスへ向かう途中、各区間では MAC アドレスで手渡しされています。

プライベート IP アドレスとパブリック IP アドレスの違いは?

プライベート IP アドレス(10.x.x.x・172.16〜31.x.x・192.168.x.x)は、家や会社や VPC の中でだけ通用する住所で、インターネットには出られません。パブリック IP アドレスはインターネットで一意な住所です。内側から外へ出るときは NAT で書き換えます。

TCP と UDP はどちらを覚えればいいですか?

両方の違いを1行で言えれば十分です。TCP は届いたか確認しながら順番どおりに送る(Web・メール・SSH)、UDP は確認せずに送る(DNS の問い合わせ・動画・音声)。クラウドのセキュリティグループで「TCP の 443 番を許可」と書くとき、この違いが分かっていると迷いません。

SAME TRACK同じ領域の記事

ping と DNS で分かる「つながる」の仕組み|名前解決から疎通確認まで、切り分けの順番
ping と DNS で分かる「つながる」の仕組み|名前解決から疎通確認まで、切り分けの順番 段0 土台仕組み