基礎からわかる!パソコン入門・再入門 / Word・Excel・PowerPoint・Outlook

プロトコルとOSI参照モデル|データ通信のルール

  • 著者:YAMANJO
  • 公開日:2008年7月27日
  • 最終更新日:2025年4月7日

ネットワーク通信に必要なプロトコルとは何か、OSI参照モデルと通信の階層構造について理解していきましょう。

プロトコルとは

これまで度たび登場してきた「プロトコル」という用語について、ルールや規格と同じような意味だと簡単に説明してきましたが、インターネットではとても重要な仕組みになりますので、あらためて本項でしっかり学習していきましょう。

プロトコル(protocol)は医療用語などにも使われていますが、コンピュータの世界では、

ネットワーク上で通信を行う際の約束事

を意味します。

漠然としていてイメージしにくいので、外交を例にしましょう。

国際会議の場で様々な国同士が議論する場合、どの国も自国の言語を使っていたのでは、互いに意思疎通ができません。そこで「英語」という共通語を使用することで円滑に議論が進行します。

それと同じで、インターネットのように多数のコンピュータやデバイスが接続されたネットワークでは、異なるコンピュータ同士が通信し合うための共通の「言葉」が必要になるのです。

それがプロトコルです。ただし、プロトコルは「英語」のようにひとつを決めればいいというわけではなく、話す順番や聞き返しのルールなどのように、さらに細かく取り決めが行われています。

そのため、

プロトコルは単なる共通言語ではなく、通信の約束事の集合体

と言えます。

また、前項で学習した「同じネットワーク」や「異なるネットワーク」とった通信環境や、WWWシステムやFTPといった通信の種類に応じてさまざまなプロトコルが存在します。

その昔、コンピュータの世界には「英語」のような共通語がありませんでした。

各メーカーがそれぞれ独自のプロトコル(プロトコルを含めた通信の仕組み)で通信していたために、異なるメーカーの機器同士では通信がうまくできなかったのです。

そこで、ISO(国際標準化機構)などの国際機関によって、通信の仕組みを統一するための設計モデルが策定されました。

このモデルを、

OSI参照モデル

と言います。

異なる機種間でも通信ができるように標準的な通信モデルを策定し、メーカーには、このモデルに従ってプロトコルを構成してもらうようにしたのです。

OSI参照モデル

OSI参照モデルは実際のプロトコルではなく、あくまで通信の仕組みを階層的に整理した指針(モデル)になります。あえて「ISO」を反転させたように思われますが「Open Systems Interconnection」の略になります。

OSI参照モデルの策定により、各メーカーはこのモデルに従ってプロトコルを開発するようになり、通信におけるメーカー間の問題が解決していくことになります。

OSI参照モデルでは、プロトコルの役割に応じて、7つの階層に分割して通信の手順をモデル化しています。

なぜ、階層を分けるのかというと、よく使われる例で、私たちが普段使っている「電話」に例えてみます。

電話では、お互い「人間の言葉」で伝達するだけで、電話機が音声を電気信号に変換してやりとりしていることなど意識する必要がありません。電話機の方からしても人間が何語で何をしゃべろうと関係なく、電気的な処理を行っているだけです。

つまり、異なる階層において、その階層の役割を果たすことで通信が成り立つのです。

AさんとBさんの電話を例にすると、「Aさんの声」を「Aの電話機」に電気信号として渡し、電話機から「Aの電話局」に信号を渡し、そして「Bの電話局」→「Bの電話機」→「Bさん」という流れになります。

電話における音声情報の流れのイメージ図

実際はこのように情報が流れていますが、それぞれの階層で通信し合っているようにみえるということです。これは何気ないことのようですが、大きなメリットがあります。

他の階層を意識しないで、その階層の仕事に専念すればよい

からです。

ネットワーク環境では、あるプロトコルがすべてを兼ねた仕事をするわけではなく、機能ごとに階層化され、それぞれの仕事に専念することで通信が成り立っているのです。

OSI参照モデルは、ネットワーク上を流れる物理的な電気信号から、アプリケーションソフト(ユーザー)が直接扱うデータまでの流れを、7つの階層(レイヤー)に分けています。

