IT用語

【ネットワーク】OSI参照モデルを理解するために図解してみた

takahide

おはようございます。タカヒデです。

「OSI参照モデル」聞いたことありますか?

基本情報技術者や応用情報技術者を受けている方はもちろん聞いたことがあるかと思います。

ネットワークの勉強をしていると必ず出てくるものですね。

私も「OSI参照モデル」自体は知っています。単語も何となく覚えています。

しかしそれだけ、理解できていません。

ということで本日は、「OSI参照モデルを図解することで理解を深めよう!」そんな記事です。

自分のための記事ですが、読んでいただいた人の知識にもなればWin-Winだと思っています。

あまり理解できていない人はぜひ参考にしてください。

そもそもOSI参照モデルとは?

ではさっそく理解を進めていきたいと思うのですが、そもそもOSI参照モデルってなんでしょうか?

それは「コンピュータ同士がネットワークで通信する仕組みを役割ごとに7つの階層に分けて整理した考え方」のことです。

あなたもこんな図をみたことないですか?7つの階層が縦にならんでいるやつです。

通信をするときは、送信側で第7層のアプリケーション層から第1層の物理層まで通り、同じように受信側で第1層の物理層から第7層のアプリケーション層まで通ります。

私たちは当たりまえにネットワークを通じてWebサイトや動画を見たりしています。

しかし、単純にデータを送受信しているだけではなく、実際には「データの形式を整える」「相手の場所を特定する」「エラーをチェックする」など、さまざまな処理が段階的に行われています。

これらの処理を層ごとに分けたものがOSI参照モデルです。

このOSI参照モデルがなければ、メーカーごとに通信の作り方がバラバラになってしまいます。

「ある会社のPCは通信できるけど、別の会社の機器とはつながらない」みたいな…

そんなことが起こると困っちゃいますね。

なのでOSI参照モデルのようなネットワークの共通的な仕組みがあるわけですね。

OSI参照モデルの各レイヤーを少し細かく見てみる

では、ここからはOSI参照モデルの各レイヤーがどのような役割を持っているのか、もう少し細かく見ていきましょう。

第1層:物理層

第1層は「物理層」です。

物理層では、デジタルデータを電波信号に変換して実際に送受信を行います。

パソコンで作られたデータはそのままでは通信できません。

0と1のビット列として信号に変換し、ケーブルなどを通じて通信相手まで届けます。

具体的にはLANケーブルや光ファイバーというとイメージしやすいですかね。

また、リピーターやハブといった機器も物理層に該当し、信号を増幅して遠くまで届ける役割を担っています。

第2層:データリンク層

第2層は「データリンク層」です。

データリンク層では、同じネットワーク内にある端末を識別することで、正しく通信できるようにする役割をもちます。

具体的には、データにMACアドレスという番号を付けて、どの機器に送るのかを識別します。

例えば、家の中で「お母さんのスマホはMACアドレスA」「お父さんのPCはMACアドレスB」という形で区別しているのですね。

この層で使われる代表的な機器はブリッジやスイッチがあります。

これらの機器が、MACアドレスを見て、同じネットワーク内で正しい相手に届けてくれるのです。

第3層:ネットワーク層

第3層は「ネットワーク層」です。

ネットワーク層は、異なるネットワーク同士をつなぎ、目的の相手までデータを届ける役割をもちます。

「異なるネットワーク同士」というのが分かりにくいですね…

イメージとしては、

  • タカヒデの家のネットワークから山田さんの家のネットワークに届ける
  • タカヒデの家のネットワークからGoogleのサーバーのネットワークにつなげる

こんな感じです。

このとき使われるのがIPアドレスです。

ネットワーク層ではこのIPアドレスをもとに、ルーターという機器が「どういうルートで行けば山田さんの家に届くかなー?」ってやってます。

IPアドレスやルーターはよく聞くワードなので馴染みやすいのではないでしょうか。

第4層:トランスポート層

第4層は「トランスポート層」です。

トランスポート層は、アプリケーションによって、データを確実に相手へ届けるための制御を行う層です。

送信するデータをパケットという小さな単位に分割し、受信側で正しく元の形に戻せるように管理しています。

また、データが途中で失われた場合の再送や、順番が入れ替わった場合の並び替えなども行っている層です。

代表的なプロトコルとしてTCPとUDPというものがあります。

  • TCP:信頼性が必要なアプリ(メール・ファイルダウンロード…等)
  • UDP:速度重視のアプリ(Web会議・オンラインゲーム…等)

こんな感じで、データを届けるために活躍してくれているんですね。

