OSI参照モデル
OSI参照モデルとは
コンピュータはネットワークでつながれ、その間で様々な種類のデータ通信が行われています。これを実現するには異種間のデータ通信を実現するための、ネットワーク構造の基本的な設計方針が決められている必要があります。
これが1982年頃にメーカーごとに異なるネットワークアーキテクチャを1つに統一しようと、ISO(国際標準化機構)
とITU(国際電気通信連合)
によりOSI(Open Systems Interconnection:開放型システム間相互接続)と呼ばれるネットワーク標準規格の策定が始められ、このOSIで用いられる通信のモデルがOSI参照モデルとなります。
OSI参照モデルとは、コンピュータネットワークに求められる機能(通信機能)を7階層
の構造に分割し定義したものです。
プロトコルとは?
プロトコルの英語本来の意味は「約束事」ですが、コンピュータネットワークであれば、通信プロトコル、IT用語としての「通信規則」「通信規約」「通信手順」を示し、通信をする上で守らなければいけない約束
、ルールです。
コンピュータがネットワークとして様々な情報をやり取りする上では、この決まりがないとお互いに通信が出来なくなってしまいます。IP、HTTP、SMTPなどの表現は見たことがあると思います。この最後のP
がプロトコル
です。各種のプロトコルはOSI参照モデルの7階層によって以下のように分類されています。
層 | 名称 | 規格(プロトコル) | 概要 | 利用例 |
---|---|---|---|---|
7層 | アプリケーション層 | HTTP,DNS,SMTP,POPなど | 個々のアプリケーション | www,メール |
6層 | プレゼンテーション層 | SMTP,FTP,telnetなど | データの表現形式 | HTML |
5層 | セッション層 | TLS,NetBIOS等 | 通信手段 | HTTPS |
4層 | トランスポート層 | TCP,UDP,NetWare/IPなど | エンド間の通信制御 | TCP,UDP |
3層 | ネットワーク層 | IP,ARP,RARP,ICMPなど | データを送る相手を決め最適な経路で送信 | IP |
2層 | データリンク層 | PPP,Ethernetなど | 隣接する機器同士の通信を実現 | Ethernet |
1層 | 物理層 | RS-232,UTP,無線 | 物理的な接続、電気信号 | UTPケーブル、光ファイバーケーブル |
OSI参照モデルの図解と各階層の説明
OSI参照モデルは各層に応じてカバーしている領域に分けられます。下の図で着目をするべきところは「領域」を色分けをした部分で「ハードウェア」の1層は機器同士をつなぐケーブル
、「ネットワーク」の2〜4層はシステムが構成される際の回線に関する内容
、「ソフトウェア」の5〜7層はサーバで動作しているアプリケーションやクライアントマシン(PCやスマートフォンなど)で動作しているソフトやアプリに関連する領域
になります。着目するべき層は主に「3層(L3)ネットワーク層」「2層(L2)データリンク層」「1層(L1)物理層」の深い層に該当します。各層の主な役割と通信の規則や定義などについて見ていきましょう。
層 | 名称 | 主な役割 | 領域 | 関連装置 | ||||
---|---|---|---|---|---|---|---|---|
7層(L7) | アプリケーション層 | アプリケーション間でのやり取り | ソフトウェア | ゲートウェイ | ||||
6層(L6) | プレゼンテーション層 | データの表現形式を定義 | ^ | ^ | ||||
5層(L5) | セッション層 | 接続の手順 | ^ | ^ | ||||
4層(L4) | トランスポート層 | データ通信の制御 | ネットワーク | ^ | ||||
3層(L3) | ネットワーク層 | インターネットでの通信 | ^ | ルータ、L3スイッチ | ||||
2層(L2) | データリンク層 | 同一ネットワークでの通信 | ^ | ブリッジ、L2スイッチ | ||||
1層(L1) | 物理層 | ケーブルや電気信号やコネクタなど | ハードウェア | LANケーブル、NIC |
第7層(L7)アプリケーション層
ソフトウェアの通信規格
アプリケーション層(L7)
はユーザが操作するソフトウェアが提供する具体的な機能についての仕様や通信手順やデータ形式などを定めています。
Webプラウザを利用してWebページを閲覧するときはHTTP
で同時に暗号化通信を行う際はHTTPS
、サーバにファイル転送をするときはFTP
で同時に暗号化転送を行うときはSFTPで簡易的なファイル転送の場合はTFTP、メール送信の際はSMTP
、メール受信の際はPOP
、サーバの遠隔操作はTelnet
で同時に接続の際にパスワードを暗号化する場合はSSH
、ドメイン名からIPアドレスに変換するときはDNSですがドメイン名を入れるとIPアドレスの名前解決によりWebページが表示されるのもDNS
の役割です。
多数あるこれらはユーザは用途に合わせてアプリケーションを利用し、そこで利用されるプロトコルはアプリケーションによって様々なものがあり、すべて異なります。その他のソフトウェアやアプリケーションを通じてコンピュータ機器に接続をする際は異なるプロトコルが無数にあるため、利用するソフトウェアやアプリケーションに応じてハードウェアの通信機能でプロトコルの制御を行い通信を確立しています。
図はハードウェアの中身でソフトウェアと通信機能が結ばれているイメージです。ハードウェアにインストールされているソフトウェアによってハードウェアの通信機能が反応をし、窓口の部分で通信をするソフトウェアのプロトコルに変換をしソフトウェアの通信が実現しています。
第6層(L6)プレゼンテーション層
データ表現と暗号化
プレゼンテーション層(L6)
の主流となっているプロトコルはSMTP
やFTP
です。
SMTPは電子メールを伝送する際に利用されるプロトコルでFTPはサーバにファイル転送を行う際に利用されるプロトコルです。どちらもファイルを転送する役目がありますが、送ったファイルがサーバで動作しているアプリケーションの形式に沿ったフォーマットでなければ思ったとおりに表示されません。
よくある不具合は「文字化け」です。文字コードが不適切であった場合はWebブラウザでWebページを閲覧しても文字化けにより文章が読めなくなってしまいます。適切な文字コードや改行コードでHTMLファイルを作成しファイル転送を行うことで上層のアプリケーション層にデータを渡すことができます。具体的な例はWebページを表現するHTML言語は世界的に最もポピュラーな文字コードのUTF-8にし改行コードは利用しているパソコンのOSで合わせることで文字化けや文字の改行が正確に表示できWebページが正確に表示されるようになります。
反対に下層のセッション層に渡す際はデータの「暗号化
」を用いてTLSプロトコルで暗号化通信をするために適切な形式にする役目もあります。
図はサーバにHTMLファイルを転送したあとに形式を合わせてサーバが変換をし端末でサーバのHTMLファイルにアクセスをするとWebブラウザで正しく表示される例です。一般的にWebページを表現するHTMLファイルはFTPと呼ばれるファイル転送ソフトでサーバにデータを送信します。HTMLファイルがWebサーバに転送されたらWebサーバは文字コードや改行コードをもとに適切な形式で表示するために変換を行います。これを実行することによりWebブラウザで文字化けが発生せずに正確な文章が表示されるようになります
第5層(L5)セッション層
ホスト間の通信
セッション
とは通信の開始から終了までを管理する1つの単位のことです。ホストとはサーバやパソコンなどの端末を意味します。従ってセッション層(L5)
では通信の確立、維持、終了するまでの手順を規定しています。
主流となっているプロトコルはTLS
です。TLSはSSL
の次世代に定義された安全に通信をするためのセキュリティプロトコルです。SSL3.0にアップデートしてからは通信の仕方は殆ど変わりませんのでSSL/TLS
と表記されることもあります。
SSLサーバ証明書は「運営者の実在性を確認」し、ブラウザとウェブサーバ間で「通信データの暗号化」を行うための電子証明書で認証局から発行されます。これにより通信中の「なりすまし」「盗聴」「改ざん」などのリスクを回避し「フィッシングサイト」による詐欺被害を防止することが出来ます。
図はパソコン(端末)でWebブラウザを利用しインターネットでWebサイトを閲覧する例です。最新の状態にブラウザを更新するとサーバが受信をしパソコンのブラウザに更新された内容を表示するよう送信をします。このときにサーバは例えば関係のないメーラソフトに送信をしないようWebブラウザに送信をするよう制御をし通信を確立させ維持をしパソコンのブラウザで終了させる一連の流れに則って行います。
第4層(L4)トランスポート層
通信の品質をコントロールする
トランスポート層
は高信頼性やリアルタイム性など目的に応じた通信品質を実現します。代表的なプロトコルはTCP
とUDP
です。
TCP
は機器間の接続を作り通信が終わるときに接続を切り、確実な信号を送信するためのプロトコルです。特ににパケット通信の際に不具合が見つかった際に再送をし重複するデータを削除したり、パケットの順序を入れ替えるなどを行います。従ってリアルタイムの通信には不適切でありますが、Webサーバへのアクセスなどデータが抜け落ちて困るときは信頼性の高いTCPを利用します。
もう一つの目的に分けて使い分けるUDP
プロトコルはTCPのように通信の信頼性を高めることはしませんが、すぐに使える身近な通信機能を提供しまので、TCPとは反対に正確性はないがリアルタイム性の高い通信が可能で、動画ストリーミング配信やリモート会議などで使用されるライブ配信などのように速度を重視した通信が可能です。
図はTCPプロトコルを利用した例です。機器間の通信を確実にするためのもので、Webサーバとデータベースが確実に通信を行い連動するためにTCPプロコトルを用います。Webサーバで動作しているアプリケーションで代表的なものはCMSのMovable TypeやWordPressなどですが、これらはWebサーバとデータベースの連動で動作しているため通信が途切れることなくサーバ同士の確実な通信が求められます。
第3層(L3)ネットワーク層
中継などによる任意の機器同士の通信を実現
複数のネットワークをつないで相互にパケットをやり取りする機能を実現することをインターネットワーキングと言います。L2では直接接続された機器同士の通信ですが機器が増えた場合はL2プロトコルではインターネットワーキングは実現できません。ネットワーク機器の中で代表的なものはルータです。ルータはネットワークの中継機能の役目をし所定の方向にパケットを転送します。これをルーティング
とよび中継機能のルータはルーティング機能でサーバにデータを転送します。
また、ネットワーク層(L3)
で利用されるプロトコルの代表的なものはIP
です。IPアドレスというものを接続するコンピュータ機器に付与し機器同士を通信することで用いられます。これにより直接つながっていないネットワーク間でパケットをルーティングする機能を提供し、この働きによりコンピュータ機器が直接つながっているかどうかを問わず任意のコンピュータとの通信が実現できます。
サーバAとサーバBの通信を実現したい場合は中継網となるルータを経由しデータを転送します。その際に各コンピュータ機器にIPアドレスを付与し機器同士を通信させネットワーク経路にある全ての機器を通信させることが出来ます。これにより隣接した機器を超えて目的のコンピュータ機器同士の通信が可能となります。
第2層(L2)データリンク層
直接接続された機器同士の通信を実現
隣接する機器のことを隣接するノード
と言います。データリンク層(L2)
は通信回線のことを示し正確に通信をする規則が定められています。代表的な組み合わせはMACアドレスによるイーサネット接続
です。MACアドレス(Medium Access Control Address)とはノード間のデータ転送を行う際の宛先として使われるアドレスでコンピュータ機器の製造時に割り振られたもので、これを物理アドレスやノードIDともいいます。イーサネット(Ethernet)とは主に室内や建物内でコンピュータや電子機器をケーブルで繋いで通信する有線LAN(構内ネットワーク)の標準の一つで、最も普及している規格です。また室内でも「無線LAN」がありLANケーブルを必要としない通信技術も存在します。要するにイーサネットの概念は有線でも無線でもローカルエリア(室内、企業のオフィス内)のネットワーク
であることです。
従ってMACアドレスで機器を識別しイーサネットで接続をすると、隣接したノード間で通信中のデータが壊れていないかのチェックをしながら確実な通信が実現できます。
図はサーバAとサーバBは隣接するブリッジによって接続されています。その間はMACアドレスでコンピュータ機器を識別しイーサネット接続で通信を行います。通信の仕方はデータを送信する際に衝突しないよう送り出すタイミング確認し、伝送中にデータが破損していないかエラーの検出を行いどのように対処するかを決定し、ローカルエリア内の接続で隣接するノード間の確実な通信が行われます。
第1層(L1)物理層
信号およびバイナリ転送
物理層(L1)
はハードウェアのコネクタ形状やピン数などの物理的な接続を定めるものです。バイナリ転送とは特定の文字コードの範囲に収まらない任意のビット列を含むバイナリデータを保存したファイルを転送することで、機器間の電気信号や光信号などを用いてビット(0と1の符号化)単位でデジタル信号の送信・受信を行う通信方法です。一方でハードウェア同士接続をするケーブルや配線ではこの信号をもとに機器同士を電気信号などで通信をしている接続線のことです。これらの一連の流れによりハードウェア同士を物理的に通信を行う方法が物理層の通信です。
ハードウェア同士を光ファイバーケーブルなどの配線で接続をし通信させます。
参照
Discussion