ネットワーク

プロセス間の通信(インターネット層)IP

プロセス間の通信において重要な役割を果たす、ネットワーク層において書かれた記事です。トランスポート層(TCP・UDP)については、以下記事をご覧ください
プロセス間の通信(トランスポート層)TCP・UDPプロセス間の通信 ・同じホストで2つのプロセスは、(OSが提供した)プロセス間通信機能を用いて通信する ・異なるホスト上...

ネットワーク層の役割

トランスポート層は、通信を行う両端のコンピュータ間のデータ転送の処理のみを行う。途中の経路部分に関しては考えてないので、エンドツーエンドのプロトコルとも言われる。(途中の経路に関してはネットワーク層が行う)具体的な役割は、エラー処理やフロー制御など通信の信頼性を確保する階層。(※TCPは信頼性を確保するがUDPは信頼性を確保しない)送信側から送り出されたパケットを、無事に受信側へ届ける役割を持っている。これを実現するためには、ネットワーク内の各コンピュータにアドレスがふられていなければ貼らず、ネットワーク層では、このアドレス体系を管理する。

ネットワーク層のプロトコル

IP(Internet Protocol)

コネクションレス型で動作している。ネットワークに接続されている全てのコンピュータに対して、IPアドレスと呼ばれる数字を付与し、その数字を用いて通信先の指定及び呼び出しを行う。また、IPアドレスを元に経路制御を行ってパケットを正しく空いてに届けること、それからパケット転送の際に経路の途中で必要があればパケットの分割や再構築処理を行う

ICMP(Internet Control Message Protocol)

IPの動作を補助をするプロトコル。IPやTCP、UDPなどの通信において、何らかのエラーが生じたり、障害が発生したりした場合には、このICMPを使ってエラーを通知する

ARP(Address Resolution Protocol)

IPの動作を補助をするプロトコル。IPアドレスからMACアドレスを求める

RARP(Reverse ARP)

ARPとは、逆にMACアドレスからIPアドレスを求める

DHCP(Dynamic Host Configuration Protocol)

DHCPは、RARPの仕組みを基に開発された。ネットワークに接続したコンピュータにIPアドレスを自動的に配布し。その管理を行う。

 

IPのヘッダフォーマット

TTL

経由ルータ数を表す

プロトコルフィールド

TCPの場合6、UDPの場合17

具体的に何をするのか

ルーティング(経路制御)

ルータが行う。ルーティングとは、送信元のコンピュータから宛先コンピュータまでパケットを配送すること。IPのルーティングとは、ホップバイホップルーティング(パケットが転送されるデータリンクの一区間ごとにルートが決定される方式)と呼ばれます。経路決定の判断に用いられう情報はルーティングテーブル(経路制御表)です。

ルーティングテーブルの作り方(IPでは作らない)

・スタティックルーティンング(静的経路制御)
ネットワークの構成を知っている管理者が、どのようにルーティングを行ったら良いかを考え、ルーティングテーブルを手動で作成する。

・ダイナミックルーティング(動的経路制御)
コンピュータやルータ間でルーティングに必要な情報交換し、ルーティングテーブルを自動的に作成する。作成するプロトコルには、IGP(Interior Gateway Protocol)とEGP(Exteriot Gateway Protocol)があります。(この二つのプロトコルは、IPではありません。)

 

ルータの動作

①IPパケットがルータに到着
②宛先IPアドレスをルーティングテーブルで参照
③送信すべきルータの決定
④IPパケットのフォワーディング(パケットを送りだす事)
⑤次のルータ(ネクトホップ)に到着
①〜⑤を繰り返す
⑥最終目的地到着

 

パケットの分割と再構築

経路途中のデータリンクのMTU(最大転送単位)を越えてしまうと分割を行われなければデータリンクを通らない場合があり、この分割処理をIPが行います。この分割するサイズのことをMTU(最大転送単位)と言います。そして、分割処理の事をフラグメンテーションといい分割されたパケットをフラグメントと言います。TCPはMTUの値を基にMSS(最大セグメント長)を決定し、その大きさでパケットを送りだす事ことにより、IP層でのパケット分割がおこら無いようにしています。

 

スポンサーリンク