IP(Internet Protocol)とは

/ネットワーク

概要

IP(Internet Protocol)とは、インターネットでの通信において、パケット(IPパケット)を宛先のネットワークやホストに届けるためのプロトコルです。OSI参照モデルのネットワーク層(第3僧)に相当します。

IPでは、宛先のホストや送信元の指定にIPアドレスが使用されます。IPアドレスは、同じネットワーク上で重複があってはならず、インターネットで用いられるグローバルIPアドレスについては、管理団体によって管理がされています。

現在普及しているIPv4(IP version 4)は、1981年に発行されたRFC791で規定されました。32ビットのIPアドレスを持ち、最大で約42億台の機器が同じネットワーク上で指定ができます。

一方、次世代のIPv6(IP version 6)では、IPv4のアドレス枯渇問題を解決するため128ビットに拡張がされており、1995年に発行されたRFC1883などで規定されました。

IPv4

IPアドレス

IPv4のIPアドレスは、1バイト毎に区切られた4バイト(32ビット)で表されますが、ネットワーク部とローカル部の2つに分けられます。ネットワーク部は、公的な機関により管理と割り当てが行われ、ローカル部は、ネットワーク部を割当てられた各組織によって管理されます。

ローカル部は、さらにサブネット部とインターフェース部に分かれています。これは、各組織の中で、ネットワークを分けて管理するために使用されます。

IPアドレスのクラス

ネットワーク部のビット数は、クラス(A~D)により異なります。以下は、ネットワーク部のビットを「N」、ローカル部のビットを「L」で表しています。

クラス 上位16ビット 下位16ビット
クラスA 0NNNNNNN
1~127
LLLLLLLL
0~255
LLLLLLLL
0~255
LLLLLLLL
0~255
クラスB 10NNNNNN
128~191
NNNNNNNN
0~255
LLLLLLLL
0~255
LLLLLLLL
0~255
クラスC 110NNNNN
192~223
NNNNNNNN
0~255
NNNNNNNN
0~255
LLLLLLLL
0~255
クラスD 1110NNNN
224~239
MMMMMMMM
0~255
MMMMMMMM
0~255
MMMMMMMM
0~255

クラスAは上位1ビットが「0」、クラスBは上位2ビットが「10」、クラスCは上位3ビットが「110」、クラスDは上位4ビットが「1110」で定義されており、それぞれ区別がつくようになっています。尚、クラスDのアドレスはマルチキャスト用のアドレスです。

サブネットマスク

サブネットとは、1つの組織の中で分けられたネットワークのことです。組織のネットワーク管理者が、サブネットを分ける理由は以下になります。

  • ローカルなトラフィックを他のネットワークから分離する。
  • 地理的に離れたネットワークを分割する。
  • あるネットワーク資源へのアクセスを制限する。

サブネットマスクとは、サブネットの範囲を相手に伝えるための方法で、IPアドレスのビットの中でネットワーク部とサブネット部を「1」、インタフェース部を「0」で表します。

例えば、クラスCのIPアドレスで、サブネット部が2ビットの場合、サブネットマスクは「255.255.255.192」と表します。

サブネット
マスク
11111111
255
11111111
255
11111111
255
11000000
192
ビット構成 NNNNNNNN NNNNNNNN NNNNNNNN SSLLLLLL

この例では、各機器に割り当てられるインタフェース部は6ビット(64通り)ですが、この内オール0はネットワークアドレス、オール1はブロードキャストアドレスに割り当てられており使用できません。そのため、割り当てられるIPアドレスの数は最大で62台($=2^{\mbox{ビット数}}-2$)となります。

IPパケット

IPv4のパケット構成は以下になります。

各フィールドの役割りは以下になります。

名称 サイズ 機能
バージョン 4bit プロトコルのバージョンを表す。IPv4では0x0100。
ヘッダ長 4bit IPヘッダ長を4バイトの倍数で表す。最小値は5。
サービスタイプ 8bit IPパケットの優先度などを表すが、現在はほとんど使用されていない。
全長 16bit IPパケット全体の長さをバイト単位で表す。
識別番号 16bit フラグメンテーション(分割)されたIPパケットを識別する。
フラグ 3bit フラグメンテーションで利用される。
フラグメント
オフセット
13bit フラグメント化されたIPパケットの全体の中の位置を8バイトの倍数で表す。
生存時間 8bit IPパケットの生存時間を表す。
プロトコル 8bit 上位層のプロトコル(1:ICMP、6:TCP、17:UDP)を表す。
チェックサム 16bit ヘッダ部分のチェックサムを表す。
送信元IPアドレス 32bit 送信元の機器のIPアドレスを表す。
宛先IPアドレス 32bit 送信先の機器のIPアドレスを表す。
オプション 0~40B IPヘッダの拡張部。
データ部 IPパケットのペイロード。TCPなら最小で20B、UDP/ICMPなら最小で8B。

