IT の基礎

IP アドレスとサブネット

IPv4 アドレスは 32 桁の 0 と 1 で、10.0.0.0/24 のような CIDR 表記は「先頭 24 桁が同じアドレスのまとまり」を表します。Google Cloud ではサブネットごとにこの範囲を決め、範囲が重なるネットワークどうしはそのままではつなげません。

ネットワークにつながったコンピュータは、IP アドレスという番号で相手を見分けます。今広く使われている IPv4 のアドレスは 32 桁の 0 と 1 で、10.0.0.0/24 のような CIDR 表記は「先頭の 24 桁が同じアドレスのまとまり」を表します。このまとまりをサブネットと呼びます。Google Cloud でネットワークを作るときは、サブネットごとにこの範囲を自分で決めます。範囲が重なったネットワークどうしはそのままではつなげないので、最初に決める数字が設計の制約になります。

IP アドレスは 32 桁の 2 進数

コンピュータの中では、数はすべて 0 と 1 の並び (2 進数) で扱われます。0 か 1 の 1 桁をビットと呼びます。IPv4 アドレスは 32 ビットで、人が読みやすいように 8 ビットずつ 4 つに区切り、それぞれを普段の 10 進数に直して点でつなぎます。8 ビットで表せる数は 0〜255 なので、192.168.1.256 のようなアドレスはありません。

192.168.1.10/2419211000000168101010001000000011000001010ネットワーク部 24 ビットホスト部先頭 24 ビットが同じなら、同じサブネット
/24 なら先頭 24 ビットがネットワーク部で、そこが同じアドレスどうしが同じサブネットに入る。残りの 8 ビットでサブネットの中の 1 台ずつを区別する。

32 ビットで作れるアドレスは 2 の 32 乗、約 43 億個です。世界中の機器に配るには足りないので、後継の IPv6 (128 ビット) もありますが、Google Cloud のサブネットの設計で最初に決めるのは IPv4 の範囲です。

CIDR 表記とサブネットマスク

/24 の数字をプレフィックス長と呼び、先頭の何ビットがネットワーク部かを表します。残りがホスト部で、ホスト部のビット数を n とすると、そのサブネットには 2 の n 乗個のアドレスがあります。/24 ならホスト部が 8 ビットなので 256 個です。プレフィックス長が 1 増えるとアドレスの数は半分になります。

同じ区切りを、ネットワーク部を 1、ホスト部を 0 にして 10 進数で書いたものがサブネットマスクです。古い機器の設定画面ではこちらの書き方が出てきます。

CIDRサブネットマスクアドレスの数
/8255.0.0.016,777,216
/16255.255.0.065,536
/20255.255.240.04,096
/24255.255.255.0256
/26255.255.255.19264
/29255.255.255.2488

ホスト部をすべて 0 にしたアドレスが、そのサブネットの先頭であるネットワークアドレスです。10.0.0.0/24 の範囲は 10.0.0.0 から 10.0.0.255 までになります。

大きな範囲を同じ大きさに切り分ける

サブネットは、大きな範囲を切り分けて作ります。プレフィックス長を 1 増やすと 2 つに、2 増やすと 4 つに分かれます。部署やシステムごとにサブネットを分けておくと、通信の許可や禁止をサブネット単位で決められます。

10.0.0.0/24256 個4 つに分ける10.0.0.0/2664 個10.0.0.64/2664 個10.0.0.128/2664 個10.0.0.192/2664 個
/24 を 4 つに分けると、プレフィックス長が 2 増えて /26 が 4 つになる。区切りの位置は 64 ごと。

下の計算機に CIDR を入れて、範囲と数、分けた結果を確かめてください。2 進数の太字がネットワーク部です。

試すサブネット計算機

同じ大きさに分ける

00001010.00000000.00000000.00000000

ネットワークアドレス
10.0.0.0/24
サブネットマスク
255.255.255.0
範囲
10.0.0.0 〜 10.0.0.255
アドレスの数
256 個
Google Cloud で VM に使える数
252 個
プライベートアドレス
はい

/24 は先頭 24 ビットがネットワーク部 (2 進数の太字) で、残り 8 ビットで端末を区別します。2 の 8 乗で 256 個です。

Google Cloud は先頭 2 つと末尾 2 つを予約するので、VM に付けられるのは 10.0.0.2 〜 10.0.0.253 です。

プライベートアドレスは組織の中だけで使う

インターネット上で通じるアドレス (パブリックアドレス) は、世界で 1 つずつしかありません。これとは別に、組織の中だけで自由に使ってよい範囲が RFC 1918 で決められています。これをプライベートアドレスと呼びます。

  • 10.0.0.0/8 (10.0.0.0〜10.255.255.255)
  • 172.16.0.0/12 (172.16.0.0〜172.31.255.255)
  • 192.168.0.0/16 (192.168.0.0〜192.168.255.255)

家庭の Wi-Fi で 192.168. から始まるアドレスが配られるのは、この範囲を使っているからです。プライベートアドレスは別の組織と同じ値を使っていてもかまわない代わりに、そのままではインターネットに出られません。

Google Cloud のサブネットで気をつけること

Google Cloud のサブネットのドキュメントによると、各サブネットの先頭 2 つと末尾 2 つのアドレスは Google Cloud が予約します。/24 なら 256 個のうち、VM に付けられるのは 252 個です。作れるサブネットの大きさは /29 (8 個) から /4 までです。

設計で特に気をつけるのは、範囲の重なりです。別々の VPC (Google Cloud の中に作る自分専用のネットワーク) どうしをつなぐときや、オンプレミスのネットワークと VPN でつなぐとき、両方に同じ範囲のサブネットがあると、どちらに送ればよいか決められません。オンプレミスで 10.0.0.0/16 を使っている会社が、Google Cloud にも同じ範囲でサブネットを作ってしまうと、後から接続するときに作り直しになります。つなぐ予定のある相手の範囲を先に確かめ、重ならない範囲を割り当てます。VPC の分け方は VPC の設計、オンプレミスとの接続はオンプレミス・マルチクラウドとの接続で扱います。

次のページでは、IP アドレスで届いたデータを、どのアプリが受け取るかを決めるポート番号と、TCP と UDP の違いを扱います。

理解度チェック

答えを開く前に、自分で考えてください。結果はこのブラウザにだけ残り、間違えた問題は復習のページでまとめて解き直せます。

思い出す

192.168.10.0/24 というサブネットで、/24 は何を表していますか。この範囲にアドレスはいくつありますか。

状況で選ぶ

本社のネットワークは 10.0.0.0/16 を使っています。Google Cloud に新しく VPC を作り、あとで本社と VPN でつなぐ予定です。VPC のサブネットにはどの範囲を選ぶのがよいですか。

説明する

VPC のサブネットの範囲を決めるとき、今使っている台数ぴったりの小さな範囲 (例: /28) を選ばないほうがよいのはなぜですか。