今天我分享的是:RIP的优先级
RIP路由优先级影响着路由表,路由表又关系用户数据的转发。
讲优先级之前,有一个基础知识点不能不放过,那就是路由选择原理。
路由选择原理3大法则:
最长匹配原则
优先级
开销
一,最长匹配原则:
实验验证:拓扑如下:
我在R1上配置两条静态路由;R2上什么也不配置
R1的两条静态路由:
那么此时我站在R1上 ping 2.2.2.1 能否Ping通??
答案:通是肯定通的!
因为我在R1上配置了静态路由,R1的路由表里就有了去往2.2.2.0和2.0.0.0的路由条目,大家要知道R1的源IP并没有指定,可能是10.0.0.1,也可能是20.0.0.1。
因为我R2上什么也没配置,所以站在R2上去Ping R1的话是ping不通的!
那么问题来了,通讯是没问题,但是路由传播的方向到底走哪个链路呢?
我抓包开始分析:抓R1的两个端口的数据包,我清楚的看到只有R1的s2/0/0的端口有数据流出!
图中我本想用长Ping 结果参数忘记了,查询后,应该是-c xxx
-h 我改变了TTL 生存周期的参数
证明了路由选择选用了最长匹配原则 :设备会选择子网掩码最长的路由条目转发数据!
但是这就造成了一条链路的空闲。我为了保证流量的负载均衡,我将2.0.0.0的那个路由条目掩码改为24
我们查看R1的路由表:发现R1有两条相同路由表项,网络号一样,子网掩码也一样,
那么按照路由选择原理,既然都一样了,再站在R1上Ping 2.2.2.1的时候,会实现负载均衡,应该抓包会发现从两个端口流出数据吧!可惜,事与愿违。结果还是从R1的s2/0/0口中流出,R2的s2/0/1口一点动静也没有呢!
在华为官方解释中,华为默认的负载均衡是以流表示,而不是数据包!就是说一个数据流进入到设备之后,要么选择上面的端口发出,要么选择下面的端口发出,数据流:N多个数据包构成的流量,暂且可以认为源IP+目的IP+源和目的端口都一样!
为了证明这一点。我在R2下再启用一个子网:将之前的子网IP地址删除,因为Looback 是管理接口,所以不能配置同一个子网,所以我根据子网划分,划分两个不同子网来表示:
查看R2的路由表
我站在R1上依次 Ping 2.2.2.1 2.2.2.65/64,我们来看抓取的数据报文,是不是按照了默认的数据流的负载均衡的走向!
最长匹配原则:核心就是,子网掩码越长,主机位越小,就越精确!
====================
二.优先级
拓扑如下:
在我没有配置优先级的情况下,我查看R1的路由表:有两条相同的路由指向不同的端口。
我明知道站在R1上去ping 2.2.2.1,数据流会从10.0.0.1端口流出,那么我想让数据流从R1的s2/0/1流出,我就要改这条静态路由的优先级了:
配置好优先级我在查看R1的路由表:看到区别了吗?设备会保留优先级高的路由条目!
默认情况下静态路由优先级是60。
所以在最长匹配原则都相同的情况下,比较优先级,数值越小优先级越高。优先级高的淘汰优先级低的!
时间关系,下次再说!