OSPF
协议本身
详细资料OSPF思维导图
OSPF(Open Shortest Path First,开放式最短路径优先协议) 基于SPF(最短路径算法)所开发,是一个链路状态型路由协议,路由与路由间所传为拓扑状态,无类别协议,更新时携带子网掩码;组播更新地址为224.0.0.5/6。但是需要结构化部署(区域划分、地址规划)区域内传拓扑,区域间传路由。
5种数据包
- hello包—用于发现、建立、维持、周期保活邻居关系
- DBD包(数据库描述包)—本地数据库
- LSR(链路状态请求)—收到邻居DBD后查询其他未知信息
- LSU(链路状态更新)—回答邻居的LSU并分享本地LSA的信息
- LSack(链路状态确认)
7个状态机
- down—本地发出hello包进入下一状态
- lint—接收到存在本地router-id的hello包后,进入下一状态
- 2way—邻居关系建立,点到点网络直接进入下一状态,MA网络进行DR/BDR选举,DRother不进入下一状态
- Exstart—发送类DBD包进行主从选举,router-id大进入下一状态
- Exchange—使用真正的DBD包,进行数据库目录的共享,需要ACK确认
- Loading—使用LSR/LSU/lsack获取未知拓扑信息
- Full—邻接关系建立
起初本地为down状态,一旦本地发出hello包就进入lint初始化;接收到hello包后,若存在本地的RID,则进入2way状态;2way双向通信标志着邻居关系的建立(条件匹配:点到点网络直接进入下一状态,MA网络将进行DR/BDR的选举 DRother不得进入下一状态)Exstart预启动:发送类hello的DBD包进行主从关系的选举,RID数字大的为主优先进入Exchange准交换状态;准交换状态使用真正的DBD包进行数据库目录的共享,需要ack来进行确认,确认完毕进入Loading加载状态;加载状态使用LSR/LSU/LSack来获取未知的lsa信息,获取完毕进入full转发状态;转发状态标志着邻接关系的建立
6类LSA
类别 | 传播范围 | 通告者 | 携带信息 |
---|---|---|---|
LSA1router | 本区域 | 该区域所有路由器 | 本地直连拓扑 |
LSA2network | 本区域 | DR | MA部分网络拓扑 |
LSA3summary | 本区域 | ABR | O IA域间路由 |
LSA4asbr-summary | 除ASBR外其他区域 | ABR | ASBR的位置,所在区域用LSA1告知 |
LSA5external | 整个OSPF区域 | ASBR | OE域外路由 |
LSA7nssa-external | NSSA区域 | ASBR | ON域外路由 |
类别 | Link id | 通告者 |
---|---|---|
LSA1router | 通告者的RID(直连信息) | 本区域所有路由器 |
LSA2network | DR的接口IP地址 | DR |
LSA3summary | O IA路由目标地址(域内路由) | ABR,经过一个ABR 会修改 |
LSA4asbr-summary | ASBR的RID(位置) | ABR,经过一个ABR 会修改 |
LSA5external | OE路由目标地址(域内路由) | ASBR |
LSA7nssa-external | ON路由目标地址 | ASBR |
工作过程
启动配置完成后,本地使用组播发送hello包到所有邻居处,若收集到其他邻居的hello包,那么建立邻居关系,生成邻居表;
和所有邻居间进行条件匹配,若失败将停留于邻居关系,仅hello包周期保活即可;
若匹配成功,将建立邻接关系;邻接关系间将使用DBD/LSR/LSU/LSack来获取未知的LSA信息;当收集齐所有的LSA信息后,本地生成LSDB–链路状态数据库—数据库表;
再本地基于LSDB计算到达所有未知网段的最佳路径,然后将其加载到路由表中;
不规则区域的解决方法
- tunnel —在两台ABR上创建tunnel,然后将其宣告到OSPF协议中
缺点:选路不佳且周期hello和更新均对中间区域进行影响 - 虚链路—OSPF自带,在两台ABR上配置,使未连接骨干的ABR得知骨干的存在,之后将域间路由进行交互;取消周期的更新和邻居保活
优点:选路佳、占用中间区域资源少;
缺点:不可靠 - 多进程双向重发布,不同的进程拥有不同的RID和数据库,不同进程间的数据库是不共享的;且计算所得路径同时放置于路由表中;若多个进程同时工作于一个接口,那么仅最先工作进程生效## ospf的优化
ospfLSA的优化
-
优化非骨干区域
【1