TCP/IP(Transmission Control Protocol /Internet Protocol)とは、インターネットの世界で標準的に利用されているプロトコルのセット(=プロトコルスタック)です。
私たちは普段何気なくインターネットを利用することができていますが、その裏には多くのルールや決まり事に基づいた複雑な仕組みが存在しています。これらのルール・決まり事(=プロトコル)のセットを1つにまとめたものがTCP/IPです。

と、言われてもなかなかピンと来ない方のために1から分かりやすく丁寧に解説します。
「プロトコル」はコンピュータとコンピュータがネットワークを通じて通信するために決められた「約束事」「決まり事」のこと。

本記事では「プロトコル」という単語とその意味をしっかり理解していることが前提となりますので、「プロトコル」がイマイチよく分からない・・・という方は下記記事をご覧になってから本文を読み進めてみてください。

このページでは、TCP/IPとは何か?何を覚えれば良いの?TCP/IPはいつ使うの?という疑問にお答えします。
ネットワークエンジニアを目指す方であれば、知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。
TCP/IPとは?
TCP/IP(Transmission Control Protocol /Internet Protocol)とは、インターネットの世界で標準的に利用されているプロトコルの「セット」を指す単語です。

どういうことか分からない人のためにもう少し詳しく説明します。
まず言葉の意味を説明すると、実はTCP(Transmission Control Protocol)もIP(Internet Protocol)もそれぞれ別のプロトコルを表す単語です。

TCPは通信の信頼性を確保することを目的として策定された決まり事。IPはインターネットで相手にデータを届けるための決まり事です。

TCPとIPはご覧のように実は全くの別物であるという点をまずは押さえましょう。
ただ、TCPとIPが別物であるとはいえ、ネットワーク通信の進化・発展の過程でTCPとIPは基本的にセットで開発が進められてきました。実情として、TCPはIPなしでは成り立たないし、IPもTCPなしでは成り立たない。このような背景から、TCPとIPを中心として成り立つ通信プロトコル群を「TCP/IP」と呼称するようになります。
これが、最初の疑問の答えになります。

これで、なんとなく「TCP/IP」という単語の意味は理解できてきたのではないでしょうか。
TCP (Transmission Control Protocol) とは、信頼性の高い通信を担保するためのプロトコルです。
別名伝送制御プロトコルとも呼ばれ、その名の通り「伝送/通信」を「制御」することが目的のプロトコルです。

TCPについて詳しく知りたいという方は以下の記事をご覧ください。

IPについてはこちらの記事からどうぞ。
インターネットプロトコルスイート

先ほどTCP/IPを以下のようにご説明しました。
「中心として」という文言がある通り、TCP/IPにはTCPとIPの2つのプロトコルだけでなく、通信を実現するために必要な他のプロトコルも含まれます。
ファイル転送のためのプロトコルであるFTPや、Webページに関するプロトコルであるHTTP、その他メールの転送プロトコルであるSMTPなど、これらのプロトコルもTCP/IPに含まれるということです。


初心者のうちは、この点を誤解しがちですので、注意して理解しておきましょう。
そして、このTCP/IPのように一連の通信プロトコルをセットにまとめたものを「プロトコルスタック(protocok stack)」もしくは「プロトコルスイート(protocol suite)」と呼びます。
その中でも特にTCP/IPは現在のインターネットを構成するプロトコルスイートという位置づけであるため、「インターネットプロトコルスイート(Internet protocol suite)」とも呼ばれる場合があります。

実際は単に「TCP/IP」と呼ぶ場合がほとんどですが、正式な文章などでインターネットプロトコルスイートという単語が出てくる場合もあるのでこの点を頭に入れておきましょう。
TCP/IP:階層モデル
TCP/IPは4階層のモデルで表されます。
これはOSI参照モデルと同様、ネットワーク通信の役割を階層的に分類し、各層での機能の目的を分かりやすく明示したものです。

