光ケーブルや電線や電波でつながっただけでは通信はできません。まずデータを光信号や、電気信号に変換する必要があります。受け取った方はそれをデータに戻さなくてはいけません。変換方法はいろいろありますから、送受信者の間で取り決めが必要です。
パケット通信では相手を指定するデータを加えて送ります。途中のルーターはそのデータを見て中継します。宛先データの付け方は送受信者の間だけでなく全体で取り決めることが必要です。
通信の目的によってはデータが到着したかチェックする仕組みも必要かもしれません。とくに分けて送るパケット通信では一部が到着していないという事態がおこるかもしれませんから、どのように伝えるかも決めておかなければなりません。
こういう取り決めをプロトコルといいます。通信規約とか通信手順などと訳されます。
上記のような様々なプロトコルを1つにまとめることは困難なので、いくつかの階層に分けて決めてあります。これはハードウェアやソフトウェアの開発を楽にする為です。たとえば光信号や、電気信号に変換する部分を分けておけば、電気信号が光に代わったり、電波になったりといった技術の変化があった場合にはそこだけを入れ替えることができます。
階層にはいろいろな分け方があります。
国際標準化機構(ISO)のOSIモデル(Open System Interconnect Reference Model:オープンシステム相互参照モデル)です。
それぞれの役割を学ぶときに使われますが、これにぴったり準拠したシステムはありません。
階層 |
---|
アプリケーション層 |
プレゼンテーション層 |
セッション層 |
トランスポート層 |
ネットワーク層 |
データリンク層 |
物理層 |
インターネットで使われているTCP/IPの階層です。
階層 | プロトコル | 機能 |
---|---|---|
アプリケーション層 | HTTP, FTP, SMTP | アプリケーション間の通信手順 |
トランスポート層 | TCP, UDP | アプリケーション間通信を保証。エラー回復や再送 |
インターネット層 | IP, ICMP | アプリケーションが動いている端末同士の通信のプロトコル |
ネットワークインターフェース層 | Ethernet, ARP | 隣合う端末同士の通信のプロトコル |