前回、OSI参照モデルとTCP/IPを整理しました。今回は、ネットワーク層の具体的な内容として、「IPアドレス」と「サブネットマスク」の計算方法を整理します。
IPアドレスとは
IPアドレスとは、ネットワーク上の機器を識別するための、住所のような番号のことです。試験でよく扱われるIPv4のアドレスは、32ビットの数値を、8ビットずつ4つに区切り、それぞれを10進数で表す形で表記されます。
例えば「192.168.1.1」というアドレスは、8ビットごとの数値を、ピリオドで区切って表したものです。以前整理した基数変換の知識が、ここでそのまま活きてきます。
ネットワーク部とホスト部
IPアドレスは、「ネットワーク部」と「ホスト部」という、2つの部分に分けて考えます。
- ネットワーク部:そのアドレスが、どのネットワークに属しているかを表す部分
- ホスト部:同じネットワークの中で、どの機器かを表す部分
この、どこまでがネットワーク部で、どこからがホスト部かを表すための情報が、「サブネットマスク」です。
サブネットマスクとは
サブネットマスクは、IPアドレスと同じく32ビットの数値で、ネットワーク部にあたるビットをすべて1、ホスト部にあたるビットをすべて0として表します。
例えば、サブネットマスクが「255.255.255.0」であれば、最初の24ビット(255.255.255の部分)がネットワーク部、残りの8ビット(最後の0の部分)がホスト部を表している、という意味になります。
ネットワークアドレスの求め方
IPアドレスとサブネットマスクが分かれば、そのアドレスが属するネットワークそのものを表す「ネットワークアドレス」を求めることができます。
求め方は、IPアドレスとサブネットマスクを、ビットごとにAND演算する、というものです。以前整理した論理演算のANDが、ここで実際の計算に使われる形になります。
例えば、IPアドレスが「192.168.1.10」、サブネットマスクが「255.255.255.0」の場合、両方のビットをANDすると、ホスト部にあたる最後の8ビットはすべて0になり、ネットワークアドレスは「192.168.1.0」となります。
学習してみた感想
IPアドレスの計算は、数字の羅列に見えて身構えていましたが、基数変換や論理演算といった、これまで整理してきた単元の知識が、そのまま計算の土台になっていることに気づき、学習の順番のありがたさを感じました。ネットワーク部とホスト部を、AND演算で切り分けるという発想も、丸暗記ではなく、以前の知識とのつながりで理解できたのがよかったです。
次回は、科目Bに戻り、ハッシュ表の仕組みと衝突対策を整理します。
