【计算机网络 (谢希仁) 习题题解】第5章 运输层 (3) |
您所在的位置:网站首页 › 滑动窗口的目的 › 【计算机网络 (谢希仁) 习题题解】第5章 运输层 (3) |
TCP 可靠传输的实现
为了讲述可靠传输原理的方便,假定数据传输只在一个方向进行,即 A 发送数据,B 给出确认。 以字节为单位的滑动窗口现假定 A 收到了 B 发来的确认报文段,其中窗口是 20 字节,确认号是 31。 现在假定 B 收到了序号为 31 的数据,并把序号为 31 ~ 33 的数据交付主机,然后 B 删除这些数据。 强调三点: 虽然 A 的发送窗口是根据 B 的接收窗口设置的,但在同一时刻,A 的发送窗口并不总是和 B 的接收窗口一样大。因为通过网络传送窗口值需要经历一定的时间滞后。发送方 A 还可能根据网络当时的拥塞情况适当减小自己的发送窗口数值。对于不按序到达的数据应如何处理,TCP 标准并无明确规定。 如果接收方把不按序到达的数据一律丢弃,那么接收窗口的管理将会比较简单,但对网络资源的利用不利。 因此 TCP 通常对不按序到达的数据是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。TCP 要求接收方必须有累计确认的功能,这样可以减小传输开销。接收方可以在合适的时候发送确认,也可以在自己有数据要发送时把确认信息顺便捎带上。TCP 的通信是全双工通信。通信中的每一方都在发送和接收报文段。因此,每一方都有自己的发送窗口和接收窗口。 超时重传时间的选择TCP 的发送方在规定的时间内没有收到确认就要重传已发送的报文段。 运输层的超时计时器的超时重传应设置为多大呢? TCP 采用一种自适应算法,他记录一个报文段发出的时间,以及收到相应的确认的时间。这两个时间之差就是报文段的往返时间 RTT。TCP 保留了 RTT 的一个加权平均往返时间 RTTS,这又称为平滑的往返时间,S 表示 Smoothed。因为进行的是加权平均,因此得出的结果更加平滑。 每当第一次测量到 RTT 样本时,RTTS 值就取为所测量到的 RTT 样本值。但以后每测量到一个新的 RTT 样本,就按下式重新计算一次 RTTS: 新的 RTTS = (1 - α \alpha α) × (旧的 RTTS) + α \alpha α × (新的 RTT 样本) 在上式中, 0 ≤ α < 1 0 \le \alpha < 1 0≤α |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |