目录
一:开放式最短路径优先协议
二:OSPF的数据包
三:ospf的状态机
三:OSPF的工作过程
四:关于OSPF协议从邻居建立成为邻接的条件
五:OSPF的接口网络类型
六:OSPF的不规则区域问题
七:OSPF的数据库表
八:OSPF的优化【减少LSA的更新量】
九:OSPF的拓展配置
十:OSPF的扩展知识点
开放式最短路劲优先协议(OSPF)是广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。
无类别链路状态型IGP协议:
由于其给予拓扑进行更新收敛,故更新量会随着拓扑的变大而成指数上身,故OSPF协议为能在大、中型网络中运行,需要结构化的部署---合理的区域划分、良好的地址规划【一个区域汇成一个路由】
特点:正常等开销负载均衡;跨层封装协议, 协议号是89;更新方式是组播方式(224.0.0.5 224.0.0.6);触发更新+周期更新
距离矢量DV |
链路状态LS |
RIP EIGRP |
OSPF ISIS |
邻居间共享路由条目 |
邻居将传递的是拓扑 |
传闻性协议 |
本地计算路由 |
防环,其次最短路径 |
LSA:链路状态通告(链路状态拓扑)
链路工作状态地缺点:消耗资源大
EIGRP在以下防面都具有,但是是纯私有协议,要全思科的才能用
三方面判断路由协议的好坏:
OSPF具有5种数据包:分别是:hello包、DBD、LSR、LSU、和LSack。
即只得是两台OSPF路由器间的不同关系的阶段。同时他包括以下的状态:
down:只要接收到对端发送的hello包,就进入到下一阶段。
init:初始化,如果接收到的hello包中含有本地发得RID(请求ID),那么进入下一个状态机。
2way:双向通讯,即邻居关系建立的标志
建立条件:点到点的网路直接进入下一个状态机。MA网络进行DR/BDR选举,非DR/BDR之间不能进入下一个状态机
exstart:预启动,使用不携带数据库目录信息的DBD宝,进行只从关系的选举,以RID数值大为主,数值大的可以优先进入下一个状态机。
exchange 准交换:使用携带数据库目录信息的DBD包,进行目录共享,需要ACK确认
loading 加载:接收到其他邻接的目录信息后,和本地进行比对,如果本地存在未知的LSA信息,将使用LSR询问对端,对端使用LSU来更新这些LSA信息,直至两方的数据库一致;
full 转发:标志着邻接关系已经建立成功。
邻居关系建立后,邻居间将进行条件匹配,匹配失败将停留为邻居关系,仅hello周期保活即可;匹配成功者间将进行邻接关系的建立;
邻接关系间的路由器,将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息;使得同一区域内所有路由器的数据库完全一致;也就是数据库表;
当本地数据库完成同步后,将数据库、有向图、树型结构图、以及将本地到达所有未知网段的最短路径加载于本地路由表中;
收敛完成,仅hello包周期保活即可;正常每30min,邻接关系间再进行一次DBD的对比,若一致及正常;若不一致将马上进行同步;
邻居建立成为邻接的条件是根据网路类型决定的。
在点到点的网路中,所有的邻居关系都会成为邻接关系。
在MA网络中,从邻居到邻接前将利用一个周期的dead time进行DR/BDR选举,优先比较这些参选接口的优先级,优先级默认为1,他的取值范围是从0到255,0标识不参见选举。DR优先级最大,BDR其次。选举不是抢占,所以如果希望干涉选举,需要重启OSPF进程,或者将非DR/BDR修改为0.
OSPF协议在不同的网络类型中,工作方式也不同。
网络类型 | OSPF接口网络类型(工作方式) |
LookBack(环回接口) | P2P,没有hello包,环回使用32位主机路由 |
点到点 | p2p,hello包的事件是10s,不选举DR/BDR |
BMA(以太网) | broadcast,hello包的时间是10是,选举DR/BDR |
NBMA | p2p,hello包时间是10s,选举DR/BDR |
因此在MGRE上使用ospf时,默认工作方式位P2P,这种工作方式会直接建立邻居关系,且只能建立一个邻居关系,所以无法正常工作。
此时需要修改Tunnel接口的ospf工作方式
[r1]interface Tunnel 0/0/0 [r1-Tunnel0/0/0]ospf network-type broadcast
如果修改,则需要将MGRE内所有的接口修改为broadcast
MGRE可以构建不同的拓扑结构:
解决方案:
1. tunnel在骨干区域与非法ABR间建立一条隧道,然后将该速到链路宣告到OSPF协议中;
缺点:周期的hello与更新(包括触发更新)将一直占用中间穿越区域;选路不佳;
2. OSPF的虚链路:由非法ABR设备,通过直连区域的合法ABR进行授权,来至案发路由。由于没有新增链路,所以不存在选路不佳的问题
缺点:虚链路上的两台ABR间的舟曲资源占用问题;
思科中,取消两台设备的周期行为,hello、更新均首发一次,不可靠
华为中,保留周期占资源
3. 多进程双向重发布
OSPF多进程:一台路由器上的多个进程,每个进程拥有自己的数据库,独立计算路由条目,且计算所有不共享,最终将所有最佳路径加载于同一张路由表中。路由去的一个接口只能g工作在一个进程中。
可用于结局不规则区域,将不规则位置工作不同的进程中,实现分开,之后利用重发布技术来共享路由表,解决了选路不佳和资源占用的问题。
display ospf lsdb
查看lsdb目录
display ospf lsdb router 2.2.2.2
查看具体的某条LSA信息
OSPF协议在不同的条件下,会使用不同类型的LSA来传输拓扑或路由信息。
所有类别LSA都携带的信息。
Type:类别名
LinkState ID:页码号
Adv rtr:通告者,该条LSA发出起源设备的RID
Ls age:老化时间,正常1800s周期归0,触发归0 ;最大老化 3609s
Len:长度
Options:
Seq#:序列号:
直线序列号,最大更新为100,100之后就没有了
循环序列号,到100后进行更新,继续重1开始。【缺点:如果调数的话,他没有办法判断是新的还是旧的】
棒型序列号:将循环过的设置为正值,新来的为负数。同样最大的数是100
chksum:校验和码
LSA类别 |
传播范围 |
通告者 |
携带的信息 |
LSA1 Route |
单区域,本地所在区域 |
单区域内的所有路由器 |
本地直连拓扑 |
LSA2 Network |
单区域,本地所在区域 |
DR |
单个MA网段的拓扑 |
LSA3 summary |
整个OSPF |
ABR |
域间路由条目 |
LSA5 ase |
整个OSPF |
ASBR |
域外路由条目 |
LSA4 asbr |
除ASBR所在区域外的整个OSPF域 ASBR所在区域基于1类获取ASBR的位置 |
与ASBR在一个区域的且直连区域0的ABR |
ASBR所在位置 |
LSA7 nassa |
单个NSSA 区域内 |
ASBR |
域外路由条目 |
LSA类别 |
LINK-ID |
通告者 |
LSA1 Route |
通告者的RID |
单区域地方所有路由器 |
LSA2 Network |
DR接口的IP地址 |
没分MA网段内的DR |
LSA3 summary |
遇见路由的目标网络号 |
ABR,在经过下一台ABR时,修改 |
LSA5 ase |
域外路由的目标网络号 |
ASBR |
LAS4 asbr |
ASBR的 |
ASBR,在经过下一台ABR时,修改 |
1.汇总:减少骨干区域的路由条目数量
OSPF不支持接口汇总,在一个区域内,邻接间传递的是拓扑信息,不能进行汇总;故只能在交互路由的边界设备进行汇总
1)域间路由汇总--在区域间的ABR上,交互区域间路由条目时进行汇总配置
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]abr-summary 3.3.0.0 255.255.252.0
2)域外路由汇总---ASBR在将外部的路由条目通过重发布协议,共享到OSPF协议中时;
[r4]ospf 1
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
2.特殊区域:用于间少各个费骨干区域的LSA数量(不能为骨干区域,不能配置虚链路)
1)同时不能存在ASBR
a.末梢区域:拒绝4/5类的LSA,由该区域连接骨干区域的ABR向该区域发布一条3类的缺省
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub
b. 完全末梢区域:在末梢区域的基础上,进一步拒绝3类的LSA;仅保留一条3类的缺省路由,先将整个区域所有路由器配置为末梢区域;然后仅再在连接骨干区域的ABR上配置完全即可。
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub no-summary
2)存在ASBR
a. NSSA 非完全末梢区域 -- 该区域将拒绝4/5类LSA,由该区域连接骨干区域的ABR向该区域发布一条7类的缺省路由;该区域内的ASBR导入域外路由时,基于7类导入,之后通过该区域连接骨干的ABR传递到骨干区域时,转换为5类进入骨干区域;NSSA设计的重点,不是减少该区域内ASBR产生的域外路由,而是网络中其他部分的ASBR产生的域外路由;
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa
b.完成NSSA --- 在NSSA的基础上,进一步拒绝3类LSA的进入,由该区域连接骨干区域的ABR向该区域发布一条3类的缺省。先将该区域配置为NSSA区域,之后仅在该区域连接骨干的ABR上配置完全即可
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa no-summary
认证 :在直连的邻居或邻接之间,配置身份核实秘钥来保障邻居、邻接间数据沟通的安全性
1)接口认证:在直连连接的接口配置(两端的模式,编号,秘钥必须完全一致)
[r6-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
2)区域认证:将该路由器所属区域的接口全部进行认证
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456
3)虚链路认证
[r10-ospf-1-area-0.0.0.4]vlink-peer 9.9.9.9 md5 1 cipher 123456
沉默接口:用于路由器连接PC终端设备的接口,这些接口为全网可达,会在路由协议中被宣告;故这些接口也会周期向下方的终端发送路由协议信息,造成资源占用,及安全问题;故这些接口需要关闭发送RIP/OSPF等协议数据包行为--沉默接口(被动接口)
[r2]ospf 1
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
加快收敛:通过修改邻居间hello 和dead time,可以实现加快收敛,但频率过高后也会占用更多硬件资源;故hello time为10s时,不太建议再加快; hello time 为30s时可以酌情修改;邻居间的hello time和dead time 必须完成一致,否则无法建立邻居关系。
[r2-GigabitEthernet0/0/0]ospf timer hello 10
缺省路由:
1)3类缺省 特殊区域自动产生;末梢、完全末梢、NSSA、完全NSSA
末梢、完全末梢、完全NSSA这3中特殊区域,会在配置完成后,由该区域连接骨干区域的ABR向该区域内部发送;在华为设备中,NSSA和完全NSSA,会在配置完成后,由该区域连接骨干区域的ABR向内部发布7类的缺省路由;因此完全NSSA将拥有3类和7类两种缺省,内部优于外部,故信任3类;
2)5类缺省:外部路由,重发布产生
本地路由器的路由表中,存在任意方式产生的缺省路由后,通过专门的指令,将其重发布到OSPF协议中;
将本地路由表中通过其他方式获取的缺省路由,重发布到内部的OSPF协议中
默认导入类型2路由
[r9]ospf 1
[r9-ospf-1]default-route-advertise
强制重发布缺省路由--即便本地路由表中没有缺省路由,
也强制向内部发布一条缺省路由 默认导入类型2路由
[r9-ospf-1]default-route-advertise always
修改为类型1;
[r9-ospf-2]default-route-advertise type 1
3)7类缺省 : NSSA或完全NSSA,自动由该区域连接骨干的ABR发出,但在完全NSSA中还会产生3类缺省,故完全NSSA中7类缺省无意义,默认5类一样也是类型2。
若一台设备同时学习到的多条不同类别的缺省路由:内部优于外部,所以3类优于5/7若均为5类 或均为7类 类型1优于类型2 类型相同,比较优先级,优先级相同比较cost值,完全一致负载均衡;若5、7类相遇,类型1优于类型2;类型相同,比较优先级,优先级相同比较cost值,完全一致5类优于7类;