+ 作るログイン
図を読み込んでいます…
1 / 14
ネットワークのしくみ ― 場所を知らない相手に、なぜ届くのか / 全8章

ネットワークのしくみ 4:IP アドレスとネットワークの区切り

発行
アニメモ公式
版
第1版
改訂
コマ
全14

送る前に PC が必ず決める「相手は同じネットワークか、外か」の判定を説明します。ネットワーク部とホスト部、/24 とサブネットマスクの意味、ビットでの区切り、デフォルトゲートウェイとデフォルトルート、区切りの大きさと「まとまり」(集約)、特別な番号、プライベートアドレス、IPv6 まで。

相手は、同じネットワークか、外か

3本目で、同じネットワークの中ならスイッチが小包を届けてくれること、でもスイッチには限界があり、外のネットワークへはルーターが要ることを見ました。

すると、小包を送る PC は、送る前に必ず1つのことを決めなければなりません。

相手は、同じネットワークの中にいるのか、外にいるのか。

同じなら、相手の MAC アドレス宛てにして直接渡します。外なら、出口のルーターに渡して、あとは任せます。この判定を間違えると、小包はどこにも届きません。

この作品では、PC がこの判定をどうやっているのかを見ます。ここから先は、図の小さなネットワークを舞台にします。左がネットワーク A(PC-A と PC-B がいる)、右がネットワーク B(サーバーがいる)、その間をルーター1とルーター2がつないでいます。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 1 / 14
  • 相手は、同じネットワークか、外か
  • PC-A
  • 192.168.1.10 MAC aa:aa
  • 送りたい
  • スイッチ
  • ルーター1
  • 10.0.0.0/30
  • ルーター2
  • サーバー
  • 192.168.1.1 MAC r1:r1
  • 10.0.0.2 MAC r2:r2
  • 203.0.113.10 MAC ss:ss
  • ネットワークB 203.0.113.0/24
  • PC-B
  • 192.168.1.20 MAC bb:bb
  • ネットワークA 192.168.1.0/24
  • 同じなら直接(スイッチ)。外なら出口のルーターへ。まずこれを決める。

IP アドレスは「ネットワーク部」と「ホスト部」に分かれる

1本目で、IP アドレスは住所のように「まとまり」で書かれている、と説明しました。その「まとまり」を正確に言うと、こうなります。

IP アドレスは、前半のネットワーク部と、後半のホスト部に分かれています。

部分192.168.1.10/24 では意味
ネットワーク部192.168.1どのネットワークか(町名)
ホスト部.10そのネットワークの中のどの機械か(番地)

後ろに付いている `/24` が、区切りの位置を表す印です。「前から24ビットがネットワーク部」という意味です。

区切りの位置は、ネットワークごとに違います。/8 のネットワークもあれば、/30 のネットワークもあります。だから IP アドレスだけでは区切りが分からず、必ず /24 のような印とセットで扱います。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 2 / 14
  • IP アドレスは「ネットワーク部」と「ホスト部」に分かれる
  • 192.168.1
  • .10
  • ネットワーク部(どのネットワークか)
  • ホスト部(その中の機械)
  • /24 =「前から24ビットがネットワーク部」という区切りの印
  • 区切りの位置はネットワークごとに違う(/8・/16・/24 …)
  • 192.168.1.10/24 なら、前の24ビットがネットワーク、残りが機械の番号。

中身は32個の 0 と 1。区切りはビットの位置で決まる

192.168.1.10 は、人間が読みやすいように10進数で書いたもので、コンピューターの中では 32個の 0 と 1(32ビット) です。点で区切られた4つの数字が、それぞれ8ビットずつを表しています。

/24 の区切りは、「前から24個目のビットのところで線を引く」という意味です。図の赤い線がその位置です。

同じことを、サブネットマスクという形でも書きます。区切りより前を全部 1、後ろを全部 0 にした32ビットで、/24 なら 255.255.255.0 になります。古い機械の設定画面では、/24 ではなくこの形で入力することが多いです。

書き方同じ意味
/24前から24ビットがネットワーク部
255.255.255.01 の部分がネットワーク部、0 の部分がホスト部

