TCP/IP——IP选路、ICMP重定向
一、IP选路:
路由表经常被IP访问,route可以加静态路由,路由守护程序可以加动态协议学到的路由,nestat可以查看路由表
不具备ip routing的设备,哪怕自己有路由条目也不会帮其他人转发路由(交换机),而路由器有ip routing,会转发
不具备ip routing的设备(no ip routing),哪怕自己有路由条目也不会帮其他人转发路由。
Cisco选路策略:
-
明细策略路由
-
明细路由
-
默认策略路由
-
默认路由
从1-4依此匹配。
选路策略详解可参考:
https://wenku.baidu.com/view/585281e10912a21615792913.html
二、ICMP重定向差错
当路由器转发一个数据报时发现接收的接口和发送的接口在同一接口,这时候路由器会跟源端自己发送一个ICMP重定向信息,告诉源端下次把数据报发送给另一个路由器,那样才是最优的。只有no iprouting设备下次才会将数据报之间发送给另一个路由器。Ip routing 设备会继续将包发送给它,不理睬ICMP重定向差错信息。
ICMP重定向报文的接受者必须查看三个IP:
导致重定向的IP地址(即ICMP重定向报文的数据位于IP数据报的首部)
发送重定向报文的路由器的IP地址(包含重定向信息的IP数据报中的源地址)
应该采用的路由器IP地址(在ICMP报文中的4-7字节)
重定向的条件:
发送方:
在生成ICMP重定向报文之前这些条件都要满足
1.出接口必须等于入接口
2.用于向外传送数据报的路由不能被ICMP重定向报文创建或修改过(发送重定向报文的主机,原始路由不是redirects产生的),而且不能是路由器的默认路由
3.数据报不能用源站选路来转发
4.内核必须配置成可以发送重定向报文(接口下 ip redirects)
接收方:
在修改路由表之前要作一些检查。这是为了防止路由器或主机的误操作,以及恶意用户的破坏,导致错误地修改系统路由表
1.新的路由器必须直接与网络相连接
2.重定向报文必须来自当前到目的地所选择地路由器
3.重定向报文不能让主机本身作为路由器,被修改地路由必须是一个间接路由