实验目的:
验证ICMP Redirect的两种情况:
一
路由器收到数据包接口正是去往目的地的出口时,会向源发送ICMP重定向,通告源直接将数据包发向自己的下一跳。
二
数据包的源地址和自己的下一跳在同一网段时,会向源发送ICMP重定向,通告源直接将数据包发向自己的下一跳。
实验拓扑:
实验说明:
本实验,R4模拟内部服务器,R1的默认网关指向R3。
配置:
R1:
interface FastEthernet0/0
ip address 123.1.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 123.1.1.3
R2:
interface FastEthernet0/0
ip address 123.1.1.2 255.255.255.0
!
interface FastEthernet0/1
ip address 24.1.1.2 255.255.255.0
R3:
interface FastEthernet0/0
ip address 123.1.1.3 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 FastEthernet0/1
ip route 24.1.1.0 255.255.255.0 123.1.1.2
R4:
interface FastEthernet0/1
ip address 24.1.1.4 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 24.1.1.2
验证:
R1开启debug ip icmp
结论:
不仅满足发送ICMP重定向情况的第一条同接口进出,也满足第二条源和下一跳同网段,所以R1向源发送了ICMP重定向,数据包中明确告诉R3将去往20.1.1.4的数据包直接交给10.1.1.2,即交给R2。从上也可以看出,让R1来转发数据包确实是无谓举动。