一.
因为静态路由无法响应网络拓扑的变化 所以出现了动态路由
动态路由有两种
1.距离矢量路由协议
rip是标准的距离矢量路由协议,什么是距离矢量呢? 方向和距离 方向指的是前往目标网络的下一跳设备,距离指的是度量值
每台运行距离矢量路由器的都会周期性的发布自己的路由表,而其他路由收到更新后 也会向其他路由器发送更新过后的路由表。路由泛洪
rip中的度量值是跳数,也就是到达目的网络中间所经历的有多少设备
运行距离矢量路由协议的路由器并不知道网络具体的拓扑,只知道自己与目的网络之间的距离(中间有多少个网络设备)和从哪个出口能到达目的网络
2.链路状态路由协议
运行这个路由协议的路由器通过一些链路信息和IP地址对网络描述,所有路由器都会产生对自己接口的描述(速率 等)
路由器把这些链路信息收集起来放入LSDB数据库中,则会个数据库相当于对整个网络拓扑的描述。所有运行该协议的路由器都可以知道,接下来就根据这些信息计算出路径。
比如ospf isis
二
最长掩码匹配原则
网络中IP地址都有掩码,用来划分网络使用
而可能出现这两种IP
172.168.1.0/24 下一跳是 172.168.1.254
172.168.0.0/16 下一跳是172.168.1.253
掩码越长越精准 所以路由器会选择第一个
这种情况在汇总中更直观
三
路由汇总
例如
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
192.168.4.0/24
这几个网段的下一跳相同的时候,路由表中存在这么多路由信息是很浪费的
如果有一条路由可以吧这些全部概况
比如0.0.0.0 可以全部概况 但是如果路由表中有172.168.1.0的信息也会被这个所匹配
就挂这些按位与运算
192.168.0.0/21
这个路由条目可以把以上网段覆盖 同时又不会影响其他网段的选路
四
路由表和FIB表
路由表一般都是指的全局路由表,但是路由转发并不是按照查询路由表来转发。路由表只是选择,而真正用来转发的是FIB表
路由表位于控制层面
FIB表位于数据层面,和路由表形式差不多 下一跳 协议 IP地址 掩码等等.....
路由表中优选的路由信息被下载到FIB表中,可能有些抽象 ,我的理解就说 路由表是给你看的,FIB表是给路由器看的