OSI参照モデル
階層 名称 特徴
第7層 アプリケーション層 アプリケーションソフト間の通信(ユーザーが利用)
第6層 プレゼンテーション層 データ形式に関する規定(文字コードや画像形式など)
第5層 セッション層 通信の開始・維持・終了の管理(コネクションの管理など)
第4層 トランスポート層 通信の品質管理などの通信制御(エラー時の再送や到着確認など)
第3層 ネットワーク層 異なるネットワーク間での通信(IPアドレスによる通信)
第2層 データリンク層 同じネットワーク内での通信(MACアドレスによる通信)
第1層 物理層 ケーブルや電波などの物理的な通信媒体を規定

第1層から上位層になるにしたがって、機械的な階層から人間的な階層になって行きます。重要なのは、下位層が上位層の基盤になっているということです。

私たちが普段使用しているメーラーや、インターネットを閲覧するためのブラウザなどのアプリケーションソフトは、このモデルにしたがって通信しています。

データを送信する時は、第7層 → 6 → 5 → 4 → 3 → 2 → 第1層とデータが渡されていき、データを受信する時には、逆に第1層から順に第7層まで、データが渡されていきます。

メールを例にすると、一見メーラー同士が直接やり取りをしているように見えますが、実際は、第7層 → 第1層の手順でメールのデータを送り出し、第1層 → 第7層の手順で受信しています。

しかし、OSI参照モデルでは階層が明確に分離されているため、例えば、第2層(データリンク層)の通信方式を変更したとしても、上位層のアプリケーションには影響を与えないというメリットがあります。

また、この明確な階層化によって、さらに多くのメリットがあります。

通信環境の変化や不具合等でシステムに修正が必要になった場合でも、柔軟に対応することができるようになります。

該当する階層だけを修正すればよい

からです。

また、通信に障害があった場合など、下位層から順に原因を調べていけば、どこに原因があるのか突き止めやすくなるというメリットもあります。

ただし、OSI参照モデルは仕様ではなく、あくまでモデルであるため、すべてのプロトコルや機器等がOSI参照モデルに準拠しているとは限りません。

実際に一部のプロトコルや規格に関しては、OSI参照モデルのどの層に属するかについて異なる見解があったりします。(詳しくは次項で学習します)

OSI参照モデルの覚え方は、上から頭文字だけとって「アプセトネデブ」という覚え方が多いようですが、筆者は「アプセットね、デブ」と覚えました。単なる語呂合わせですが、不思議と頭から離れません。

では、OSI参照モデルのそれぞれの階層(レイヤー)についてみていきましょう。

第1層(物理層)

第1層は「物理層」と呼ばれるレイヤーで、データを電気信号や光信号、無線などの物理的な形で送受信する役割を担います。

具体的には、2進数のビット列を電気的・光学的な信号に変換して送信する方式や、受信した信号を元のビット列に復元する方法を規定しています。

つまり、ビット列をケーブルなどの通信媒体に実際に乗せる役割を担っており、単純に上位層から下りてきたビット列を物理的に通信可能な信号に変換して流す役割を担います。

このように、物理層の役割は上位層から受け取ったデータを通信媒体に適した信号に変換して伝送することであり、データの意味を理解したり、誤りを検出・訂正したりする機能はありません。

また、伝送手段の確立にともなって、実際にデータが流れるケーブルの種類やコネクタの形状などの物理的な仕様を規定しています。代表的な機器には、回線を単純に中継する「リピータ」や、複数の回線を集約し中継する「リピータHUB」と呼ばれる装置があります。

リピータHUBは、高性能のスイッチングHUBとは異なり、受信した信号をそのまま全ポートに転送する単純な装置で、スイッチングHUBのように必要な機器にのみデータを送信する機能はありません。

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

前項で学習した「同じネットワーク」間の通信を規定した層になります。

同じネットワークとは同じIPアドレス体系のネットワークと解説しましたが、じつはもっと単純で、

物理的に接続された機器間の通信を担当するレイヤー

になります。

