全网最详解答OSPF基础

打印 上一主题 下一主题

主题 1005|帖子 1005|积分 3015

目录
此图片为思科的(有些地方不对)
总结状态机:
OSPF的工作过程:
布局突变
1 突然新增一个网段--触发更新
2 突然断开一个网段--触发更新
3 无法通信---dead time
OSPF的配置
​编辑条件匹配:
​编辑1,指定路由器---DR
2,备份指定路由器---BDR
3,DR/BDR的推举规则
4,总结
 OSPF协议号---89
OSPF的头部:
Hello包 :


此图片为思科的(有些地方不对)


留意:在华为中
 一般是组播,去发送hello包,不会unicast(单播)去发送

Two--Way状态---表示邻居关系的建立---就是在B给A发消息的过程之中,A看到了B的数据包中有A的数据包(就是Hello包内里有A的router-id),所以就进入了Two--way状态
然后,进入邻居关系后,这之间会有一个条件匹配的过程,如果能够完全匹配则进入到下一个状态,如果匹配不上,则不停保持着邻居状态,仅仅使用Hello包周期保活即可
匹配成功后:
 这里可以看到他们进入了exstart状态,并且在争着进入到下一个状态---他们在比较routerid的巨细,那为什么他们会争着进入下一个状态呢?哦,原来是下一个阶段他们要进入到exchange的状态,一个交换信息的过程,要开始真正的发送数据了,那为什么不他们一起进入下一个阶段?
---数据资源占用的问题,会占用大量的LSA资源---错峰发送--淘汰LSA信息,淘汰资源占用--、
Estart状态--这里会有一个主从关系推举的过程
1,通过RID进行主从关系的推举,RID大的为主,为主可以优先获得LSA的信息---华为设备
像我的图中可以看到B的RID更大,但是是他先向A发送LSDB,这里和华为是反着的--思科
2,DBD包是通过隐性确认---不是用ACK确认的,为主的可以主导隐性确认 
什么叫隐性确认呢?
----他和显性的区别就是显性是通过ACK来发确认包的,隐性就是如果A(主)给B(从)发送数据包时,会携带seq(序列号),发送给B,然后B会回一个相同的seq给A(B不能主动给A发消息,就是如果B有什么变化了,B也不能主动给A发,只有等A发过来,B将信息带进去)


思考一下:为什么这里要用DBD而不消HELLO(因为都是带的RID)----重要就是标识了我们现在已经是邻居关系了,而不是之前什么都不熟悉的阶段----这里使用未携带数据的DBD包重要就是为了区分和之前的邻居关系
Exchage状态:交换摘要信息
Loading---留意这里没有ACK对于华为来说这是错误的,不会去进行显性应该是隐性

FULL状态---标志着邻接关系的建立--邻接关系的设定,是为了和之前的邻居关系区分,邻居是单纯用Hello保活,只有邻接才发LSA信息

总结状态机:

DOWN--启动OSPF,发送Hello包进入下一个状态
init状态(初始化):收到的Hello包中有本地的RID,则进入下一个状态
Two-way--双向通信状态---标志着邻居关系的建立
(条件匹配?)匹配成功则进入下一个阶段,匹配失败,则保存在邻居关系,仅使用Hello包进行周期保活
Exstart(预启动状态):使用未携带数据的DBD包进行主从关系的推举,为主的可以优先获取LSA的信息;
EXCHANGE状态(准交换的状态):使用携带数据的DBD包共享目录信息
LOADING---使用LSR,LSU,LSACK包获取未知的LSA信息
FULL--标志着邻居关系的建立
OSPF的工作过程:

启动配置完成后,0SPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包,hello包中包含本地的RID以及自己已知的邻居的RID。之后,将网络到的邻居关系记载在一张表--- 邻居表。邻居表建立完成后,将进行条件匹配;如果失败,则停顿在邻居关系,仅使用hello包进行周期保活。如果匹配成功,则开始建立邻接关系。首先使用未携带数据的DBD包进行主从关系推举,之后使用携带数据的DBD包共享目录信息。之后,本地使用LSR/LSU/LSAck包获取未知的LSA信息。完成本地数据库的建立---LSDB ---数据库表。
最后,基于本地的链路状态数据库,天生有向图及最短路径树,之后,盘算出到达未知网段的路由信息。将天生的路由信息加载到本地的路由表中。
 收敛完成之后,OSPF依然会每10秒发送一次数据包进行一次周期保活,每30MIN进行一次周期更新。
