tcp/udp 区别?使用场景?

tcp与udp都是传输层协议,两者在特性上是对立的,但是有好便有坏,udp牺牲了可靠的连接换来了传播速度的提升,而tcp却将字节流安全可靠的连接传递。

tcp协议的可靠性来自于其客户端与服务端的稳固连接,其独有的应答确认、超时重传、滑动窗口(流量控制)、数据检验、重复数据丢失等等;

udp协议的高效率因为其是一个简单的面向数据报的传输层协议,其只负责将应用层传给IP层的数据报发送出去,并且不能保证发出去的数据都能被接收端接收到。

细节(应答确认、超时重发、滑动窗口):
应答确认: ACK机制,在TCP连接成功后,收到一条报文后,向发送端发送一条确认ACK,此ACK的作用就是告诉发送端:接收端已经成功的收到了消息,但发送的每一条数据都可能会丢失,因此需要确认应答,以保证数据的完整性;
超时重传: TCP每发出一个报文段,就会对此发出的报文段设置一个计时器,只要计时器设置的时间到,发送端未收到接收端反馈的确认,就会重新传送此报文段;并且,计时器的设置时间会越来越长,但不会无限制的延续下去,当判定累积到一定时间时,TCP会认为网络或者对端的主机出现异常,此时会强制关闭连接。超时重传机制是计算机内核实现的(超时重传机制属于TCP一部分,TCP又属于内核);
滑动窗口: 滑动窗口就像其名一般,是一个可以滑动的窗口,(如图)。操作系统在内核上开辟了一个缓存区来记录发送的数据,并且在发送的第一个数据(发送出去的数据是有序号的)确认应答之后,窗口向后续的缓冲区移动,以此类推,并且将应答成功之后的记录删掉。滑动窗口的主要功能就是流量控制,如果发送端发送的数据太快了,就会导致缓冲区满,如果此时来不及发送数据,就会造成丢包。[丢包有两种情况:1.ACK丢失2.数据包丢失]
在这里插入图片描述

tcp udp 不同点

报头不同、
特点不同、
协议不同、

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值