OSI参照モデルについて調べてみた
少し気になったので、OSI(Open Systems Interconnection)参照モデル(OSI reference model)について調べてみました。
OSI参照モデルとは何ぞや? というと、
コンピュータの持つ通信プロトコルを階層として表したものです。
普段私たちは、インターネットを使ったりメールを使ったりします。
その時に重要になるのがプロトコル(=通信の約束事)。
例えば、Webを閲覧するとき(例えば、このサイトを見るとか)には、HTTPという通信プロトコルに頼っているし、電子メールを転送するときには、SMTPというプロトコルに頼っています。
この他にもプロトコルは様々なものがあるため、用途に応じて階層化してあるわけです。
OSI参照モデルの階層
さて、どのように階層化されているかというと、以下のようになります。
第7層:アプリケーション層……アプリケーションの利用にHTML・FTPといった具体的な通信サービスを提供
第6層:プレゼンテーション層……データ変換を行う(例えば文字コードをShift JISからEUCへ)
第5層:セッション層……セッション(通信から切断までの手順)を管理。情報の行き違いを防ぐ
第4層:トランスポート層……データ転送を確実なものにする
第3層:ネットワーク層……IPアドレスから宛先を判断
第2層:データリンク層……誰から誰へ伝わるデータなのか判断
第1層:物理層……0と1の電気信号にデータを変換
ものすごくざっくりとした図解(笑)
データを送るときは、上の層から下の層へ流れていき、最終的に1と0のビットに変換されます。
データの受け手側では、逆に下の層から上の層へと、データが流れていきます。
各層では、ヘッダーと呼ばれる情報がデータに追加され(カプセル化)、逆に送信先ではヘッダーが外されます(非カプセル化)。
通信というものは、分類してみるとなかなか複雑なものであるとわかります。
私たちが普段意識するのは第7層だけではないでしょうか?
プログラマーやウェブデザイナーの人は第7層~第5層、ネットワークエンジニアの人は第4層以下をメインで扱うそうです。
特にネットワークエンジニアの人にとってOSI参照モデルは覚えない仕事にならないほど重要なものらしいです。
OSI参照モデルの問題点
実はTCP/IPプロトコル・スイートが現在メインで使われているので、
現在では、OSIはあまり普及していません。
OSIは学者や企業が現場のことを考えずに決めた机上の空論であったため、
TCP/IPと呼ばれるプロトコル群の方に圧倒的に勢いがありました。
ちなみにTCP/IPもOSIのように階層化されています。
第4層:アプリケーション
第3層:トランスポート
第2層:ネットワークインタフェース
第1層:ハードウェア
素人目線ですが、OSI参照モデルよりもシンプルに見えます。
TCP/IPもなかなか奥が深いのですが、長くなりそうなので別稿でまとめてみます。
では、今回はここまで!