Featured image of post IPアドレスの構造──ネットワーク部とホスト部を理解する【第20回】

IPアドレスの構造──ネットワーク部とホスト部を理解する【第20回】

この記事でわかること

  • ネットワーク部:IPアドレスの前半部分で「どのネットワークか」を示す
  • ホスト部:IPアドレスの後半部分で「そのネットワーク内のどの機器か」を示す
  • 同じネットワーク内の機器はネットワーク部が共通で、ホスト部だけが異なる
  • ホスト部がすべて0のアドレスと、すべて1のアドレスは機器に割り当てられない
  • どこで区切るかは「サブネットマスク」が決める(詳細は次の記事)

はじめに

前回の記事で、IPアドレスには「どのネットワークか」を示す部分と「そのネットワーク内のどの機器か」を示す部分があると触れました。前者をネットワーク部、後者をホスト部と呼びます。

ここを理解すると、「なぜ 192.168.1.1192.168.1.100 が同じネットワーク内にいるとわかるのか」「ルーターがどうやって転送先を判断しているのか」が見えてきます。


郵便局の例で整理する

前回の記事で郵便局の例を使いました。A地区の郵便局員はA地区の配達を担当し、B地区宛の手紙はB地区の郵便局へ転送するという話でしたね。

この例をIPアドレスに当てはめると、こうなります。

郵便局の住所体系              IPアドレスの構造
─────────────────────────────────────────────────
「A地区の郵便局」         ←→  ネットワーク部
  (担当エリアの識別)           (どのネットワークか)

「郵便局内の席番号」       ←→  ホスト部
  (郵便局内の個人識別)         (そのネットワーク内のどの機器か)

192.168.1.10 というIPアドレスであれば、192.168.1 がA地区の郵便局(ネットワーク部)、10 があなたの席番号(ホスト部)にあたります。

    192.168.1  .  10
  ┌────────────┐┌──────┐
  │ネットワーク部││ホスト部│
  │ A地区の郵便局 ││ 席番号 │
  └────────────┘└──────┘

ネットワーク部とは

ネットワーク部は、IPアドレスの前半部分で「このアドレスがどのネットワークに属しているか」を示します。

同じネットワーク内の機器は、全員が同じネットワーク部を持っています。逆に言えば、ネットワーク部が異なる機器は別のネットワークに属しています。

ルーターはパケットを受け取るたびに宛先IPアドレスのネットワーク部を確認し、「このパケットは自分のネットワーク宛てか、それとも別のネットワーク宛てか」を判断します。これがルーティングの核心です。


ホスト部とは

ホスト部は、IPアドレスの後半部分で「同じネットワーク内のどの機器か」を区別するための番号です。

Host(ホスト):もともとは「もてなす人・主人」を意味する言葉。ネットワークの文脈では「ネットワーク上に存在する機器」を指します。

同じネットワーク内では、ホスト部の数値がそれぞれ異なります。ネットワーク部が「どの郵便局か」を示すなら、ホスト部は「その郵便局内の席番号」にあたります。


具体例:自宅ネットワークで見てみる

自宅のネットワークを例に、ネットワーク部とホスト部の関係を確認しましょう。

機器              IPアドレス       ネットワーク部    ホスト部
────────────────────────────────────────────────────────
ルーター          192.168.1.1      192.168.1        1
PC                192.168.1.10     192.168.1        10
スマートフォン     192.168.1.20     192.168.1        20
タブレット         192.168.1.30     192.168.1        30

ネットワーク部 192.168.1 はすべて共通です。これが「同じネットワークに属している」ことを示しています。ホスト部(最後の数値)だけが異なり、これで機器を区別しています。

一方、Googleのサーバーは 142.250.xx.xx のようなアドレスを持っています。先頭の数値群が自宅の 192.168.1 とは全く異なり、別のネットワークに属していることがわかります。

🏠 自宅のネットワーク(ネットワーク部:192.168.1)
   192.168.1.1    ← ルーター
   192.168.1.10   ← PC
   192.168.1.20   ← スマートフォン

🌐 Googleのネットワーク
   142.250.xx.xx  ← Googleのサーバー(ネットワーク部が異なる)

ルーターはネットワーク部を見て転送先を決める

ルーターがどのように判断しているか、2つのケースで確認しましょう。

ケース①:PC → Googleのサーバー(別ネットワーク宛て)

PCからGoogleへパケットを送ると、自宅ルーターは宛先 142.250.xx.xx のネットワーク部を確認します。自宅のネットワーク部 192.168.1 とは異なるため、「外部へ転送すべきパケット」と判断してインターネット側へ送り出します。

PC(192.168.1.10)→ 自宅ルーター
                        ↓ 宛先のネットワーク部を確認
                        ↓「192.168.1 ではない → 外部へ転送」
                        ──────────────────▶ インターネットへ

ケース②:PC → スマートフォン(同じネットワーク宛て)

PCからスマートフォン(192.168.1.20)へパケットを送ると、ルーターは宛先のネットワーク部が 192.168.1 と一致することを確認します。「自分のネットワーク内の機器宛てだ」とわかり、インターネットへ転送せずスイッチ経由でスマートフォンへ直接届けます。

PC(192.168.1.10)→ 自宅ルーター
                        ↓ 宛先のネットワーク部を確認
                        ↓「192.168.1 と一致 → 同じネットワーク内」
                        ──────────────────▶ スイッチ経由でスマートフォンへ

