tcp欢动窗口机制_计算机网络 传输层 TCP协议的可靠传输

本文详细介绍了TCP协议如何通过滑动窗口和超时重传机制来确保可靠传输。TCP对数据进行字节编号,并维护发送和接收窗口来控制流量。当发送端发送数据并在未收到确认时,会使用加权平均往返时间RTTs来动态调整的超时重传时间RTO,确保数据能被正确接收。
摘要由CSDN通过智能技术生成

计算机网络 传输层 TCP协议的可靠传输

TCP的可靠传输主要依据滑动窗口和超时重传机制,TCP对待发送的数据按字节进行编序,比如0号字节,1号字节,2号字节......

TCP的滑动窗口

发送窗口:当前允许发送的字节序号范围,如10到50

接收窗口:当前允许接收的字节序号范围

TCP基于滑动窗口协议实现可靠传输和流量控制,滑动窗口以 字节为单位

基本过程

  1. 发送端A在特定时间内把发送窗口N1--N2的数据发送出去,等待接收端返回确认号
  2. 接收端B接收到数据,数据确实是在接收窗口M1--M2内,返回确认号X,证明自己成功收到所有序号为小于X的数据
  3. 发送窗口相应前移以发送X后面数据,接收窗口前移以接收X后面数据

12a43c255eaf57ae9222414b2070ad1a.png

发送窗口

在没有收到对方应答的情况下,可以连续把窗口内的数据发送出去

窗口大小的确定:对方发来的窗口大小、拥塞控制

根据收到对方的TCP报文段头部中“acknowledge number”字段,窗口向前滑动移动

1ee7e4895c6a2acc6bfb170ee80ac31d.png

接收窗口

窗口内的数据是允许接收的

窗口后沿以外是已正确接收并交付上层的数据

a3e7abb68879483770074386c163d305.png

整个流程

d73cc43127cc07791ef3dce8d93406df.png

TCP的超时重传

TCP每发送一个报文段,就对这个报文段设置一次计时器,如果计时器设置的重传时间到,但还没有收到确认,就要重传该报文段。

超时时间的设置是一个复杂的问题,IP层提供数据报服务,每个数据报所选择的路由都可能有变化,导致传输层的往返时间变化较大。

TCP采用一种自适应算法计算超时重传时间:加权平均往返时间RTTs

注:RTT—Round Trip Time

56c144a9238f2eea8579f658864d5744.png

超时重传时间RTO(Retransmission Time-Out)

RTO应该略大于RTTs(可以思考为什么)

采用如下公式计算:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值