讨论:关于msl的问题
在tcp/ip详解卷1的18章中关于msl的描述如下:
“每个具体tcp实现必须选择一个报文段最大生存时间msl,它是任何报文段被丢弃前在网络中的最长时间,我们知道这个时间是有限的,因为tcp报文段以ip数据报在网络内传输,而ip数据报则有限制其生存时间的ttl字段.....从第8章我们知道在实际的应用中,对ip数据报ttl的限制是基于跳数,而不是定时器。”
在第8章中,关于ttl有如下的描述:
“每个处理数据报的路由器都需要把ttl的值减1或减去数据报在路由器中停留的秒数。由于大多数的路由器转发数据报的时延都小于1秒钟,因此ttl最终成为一个跳站的计数器,所经过的每个路由器都将其值减1。”
现在的疑问是:既然ttl根本跟时间无关,一个ip数据报在互联网上传输时,是否会存在如下可能:数据报在某一个或数个路由器的转发过程中消耗了大量的时间,从而使得其在msl时间后到达主动关闭的一端,而另一端已经释放了这个socket pair呢?
[
本帖最后由 孤独的意尹者 于 2008-6-25 17:34 编辑 ]