TCP与UDP

TCP和UDP都传输层协议,主要区别:

1.TCP是面向连接的,UDP是无连接的

TCP在发送请求之前必须通过三次握手先建立连接,结束请求时通过四次挥手切断连接,UDP在发送之前不需要建立连接。

2.TCP是保证可靠交付,UDP是最大努力交付

TCP 连接传输的数据无差错,不丢失,不重复,且按顺序到达,UDP主要是为了保证实时性

3.TCP是面向字节流,UDP是面向报文的

TCP有一个缓冲,当应用程序传送的数据块太长,TCP就可以把它划分短一些再传送。如果应用程序一次只发送一个字节,TCP也可以等待积累有足够多的字节后再构成报文段发送出去。不管应用层交给UDP多长的报文,UDP就照样发送。

4.TCP是一对一的,UDP可以一对多

5.TCP报头较长,UDP的报头较短

TCP的报头包括源端口和目标端口、序号和确认序号、状态位、窗口大小,UDP报头只有源端口和目标端口

6TCP是可靠性连接,UDP是不可靠的

通过 TCP 连接传输的数据无差错,不丢失,不重复,且按顺序到达。

TCP 报文头里面的序号能使 TCP 的数据按序到达

报文头里面的确认序号能保证不丢包,

TCP拥有累计确认及超时重传机制

TCP 拥有流量控制及拥塞控制的机制

 

UDP的主要应用场景

1.直播。直播对实时性的要求比较高,宁可丢包,也不要卡顿的,所以很多直播应用都基于 UDP 实现了自己的视频传输协议
2.实时游戏。游戏的特点也是实时性比较高,在这种情况下,采用自定义的可靠的 UDP 协议,自定义重传策略,能够把产生的延迟降到最低,减少网络问题对游戏造成的影响
3.物联网。一方面,物联网领域中断资源少,很可能知识个很小的嵌入式系统,而维护 TCP 协议的代价太大了;另一方面,物联网对实时性的要求也特别高。比如 Google 旗下的 Nest 简历 Thread Group,推出了物联网通信协议 Thread,就是基于 UDP 协议的
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天都在掉头发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值