見出し画像

OSI参照モデルについて

こんにちは。株式会社レスキューナウのインフラチームでチームリーダーをしている杉山です。今回は覚えていればネットワーク周りのトラブルシューティングで役に立つOSI参照モデルについて話をしたいと思います。

OSI参照モデルとは

OSI(Open Systems Interconnection)参照モデルとは、国際標準化機構(ISO)により策定されたコンピュータなどの通信機器の通信機能を、階層構造に分割し、明確化したモデルです。このOSI参照モデルでは通信プロトコルを7つの階層に分けて、それぞれの階層で行われる通信機能を定義しています。

OSI参照モデルができた経緯

いろいろなメーカからネットワーク機器が出始めた1970年代中頃、このころはメーカー間に互換性が無く、相互に通信させるためには単一のメーカーでそろえる必要がありました。メーカー独自のアーキテクチャで実装されていたためです。
ネットワークが普及するにつれ、特定のメーカーに依存することなく異なるメーカーの機器との接続の要望が増えたため、異なるメーカーの機種でも通信できるようにするための設計方針であるOSIが1984年にISOによって策定されました。その中でそれぞれの役割を分類し明確化するためのモデルとして決められたのがOSI参照モデルになります。

OSI参照モデルのその後

当初、OSI参照モデルに準拠したコンピュータやソフトウェアが開発されていくのを想定されていましたが1990年代にインターネットがはやりTCP/IPが急速に普及したことでOSI準拠製品は普及しませんでした。
現在ではTCP/IPや他の実装の理解を手助けをするために対応付けされた表などで使われていたりします。

OSI参照モデルとTCP/IP、プロトコルとの対応表の例

プロトコルとは

プロトコルとは、コンピュータ、ネットワーク機器同士が通信する際の通信方式を定めたものです。OSI基本参照モデルでは各層ごとにプロトコルが定義されています。

プロトコルがあることにより、ハードウェアの製造メーカーやソフトウェアのバージョンなどが異なったとしても、機器間で通信ができるようになっています。

各層の名称と役割

以下にOSI参照モデルの各階層の名称や役割について説明します。

OSI参照モデルの各階層の名称や役割について

第1層(L1)物理層

物理層は、ケーブルの規格やコネクタなど物理的な接続を定めるものです。電気信号や電波なども含まれます

例えば、LANケーブル自体の規格や、そのケーブルを通る電気的な信号の形式、物理的なコネクタの形状やWi-Fiの電波などが物理層で定義されています。

物理層で動作するネットワーク機器として、リピータハブが挙げられます。リピータハブは長距離の通信を行う際に電気信号の減衰を防ぐために設置される機器で、減衰した信号を増幅して元の大きさに戻すことができます。

第2層(L2)データリンク層

データリンク層は、電気信号の誤り制御や再送などの伝送制御を定めています。データリンク層は主に隣接する機器間での通信を取り仕切ります。

例えば、PCとルータ間の通信や、PCとハブ間の通信においての通信方法がデータリンク層で定義されています。

データリンク層で動作する機器としてはスイッチングハブが挙げられます。スイッチングハブは、通信されるデータに含まれている宛先MACアドレスを見て、データを適切な転送先に転送することができます。

第3層(L3)ネットワーク層

ネットワーク層は、通信経路の選択や中継など、複数の異なるネットワークを相互に通信できるようにするためのプロトコルを定めています。ネットワーク層における通信において代表的にはIPが使われています。

ネットワーク層で動作する機器としては、ルータがあります。ルータはIPアドレスにより通信先を判断することができます。自ネットワーク宛ではないデータは、ルータはより転送相手に近い方向にデータを送ります。これをルーティングといいます。そのデータを受け取った別のルータは、さらにより近い方向にデータを送ります。これを繰り返すことで、最終的にデータが相手に届きます。

第4層(L4)トランスポート層

トランスポート層は、コンピュータ間での通信が誤りなく行われたかを制御するための階層です。代表的にはTCPやUDPが利用されます。

トランスポート層で動作する機器としてはファイアウォールが挙げられます。ファイアウォールは通信中のデータの送信元や送信先、TCPやUDPなどのプロトコル見て、そのデータがファイヤーウォールを通過していいのか遮断するのかを判断します。

第5層(L5)セッション層

セッション層は、コンピュータ間での通信の開始から終了までを定義します。セッション層で用いられるプロトコルとしてはTLSが挙げられます。

HTTPSで通信を行う場合、TLSで接続を確立してからHTTPプロトコルで通信を行います。

第6層(L6)プレゼンテーション層

プレゼンテーション層は、文字コードやマークアップなどのデータの表現に関する通信を定義します。

プレゼンテーション層で定義される例としてはHTMLが挙げられます。

例えば、ある文字を太字にしたい場合や、背景を色付きにしたい場合などは、HTMLタグという形で表示方法を指定します。

第7層(L7)アプリケーション層

アプリケーション層は、個々のアプリケーションが提供する具体的な仕様や通信の手順などを定めています。

例えば、WEBブラウザでWEBページを見るときはHTTPプロトコルを使う、暗号化通信が必要な場合はHTTPSプロトコルを使う、メールを送信するときはSMTPプロトコル使うといったものです。

実例

ネットワークに関する障害が発生したときに、どのあたりを中心に調査をしていけばいいか実例を出してみます。

1.同一ネットワーク内のサーバ同士であれば通信できるが他のネットワークにあるサーバだと通信ができない。
→他のネットワークとの通信をつかさどる第3層(L3)ネットワーク層の部分を中心に調査する。

2.WEBブラウザでHTTPでWEBページが見られるがHTTPSだとタイムアウトになる。
→HTTPでは見られることから、第3層(L3)ネットワーク層以下の部分では問題なさそう。第4層(L4)トランスポート層以上の層に当たる部分を調査する。

まとめ

簡単ですがOSI参照モデルについて紹介しました。
ネットワークの障害の切り分けをする際に、どの箇所の説明なのかと把握するときにはこのOSI参照モデルが基本となります。
これを理解することでネットワーク障害の発生時にどの部分が正常なのか異常なのか切り分けがしやすくなると思います。

最後に

現在、レスキューナウでは、災害情報の提供、災害情報を活用した安否確認サービスなどのWebサービスの開発エンジニアを募集しています!
社員・フリーランスに関わらず、参画後に安心してご活躍できることを目指し、応募された方の特性・ご希望にマッチしたチームをご紹介します。
ちょっと話を聞いてみたい、ぜひ応募したい、など、当社にご興味を持っていただけましたら、お気軽にエントリーください!!