提示:本片文章涉及到的网络技术、原理分析、经典案例、实验配置,以及后续分享的网络专栏文章均为华为厂商设备。
动态路由协议
RIP、EIGRP、ISIS、OSPF、EGP、BGP
协议分类
AS进行分类
- IGP协议 :RIP/OSPF/ISIS/EIGRP
- EGP协议:EGP/BGP
是否携带掩码
- 有类:RIP V1
- 无类:RIP V2 、RIPNG、OSPF、EIGRP、BGP
工作特点进行分类
- 距离矢量-DV RIP/EIGRP 直接共享路由表 – 直接学习路由条目 更新量小
- 链路状态-LS OSPF/ISIS 共享拓扑信息 – 本地计算路由条目 更新量大
OSPF 协议
协议信息
OSPF:开放式最短路径优先协议 无类别链路状态型路由协议
公有协议;跨层封装到IP报头,协议号89; 组播更新:224.0.0.5 224.0.0.6
触发更新、周期更新(30min);
需要结构化的部署:区域划分 地址规划
数据包
Hello:用于邻居、邻接 发现、建立、保活 hello time 默认10s或30s
DBD:数据库描述包
LSR:链路状态请求
LSU:链路状态更新
LSack:链路状态确认
OSPF数据包结构
OSPF数据包种类
邻居状态机
- Down:一旦本地发出hello包进入下一个状态
- Init:初始化 收到的hello包若存在本地的RID进入下一个状态
- 2way:双向通讯 邻居关系建立的标志
条件匹配:点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态;
- Exstart:预启动 使用类似hello的DBD进行主从关系的选举,RID大为主优选进入下一状态
- Exchange 准交换 使用真正的DBD进行数据库目录的共享,需要使用ACK确认
- Loading 加载 使用LSR/LSU/LSAck来获取未知的LSA信息;
- Full转发 邻接关系建立的标志
OSPF协议工作过程
- OSPF协议启动后,A向本地所有启动了OSPF协议的直连接口组播224.00.5发送hello包;本地hello包中携带本地的全网唯一的router-id;
之后对端B运行OSPF协议的设备将回复hello包,该hello包中若携带了A的routerid,那么A/B建立为邻居关系;生成邻居表; - 邻居关系建立后,邻居间进行条件匹配,匹配失败就停留于邻居关系,仅hello包周期保活;条件匹配成功可以开始建立邻接关系:
- 邻接间共享DBD包,将本地和邻接的DBD包进行对比,查找到本地没有的LSA信息目录;
- 之后使用LSR来询问,对端使用LSU应答具体的LSA信息,之后本地再使用ack确认,可靠;该过程完成后,生成数据库表;
- 再之后本地基于数据库表,启用SPF选路规则,计算到达所有未知网段的最短路径,然后加其加载到本地的路由表中;收敛完成,hello包周期保活,每30min再周期收发一次DBD来判断和邻接间数据库是否一致
结构突变
1、新增网段 直连新增网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认
2、 断开网段 直连断开网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认
3、 无法沟通 dead time 为hello time 的4倍;当dead time到时时,断开邻居关系,删除通过该邻接生成的路由协议;
区域划分规则
1、星型拓扑结构,区域0为中心骨干区域,其他大于0为非骨干站点区域;
2、必须拥有ABR–区域边界路由器
OSPF基础配置
[r2-ospf-1]area 0 先进入区域,之后再该区域内宣告属于该区域的接口,宣告时必须携带反掩码
[r2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]q
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]network 23.1.1.1 0.0.0.0