IPv6

IPアドレス

IPv6では、128ビットのIPアドレスを持ち、IPv4のアドレス空間が大幅に拡張されています。128ビットのIPアドレスは、2バイトごとにコロン(:)で区切って表記されます。尚、各区切りの先頭の0や、0ビットが続く場合は省略することができます。

2001:0db8:0000:0000:0000:ffff:0012:3456
(省略形)2001:db8::ffff:12:3456

IPv6では、自動的に自身が使うIPアドレスを生成して設定する仕組みがあるため、IPアドレスをユーザが設定する必要はありません。128ビットのうち、上位64ビットはルータから指定され、下位64ビットはコンピュータ自身が生成します。

IPアドレスの種類

IPアドレスは利用目的により、3つの種類に分かれます。

  • ユニキャスト・アドレス
    1対1の通信で利用される。
  • マルチキャスト・アドレス
    あるグループに属した複数台のコンピュータに同時にデータを送る場合に指定する。動画の同時配信などでの利用を想定している。
  • エニーキャスト・アドレス
    サーバの負荷分散などでの利用を想定している。このアドレスを指定すると、複数あるサーバの中から一番近い先を自動的に選択されるようになる。

IPv6ではブロードキャスト・アドレスはなくなり、その代わりにマルチキャスト・アドレスが利用されます。尚、マルチキャスト・アドレスとエニーキャスト・アドレスは、ユニキャスト・アドレスとは別に設定ができます。

ユニキャスト・アドレスはさらに3つの種類に分けられており、サイトローカル・アドレスとリンクローカル・アドレスについては、利用場所を限定して別の場所との重複が許されています。

  • グローバル・アドレス
    インターネット上で使うアドレスで、世界で一意である必要がある。
  • サイトローカル・アドレス
    ある組織内に閉じた通信に用いる。IPv4のプライベート・アドレスに相当する。先頭から48ビットは「fec0:0:0」に固定。
  • リンクローカル・アドレス
    ルータを介さず通信できる範囲(リンク)でコンピュータ同士の通信に利用する。ルータからの情報取得の際に利用されている。先頭から64ビットは「fe80:0:0:0」に固定。

IPパケット

IPv6のパケット構成は以下になります。

各フィールドの役割りは以下になります。

名称 サイズ 機能
バージョン 4bit プロトコルのバージョンを表す、IPv6では0x0110
トラフィッククラス 8bit IPパケットの優先度を表す。
フローラベル 20bit マルチキャスト通信において、通信経路の品質を確保したり、経路を優先的に選択させたりするために使用する。
ペイロード長 16bit 拡張ヘッダとデータ部の合計サイズ。IPv6の基本ヘッダ部(40B)は含まない。
ネクストヘッド 8bit 拡張ヘッダや上位プロトコルのタイプを表す。
ホップリミット 8bit IPパケットが通過できるルータ数を表す。ルータを1つ通過するたびに1づつ減算される。
送信元IPアドレス 128bit 送信元の機器のIPアドレスを表す。
宛先IPアドレス 128bit 送信先の機器のIPアドレスを表す。
拡張ヘッダ 0~ 複数の拡張ヘッダが格納される。

 

トランスポート層とは
TCP/IPモデル第4層、通信制御、TCP、Transmission Control Protocol、UDP、User Datagram Protocol
LANとは
Local Area Network、データリンク層、フレーム、MACアドレス、ブロードキャストドメイン、イーサネット、ユニキャスト
IT
マネジメント、セキュリティ、ネットワーク、システム
散策路TOP
数学、応用数学、古典物理、量子力学、物性論、電子工学、IT、力学、電磁気学、熱・統計力学、連続体力学、解析学、代数学、幾何学、統計学、論理・基礎論、プラズマ物理、量子コンピュータ、情報・暗号、機械学習、金融・ゲーム理論

 

タイトルとURLをコピーしました