收藏 分享(赏)

计算机网络·tcp可靠传输.ppt

上传人:天天快乐 文档编号:593049 上传时间:2018-04-13 格式:PPT 页数:33 大小:1.33MB
下载 相关 举报
计算机网络·tcp可靠传输.ppt_第1页
第1页 / 共33页
计算机网络·tcp可靠传输.ppt_第2页
第2页 / 共33页
计算机网络·tcp可靠传输.ppt_第3页
第3页 / 共33页
计算机网络·tcp可靠传输.ppt_第4页
第4页 / 共33页
计算机网络·tcp可靠传输.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、TCP 可靠传输,超时重传,TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。,超时重传,TCP保留了RTT 的一个加权平均往返时间 RTTS,又称为平滑的往返时间。第一次测量到 RTT样本时,RTTS值就取为所测量到的 RTT 样本值。以后每测量到一个新的 RTT 样本,就按下式重新计算一次 RTTS:新RTTS(1 )(旧RTTS)(新RTT样本)式中,0 1。若很接近于零,表示RTT值更新较慢。若选择接近于1,则表示RTT值更新较快。RFC2988推荐的值为1/8,即 0.125。,超时重传,RTO应略大于上面得出的加

2、权平均往返时间 RTTS。RFC2988建议使用下式计算 RTO: RTO RTTS + 4 RTTD RTTD 是 RTT 的偏差的加权平均值。RFC 2988 建议这样计算 RTTD。第一次测量时,RTTD 值取为测量到的 RTT 样本值的一半。在以后的测量中,则使用下式计算加权平均的 RTTD:新的 RTTD = (1 ) (旧的RTTD) + RTTS 新的 RTT 样本 是个小于1的系数,其推荐值是1/4,即0.25。,超时重传,TCP报文段1没有收到确认。重传后,收到了确认报文段 ACK。如何判定此确认报文段是对原来的报文段 1 的确认,还是对重传的报文段1的确认?,超时重传,Ka

3、rn算法:在计算平均往返时间RTT时,只要报文段重传了,就不采用其往返时间样本。这样得出的加权平均平均往返时间RTTS和超时重传时间RTO就较准确。修正的 Karn 算法:报文段每重传一次,就把 RTO 增大一些:新的 RTO (旧的 RTO)系数的典型值是2,当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延 RTT 和超时重传时间 RTO 的数值。实践证明,这种策略较为合理。,选择确认 SACK,接收方收到了和前面的字节流不连续的两个字节块。如果这些字节的序号都在接收窗口之内,那么接收方就先收下这些数据,但要把这些信息准确地告诉发送方,使发送方不要再重复发送这些已收到的数据。

4、,选择确认 SACK,接收方收到了和前面的字节流不连续的两个字节块。如果这些字节的序号都在接收窗口之内,那么接收方就先收下这些数据,但要把这些信息准确地告诉发送方,使发送方不要再重复发送这些已收到的数据。,选择确认 SACK,如果要使用选择确认,在建立TCP连接时,就要在TCP首部的选项中加上“允许SACK”的选项,而双方必须都事先商定好。如果使用选择确认,那么原来首部中的“确认号字段”的用法仍然不变。只是以后在TCP报文段的首部中都增加了SACK选项,以便报告收到的不连续的字节块的边界。由于首部选项的长度最多只有40字节,而指明一个边界就要用掉4字节,因此在选项中最多只能指明4个字节块的边界

5、信息。,TCP 的流量控制,流量控制(flow control)是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。,TCP 的流量控制,TCP 的流量控制,可以用不同的机制来控制 TCP 报文段的发送时机:第一种机制是TCP维持一个变量,它等于最大报文段长度MSS。只要缓存中存放的数据达到MSS字节时,就组装成一个 TCP 报文段发送出去。第二种机制是由发送方的应用进程指明要求发送报文段,即TCP支持的推送(push)操作。第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不

6、能超过MSS)发送出去。,TCP的拥塞控制,在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏产生拥塞(congestion)。出现资源拥塞的条件: 对资源需求的总和 可用资源,若网络中有许多资源同时产生拥塞,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降。,TCP的拥塞控制,拥塞控制与流量控制的关系:拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。 流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制。 流量控制所要做的就

