- 1、本文档共157页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络_运输层 24 从连续收到三个重复的确认转入拥塞避免 2 4 6 8 10 12 14 16 18 20 22 0 0 4 8 12 16 20 传输轮次 拥塞窗口 cwnd 收到 3 个重复的确认 执行快重传算法 慢开始 拥塞避免 “加法增大” TCP Reno 版本 TCP Tahoe 版本 (已废弃不用) ssthresh 的初始值 新的 ssthresh 值 慢开始 快恢复 发送窗口的上限值 发送方的发送窗口的上限值应当取为接收方窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个,即应按以下公式确定: 发送窗口的上限值 ? min [rwnd, cwnd] (5-8) 当 rwnd cwnd 时,是接收方的接收能力限制发送窗口的最大值。 当 cwnd rwnd 时,则是网络的拥塞限制发送窗口的最大值。 5.8.3 随机早期检测 RED (Random Early Detection) 使路由器的队列维持两个参数,即队列长度最小门限 THmin 和最大门限 THmax。 RED 对每一个到达的数据报都先计算平均队列长度 LAV。 若平均队列长度小于最小门限 THmin,则将新到达的数据报放入队列进行排队。 若平均队列长度超过最大门限 THmax,则将新到达的数据报丢弃。 若平均队列长度在最小门限 THmin 和最大门限THmax 之间,则按照某一概率 p 将新到达的数据报丢弃。 RED 将路由器的到达队列划分成为三个区域 从队首 发送 最小门限 THmin 最大门限 THmin 分组 到达 平均队列长度 Lav 排队 丢弃 以概率 p 丢弃 丢弃概率 p 与 THmin 和 Thmax 的关系 最小门限 THmin 最大门限 THmax 平均队列长度 Lav 分组丢弃概率 p 1.0 0 pmax 当 LAV ? Thmin 时,丢弃概率 p = 0。 当 LAV ?Thmax 时,丢弃概率 p = 1。 当 THmin ? LAV ? THmax时, 0 ? p ? 1 。 例如,按线性规律变化,从 0 变到 pmax。 瞬时队列长度和平均队列长度的区别 队列长度 时间 瞬时队列长度 平均队列长度 RED之于拥塞控制的作用 LAV超过THmin时,就会有少量分组被丢弃 这样,少数TCP连接就已经开始减少其窗口值。 于是,到达路由器的分组数量就减少了。 5-9 TCP 的运输连接管理1. 运输连接的三个阶段 运输连接包含三个阶段,即:连接建立、数据传送和连接释放。 运输连接的管理就是使运输连接的建立和释放都能正常地进行。 连接建立过程中要解决以下三个问题: 要使每一方能够确知对方的存在。 要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。 能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配。 客户服务器方式 TCP 连接的建立采用客户服务器方式。 主动发起连接建立的应用进程叫做客户(client)。 被动等待连接建立的应用进程叫做服务器(server)。 用三次握手建立 TCP 连接 SYN = 1, seq = x CLOSED CLOSED 主动打开 被动打开 A B 客户 服务器 5.9.1 TCP 的连接建立 A 的 TCP 向 B 发出连接请求报文段,其首部中的 同步位 SYN = 1,并选择序号 seq = x,表明传送 数据时的第一个数据字节的序号是 x。 用三次握手建立 TCP 连接 SYN = 1, seq = x CLOSED CLOSED 主动打开 被动打开 A B 客户 服务器 5.9.1 TCP 的连接建立 SYN = 1, ACK = 1, seq = y, ack= x ? 1 B 的 TCP 收到连接请求报文段后,如同意,则 发回确认。 B 在确认报文段中应使 SYN = 1,使 ACK = 1, 其确认号ack = x ? 1,自己选择的序号 seq = y。 什么意思? 双向连接! SYN = 1, seq = x ACK = 1, seq = x + 1, ack = y ? 1 CLOSED CLOSED 主动打开 被动打开 A B 客户 服务器 SYN = 1, ACK = 1, seq = y, ack= x ? 1 A 收到此报文段后向 B 给出确认,其 ACK = 1, 确认号 ack = y ? 1。 A 的 TCP 通知上层应用进程,连接已经建立。 SYN = 1, seq = x ACK = 1, seq = x + 1, ack = y ? 1 CLOSED CLOSED 数据传
文档评论(0)