当前位置:首页 » 《资源分享》 » 正文

TCP和UDP的区别_张孟浩_jay的博客

20 人参与  2021年10月31日 12:03  分类 : 《资源分享》  评论

点击全文阅读


简介

TCP和UDP是传输层提供的两个协议,提供了不同的运输功能!

头部信息

在这里插入图片描述

在这里插入图片描述

TCP是一个面向连接、可靠的协议。
UDP是一个无连接、不可靠的协议。

从头部就可以看出,TCP的头部比UDP多出不少内容。

区别


面向连接

TCP是面向连接的,在传输数据之前必须建立连接

UDP不需要连接,直接发送数据包就可以了。

发送方式

TCP面向字节流,将数据以字节流的方式传输。

UDP面向报文,应用程序交付多大的数据包,UDP都直接一次性传输一个报文。

可靠

TCP根据序列号和自动重传提供了可靠传输

UDP没有提供可靠传输。

流量控制和拥塞控制

TCP提供了拥塞控制和流量控制

UDP没有提供流量控制和拥塞控制,即使网络拥堵,也会发送全部数据

对应关系

TCP中客户端和服务器 1:1 对应。

UDP中没有客户端和服务器的概念,1个UDP 可以同时向 多个UDP发送数据包,1个UDP也可以同时接收多个UDP发送的数据包。

分片
当数据超过MTU的时候,会对数据包分片

TCP会在运输层中就开始分片,TCP自己会进行分片,每个分片中都有一个TCP头部。

UDP会将所有数据都放到UDP数据里面,然后在IP层分片,只有一个分片中存在UDP头部。IP层会对UDP分片和重组,如果有分片丢失,就重传所有的分片。具体的原理我们单独开一篇文章讲。

应用场景

TCP适用于HTTP、FTP、SMTP等需要可靠传输的场景。
TCP因为要确保可靠传输,需要建立连接(三次握手等)、维护滑动窗口等操作,延迟比较高。

UDP适用于以下场景:
1、 数据量小并且对可靠性要求不高
2、 多对多传输
3、 实时性要求高

UDP不需要建立连接,并且数据量小的时候不需要IP分片,传输效率高,延迟低。

比如:DNS、实时性要求高的游戏、视频语音聊天等


点击全文阅读


本文链接:http://zhangshiyu.com/post/30307.html

传输  分片  连接  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1