布局突变

1 突然新增一个网段--触发更新

会立刻变更信息,会立刻将变更信息通过LSU包通报出去,需要ACK确认
当我以下面的(ospf配置)为例:突然在R1上增加一个L1的换回地点


2 突然断开一个网段--触发更新

立刻发了一个LSU包更新,然后发送ACK进行确认
就是将OSPF的宣告直接去掉就行

3 无法通信---dead time

OSPF的配置


1,启动OSPF进程:
[R1]ospf 1 router-id 1.1.1.1
2,创建地区:
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]
3,宣告:
1,激活接口
2,发布路由
[R1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0--- 反掩码(由连续的0和1构x成,这里0代表不可变,1代表可变)---精准宣告
[R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255---网段宣告
配置完成后,详细说一下内容:
查看邻居表:[R1]display ospf peer 

 :华为设备默认不开启MTU的检测值
看邻居表的摘要信息:
  1. [R1]display ospf peer brief
复制代码

 查看数据库表:
  1. [R1]display ospf lsdb
复制代码
 睁开一条LSA信息
[R1]display ospf lsdb router 2.2.2.2

 华为体系下OSPF的默认优先级为10 
cost=参考带宽 / 真实带宽  ---华为体系下参考带宽默认是100Mbps

当我们的参考带宽为100时,按照上面的盘算上面的速率快但是 算出来的效果却是上面为1(盘算方式,小于1,取1,大于1,直接取整数部门),那么上面的cost=3 下面为2,但是明显上面的速率会更快,所以我们需要修改带宽
[R1-ospf-1]bandwidth-reference 1000

如果一个改了,所有设备都得改参考带宽,都的修改为一样的,这是一个评判标准
条件匹配:



首先看一下,如果在此图内里R1-R4都是处于一个邻接的状态,R5跟R2是邻接的状态,如果此时在R1的上行链路有一个设备断了,就会引发触发更新,这时,就会将LSU发给自己的邻接,如果都是像上图那样(蓝色线为邻接关系),R1就会告诉R2,R3,R4,R5,但是因为此时R2跟R3--R5也是邻接关系,那么他也将发送LSU,那么将会有大量的LSA信息发给链路上所有的邻接设备,导致资源更新多,而且我OSPF协议原来资源占用也多,这样,就会有更多更大的资源更新。所以我们就需要条件匹配来去掉一部门邻接关系
所以就砍掉R2,R3,R4之间的邻接关系
1,指定路由器---DR


2,备份指定路由器---BDR

3,DR/BDR的推举规则

1,比较优先级--大的为DR,次大的为BDR,所有接口的优先级为1
修改优先级的办法
[R1-GigabitEthernet0/0/0]ospf dr-priority ?
  INTEGER<0-255>  Router priority value
2,如果优先级相同,则比较RID
看一下R1的邻居表

诶?怎么DR是R1的接口?按照优先级相同的话我们应该是12.0.0.2来当DR,怎么回事呢?
原来是因为我最开始配置的时候先配的R1,当环境中没有其他设备的时候,启动ospf的时候,天然环境内里只有我一台设备,当我开启R2的时候,看到了环境中已经有DR了,那我就乖乖去当BDR---这也叫非抢占模式
那为什么要设置为非抢占模式呢?
我以为重要是为了进步网络的稳定性
首先如果在我的网络中有n台(n>=4)路由器,并且DR,BDR已经推举好了,收敛完成。如果此时有一个优先级更大,或者RID更大的设备加入到网络中,此时我的DR和BDR都要重新推举,又要重新开始发LSA的信息,让一个原本收敛完成的网络,再次变得不稳定--所以选非抢占模式
但是会有一个推举时间----等同于殒命时间(40s)
此时我们只需要重新启动进程,就可以让DR到12.0.0.2上面
下令:<R1>reset ospf 1 process 
可以看到重新开始探讨邻接关系:

再次查看peer表:

回归正常
4,总结

条件匹配 --- 在MA网络中,若所有的设备均为邻接关系,将出现大量的重复更新;所以,需要进行DR/BDR的推举,所有非DR/BDR(DROther)之间仅维持邻居关系。DR和BDR需要和其他设备之间建立邻接关系,一个MA网络中,如果DR和BDR都齐全,则至少需要4台设备才能看到邻居关系。DR和BDR其实是接口的概念。
其实DR,BDR其实是一个接口的概念

 OSPF协议号---89


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表