区切りが8の倍数(/8・/16・/24)なら、10進数の点の位置とちょうど重なるので分かりやすいです。そうでない区切り(/20 など)もあり、そのときはビットで考える必要があります。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 3 / 14
  • 中身は32個の 0 と 1。区切りはビットの位置で決まる
  • 192.168.1.10
  • 11000000
  • 10101000
  • 00000001
  • 00001010
  • マスク 255.255.255.0(/24)
  • 11111111
  • 11111111
  • 11111111
  • 00000000
  • ここで区切る
  • マスクの 1 が並ぶ部分 = ネットワーク部。0 の部分 = ホスト部
  • IP アドレスは 8ビット × 4。/24 は、前から24個目で線を引くということ。

PC-B 宛て:ネットワーク部が同じ → 直接渡す

では、PC-A が PC-B に送る場合を考えます。

PC-A は、自分の IP アドレス(192.168.1.10/24)と、相手の IP アドレス(192.168.1.20)のネットワーク部を比べます。自分の区切り(/24)で切ると、どちらも 192.168.1 です。同じです。

ネットワーク部が同じなら、相手は同じネットワークの中、つまり同じスイッチの先にいます。PC-A は、PC-B の MAC アドレスを宛先にして、直接送ります。3本目で見たとおり、スイッチが PC-B の口に届けてくれます。ルーターは通りません。

コンピューターの中では、自分の IP アドレスと相手の IP アドレスそれぞれに、マスクをかけて(1 の部分だけを残して)比べています。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 4 / 14
  • PC-B 宛て:ネットワーク部が同じ → 直接渡す
  • PC-A
  • 192.168.1.10 MAC aa:aa
  • スイッチ
  • ルーター1
  • 10.0.0.0/30
  • ルーター2
  • サーバー
  • → PC-B
  • 192.168.1.1 MAC r1:r1
  • 10.0.0.2 MAC r2:r2
  • 203.0.113.10 MAC ss:ss
  • ネットワークB 203.0.113.0/24
  • PC-B
  • 192.168.1.20 MAC bb:bb
  • 自分
  • 192.168.1 | .10
  • 相手
  • 192.168.1 | .20
  • ネットワークA 192.168.1.0/24
  • 判定
  • ネットワーク部が同じ → 直接(スイッチ経由)
  • 自分と相手のネットワーク部を比べる。同じなら、同じ線の上にいる。

サーバー宛て:ネットワーク部が違う → 外

次に、PC-A がサーバー(203.0.113.10)に送る場合です。

同じようにネットワーク部を比べると、自分は 192.168.1、相手は 203.0.113 です。違います。

ネットワーク部が違うということは、相手は自分の線の上にはいないということです。スイッチに頼んでも届きません。3本目で見たとおり、スイッチは外のことを何も知らないからです。

では、どうするのでしょうか。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 5 / 14
  • サーバー宛て:ネットワーク部が違う → 外
  • PC-A
  • 192.168.1.10 MAC aa:aa
  • → サーバー
  • スイッチ
  • ルーター1
  • 10.0.0.0/30
  • ルーター2
  • サーバー
  • 192.168.1.1 MAC r1:r1
  • 10.0.0.2 MAC r2:r2
  • 203.0.113.10 MAC ss:ss
  • ネットワークB 203.0.113.0/24
  • PC-B
  • 192.168.1.20 MAC bb:bb
  • 自分
  • 192.168.1 | .10
  • 相手
  • 203.0.113 | .10
  • ネットワークA 192.168.1.0/24
  • 判定
  • ネットワーク部が違う → 外のネットワーク
  • 203.0.113 は自分の 192.168.1 と違う。自分の線の上には、いない。

外宛ては、デフォルトゲートウェイ(出口のルーター)に渡す

外宛ての小包は、そのネットワークの出口にいるルーターに渡します。この出口のルーターをデフォルトゲートウェイと呼びます。図ではルーター1(192.168.1.1)です。

ここで大事なのは、小包の最終の宛先(IP アドレス)は `203.0.113.10` のままだということです。PC-A は「ルーター1に渡す」けれど、「ルーター1宛て」に書き換えるわけではありません。IP の札には相手のサーバーを書いたまま、MAC の札だけをルーター1宛てにして渡します。