世界中に張り巡らされたネットワーク(インターネット)の中で、1つのコンピュータと1つのコンピュータが適切な通信を実現するためには、想像以上に複雑な仕組み・ルールが必要になります。アプリケーション間でのデータ転送方法、宛先コンピュータの特定方法、画像や動画ファイルのデータ形式の変換方法など例に挙げるときりがありません。
この複雑なネットワークの仕組みを7階層に分解し、各階層の機能・役割を分かりやすくモデル化したものがOSI参照モデル。
難解なインターネットの仕組みも、このOSI参照モデルに当てはめて考えることで、どのようにコンピュータ同士が通信をしているのか?を初心者でも理解することができるようになります。


TCP/IPの前にOSI参照モデルってなんだっけ・・・と不安になる方は是非以下の記事でOSI参照モデルについての基礎理解を深めていただくことをおすすめします。
OSI参照モデルを理解する前と後では、TCP/IPへの理解度もグッと変わってきます。

それぞれの層がどのような役割を持ち、具体的にどのようなプロトコルがあるのかを1つ1つ解説します。
ネットワークインターフェース層(リンク層 / データリンク層)

はじめに、第1層のネットワークインターフェース層について。ネットワークインターフェース層は、リンク層・データリンク層と呼ぶこともあります。

ネットワークインターフェース層はOSI参照モデルの物理層/データリンク層に相当します。したがって、この層のプロトコル(規格)が実現・定義するのは以下の2点。
ザックリ言うと同一のネットワーク内におけるデータ転送の一手に引き受けるのが、ネットワークインターフェース層であると理解してOKです。
TCP/IPでは、OSI参照モデルの第1層:物理層と第2層:データリンク層に相当する部分を明確に定義していません。これらが透過的に(その存在を意識せずに)機能していることを前提としています。

つまり厳密には、この層のプロトコルはTCP/IP(インターネットプロトコルスイート)ではないということ。
ただし、この層の理解なしではネットワークの理解を深めることはできないので重要な内容であることには違いありません。どのようなプロトコルが存在するかをしっかり頭に入れておきましょう。
代表的なプロトコル:ネットワークインターフェース層
ネットワークインターフェース層のプロトコルは、物理的な電気信号やハードウェアなどといったネットワーク機器と密接に関連します。
インターネット層

インターネット層は、OSI参照モデルの第3層:ネットワーク層に相当します。したがって、この層が実現する機能は以下の通り。
このネットワーク層の機能のおかげで、同一ネットワークを超えて、世界の裏側にあるコンピュータと通信が行えるようになります。
代表的なプロトコル:インターネット層
プロトコル | 用途 / 役割 |
---|---|
IP(Internet Protocol) | パケット(データ)を送る相手のコンピュータを特定するためのプロトコル |
ICMP(Internet Control Message Protocol) | ネットワーク間の通信状態を確認するためのプロトコル |
ARP(Address Resolution Protocol)※ | IPアドレスからMACアドレスを導出するためのプロトコル |
RIP(Routing Information Protocol) | ルーティング処理(データ配送)の最短経路を見つけるためのプロトコル |
OSPF (Open Shortest Path First) | ルーティング処理(データ配送)の最短経路を見つけるためのプロトコル |

ARPは、ネットワークインターフェース層のプロトコルとしても取り上げたように、1層と2層の中間に位置づけられるプロトコルです。
MACアドレスの仕組みは1層のネットワークインターフェース層、IPアドレスの仕組みは2層のインターネット層で定義されているので、それらの橋渡し的な動きをするのがARPです。
トランスポート層

トランスポート層は、OSI参照モデルでは第4層に相当します。したがって、この層が実現するのは以下の機能。
この層には、TCP/IPの主要プロトコルであるTCPが存在します。
代表的なプロトコル:トランスポート層
アプリケーション層

アプリケーション層は、OSI参照モデルの第5層~第7層までを丸っとカバーします。したがって、アプリケーション層では以下の機能を実現します。
代表的なプロトコル:アプリケーション層
ネットワークエンジニアを目指したい方は
ネットワークの基礎を1から学びたい方はこちらの書籍を購入してがっつり学びましょう!
さくっと手軽に読める内容ではないのですが、ネットワークエンジニアを目指すのであれば理解できないと厳しい参考書の1つ。

ネットワークエンジニアでなくても、インフラ系の知識を持っているエンジニアの市場価値は年々高まっています!
システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。
システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。

無料で読めるようにしてあります。累計12万人に参考にしていただきました!