【NET技術.002】IPについて①
佐藤@IT雑貨屋です。
ここではTCP/IPプロトコルの中核になるIPについて少しまとめたいと思います。ネットワークの仕事をしていると、都度このIPに関する事が出てきますので、とても重要な内容です。
◆IPの役割について
IP(Internet Protocol)では、以下三つの役割があります。
①IPアドレスによる識別
IPではIPアドレスにより通信相手を識別します。ネットワークに接続されている通信
相手となる機器には、Pアドレスが付与されます。
②経路制御(ルーティング)
ルーティングは、宛先ホストまでパケットを届ける為の転送する仕組みです。
個々のルータが宛先IPアドレスをチェックして、次に転送を行うルータを決定
します。
➂IPパケットの分割と再構築
データリンクごとに異なる最大転送単位(MTU:Maximim Transmission Unit)
に合わせてパケットを分割します。通信の途中経路で、MTUがパケットより小さい
データリンクがあった場合、さらに分割されることもあります。分割された
パケットは、途中では再構築されず、宛先のホストに到着した時点で一つに
まとめられます。
◆IPヘッダ
IPを利用して通信を行う時には、データにIPヘッダが付けられます。IPヘッダには、IPプロトコルで通信を行う時に必ず必要となる情報が格納されています。IPヘッダを見る事で、IPプロトコルの機能を知る事が出来ます。 それぞれの項目の内容は以下の通りです。
・バージョン(Version)
4ビットで構成されるIPヘッダのバージョンです。IPv4の時には4、IPv6の
時には6が設定されます。
・ヘッダ長(IHL:Internet Header Length)
IPヘッダの長さを表します。単位は4オクテットで、オプション無しのIP
パケットの場合には5(4オクテット✕5=20オクテット)になります。
・サービスタイプ(TOS:Type Of Service)
IPサービスの品質を表します。通信パケットの優先度を制御します。
DSCP(Differential Service Code Point)フィールドとECN
(Explicit Congrestion Notification)フィールドとして再定義が為され
ます。ECNはネットワークの輻輳通知で、DSCPは品質制御で利用されます。
・パケット長(Total Length)
パケット全体(IPヘッダ+データ)のオクテット長です。
・識別子(Identification)
フラグメント(分割パケット)を復元する識別子です。
・フラグメントオフセット(Fragment Offset)
フラグメントが元データの、どの位置にあったかを示します。
・生存時間(TTL:Time To Live)
中継出来るルータの個数を示します。ルータを通過するたびに1ずつ減らし、
0になったらパケットは破棄されます。
・プロトコル(Protocol)
IPヘッダの次のプロトコルを示します。代表的なプロトコル番号は以下のもの
があります。
1=ICMP / 6=TCP / 17=UDP / 41=IPv6
50=ESP / 51=AH / 112=VRRP
・ヘッダチェックサム(Header Checksum)
IPヘッダが壊れていないか確認するための誤り検出符号。
・送信元IPアドレス(Source Address)
送信元のIPアドレスを示します。
・宛先IPアドレス(Destination Address)
宛先のIPアドレスを示します。
・オプション(Option)
可変長でオプションがあるときに使われます。
・パディング(Padding)
オプションを32ビットの倍数にするための要素です。
・データ(Data)
上位層のヘッダを含めたデータです。ペイロードとも呼びます。
ネットワークで不具合があった時、WIRESHARKというアプリケーションでIPパケットを採取して、これらヘッダ内容を確認する事で、問題の切り分けや原因の解明が出来る場合がありますので、ネットワークで仕事をする際には、是非とも知っておくべき情報です。
◆IPアドレス
IPアドレスは、ホスト端末やルータがインターネットやイントラネットで通信する時に個別の装置を識別するために必要なアドレスです。
IPアドレスにはIPv4とIPv6がありますが、IPv4は32ビットで表現される数字です。しかし人には判りずらいのえ8ビット(オクテット)毎にピリオドを付けて表現されています。
<表記例>
バイナリ表記:11000000 10101000 00000001 11111110
10進数表記: 192 . 168 . 1 . 254
IPv4アドレスは32ビット表記なので、インターネットに接続できるホストの理論的な数字は約43億となりますが、近年ではこれでも枯渇し始めています。
◆ネットワークアドレスとホストアドレス
IPアドレスはある領域のネットワークに割り当てられるネットワークアドレスと、そのネットワーク内で割り当て可能なアドレスであるホストアドレスがあります。これらはセグメントと呼称する事もあります。
IPv4アドレスは32ビットで表現されていますが、そこまでがネットワークアドレスで、どこからがホストアドレスかは、サブネットマスクで示されます。
<表現例>
IPv4アドレス・サブネットマスク:192.168.1.1/255
上記の表現の場合には以下のものとなります。
バイナリ表現:11000000 10101000 00000001 00000001
192 . 168 . 1 . 1
サブネット値:00000000 00000000 00000000 11111111
0 0 0 255
サブネット値では、ホストアドレス部はサブネット値で全て0で表現されるので、上記の場合には以下の内容となります。ちなみにこの表記をCIDR表記と言います。
ホストアドレス:192.168.1.0 ホストアドレス 0~255
この場合、割り当てられたIPv4アドレスは以下の内容になります。
192.168.1.0~192.168.1.255
この割り当たられるアドレスについては、計算が少し小難しいのですが、計算するサイトがインターネット上にありますので、そこを利用すれば容易に求める事が出来ます。
◆クラス
IPが制定された当初、IPアドレスはクラスA~クラスDの四つのクラスに分割されており、クラス毎にネットワークアドレスとホストアドレスの長さが決められていました。
なお、240.0.0.0以降のアドレスはクラスEとして定義されますが、IETFでの実験用アドレスとして予約されており、一般には使用できません。
◆ブロードキャストアドレスとマルチキャストアドレス
IPv4通信では、通信相手の数によって、ユニキャスト、ブロードキャスト、マルチキャストの3種類に分割されています。
・ユニキャスト
一対一の通信のためのアドレスで、ホスト端末に割り当てるアドレスです。
割り当ての際には重複しないよう、注意が必要です。
・ブロードキャスト
同一ネットワーク内の全てのホストを相手にした通信です。プロ―ドキャスト
アドレスは全てのホストにパケットを送信するため、ホストアドレス部は全て
のビットを1にする事で表現します。
・マルチキャスト
マルチキャストアドレスはクラスDのアドレスを使用します。そのうち、
224.0.0.0~224.0.0.255の範囲はリンクローカルマルチキャストアドレス
と呼ばれ、同一リンク内のみでのマルチキャストとなり、ルータでは中継され
ません。それ以外は全ネットワークのグループのメンバに送信されます。
IPについては、次に続けます。