- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
该文档均来自互联网,如果侵犯了您的个人权益,请联系我们将立即删除!
下载
第4章 T/TCP协议(续)
4.1 概述
本章继续讨论T / T C P协议。我们首先讨论 T / T C P客户程序如何根据连接持续时间是否会大
于报文段最大生存时间 M S L来分配端口号,以及这个分配结果对 T C P 的T I M E _ WA I T状态有什
么影响。接下来我们研究 T C P协议为什么要定义 T I M E _ WA I T状态,因为人们对 T C P协议的这
一特点普遍缺乏理解。 T / T C P协议的重要优点之一就是在连接持续时间小于报文段最大生存
时间M S L 时,使协议的T I M E _ WA I T状态由2 4 0秒缩短至大约 1 2秒。我们将讨论 T / T C P协议是
如何实现这一点的,以及这样做的正确性。
本章最后我们将讨论 T / T C P 协议的TA O ,即T C P加速打开。它使 T / T C P 的客户-服务器事
务能够跳过三次握手过程,从而节省了一次往返时间,这也正是 T / T C P协议给我们带来的最
大好处。
4.2 客户的端口号和T I M E _ WA I T状态
我们编写 T C P 客户程序的时候通常不关心如何选择端口号。大部分 T C P 客户程序 ( 如
Te l n e t 、F T P 以及W W W 等) 都是使用临时端口,让主机的 T C P模块选择一个当前未使用的端
口。从伯克利演变来的系统往往选择 1 024~5 000 之间的临时端口 (见图 1 4 - 1 4 ),而S o l a r i s则
在32 768~65 535 之间选择。然而, T / T C P协议根据事务速率和持续时间,对端口号的选择
有额外的要求。
常规的T C P主机和常规的T C P客户程序
图4 - 1描述的是一个 T C P客户程序 (例如图 1 - 5所示的程序) 与同一个服务器之间执行的三次
事务,每次事务的持续时间为 1秒,前后事务之间的间隔也为 1秒。三次连接分别开始于第0秒、
第2秒和第4秒,而分别终止于第 1秒、第 3秒和第 5秒。x 轴表示时间,单位为秒;三次连接分
别用粗线段表示。
图4-1 TCP客户,不同的事务选用不同的本地端口
每次事务各建立一条 T C P连接。我们假定客户程序在创建插口时并不显式地将其绑定到
某个端口,而是让系统的 T C P模块来选择临时端口。我们还假定客户端 T C P模块的报文段最大
44计计第一部分 TCP事务协议
下载
生存时间M S L 为1 2 0秒。第 1条连接要保持在 T I M E _ WA I T状态,直至第2 4 1秒;第2条和第3条
连接则分别从第3秒和第5秒开始保持T I M E _ WA I T状态,直至第2 4 3秒和第2 4 5秒。
在图中, C B 表示“控制块”,实际上表示连接使用期间和处于 T I M E _ WA I T 状态期间,
T C P协议维持的几个控制块的组合,包括: Internet 进程控制块P C B 、T C P控制块和首部模板。
在第2 章一开始时我们就说过,在 N e t / 3 实现中,这3个控制块的大小总和为 2 6 4字节。除了内
存要求以外,T C P协议还需要占用 C P U时间来周期性地处理这些控制块 (例如在卷2 的2 5 . 4节和
2 5 . 5节中,协议每2 0 0 m s和5 0 0 m s就要对所有T C P控制块处理一遍) 。
N e t / 3 中为每个连接保存一份 T C P和I P 首部作为“首部模板” (卷2 的第2 6 . 8节) 。
该模板中包含了给定连接中用到的所有字段,这些字段在该连接中不会有变化。这
样就节省了每次发送报文段的处理时间,因为程序代码只要把首部模板中的内容复
制到正在构造的输出分组中即可,而不需要分别填写每个字段。
常规的T C P是无法跳过三次握手过程的。客户程序不能在相继的 3条连接中使用同一个本
地端口,即使为插口设置了 S O _ R E U S E A D D R属性也是如此(卷2第5 9 2页给出了一个示例程序) 。
T/TCP 主机,每次事务用不同的客户端口
图4 - 2给出的是与图4 - 1一
文档评论(0)