- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.6 TCP 可靠传输的实现 TCP 连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。发送方的发送窗口不能超过接收方给出的接收窗口的大小。 TCP 的可靠传输机制用字节的序号进行控制。TCP 所有的确认都是基于序号的确认而不是基于报文段。 TCP 两端的四个窗口经常处于动态变化之中。 TCP连接的往返时间 RTT 也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。 5.6.1 以字节为单位的滑动窗口 发送缓存 接收缓存 需要强调三点 A 的发送窗口并不总是和 B 的接收窗口一样大(因为有一定的时间滞后)。 TCP 标准没有规定对不按序到达的数据应如何处理。通常是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。 TCP 要求接收方必须有累积确认的功能,这样可以减小传输开销。 5.6.2 超时重传时间的选择 重传机制是 TCP 中最重要和最复杂的问题之一。 TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。 往返时延的方差很大 由于 TCP 的下层是一个互联网环境,IP 数据报所选择的路由变化很大。因而运输层的往返时间RTT的方差也很大。 RTT=报文段发出时间 ~收到相应确认 加权平均往返时间 TCP 保留了 RTT 的一个加权平均往返时间 RTTS(这又称为平滑的往返时间)。 第一次测量到 RTT 样本时,RTTS 值就取为所测量到的 RTT 样本值。以后每测量到一个新的 RTT 样本,就按下式重新计算一次 RTTS: 新的 RTTS ? (1 ? ?) ? (旧的 RTTS) ? ? ? (新的 RTT 样本) 式中,0 ? ? ? 1。若 ? 很接近于零,表示 RTT 值更新较慢。若选择 ? 接近于 1,则表示 RTT 值更新较快。 RFC 2988 推荐的 ? 值为 1/8,即 0.125。 超时重传时间 RTO (RetransmissionTime-Out) RTO 应略大于上面得出的加权平均往返时间 RTTS。 RTO ? RTTS + 4 ? RTTD RTTD 是 RTT 的偏差的加权平均值。 第一次测量时,RTTD 值取为测量到的 RTT 样本值的一半。以后测量则使用下式计算加权平均的 RTTD: 新的 RTTD = (1 ? ?) ? (旧的RTTD) + ? ? ?RTTS ? 新的 RTT 样本? ? 是个小于 1 的系数,其推荐值是 1/4,即 0.25。 往返时间的测量相当复杂 TCP 报文段 1 没有收到确认。重传(即报文段 2)后,收到了确认报文段 ACK。 如何判定此确认报文段是对原来的报文段 1 的确认,还是对重传的报文段 2 的确认? Karn 算法 在计算平均往返时间 RTT 时,只要报文段重传了,就不采用其往返时间样本。 这样得出的加权平均RTTS 和超时重传时间 RTO 就较准确。 但是超时重传时间无法更新。 修正的 Karn 算法 报文段每重传一次,就把 RTO 增大一些: 新的 RTO ? ? ? (旧的 RTO) 系数 ? 的典型值是 2 。 当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延 RTT 和超时重传时间 RTO 的数值。 实践证明,这种策略较为合理。 5.6.3 选择确认 SACK(Selective ACK) 接收方收到了和前面的字节流不连续的字节块。即收到的报文段未按序号到达,中间还缺少序号。 如果这些字节的序号都在接收窗口之内,那么接收方就先收下这些数据,但要把这些信息准确地告诉发送方,使发送方不要再重复发送这些已收到的数据。 —— 选择确认 选择确认的工作原理接收到的字节流序号不连续 使用SACK 选项 如果要使用选择确认,那么在建立 TCP 连接时,就要在 TCP 首部的选项中加上“允许 SACK”的选项。 如果使用选择确认,那么原来首部中的“确认号字段”的用法仍然不变。只是以后在 TCP 报文段的首部中都增加了SACK 选项,以便报告收到的不连续字节块的边界。 由于首部选项的长度最多只有 40 字节,而指明一个边界就要用掉 4 字节,因此在选项中最多只能指明 4 个字节块的边界信息(8个边界,共32字节。还需2个字节指
您可能关注的文档
最近下载
- 烟草考试真题及答案.doc VIP
- 2025年最新人教版八年级(初二)数学上册教学计划及进度表(新课标,新教材).docx
- 外研版高中《英语》(新标准)选择性必修一Unit1 单元整体教学设计附作业设计.docx VIP
- 5.1《论语》十二章 课件(共48张PPT)统编版高中语文选择性必修上册.pptx VIP
- 计算机网络实验报告(8)网络地址转换NAT配置、网络端口地址转换NAPT配置.pdf VIP
- 工程材料及成形技术基础-全套PPT课件.pptx
- 单证员考试试题.pdf VIP
- 地面空压机安装技术措施.docx VIP
- 工程建设法规的案例.ppt VIP
- 农产品食品检验员职业技能竞赛理论考试题库(含答案).docx VIP
文档评论(0)