「IP はサーバー宛て、MAC はルーター宛て」。1本目で見た「2種類の宛先」が、ここで初めて食い違います。どうやってルーター1の MAC アドレスを知るのかは、次の作品(ARP)で見ます。

ルーター1から先は、1本目で見たバケツリレーです。PC-A は、その先の道をまったく知りません。知らなくていいのです。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 6 / 14
  • 外宛ては、デフォルトゲートウェイ(出口のルーター)に渡す
  • PC-A
  • 192.168.1.10 MAC aa:aa
  • → サーバー
  • スイッチ
  • ルーター1
  • 10.0.0.0/30
  • ルーター2
  • サーバー
  • 192.168.1.1 MAC r1:r1
  • 10.0.0.2 MAC r2:r2
  • 203.0.113.10 MAC ss:ss
  • ネットワークB 203.0.113.0/24
  • PC-B
  • 192.168.1.20 MAC bb:bb
  • 渡す先
  • 192.168.1.1(ルーター1)
  • 最終の宛先
  • 203.0.113.10 のまま
  • ネットワークA 192.168.1.0/24
  • ここから先はルーターのバケツリレー
  • PC は外の道を知らない。出口のルーター1に渡して、あとは任せる。

PC が持っている設定は、たった4つ

ここまでの判定をするために、PC が持っている設定は、実はたった4つです。

設定例何に使うか
IP アドレス192.168.1.10自分の番号
サブネットマスク255.255.255.0(/24)同じネットワークかの判定
デフォルトゲートウェイ192.168.1.1外宛ての渡し先
DNS サーバー192.168.1.1名前から IP を引く先(8本目)

これだけで、PC は世界中のどこへでも小包を送り始められます。「どこへでも」と言っても、PC が知っているのは「自分のネットワークか、それ以外か」だけです。

家の PC やスマホでは、これらを手で入れることはほとんどありません。ネットワークにつないだ瞬間に、ルーターから自動でもらっています(8本目の DHCP)。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 7 / 14
  • PC が持っている設定は、たった4つ
  • IP アドレス
  • 192.168.1.10
  • サブネットマスク
  • 255.255.255.0(/24)
  • デフォルトゲートウェイ
  • 192.168.1.1
  • DNS サーバー
  • 192.168.1.1(名前を聞く先)
  • これだけで、世界中のどこへでも送り始められる
  • 自分の IP・区切り(マスク)・出口のルーター・DNS。多くは自動でもらう(8本目)。

PC の道しるべは、ほぼ2行しかない

1本目で、ルーターは「この宛先なら次はここ」という道しるべの表(ルーティングテーブル)を持っている、と説明しました。実は、PC も同じ形の表を持っています。中身は、ほぼ2行だけです。

宛先次の渡し先
192.168.1.0/24直接(同じ線の上)
0.0.0.0/0192.168.1.1(ルーター1)

2行目の 0.0.0.0/0 は、「ネットワーク部が0ビット」、つまりどんな宛先にも当てはまる行です。これをデフォルトルートと呼びます。「上の行に当てはまらなければ、全部ここへ」という意味です。

PC は、自分のネットワークのほかは、隣のネットワークのことすら知りません。それでも困らないのは、「分からないものは全部出口へ」という1行があるからです。この考え方は、6本目のルーターの表でもそのまま出てきます。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 8 / 14
  • PC の道しるべは、ほぼ2行しかない
  • 宛先
  • 次の渡し先
  • 192.168.1.0/24
  • 直接(同じ線の上)
  • 0.0.0.0/0(それ以外全部)
  • 192.168.1.1(ルーター1)
  • 0.0.0.0/0 = どの宛先にも当てはまる行。デフォルトルートと呼ぶ
  • PC は世界の地図どころか、隣のネットワークのことも知らない
  • 自分のネットワークなら直接。それ以外は全部、出口のルーターへ。

区切りの位置で、ネットワークの大きさが決まる

区切りの位置によって、1つのネットワークに入れる機械の数が変わります。

区切りホスト部入れる機械の数(目安)使われる場所
/824ビット約1,677万台大きな組織
/1616ビット約6.5万台大学・大企業
/248ビット254台家、小さな会社
/302ビット2台ルーター同士をつなぐ線

