对于大多数实现而言,这个总时间是不可调整的。Solaris 2.2允许管理者改变这个时
间(E . 4节中的t c p _ i p _ a b o r t _ i n t e r v a l变量),且其默认值为2分钟,而不是最常用的
9分钟。
21.3 往返时间测量
T C P超时与重传中最重要的部分就是对一个给定连接的往返时间( RT T)的测量。由于路
由器和网络流量均会变化,因此我们认为这个时间可能经常会发生变化, T C P应该跟踪这些
变化并相应地改变其超时时间。
首先T C P必须测量在发送一个带有特别序号的字节和接收到包含该字节的确认之间的
RT T。在上一章中,我们曾提到在数据报文段和 A C K之间通常并没有一一对应的关系。在图
第21章 TCP的超时与重传使用227
下载
18.3 半打开连接和半关闭连接的区别是什么?
18.4 如果启动s o c k程序作为一个服务器程序,然后终止它(还没有客户进程与它相连接),
我们能立即重新启动这个服务器程序。这意味着它没有经历 2 M S L等待状态。用状态变
迁来解释这一切。
18.5 在1 8 . 6节我们知道一个客户进程不能重新使用同一个本地端口,如果该端口是仍处于
2 M S L等待连接的一部分。但如果 s o c k程序作为客户程序连续运行两次,并且连接到
d a y t i m e服务器上,我们就能重新使用同一本地端口。另外,对一个仍处于 2 M S L等待的
连接,也能为它创建一个替身。这将如何做?
18.6 在1 8 . 6节的最后,我们介绍了 F I N _ WA I T _ 2状态,提到如果应用程序仅过 11分钟后实行
完全关闭(不是半关闭),许多具体的实现都将一个连接由这个状态转移到 C L O S E D状
态。如果另一端(处于C L O S E _ WA I T状态)在宣布关闭(即发送 F I N)之前等待了1 2分
钟,这一端的T C P将如何响应这个F I N?
18.7 对于一个电话交谈,哪一方是主动打开,哪一方是被动打开?是否允许同时打开?是否
允许同时关闭?
18.8 在图1 8 - 6中,我们没有见到一个A R P请求或一个A R P应答。显然主机s v r 4的硬件地址一
定在b s d i的A R P高速缓存中。如果这个A R P高速缓存不存在,这个图会有什么变化?
18.9 解释如下的t c p d u m p输出,并和图1 8 - 1 3进行比较。
198使用TCP/IP详解,卷1:协议
下载
重用相同的本地端口号