どういうことかと言うと、そもそも同じネットワークか異なるネットワークかという区分けは結果であって、第2層の通信では、ネットワークの論理的な違いを認識しているわけではありません。結果として、第2層の方式で通信できるネットワークが「同じネットワーク」で、通信できないネットワークが「異なるネットワーク」になります。

どのように通信を行うのかというと、

MACアドレス

という数値を使って通信します。

MAC(マック)アドレスとは、NIC(ニック)と呼ばれるネットワークカード(ネットワーアダプタやLANカードとも言う)やHUBなどのネットワーク機器に割り当てられたその機器固有の識別番号のことです。

NICとは、下図のようにパソコンに組み込まれたネットワーク接続用の部品のことです。このパソコンの場合は、有線(イーサネット用)のネットワークアダプタと無線(Wi-Fi用)のネットワークアダプタの2つが備わっています。

「アダプターの設定の変更」画面のイメージ

MACアドレスは機器の製造段階で書きこまれ、48桁の2進数を16進数に置き換えて「00-1E-5B-74-1C-13」などと表されます。アドレスの左半分がメーカー番号、右半分をそのメーカー内の識別番号にすることで、世界で1つだけ(ユニークと言う)のアドレスになります。(16進数について詳しくは、2進数と10進数と16進数 を参照してください)

対して、IPアドレスはユーザーがNICに割り当てるアドレスです。ユーザーが割り当てるため、自由に変更することが可能で、自動割り当て機能を使う場合は、ネットワークへ接続するたびに変わる可能性があります。(IPアドレスについては後述します)

つまり、基本的にMACアドレスは機器固有の不変の番号であり、これを利用することによって、ネットワーク内のノードを確実に特定することができます。(ノードについて詳しくは、LAN・WANとは を参照してください)

であれは、MACアドレスだけでIPアドレスは不要のように思えますが、前項で学習のとおり、異なるネットワークであるインターネットで適切な経路を選択してルーティングを行う場合にはIPアドレスが必要になってきます。

例えば、数千台、数万台のノードが接続されている大規模なネットワークでは、MACアドレスだけで通信経路を管理するのは効率的ではありません。なぜなら、通信するすべてのノードのMACアドレスを収集して登録しておく必要があるからです。機器の入れ替えのたびに更新が必要になり、管理する情報が膨大になってしまいます。

そこで、「異なるネットワーク」という概念を用いて、異なるネットワークとの通信にはIPアドレスを利用するようにしたのです。簡単に言えば、IPアドレスは、ネットワーク全体のざっくりとした位置を示す役割を果たします。

例えば、A社のネットワークが、LAN1、LAN2、LAN3という異なるネットワークによって構成されている場合、IPアドレスはLAN1~3を特定する役割を持ち、MACアドレスは、LAN1~3内の個別のノードを特定します。つまり、ネットワークの特定まではIPアドレスを使い、特定されたLAN内ではMACアドレスを使って通信を行うということです。

こうすることによって、ネットワーク単位での管理とルーティングが可能になり、管理する情報量が大幅に減少します。そして、特定のネットワークへ届けたら、個別のノードへの転送はそのネットワークを担当する機器に任せることが可能になります。

ここで言う「そのネットワークを担当する機器」というのが第2層が規定する通信の範囲です。そのネットワーク内では、担当機器が各ノードのMACアドレスを管理しており、MACアドレスによって特定のノードに届けられることになります。

どのようにMACアドレスを取得しているのかというと、ネットワーク内に「このIPアドレスを持つ機器のMACアドレスを教えて」というアナウンスを行って、ノード同士で教え合う方法が一般的です。そのため、MACアドレスでの通信にIPアドレスが関係してくることになり、実質的にIPアドレス体系によって「同じネットワーク」と「異なるネットワーク」に分かれることになります。

こうして、同じネットワークに所属する機器情報を第2層の機器が収集して登録します。第1層のリピータHUBは、接続されているすべての機器にデータを送っていましたが、第2層の機器は、接続された機器のMACアドレスを学習して(登録して)、必要なポートにだけデータを送信します。

これらの機器は「ブリッジ」や「スイッチングHUB」と呼ばれています。どちらも、同じネットワークのLANを中継する機器になりますが、同時にMACアドレスによるデータの選択的な伝送を行っています。

ブリッジとスイッチングHUBの違いは、簡単に言えば、ブリッジにHUBの機能を備えた機器がスイッチングHUBになります。単純にポート数が多く、現在ではほぼスイッチングHUBが使われています。

スイッチングHUBの機能によって、ネットワーク全体に無駄なデータが流れないため、トラフィック(ネットワークを流れるデータ量のこと)を軽減する効果もあります。

スイッチングHUBは、第2層の「Layer2」から「L2スイッチ」とも呼ばれます。同様に第2層の通信を「L2通信」と言うこともあります。

L2通信の概念図

このように、スイッチングHUBで接続したLANは同じネットワークになります。少々難しいですが、LANを構築していく過程から理解すればわかりやすいでしょう。

例えば、3台のパソコンをLANで接続する場合、 集線装置であるHUBを中心にスター型に3台が接続される形式となります。この場合、HUBによって集線され、3台繋がった状態でひとつのLANになっています。

では、さらに台数が増えてきた場合はどうでしょうか。HUBにはポート数(差し込み口)に限界があるので、数十台にもなると接続できずにあふれてしまいます。

そうなった場合には、また別のHUBでグループを形成し、そのグループ同士を接続することになります。すると、異なるグループでも接続することによってひとつのLANとなります。こうしてLANの台数をどんどん増やしていくことが可能になります。

こうしたLANのグループのことを、

セグメント

と言います。

セグメントは、使い方によって解釈が異なる微妙な用語なのですが、基本的には「同じIPアドレス体系のLAN」を指し、同じネットワークを意味します。

先述のLAN1~3の例のように、それぞれ別のIPアドレス体系であった場合はセグメントが異なることになり、第2層の通信は成立しません。そのため、スイッチングHUB(L2スイッチ)で接続することはできなくなります。

すなわち、第2層の通信が届く範囲が同じセグメント(同じネットワーク)になります。セグメントは、実質的にIPアドレス(サブネット)によって分離されます。

第2層の通信ではMACアドレスが使われるため、物理的につながったノードであれば、MACアドレスだけで通信を行うことが可能です。しかし、MACアドレスの取得にはIPアドレスが必要なケースが多く、実質的にIPアドレス体系によって第2層の通信範囲であるセグメントが決定します。難解ですが、非常に重要な概念になりますので、しっかり理解しておきましょう。

L2通信では、データ(0と1のビット列)を「フレーム」という単位で扱います。

データをフレームにまとめて物理層に渡すわけですが、中身は上位層から受け取ったデータにMACアドレス情報を付加してパッケージ化したものです。このパッケージ化を「カプセル化」と言います。

上位のネットワーク層では、前項で学習した「パケット」単位でデータを扱います。おおまかに言うと、ネットワーク層から受け取ったパケットにMACアドレス情報を足してカプセル化したものがフレームになります。

有線LANの規格であるイーサネットは、代表的なデータリンク層のプロトコルになります。イーサネットではデータを「フレーム」単位でやり取りしています。(イーサネットについて詳しくは、LAN・WANとは を参照してください)

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

異なるネットワーク間の通信を規定した層になります。

異なるネットワークとは、第2層の通信が届かないネットワークで、異なるセグメントのLANを指します。また、インターネットへの接続も異なるネットワークへの接続であり、インターネット接続も含まれます。

そのため、支店などの遠隔地にあるLANにインターネットを介して接続する場合も異なるネットワークになります。(L2通信が可能な広域イーサネットというサービスもあります)

言い換えれば、インターネットの通信を規定した層であり、もっとも重要なレイヤーであると言っても過言ではありません。

先述のとおり、ネットワーク層での通信は、

IPアドレス

が使われます。

IP(アイピー)というのは「インターネット プロトコル(Internet Protocol)」のことで、インターネットのもっとも基本的なルールを規定した第3層のプロトコルになります。

IPアドレスは、NICにユーザーが任意で付与することができるアドレスで、ネットワーク上の識別番号になります。(NICにはMACアドレスとIPアドレスの2つのアドレスが設定されることになります)

