网络管理员指南 -2.TCP/IP网络事件 -5>Internet控制信息协议

/ns/wz/net/data/20020808021645.htm

网络管理员指南 -2.TCP/IP网络事件 -5>Internet控制信息协议

本文出自:http://www.linpus.com.tw 作者: Andrew Anderson


IP 有一个连带的协议我们在上面还没有提到。它就是Internet控制信息协议(ICMP),它被核心网络代码使用
来交流错误信息和其他类似的主机。例如,假设你又在erdos中,并想要以quark为单位远程登录到端口12345,
但是端口上没有程序等待使用。当这个端口的第一个TCP包到达quark,网络层将发现它并立即返回一个以“端口
无法达到”开头的ICMP信息到erdos。

有许多ICMP辨认的信息,许多都是在错误条件下处理的。但是,有一个非常有趣的称为Redirect message(重新
发送信息)的信息。它由路由模块当发现另外的主机正在使用它作为网关的时候被产生,即使有更短的路径。例如,
在启动可能没有完成的sophus的路径表之后,包含到数学网络的路径,到FDDI 主干,以及在
Groucho Computing Center's gateway (gcc1)中指出的默认路径的任何包裹。因此,任何quark的包裹会被发送到
gcc1而不是通向物理系的网关niels。当收到这样一个datagram时候,gcc1将注意到这是路径选择的错误,并将转发
包裹到niels,同时返回一个ICMP重寄信息到sophus说明它到超级路径。

现在,这看来是一个非常聪明的方法需要手工设置除了大多数基本路径以外的任何内容。但是注意它依靠动态路径
方案,RIP或者ICMP重寄信息,不总是一个好主意。ICMP重寄RIP提供你很少或者在一些路由信息实际可信的时候没
有选择。这允许恶意不付任何代价就打断了你整个网络交通,甚至危害其他。由此,有一些版本的网络代码处理重寄
信息影响到整个网络路径,就象它们只是重寄到主机路径。