けんのへや

工学院大学情報学部情報通信工学科 先進ネットワークシステム研究室のブログです

OSI参照モデルとTCP/IPについて

はじめに

はじめまして。工学院大学 情報通信工学科4年 先進ネットワークシステム研究室の加藤です。今回はネットワークの勉強をしている方なら誰もが聞いたことのある「OSI参照モデル」と「TCP/IP」について説明します。

OSI参照モデルとは

OSI参照モデル(Open Systems Interconnection reference model)とは、国際標準化機構(ISO)によって策定された、通信機能を分類して階層化したモデルのことです。具体的には、通信に必要な機能を階層ごとに分け、プロトコルの役割をわかりやすく表記したものです。ここで言うプロトコルとは、ネットワーク上での通信を行う際の決まり事を定義したものです。 OSI参照モデルが策定される前は、各メーカーが独自のネットワーク仕様でやり取りを行っており、仕様の違いから異なるメーカーの機器同士の接続が困難になっていました。そのため、ISOはネットワークの普及を促進するべく、特定のメーカーに依存しない通信が実現できるようOSI参照モデルを策定しました。 OSI参照モデルは以下の表のように7つの階層で定義されます。

osim.png (123.4 kB)

各層の役割を上位層から簡単に説明します。

  • アプリケーション層
    最も上位に位置するこの層では、特定のアプリケーションがどのように通信するかといった情報を渡す役割があります。
  • プレゼンテーション層
    通信しやすいようにデータを共通な表現形式に変換してからやり取りを行います。これによって、データの表現形式の整合性を保つ役割があります。日本語を扱える符号化形式としてShift-JISやUTF-8などがあります。この符号化が正常に行えていないと、相手はメッセージを正しく読み取れません。
  • セッション層
    データをどのように送れば効率よく通信が行えるか、データの送信方法をどのようにするかを判断して制御する役割があります。実際にデータを転送する処理はトランスポート層以下から行われます。
  • トランスポート層
    送信元から宛先までの通信を実現させる役割があります。
  • ネットワーク層
    送信元から宛先へのデータを転送する役割があります。例えば、ルータやL3スイッチには、どの経路を通ってデータを転送すべきか選択する機能があります。
  • データリンク層
    直接接続された機器同士でデータのやり取りを実現する役割があります。このデータリンク層で動作する機器には、ブリッジとL2スイッチがあります。
  • 物理層
    通信媒体を流れる信号の形式や通信媒体の物理的な仕様を定めています。物理層で用いられる機器の例として、リピータがあります。リピータは、信号の増幅を行い信号の到達範囲を広げる機能があります。

TCP/IPとは

TCP/IPとは、一般的にネットワークプロトコル群の総称を指します。具体例として、TCPUDPTelnetFTPなど、TCPやIPに関係する多くのプロトコルが含まれます。TCP/IPという表記でTCPとIPという2つのプロトコルだけを意味する場合もあります。 OSI参照モデルでは実装するにあたって融通が利かなかったり、複雑すぎたりと様々な問題がありました。そこでシンプルかつ実用的な階層構造にしたものがこのTCP/IPです。現在のネットワーク通信ではTCP/IPが用いられています。

TCP/IPOSI参照モデルを比較したものを以下の表に示します。 ositcpip.png (97.6 kB)

TCP/IPOSI参照モデルは階層モデルに違いが見られます。OSI参照モデルは「プロトコルに必要な機能はなにか」を中心に記述されているのに対して、TCP/IPの階層モデルは「プロトコルをどのように実装したらよいか」を中心に記述されています。

TCP/IPの階層モデルについても各層の役割を簡単に説明します。

  • アプリケーション層
    OSI参照モデルにおけるセッション層やプレゼンテーション層、アプリケーション層の3つの機能はアプリケーション層にまとめられています。そのため、TCP/IPのアプリケーションプログラムの詳細を見ると、セッション層の機能やプレゼンテーション層の機能が見られます。使用される代表的なプロトコルとして、Webにアクセスするために使用するHTTP、メールを送信するために使用するSMTP、メールを受信するために使用するPOP3IPアドレスの割り当てを行うDHCPなどがあります。
  • トランスポート層
    基本的にはOSI参照モデルトランスポート層と似たような役割を持っています。トランスポート層の最も大事な役割は、どのプログラムとどのプログラムが通信をしているかを識別することです。このときポート番号と呼ばれる識別子が使用されます。代表的なプロトコルとして、データの信頼性を保証するTCP、速度重視のデータ転送を行うUDPがあります。
  • インターネット層
    OSI参照モデルの第3層であるネットワーク層と似たような役割を持っています。IPと呼ばれるプロトコルIPアドレスを用いて宛先を判断し、データの転送を行います。また、エラーの通知や制御メッセージを転送するために使用するICMPがあります。 TCP/IPの階層モデルでは、このインターネット層と上位にあるトランスポート層はOSに組み込まれることを想定します。
  • ネットワークインターフェース層
    OSI参照モデルデータリンク層と似たような役割を持っています。ネットワーク機器間でのデータの転送を実現させます。代表的なプロトコルとして、接続手段や規格を定義しているEthernet、2点間を接続して通信を行うために使用するPPPがあります。 TCP/IPでは、ネットワークで接続された機器間で通信ができることを前提として設計されているため、物理層に関する記載はありません。OSI参照モデルにおける物理層を含めるかは諸説あります。

おわりに

OSI参照モデル」と「TCP/IP」について簡単に説明しました。「OSI参照モデル」はほとんど使用されていませんが、通信の基本的な考え方として理解しておくことは大切だと思います。 最後まで読んでいただきありがとうございました。

参考文献

  1. マスタリングTCP/IP 入門編 第5版(オーム社)
  2. ネットワーク技術の基礎と応用 ーICTの基本からQoSIP電話NGNまでー(コロナ社)