インターネット層
TCP/IPのインターネット層は、OSI参照モデルのネットワーク層に相当します。その役割もOSI参照モデルのネットワーク層と同じで次のとおりです。
- エンドツーエンド通信を実現する(OSI参照モデルのネットワーク層に相当)
TCP/IPで通信するPCやサーバ、ルータ[6]などの機器をホストと呼びます。エンドツーエンド通信とは、あるネットワーク上の送信元ホストから別のネットワーク上の宛先ホストまで、データを転送する通信をいいます。つまり、インターネット層はネットワークを越えた通信を行う役割を担っているのです。
インターネット層のエンドツーエンド通信を行うための前提として、ネットワークインタフェース層で同一ネットワーク内におけるデータの転送が正しくできなければいけません。OSI参照モデルと同様にTCP/IPでも、ある階層が機能するには、その下の階層が正しく機能している必要があるのです。
インターネット層に含まれるプロトコルは、IP、ICMP、ARPなどです。
注
[6]: ネットワークとネットワークをつなぐ装置。詳細は後述。
トランスポート層
TCP/IPのトランスポート層は、OSI参照モデルのトランスポート層とセッション層に相当します。そのため、TCP/IPのトランスポート層の役割は次のとおりとなります。
- エンドツーエンド通信の信頼性を確保する(OSI参照モデルのトランスポート層(レイヤ3)に相当)
- アプリケーションへデータを振り分ける(OSI参照モデルのセッション層(レイヤ4)に相当)
TCP/IPのトランスポート層の主たる役割は、OSI参照モデルのセッション層の役割と同じで、ホストに届いたデータを適切なアプリケーションへ振り分けることです。1つのホスト上で動作しているアプリケーションのうち、指定されたアプリケーション(が待ち受けている取り込み口)にデータを振り分けます。
TCP/IPのトランスポート層に含まれるプロトコルはTCPとUDPです。ただし、OSI参照モデルでのトランスポート層の機能を備えているのはTCPだけです。UDPはこの機能を備えていません。TCPを利用すると、エンドツーエンド通信の信頼性[7]を確保しています。信頼性を重視する必要がなければシンプルなUDPを利用します。
注
[7]: 送信されたデータが、欠けることなく順序どおりにすべて受信されること。
アプリケーション層
TCP/IPのアプリケーション層は、OSI参照モデルのプレゼンテーション層とアプリケーション層に相当します。役割は次のとおりです。
- データの表現形式を一致させる(OSI参照モデルのプレゼンテーション層(レイヤ5)に相当)
- アプリケーション固有の機能を実現する(OSI参照モデルのアプリケーション層(レイヤ6)に相当)
アプリケーション層には、Webブラウザなどエンドユーザが直接触れるアプリケーションの機能を実現するために、HTTP、SMTP/POP3、DHCP、DNSなど多数のプロトコルがあります。Webブラウザで使用されているHTTPや、電子メールソフトで使用されているSMTP/POP3はおなじみでしょう。
それらのプロトコルでは、アプリケーション同士でデータをやり取りする際の手順やフォーマット、そして、ユーザが理解できるようにデータの表現形式が決められています。
なお、アプリケーション層のプロトコルだからといって、使用される場面はアプリケーションに限りません。DHCPやDNSは、URLやメールアドレスを使ってアプリケーションの通信を行えるようにするためのプロトコルです。
ここまでのまとめとして、OSI参照モデルの階層とTCP/IPの階層との関係と、TCP/IPの各階層における主なプロトコルを表にしておきます。