学習のとおり、IPアドレスはざっくりとした位置を特定する役割を担い、IPアドレスによってネットワーク単位が特定され、そのネットワーク内ではMACアドレスによって特定のノードに届けられます。(実際にはIPアドレスでノードを特定することが可能ですが、レイヤーが異なるため、物理的な伝送のためにMACアドレスに変換する必要があります。詳しくは、IPアドレスとは(1) で学習します)

異なるネットワークはL2機器では接続できず、ルータなどのL3機器が必要になります。つまり、IPアドレスによって経路を選択する「ルーティング」機能を持つ機器でなければなりません。

IPアドレスは、バージョンによる違いはありますが、32桁の2進数を8桁ごとに10進数に置き換えて「192.168.1.1」などと表されます。インターネット上では、IPアドレスも世界で一つだけのユニークな番号である必要がありますが、同じセグメントのLAN内では、重複しない番号であれば問題ありません。(詳しくは次項で学習します)

整理するために、またLANを構築していく過程から考えてみましょう。

例えば、部門やフロアごとにHUBで接続されたLANが形成され、これらのLANをL2スイッチで接続していくことで、同じセグメントのLANを広げていくことができます。

実際には、L2スイッチだけでLANを大きくすることが可能です。しかし、多くの企業などではそのようなLANは構築しません。なぜなら、すべて同じセグメントになると、障害発生時に影響がすべてに及ぶリスクがあるからです。

そのため、ネットワークの利用目的などによってセグメントを分ける構成が一般的になっています。例えば、業務用のLAN(A)と、インターネット用のLAN(B)に分けるようなイメージです。

L2通信では同じセグメントまでしかデータが届かないので、例えばインターネット用のLAN(B)に障害があった場合でも、業務用のLAN(A)には影響しない(可能性が大きい)というわけです。

仮に、AとBが同じIPアドレス体系だった場合、L2スイッチで中継するとすべて同じセグメントになって繋がってしまいます。

セグメントを分ける場合は、異なる体系のIPアドレスを割り当てる必要があります。そして、L2スイッチではなくルータで中継することで、異なるLAN同士を選択的に接続することができます。

ルータは、設定によってネットワーク間で通信できる機器を限定したり、遮断したりすることができるからです。こうした設定によってセキュリティを確保することが一般的になっています。

またルータ以外にも、ルーティング機能を持ったスイッチングHUBで接続することもあります。こうしたHUBは「L3スイッチ」と呼ばれ、L2スイッチと区別しています。

L3通信の概念図

基本的にルータは外部のネットワークと接続する場合に使われ、L3スイッチは内部で分離したセグメントのLANを中継する用途で使われます。そのため、上図のような社内のLANを中継する場合はL3スイッチが利用されます。(ここではあくまでルータに焦点を当てています)

L3通信では、データを「パケット」単位で扱います。

上位層から受け取ったデータにIPアドレス情報を付加してカプセル化したもので、第2層に渡すときにMACアドレスが付加されてフレームとなります。

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

通信の品質を管理し、通信を制御する層になります。

地味に思われるかもしれませんが、非常に重要な仕事を担っています。宅配便であれば、確かに届けた(受け取った)と言う伝票が残ります。しかし、ネットワーク通信の標準規格であるパケット交換方式は、荷物と同じではありません。

なぜなら、パケットという小さい単位のデータを大量に送り付け、送信先で組み立てる仕組みだからです。膨大なパケットのひとつが欠けても正しく送信できていないことになります。

つまり、インターネットではこうしたパケット欠損などのトラブルが起こり得るということなのです。

その理由は、

インターネットがベストエフォート型のサービス

だからです。

ベストエフォートとは、簡単に言うと「善を尽くすが結果に責任は負わない」サービスのことです。インターネットは世界中に広がる巨大なネットワークであり、そもそも品質を保証することなどできないのです。

そのため、宅配便とは異なり、データの伝送経路の途中で何かがあってデータが欠けるようなことがあっても、責任をとってくれるサービスではありません。