/ の数字が小さいほどネットワーク部が短く、ホスト部が長いので、たくさんの機械が入ります。

舞台のルーター1とルーター2の間は 10.0.0.0/30 です。この線につながるのはルーター2台だけなので、2台分あれば足ります。ルーター同士の間も、1つの小さなネットワークになっている、という点が大事です。ルーターは、ネットワークとネットワークの境目に立つ機械なのです。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 9 / 14
  • 区切りの位置で、ネットワークの大きさが決まる
  • /8
  • 約1,677万台(10.0.0.0/8 など)
  • /16
  • 約6.5万台
  • /24
  • 254台(家や小さな会社)
  • /30
  • 2台(ルーター同士の間など)
  • 舞台のルーター1とルーター2の間は 10.0.0.0/30。2台しかいないから
  • / の数字が小さいほど、ホスト部が長く、たくさんの機械が入る。

大きな区切りの中に、小さな区切りが入っている

区切りには、もう1つ大事な性質があります。大きな区切りの中に、小さな区切りを入れられることです。

たとえば、あるプロバイダ X が 203.0.112.0/20 という大きなまとまり(4,096個分)を持っているとします。プロバイダ X は、その中を /24 ずつに分けて、お客さんの会社に配ります。舞台のネットワーク B(203.0.113.0/24)も、その1つです。

すると、世界の反対側のルーターは、プロバイダ X のお客さん16社の /24 を1つずつ覚える必要がありません。「`203.0.112.0/20` はプロバイダ X の方面」の1行で済みます。細かい振り分けは、プロバイダ X の中のルーターがやります。

これを経路の集約と呼びます。1本目の郵便のたとえで言えば、大阪の局が「東京都」だけを見て、渋谷区の家を1軒ずつ覚えないのと同じです。

世界中のルーターの表が、何十億台の機械の数ではなく、ずっと少ない行数(インターネット全体でおよそ100万行)で済んでいるのは、このまとまりのおかげです。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 10 / 14
  • 大きな区切りの中に、小さな区切りが入っている
  • プロバイダ X の区切り 203.0.112.0/20(4,096個)
  • 203.0.112.0/24
  • 203.0.113.0/24
  • 203.0.114.0/24
  • 203.0.115.0/24
  • … の中に16個の /24 が入る(ネットワーク B の 203.0.113.0/24 もその1つ)
  • 世界の反対側のルーター:「203.0.112.0/20 はプロバイダ X の方面」の1行で済む
  • 遠くのルーターは大きな区切り1行だけ覚えればいい。これが「まとまり」の力。

各ネットワークの最初と最後の番号は、特別な意味を持つ

192.168.1.0/24 のネットワークには、.0 から .255 までの256個の番号があります。ただし、最初と最後の番号は機械には割り当てません。

番号意味
192.168.1.0(ホスト部が全部0)ネットワークそのものを表す
192.168.1.1〜.254機械に割り当てられる(254個)
192.168.1.255(ホスト部が全部1)このネットワークの全員宛て(ブロードキャスト)

/24 で入れる機械が256台ではなく254台なのは、このためです。

.1 をルーター(デフォルトゲートウェイ)にするのは、よくある慣習です。決まりではないので、.254 をルーターにしているネットワークもあります。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 11 / 14
  • 各ネットワークの最初と最後の番号は、特別な意味を持つ
  • 192.168.1.0
  • ネットワークそのものを表す番号
  • 192.168.1.1〜254
  • 機械に割り当てられる(254個)
  • 192.168.1.255
  • このネットワークの全員宛て(ブロードキャスト)
  • ホスト部が全部0はネットワーク自体、全部1は全員宛て。使えるのは残り。

インターネットでは使わない番号:プライベートアドレス

ここまで、舞台のネットワーク A に 192.168.1.0/24 という番号を使ってきました。実はこの番号は、インターネットでは使わない番号です。

IP アドレスの中には、「家や会社の中で、自由に使ってよい番号」として決められた範囲があります。これをプライベートアドレスと呼びます。

範囲よく使われる場所
10.0.0.0/8大きな会社、クラウドの中
172.16.0.0/12(172.16〜172.31)中くらいの規模
192.168.0.0/16家庭のルーターの多く

