TCP/IP协议详解 卷1:协议
第6章:ICMP:Internet控制报文协议
1、ICMP采用UDP,在IP数据报内部所传输
2、有几种情况下不会导致产生ICMP差错报文:
ICMP差错报文、广播或多播IP数据报,非IP分片的第一片
3、ICMP差错报文必须包括生产该差错报文的的数据报IP首部(包含任何选项),还必须至少包括跟在该IP首部后面的前8个字节。I P 首部中包含了协议字段,使得ICMP可以知道如何解释后面的 8个字节(UDP首部),其中包含了源端口和目的端口号。
第8章:Traceroute
1、发送TTL值不同的IP数据报给目标主机,同时在UDP数据报中设置不合理的端口号,通过判断返回的ICMP报文是端口不可达还是超时来判断是否已经到达目的地。
2、源站路由是指由发送者指定路由,有A严格的源路由选择和B宽松的源路由选择。
3、ping 与 traceroute的区别
(1) Ping 在ICMP回显报文中的标识符字段设置成它的进程ID,以此来识别自己的发送的报文;Traceroute将它的UDP源端口号设置成它的进程ID与32768的逻辑或,这些源端口号在ICMP差错报文中返回,据此来识别自己发送的报文。
(2)Ping给目标发送的ICMP回显报文中可选数据部分设置成分组的发送时间,且该数据包含在返回的应答报文中,通过计算该值与收到应答报文的时间差就能清晰的获得回环时间。
Traceroute必须记住它发送一个请求的时间,等待应答,然后计算回环时间。
第9章:IP 选路
1、连接在LAN上的主机,可以只有一个默认路由选项,通过路由器发送给主机的重定向ICMP报文来更新路由表。
2、主机路由:确定了目的地,只能用于匹配到目的主机的路由选路。
网络路由:网络号相同即可用于路由选路。
3、ICMP重定向报文三个IP地址:(1)导致重定向的IP地址(在ICMP重定向报文的数据部分中的IP数据报首部)。(2)发送重定向报文的路由器的IP地址。(3)应该采用的路由器IP地址。
4、ICMP重定向报文只能由路由器生成,不能由主机生成。