1. OSI参照モデルとは
Open Systems Interconnection
異なる機種間でも通信できる世界標準のプロトコルスタック。
ISOによって策定された。
2. プロトコルとは
通信をおけるルール。
送信側と受信側で同一のプロトコルでなければデータの疎通ができない。
1つの通信プロセス中でも多くのプロトコルが存在する。
ある通信における様々なプロトコルを役割ごとにまとめたものを、
プロトコルスタック(ネットワークアーキテクチャ、プロトコルスイート)と呼ぶ。
昔は各メーカー毎に独自のプロトコルスタックを作っていたため、各企業の製品同士でしかネットワークを構築できなかった。
これを解消するためにOSI参照モデルが策定された。
3. 7つの層(レイヤ)
OSI参照モデルは通信に必要なプロトコルを7つのレイヤに分割し、それぞれのレイヤで必要になるプロトコルを定義したプロトコルスタック。
レイヤ毎にプロトコルをを階層化することで各プロトコルの役割が明確になり、変更が必要でも最小限のプロトコルの変更で済むといったメリットがある。
4.各レイヤについて
4.1 物理層 (レイヤ1)
機器や電気信号に関するプロトコル群
2つのノード間で確実に通信するために必要なプロトコルが定義される。
- ケーブルの種類や長さに関するルール
- 電圧レベル、電圧変化に関するルール
- 通信速度、電気信号の符号化に関するルール
送出データの電気的な変換などを行う。
利用例:UTPケーブル、光ファイバーケーブル
プロトコル:RS-232,UTP,無線
4.2 データリンク層 (レイヤ2)
隣接ノード間の通信に関するプロトコル群
2つのノード間で確実に通信するために必要なプロトコルが定義される。
- データの送信元と宛先の識別に関するルール(物理アドレス)
- データ衝突の検知や回避に関するルール
- 送出するためのデータ加工に関するルール
直結された相手との通信路を確保し、データの誤り訂正や再送要求などを行う。
利用例:イーサネット
プロトコル:PPP,Ethernet
4.3 ネットワーク層 (レイヤ3)
エンドツーエンド(データの送信元と送信先を結ぶ通信経路全体)の通信に関するプロトコル群
ネットワークをまたいだエンドツーエンドの通信をするために必要なプロトコル群が定義される。
- データの送信元と宛先の識別方法に関するルール(論理アドレス)
- 経路選択の方法に関するルール
- データの送出方法に関するルール
相手までデータを届けるための経路選択やネットワーク上で個々を識別するためのアドレス管理を行う。
利用例:IP
プロトコル:IP,ARP,RARP,ICMP
4.4 トランスポート層 (レイヤ4)
通信における信頼性に関するプロトコル群
通信の方式、通信状態の確認方法、異常発生時の対処など、通信が期待通り行われるためのプロトコルが定義される。
- 確実な伝送orスピードどちらを優先するか
- 以上があったときの対処に関するルール
- 送信量の調節に関するルール
ネットワーク層から流れてきたデータの整列や誤り訂正などを行い、送受信されたデータの信頼性を確保する。
利用例:TCP,UDP
プロトコル:TCP,UDP,NetWare/IP
4.5 セッション層 (レイヤ5)
アプリケーション間の接続に関するプロトコル群
アプリケーション同士の論理的な接続に関するプロトコルが定義されている。
- 2者間の接続開始から終了までのルール
- 接続の維持や回復に関するルール
- 接続状況の管理に関するルール
通信の開始や終了といった通信プログラム同士の接続を管理し、通信経路の確立を行う。
利用例:HTTPS
プロトコル:TLS,NetBIOS
4.6 プレゼンテーション層 (レイヤ6)
ユーザが見て触れるデータに関するプロトコル群
文字・画像・動画といったユーザが扱うデータの変換に関するプロトコルが定義される。
- 文字コードに関するルール
- 画像や動画に関するルール
- データの圧縮や暗号化に関するルール
アプリケーションとネットワークの仲介を行う。
利用例:HTML
プロトコル:SMTP,FTP,Telnet
4.7 アプリケーション層(レイヤ7)
アプリケーション固有のプロトコル群
電子メール・Webページの閲覧・ファイル転送といったユーザが操作するアプリケーションの動作を支えるプロトコルが定義される。
- 電子メールの送受信に関するルール
- メールサーバーの利用に関するルール
- 添付ファイルの送信に関するルール
通信を利用するために必要なサービスが人やプログラムに対して提供する。
利用例:www , メール
プロトコル:HTTP,FTP,DNS,SMTP,POP
5. カプセル化/非カプセル化
- 送信データは高レイヤから低レイヤへと順に処理され、レイヤ1で信号として伝送される。
- 送信データがレイヤ7~レイヤ2まで処理していく際、ヘッダ という制御情報を付加する。
- データリンク層(レイヤ2)ではヘッダに加えて トレーラというエラーチェック用の情報も付加する。
レイヤ毎にヘッダ、トレーラを付加していく処理をカプセル化という。
- 受信データは低レイヤから高レイヤへと順に処理され。レイヤ7mpアプリケーションへと伝達される。
- 受信データはレイヤ2からレイヤ7まで処理する毎に、送信時に付加されたヘッダ、トレーラを外す。
レイヤ毎にヘッダ、トレーラを外していく処理を非カプセル化という。
- データ+ヘッダ+トレーラのデータ単位をPDU(Protocol Data Unit)という。
- PDUはどのレイヤのヘッダがふかされているかで呼び名が変わる。
1 | 2 |
---|---|
レイヤ5~7 | データ |
レイヤ4(トランスポート層) | セグメント |
レイヤ3(ネットワーク層) | パケット |
レイヤ2(データリンク層) | フレーム |
レイヤ1(物理層) | ビット、シンボル |