路由分类
直连路由
静态路由:由网络管理员手工配置的路由信息
动态路由:所有路由器运行相同的路由协议,路由器之间才能沟通,交流,最终计算出到达未知网段的路由信息。
AS
自治系统 --- 由单一组织或者结构所构建的一部分网络
IGP --- 内部网关协议 --- AS内部
ospf,RIP,IS-IS,EIGRP(思科私有)
EGP --- 外部网关协议 --- AS之间
BGP
IGP协议可以基于算法进行分类
1、距离矢量型协议
RIP --- 贝尔曼·福特算法 --- 直接发送路由条目 --- “依据传闻的路由协议”
2、链路状态型协议
OSPF,IS-IS --- SPF算法(将图形结构转换成树形结构) --- 传递的是拓扑信息(LSA---链路状态通告)
评价IGP好坏的标准:
选举佳,收敛快(计时器),资源占用少
1、RIP是以跳数作为开销值的评判标准,OSPF是以带宽作为开销值的评判标准,OSPF计算出的路径不会出现环路。
2、因为OSPF计时器时间更短,所以收敛速度更快
3、从单个数据包的角度来看,RIP的资源占用量并不大,但是,因为他存在高频的周期更新(30S),所以从整体角度,资源占用量较大;OSPF单个数据包的资源占用远远大于RIP,但是因为其没有像RIP一样高频的周期更新(OSPF 30min),且存在很多减少资源占用的机制,所以从整体角度,ospf资源占用略小于RIP。
RIP:RIPV1,RIPV2---IPV4
RIPNG --- IPV6
OSPF:OSPFV1,OSPFV2 --- IPV4
OSPFV3 --- IPV6
RIPV2和OSPFV2的相同点:
1、OSPFV2和RIPV2一样都是无类别的路由协议,都支持VLSM(可变长子网掩码)和CIDR(汇总)
无类别指在传递路由信息时携带子网掩码
2、OSPFV2和RIPV2一样,都是以组播发送信息
RIPV2:224.0.0.9 --- 0100-5e00-0009
OSPFV2:224.0.0.5和224.0.0.6
(在OSPF中,所有设备都监听224.0.0.5,只有DR和BDR监听224.0.0.6)
3、OSPFV2和RIPV2一样,都支持等开销负载均衡
RIPV2和OSPFV2的不同点:
RIPV2只能应用在中小型网络环境中,OSPFV2可以应用在中大型网络环境中的。--- OSPF可以实现结构化部署---区域划分
区域划分目的:
区域内部传递拓扑信息,区域之间传递路由信息。
区域边界路由器 --- ABR
同时属于多个区域,一个接口对应一个区域,至少有一个接口对应区域0中。
区域之间可以存在多个ABR设备,一个ABR设备也可以连接多个区域
区域划分的要求:
1、区域之间必须存在ABR设备
2、区域划分必须按照星型拓扑进行划分 --- 中间的区域称为骨干区域
区域ID --- area id --- 32位二进制构成 --- 骨干区域的区域ID被定义为0
OSPF的数据包
hello包 DBD包 LSR 包 LSU包 LSACK包
1、hello包
周期性的发现,建立以及保活邻居关系
hello时间 --- 10s(30s)
Dead time --- 4倍的周期时间
RID --- 路由器的身份标识
1、手工配置 --- 要求:1、全网(ospf网络内)唯一;2、格式统一(统一按IP地
址格式)
2、自动生成
1、优先选择设备换回接口的ip地址,如果存在多个环回接口,则优先选择
其中数值最大的ip地址作为RID。
2、如果设备没有环回接口,则选择物理接口的ip地址作为RID,如果存在多
个物理接口,则优先选择其中数值最大的ip地址作为RID。
2、DBD包
数据库描述报文 --- LSDB(链路状态数据库) --- 用于放置LSA
3、LSR包
链路状态请求报文 --- 基于未知的LSA进行请求
4、LSU包
链路状态更新报文 --- 真正携带LSA的数据包
5、LSACK包
链路状态确认报文 --- 确认包
OSPF依然存在30min一次的周期更新
OSPF的状态机
Two-way(双向通信)状态 --- 标志着邻居关系的建立
(条件匹配)如果匹配成功,则可以进入到下一个状态;如果条件匹配失败,则将保持邻居关系,周期性发送hello包保持邻居关系。
主从关系选举 --- 通过比较RID进行主从关系选举,RID大的为主,为主的可以优先选择LSA
主从关系选举使用的是不携带数据的DBD包进行,主要是为了和邻居关系进行区分。
在华为体系中,主从关系选举更重要的一点为主的设备可以主导隐形确认
华为的DBD包确认方法使用的是隐形确认
Full(转发)状态 --- 标志着邻接关系的建立,只有邻接关系可以交换LSA信息,邻居关系仅能使用hello包进行保活
DOWN状态 --- 发送hello包之后进入到下一个状态
init(初始化)状态 --- 接收到hello包中存在自己本地RID,进入下一状态
Two-way(双向通信)状态 --- 标志着邻居关系的建立
(条件匹配)如果条件匹配成功,则进入到下一个状态;如果失败,则停留在邻居状态,仅使用hello包进行周期保活
Exstart(预启动)状态 --- 使用未携带数据的DBD包,进行主从关系选举,为主的,可以优先挑选LSA。
Exchange(准交换)状态 --- 通过携带数据DBD包,交换LSDB摘要信息
Loading(加载)状态 --- 通过LSR/LSU/LSACK三种数据包,获取基于之前DBD包的未知LSA信息
Full(转发)状态 --- 标志着邻接关系建立
OSPF的工作过程
启动配置完成后,ospf向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包,hello包中携带自己本地的RID以及已知邻居的RID,如果收到hello包中存在自己本地的RID,则建立邻居关系。
将邻居关系记录在一张表中---邻居表
邻居关系完成后,将进行条件匹配,条件匹配失败,则将停留在邻居关系,仅使用hello包进行周期保活
如果匹配成功,则开始建立邻接状态;首先使用未携带数据的DBD包进行主从关系选举,之后,使用携带数据的DBD包共享数据库目录信息。之后使用LSR/LSU/LSACK数据包获取未知的LSA信息。完成自己本地数据库的建立,生成数据库表 --- LSDB
最后基于本地的链路状态,使用SPF算法生成有向图和最短路径树,计算出到达未知网段的路由信息,将这些路由信息放到路由表中。
收敛完成后,使用hello包进行周期保活;每30min进行一次周期更新
OSPF的基本配置
1、启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]
2、创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3、宣告
1、激活接口;2、发布路由
[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255
0.0.0.255 --> 反掩码用于控制圈定的范围,由连续的0和连续的1组成
4、查看配置相关命令
查看邻居表
查看邻居简表
查看链路状态数据库(LSDB)
查看由路由器 ID 为 2.2.2.2 的路由器所产生的路由器类型(Router LSA)的链路状态通告(LSA)信息
查看ospf学习到的路由条目的命令
修改cost值

条件匹配
指定路由器 -- DR --- 在一个MA网络中,DR设备和其他设备保持邻接关系
备份指定路由器 --- BDR --- 在一个MA网络中,BDR设备和其他设备保持邻接关系
在一个MA网络中,DR和BDR都存在的情况下,则至少需要4太设备,才能看到邻居关系
DR和BDR实际上是一个接口的概念
条件匹配 --- 在MA网络中,如果所有设备都建立邻接关系,则可能造成大量的重复更新,所以需要进行DR/BDR的选举,所有DROther之间仅保持邻居关系
DR和BDR的选举
1、先比较接口的优先级,优先级选择接口优先级最大的为DR设备,次大的为BDR
注:DR和BDR实际上是分两轮选举的
优先级是由8位二进制构成 --- 0-255
如果将某个接口的优先级设置为0,则代表该接口放弃DR和BDR的选举。
2、如果优先级相同,则比较设备RID,优先选RID大的设备对应接口为DR,次大的设备对应接口为BDR(同样是分两轮选)
OSPF的DR选举默认为非抢占模式。非抢占模式选举时间最长为40s(死亡事件)