レイヤ3 -ネットワーク層- サブネットマスク

今回はサブネットマスクの理解です。私も「255.0.0.0」、「255.255.0.0」、「255.255.255.0」以外のサブネットマスクだとすぐにはピンとこないのですが、理屈を抑えておけば理解は簡単です。是非仕組みを理解しましょう。 サブネットのマスクである まず、そもそも「サブネットマスク」という言葉ですが、これは『「ネットワーク」を複数の「サブネットワーク」に分割するための「マスク」』というように私は理解しています。 ネットワークは分割される TCP/IPのネットワークは大きく扱うこともできるのですが、ブロードキャスト(同一ネットワーク上の全てのホストに対してパケットを送る)が数多くとびかってしまい、これがネットワーク全体のパフォーマンスを下げてしまったり、ホストに対しても負荷をかけてしまったりするため、適当な大きさに「分けて」使うということをします。同時に、セキュリティ上の理由からも複数のネットワークに分けておき、ネットワークの分け目の部分でパケットのコントロールを行うようなこともあります(ファイアウォール)。 とまぁ、このようなわけでネットワークを分割するニーズがあります。 クラス、CIDR 昔はネットワークの分割方法としては以下の5つだけでした。 - クラスA(0.0.0.0-127.255.255.255) - クラスB(128.0.0.0-191.255.255.255) - クラスC(192.0.0.0-223.255.255.255) - クラスD(224.0.0.0-239.255.255.255) - クラスE(240.0.0.0-255.255.255.255) ですが、これだとちょっと粒度が大きすぎるということで、CIDRという手法が一般的に用いられるようになりました。これはルーターがルーティングする際の情報を集約できるようにするための手法なのですが、これがそのままホスト上のTCP/IPの設定にも反映されているわけです。これによって、サブネットマスクのビット長は可変になりました。 うん。ちょっと良くわからない説明になってきてますね。今回はルーターの話は省略して、ホスト上のサブネットマスク周りの話に焦点を絞って、もうちょっと具体的に説明しようとしてみます。 IPアドレス、サブネットマスク、ネットワークアドレス IPアドレスがあります。 - IPアドレス1 - 192.168.1.1 - IPアドレス2 – 192.168.1.130 唐突ですが、問題です。「2つのIPアドレスは同一ネットワーク上にあるでしょうか、それとも別ネットワークにあるでしょうか?」 昔なら(5つのクラスしかなかったときならば)答えは「同一ネットワーク」でした。ですが、今現在としては「サブネットマスクが提示されていないからわからない(どちらでもありうる)」ということになります。 それでは具体的にサブネットマスクを提示してみます。 - パターン1 IPアドレス1 - 192.168.1.1 / 255.255.255.0 - IPアドレス2 – 192.168.1.130 / 255.255.255.0 - パターン2 IPアドレス1 - 192.168.1.1 / 255.255.255.128 - IPアドレス2 – 192.168.1.130 / 255.255.255.128 - パターン3 IPアドレス1 - 192.168.1.1 / 255.255.255.192 - IPアドレス2 – 192.168.1.130 / 255.255.255.192 それぞれのパターンで同一ネットワークか別ネットワークにあるかわかりますでしょうか?判別するには「IPアドレスをサブネットマスクでマスクしてあげて、ネットワークアドレスを求め、それを比較する」ことが必要です。また、コンピューターの中では全て0,1で計算されているので、このあたりは2進数に変換すると非常に理解しやすくなります。2進数にしてから考えて見ます。 ...

July 7, 2009 · 2 min · 胡田昌彦