「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

TCP/UDP

pointこの用語のポイント

point通信するときの お約束事だよ

pointワンセットで表現しているけど、実際には「TCP」と「UDP」の2つだよ

pointどちらもトランスポート層のお約束だよ

スポンサーリンク

簡単に書くよ

TCP/UDP(読:ティーシーピーユーディーピー)とは

安全性重視で通信するときに使うお約束事「TCP」とスピード重視で通信するときに使うお約束事「UDP」を一緒くたにした表現
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

OSI参照モデル
トランスポート層
通信プロトコルプロトコル
TCP
UDP


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

OSI参照モデルは、大雑把に言えば「通信機能を ふんわりと定義したもの」です。

通信するときは送り手と受け手で同じルールを共有する必要があります。
片方が日本語で話しかけたのに、もう一方が英語で お返事したのでは、コミュニケーションが成立しませんよね。
それと同じです。

TCP/UDP

ところがどっこい、以前はメーカーごとに好き勝手なルールを作って、好き勝手に通信をしていました。
あるメーカーさんが作った機器は日本語でやり取りしていましたし、別のメーカーさんが作った機器は英語でやり取りしていたわけです。

これでは、別のメーカーさんが作った機器とやり取りしようとしても言葉が通じません。
「他のメーカーの製品とは通信できない」残念な状況だったのです。

TCP/UDP2

これは不便ですよね?

そんな状況を見た賢い人が「共通ルールを作ってしまえば、メーカーが違っても通信できるんじゃないかな?」と考えました。

なるほど、確かにそうです。

そこで国際標準化機構という団体さんが「データ通信機能は こんな感じにしてね!」なルール(モデル)を作りました。

このルール(モデル)を満たしている製品は、異なるメーカーでも通信できます。
人種が違っても同じ言語を話せばコミュニケーションは取れますよね。
それと同じです。

TCP/UDP3

この異なるメーカーの製品でも通信できるようにするために作られたルール(モデル)がOSI参照モデルです。

OSI参照モデルではネットワークを7つの階層に分けて定義しています。

TCP/UDP4

なんで分けて考えるかというと、まとめて考えると頭が痛くなるからです。
あっちも こっちも一度に考えるより、部分ごとに1つずつ考えた方が分かりやすいだろうと判断したのでしょう。

トランスポート層は「OSI参照モデルにおける7つの階層の第4層」です。

TCP/UDP5

詳細が気になる方は別のところで情報を補完してください。

TCP/UDP6

通信プロトコルプロトコルは「通信するときに使う お約束事」です。

通信するときは足並みを揃える必要があります。
片方が日本語で話しかけたのに、もう一方が英語で お返事したのでは、コミュニケーションが成立しませんよね。
それと同じです。

TCP/UDP7

そこで「○○通信をするときは ××というお約束事に従って やり取りしようね」と事前に決まっています。
言い方を変えると

通信するときは、お約束事が必要

なのです。

この「通信するときに使う お約束事」を「通信プロトコル(プロトコル)」と言います。

TCP/UDP8

TCPは「安全性重視で やり取りしよう」な通信プロトコルです。
TCPは

送ったデータが相手に届いたか、その都度 確認しながら通信する やり方

です。
相手の言ったことを復唱しながら罵り合うイメージです。

TCP/UDP9

ちゃんと届いたか確認しながら やり取りするので

1.漏れなく伝わる可能性は高い
2.スピードは遅くなる


といった特徴があります。

UDPは「スピード重視で やり取りしよう」な通信プロトコルです。
UDPは

送ったデータが相手に届いたか確認しないで通信する やり方

です。
相手の反応を気にしないでマシンガントークでガンガン悪口を言うイメージです。

TCP/UDP10

ちゃんと届いたか確認しないでやり取りをするので

1.データの一部が行方不明になる可能性がある
2.スピードが速い


といった特徴があります。

一般的には、信頼性が大事な通信で使われるのはTCPです。
速度重視の通信ではUDPが使われます。

以上を踏まえて

「TCPとUDPだよ!」を意図する表現

が「TCP/UDP」です。
TCP/UDPの「/」は「アンド(and)」を意図しています。

TCP/UDP11

TCPとUDPは別物です。
本来は分けて考えます。

とはいえ、どちらもトランスポート層のプロトコルであり、対比される関係にあります。
そのため、一緒くたにして表現したのだと思います。


image piyo2

一言でまとめるよ

まぁ「TCP/UDP」って単語が出てきたら「『TCP(通信する上でのお約束事のひとつで、安全性重視で やり取りする やり方)』と『UDP(通信する上でのお約束事のひとつで、スピード重視で やり取りする やり方)』なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像003
書籍画像041

おまけ

■訳してみるよ

「TCP」は「Transmission Control Protocol(トランスミッション・コントロール・プロトコル)」の略です。
「transmission(トランスミッション)」の意味は「伝達」とか「伝送」とかです。
「control(コントロール)」の意味は「統制する」とか「操作する」とか「制御する」とかです。
「protocol(プロトコル)」の意味は「(外交上の)儀礼」とか「議定書」とかですが、今回は「お約束事」と解釈してください。
「UDP」は「User Datagram Protocol(ユーザ・データグラム・プロトコル)」の略です。
「user(ユーザ)」の意味は「使用者」とか「利用者」とかです。
「datagram(データグラム)」の意味は……ちゃんと説明すると大変なことになるので「とある通信」ということにします。
何となく くっつけると

「伝送を制御する お約束事」/「使用者が、とある通信で使う お約束事」

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
優れたエンジニアがコミュニティの中でしていること
実務で役立つ バックアップの教科書 基本の考え方からツール活用・差分管理・世代管理・データ保全・リストア・リカバリー・可用性の確保まで