路由器如何对待ttl超时的tcp报文?

最近在做一个用tcp报文探测路由的程序,想问一个问题,
路由器对待ttl超时的icmp报文会返回一个icmp超时消息,那假如报文是tcp的呢?路由器会怎么做呢?也会返回ICMP超时消息么?还是直接丢弃不响应呢?
个人感觉回复TCP报文不太现实……向各位大侠请教,希望在说出结果的时候能说下为什么~~

另外,还想问下,如果是探测中途遇到的主机,比如说代理服务器,但是并不是目的节点,那他会给回复什么样的消息呢?


感激不尽!

作者: haitanshangdeyu   发布时间: 2011-06-17

ttl越界了肯定返回一个icmp啊。
这是IP协议网络层的,不是TCP 传输层的。关于ICMP,要理清一个概念的,ICMP是使用IP协议来实现它的功能的。但是,ICMP协议和IP、TCP、甚至应用程序都能产生关系,这是指它是服务于这几个层需求的,而ICMP自己,是在IP协议上面实现的,一句话说,ICMP利用IP协议满足了IP/TCP/Apps的因特网连接的控制消息传递的需求。

作者: xiaopoy   发布时间: 2011-06-17

没看完帖子,再补充下。ttl和代理服务器是没有关系的。除非这个代理服务器,完全要当透明的,特地对TTL进行了处理,因为一般的路由器或其他形式的中转机器,总是修改一下TTL,这样想维持TTL不变,一般而言就得在得到要代理出去的包时先递增一下TTL再发包了。

作者: xiaopoy   发布时间: 2011-06-17

引用 1 楼 xiaopoy 的回复:

ttl越界了肯定返回一个icmp啊。
这是IP协议网络层的,不是TCP 传输层的。关于ICMP,要理清一个概念的,ICMP是使用IP协议来实现它的功能的。但是,ICMP协议和IP、TCP、甚至应用程序都能产生关系,这是指它是服务于这几个层需求的,而ICMP自己,是在IP协议上面实现的,一句话说,ICMP利用IP协议满足了IP/TCP/Apps的因特网连接的控制消息传递的需求。


大侠所言甚是,让我如梦初醒……太感谢了!!

作者: haitanshangdeyu   发布时间: 2011-06-17