前回、前々回とOSI参照モデルを用いてプロトコルの階層について説明した。ネットワークは基本的に、一部の物理層を除いて可視化できず複雑そうなので抵抗があったかもしれないが、各レイヤ(階層)ごとに分けて考えると意外と分かりやすいと感じた人も少なくないと思う。「何となくイメージがつく」ということが今の時点では大事で、本連載の狙いでもある。
さて、毎回自分の中で恒例にしていたつまらない小話は不評(?)に終わっている感があるので省略するとして、今回はこの連載によく登場する「IPアドレス」をもう少し掘り下げて説明してみよう。やはりIPアドレスは基本中の基本で、確実に押さえる必要がある。
IPアドレスは、端末がネットワーク上のどこにいるのかを表す住所や電話番号のようなもので、IPプロトコルを使用してデータを送る際には必ず必要となる。そしてこのアドレスは数列で表される。
「192.168.0.2」というような表記を一度でも見たことがある方は多いかと思う。「.」(ドット)で区切られた4列のこの表記はまさにIPアドレス(IPv4)を指しており、32ビット10進法で表す。
上の図の通り、本来ならば物理層での電気信号のように「0」「1」の2進法で表すべきところだが、「2の8乗」などは非常に読みにくいので、通常見やすくて理解しやすい10進法で表す。
さてこの4列で表されたIPアドレスは電話番等に似ており、文字列に意味がある。電話番号には「市外局番」と「番号」があり、それぞれ属している地域グループと独自の番号を表す。それに対しIPアドレスには、「ネットワーク部」と「ホスト部」があり、それぞれどこのドメインに所属しているか(市外局番)、その中のどの端末なのか(番号)を表す。ネットワーク部とホスト部は、例えば以下のように分けられる。
IPアドレスは、世界に1つしかないユニークなアドレスなので、所属するネットワーク部は、同じグループ(ドメイン)同士でない限り重複していてはならない。
では、どこからどこまでがネットワーク部で、どこからがホスト部なのか。実は区別の仕方が2種類ある。「クラス分け」と「サブネット(マスク)分け」である。1つずつ見てみよう。