网络的互联互通,通常离不开大型路由器设备,下面我们来聊聊路由器的工作过程,先来看看一张地铁的线路图。
我们思考一下,乘坐地铁从竹子林站如何到达华强北站?细心的朋友们都看得出来有上十个方案,这些方案中有换乘最少的,也有停站最少的,通常人们心中有一套最佳的方案,下次去同样的地方还用同样的方案。
路由器也是这样,路由器是用于计算机网络互连的设备,核心作用是实现网络互连,数据转发。像人的记忆一样,路由器为执行数据转发路径选择,所需要的信息保存在路由器的一个表项中,称为“路由表”,当路由器检查到包的目的IP地址时,它就可以根据路由表的内容决定包应该转发到哪个下一跳地址上去,路由表被存放在路由器的RAM上,也就是说路由表是可以动态修改的。
下面我来看下路由表的构成:
■ 目的网络地址(Dest)
■ 掩码(Mask)
■ 下一跳地址(Gw)
■ 发送的物理端口(interface)
■ 路由信息的来源(Owner)
■ 路由优先级(pri)
■ 度量值(metric)
路由器中路由表的条目如下图所示:
■ 172.16.8.0 -- 目的逻辑网络地址或子网地址
■ 255.255.255.0 -- 目的逻辑网络地址或子网地址的网络掩码
■ 1.1.1.1 -- 下一跳逻辑地址
■ fei_1/1 -- 学习到这条路由的接口和数据的转发接口
■ static -- 路由器学习到这条路由的方式
■ 1 -- 路由优先级
■ 0 -- Metric 值
路由器使用的路由协议主要有三类,分别是直连路由、静态路由和动态路由。
直连路由:当接口配置了网络协议地址并状态正常时,接口上配置的网段地址自动出现在路由表中并与接口关联,并随接口的状态变化在路由表中自动出现或消失,如下图所示。
静态路由:由系统管理员手工配置,不会随网络拓扑的变化而变化,优点是不占用网络、系统资源;缺点是需要管理员手工逐条配置,不能自动对网络状态变化作出调整。对路由器配置静态路由如下图所示。
上图中是路由器静态路由的配置命令,不同厂家的设备若有区别,华为设备的命令是: ip route-static 目的地址 掩码 下一跳地址。
动态路由:路由协议是运行在路由器上的软件进程,与其他路由器上相同路由协议之间交换路由信息,学习非直连网络的路由信息,加入路由表。并且在网络拓扑结构变化时自动调整,维护正确的路由信息。
动态路由协议主要有OSPF和RIP,有些工程师善用ISIS,这些协议配置起来简单,且都能很好的应对网络的结构变化,在应用中各有优缺点。
附上华为设备的路由器配置实例。 数据网的拓扑图结构如下图所示,所有设备之间互联地址都是24位掩码,所有路由器的Loopback地址都是32位的掩码。
给路由器 配置OSPF协议,实现 三台路由器之间的 互通。
PE1的配置: 如下图 所示。

P的配置:进入路由器P, 配置 如 下 图所示。

PE2的配置: 配置 如 下图 所示。
查看PE1的路由表,如下图所示。
对于动态路由的应用,我们只要掌握了协议的配置方法,过程非常简单。且相比静态路由配置需要考虑的因素就要少很多,但静态路由开销小,也是常用的路由协议。