連載
|
|
|
以上のようなクラスA/B/CというIPアドレスの分類は、ネットワークの規模に応じてIPアドレスを使い分けるために決められたものである。だがIPアドレスの値による固定的なネットワーク・マスクでは、あまり柔軟にネットワークを構築することができないという問題点がある。例えば、複数あるネットワーク・セグメントのうち、そのほとんどは総ホスト数が250台以下だが、そうでないネットワーク・セグメントも幾つかあるとする。このような場合は、クラスCで全ネットワークを構成することはできず、幾つかはクラスBにしなければならない。管理する都合からいえば、すべてを同じクラスにして、系統立てて管理したいところだ。
そこで、ユーザー自身が自由にネットワーク・アドレスとホスト・アドレスを決定できるようにするために、TCP/IPでは「サブネット分割」という手段が用意されている。これは、クラスごとのデフォルトのネットワークをさらに細かく分割して、より小さな「サブネット」として取り扱うという手法である。いままではIPアドレスを「ネットワーク・アドレス」と「ホスト・アドレス」の2つに分けていたが、サブネット対応のTCP/IPネットワークでは、新たに「サブネット・アドレス」部を設けている。つまりIPアドレスを「ネットワーク・アドレス」と「サブネット・アドレス」「ホスト・アドレス」の3つに分けるのである。
サブネット分割 |
デフォルトのアドレス・クラスだけでは柔軟性に欠けるので、さらにサブネットに分割することにより、より細かい単位のネットワークを構築できるようになる。172.16.0.1というアドレスはもともとはクラスBであり、ネットマスクは255.255.0.0である。サブネットに1byte分割り当てることにより、1ネットワークあたりのホスト数が250台程度と少なくなるものの、新たに256のサブネットワークが確保できるので、ネットワーク構築の自由度が高くなる。 |
新たに用意される「サブネット・アドレス」は、もともとは「ホスト・アドレス」として使われていた部分である。ホスト・アドレスの上位何bitかをサブネットの番号として扱う(サブネット・アドレスは、ネットワーク・アドレスに隣接するように分ける)。元のネットワークをいくつのサブネットに分けるかはネットワークの構成に応じて自由に決めてよい。バイト単位で分けておくと、IPアドレスを10進数のドット区切り形式で表現した場合に分かりやすいというメリットがあるが、実際にはビット単位で任意に決めることができる。
サブネット分割した場合のネットマスク値は、「ネットワーク・アドレス」と「サブネット・アドレス」の両方の部分を含むような形のマスクになる。例えばクラスBのデフォルトのネットマスクは「255.255.0.0」であるが、このネットワークをさらに256個のサブネットに分割するならば、最終的なネットマスクは「255.255.255.0」となる。
ネットマスク(2進数表記) | ドット区切り表記 |
11111111 11111111 00000000 00000000 | 255.255.0.0 |
11111111 11111111 10000000 00000000 | 255.255.128.0 |
11111111 11111111 11000000 00000000 | 255.255.192.0 |
11111111 11111111 11100000 00000000 | 255.255.224.0 |
11111111 11111111 11110000 00000000 | 255.255.240.0 |
11111111 11111111 11111000 00000000 | 255.255.248.0 |
11111111 11111111 11111100 00000000 | 255.255.252.0 |
11111111 11111111 11111110 00000000 | 255.255.254.0 |
11111111 11111111 11111111 00000000 | 255.255.255.0 |
11111111 11111111 11111111 10000000 | 255.255.255.128 |
11111111 11111111 11111111 11000000 | 255.255.255.192 |
11111111 11111111 11111111 11100000 | 255.255.255.224 |
11111111 11111111 11111111 11110000 | 255.255.255.240 |
11111111 11111111 11111111 11111000 | 255.255.255.248 |
11111111 11111111 11111111 11111100 | 255.255.255.252 |
ネットマスクの例 | |
クラスBのデフォルト・ネットマスク(255.255.0.0)を1bitずつ増加させた場合のネットマスクの値。クラスBのデフォルト・ネットマスクは16bitであるが、ホストの総数などに応じた小さなサブネットに分割することにより、IPアドレス空間を効率よく利用することができる。なお、表の右端の10進数表記における128や192、224、……という数値は、ネットマスクの表記時によく出てくる数値なので、そのマスク・パターン(ビット・パターン)とともによく覚えておいていただきたい。 |
グローバルIPアドレスのサブネット分割 現在では、組織内のホストにプライベートIPアドレス(後述)を割り当ててネットワークを構築するのが普通である。管理者は適当なクラスのプライベートIPアドレスを使って、ネットワーク全体を自由に構築すればよい。例えばクラスCのプライベートIPアドレス(192.168.0.0〜192.168.255.255/24)を使えば、サブネット分割を使わなくても256個のネットワーク・アドレスを使用することができる。 だがいまから10年ほど前までは、インターネットに接続する場合は、各ホストにグローバルIPアドレスを割り当てて使うのが普通であった。インターネットに接続するホストの数を公式な機関に申請して、クラスBやクラスCのIPアドレスを“組織に対して”割り当ててもらうのである(現在ではプロバイダ経由でしか割り当てられず、プロバイダを変えるとIPアドレスも変わることになる)。そして組織内では、その公式なクラスBやクラスCのIPアドレスをサブネット分割して、各ネットワークやホストなどに割り当てていた。 |
クラスごとのデフォルトのネットマスクではなく、ユーザー自身が決めた自由なネットマスク(正確には、デフォルトの「ネットマスク」と、サブネット・アドレスのための「サブネット・マスク」を合成したもの)を使うことにより、ネットワークの規模などに応じて、柔軟にネットワークを構築できるようになった。ホスト数の多いネットワークには大きなサブネットを割り当て、ホスト数の少ないネットワークには小さなサブネットを割り当てればよいからだ。
ただし、TCP/IPの設定や管理を行う場合には、ネットマスクについても常に意識しておく必要がある。クラスのデフォルト・ネットマスクは、IPアドレスごとに固有なので間違うことはないが、サブネットを使ったネットワークでは、正しいネットマスクは環境ごとに異なるからだ。ネットマスクの値を間違えると、ブロードキャストやルーティングなどが正しく行えなくなる可能性がある。TCP/IPの設定やトラブルシューティングでは、IPアドレスだけでなく、必ずネットマスク(やデフォルト・ゲートウェイ、DNSサーバなど)についても確認する必要がある。
サブネット分割からCIDRへ
サブネットを使うことによりネットワーク構成の柔軟性が増したが、「ネットワーク・アドレス」と「サブネット・アドレス」および「ホスト・アドレス」の3つを意識しなければならない。これに対して現在では、より汎用性の高い、「CIDR(Classless Inter-Domain Routing、サイダー)」というIPアドレスの管理方法が一般的になっている。
CIDRは、もともとはネットワークを集約して(サブネットを集めてより大きなネットワークに変換すること)、ルーティング情報(ルーティング・テーブル)の圧縮を図るために考えられた機能である(詳細については次回のルーティングの項で解説)。すでに説明したように、現在のTCP/IPの仕様では、ネットマスクの値は最上位ビットから何ビット連続して1がセットされているかで表すことができる。例えばIPアドレスが172.16.0.1でネットマスクが255.255.240.0ならば、172.16.0.1/20と表現することができる。このようにCIDRでは、IPアドレスのうち、最上位の方から何bitをネットワーク・アドレス部に使うかという方法で管理している。サブネット分割の場合と違って、IPアドレスの「クラス」や「サブネット・アドレス部」というものを意識せずに(任意のIPアドレスと任意のネットマスク長を組み合わせることができる)、すべてのIPアドレスを「IPアドレス」と「ネットマスク(のビット数)」だけで統一的に管理している。
CIDRにおけるIPアドレスの扱い |
デフォルトのIPアドレス・クラスやサブネットには関係なく、IPアドレスとネットマスクをシンプルに管理する。 |
このようにしてネットワーク・アドレスを扱うことにより、自由にルートの集約や分割が可能になる。例えば172.16.0.0/20と172.16.16.0/20という2つのネットワークがあった場合、これをまとめて172.16.0.0/19と表現することもできる(上位から19bitが同じため)。このようにして、ルーティング・テーブルのエントリ数を節約することにより、ルータの負担を減らすことができるなどの効果がある(詳細は次回)。インターネットの世界では、このCIDRにより、世界的なルーティング情報の集約や管理などを行っている。またネットワークの規模に応じた適切なアドレス割り当てができるというメリットもある(例:ホスト数が1000台程度ならば、ホスト部が10bitのネットワーク・アドレスを割り当てればよい。従来ならばクラスBが必要だった)。
INDEX | ||
[連載]基礎から学ぶWindowsネットワーク | ||
第8回 アドレス・クラスとさまざまなIPアドレス | ||
1.IPアドレスのクラス | ||
2.サブネットワークへの分割 | ||
3.さまざまなIPアドレス | ||
連載 |
- 第107話 シャープな人々 (2008/1/15)
先輩、先輩の時計、進んでません? ああほら、1分も進んじゃってる。電波時計じゃないんですか。これならほら、秒までぴったりですよ - Windows TIPS (2008/1/11)
− Wordをセーフ・モードで起動する
− Adobe Readerのバージョンをリモートから確認する
− Active Directory移行ツールでドメイン情報を移行する - 強化されたActive Directoryサービス(後編) (2008/1/10)
強化されたActive Directory機能解説の後編。専任の管理者がいないブランチ・オフィスをサポートするための機能について詳説 - SharePoint2007のプロファイル機能を理解する (2008/1/9)
SharePointのプロファイル機能について解説。情報共有において重要な認証の仕組みとセキュリティについて学ぶ
|
|
スポンサーからのお知らせ
- - PR -
お勧め求人情報
**先週の人気講座ランキング**
〜プロジェクトマネジメント編〜
◆ | New! 納得の開発環境「MyEclipse」で構築する Amazon Webサービスを利用したECサイト! |
◆ | New! “予防”と“発見”で強化する内部統制 ――@IT主催内部統制セミナー詳細 |
◆ | 「番次郎さん、WSSが使えそうです!」 “いぶき”がついに、難題突破口を発見! |
◆ | ORACLE MASTER取得者へ林優子氏が指南! 「次に身に付けるべきスキルとは……」 |
◆ | フロントシステムの4つの課題を解決! 企業システムでAjaxが実用化段階に |
◆ | サン&オラクル推奨のデータベース環境。 驚きのパフォーマンス性能に迫る! |
◆ |
2008年:これが成功するITエンジニア像だ! 〜エンジニア・キャリア進化論(第2回)〜 |
◆ | オープンソースのアプリケーションサーバ GlassFishのレシピを紹介します! |
◆ | 「地方のエンジニアも幸せにしたい」 その思いがニアショア開発へとつながった |
◆ | 「学ぶ」だけで「経験」が身に付く? ITエンジニアの私が大学に入学した理由 |
◆ | ■ メール管理者の悩みを軽減する! ■ 情報漏えい、スパム対策の最新アプローチ |
◆ | マーケティングのプロがSPSSを選んだ 理由:「プロでなくても使えるから」 |
◆ | フリーエンジニアのための社会保険入門 万が一の時、リスクにどう備えるべきか? |
◆ | ■ボトルネックバスターズ 2■ 連載 第2話 「彗星寺先生」現る!――答えはどっちだ!? |
◆ | 障害の発生前に事前通知!!復旧時間を 早める切札で、サーバ管理がラクになる! |