静态路由
静态路由其实就是手动配置每一条路由,包括IP网段、子网掩码、下一跳(哪个接口)
想要路由,路由器必须做到以下几点:
- 知道目的IP所走的路由
- 标记处下一跳,或者从哪个接口发出去
- 发现所有可能的路径
- 选择最优的一条路径
- 维护和校验路由信息
静态路由实验
如下拓扑:
静态路由配置 //包括目的网段、子网掩码、下一跳ip(或者出接口)
1)在R1上配置目的ip3.3.3.3/24的网段(3.3.3.0)、子网掩码(255.255.255.0)、下一跳地址(172.16.12.2)或者出接口(f0/0)
2)现在R1上有了目的路由,但R2上没有,所以还是照旧配置,
3)此时网络还不通的原因是:ping包是一个有去有回的过程所以,还得在R3上配置回往R1的路由。R2不用配置,因为其有直连路由。
R1(config)#ip route 192.168.23.0 255.255.255.0 172.16.12.2 //跟下一跳ip地址
R3(config)#ip route 172.16.12.0 255.255.255.0 s1/0 //跟出接口
下一跳地址和出接口有一个最明显的区别:如果使用下一跳地址,就不会用到代理arp,因为发送arp请求时,请求的是下一跳的Mac地址,而不是目标ip的Mac地址。
因此,写静态路由的时候,最好是跟下一跳的ip地址,虽然代理arp的功能是默认开启的,但就怕对方手动关掉代理 arp。
如上图:R1和R2之间是以太网,二层要封装Mac,所以跟出接口或者下一跳,优先下一跳
R2和R3之间是点到点网络,不会封装Mac层,所以两者均可。
结论:
1.以太网写静态路由,优先跟下一跳地址;想要跟出接口,必须确保对端proxy-arp是开启的
2.点到点网络写静态路由,跟出接口或下一跳均可以。
注意:
在R1上ping 3.3.3.3通了之后,并不能保证在R3上ping R1就一定能通,因为R1上没有去往R3的路由。
配置R1的虚拟0端口,loopback端口是默认开启的
R1#conf t
R1(config)#int loopback 0
R1(config-if)#ip address 172.16.100.10 255.255.255.0
no掉loopback 0端口
R1(config)#no int loopback 0
关闭路由功能
R1(config)#no ip routing //正常网络上一定别敲,否则所有的动态路由功能全部丢失。
在shutdown一条路由的端口时,路由消失,成为无效路由。
路由表的查询原则
1、最长匹配
查询掩码最长的路由,如:
① 3.3.3.0 255.255.255.0 172.168.12.2
② 3.3.3.0 255.255.255.128 null 0
此时结果是,走第②跳路由,null 0 表示废弃路由,丢掉。故链路不通。
2、递归查询
假如去往3.3.3.3,进行的查询如下:
先得到3.3.3.0 172.16.12.2 ;
然后是查询如何去往172.16.12.2 ;
再得到 172.16.12.0/25 null 0 ;
由此可见,在递归查询的同时,也在进行着最长匹配
静态网络互通
网络中的所有路由器,都拥有除自己直连路由以外的,其他所有非直连
路由,才能实现全网互连。
浮动静态路由
从下面走,当下面不可达时,切换到备份路径。
要实现浮动静态路由,配置一个参数,即管理距离即可。
管理距离:一条路由的信任度,越小越优先。范围是0-255,但255默认失效
任何一条路由,管理距离是255,都是无效路由,浮动不上来
直连路由的距离(distance):0
静态路由的距离(distance):1
可以在show ip route 后面跟一条ip地址,看到其详细的信息。
等价路由:去往某个地址,有多个下一跳,
浮动路由的配置
R1(config)#ip route 3.3.3.0 255.255.255.0 172.16.12.2 20 //在路由后面加个管理距离就行
默认路由
0.0.0.0 0.0.0.0 8.8.8.8
----> 地址全0,掩码全0,下一跳给某个地址
静态路由的优点:
简单、高效、比较稳定、适合小型网络
静态路由的缺点:
配置量大、有可能环路或者走次优路径、不能自动的适应拓扑变更。