ここでは,ネットワーク層について学習します。ネットワーク層は複数のデータリンクをまたがる2点間の通信を可能にするものです。そのTCP/IPでのプロトコルがIPで,ルータが重要な役目をします。なお,IPアドレスの仕組みと経路制御については別章にまわします。

ARP,RARP,IPヘッダ,TTL,ICMP,DHCP,IPv6
IPは,OSI参照モデルのネットワーク層に相当するプロトコルです。データリンク層では,同一のデータリンク内で直接接続されたホスト間でパケットを送信しますが,IPでは,直接接続されていないホスト間でパケットの送信をします。すなわち,IPではいくつものデータリンクを経由して通信をします。

データリンク層では,宛先をMACアドレスで指定していましたが,IPではそれをIPアドレスで指定します(IPアドレスの詳細については,別章「IPアドレス」参照)。すなわち,同一データリンク間での宛先はMACアドレスですが,それを超えた宛先にはIPアドレスを使うのです。
ARPは,あるホストのIPアドレスを与えてMACアドレスを知るためのプロトコルです。同一のデータリンクにあるホストAがホストBのMACアドレスを知りたいときには,次のようにします。
ホストBが同一データリンクにないときは,ルータがホストBのIPアドレスにより,ホストBが同一データリンクにないことを判別できますので,ホストBではなくルータのMACアドレスをホストAに知らせます。すると,ホストAはルータにパケットを送り,それをホストBに転送するように依頼します。
なお,RARPはMACアドレスからIPアドレスを知るためのプロトコルです。
ルータが代行した後,どのようにホストBにパケットが送られるかを簡単に説明します。

同一のネットワークに属するホストは,まとまったIPアドレスを持っており,ネットワーク自体もIPアドレスを持っています。そして,ルータは自分が接続しているネットワークのIPアドレスや,それに接続するルータのIPアドレスとその向こう側のネットワークのIPアドレスなどをルーティングテーブルに持っています。すなわち,ルータAは,
ネットワーク1
ネットワーク2
ルータBとネットワーク3
ルータCとネットワーク4
だけを知っています。そして,ルータAはホストAからのパケットをルータCに渡すと,ルータCはホストBが属するネットワーク6はルータEにあることを知っているので,さらにルータEに転送します。ネットワーク6に到達すれば,ARPでホストBのMACアドレスを知ることができるので,ホストBにパケットが届きます。
このように多くの多数のルータをバケツリレーすることにより経路を決定することを経路制御(ルーティング)といいます。ここで,なぜルータAがルータBではなくルータCに渡したのかがあいまいですが,詳細は別章「経路制御」で取扱います。
IPによりパケットを送信するときは,データの前にIPヘッダを付加します。IPヘッダのフォーマットは次の通りです。なお,IPの最新バージョンはIPv6ですが,未だIPv4が広く用いられていますので,ここではIPv4を用います(IPv6に関しては後述します)。

DHCPは,IPアドレス設定を自動化したり一元管理するもので,次のような問題の解決に効果があります。
新規にクライアントをネットワークに接続して,動的にIPアドレスを取得する手順は次の通りです。
IPv4では,IPアドレスは32ビットで構成されており,232≒43億個ですが,クラスなど非効率的な割り振りをしてきたために,インターネットの普及に伴い枯渇が心配されるようになりました。それを引き金として,これまでのIPが持つ不便な事項を一挙に解決するべきだとして,IPv6が採用されました。
IPv4からIPv6への移行には多くの変更を伴うために,未だIPv4が広く用いられていますが,IPv6は多くの利点や適用分野があるので,着実に伸びてきています。
IPv6では,IPアドレスは128ビットです。2128=3.4×1038ですから,事実上無限に近い個数になります。
それにより,IPv4の 10.1.1.1 というような表記法では16個の数字になってしまいます。それで128ビットを16ビットごとの8個にわけて,それぞれを16進数で表現するようにしました。
2進法表現
0001 0000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 1000 0000 1000 0000 0000 0010 0000 0000 1100 0100 0001 0111 1010
16進表現
1080:0:0:0:8:800:200C:417A (16桁ごとに:で区切る)
16進表現(簡略)
1080::8:800:200C:417A (連続した0は::にできる。1ヶ所のみ)
次の文のうち,正しいものには〇印をつけ,誤りである文には×印をつけて誤りの個所を訂正しなさい。
問1 テクニカルエンジニア(ネットワーク)平成16年秋問30
OSI基本参照モデルのネットワーク層(第3層)の役割はどれか。
ア エンドシステム間の会話を構成し,同期とデータ交換を管理する。
イ 経路選択や中継機能に関与せずに,エンドシステム間の透過的なデータ転送を行う。
ウ 隣り合うノード間のデータ転送を行い,伝送誤り制御を行う。
エ 一つ又は複数の通信網を中継し,エンドシステム間のデータ転送を行う。
問2 テクニカルエンジニア(ネットワーク)平成16年秋問22
TCP/IPにおけるARPの説明として,適切なものはどれか。
ア IPアドレスからMACアドレスを得るプロトコルである。
イ IPネットワークにおける誤り制御に使用されるプロトコルである。
ウ ゲートウエイ間のホップ数によって経路を制御するプロトコルである。
エ 端末に対して動的にIPアドレスを割り当てるためのプロトコルである。
問3 テクニカルエンジニア(ネットワーク)平成13年秋問28
TCP/IPに関連するプロトコルであるRARPの説明として,適切なものはどれか。
ア IPアドレスを基にMACアドレスを問い合わせるプロトコル
イ IPプロトコルの誤り制御に使用されるプロトコル
ウ MACアドレスを基にIPアドレスを問い合わせるプロトコル
エ ルーティング情報を交換しながら,ルーティングテーブルを動的に作成するプロトコル
問4 テクニカルエンジニア(ネットワーク)平成13年秋問24
インターネットで使われるコネクションレス型のプロトコルで,OSI基本参照モデルのネットワーク層に位置するものはどれか。
ア IP イ SMTP ウ SNMP エ TCP
問5 テクニカルエンジニア(ネットワーク)平成13年秋問23
TCP/IPのネットワークにおけるICMPに関する記述として,適切なものはどれか。
ア MACアドレスだけが分かっているときにIPアドレスヘの解決を可能にする。
イ グローバルなIPアドレスとプライベートなIPアドレスを相互に変換する。
ウ 送信元ホストヘのIPパケットの送信エラー報告など制御メッセージを通知する。
エ ネットワーク内のIPアドレスを一元管理し,クライアントに動的に割り当てる。
問6 テクニカルエンジニア(ネットワーク)平成13年秋問25
IPv6に関する記述のうち,適切なものはどれか。
ア グローバルなIPアドレスが重複しても問題が発生しないようにした。
イ グローバルなIPアドレスの不足を解決できるようにした。
ウ 通信衛星を介したインターネット接続に対応できるようにした。
エ 光ファイバを用いたインターネット接続に対応できるようにした。
問7 テクニカルエンジニア(ネットワーク)平成15年秋問22
IPv4(Internet Protocol version4)にはなく,IPv6(Internet Protocol version6)に追加・変更された仕様はどれか。
ア アドレス空間として128ビツトを割り当てた。
イ サブネットマスクの導入によって,アドレス空間の有効利用を図った。
ウ ネットワークアドレスとサブネットマスクの対によってIPアドレスを表現し,クラス概念をなくした。
エ プライベートアドレスの導入によって,IPアドレスの有効利用を図った。