TCP/IP 4階層モデルとは?

2015年4月30日(木)
榊 正憲(さかき まさのり)

TCP/IP 4階層モデル

インターネットで使われているTCP/IPプロトコルは、OSIモデルに沿っていません。OSIモデルが構築される以前から、実用的なネットワークとして稼働していたということもありますし、ネットワークの普及期に、多くの機種、OS、ネットワーク方式、アプリケーションが登場したから、OSIモデルのような詳細な階層分けが必要になったとも考えられます。

TCP/IPの実用化はOSIモデルよりも古いのですが、OSIモデルとは異なるものの、ちゃんと階層化されています。OSIモデルの7階層に対し、TCP/IPモデルは4階層で、かなり少なくなっています。TCP/IPが設計されたころの通信/ハードウェア/ソフトウェアの環境は、今と比べれば格段に簡素なものであり、アプリケーションの数、データの種類や表現方法などが限られていたため、OSIモデルより単純な構成で十分だったのでしょう。

各階層は、次に示すような機能を規定しています。

TCP/IP階層モデル

4アプリケーション層アプリケーション間のやり取り
3トランスポート層プログラム間の通信、通信の制御
2インターネット層インターネットワークでの通信
1ネットワークインターフェイス層同一ネットワーク上での通信、ハードウェア仕様など

アプリケーション層

OSIモデルのセッション層からアプリケーション層に相当します。個々のプログラムの間で、どのような形式や手順でデータをやり取りするかを定めます。文字コードや画像などの形式、暗号化など、データの表現形式などもこの層で扱います。Webや電子メールなどのアプリケーションプロトコルはこの層に属します。

トランスポート層

OSIモデルのトランスポート層に相当します。通信を行うプログラムの間でのデータ伝送を実現します。必要に応じて、エラーの検出と回復や、双方向の通信路の確立なども行います。単にデータを伝送するだけのUDP(User Datagram Protocol)、信頼性のある双方向の通信を実現するTCP(Transmission Control Protocol)はこの層のプロトコルです。

インターネット層

OSIモデルのネットワーク層に相当します。複数のネットワークを相互に接続した環境(インターネットワーク)で、機器間のデータ伝送を実現します。IP(Internet Protocol)はこの層のプロトコルです。

ネットワークインターフェイス層

OSIモデルの物理層とデータリンク層に相当します。実際のネットワークハードウェアが通信を実現するための層で、各種イーサネット、無線LANなどがこの層に属します。また、モデムや光回線などを使って特定の相手と接続し、TCP/IPで通信するためのPPP(Point To Point)プロトコルなども、この層のプロトコルとなります。

OSIモデルとTCP/IPモデルの関係

図1:OSIモデルとTCP/IPモデルの関係

プロトコルスタックとソフトウェアの階層化

ネットワークで実際にやり取りされるデータは、プロトコルの規約に従って形式化され、適切な手順で伝送されます。このような詳細を定めるプロトコルも、このネットワーク階層に準じて階層化されています。TCP/IPモデルでは、アプリケーションの機能を実現するためのアプリケーションプロトコル、プログラム間でデータを伝送するためのUDPとTCP、インターネットワークで機器間の通信を実現するIPといったプロトコルが使われています。そしてこれらのプロトコルの下位には、イーサネットや無線LANなど、物理的なネットワークシステムがあり、それに固有のプロトコルがあります。

これらのプロトコルに従ってデータ伝送を実現するためには、各プロトコルに従ってデータを扱うソフトウェアが必要になります。これらのソフトウェアもプロトコルの階層に従って階層化されています。アプリケーションプロトコルのためのソフトウェアは個々のネットワークアプリケーションの内部に実装され、各種のネットワークインターフェイスの制御やプロトコルの実装はドライバソフトウェアが担当します。そしてその間をつなぐTCP/IPは、すべてのアプリケーションとネットワークハードウェアに対して共通のものなので、オペレーティングシステムの内部に存在しています。IP、TCP、UDPなど、プロトコルごとにソフトウェアはモジュール化されています。

ネットワークソフトウェアの階層化

階層担当するソフトウェアプロトコルの例
アプリケーション層アプリケーションHTTP(Web)、SMTP(メール)など
トランスポート層オペレーティングシステムTCP、UDP
インターネット層IP、ルーティングなど
ネットワークインターフェイス層ドライバイーサネット、WiFi、PPPなど

例えば昔のようにモデムを使ってプロバイダに接続した時でも、イーサネットと光ファイバサービスを使って接続した時でも、同じWebブラウザや電子メールソフトが使えるのは、ネットワークシステムがこのように階層化されているおかげです。

このように、必要な機能を分類してプロトコルを定義し、階層関係をつけて各プロトコルとそのためのソフトウェアを配置することを、「プロトコルの階層化」や「プロトコルスタック」といいます。機能ごとにモジュールを分割し、複数のモジュールを組み合わせることで、多くの部分を共通的に使いながら、物理的なネットワーク方式やアプリケーションごとの機能の違いをうまく吸収することができます。

この記事のもとになった書籍
完全マスターしたい人のためのイーサネット&TCP/IP入門

榊 正憲 著
価格:2,000円+税
発売日:2013年12月19日発売
ISBN:978-4-8443-3511-5
発行:インプレスジャパン

完全マスターしたい人のためのイーサネット&TCP/IP入門

世の中で広く知られているイーサネットとTCP/IP、つまりインターネットや社内LANなどで、標準的に使われているネットワーク方式とプロトコルについて詳しく解説。 各項目については初歩的なレベルから解説し、中級レベルまで掘り下げています。 その過程で、仕組みや原理についてなるべく詳しく、そしてなぜそのような仕組みになっているのか、といったことを説明しています。 「これはこうなっている」という知識だけではなく、「これは何をするために、どのような原理でそうなっているのか」まで、きちんと体系立てて理解できる、ネットワーク初心者必携の1冊です。

Impress詳細ページへ

連載期間中、電子書籍版を20%オフでご提供します!

本連載の掲載に合わせて、本書籍の電子版を特別に20%オフでご提供します。興味のある方は是非ご検討ください。

クーポンコード:get3gerc

今すぐImpressで電子書籍を購入

※クリックすると購入ページに移動します。あらかじめクーポンコードをお控えください。
※クーポンコードの利用には、CLUB Impress会員の登録(無料)が必要です。
※リンク先で注文内容を確認後、「レジに進む」をクリックするとクーポン入力欄が表示されます。
※クーポンの利用期限は2015/04/30までです。

著者
榊 正憲(さかき まさのり)

電気通信大学卒業。プログラミング、システム管理などの仕事のあと、フリーランスで原稿翻訳、執筆などを行う。現在は、有限会社榊 製作所 代表取締役。著書に『復活!TK-80』『コンピュータの仕組み ハードウェア編(上・下)』、翻訳書に『Inside Visual C++ Version 5』(いずれも旧アスキー発行)、『Pthreadsプログラミング』(オライリー・ジャパン)などがある。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています