OSPF---open shortest path first--开放式最短路径优先协议(动态路由协议三)

OSPF:open shortest path first–开放式最短路径优先协议(RFC2328)
无类别
链路状态协议
适用范围:IGP协议;
跨层协议—封装到3层,协议号89;
组播更新:224.0.0.5/6;
支持等开销负载均衡,默认4条最大6条;IOS版本12.4以上16条;
支持触发更新、周期更新(30min);
需要结构化的部署—区域划分、地址规划:
目的是减少(LSA链路状态通告)更新量和扩散范围
LSA中存在路由信息(携带网络掩码)和拓扑信息(不携带网络掩码)
LSA种类:1 2 3 4 5 7
OSPF非常消耗路由器资源:一台路由器最多启动31个OSPF

OSPF的状态机:
Down:关闭状态
若发送了hello报文,在一个dead时间之内没有收到对方发送的hello报文
在更高级状态出现了故障会返回down状态
注意:在down状态下不能主动发送hello报文直接收到对方发送的hello报文;但是若接口网络类型为NBMA,则发送hello报文(间隔为pollinterval轮训时间默认为120s)
Attempt:尝试状态,在NBMA网络类型下,主动发送hello报文(具有成为DR资格的路由器)可以接收hello报文。进入尝试下,使用hello时间30s代替原来的pollinterval轮训时间120s
只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送hello报文
Init初始化:初始化状态,接收到了没有包含自己router-id的hello报文
Two way:双向通信状态,也称邻居状态双方互相收到包含自己的router-id的hello报文(发送 的hello报文中会包含该接口所有验证通过的对端router-id,不一定是P2P)这个状态 下会进行DR选举
条件匹配:点到点网络直接进入下一状态;MA网络将进行DR/BDR选举(40S),非DR/BDR间不得进入下一状态;
在邻居状态进行DR/BDR选举:
最大的DR的优先级
最大的router-id
在MA网络类型下必须选举DR:在Two way状态下进行
DR/BDR选举都是非抢占的
DR选举时间默认在40s之内完成(就是wait时间)
注意priority使用默认是1,范围是0-255,若为0,意味着不参与选举
DR/BDR是接口概念(在hello报文中的DR/BDR字端包含的是DR的接口IP)

在MA网络,所有路由器发送数据包(hello除外)发送至224.0.0.6,DR/BDR都接收,DR路由器将LSA信息发送至224.0.0.5
Exstart预启动状态:开始交互DBD(用于主从选举),协商MTU
主从选举DBD不包含LSA信息
主从选举规则:最大的router-id,主用于控制LSA交互(交互的速度等)保证双方没有进行确认。MTU不一致会卡在Exstart状态,在MTU小的一方敲r1(config-if)#ip ospf mtu-ignore
Exchange准交换状态:主从选举完成,发送LSA头部信息进入同时进行隐式确认,并且使用真 正的DBD包来共享数据库目录;需要ACK确认;
Loading加载:使用LSR/LSU/LSack来获取未知的LSA信息;LSR过来会回复LSU,然后还会把LSU中的信息防止重传列表中(怕丢失),等待下一个传输完成再删除重传列表里的信息
Full转发:邻接关系建立;(对端邻居,产生的请求列表和重传列表都清空,意味着LSDB同步 完成)
DBD数据包中有序列号,LSR/LSU没有,靠LSA的三个信息确认(类型ADV link-id)

OSPF的网络类型和接口类型:
网络类型:hello time 选举DR/BDR等信息
接口类型:硬件设备

干涉选举:
修改DR优先级最大,BDR次大;
r1(config)#interface fastEthernet 0/0
r1(config-if)#ip ospf priority 3 修改参选接口的优先级
注:DR/BDR选举非抢占,保障网络的稳定性;
故修改优先级后必须,重启所有设备的OSPF进程;

修改DR优先级最大,BDR次大;其他设备修改为0,不参选;不需要重启设备的OSPF进程; 切记,不得所有参选接口均为0,将没有邻接关系,导致网络无法收敛;

OSPF邻居关系的建立条件:
router-id不同
area-id相同
Hello,dead时间相同
认证类型,认证数据相同
特殊区域标识相同
双方网络掩码一致(MA网络可以不一致)
这里写图片描述

OSPF的工作过程:
启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表;再与邻居进行条件匹配,匹配失败者间将周期仅hello包保活即可;
匹配成功者间建立成为邻接关系,这种关系间,将先使用DBD共享数据库目录,然后再使用LSR/LSU/LSack来获取未知的LSA信息;当获取到所有的LSA后,本地生成数据库表;
之后本地基于数据库表,计算到达所有未知网段的最短路径,然后将其加载于路由表中;
收敛完成后,hello包周期保活;每30min周期再使用DBD进行比对,若不一致将使用LSR/LSU/LSack来同步;
结构突变:
新增、断开—直连新增或断开网段设备,将向所有邻接发送DBD;之后邻接正常收敛
无法沟通—计时器到时时,断开邻居关系,删除数据库;之后尝试重新建邻;

注解:
LSA –链路状态通告—存在多个类别;不同类别携带不同条件下产生拓扑或路由信息;
LSDB–链路状态数据库—所有LSA的集合—数据库表
OSPF的整个收敛过程被称为—LSA洪泛,LSDB同步

在邻居关系建立过程出现故障排除:
卡在init—-hello包协商失败
卡在two way—-在MA网络不能生成DR
卡在exstart—-MTU不一致
卡正loading—-LSDB不能同步
卡在attempt—-NBMA网络中指定错误邻居地址

设置路由器接收LSA数量最大值,不能使LSDB同步,导致进入loading
这里写图片描述

配置:
r1(config)#router ospf 1 启动时需要配置进程号,仅具有本地意义;
r1(config-router)#router-id 1.1.1.1 RID,全网唯一;手工–环回接口最大值–物理接口最大值
宣告:1、激活 2、拓扑或路由 3、区域划分
r1(config-router)#network 1.1.1.1 0.0.0.0 area 0
r1(config-router)#network 12.1.1.1 0.0.0.0 area 0
必须携带反掩码 区域划分

OSPF的区域设计:
区域标记设计:area 或者类似于IP地址标记
OSPF区域分类
OSPF区域设计原则:
必须存在唯一的骨干区域,单区域例外
若存在非骨干区域,必须与骨干区域相连
OSPF路由器角色:骨干路由器(ABR–能够产生3类LSA的路由器,ASBR–能够产生5类或者7类LSA的路由器),非骨干路由器

当启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表;
Hello– hello time 10s 或30s dead time为 hello time的4倍;

r2#show ip ospf neighbor 查看邻居表
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 0 FULL/ - 00:00:30 12.1.1.1 Serial1/0
3.3.3.3 0 FULL/ - 00:00:32 23.1.1.2 Serial1/1
状态机

当邻居关系建立后,邻居间进行条件的匹配;匹配成功者间,将使用DBD来或进行主从关系选举,以及进行数据库目录的共享;
DBD包:数据库描述包 在exstart状态时不携带拓扑目录信息,仅进行RID的比较;
在exchange状态时才真正进行拓扑目录共享;

DBD包中携带MTU值,邻居关系间若MTU值不一致,将无法完成邻接关系的建立;
在exstart状态时,使用了隐性确认来进行可靠保障;从使用主的序列号,来确认接收到了主的DBD;

当DBD包收发完成后,邻接间使用LSR/LSU/LSack来获取未知的LSA信息;生成LSDB–数据库表;由各种类别的LSA组成;
r2#show ip ospf database 查看数据表目录

当数据表建立完成后,本地基于SPF最短路径选路规则;将到达所有未知网段的最短路径加载于路由表中;
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
使用字母O标示本地区域内的路由—本地通过拓扑计算所得
使用字母O IA标示域间路由—其他区域的路由信息,ABR导入
使用字母O E1/2 标示其他协议或进程产生的路由—ASBR重发布进入
使用字母O N1/2标示其他协议或进程产生的路由—ASBR重发布进入;同时本地处于NSSA区域;

管理距离为110;度量为cost值=开销值=参考带宽/接口带宽
默认参考带宽为100M;选择整段路径cost值之和最小路径;
若参考带宽小于接口带宽,cost值取1;可能导致选路不佳,建议修改参考带宽:
r1(config)#router ospf 1
r1(config-router)#auto-cost reference-bandwidth ?
1-4294967 The reference bandwidth in terms of Mbits per second
注:所有设备参考带宽必须一致;

OSPF存在计时器:
hello dead wait默认值为10 40 40 或者 30 120 120 (NBMA网络)
修改hello time影响dead
修改dead时间不影响hello时间
Hello时间和dead时间的修改都会影响邻居关系的建立
Wait时间(不能调整)永远与dead时间一样

2.重传时间,默认为5s
Retransmit重传时间,到邻居关系down(与EIGRP不同)
修改重传间隔:
r1(config)#int s1/1
r1(config-if)#ip ospf retransmit-interval 10

3.transmit delay:默认为1s,传输延时,代表着LSA通过接口传出去时增加的延时,为了保证不同路由器上LSA age一致
r1(config)#inteface s1/1
r1(config-if)#ip ospf transmit-delay 2

三、邻居成为邻接关系的条件:
基于网络类型来决定;点到点和MA
在点到点网络中,邻居关系必然成为邻接关系;
在MA网络中,若全为邻接关系,将出现重复更新,而OSPF协议工作时需要邻居间进行信息的比对,故不能使用水平分割; 最终选择–DR/BDR选举;
OSPF的水平分割机制—–从一个区域发布到另一个区域的路由不能发回;

DR/BDR选举的意义:所有非DR/BDR间不得建立邻接关系,所有设备与DR/BDR沟通来实现LSDB同步,避免重复更新;

OSPF认证方式:
区域认证
链路认证
虚链路认证
明文认证和MD5认证

若MD5认证存在多个KEY,使用最后一个KEY做密码

auth-type:无认证—0,明文认证—1,MD5认证—2

认证信息在所有的数据包头部都会携带

香蕉味的安慕希酸奶°

猜你喜欢

转载自blog.csdn.net/qq_42197548/article/details/82053477