最も標準的なプロトコル群を組合せた通信手段のTCP/IPについて従来よりも、少しだけ掘り下げて紹介しています。OSI参照モデルとTCP/IPのレイヤー数が違う理由から入るため、ちょっとだけ、身近に感じられるでしょう。
TCP/IP とOSI参照モデルが似ている理由
TCP/IPとOSI参照モデルは似ていますがレイヤー(層)の分け方や、数が違います。
理由は、OSI参照モデルの場合、ネットワークはこうあるべき的な、概念を規定しているからです。そのため、レイヤー(層)を細かく分けて一つ一つの役割を明確にしています。役割を明確化するためには、レイヤーを細分化した方が分かりやすいと考えたのでしょう。
それに対して、TCP/IPは、標準的なプロトコル群を組合せた通信手段です。TCP/IPは、実践的なプロトコル群として開発したものだからです。TCP/IPが、OSI参照モデルよりもレイヤー数が少ない理由も、実用性を重んじているからでしょう。
このような理由で、OSI参照モデル(7層)と、TCP/IP(4層)は、レイヤー数は違いますが、内容は似ています。
次に、TCP/IPのレイヤー(層)毎の役割を整理します。
ネットワークインターフェース層(レイヤー1)の役割
ネットワークインターフェース層は、ネットワーク内の通信機器がやりとりする情報を管理することです。OSI参照モデルの物理層とデータリンク層に相当します。
ケーブルや端子形状、信号の形式などの物理的な決まりごとや、コンピュータ機器間のデータのやり取りの仕様を決めています。
ネットワークインターフェース層の代表的なプロトコルには、イーサネットやPPPなどがあります。イーサネットは、MACアドレスで端末機器を特定して、通信の仕組みを提供しています。
インターネット層(レイヤー2)の役割
インターネット層は、別のネットワークの通信相手にデータを届ける情報を管理しています。OSI参照モデルのネットワーク層に該当します。最終的にデータをやりとりする相手との決まり事を規定します。
インターネット層にあるIPは、上位層のトランスポート層にあるTCPとともに、TCP/IPプロトコル群の基盤です。
データをやり取りする相手(コンピュータや機器)を定める時には、ネットワークの住所となるIPアドレスで特定します。
インターネット層のIPの主要な役割は、「IPアドレスの管理」と、ルートを決める「経路選択(ルーティング)」です。
インターネット層には、IPプロトコル以外にもARP、ICMPなどがあります。これらは、IPプロトコルでのやり取りを補助する役目のプロトコルです。
トランスポート層(レイヤー3)の役割
トランスポート層は、データのやり取りを問題なく送受信するための制御のプロトコルレイヤーです。
プロトコルの代表的なものには、TCPとUDPがあります。通信プログラムがデータのやり取りを始めてから終了するまでの一連の流れの、仮想的な通路を作ります。
この時、どのルート(仮想的な通路)で扱うデータなのか、区別が出来るようにします。区別の方法は、それぞれの通信プログラムにポート番号(識別子)を付加して行います。以上は、TCPとUDPの各々で行います。
TCPには、これに加えて、次のようなデータを確実に届ける役割があります。
- 確認応答機能
確認応答機能は、データのやり取りの確実性を高めるため、データを受け取ったことを知らせるものです。 - 再送機能
再送機能は、一定時間待っても確認応答がない時に困らないようにしたものです。
再送するだけでなく、番号を付加して、送信側と受信側で、どのデータかを把握できるようにしたものもあります。
TCPは、UDPよりも通信品質が良いため、使用される頻度は高いですが、データのやり取りには時間を要します。転送速度を重視する時には、UDPが使われています。
アプリケーション層(レイヤー4)の役割
アプリケーション層は、ユーザーに一番近いレイヤーです。ソフトウェアによるユーザーに、ネットワークサービスを提供します。
具体的な機能には、ファイル転送(FTPサービスやダウンロードサービス)、ウェブサービスの閲覧、メールの送受信等です。これに加えて、セキュリティの確保も行います。但し、実行するには、これらのプロトコルに対応したソフトウェアを用意する必要があります。
ユーザーが作成したデータは、アプリケーション層のプロトコルに従ってデータを整えた後に、下位のトランスポート層に渡します。
つまり、アプリケーション層はユーザーとTCP/IPの間で受け渡しをするレイヤーです。
まとめ
実践的なプロトコル群として開発されたTCP/IPについて、従来よりも、少しだけ深い内容を紹介してきました。
TCP/IPのネットワークで、データのやり取り(処理)をするのは、次のようなソフトウェアです。
- ネットワークサービス用のソフトウェア(ブラウザやメールソフト)。
- OSの一部として組み込まれているTCP/IPのプロトコルスタック。
尚、プロトコルスタックとは、通信をするために、各レイヤーのプロトコルで決めているデータ処理を行うプログラム群のことです。
TCP/IPのネットワークでは、レイヤー1〜3はプロトコルスタックが処理します。
レイヤー4のアプリケーション層は、ネットワークサービスを提供するソフトウェアが、データ処理を行います。