今回はOSI参照モデルのネットワーク層で重要なIPとIPアドレスについてまとめてみました。
IPアドレスについてはこちらの記事で既に解説しているため、併せて読んでいただけるとより理解が深まると思います。
キーワード:OSI参照モデル、インターネット層、IP、IPアドレス
IPとは
IPとはインターネット層のプロトコルです。インターネット層とはOSI参照モデルの第3層目です。
インターネット層は、通信経路になっているデータリンクの違いを無視できるように、異なる種類のデータリンクであってもパケットを配送することによって、別のデータリンクに接続されているコンピュータ間での通信を可能にします。
IPには2つのバージョンがありIPv4とIPv6があります。
IPアドレスとは
IPアドレスはネットワーク層で使用されるアドレスのことです。
TCP/IPで通信する全てのホストやルーターは必ずIPアドレスを設定しなくてはいけません。
Amazonで商品を配達してもらうには住所が必要ですね。インターネットでもパケットを配送するために住所(IPアドレス)が必要です!
ただし、ブリッジやスイッチングハブなど、OSI参照モデル第1層、2層である物理層やデータリンク層でパケットを中継する機器にはIPアドレスを設定する必要はありません。
IPアドレス(IPv4アドレス)は32ビットの数値で表されます。8ビットずつ4つの組みに分けて、10進数で表します。
例:255.255.255.255や0.0.0.0など
IPアドレスには「ネットワーク部」と「ホスト部」に分けられます。IPアドレス=[ネットワーク部]+[ホスト部]となっています。
ネットワーク部はデータリンクのセグメントごとに割り振られます。ホスト部は同一セグメント内で一意に割り当てられます。
学校で例えるならば、ネットワーク部がクラス組でホスト部が番号です。仮に番号が7番だったとしても、クラス組を見ればただ一人に特定できます。
インターネットでも、ホスト部が同じだったとしてもネットワーク部が異なっていれば唯一性を持つことができます。
IPアドレスには4つのクラスがあります。ここでは詳細に紹介しませんが、IPアドレスの先頭が何で始まるかで分類されます。
ホスト部をビットで表したときに全て0にする、または1にすることはできません。それは、それぞれにあらかじめ決められた役割があるからです。ホスト部が全て0というアドレスはネットワークアドレスを表します。全てのビットが1というアドレスはブロードキャストアドレスという、同一リンク(同じ地域的な)に接続された全てのホストにパケットを送信します。
例:クラスBのIPアドレス172.20.0.0のブロードキャストについて考えます。ここクラスBとは、IPアドレスの先頭2ビットが「10」で始まり、ホスト部が16ビットのIPアドレスのことを指す。
16ビット分がホスト部であることから172.20.255.255がブロードキャストアドレスです。
サブネットマスク
インターネットが成長するにつれて効率的なアドレス規則にする必要がありました。
そこでサブネットマスクとよばれる識別子が導入されました。これはクラスをさらに小さく区切ることができる識別子です。
ここでは、IPアドレスを10進数ではなく2進数の状態で考えます。IPアドレスのネットワーク部を表すビットと同じ桁が1になり、ホスト部を表すビット桁が0になります。
サブネットマスクはIPアドレスの上位ビットから連続している必要があります。
例えば、111…111000…0のように1が連続しなくてはいけません。
172.20.100.52というIPアドレスがあり、上位26ビットがネットワーク部だとします。一般的にIPアドレスの直後にスラッシュを書き、ネットワークアドレスの桁数を書きます。
今回は26ビットであることから「172.20.100.52/26」と表せます。
IP、IPアドレスを使ってパケット配送
TCP/IPではネットワークの1区間をIPパケットが飛ぶことをホップといいます。また、IPの経路制御(ルーティング)はホップバイホップルーティングという方式がとられています。
ホップバイホップルーティングは次の転送先となるルーターやホストの宛先をIPパケットに伝えます。それぞれの区間ごとにこの転送処理を行なって、最終目的地までパケットを配送します。
宛先がわかったらネットワークという道に沿って配送していきます。この道を指定しているのが経路制御表(ルーティングテーブル)です。
IPでは分割処理(フラグメンテーション)を行います。分割処理とは大きなIPパケットを複数の小さなIPパケットに分割します。分割されたパケットは送信先のホストで再び1つにまとめられます。
よって、IPの上位層から見ると送信要求した長さ(分割されていない状態)のままパケットが届くようになります。こうして上位層がネットワーク層の詳細について考えなくても通信が可能になりました。
IPはコネクションレス型
IPはパケット送信前に通信相手との間にコネクションの確立を行いません。このことをコネクションレス型といいます。
コネクションレス型では、相手のホストの電源が切れていたり、存在しない場合でもパケットを送信できてしまいます。
コネクションを確立しないことにより高速化が見込めます。
おわりに
今回はネットワーク層で使われるプロトコルのIPとIPアドレスについてまとめてみました。
ネットワーク技術を理解する上で絶対に必要であるため、復習するとよいです。筆者も忘れていた知識があったのでまだまだ学習する余地がありそうでした。
IPアドレスとドメインについて記事を出しているのであわせて読むと理解がより一層深まるのではないでしょうか。ぜひ読んでみてください!
コメント