🌐

ざっくりと理解する通信プロトコル(TCP/IP、OSIモデル)

2023/04/09に公開

はじめに

通信プロトコルは、現代のインターネットやネットワークにおいて、コンピュータやデバイス間でデータを効果的にやり取りするための通信規約として不可欠な存在です。さまざまなプロトコルが存在し、これらが互いに連携してデータ通信が行われています。
この記事では、主要な通信プロトコルについて基本的な概念と各層の役割について、わかりやすく説明することを目的としています。

プロトコルとは

通信プロトコルとは、デバイス間でデータの送受信を行う際に、どのように通信を行うかを定めたルールの集まりです。プロトコルを学ぶことで、通信がどのように成立しているのか理解することができます。
プロトコルを人間のコミュニケーションで例えると以下のような関係になります。

言語:プロトコル
会話:通信
話の内容:データ

太郎と花子は共通の言語で意思疎通することができますが、日本語プロトコルしか使えない太郎さんは、英語プロトコルしか使えないジョンとは会話をすることができません。

"プロトコルの概要"

このように、コンピューターやデバイス同士がデータを通信するためには、共通の約束事(プロトコル)が必要となります。

プロトコルの標準化

前述の通り、コンピュータ同士が異なるプロトコルを使用していては、効果的な通信が行えません。インターネットが登場した当初は、ハードウェアや OS ごとに独自のプロトコルが採用されていました。しかし、インターネットの普及に伴い、通信プロトコルが次第に標準化されていくことが求められました。
標準化されたプロトコルとして有名なものに、ISO(国際標準化機構)が定める OSI モデルと、IETF が定める TCP/IP モデルがあります。デファクトスタンダードとして広く普及しているのは TCP/IP ですが、OSI 参照モデルと呼ばれる 7 層の抽象化モデルは、ネットワークプロトコルの理解に欠かせないものとなっています。
それぞれ、各層の名称と主なプロトコルを図に表すと以下のようになります。

"TCP/IPとOSI参照モデル"

OSI 参照モデルの各層の役割

この章では OSI 参照モデルの各層の基本的な役割を説明し、さらにその機能を単純化して郵便に例えます。

アプリケーション層

アプリケーション層とは OSI 参照モデルの最上位層にあたり、ユーザーが直接操作できるインターフェースを提供する役割があります。ウェブブラウザやメールクライアントなどがインターフェースに相当します。
アプリケーション間でデータを送受信する際には、HTTP や SMTP などのプロトコルを使用します。
アプリケーション層を郵便に例えると、手紙を書くことや封筒に入れる行為に相当します。

"アプリケーション層"

プレゼンテーション層

プレゼンテーション層は、データの形式を定めることが役割です。アプリケーション層から送られてくるデータの形式変換・圧縮・暗号化等を行います。また受信側ではこれらのデータを復元しアプリケーション層に渡す役割も担います。
郵便に例えると、葉書のフォーマットなどがプレゼンテーション層に相当します。
適切なフォーマットを用いることで、宛先に郵便物を届けることができます。

"プレゼンテーション層"

セッション層

セッション層は通信の開始、維持、終了を管理する役割があります。データの送受信を効率的に行うために、通信の開始から終了までのプロセスをコントロールします。
郵便で例えると、返信用の封筒をあらかじめ入れておくようなことに例えられます。

"セッション層"

トランスポート層

トランスポート層の役割はデータの送受信が正確かつ完全に行われたことを確認したり、エラーを検出しデータを再送したりする役割を持ちます。
送信側ではデータ自体をパケットに分割し、受信側では再び元のデータに組み立てられます。またエラーが発生した場合には再送を行います。
郵便物の場合、書留がトランスポート層の役割に相当します。配達を依頼した記録が残り、郵便物の追跡を行うこともできるため、確実に宛先に郵便物を届けることができます。

"トランスポート層"

ネットワーク層

ネットワーク層の役割は IP アドレスを使用して、異なるネットワーク間でのデータ転送を識別・制御することです。送信元から送信先へと最適な経路で転送されるように、ルーター等を介してルーティングを行い、データパケットの送受信を行います。
郵便で例えると、差出人が投函した地域から、宛先最寄りの郵便局まで運ばれることに相当します。

"ネットワーク層"

データリンク層

データリンク層は主にローカルネットワーク内の通信を担当します。
データリンク層では上位層から受け取ったデータをフレームと呼ばれる単位に分割し転送します。その際には各デバイスを一意に識別するため MAC アドレスを使用します。MAC アドレスはデータリンク層での通信の際に送信元・送信先を特定するために用いられます。
郵便に例えると、宛先最寄りの郵便局から、宛先の住所までの配達に例えることができます。

"データリンク層"

物理層

物理層では、物理的な信号をデジタルデータに変換し、データリンク層に渡す役割を担います。送信側ではデータを物理的信号(電気信号、光信号、無線信号など)に変換し、受信側では、物理的信号をデジタルデータに変換します。
郵便に例えると、差出人が近くのポストや郵便局まで郵便物を運ぶところを指します。これにより、郵便物が最初の通信ポイントに届けられ、適切なルートで転送されるプロセスが開始されます。

"物理層"

おすすめ書籍

以上、通信プロトコルについて基本概念の説明を行いました。
本記事では各プロトコルの役割についてざっくりとした説明をしましたが、より詳しい内容を知りたい場合は以下の書籍がおすすめです。

  • ネットワークはなぜつながるのか(日経 BP 社)
  • マスタリング TCP/IP 入門編(オーム社)

さいごに

最後まで読んでいただきありがとうございました。
もし記事の内容に誤り等がございましたら、ご指摘いただけますと幸いです。

Discussion