IP(Internet Protocol)には、IPv4とIPv6の2種類がある。どちらのバージョンも、IPパケットは「IPヘッダー」と「データ部」という2つの部分で構成されている。

 IPヘッダーはIPパケットを目的の場所に届けるための宛先ラベルに相当する部分、データ部はアプリケーションのデータを含むTCP(Transmission Control Protocol)セグメントなどが格納される部分だ。

IPパケットの構造
IPパケットの構造
[画像のクリックで拡大表示]

通信に必要な情報を格納

 IPヘッダーには、IPパケットの宛先や送信元を示すIPアドレスが含まれている。IPアドレスは、インターネットや企業ネットワーク内での機器の場所を表す情報だ。ネットワーク機器ごとに異なるIPアドレスが割り当てられる。

 宛先IPアドレスは、IPパケットを届ける相手の機器を示す。送信元IPアドレスは、IPパケットを送り出す機器を示す情報だ。宛先の機器が、受信したIPパケットに対して返信するときなどに使われる。

 IPヘッダーには、IPアドレス以外にも様々な情報が含まれている。例えば、「バージョン」はIPのバージョンを表す情報だ。IPv4であれば「4(2進数で『0100』)」、IPv6だと「6(2進数で『0110』)」という値が入る。

 「TTL(Time To Live)(IPv6での名称は『ホップリミット』)」は、IPパケットの最大転送数を示す値だ。インターネットでは、ネットワークとネットワークを「ルーター」という装置で接続する。ルーターがIPパケットを転送することで、ネットワーク越しの通信が可能になる。ルーターがIPパケットを転送するたびにTTLの値が1ずつ減少し、0になるとそのIPパケットは破棄される。

IPv4は32ビットの数字列

 IPヘッダーの中でも重要な役割を担う、IPアドレスについて詳しく見ていこう。IPアドレスはIPv4とIPv6で表記が異なる。IPv4のIPアドレスは32ビットの数字列で表す。2進数では0と1が32個並ぶビット列だ。ただし、2進数だと人間には分かりにくい。そこで8桁ずつピリオドで区切り、10進数に変換して表記するのが一般的だ。この区切り部分をオクテットと呼ぶ。

 例えば、「11000000101010000000000000000001」というIPアドレスを「11000000.10101000.00000000.00000001」と区切り、それぞれを10進数に変換して「192.168.0.1」と表記する。

IPv4のIPアドレスは32ビット
IPv4のIPアドレスは32ビット
[画像のクリックで拡大表示]

 IPv4アドレスは、ネットワークを識別するための「ネットワーク部」と、ネットワーク上の端末を識別するための「ホスト部」から成る。住所で例えると前者は都道府県市町村、ホスト部は番地に当たる。ネットワーク部の長さは固定ではないので、IPアドレスだけではどこまでがネットワーク部なのかが分からない。そこでサブネットマスクを使って、ネットワーク部の範囲を占めす。

 サブネットマスクは、IPアドレスと同じく32ビットの数字列で表す。IPアドレスのネットワーク部のビットを「1」、ホスト部の部分を「0」にする。2進数では分かりにくいので、IPアドレスと同様に8桁ずつ区切って10進数で表記することが多い。

 例えば、ネットワーク部が24ビットのサブネットマスクは「255.255.255.0」になる。IPアドレスの後ろに「/24」とネットワーク部のビット数を付記する方法もある。プレフィックス表記やCIDR(Classless Inter-Domain Routing)表記と呼ばれる。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。