4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TCP/UDPってなんだ???(初心者向けざっくり)

Posted at

#はじめに
就活してて面接で「TCPとUDPの違いを詳しく説明してください」って言われて正確に説明できなかったのが、悔しかったので復習してみます(#^ω^)

正確に解説しているサイトは他にもいっぱいあるので、ざっくりとした解説を心がけています。
より詳しく知りたい方はこの記事を読んだ後に、他の記事や教科書を読んで理解を深めてください~

#ちょーざっくり

TCP UDP
ヘッダ長 長い 短い
機能 多い 少ない
伝送速度 遅い 速い
PRポイント うちは高品質なデータ伝送が売りです(メガネクイッ 業界最速でぇ!!!
#そもそも
TCP/UDPってなんぞやって言うと、トランスポート層のプロトコルです。
ositcpip.png
(参考[1])
パケットの宛先(IPアドレス)の指定はネットワーク層のプロトコル
がやってくれるのですが、データの配送に関して品質を保証する方法を指定するのが、トランスポート層のプロトコルの役割です。
あとは宛先ポートの指定によって、パケットを届ける先のサービスを指定します。

#もっとくわしく
TCPとUDPの違いを正確に理解したい方は、以下の点に着目するといいと思います。(これが説明できればトランスポートマスター!)

・ヘッダの中身
・コネクション方式
・TCPの機能
・TCP/UDP上でそれぞれ動くプロトコル

だけども、今回はTCPとUDPのコアな違いに着目してコネクション方式のみ解説します。

##コネクション方式
UDPはデータを送って終わり(コネクションレス)ですが、TCPは確実に伝送するために、コネクションを確立してデータを送ります。
具体的に言うと、
①通信の開始の合意をとる
②データが受信できたか確認する
③通信の終了の合意をとる

といった動作を行います。

###①通信開始の合意
いわゆるスリーウェイハンドシェイクという動作を行います。
TCPではデータのやり取りを開始する前に必ず行います。

キャプチャ.PNG

###②データ受信の確認
データが届くごとに相手に受け取ったことを示すパケットを送ります。
キャプチャ3.PNG

###③通信終了の合意
切断時は4回のやりとりをします。(スリーウェイハンドシェイクと同様に3回で済ませる場合もあるらしい)
(なんで4回なのかわからなかったので、知っている方教えてください……)

キャプチャ2.PNG

#さいごに
以上!!!
通信プロトコルとかを正確に理解したいならマスタリングTCP/IPの入門編買うことおすすめです!!!!

ちなみに、最近だとQUICとかいうTCPとUDPの良いとこどりみたいなプロトコルも出てきてるので要注目です!

読んでいただきありがとうございましたm(_ _)m

#参考文献
[1]けんのへや、『OSI参照モデルとTCP/IPについて

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?