Ospf:开放式最短路径优先协议
1.ospf的五个包和七个状态机:
1)五个包:
Hello 邻居的发现,关系的建立;周期(10s)的保活 携带rid
Dbd 数据库描述包;本地数据库目录
Lsr 链路状态请求
Lsu 链路状态更新
Lsack 链路状态确认
Lsa -链路状态,具体一条一条路由信息或拓扑信息;但它不是一个包,是被lsu数据包来携带; 采用触发更新 周期更新-30min 传拓扑更新量大。
2)七个状态机
Down :一旦接收到的hello 包,进入下一个状态机
Init 初始化: 一旦接收到的hello包中,存在本地的rid,进入下一个状态
2way 双向通讯: 邻居关系建立的标志
关注条件:DR,BDR选
Exstart 预启动: 使用不携带目录信息的DBD包,进行主从关系的选举;rid大为主,优先进入下一个状态;解决了目录共享时的无序;
Exchange 准交换:使用携带目标信息的dbd包,共享本地数据库目录;
loading加载:查看完邻接的dbd信息后,对比本地,然后基于本地未知的lsa进行查询:使用lsr 向对端查询,对端使用lsu来传输这些lsa信息,本地收到后需要lsack来进去确认;
Full :邻接关系建立的标志; 意味着邻接间,数据库同步(一致)。
2.ospf的工作过程:
启动配置完成后,邻居间开始收发hello包;hello包中将携带本地及本地所有已知邻居的rid;生成邻居表;邻居间需要关注是否可以成为邻接的条件;若不能建立为邻接,将保持为邻居关系,仅hello包周期保活即可;若可以建立邻接关系;将使用DBD进行本地数据库目录的对比;之后基于对比的结果,使用LSR/LSU/LSack来获取本地未知的LSA信息;使邻接关系间数据库(lsdb)完成同步(一致),生成数据库表;之后本地基于lsdb,使用spf算法,生成有向图—>最短路径树——>计算本地到达所有未知网段的最短路径,将其加载到本地路由表中;收敛完成;收敛完成后,邻居和邻接关系间均hello每10s保活;每30min一次邻接关系间周期数据库比对,保障一致;
3.ospf的基础配置:
ospf 1 router-id 1.1.1.1 启动时需要定义进程号,仅具有本地意义
area 0 进入对应的区域进行宣告
network 1.1.1.1 0.0.0.0 将1.1.1.1 划入区域
注:1)OSPF的区域划分规则
- 星型拓扑—非骨干区域需要连接骨干区域。
- 必须存在ABR—区域边界路由器—区域间必须存在一个边界设备。
2)拓扑结构:
1. 中心到站点(轴辐状-星型结构) DR必须定在中心站点,没有BDR。
2. 部分网状结构 基于实际环境关注是否固定DR。
3. 全连网状结构 --- DR/BDR选举正常。
4. OSPF的不规则区域:
1)远离了骨干的非骨干区域.
2)不连续骨干区域—本地学习到来自区域x的路由后,不得共享到X区域.
解决方案:
1.普通GRE,tunnel 隧道:在合法与非法ABR间使用tunnel建立一条新的逻辑链路;之后将该链路宣告到OSPF协议中。
缺点:周期的OSPF进行需要实际通过中间区域进行传递,大大增加中间区域的资源占用,选路不佳---ospf设备接收到两条去往同一网段的路由时,先关注两条路由获取的区域ID;骨干区域优于非骨干。
2. OSPF的虚链路技术:由合法的ABR对非法ABR进行授权,之后非法ABR可以进行区域间路由共享。
优点:没有建立新的通道,不存在选路不佳问题;
缺点:1.两台ABR设备间的周期信息,依然对中间照成影响---华为
2.两台ABR设备间不保活,无周期信息;即可不可靠—cisco
3. 多进程双向重发布:在非法ABR处,将不同区域的接口宣告到不同进程中,形成独立的数据库;之后使用重发布技术来实现路由共享,全网可达;不担心选路问题,资源占用问题。
该方案为最佳方案。
5. OSPF的数据库表:
Type : Router 类别名
Ls id : 1.1.1.1 link-id(页码)
Adv rtr : 1.1.1.1 通告者的RID,来源
Ls age : 723 老化时间,1秒加1;1800s周期归0,触发当下归0,最大老化3609
Len : 48 长度
Options : E 标记位
seq# : 80000016 序列号
chksum : 0x6d96 校验盒码