かなり乱暴に。
備忘録でまとめておきます。
TCP と UDP
インターネットを実現している基礎技術の話です。
TCP/IPの細かいことではなく、ざっくりどういうものか捉えることを目的にしています。
しっかりした内容は、専門の技術書や技術者にお任せします。
どうして2種類の話が出てくるのか、まずはざっくり知りたいという方向けでしょうか。
TCPとUDPの違い
TCPもUDPも、インターネットの世界で使われているルールの名前です。
名称が違うということは、仕様が違うのです。
まずは、どちらもデータを送るためのルールなのだという点で違いはありません。
では違いはどういったことでしょうか。
それぞれでメリットとデメリットがありますので、併せて書いておきいます。
TCP
相手にデータが届いているかどうか、確かめながら送っていきます。
確かめながらの送信に伴って、できることがいくつかあります。
「Transmission Control Protocol」のことです。
メリット
- 信頼できる
確実にデータを送れます。
確実さを重視したルールなので、そのためにいろいろと制御してくれます。
デメリット
- 時間がかかる
手続きが多いので、データの送信に時間がかかるのです。
UDP
確認はせず、とにかくデータを送りつけます。
ちゃんと届いているかどうか、送り側は気にしないのです。
「User Datagram Protocol」のことです。
メリット
- 速い
データ送信のための各種手続きを省略しているので、スピードが出ます。
速度重視のルールです。
デメリット
- 送信できたかは別の方法で確認する必要がある
TCPの場合は、送信しながら相手に到着していることを確認しています。
送信完了したら、相手には確実に届いているのです。
UDPの場合は、とにかく送ることを重視しているので、相手にデータが届いたかどうかは、別途、なんらかの方法で確認しないといけないわけです。
どちらを使うかは目的次第
TCPとUDPは、それぞれメリットとデメリットがありますので。
それらを加味して、目的に合わせて、どちらを使うか選択です。
といっても、決めるのは技術者ですね。
ユーザーのレベルで、どちらを使うか選択できる機会は、あまりないでしょう。
システムやサービスを設計する段階で、どちらのプロトコルを採用するか、決めていくことがほとんどです。
「スピードは重視したいが、確実にデータは届けたい。」といった要望にも応えてくれる技術者たち。
ありがたいですね。
ご意見やご感想などお聞かせください! コメント機能です。