1. 静态路由
静态路由是手动配置的路由,需要指定下一跳和目的地址,适用于小型网络环境。
命令:
ip route-static ip-address {mask | mask-length} interface-type interface-number [nexthop-address]
第一个参数ip-address指定目的地址,告诉路由表你的数据包最终要被送到何处;
第二个参数mask指定子网掩码,或者前缀长度(例如255.255.255.0对应前缀长度为24的网段);
第三个参数interface-type interface-number指定出接口信息,一般不需要指定下一跳,如果使用广播接口如以太网接口作为出接口,必须要指定下一跳地址;
第四个参数nexthop-address指定下一跳地址,静态路由的下一跳地址是指与接口相连的对端接口地址。
示例
# 配置下一跳参数
ip route-static 192.168.1.0 255.255.255.0 10.0.0.1
ip route-static 192.168.1.0 24 10.0.0.1
# 配置出接口
ip route-static 192.168.1.0 255.255.255.0 Serial 1/0/0
ip route-static 192.168.1.0 24 Serial 1/0/0
串行网络中,华为ARG3系列路由器串行接口默认封装PPP协议,所以可以只配置出接口,不配置下一跳。
示例网络拓扑:
#AR1配置
interface GigabitEthernet0/0/0
ip address 10.10.10.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 20.20.20.2 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
ip route-static 0.0.0.0 0.0.0.0 10.10.10.2
ip route-static 192.168.2.0 255.255.255.0 10.10.10.2
#AR2配置
interface GigabitEthernet0/0/0
ip address 10.10.10.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.2.2 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 192.168.3.2 255.255.255.0
#
interface NULL0
#
ip route-static 0.0.0.0 0.0.0.0 10.10.10.1
2. 缺省路由
缺省路由是地址和掩码均为0.0.0.0的特殊路由。当路由表中找不到可以到达目的地址的路径时,设备可以选择缺省路由作为报文转发路径。
在配置缺省路由时,只需要指定下一跳。
ip route-static 0.0.0.0 0.0.0.0 nexthop-address
这条命令表示来自任何ip的数据包均经你指定的下一跳地址转发出去。
3. 动态路由
动态路由协议可以让路由器自动学习到其他路由器的网络,并且网络拓扑发生改变后自动更新路由表。
网络管理员只需要配置动态路由协议即可,相比人工指定转发策略,工作量大大减少。
3.1 OSPF单区域路由配置
注:为了测试各路由的连通情况,需要在两端添加PC或在路由上添加lookback接口。
lookback接口:非配置必选项,该接口中单独指定一个ip作为管理地址,管理员可以使用这个ip对路由器远程登陆(telnet),且该接口永久处于up状态。(lookback接口地址子网掩码通常指定为32位)
单区域拓扑规划示意图
pc需要配置ip,子网掩码和网关(需要和对应的直连路由在同一网段上)
AR3配置
interface GigabitEthernet0/0/0
ip address 5.5.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.2.2 255.255.255.0
#
interface NULL0
#
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 5.5.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
#需要确认接口处于启用状态(up)
[AR1-GigabitEthernet0/0/0]undo shutdown
Info: Interface GigabitEthernet0/0/0 is not shutdown.
# OSPF配置
[AR1]ospf 1 router-id 1.1.1.1 #设置OSPF进程号为1,同时设置该路由器唯一id
[AR1-ospf-1]area 0 #设置OSPF区域为0,即骨干区域
[AR1-ospf-1-area-0.0.0.0]network 5.5.1.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255 #将接口ip通告给OSPF协议,第三个参数为反掩码
AR4配置
interface GigabitEthernet0/0/0
ip address 5.5.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 5.5.2.2 255.255.255.0
#
interface NULL0
#
ospf 1
area 0.0.0.0
network 5.5.1.0 0.0.0.255
network 5.5.2.0 0.0.0.255
#OSPF配置
[AR2]ospf 1 router-id 2.2.2.2
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]network 5.5.1.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]network 5.5.2.0 0.0.0.255
AR5配置
interface GigabitEthernet0/0/0
ip address 5.5.2.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.3.2 255.255.255.0
#
interface NULL0
# ospf 1
area 0.0.0.0
network 5.5.2.0 0.0.0.255
network 192.168.3.0 0.0.0.255
#OSPF配置
[AR3]ospf 1 router-id 3.3.3.3
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 5.5.2.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
现在就配置完成了,此时两端的pc是可以正常通信的。如果在路由器相通的链路上抓包,你会发现一些有趣的现象。
比如在5.5.1.0网段上抓包:
即便路由中并没有请求/响应包要转发,网段中的路由器依然会不断的和它的邻居互发hello数据包,同时交换数据库信息,告诉自己的接口状态然后请求连接。
路由器会持续尝试和其邻居建立一个通讯,如果没有得到回应,路由器会认为对方已经失去连接(暂时宕机),但是仍会礼貌性的每隔10秒发送一个hello数据包,确认存活状态。
在新邻居建立或ip地址发生变更时,两个路由器会分别向对方发送DBD,LSR,LSU和LSAck的数据包,确保能够正常通信。这些数据包只在建立邻接关系的路由器间发送。
DBD(DatabaseDescribe)
数据库描述,建立邻居时发送,描述自身接口状态
LSR(LinkState Request)
链路状态请求,向邻居请求
LSU(LinkState Update)
链路状态更新,发送的是LSA
LSAck
对DBD、LSR、LSU进行确认
在两个已建立邻接关系的路由器中,每隔一段时间,它们仍然会发送链路状态更新与信息确认的数据包。就像两个通信的网段会周期性的发送ARP广播一样,当地址缓存信息被清除后,不知道目标物理地址的ip会通过广播进行询问。