(トランスポート層の機器はゲートウェイと書いているけど厳密にはゲートウェイに搭載されているというわけでは無いかもです…)

第5層:セッション層

第5層は「セッション層」です。

セッション層は、通信の開始から終了までの「つながり」を管理する役割を持ちます。

具体的には、あるサーバーと通信する際に

  • 接続を開始する
  • 通信中はその状態を維持する
  • 終わったら切断する

といった一連の流れを管理します。

これだけ聞くと当たり前ですよね。

ではセッション層が無いとどうなるのか?

Amazonで買い物するイメージを持ってみましょう。

あなたのユーザーIDでログインすれば、そのまましばらくはいろんな商品を探すことができますよね。

しかし、セッションが無いと、商品ページを移動する度にログインし直さなければなりません。

これでは面倒ですよね。

そうならないために制御してくれているのがセッション層です。

また、通信が途中で切れた場合に再接続するなどの制御も行ってくれている、ありがたいレイヤ―なのです。

第6層:プレゼンテーション層

第6層は「プレゼンテーション層」です。

プレゼンテーション層は、データの形式を整えたり、暗号化や圧縮を行ったりする役割を持っています。

具体的には、文字コードの変換や、SSL/TLSによる暗号化通信をしてくれます。

このプレゼンテーション層がないと、

  • 文字化けして文章が読めない
  • 暗号化されていなくてパスワードが丸見え

こんなことが起きてしまうわけですね。

送信側と受信側でデータの表現方法が異なる場合に、この層で共通の形式に変換してくれているわけです。

第7層:アプリケーション層

第7層は「アプリケーション層」です。

アプリケーション層は、ユーザーが直接利用するソフトウェアとネットワークをつなぐ役割を持つ層です。

ChromeなどのWebブラウザやメールソフト、チャットアプリなどが該当し、私たちの操作を通信に変換してくれています。

この層ではHTTPやFTP、SMTPといったプロトコルが使われ、実際にサーバーとやり取りを行います。

例えばHTTPは「ブラウザとサーバーで通信する」ためのプロトコルです。

「GoogleのWebページください!」って要求したり、「これがWebページだよー」って返してくれたり。

そんなことをしているHTTPなどがあるのがアプリケーション層です。

私たちが実際に使っているサービスと紐づいているレイヤーなので、イメージしやすいかもしれませんね。

以上がOSI参照モデルにおける各レイヤーの紹介でした。

【おまけ】試験のためのOSI参照モデルの覚え方

最後におまけです。

基本情報技術者試験の過去問を解いてみると、こんな問題が出てきます。

LAN間をOSI基本参照モデルの物理層で相互に接続する装置はどれか。

ア:ゲートウェイ
イ:ブリッジ
ウ:リピータ
エ:ルータ

平成25年秋季

分かりましたか?答えは「ウ:リピータ」です。

つまり、各レイヤーの「名称」と「どのような機器」が使われるのか?を紐づけて理解する必要があります。

この「名称」×「機器」の覚え方として以下のように覚えていました。

「ア・プ・セ・ト・ネ・デ・ブ」に対し、「ゲ・ゲ・ゲ・ゲ・ル・ブ・リ」

つまり、

  • 第7層:アプリケーション層 × ゲートウェイ
  • 第6層:プレゼンテーション層 × ゲートウェイ
  • 第5層:セッション層 × ゲートウェイ
  • 第4層:トランスポート層 × ゲートウェイ
  • 第3層:ネットワーク層 × ルーター
  • 第2層:データリンク層 × ブリッジ
  • 第1層:物理層 × リピーター

これらの頭文字です。

これらの単語に意味はありません。

「私はこれで覚えました」という紹介だけなので、ご自身の覚えやすいやり方を見つけてみてください。

まとめ

以上が「OSI参照モデルを図解することで理解を深める」記事でした。

まとめ
  • 第1層:物理層
  • 第2層:データリンク層
  • 第3層:ネットワーク層
  • 第4層:トランスポート層
  • 第5層:セッション層
  • 第6層:プレゼンテーション層
  • 第7層:アプリケーション層

カタカナの用語がたくさんあって覚えにくいですよね。

ぜひ自分で図にして、自分で書いてみることで覚えることができますので、参考にしていただければ幸いです。

お疲れさまでした。

ABOUT ME
タカヒデ
タカヒデ
ITを楽しく勉強中
通信会社の企画職で働く30代
非エンジニアでありながら半分趣味でITエンジニアリングやプログラミングを学習中
IT初心者が楽しいと思えるように発信することを目指しています
↓Xもやっているのでフォローしてね
記事URLをコピーしました