
今回は TCP/IP について解説します!

なんでしたっけ。インターネット通信の…デパ地下コンビナートでしたっけ?

デファクトスタンダード!
ツッコめた自分を褒めてあげたいですよ…

ネットワークについて学ぶ上では欠かせない知識です
どんなものなのか、一緒にみていきましょう!

イエッサー!
TCP/IPってなに?

そもそも「TCP/IP」という言葉が何を指しているのかを明確にしましょう

非常に難しいところですが…私の超高性能演算能力での推測によるところ、「TCP」と「IP」この2つのことではないか…と

ま、普通に考えたらそう思いますよねぇ…でも残念

一般的には、TCP と IP だけでなくインターネットで通信をする上で必要なプロトコルの総称として用いられます

ほんの一例ですが、このようなプロトコルがあります
プロトコル | 役割 |
---|---|
HTTP | Webのやりとり |
FTP | ファイルのやりとり |
SMTP | メール送信 |
POP3 | メール受信 |
SSH | リモートログイン |
TCP | コネクション型通信 |
UDP | コネクションレス型通信 |
RIP | ルーティング |
IP | パケットの送受信 |
ICMP | エラーメッセージ制御 |
DHCP | IPアドレス割り当て |

こういったプロトコル群のことを「プロトコルスイート」と呼んだりもします

たくさんあるんですね。こんなにある中で、どうして TPC/IP という名前なんですか?

TCP と IP が通信の中核をなす重要なプロトコルだからです

実をいうと TCP と IP はもともと2つで1つのプロトコルだったんです。「TCP/IP」とセットで呼ぶのは、1つだった当時の名残なのかもしれませんね

2人で1つ、地元じゃ負け知らずだったというわけですね
TCP/IPの決まり方

TCP/IP の決まり方についても軽く触れておきましょう

TCP/IP は IETF という組織によって仕様が策定されています

「いいえ、豆腐です」(IiE, ToFu)と覚えましょう

妙な語呂合わせやめてください。「Internet Engineering Task Force 」の略です。インターネットにまつわるプロトコルを標準化している団体ですね

IETF はプロトコルの仕様を RFC と呼ばれるドキュメントにまとめており、これはインターネット上で公開されています

へー、じゃあ誰でもみられるんですか

もちろん。すべての RFC はここから閲覧できますよ
https://www.rfc-editor.org/rfc-index.html

IPならRFC791、TCPならRFC793といったようにドキュメントごとに番号が振られています

どれどれ…うわぁーーーっ!
目がぁ!目がぁぁぁ!!

長すぎですよこれ…
全部英語だし…

プロトコルのすべてが詰まっていますから、なかなかの情報量です。気になったら参照してみるぐらいでいいかと

でも、「RFC によるとこのプロトコルは〜」なんて”本物”って感じがしてカッコよくないですか?

そ、そうですか?じゃあ見てみようかな。えーっと、RFC334は…

な阪関無
TCP/IP(ちょこっと)詳解

それではTCP/IPがどんなものか見ていくとしましょう

TCP/IPもOSI参照モデルのようにいくつかの階層にわけて考えること ができます


OSI参照モデルより階層が少ないんですね

まず、一番下の「ネットワークインターフェース層」。ここは物理的なやりとりに関する層です

物理的?

実はデータはそのままでは送受信できません。コンピュータ同士を繋ぐ線に流すためには電気信号に変換する必要があります

うちはWi-Fiなので線なんてないですよ?

たしかに無線だとイメージしづらいかもしれませんね。でも、Wi-Fiも目には見えない線で繋がっているんですよ

とにかく、データと信号を相互に変換したり、線を流れる信号の制御を行っているのがこの層です

続いて「ネットワーク層」
ここではIPを使ってデータを目的のコンピュータまで届ける役割を担います

どうやって届けるんですか?

簡単に説明すると、IPアドレスというインターネット上の住所指定して届けるんです

この住所さえ知っていれば、地球の裏側にあるコンピュータにだってデータを送れちゃうんですよ

ブラジルの人聞こえますかー!

そして「トランスポート層」
ここでの重要な役割はコンピュータのプログラム同士を繋ぐことです

あれ、さっきのネットワーク層でコンピュータ同士が繋がるようになったのでは?

コンピュータ上ではいくつものプログラムが実行されていますが、IPだけだとデータをどのプログラムに届けるべきか分からないんです

それを補うのがこのトランスポート層の役割というわけです

最後の「アプリケーション層」では具体的なデータを扱います

たとえば、ジャンクさんの趣味である同人誌違法アップロードサイトの閲覧ならHTTPを使う、といった具合ですね

し、失礼な!ちゃんと正規のサイトですよ!

他にもメールならSMTP、ファイルならFTP、といったように目的にあったプロトコルが処理を行います

うーん、なんだか登場人物が多くて大変ですね…

そうですね。
ただ、TCP/IPやOSI参照モデルのような階層構造が頭に入っていると、
「何をするプロトコルなのか」ということは検討がつくようになりますよ

まずは大枠を理解して、個別のプロトコルについてはそれから理解を進めればいいと思います

了解です!
まとめ

TCP/IPとはインターネットに必要なプロトコル群のことです

RFCを参照すればプロトコルの正式な仕様を知ることができます

TCP/IPは4つの層に分けて考えます