また、現在ではほとんどのLANがインターネットと同じIPプロトコルによって構築されているので、LANにおいても同様の仕組みとなっています。こうした環境の中で、通信の品質を管理することがトランスポート層の主な役割になります。

簡単に言えば、

データを確実に届けるための機能を提供する

ことです。

例えば、データが正しく転送されたかどうかを確認するためにエラーチェック機能を有し、エラーがあった場合には再送要求を行ったり、受信者側からの確認応答によってデータの到着を確認し、応答がなければ再送するなどの機能を規定しています。

トランスポート層の代表的なプロトコルには「TCP」と「UDP」があります。

上位層

第1層から第4層までを「下位層」、第5層以上は「上位層」と呼びます。上位層では、下位層で確立された通信によるデータの「中身」を規定しています。

ただ実際には、上位層の全てを1つのプロトコルで定めている場合が多いので、簡単な解説に留めておきます。

第5層「セッション層」は、その名のとおりセッション(通信の開始から終了まで)を規定し、アプリケーションソフト間での通信ができるようにします。

第6層「プレゼンテーション層」は、セッションでやり取りされるデータの表現方法やコードなどを規定する層で、例えば、異なる文字コード体系におけるセッションなど、それらの相互変換を行なったりします。

最上位である第7層「アプリケーション層」は、ユーザーが直接操作する具体的なサービスを規定しています。例えば、メール送信(SMTP)やウェブページの閲覧(HTTP)、ファイル転送(FTP)などのプロトコルを規定しています。

最後に、Webブラウザでウェブページを閲覧する場合を例に、これらの7層のデータの流れを確認しておきましょう。

WWWとは で学習のとおり、ウェブページが表示される仕組みは、WWWサーバ(ウェブサーバ)にウェブページの表示要求を出し、WWWサーバからページのデータを送信してもらい、そのデータをブラウザに読み込んで表示します。

ブラウザにURIを入力してアクセスするだけのことですが、こうした操作でもデータはそれぞれの階層を流れていきます。

第7層:URIにHTTPプロトコルを指定「https://www.~」

第6層:表示する文字コードの決定

第5層:ブラウザのセッションの確立

第4層:確実な通信環境の確保

第3層:異なるネットワークへの通信

第2層:同じネットワーク内の通信

第1層:ネットワークへ電気信号にしてデータを流す

といった流れになります。

実際に流れるデータは、下図のようになります。

OSI参照モデルのデータの流れ概念図

このように、各層で処理がされると、その処理した情報はヘッダとして付加されていきます。先述のとおり、この処理をカプセル化と言いますが、上図のように、下位層に進むにつれてヘッダが増えていきます。

逆に、受信したときは上位層に進むにつれてヘッダを外していきます。

また、階層によってデータの呼び方も変わってきます。重要なのは「パケット」と「フレーム」ですが、階層によって呼び方が変わることを知っておきましょう。

すべて覚えておく必要はありませんが、これらの用語は今後も出てくる用語になります。ネットワークを理解する上では重要な知識になるので、興味のある方はぜひ覚えてみてください。

これで、なんとなくネットワーク通信のイメージができたでしょうか?

少し専門的で難解になってしまいましたが、本項で完全に理解しておく必要はありません。それぞれ順を追って学習して行きますので、ここでは漠然とイメージできていれば問題ありません。

更新履歴

2008年7月27日
ページを公開。
2009年5月6日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2018年1月26日
ページをSSL化によりHTTPSに対応。
2025年4月7日
内容修正。

著者プロフィール

YAMANJO(やまんじょ)

経歴
岡山県出身、1980年生まれ(申年)の♂です。現在、総合病院で電子カルテなどの情報システム担当SEとして勤務。医療情報学が専門ですが、ネットワーク保守からプリンタの紙詰まり、救急車の運転手までこなしています。
医療情報技師、日本DMAT隊員。ITパスポート、シスアドなど、資格もろもろ。
趣味は近所の大衆居酒屋で飲むこと、作曲(ボカロP)、ダイビング。
関連リンク
詳細なプロフィールはこちら
作成したボカロ曲などはYoutubeへ
X(Twitter)
著者YAMANJOのイメージ画像