世界中の家で 192.168.1.10 という PC が何百万台も重なっていますが、困りません。インターネットのルーターは、この範囲を宛先にした小包を運ばないので、ぶつからないのです。

では、192.168.1.10 の PC が、どうやってインターネットのサーバーと話しているのでしょうか。外に出るときに、家のルーターが送信元の番号を自分の番号に書き換えているからです。これを NAT と呼び、8本目で詳しく見ます。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 12 / 14
  • インターネットでは使わない番号:プライベートアドレス
  • 10.0.0.0/8
  • 大きな会社など
  • 172.16.0.0/12
  • 中くらいの規模
  • 192.168.0.0/16
  • 家庭のルーターの多く
  • 世界中の家で 192.168.1.10 が重なっていても困らない。 外に出るときに、家のルーターが自分の番号に書き換えるから(8本目の NAT)
  • 10.x・172.16〜31.x・192.168.x は、家や会社の中で自由に使ってよい番号。

IPv6 でも考え方は同じ

IPv4 の番号(約43億個)が足りなくなったために作られた IPv6 でも、考え方はまったく同じです。

2001:db8:1:2::10/64 なら、前の64ビットがネットワーク部、後ろの64ビットがホスト部です。IPv6 では、1つのネットワークを /64 にするのがほぼ決まりになっています。

番号が128ビットに長くなり、書き方が16進数になっただけで、「前半で方面、後半で機械」「同じネットワークなら直接、外ならルーターへ」という仕組みは変わりません。

IPv6 は番号が十分にあるので、プライベートアドレスと NAT に頼らなくてもよい、という違いがあります。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 13 / 14
  • IPv6 でも考え方は同じ
  • 2001:db8:1:2
  • ::10
  • ネットワーク部(/64 がほぼ決まり)
  • ホスト部
  • 番号が長くなっただけで、「前半で方面、後半で機械」は変わらない
  • 2001:db8:1:2::10/64。前の64ビットがネットワーク、後ろが機械。

まとめ:IP アドレスと区切り

この作品で見たことをまとめます。

項目内容
ネットワーク部とホスト部前半がどのネットワークか、後半がその中の機械か
/24 とマスク区切りの位置。前から何ビットがネットワーク部か
同じか外かの判定自分と相手のネットワーク部を比べる
同じなら相手の MAC 宛てに直接(スイッチ)
外ならデフォルトゲートウェイ(出口のルーター)へ。IP は相手のまま
PC の表自分のネットワーク と それ以外全部(0.0.0.0/0)の2行
集約大きな区切り1行で、中の小さな区切りをまとめて表せる

冒頭の疑問に引きつけると、PC は「外」の道を1つも知らない、というのがこの作品の結論です。知っているのは「外はルーター1へ」だけ。そして、区切りの「まとまり」があるおかげで、遠くのルーターも少ない行数で方面を決められます。

残る疑問は、「外宛ての小包を、IP はサーバーのまま、MAC だけルーター1宛てにする」とき、ルーター1の MAC アドレスをどうやって知るのか、です。次の作品で、ARP を見ていきます。

  • ネットワークのしくみ 4 / 8 ― IP アドレスと区切り
  • 14 / 14
  • まとめ:IP アドレスと区切り
  • PC-A
  • 192.168.1.10 MAC aa:aa
  • → サーバー
  • スイッチ
  • ルーター1
  • 10.0.0.0/30
  • ルーター2
  • サーバー
  • 192.168.1.1 MAC r1:r1
  • 10.0.0.2 MAC r2:r2
  • 203.0.113.10 MAC ss:ss
  • ネットワークB 203.0.113.0/24
  • PC-B
  • 192.168.1.20 MAC bb:bb
  • 同じか外か
  • ネットワーク部を比べる
  • 外なら
  • デフォルトゲートウェイへ
  • ネットワークA 192.168.1.0/24
  • 遠くでは
  • 大きなまとまり1行で済む
  • 次は、出口のルーターへ渡すとき「隣の MAC」をどう知るか(ARP)。

0 件のコメント

読み込み中…

権利侵害・不適切な内容の連絡: [email protected]