2013年11月29日金曜日

プレフィックスとは何だっ!?

今度はsimple-routerを見たいところですが、さすがに難しいですね。
パッと見てわかるようになりたいです。

何よりルータのプログラムを作る(読む)には、ルータの仕組みが分かっていないと難しいです。
「クラウド時代のネットワーク技術 OpenFlow実践入門」にも簡単に仕組みが書いてありました。

今回はsimple-routerから離れて、IPアドレスのプレフィックスについて調べてみました。
こんな事はWebに詳しく書いてあるじゃんって思うかもしれませんが、自分の理解のためにまとめてみます。

ご存じのとおり、IPアドレスは32bitで表します(IPv4)。
プレフィックスとは、IPアドレスをネットワーク部分とホスト部分に分けたうちのネットワーク部分の長さを表すものです。
よく「192.168.1.0/24」という書き方を見ると思いますが、この「/24」の部分をプレフィックス(プレフィックス長)と言います。

「/24」の24はビット数の事で、IPアドレスの先頭から何ビットまでがネットワーク部分かを表します。
そのプレフィックスからどうやってネットワーク部分を表すかというと、以下のようになります。

1.IPアドレスを2進数で表現すると32桁の0か1の並びになります
(例)192.168.1.10の場合は以下のようになります。
※見やすいように8けたで区切っています
11000000.10101000.00000001.00001010  ・・・①

2.IPアドレス32桁のうち、プレフィックスの数だけ先頭から1を並べ残りは0にします
この値をサブネットマスクといいます。

(例)192.168.1.10/24の場合は以下のようになります。
11111111.11111111.11111111.00000000  ・・・②

この2つのIPアドレスを縦にAND演算するとネットワーク部分のIPアドレスが取り出せます。
※AND演算は0 AND 0 = 0、1 AND 0 = 0、1 AND 1 = 1 になります。

①11000000.10101000.00000001.00001010
②11111111.11111111.11111111.00000000
-----------------------
 11000000.10101000.00000001.00000000

この値を10進数表示にすると、192.168.1.0になります

以上です

0 件のコメント:

コメントを投稿