IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP与UDP的区别 -> 正文阅读

[网络协议]TCP与UDP的区别

对TCP和UDP的区分,我们可以从这些方面来进行区分。

从连接方式来看:

  • TCP是面向连接的传输层协议,传输数据前需要先建立连接

  • UDP是无连接的,即刻传输数据

从资源的来看

  • TCP对系统资源要求较多,UDP对系统资源要求较少

从服务对象的来看:

  • TCP是一对一,两点服务的,即一条连接只有两个端点

  • UDP支持一对一,一对多,多对多的交互通信

是否支持广播或多播

  • UDP支持了广播、多播和单播的服务,而TCP只支持单播

从可靠性来看

  • TCP是可靠交付数据的,数据在传输过程中不会发生无差错、不丢失、不重读、按需到达。

  • UDP是尽最大努力交付,不会考虑到安全等因素,不保证可靠交付数据

从拥塞控制和流量控制来看

  • TCP拥有拥塞控制机制和流量控制机制,保证数据的可靠传输

  • UDP则没有,即使网络十分拥堵,也不会影响UDP的发送速率

从首部开销来看

  • TCP是保证传输可靠的数据,所以TCP首部长度较长,会有一定的开销,首部在没有使用选项字段时是20个字节,如果使用了选项字段则会变长的。TCP 有可变长的选项字段,而 UDP 头部长度则是不会变化的

  • UDP首部只有8个字节,并且是固定不变的,开销较小。无需多一个字段去记录UDP 的首部长度。

从传输方式来看

  • TCP是流式传输的,没有边界,保证顺序可靠

  • UDP是一个包一个包发送,是有边界的,但有可能导致丢包和乱序

从分片不同来看

  • TCP的数据大小如果大于MSS大小,则会在传输层进行分片,目标主机收到后,也同样在传输层组装TCP数据包,如果中途丢失一个分片,只需要传输丢失的这个分片。

  • UDP的护具大小如果大于MTU大小,则会在IP层进行分片,目标主机收到后,在IP层组装完数据,接着再传给传输层,但如果中途丢了一个分片,则需要重传所有的数据包,这样传输的效率非常差,所以通常UDP的报文应该小于MTU。

MSS:最大报文段长度(MSS)是TCP协议的一个选项,用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度(不包括文段头)。

MTU:最大传输单元MTU(Maximum Transmission Unit,MTU),是指网络能够传输的最大数据包大小,以字节为单位。MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承受的最大值,或者是超过了发送路径上途经的某台设备所能够承受的最大值,就会造成报文分片甚至丢弃,加重网络传输的负担。如果太小,那实际传送的数据量就会过小,影响传输效率。

从应用场景来看

  • 由于 TCP 是面向连接,能保证数据的可靠性交付,经常用于FTP文件传输、HTTP/HTTPS等

  • 由于 UDP 面向无连接,它可以随时发送数据,再加上UDP本身的处理既简单又高效,经常用于包总量较少的通信,如DNS(域名)、SNMP等、视频、音频等多媒体通信、广播通信

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:57:20  更:2022-07-17 17:01:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 13:09:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码