TCP 与UDP 的区别

1. 基于连接vs 无连接
TCP 是面向连接的协议,而UDP 是无连接的协议。这意味着当一个客户端和一个服
务器通过TCP 发送数据之前,必须先建立连接,建立连接的过程也被称为TCP 三次握手。
2.可靠性
TCP 提供交付保证,这意味着一个使用TCP 协议发送的消息是保证交付给客户端的,
如果消息在传输过程中丢失,那么它将重发。UDP 是不可靠的,它不提供任何交付的保证,
一个数据报包在运输途中可能会丢失。
3.有序性
消息到达网络的另一端时可能是无序的,TCP 协议将会为你排好序。UDP 不提供任何
有序性的保证。
4.速度
TCP 速度比较慢,而UDP 速度比较快,因为TCP 必须创建连接,以保证消息的可靠
交付和有序性,他需要做比UDP 多的事。这就是为什么UDP 更适用于对速度比较敏感的
应用。TCP 适合传输大量数据,UDP 适合传输少量数据。
5.重量级vs 轻量级
TCP 是重量级的协议,UDP 协议则是轻量级的协议。一个TCP 数据报的报头大小最
少是20 字节,UDP 数据报的报头固定是8 个字节。TCP 报头中包含序列号,ACK 号,数
据偏移量,保留,控制位,窗口,紧急指针,可选项,填充项,校验位,源端口和目的端
口。而UDP 报头只包含长度,源端口号,目的端口,和校验和。
6.流量控制或拥塞控制
TCP 有流量控制和拥塞控制。UDP 没有流量控制和拥塞控制。
7.TCP 面向字节流,UDP 是面向报文的
TCP 是字节流的协议,无记录边界。
UDP 发送的每个数据报是记录型的数据报,所谓的记录型数据报就是接收进程可以识
别接收到的数据报的记录边界。
8.TCP 只能单播,不能发送广播和组播;UDP 可以广播和组播
TCP 应用场景:效率要求相对低,但对准确性要求相对高的场景。因为传输中需要
对数据确认、重发、排序等操作,相比之下效率没有UDP 高。举几个例子:文件传输、邮
件传输、远程登录。
UDP 应用场景:效率要求相对高,对准确性要求相对低的场景。举几个例子:QQ
聊天、QQ 视频、网络语音电话(即时通讯,速度要求高,但是出现偶尔断续不是太大问
题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值