この際のネットマスクの設定の方法についての質問ですが,クラスA,クラスCのナチュラルマスクとして,10.0.0.0/8, 192.168.0.0/24という指定をすることは理解しやすいのですが,クラスBについて,ナチュラルマスクを意識した172.16.0.0/16ではなく,172.16.0.0/12という中途半端なマスク長を指定するのは何故でしょうか。クラスBにおいて,セカンドオクテットの最初の4ビットをサブネットワークとして使うことができるのでしょうか? もしそうなら何故10.0.0.0/4, 192.168.0.0/20などとは設定しないのでしょうか? 更に172.16.0.0/24, 172.16.0.0/28, 192.168.0.0/24, 192.168.0.0/28などというネットワークも有り得ると思うのでが,何故これらに対してはフィルタリングしないのでしょうか?
http://yougo.ascii24.com/gh/32/003216.html
ASCII24 - アスキー デジタル用語辞典 - プライベートアドレス
プライベートアドレスの一覧はURLを参照してください。
172.16.0.0/12 になっているのは、172.16.0.0 〜 172.31.255.255 までのアドレスすべてを指定するためです。
”クラスB”(という言い方は最近しないですが)のアドレスが16個予約されていることになります。もちろん、4ビットをサブネットワークに割り振ることも自由にできます。
http://www.atmarkit.co.jp/icd/root/43/5784343.html
Insider's Computer Dictionary [サブネットマスク] − @IT
他の例は、10.0.0.0/4 を指定してしまうと 上位4ビットが 0 であるもの全てがマスクされてしまうので、4.1.2.3 などの正当なグローバルアドレスも含まれてしまいます。
172.16.0.0/24 を指定したとしても 172.16.0.0 〜 172.16.0.255 までしか網羅しないので 172.16.0.0/12 にすべて含まれています。
http://www.mm-labo.com/computer/tcpip/ipaddress/privateaddress.h...
IPアドレスとプライベートアドレス
プライベートIPアドレスの範囲がそうなっているから、としか答えようがないような気が・・・
172.16.0.0/16〜172.31.0.0/16のクラスBのネットワークが16個集まったものが、プライベートIPとして予約されています。この範囲のアドレスをすべてカバーするのが172.16.0.0/12なわけです。
10.0.0.0/8というクラスAネットワーク1つがプライベートIPアドレスなので、それを超える10.0.0.0/4はグローバルIPを含むことになってしまいます。
172.16.0.0/24などの指定は、172.16.0.0/12の指定でカバーされていますので、改めて指定する必要がありません。
最初の方とほぼ同じ説明内容ですね。ぼくの理解が足りていないということなんでしょう。
ABC.com
URLはダミーです。
172.16.0.0/12は
172.16.0.0/16から172.31.255.255/16までの範囲をカバーしています。
以下の2進数で上位4ビットが同じなので
172.16.0.0/12は172.16.0.0/16から172.31.255.255/16までのクラスBのプライベートアドレスの範囲を指定するときに使われます。
16 00010000
17 00010001
18 00010010
19 00010011
20 00010100
21 00010101
22 00010110
............
31 00011111
上位4ビットが全部同じ→/16 でなくて /12 で足りる、という説明は良く分かりました!
http://www.nic.ad.jp/ja/translation/rfc/1918.html
プライベート網のアドレス割当(RFC 1918)
RFC1918で、プライベートアドレスの範囲が
規定されています。その中で、クラスB用に、172.16.0.0-172.31.255.255 が用意されていますが、これをまとめて書くと、172.16.0.0/12 となるわけです。
それが何故 /12 という指定で足りるか、というところが理解できていませんでした。
http://www.hatena.ne.jp/1088548469
いわゆるIP spoofingに対する対策として,LANの外にあるプライベートアドレスからのパケット,LANの外部にあるプライベートアドレスへのパケット送信を許可しないフィルタ.. - 人力検索はてな
URLはダミーです。
>192.168.0.0/24という指定をすることは理解しやすい
192.168.0.0/16ですね。
>もしそうなら何故10.0.0.0/4
10.0.0.0/4はパプリックアドレスも含まれるので設定しません。
>192.168.0.0/20などとは設定しないのでしょうか?
192.168.0.0/20は、192.168.0.0/16に含まれているので、設定の必要はありません。
>172.16.0.0/24, 172.16.0.0/28
172.16.0.0/12に含まれています。
>192.168.0.0/24, 192.168.0.0/28
192.168.0.0/16に含まれています。
>172.16.0.0/12という中途半端なマスク長を指定するのは何故でしょうか。
機器がCIDRに対応していれば、クラスに拘る必要が無いのですが
クラスは理解しているようなので、あえてクラスを使って説明します。
172.16.0.0/12とは
172.16.0.0/16, 172.17.0.0/16, ..., 172.31.0.0/16の集合体です。
すみません、今までの他の方の説明を見たので分かりましたが、最初にそう言われると分からなかったと思います。
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
この範囲のアドレスがプライベートアドレスであると定義されています
192.168. は24ビットではなく16ビットマスクです
16進数1バイトが4桁として捕らえるよりも、2進数1ビットが32桁と捕らえてください
1行目は先頭から8ビットが 00001010 であれば続きはどのような値でもプライベートとみなす
2行目は先頭から12ビットが 101011000001 であれば続きはどのような値でもプライベートとみなす
3行目は先頭から16ビットが 1100000010101000 であれば続きはどのような値でもプライベートとみなす
と、言う意味です
便宜上8桁づつ束ねると2行目の 0001 の残り4桁がどのような値をとってもよいので
16進数にすると10〜1Fまでの値をとることになります
10進数にすると16〜31です
Windows を使用しているのでしたら電卓を表示してモードを関数電卓に変えるとわかりやすいと思います
これらのアドレスはグローバルネットワークでは使用してはいけません
つまりグローバルネットワークからこの範囲のIPアドレスを送信元として
パケットが送られてくることはありえませんし
送られてきた場合はそれは「怪しい」ということになります
また、会社や自宅のプライベートアドレスから、アドレスをそのままに
送信することも許されませんので
これらをフィルタを通すことによってそもそもなかったことにしてしまうのが
IP spoofing Filter です
グローバルネットワーク上でこれらのアドレスがやり取りされることを阻止すればいいだけなので
フィルターマスクはそれぞれ上位8・10・12ビットが該当した際
パケットを破棄してしまえばよいということになります
ちなみにプライベートネットワーク内で、会社の部署や自宅の家族がそれぞれ
複数台のPCを接続して運用している場合は
グローバル・ルータA・プライベート・ルータB:各部署それぞれのプライベート
となり、ルータBでは台数に応じて24ビットや28ビットなどのマスクで
フィルタリングをしたほうがいいかもしれませんが
グローバルを扱うルータAには預かり知らぬことなので、
標準以外のフィルタリングルールを意識する必要はありません
グローバルネットワークから送られてくる「正常な」パケットは
送信元、送信先ともに3行のアドレス範囲以外の数字になることが保証されていますので
正常なパケットを通すか破棄するかは、今回の話とは少し変わってきます
詳細なご説明ありがとうございました。頭が整理できました。
う〜ん、半分分かったような...。もう少し頭を整理します。