7、是抑制发送端发送数据的速率,以便使接收端来得及接收。,TCP的拥塞控制,拥塞控制所起的作用:,TCP的拥塞控制,开环控制和闭环控制 开环控制方法就是在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。 闭环控制是基于反馈环路的概念。属于闭环控制的有以下几种措施: 监测网络系统以便检测到拥塞在何时、何处发生。将拥塞发生的信息传送到可采取行动的地方。调整网络系统的运行以解决出现的问题。,几种拥塞控制方法,1.慢开始和拥塞避免发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发

8、送窗口等于拥塞窗口。如再考虑到接收方的接收能力,则发送窗口还可能小于拥塞窗口。发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数。,慢开始示意图,慢开始算法的原理,在主机刚刚开始发送报文段时可先设置拥塞窗口cwnd=1,即设置为一个最大报文段MSS的数值。在每收到一个对新的报文段的确认后,将拥塞窗口加1,即增加一个MSS的数值。用该方法逐步增大发送端的拥塞窗口cwnd,可以使分组注入到网络的速率更加合理。,设置慢开始门限状态变量,慢开始门限 ssthresh 的用法如下:当 cwn

9、d ssthresh 时,停止使用慢开始算法而改用拥塞避免算法。当 cwnd=ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。拥塞避免算法的思路是让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1,而不是加倍,使拥塞窗口 cwnd 按线性规律缓慢增长。,拥塞避免,无论在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(其根据就是没有按时收到确认),就要把慢开始门限ssthresh设置为出现拥塞时的发送方窗口值的一半(但不能小于2)。然后把拥塞窗口 cwnd 重新设置为 1,执行慢开始算法。这样做的目的就是要迅速减少主机

10、发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完毕。,实现举例,拥塞避免,乘法减小“乘法减小“是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值ssthresh设置为当前的拥塞窗口值乘以 0.5。当网络频繁出现拥塞时,ssthresh值就下降得很快,以大大减少注入到网络中的分组数加法增大“加法增大”是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。,快重传和快恢复,快重传算法首先要求接收方每收到一个失序的报文段

11、后就立即发出重复确认。这样做可以让发送方及早知道有报文段没有到达接收方。 发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。 不难看出,快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。,快重传和快恢复,发送方,接收方,发送 M1,确认 M1,t,确认 M2,发送 M2,发送 M3,发送 M4,?,发送 M5,发送 M6,重复确认 M2,重复确认 M2,重复确认 M2,t,发送 M7,丢失,快恢复算法,当发送端收到连续三个重复确认时,就执行“乘法减小”算法,把慢开始门限ssthresh减半。但接下去不执行慢开始算法。由于发送方现在认为网络很可能没有发生拥塞,因

12、此现在不执行慢开始算法,即拥塞窗口 cwnd 现在不设置为 1,而是设置为慢开始门限 ssthresh 减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。,快恢复算法,发送窗口的上限值,发送方的发送窗口的上限值应当取为接收方窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个,即应按以下公式确定:发送窗口的上限值 Min rwnd, cwnd当 rwndcwnd 时,是接收方的接收能力限制发送窗口的最大值。当 cwndrwnd 时,则是网络的拥塞限制发送窗口的最大值。,随机早期检测 RED,使路由器的队列维持两个参数,即队列长度最小门限 THmin 和最

13、大门限 THmax。RED 对每一个到达的数据报都先计算平均队列长度 LAV。若平均队列长度小于最小门限 THmin,则将新到达的数据报放入队列进行排队。若平均队列长度超过最大门限 THmax,则将新到达的数据报丢弃。若平均队列长度在最小门限 THmin 和最大门限THmax 之间,则按照某一概率 p 将新到达的数据报丢弃。,RED 将路由器的到达队列划分成为三个区域,从队首发送,最小门限 THmin,最大门限 THmin,分组到达,平均队列长度 Lav,排队,丢弃,以概率 p 丢弃,丢弃概率 p 与 THmin 和 Thmax 的关系,当 LAV Thmin 时,丢弃概率 p = 0。当 LAV Thmax 时,丢弃概率 p = 1。当 THmin LAV THmax时, 0 p 1 。例如,按线性规律变化,从 0 变到 pmax。,最小门限 THmin,最大门限 THmax,平均队列长度 Lav,分组丢弃概率 p,1.0,0,pmax,瞬时队列长度和平均队列长度的区别,队列长度,时间,瞬时队列长度,平均队列长度,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经济财会 > 贸易

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报