ネットワーク層のプロトコルについて

ネットワーク層のプロトコルについて

主な規格の内容

続いてネットワーク/インターネット層のプロトコルについて詳しく見ていきましょう。

主に「IP(Internet Protocol)」がこの層での中心的な役割を担いますが、それ以外にも「ICMP」「ARP」といったプロトコルがあります。

IP

エンドツーエンドの通信を可能にするためのプロトコル

ICMP

IPの代わりにエラーの発生、原因など通信状況を転送するプロトコル

ARP(アープ)

(宛先の)IPアドレスを元に(宛先の)MACアドレスを特定するためのプロトコル

IPについて(主な役割)

概要

再三の説明になりますが、IPはエンドツーエンドの通信を可能にするためのプロトコルです。

主な特徴

IPの主な特徴として、コネクションレス型とベストエフォート型があげられます。

コネクションレス型

宛先がデータを受け取る準備ができているかどうかに関わらず(事前の接続確認を行わず) 通信が行われる形態

ベストエフォート型

なるべく遅延がないよう到達できるよう最大限努力するが、ネットワークの状況によって通信状況が左右される形態

ネットワーク層のPDU、IPヘッダについて

では、ネットワーク層のプロトコルが機能するために、この階層におけるデータがどうなっているのか確認していきましょう。

まず、ネットワーク層で扱われるデータ(PDU)を「パケット」と呼び、
カプセル化の過程でこの層で新しく付与されるメインのヘッダを「IPヘッダ」と呼びます。

IPヘッダはIPプロトコルにより付与されます。

パケット

ネットワーク層のPDU

IPヘッダ

ネットワーク層における主なヘッダ

IPヘッダのフォーマットの中身

ではIPヘッダの中身について詳しく確認していきましょう。

(※補足)パケット分割(フラグメント)

データを送信する際、一度に送るデータの大きさには制限(最大転送サイズ:MTU)があります。そのため、制限を超える大きさのデータを送るためには、データを分割して送る必要があり、それを「フラグメント」と呼びます。

しかし宛先がデータを受け取るときには、当然、データを分割前の状態に戻さなければなりません。そこで元の状態にデータを組み立てるために組み立てに必要な「識別番号」や「フラグメントオフセット」などの情報がIPヘッダには含まれています。

ARPについて(主な役割)

データを送る際、宛先のIPアドレスを指定しますが、宛先のMACアドレスまで把握しているわけではありません。

「ARP」は与えられた(宛先の)IPアドレスから、(宛先の)MACアドレスを調べ、両者を紐づけするためのプロトコルです。

特定のIPアドレスからMACアドレスを調べることを「アドレス解決」と呼びます。

次のページでどのような流れでARPが行われるのかを確認しましょう。

ARPの処理の流れ

1. ARPリクエスト(要求)

まずブロードキャスト(同じネットワーク内での一斉送信)で同一のネットワーク内の全てのノードに、MACアドレスを尋ねます。

2. ARPリプライ(応答)

続いて該当のIPアドレスのノードから、MACアドレスの情報を含め、送信元のIPアドレスのノード単体へ返信(ユニキャスト)します。

3. ARPテーブルにIPアドレスとMACアドレスを紐づける

MACアドレスとIPアドレスを紐づけた対応表に該当のIPアドレスとMACアドレスの情報を記録します。

この対応表をARPテーブルと呼び、同じ宛先にデータを送る度に、一連の操作を繰り返すこと(※ARPによってブロードキャストを行うこと)を防ぐために記録します。

ARPキャッシュ

一定時間が経過するとARPテーブルに記録した情報は破棄されます。

ARPの処理の流れ(ネットワークが異なる場合)

1. デフォルトゲートウェイのMACアドレスをARPで確認する

ブロードキャストは同一ネットワーク内でのみ有効です。そのため、ネットワークが異なる場合、同一ネットワーク内のデフォルトゲートウェイのIPアドレスに対して「ARP」を行います。

デフォルトゲートウェイにIPパケットを送信する

デフォルトゲートウェイのMACアドレスがわかったら、今度はデフォルトゲートウェイであるルータにデータ(この場合、IPパケットです)が送られます。

宛先まで1、2を繰り返す

データを受け取ったルータは、宛先のコンピュータが同じネットワーク内であればそのままARPにより宛先のコンピュータのMACアドレスを取得しますが、異なる場合、再度、次のネットワークのデフォルトゲートウェイに向けて、パケットを送信するため、次のネットワークのデフォルトゲートウェイに向けてARP処理をします。

※ルーティングについて詳しくは再度、ネットワーク基礎Ⅱで説明します。

1. デフォルトゲートウェイのMACアドレスをARPで確認する

2. デフォルトゲートウェイにIPパケットを送信する

宛先まで1、2を繰り返す

ICMPプロトコルについて(主な役割)

通信状況を確認するプロトコル

「ICMP」は「IP」の代わりに、データの到達や通信、エラーなどの状況を確認するためのプロトコルです。

IPとICMPはセットで用いられます。

また、WindowsやUNIXでは、通信相手との繋がりを確認する「pingコマンド」があり、このpingコマンドでは、このICMPのプロトコルに沿って通信の確認を行っています。


NEXT>> 8章 トランスポート層とTCP/UDPについて