TCP/IPとは、通信プロトコルのまとめ

Web全般

2021.5.14

Web全般の基礎知識まとめシリーズ、今回はTCP/IPについて調べてまとめてみます。

TCP/IPとは

TCP/IPはインターネットなどで世界標準的に使われる通信プロトコルで、TCP(Transmission Control Protocol)とIP(Internet Protocol)を組み合わせたものです。

プロトコルとは

簡単にいうと、通信を行う際のルール、決まりごとです。

私たちがWebサービスを利用する際、ネットワーク上で機器同士がデータ交換を行っています。

機器同士のデータ交換の際、ルールがないとスムーズにデータ交換ができません。

データはいろいろな要素が送られてくるので、データが送られてくる順番を決めておかないと何が送られてきたのかわからなくなります。

例えるなら、手紙のやりとりですね。 手紙を郵送する際、「郵便番号」「住所」「宛名」を書いてポストに入れることで、相手に手紙を届けることができます。

情報通信ネットワークのしくみ

ネットワーク上のデータの送受信は、データをパケットという小さい単位に分割するパケット交換方式がとられています。

パケットには送りたいデータの他に、送信元や宛先の所在を表す情報(アドレス)などの制御情報が付加されます。

パケット交換方式でのデータ送受信のながれ

  1. 送信側は、送りたいデータを定められた長さごとに分割し、制御情報を付加して順番に送信する
  2. 中継機器は受け取ったパケットをいったん自分の記憶装置に格納し、次の中継機器へ送る
  3. 2を繰り返して受信側にパケットたちが届く
  4. 受信側はパケットからデータを取り出して順番につなぎ、元のデータに復元する

各パケットは同じ経路を通る必要がなく、自由に経路を選択できるため効率よくデータ送信ができます。

中継機器でいったんデータを蓄積するので、異なる通信速度や通信方式も接続しやすい上に、制御情報に誤り検出・訂正符号を付加して、伝送途上で生じたデータの破損を検知して修復したり、再送要求を送ることもできます。

データの送受信前にデータの通信経路を確保し、データ送受信が完了するまで経路を専有する回線交換方式という方法もありますが、多くのユーザーがデータをやりとりするようになった現在、効率のよい方法ではありません。

通信プロトコルの種類

通信プロトコルには、いくつか種類があります。 ネットワーク上で各通信プロトコルが各役割を果たすことでクライアントとサーバーのデータ交換を可能にしています。

最初に述べたように、TCP/IPも通信プロトコルです。

階層型プロトコル

OSI参照モデルとTCP/IP

「OSI参照モデル」とは、国際標準化機構(ISO)によって取り決められた7階層からなる、通信機能の分割モデルです。 "モデル"とあるように、OSI参照モデルは概念であり、すべてのネットワーク機器、コンピュータに実際に採用される目的で1977年から標準化が進められていました。

対してTCP/IPはインターネットの原型となったプロジェクトから生じたプロトコル群です。

TCP/IPの世界的な普及により、OSI参照モデルは概念として残ることになりました。

OSI参照モデルとTCP/IPはともに階層構造ですが、通信に対する概念が異なるため区切られている層が異なります。

TCPIP

層の番号が大きいほどソフトウェア的で、層の番号が小さくなるほど物理的になります。

TCP/IPは、4つの層のプロトコルが正常に機能してはじめて通信ができます。

では、各層の役割と例を簡単にまとめます。

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

同一のネットワーク内でデータを転送する

有線の「Ethernet(イーサーネット)」や無線LAN(Wi-Fi)、PPPなど

2層:インターネット層

複数のネットワーク間のデータ転送を行う役割

IPアドレスを用いた通信方法

「IP」「ICMP」「ARP」など

3層:トランスポート層

データを適切なアプリケーションに振り分ける役割

主なプロトコルはTCPとUDPに分けられます。

TCP

送信中にデータが破損してしまったり損失してしまっても、これらを検出してデータの再送を行い確実に通信をしてくれる

例:WebサイトのWebページを閲覧したりメールの送受信を行うなどインターネットで実行する通信方法の殆ど

UDP

正確性はないが、素早くデータを送信する際に適した方法

例:Web会議や動画サイトの映像と音声の通信方法で、リアルタイムに通信をする方法

4層:アプリケーション層

アプリケーションで扱うデータのフォーマットや手順を決める役割

「HTTP」「SMTP」「POP3」「IMAP4」「DHCP」「DNS」など

HTTPはWebブラウザで利用し、SMTP、POP3は電子メールソフトで利用します。DHCP、DNSはアプリケーション通信を行うための準備のプロトコルとして補うことを担います。

参考

TCP/IPとは?通信プロトコルの階層モデルを図解で解説

TCP/IPをわかりやすく - 通信プロトコルの基礎知識を図解で学ぼう

OSI参照モデルとTCP/IPの階層の違いとは?

OSI参照モデルとは?TCP/IPとの違いを図解で解説

Megumi Tanimoto

Editor

フロントエンドエンジニア1年目。
エンジニアライフ、技術的なアウトプットを中心に発信します。