プロトコルとは
プロトコルとはネットワークに接続された機器同士が通信をするときの共通ルールや手順のことを指す。用途によってさまざまなプロトコルが存在する。
TCP/IP
**TCP/IP(Transmission Control Protocol/Internet Protocol)**はインターネットにおけるさまざまなサービスを実現するためのプロトコルの集まりを指す。インターネットへのアクセスが可能な機器はすべてTCP/IPに対応している。
以前はOSや機器ごとに独自のプロトコルが利用されていたがインターネットの普及に伴い、TCP/IPが標準となった。中心的な役割を担うものがTCPとIPであったことから、このように名付けられた。
TCP/IPの階層
TCP/IPは役割ごとに、以下の4つの階層(レイヤー)に分かれている。(データの流れはレイヤー1からレイヤー4)
- アプリケーション層(レイヤー4)
- トランスポート層(レイヤー3)
- インターネット層(レイヤー2)
- ネットワークインターフェース層(レイヤー1)
レイヤー名 | 役割用途 | プロトコルの例 |
---|---|---|
アプリケーション層 | アプリケーションごとのやりとりを規定 | HTTP、SMTP、FTPなど |
トランスポート層 | データの分割や品質保証を規定 | TCP、UDP |
インターネット層 | ネットワーク間の通信を規定 | IP、ICMPなど |
ネットワークインターフェース層 | コネクタ形状、周波数といったハードウェアに関する規定 | イーサネット、Wi-Fiなど |
階層化によって、各階層でそれぞれのプロトコルに基づいた処理を行うことで、他の階層の処理がわからなくても同一階層間で通信が行える。
アプリケーション層
アプリケーション層では、Webブラウザやメールソフトなどのアプリケーションごとのやりとりを規定している。アプリケーションの多くはクライアントとサーバー間のサービスの要求と応答で成り立っている。
また、この層では扱うデータをネットワーク転送に適した形式に変換し、逆に受け取ったデータを我々が理解できるように変換する役割もある。
TCPとUDP
アプリケーション層のデータの転送処理をしているのがトランスポート層に位置するTCPと**UDP(User Datagram Protocol)**といったプロトコルである。データの転送は分割して行われるが、TCPは分割データの順序や欠落をチェックする(ステートフル)のに対し、UDPはそれらを保証しない(ステートレス)。
前者は信頼性が求められるWebサイトやメールで利用されており、後者は信頼性が低いが、通信の手続きが簡略化されているぶん、効率よく通信できるため、動画ストリーミングなどで利用されている。