IPICMPの機能と役割
笹栗
平成14年7月8日
通信プロトコル
コンピュータの間でデータのやりとりを行うため
の決まり
種類
OSI
ISOによって規格化された国際標準プロトコル
TCP/IP
米国国防総省の標準プロトコルとして規格化
現在もっとも一般的に使用
NETBEUIなど
通信プロトコルアーキテクチャ
OSIOpen System Interconnection)参照モデル
OSI:異なる機種の間でデータ通信を実現する
めのネットワーク構造の設計方針を定めた
規格
特徴
ネットワークを介した通信を実現するための枠組み
階層化されたプロトコル構造
プロトコルは各層ごとに独立
OSI参照モデルとTCP/IPプロトコル群
データリンク層では、同一回線上
2つのノード間でのデータ伝送
が可能です。
ネットワーク層では、同じ回線上には接続されていない2
のノード間でもデータ転送を行う事が可能です。
ネットワーク層の役割は、自分と相手との間が複数の回線
の接続からなる場合でも、相手までデータを送り届けるよう
にする事です。
IPの概要
OSI参照モデルの第3(ネットワーク
)に相当。
IPInternet Protocol)はTCP/IP通信で使用す
るネットワーク層のプロトコルとしてもっとも代
表的なものです。
IPの特徴
コネクションレス型のデータグラム転送
コネクションレス:データ転送開始前の初期接続不
到達の保証がない
到達の順番を管理しない
データ
IPの役割
IPアドレスによるアドレッシング
アドレッシングとはアドレスを指定する事です。
ネットワークに接続しているノードの中から、通
信を行う宛先を指定する事です。
アドレスはメディアの種類やネットワークの形態
に依存しません。
TCP/IPの世界では、IPアドレスがネットワーク層
でのアドレスに該当します。
実際にIP通信を行う場合、このIPアドレスがノー
ドの識別子になります。
ノード
ネットワークに接続されたアドレス付け可能な装置
パケットの道筋を決める事です。
アドレッシングで決まった宛先までパケットを届けるのにどのよう
経路を使うか決める事です。
そして、この決定したルートに沿ってデータ転送が行われます。
データリンク層では同一メディア上のノード間のデータ転送機能を保
証しています。この、データリンク層が提供しているデータ転送機
を利用して、データを中継していき、最終的に宛先のエンドノードに
データを届けます。
データグラムの道筋を決める(ルーティン)
IPの機能
※ICMPInternet Control Message Protocol)
IPの不可欠な部分と考えられるプロトコル。
エラーの報告、その他の情報提供、および基本的な試
験に使います。
状態の管理と通信
IPによって行なわれる通信時の障害を検出
ICMPの機能を使って通信相手に通知
ソース ネットワーク アドレス:
ソースのネットワーク アドレスとホスト アドレスが含まれます。
宛先ネットワーク アドレス:
宛先のネットワークアドレスとホスト アドレスが含まれます。
ホップ カウント:
ルーターを通過する回数の制限値。
ネットワーク間でパケットが際限なく巡回、転送されるのを
防ぐために使用されます。
経路選択
IPのネットワーク経路の選択(ルーティング)
ネットワーク上で、ソースホストから、宛先ホストにパケットが
送られる場合は、パケットには、次のようなネットワーク層の
ヘッダー情報がセットされます。
ルーティングとは宛先IPアドレスに基づいてパケットをフォワード
する処理のことです
あるネットワークから別のネットワークにパケットをフォワードす
るための装置がルーターです。
どこにパケットをフォワードするかの決定を行うために、ルーティ
ング テーブルが使用されます。
TCP/IPの初期化時にデフォルトのルーティング テーブルのエン
トリが作られます。
エントリの追加は、システム管理者が手動で行うか、ルーター間
の通信によって自動的に行われます。
ルーティング テーブルには、IPネットワークについ
ての情報と、どのようにしてそこへパケットを送る
べきか(直接か間接か)という情報が格納されてい
ます。
TCP/IPプロトコルを持つノードはすべてルーティン
テーブルを持っています。
データグラム
分割 分割 再構成
各ハードウェア技術は、フレームが運ぶことができるデータ
の最大量を規定しています。その最大値MTUと言います。
データの分割・再構成
データグラムをネットワークインターフェイス層
で定義されたデータ長に合わせ分割・再構成
データグラムの分割と再構成は,ネットワーク・インター
フェースのMTU(Maximum Transfer Unit)に合うようにIP
データグラムを分割,送信します。あるいは送られてきた
IPデータグラムを元のデータグラムに再構成します
MTUの値の異なるネットワークを経由するときは、通常はルータで
データグラムのサイズを調整しながらフラグメンテーションが行わ
れています。
分解したデータグラムは、ヘッダの情報が失われないように、各フ
ラグメントにヘッダをつけます。
フラグメントは転送中に組み立てられることはなく、バラバラの状態
で送られます。
最終的な宛先に届いた段階でこれらのフラグメントはヘッダの情報
を参照して、元のデータの形に組み立てられます。
フラグメンテーション:
データグラムの大きさとMTUを比較し、大きければいく
つかのブロックに分解。
16ビットで構成されています。
IPヘッダのチェックサムを表します。
チェックサムは、IPヘッダが壊れていないことを保証するためのもの
です。
ノイズによるフレームエラーはデータリンクのFCSFrame Check
Sequence)で検出できるので、IPのチェックサムは、途中のルータ内
部でのメモリの故障や、プログラムのバグなどによりヘッダが破壊さ
れたことを検出するためにあると考えられます。
チェックサムの計算は、まずチェックサムのフィールド0
して、16ビット単位で1の補数和を求めます。そして求まった
値の1の補数をチェックサムフィールドに入れます。
ヘッダチェックサム(Header Checksum)
※IPv6では これは省略されています。
伝送エラーチェック
IPヘッダの伝送エラーをチェック
ルーティングが行われている環境では、ループが発生した
り、データグラムが配信不能になったりする可能性が常に
存在します。
このため生存時間によって自動廃棄タイマーの機能が提供
されます。
この時間が経過したデータグラムはネットワークから削除さ
れます。
したがって、どのデータグラムも、その生存時間タイマーの
間に配信されなければなりません。
インターネット上では時計の同期もとれないし秒数で計
るほどパケットを流すのに時間はかからないので、
IPv6ではこれをHop limit(ホップ制限)として、消滅する
までの残りの時間ではなく、残りの中継点の数を示して
います。
パケットの滞留時間制御
生存時間(TTL,Time To Live)
ICMPInternet Control Message Protocol
ネットワーク上で発生した障害の送信
制御情報の送信要求
IPとともに利用
ネットワーク層に含まれるプロトコル
エラーなどの状況報告を行うためのメッセージを
提供するためのもの
IPデータ転送の際にエラーが発生したときには、その
データの送信元に対してICMPメッセージが送信される
ICMPの機能と役割
何らかの理由でデータグラムが配信できないとき、あるい
は、データグラムに問題が発見されたとき、またより適し
たルートが利用可能になったことをホストに知らせる。
ICMPはエラー報告に使われるが、エラーメッセージを運
ぶデータグラムがまたエラーを起こした場合は、エラー
メッセージは生成されない。これによって、エラーメッセー
ジが反復して生成されるのを防ぐ。同様に、複数にフラグ
メントされたデータグラムは、先頭フラグメントに対してだ
けエラーが報告され、他のフラグメントはすべて警告なし
に廃棄される。