ICMP重定向报文
ICMP报文头部有三个固定字段:8位类型、8位代码和16位校验和。
ICMP重定向报文的类型值是5,代码字段有4个可选值,用来区分不同的重定向类型。主机重定向的代码值为1。
ICMP的数据部分提供了两个信息:
1、引起重定向的IP数据报的源端IP地址。
2、应该使用的路由器的IP地址。
接收主机根据这两个信息就可以断定引起重定向的IP数据报应该使用哪个路由来转发,并且以此来更新路由表(通常是更新路由表缓冲,而不是直接修改路由表)。
/proc/sys/net/ipv4/conf/all/send_redirects内核参数指定是否发送ICMP重定向报文,而/proc/sys/net/ipv4/conf/all/accept/redirects内核参数则指定是否允许接受ICMP重定向报文。一般来说,主机只能接收ICMP重定向报文,而路由器只能发送ICMP重定向报文。
实例