- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCP事务协议,HTTP,NNTP和UNIX域协议3
下载
第3章 T/TCP使用举例
3.1 概述
本章中我们将通过几个 T / T C P应用程序例子来学习如何使用这 3个新引入的 T C P选项。这
几个例子说明,针对以下几种情形, T / T C P是如何处理的:
• 客户重新启动;
• 常规的T / T C P事务;
• 服务器收到一个过时的重复 S Y N报文段;
• 服务器重新启动;
• 请求或应答的长度超过报文段最大长度 M S S ;
• 与不支持T / T C P协议的主机的向下兼容;
下一章我们还将研究另外 2个例子: S Y N报文段到达服务器没有过时也不重复,但其到达
的顺序错乱;客户对重复的服务器 S Y N / A C K响应的处理。
这些例子中的 T / T C P 客户是b s d i( 图1 - 1 3 ),而服务器则是 l a p t o p。这些主机上运行的
T / T C P客户程序如图 1 - 1 0所示;T / T C P服务器程序如图 1 - 11所示。客户程序发出长度为 3 0 0字
节的请求,服务器则给出长度为 4 0 0字节的应答。
在这些例子中,客户程序中支持 RFC 1323 的部分已经关闭。这样,在客户发起的 S Y N报
文段中就不会含有窗口宽度和时间戳选项 ( 由于只要客户不发送这两个选项,服务器的响应中
也不会包含这两个选项,从而服务器是否支持 RFC 1 323 就是无关紧要的 ) 。这样做是为了避
免让那些与我们讨论的主题无关的因素把例子弄得太复杂。但在正常情况下,由于时间戳选
项可以防止把重复的报文段误认为是当前连接的报文段,因而我们可以在 T / T C P应用中支持
RFC 1 323 。也就是说,在宽带连接和大数据量传送的情况下,即便是 T / T C P协议也一样需要
防止序号重叠( PAW S ,见卷1的2 4 . 6节) 。
3.2 客户重新启动
客户一旦启动,客户-服务器事务过程也就开始了。客户程序调用 s e n d t o函数,即在路
由表中为对端服务器增加一个表项,其中 t a o _ c c s e n t的值初始化为0 (表示未定义 ) 。于是
T C P协议就会发出 C C n e w选项而不是发出 C C选项。服务器上的 T C P协议收到C C n e w选项后就
执行常规的三次握手操作,其过程可见图 3 - 1所示的Tc p d u m p 的输出(不熟悉Tc p d u m p操作及其
输出的读者可参见卷 1的附录A 。在跟踪观察这些分组的时候,不要忘了 S Y N和F I N在序号空
间中各占用一个字节) 。
从第 1行的C C n e w选项可以看出,客户端 t c p _ c c g e n的值为1。在第2 行,服务器对客户
的C C n e w给出了回应,服务器的 t c p _ c c g e n值为1 8。服务器给客户的S Y N发出确认,但不确
认客户的数据。由于收到了客户的 C C n e w选项,即使服务器在其单机高速缓存中有该客户的
表项,它也必须完成正常的三次握手过程。只有当三次握手完成以后,服务器的 T C P 协议才
32计计第一部分 TCP事务协议
下载
图3-1 T/TCP客户重启后向服务器发送一个事务
能把收到的3 0 0字节数据提交给当前的服务进程。
第3行显示的是三次握手过程的最后一个报文段:客户对服务器发出 S Y N 的确认。在这个
报文段中客户将 F I N重传,但不包括 3 0 0字节数据。服务器收到该报文段后,立刻确认了收到
的数据和F I N (第4 行) 。与一般的报文段不同的是,这个确认是即时发出的,没有被耽搁。这
么做是为了防止客户第 1行发出数据后超时而重传。
第5行显示的是服务器给出的应答以及服务器的 F I N ,第6行中客户对服务器的 F I N和应答
都做了确认。注意,第 3 、4 、5和6行中都有C C选项,而C C n e w和C C e c h o选项则分别只出现在
第1和第2个报文段中。
从现在开始,我们不再专门地在 T /
文档评论(0)