今回のテーマは「OSI参照モデル」についてです。
ネットワークの基本ですね。
基本情報技術者試験や応用情報技術者試験で出題される「OSI参照モデル」についての問題。OSI参照モデルの各層の役割を知らないと難しく感じる問題ですが、知っていればそこまで難しい問題ではありません。
本記事では、ネットワークの基本である「OSI参照モデル」について解説しています。
スポンサーリンク
目次
OSI参照モデル
OSI参照モデルとは、国際標準化機構(ISO)によって策定された コンピュータ間で通信するためのモデルです。OSI参照モデルは、その役割を7階層に分けて定義しています。
コンピュータ間で通信するには、通信するためのルール(決まり事)が必要です。
そこで、国際標準化機構(ISO)が通信する際のルール「OSI参照モデル」を策定、ルールが統一されたことで異なるベンダー同士でも問題なく通信できます。
しかし、1977年から1984年にかけて定義された「OSI参照モデル」自体は普及せず、その内容だけがネットワークの基本モデルとして広く参照されています。
そして、「TCP/IP」の階層モデルが事実上の標準として広く普及しています。
OSI参照モデルは7階層
OSI参照モデルは、次の7階層に役割を分けて定義しています。
層(レイヤ) | 名称 | 主な役割 |
---|---|---|
7層(L7) | アプリケーション層 | アプリケーションレベルのデータのやり取りを定める |
6層(L6) | プレゼンテーション層 | コンピュータ間で通信する際のデータ形式を定める |
5層(L5) | セッション層 | コネクションの確立から切断までの通信の一連の手順を定める |
4層(L4) | トランスポート層 | 通信する際の信頼性を定める |
3層(L3) | ネットワーク層 | データを目的地に届ける |
2層(L2) | データリンク層 | 隣接する機器間の通信を可能にする |
1層(L1) | 物理層 | ビット列を「電気信号」や「光信号」「無線」などに変換する |
各層に役割を分けることで、複雑な通信の定義をわかりやすくしています。また、通信に問題が発生した場合、発生事象からどの階層の問題であるか絞り込めます。
OSI参照モデルのカプセル化
OSI参照モデルは、7階層に分けて役割分担しています。そして、各層が必要なヘッダー情報を付与していく形で梱包します。
この各層が必要なヘッダー情報を付与していく作業を「カプセル化」といいます。
レイヤ7からレイヤ2でデータ送信に必要な情報を付与、そして、レイヤ1でビット列を「電気信号」や「光信号」「無線」などに変換し、送信します。
カプセル化は、宅配物を段ボールに梱包、宛先を張る、配送業者・配送方法を選ぶ、といった宅配便のイメージに似ています。宅配便が送れるように情報を付与するのと同じように、通信に必要な情報を付与していきます。
カプセル化されたデータは次のように呼ばれています。
層(レイヤ) | 呼び方 |
---|---|
レイヤ7~レイヤ5 | データ |
レイヤ4 | セグメント |
レイヤ3 | パケット |
レイヤ2 | フレーム |
レイヤ1 | ビット |
カプセル化された情報を受け取った受信側は、「電気信号」や「光信号」「無線」などをビット列に戻し、更に送信時に付与した各層のヘッダー情報を取り除いていく作業をします。
この作業のことを「非カプセル化」といいます。
こちらも宅配便と同じイメージです。配送に必要な情報を付与(カプセル化)して送り、受け取り側は梱包したダンボールなどを取り除いて(非カプセル化)荷物を受け取ります。
スポンサーリンク
OSI参照モデル 各層の役割
【レイヤ7】アプリケーション層
アプリケーション層の役割は、アプリケーションが提供する機能についての仕様や通信手順などを定めることです。
例えば、Webサイトの閲覧や電子メールの送受信、ファイルのアップロードやダウンロードなどの操作が実現しているのは、アプリケーション層が、コンピュータと利用者の架け橋となりサービス(プロトコル)を提供しているからです。
上記はアプリケーション層のイメージ図です。
Webサイトの閲覧には「HTTP」と呼ばれるプロトコルが定義されており、「HTTP」を使うことでWebサイトが閲覧できます。
同じように 電子メールを送る際には「SMTP」、ファイル転送の際には FTP」と呼ばれるプロトコルを使います。
プロトコルとは、対象の物事を複数の人が使えるようにするための「ルール(決まり事)」のことです。
そして、プロトコルの多くは「ネットワーク上での通信」で使用されています。そのため、通信プロトコルとも呼ばれています。通信プロトコルには、通信するために必要な手順や規格が定められています。
例えば、「HTTP」にはWebを閲覧するために必要な手順や規格が定められているので、送信側と受信側は「HTTP」のルールに従って通信します。
アプリケーション層で使われている、主なプロトコルは次のとおりです。
プロトコル | 説明 |
HTTP(Hypertext Transfer Protocol) | Webサイトを表示する際に使用するプロトコル。HTMLやXML、画像、音楽などの様々なデータの受け渡しを行う。デフォルトのポートは「80」を使用。トランスポート層ではTCPを使用する。 |
SMTP(Simple Mail Transfer Protocol) | 電子メールを送信する際に使用するプロトコル。ポート番号は「25」を使用。トランスポート層では通常TCPが使われる。 |
POP3(Post Office Protocol) | 電子メールを受信する際に使用するプロトコル。ポート番号はPOP2では「109」、POP3では「110」を使用。トランスポート層ではTCPを使用する。 |
IMAP(Internet Message Access Protocol) | 電子メールを受信する際に使用するプロトコル。POPとの主な違いは、受信するとメールサーバから消えるPOPとは違いIMAPはメールサーバに受信メールが残る。TCPを利用する場合は、IMAP4ではポート番号「143」、IMAP over SSL/TLS(IMAPS)では「993」を使用する。 |
Telnet(Teletype network) | 遠隔地にあるサーバやルータを遠隔操作する際に使用するプロトコル。ポート番号は「23」を使用。 |
FTP(File Transfer Protocol) | ファイルを転送する際に使用するプロトコル。ポート番号は「20」「21」を使用。トランスポート層ではTCPを使用する。 |
DHCP(Dynamic Host Configuration Protocol) | IPアドレスを自動的に採番し各コンピュータに割り振るプロトコル。ポート番号は「66」「67」を使用。トランスポート層ではUDPを使用する。 |
NTP(Network Time Protocol) | ネットワークに接続されているコンピュータの時刻を正しい時刻へ同期するためのプロトコル。ポート番号は「123」を使用。トランスポート層ではUDPを使用する。 |
DNS(Domain Name System) | IPアドレスからドメイン名を導き出すプロトコル。 |
SNMP(Simple Network Management Protocol) | インターネット上のネットワーク機器を監視するためのプロトコル。ポート番号は「161」「162」を使用。トランスポート層ではUDPを使用する。 |
【レイヤ6】プレゼンテーション層
プレゼンテーション層の役割は、コンピュータ間のデータ形式(文字コードや圧縮、暗号化など)を定義することです。
例えば、異なる文字コードを使用していると、文字化けが発生します。このような文字化けの問題は、コンピュータ間で文字コードを統一すれば解決できます。
文字に限らず画像や音楽などもデータ形式を統一する必要があります。このように、コンピュータ間のデータ形式を統一することがプレゼンテーション層の役割です。
また、データの暗号や復号もプレゼンテーション層が担当しています。
【レイヤ5】セッション層
セッション層の役割は、コネクションの確立から切断までの通信の一連の手順を管理(セッションの管理)することです。
上位層であるプレゼンテーション層(レイヤ6)からのサービス要求に応じ、下位層であるトランスポート層(レイヤ4)に対してサービス要求を行います。
【レイヤ4】トランスポート層
トランスポート層の役割は、コンピュータ間で通信する際の信頼性について定めることです。
インターネット上での通信は、必ずデータの送信に成功するとは限りません。また、送信に成功してもデータが欠落してしまうこともあります。
そこで、データの送信に失敗したケースや欠落してしまったケースを考慮し、通信の信頼性について定義しているのがトランスポート層です。
具体的には、コネクション型の「TCP」とコネクションレス型の「UDP」がトランスポート層で定義されている代表的なプロトコルです。
TCP(Transmission Control Protocol)
TCPはコネクション型のプロトコルです。コネクション型とは、会話のように相手とやり取りをしながら通信する方式です。
次の図は、TCPの「3ウェイハンドシェイク」のイメージ例です。3ウェイハンドシェイクとは、接続(コネクション)を確立するための手順のことです。
上記図のようにTCPは、通信相手と会話するようにやり取りをしてきます。
そのため、データ送信に失敗した場合は通信相手から返事が返ってきません。このような場合は、一定時間待機して再送します。
また、データが欠落した場合もTCPヘッダーにある「チェックサム」で検知できます。
このようにTCPは信頼性の高い通信を提供しています。
UDP(User Datagram Protocol)
UDPはコネクションレス型のプロトコルです。コネクションレス型とは、通信相手と接続(コネクション)確立を行わずデータを送信する方式です。
会話のように相手とやり取りをしながら通信するTCPとは違い、UDPは相手にデータが届いたかの確認を行いません。
一方的にデータを送信し、速度の速い通信を実現しています。そのため、多少のデータ欠落があっても高速性やリアルタイム性を重視する通信で使われています。
トランスポート層では、信頼性重視の「TCP」、速度重視の「UDP」が提供されています。
【レイヤ3】ネットワーク層
ネットワーク層の役割は、目的地までデータを届ける(エンド・ツー・エンド)ことです。
IPアドレスと呼ばれるインターネット上の住所と、ルーティングと呼ばれる最適経路を導き出す仕組みで、目的地までの経路を導き出します。
ネットワーク層では、ルータ(L3スイッチ)と呼ばれるネットワーク機器を使用します。ルータとは、異なるネットワーク間の中継器のことです。
ネットワーク上のコンピュータが、自分の所属しているネットワークから外部ネットワークにアクセスする時、必ずルータを経由します。
例えば次の図のように、「PC1」が「ネットワークB」や「ネットワークC」にあるコンピュータにアクセスするためには、「ルータA」を経由します。
ルータは「ルーティングテーブル」と呼ばれる経路情報を保持しており、その経路情報を元に最適な経路を導き出します。この最適経路を導き出す仕組みを「ルーティング」といいます。
ルーティングテーブルには、インターネット上の住所である「IPアドレス」が管理されており、「IPアドレス」から宛先のコンピュータが、どのネットワークに所属しているか判断し、そのネットワークへとデータを転送していきます。
【レイヤ2】データリンク層
データリンク層の役割は、隣接する機器間の通信を可能にすることです。
データリンク層では、コンピュータ間で通信する際の手順やエラーの検出、対処方法などのルール(プロトコル)を定めています。
例えば、コンピュータをネットワークに接続する際に使用するイーサネット(LANケーブルの規格)は、データリンク層のプロトコルです。イーサネットで定義されているルールに従い通信します。
また、データリンク層では、コンピュータの識別番号である「MACアドレス」を使います。
「MACアドレス」を使って、隣接するコンピュータ間の通信を可能にしています。
データリンク層で動作するネットワーク機器に、ブリッジ(スイッチングハブ)があります。
ブリッジ(bridge)とは、セグメント間の中継器です。
※セグメントとは、ブロードキャスト(接続している全コンピュータにデータを流す)が届くネットワークの範囲(グループ)のことです。
※スイッチングハブは、「ブリッジ」機能を持つハブ(LANケーブルの接続口を複数持つ集線装置)のことです。
ブリッジには「MACアドレス」を学習する機能があり、流れてきたパケットを監視することで、ブリッジに接続されているコンピュータの「それぞれのセグメントに属するMACアドレスの一覧」を記憶します。
以降は、記憶した「MACアドレスの一覧」に従い、宛先の「MACアドレス」が存在するセグメントへパケットを流します。
【レイヤ1】物理層
物理層の役割は、上位層から送られてきたデータのビット列を「電気信号」や「光信号」「無線」などに変換することです。
上記図のように、LANケーブルで接続されたコンピュータ同士が通信するには、「0」と「1」で表現されたビット列を「電気信号」に変換する必要があります。
また、光通信であれば「光信号」に変換、無線通信であれば「無線(電波)」に変換します。
各信号に変換し、LANケーブルや光ケーブル、無線などでデータを送信します。また、各信号を受け取った受信側は、「電気信号」や「光信号」「無線」などをビット列に戻していきます。
物理層で動作するネットワーク機器に、リピータがあります。
リピータとは、電気信号の中継器であり、電気信号を受信し弱まったりノイズが入った信号を、増幅や整形して元の信号に戻します。
イーサーネットには、信号が正常に伝送できる距離(最大長)が規定されており、その距離を過ぎると信号は弱まります。そこで利用するのがリピータです。
リピータには弱まったりノイズが入った信号を、増幅や整形して元の形に戻す役割があります。
リピータは「10BASE2」や「10BASE5」「10BASE-T」といったイーサネット(Ethernet)規格の時代に普及したネットワーク機器です。
スポンサーリンク
基本情報技術者試験 過去問の解説
基本情報技術者令和4年免除 問31
ルータの機能に関する記述のうち、適切なものはどれか、ア~エを順番に確認していきます。
ア:MACアドレステーブルの登録情報によって,データフレームをあるポートだけに中継するか,全てのポートに中継するかを判断する。
不正解:MACアドレスで判断するネットワーク機器は、ブリッジ(スイッチングハブ)です。
イ:OSI基本参照モデルのデータリンク層において,ネットワーク同士を接続する。
不正解:データリンク層で動作するネットワーク機器は、ブリッジ(スイッチングハブ)です。
ウ:OSI基本参照モデルのトランスポート層からアプリケーション層までの階層で,プロトコル変換を行う。
不正解:ゲートウェイの説明です。ゲートウェイは、通信プロトコルが異なるネットワーク同士がデータをやり取りする際、中継する役割を担うルータのような機能を備えた機器のことです。
エ:伝送媒体やアクセス制御方式の異なるネットワークの接続が可能であり,送信データのIPアドレスを識別し,データの転送経路を決定する。
正解:IPアドレスで判断するネットワーク機器はルータです。IPアドレスを使ってデータの転送経路を決めます。
「ア」が正解です。
基本情報技術者令和3年免除 問32
OSI参照モデルの各層で利用するネットワーク機器は次のとおりです。
- ネットワーク層:ルータ(レイヤ3スイッチ)
- データリンク層:ブリッジ(スイッチングハブ)
- 物理層:リピータ
物理層は弱まった電気信号を増幅する「リピータ」、データリンク層はMACアドレスで判断する「ブリッジ」、ネットワーク層はIPアドレスで判断する「ルータ」を使います。
「ウ」が正解です。