はじめに
コンピュータネットワークの基盤を支える重要な概念の1つにOSI参照モデルがあります。
このモデルは、通信プロトコルを7つの階層に分け、各階層が特定の役割を担っています。
今回はその中から、ネットワーク層に着目していきます。
ネットワーク層とは?
ネットワーク層の主な役割は、異なるネットワーク間でのデータパケットのルーティングと転送です。
データが送信元から目的地の送信先まで最適な経路を通って届ける役割です。
ネットワーク層は以下のような機能を持ち合わせています。
- ルーティング:データパケットが最適な経路を通手目的地に到達する様に経路選択を行います。
- アドレッシング:各デバイスに一意のアドレス(IPアドレス)を割り当て、データの送信先と送信元を明確にします。
- パケット転送:データパケットを次のネットワークデバイスに転送します。
- フラグメンテーションと再構築:大きなデータパケットを小さなパケットに分割して送信し、受信側で再構築します。
IPアドレスとルーティング
ネットワーク層の中でも重要なのがIPアドレスとルーティングです。
IPアドレス
IPアドレスは、インターネットプロトコル(IP)を使用してネットワーク上のデバイスを識別するための一意の番号です。
IPアドレスにはIPv4とIPv6の2種類があります。
- IPv4
32bitのアドレスで、通常は「192.168.11.1」のようにどっとで区切られた4つの10進数で表されます。
IPv4アドレスは約43億個のアドレス空間を提供します。
- IPv6
現代は多くのデバイスにIPアドレス不要する必要性が出てきて、43億個のアドレスでも足りなくなった影響で登場したのがIPv6です。
IPv6は128bitのアドレスで、「2001:0db8:85a3:0000:0000:8a2e:0370:7334」
の様に区切られた8つの16進数で表されます。
事実上無限に近いアドレス空間を提供できます。
ルーティング
ルーティングは、データパケットが最適な経路を通って目的地に到達するためのプロセスです。
ルータと呼ばれるネットワークデバイスが、ネットワーク内外の経路を管理します。
ルーティングには静的ルーティングと動的ルーティングの2種類が存在します。
- 静的ルーティング
ネットワーク管理者が手動でルートを設定する方法で、小規模なネットワークに適しています。
しかし、ネットワークが大きくなると管理が難しくなるため、そんな時使えるのが動的ルーティングです。
- 動的ルーティング
ルータが自動的に経路を選択する方法です。
ルーティングプロトコル(例:RIP,OSPF,BGP等)を使用することで、ネットワーク内の最適な経路を見つけることができます。
ネットワーク層プロトコル
ネットワーク層にはいくつか重要なプロトコルがあり、最も重要なのインターネットプロトコル(IP)ですが、他にも様々なプロトコルがあります。
- IP(Internet Protocol)
ネットワーク上のデバイスがデータを互いに送受信するためのルールを定めた通信プロトコルです。
主に、デバイスのアドレッシングとデータパケットのルーティングを行います。
- ICMP(Internet Control Message Protocol)
エラーメッセージやネットワーク診断を行うためのプロトコルです。
- ARP(Address Resolution Protocol)
IPアドレスを物理アドレス(MACアドレス)に変換するためのプロトコルです。
- RARP(Reverse ARP)
物理アドレスからIPアドレスを取得するためのプロトコルです。
ネットワーク層の重要性
ネットワーク層は、インターネットを含む広範なネットワークの基盤を形成しています。
この層が無ければ、異なるネットワーク間でのデータ通信は不可能です。
特にインターネットのような大規模なネットワークでは、ルーティングとアドレッシングが正確かつ効率的に行われることが重要です。
実生活でのネットワーク層の例
ネットワークの機能理解するために実生活の例で考えてみます。
ここでは、日本からアメリカの友人に手紙を送る場面を想定します。
- アドレッシング
手紙に送信先の住所(IPアドレス)を書きます。
- ルーティング
手紙は郵便局に渡され、最適な経路を通ってアメリカの友人の住所に届けられます。
- パケット転送
手紙は飛行機やトラックなど、様々な輸送手段を用いて転送されます。
- フラグメンテーションと再構築
もし手紙が大きすぎて1回で送れない場合、複数の封筒に分けて送られ、友人のところで再び1つにまとめられます。
ネットワーク層のまとめ
ネットワーク層は、OSI参照モデルの中で異なるネットワーク間でのデータ転送を実現する重要な層でした。
IPアドレスのアドレッシングやルーティングなどの役割を果たし、上位層へとデータを繋げていきます。
ネットワーク層の上の層にはトランスポート層があります。
トランスポート層について詳しく知りたい方はこちら。