OSPF协议

OSPF:开放式最短路径优先协议

  1. 距离矢量型协议:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载于自己的路由表中;对于网络中的所有路由器而言,路由器并不清楚网络的结构,只能简单的知道要去往某个地方方向在哪里,距离是多远。这既是距离矢量型协议的本质。
  2. 链路状态型协议:与距离矢量型协议不同,链路状态路由协议通告的是链路状态而不是路由表。运行链路状态型协议的路由器之间会首先建立一个协议的邻居关系,然后彼此之间开始交互LSA(链路状态通告)。每台路由器都会产生自己的LSA。路由器将自己接收到的LSA信息存储于本地的LSDB(链路状态数据库)中。路由器通过LSDB便掌握了全网的拓扑信息。最后,路由器将计算出的最优路径加载于本地的路由表中。

链路状态型协议流程:

1路由器间先建立邻里关系

 

2交互链路状态信息

3算法开始计算最短路径

4生成路由表

支持负载均衡

基于组播进行更新     224.0.0.5  224.0.0.6

支持触发更新 ; 每30min周期更新一次  

Ospf的保活-----10s更新包(hello包)

需要结构化的部署---区域划分  地址规划

交互原则:相同区域传拓扑,不同区域穿路由

区域划分规则

  1. 星型结构-------骨干区域为0区,大于0为非骨干区域,所有非骨干区域必须接入到骨干区域上
  2. 两个或多个区域相邻时必须存在ABR设备(域间路由器--------同时工作在两个或多个区域间)

RID(Router-ID)的设定可以已通过手工配置的方式,或者使用系统自动生成的方式。  定义RID值,建议使用IP地址;要是不手工配置,将会自动配置环回的最大数值,若没有环回,则选择物理接口的最大数值。(建议使用手工配置)

COST值=参考带宽/接口带宽  默认参考带宽为100M  整段路径cost值之和越小越佳;若接口带宽大于参考带宽,则度量值默认为1,可能会导致选路不佳,故在接口带宽大于参考带宽的网络中,可以人为的修改带宽。一但需改就需要全网修改

  • OSPF的数据包类型
  1. hello包  用于邻居间的发现即关系的建立和保活
  2. DD/DBD包 数据可描述包 用于携带本地数据库目录
  3. LSR包  链路状态请求包  在查看完对端的DD包后,基于本地的LSDB(链路状态数据库)进行查询,随后通过LSR包去索要自己没有的LSA信息。
  4. LSU包   链路状态更新包  用于携带各种LSA信息的包

LSACK包  链路状态确认包  用于确认接收到对端的信息

  • OSPF的状态机

Down状态:表示未被激活状态    一旦发出或收到hallo包将自动激活进入Init状态。

Init状态:表示初始化状态

Two-way:表示建立了邻里关系(R1知道了R2的存在且知道R2也知道了R1的存在后才会进入这个状态)

条件匹配:在点到点网络类型中直接进入下一个状态机,在MA网络中,将进行DR/BDR的选举;所有非DR/BDR的设备间不能进入下一个状态机。

Ex-satart:预启动  使用不携带数据目录的DD包进行主从选举,RID数值大者为主,优先进入下一个状态机。

Exchange 状态:准交换  携带具体的数据库目录信息的DD包进行发送,需要ack确认

Loading状态:加载    在查看完对端的DD包后,根据本地的LSDB得出自己需要哪些LSA的完整信息,随后通过LSR包去要,LSU包去给,LSACK包去确认。

FULL 状态:转发并确认邻接关系的建立  

三:OSPF的工作过程

启动配置完成后,本地组播224.0.0.5 发出hello包;

Hello中将携带自己的RID,以及本地已知所有邻居的RID;

若接收到对端的hello包中存在自己的RID,则视为双方认识,邻居关系建立,生成邻居表。

邻居关系建立后,将进行条件匹配,匹配失败则永久停留于邻居关系,仅hello包保活即可。

若条件匹配成功,则表明可以建立邻接关系。

先使用不携带数据库目录的DD包进行主从选举,RID大者为主,优先进入下一个状态机,优先共享自己的数据库目录(为从者也会进入下一个状态机,也会共享自己的数据库目录,但是先后顺序在主的后面进入);

在接收到对端携带具体数据库目录的DD包后,基于本地的LSDB(链路状态数据库)查询自己缺少哪些LSA信息;

之后使用LSR包去索要未知LSA信息;通过LSU包去更新LSA信息,LSACK去确认收到对端的LSA信息-----------同步LSDB------生成数据库表。

之后启动本地SPF算法,基于本地的LSDB生成有向图,在计算出最短路径树,在基于树形结构算出本地到达目的网段的最短路径,加载与本地的路由表中;

收敛完成后,hello包保活即可。

每30min进行一次周期更新-----进行LSDB的对比,若一致,则继续保活即可,若不一致,将重新收敛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值