なぜ2つに分ける必要があるのか

ネットワーク部とホスト部に分ける理由は、ルーターの管理コストを現実的な規模に抑えるためです。

もし「ネットワーク部」という概念がなく、すべての機器に完全にランダムなIPアドレスが割り当てられていたとします。このとき、世界中の何十億台もの機器それぞれの場所をルーターが個別に記憶しなければ、パケットを正しく転送できません。前回の記事で「MACアドレスだけでは届かない理由」として触れた問題と同じです。

ネットワーク部・ホスト部という2層構造にすることで、ルーターは「個々の機器の場所」ではなく「ネットワーク単位の場所」だけを覚えれば済むようになります。

郵便の例に戻すと、全国の配送センターは「どの市区町村へ向かうか」だけを知っていれば荷物を転送できます。その市区町村の中のどの番地へ届けるかは、地元の配達員が担当する。役割を分担することで、それぞれが管理すべき情報量が現実的な規模に収まっています。

インターネット上のルーター    →  ネットワーク単位で転送先を判断
    (全国の配送センター)         (この市区町村の郵便局へ転送)

宛先ネットワーク内のスイッチ  →  ホスト部を見て最終的な機器へ届ける
    (地元の配達員)               (この番地の田中さんへ届ける)

使えないアドレスがある

ネットワーク部が決まると、ホスト部で使える値には2つの「予約済み」アドレスが生まれます。

ネットワークアドレス:ホスト部の全ビットが0のアドレスです。機器に割り当てるためのアドレスではなく、「このネットワーク全体」を代表する識別子として使われます。

ブロードキャストアドレス(broadcast:broad「広い」+ cast「投げる」=「広く投げかける」):ホスト部の全ビットが1のアドレスです。そのネットワーク全体へ一斉に送信するときに使います。機器への個別割り当てには使いません。

192.168.1 をネットワーク部とする例では、こうなります。

192.168.1.0    ← ネットワークアドレス(機器に割り当て不可)
192.168.1.1    ┐
192.168.1.2    │
   ...         │ 機器に割り当て可能(254個)
192.168.1.253  │
192.168.1.254  ┘
192.168.1.255  ← ブロードキャストアドレス(機器に割り当て不可)

0〜255の256通りから2つが予約済みとなるため、実際に機器へ割り当てられるアドレスは 254個です。


区切り位置はどうやって決まるのか

ここまで 192.168.1 をネットワーク部、最後の1組をホスト部として説明してきました。ただし、IPアドレスだけを見ても区切り位置はわかりません。区切り位置を示すのが**サブネットマスク(subnet mask)**です。

Subnet(サブネット):sub(部分的な・下位の)+ net(ネットワーク)=「ネットワークを分割した部分的な区画」

サブネットマスクは 255.255.255.0 のような形式をしており、「どこまでがネットワーク部か」をIPアドレスとセットで示します。

たとえば、IPアドレス 192.168.1.10 にサブネットマスク 255.255.255.0 が組み合わさることで、「最初の3組(192.168.1)がネットワーク部、最後の1組(10)がホスト部」と確定します。サブネットマスクがなければ、192.168.1.10 を見ただけではどこが区切り位置なのかわかりません。

詳しい仕組みは次の記事で扱います。


よく見かける区切り方

サブネットマスクの値によって、ネットワーク部とホスト部の長さが変わります。よく使われる3パターンを整理します。

サブネットマスク ネットワーク部 ホスト部 割り当て可能な機器数 主な用途
255.255.255.0 最初の24ビット 最後の8ビット 254台 一般家庭・中小企業
255.255.0.0 最初の16ビット 最後の16ビット 65,534台 大企業・大学
255.0.0.0 最初の8ビット 最後の24ビット 16,777,214台 大規模ISP・データセンター

自宅のネットワークでよく使われるのは 255.255.255.0 です。最初の3組(24ビット)がネットワーク部で最後の1組がホスト部になり、最大254台の機器を収容できます。

一方、大企業や大学では 255.255.0.0 が使われることがあります。ホスト部が16ビット分あるため、65,534台という膨大な機器を1つのネットワーク内に収容できます。さらに大規模なISP(Internet Service Provider:Internet「インターネット」+ Service「サービス」+ Provider「提供する事業者」=「インターネット接続サービスを提供する事業者」)やデータセンターでは 255.0.0.0 を使い、約1,677万台という単位で管理することもあります。

なお、個人がインターネットに接続するとき契約する「プロバイダー」「回線業者」がISPにあたります。NTTやSoftBank、OCNなどが代表例です。


まとめ

  • ネットワーク部:IPアドレスの前半。「どのネットワークか」を示し、同じネットワーク内の機器で共通
  • ホスト部:IPアドレスの後半。「そのネットワーク内のどの機器か」を区別する
  • ルーターはネットワーク部を確認して「同じネットワーク内か、別ネットワーク宛てか」を判断する
  • ホスト部がすべて0のアドレス(ネットワークアドレス)と、すべて1のアドレス(ブロードキャストアドレス)は機器に割り当てられない
  • 区切り位置を決めるのがサブネットマスクで、詳細は次の記事で扱う

次の記事では、サブネットマスクの仕組みを詳しく見ていきます。255.255.255.0 という数値が「最初の24ビットがネットワーク部」をどのように表しているのか、その仕組みが明らかになります。