TCP,UDP 协议区别及 TCP 协议是如何保证传输可靠的

TCP,UDP 协议区别

UDP: 传送数据前不需要先建立连接,远地主机在收到 UDP 报文后,也不需要给出任何确认。虽然 UDP 不保证可靠的交付,但在某些情况下,UDP 确实是一种高效的通信方式,如:IM、语音、视频、直播等;

TCP: 提供面向连接的服务。传送数据之前,必须先建立连接,数据传输结束之后,还要释放连接。 TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的传输服务(TCP 的可靠体现在传递数据之前,要经过三次握手来建立连接,而且在数据通信过程中,有确认、窗口、重传、拥塞控制等机制,在数据传完之后,还会断开连接用来节省系统资源),这些都难免增加了许多额外的开销。TCP 一般用于文件发送传输、接收邮件、远程登录等要求可靠的场景。

TCP 协议如何保证可靠传输
  1. 应用数据被分割成 TCP 最认为适合发送的数据块大小;
  2. TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层;
  3. 校验和: TCP 将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段;
  4. TCP 的接收端会丢弃重复的数据;
  5. 流量控制: TCP 连接的每一方都有固定大小的缓冲空间,TCP 接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据时,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议 ( TCP 利用滑动窗口实现流量控制);
  6. 拥塞控制: 当网络拥塞时,减少数据的发送;
  7. ARQ 协议: 也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,并等待对方确认,在收到确认之后,再发下一个分组;
  8. 超时重传: 当 TCP 发出一个段后,会启动一个定时器,等待目的端确认收到这个报文段,如果不能及时收到这个确认,那么将重发这个报文段。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值