目录
OSPF协议
动态路由协议
定义:由运行同一种动态路由协议的路由器通过沟通协商最终计算得出的路由信息。特点:
占用资源少
收敛速度快
拓扑结构发生变化重新收敛
选择路线优
分类
-
按照范围划分
-
外部网关协议 --- EGP BGP
-
内部网关协议 --- IGP --- OSPF RIP ISIS EIGRP
-
-
根据协议本身特点
-
有类别的动态路由协议:在传递路由信息时不携带子网掩码 --- RIPv1。
-
无类别的动态路由协议:在传递路由信息时携带子网掩码。
-
RIPv1 --- 采用广播的方式传递数据包,剩下所有的协议均使用组播发送自身的数据包(IGP)。
RIPv1基于广播地址进行更新 --- 224.0.0.9
-
-
OSPF --- 开放式最短路径优先协议,隶属于链路状态路由协议(LS),每台运行了OSPF协议的设备均会共享自身的接口连接情况(LSA --- 拓扑信息),所以设备互相共享这些信息之后就可以获取到整个OSPF网络的拓扑信息,随之依靠SPF算法计算得出路由。
RIP --- 距离矢量路由协议,用于共享路由表。根据跳数来进行选择路线。注意RIP只看跳数,不看带宽,所以选路不够科学。
区别
RIP实际上只能使用在中小型网络环境,有16跳数的限制,而OSPF能够适应中大型网络环境。
OSPF为了适应中大型网络环境,采用了结构化部署的思想(区域划分),区域ID 由32位二进制组成,用点分十进制表示。
OSPF 特征
特点:
支持 等开销负载均衡
基于 组播地址 进行更新 ---- 224.0.0.5 / 224.0.0.6
支持 触发更新:每 30min 进行一次 周期更新
需要 结构化 的部署 ---- 区域划分 地址规划
相同区域传递拓扑,不同区域传递路由。
区域划分的规则:
区域之间必须存在ABR域间路由器
ABR域间路由器:同时属于两个区域的设备。一台ABR可以同时属于 多个区域。
必须按照星形拓扑结构部署,一般把OSPF的中间区域称为骨干区域,并且要求骨干区域的区域ID必须是0.0.0.0(area 0)。
星型结构:0区为 骨干区域,大于0 则为非骨干区域;所有非骨干区域必须接入到骨干区域上。
必须要有 ABR 域间路由器:两个区域相连时,必须存在 ABR,ABR 同时工作 在两个区域上。
OSPF网络如果进行了区域划分,这样的网络称为多区域OSPF网络,如果没有进行区域划分称单区域OSPF网络。
Router-ID
RID(Router-ID 路由器标识符),用于一个 OSPF域 中 唯一的标识 一台路由器(取名)。运行了OSPF的路由器设备为了区分和标识不同的路由器身份设计的路由器编号,本质是32位二进制,用点分十进制表示。
获取方式
-
手工配置
由工程师自行手工配置,符合要求即可(IP地址格式不能重复,全网唯一)。
-
自动生成
设备会选择自身环回接口数值最大的(环回接口的最大数值)作为自身的RID,如果设备没有配置环回会选择接口IP地址数值最大的(最大物理接口数值)作为RID。
数据包类型
介绍
HELLO 包:用于周期性的 发现建立 及 保活邻居关系,每 10s 发送一次。
周期保活:
运行了OSPF协议的路由器会以10S为周期发送HEELO报文,hello报文中会携带本设备的RID,对端收到后就可以判断本设备存活,如果40s没有收到HEELO包,就认为该设备故障,会清空从该设备收到的LSA。
OSPF的计时器:
hello时间默认是10s/30s。
Dead-time死亡时间默认是hello时间的四倍。
DBD/DD 包:数据库描述包,用于携带 本地数据库目录(数据库中收集到的LSA信息的摘要值)。
LSDB:
链路状态数据库,用于存储收集到的LSA信息。
LSA:
链路状态通告,用于在OSPF域内的路由器之间交换网络拓扑信息,以建立并维护网络拓扑表。
LSR 包:链路状态请求包,在查看完 对端邻居的 DD 包 后,基于 本地的位置 查询 LSA,随后去 索要未知的 LSA 信息,就通过这个 LSR 包。
LSU 包:链路状态更新包,用于携带 各种 LSA 信息。
LSACK 包:链路状态确认包,用于确认 接收到 对端的信息。
OSPF状态机
Down 状态:表示未激活的状态,一旦 本地发出 hello包,则进入下一个状态,接收到 hello包后,也会 被动进入 Init 状态。
Init 状态:表示初始化状态,发出 或者 接收 到 hello 包 都会进入到 Init 状态。
Two-way/2-way 状态:双向通信,表示建立了邻居关系;经过 条件匹配,成功则进入下一个状态机,失败则停留在 2-way 状态。
Ex-start 状态:预启动状态,发出 空的 DD 包,比较 RID 的大小,进行 主从选举,以 RID 大的为主。
Exchange 状态:准交换状态,发送 有目录的 DD 包,双方交换 DD 报文,描述自己拥有的 LSA 信息。
Loading 状态:加载状态,在查看完 对端邻居 的 DD 包 后,使用 LSR 包来 询问自己位置的 LSA 信息,对端 使用 LSU 包 进行回复,本地还需要 使用 LSACK 包 进行确认回复。
Full 状态:邻接关系建立的标识,两者从 邻居关系 变为 邻接关系。
工作过程
-
2-way状态