admin管理员组文章数量:1576801
特性:
- 分类:无类,链路状态协议
- 封装:ip(89)
- 更新目标地址:224.0.0.5、224.0.0.6、支持单播
- 更新方式:定时、完整
- 定时更新:30分钟
- 老化时间:60分钟
- 度量:10的8次方/沿途路由入接口带宽(bps),只计算数据出接口度量。
- OSPF区域内路由算法为链路状态,区域间路由算法为距离矢量。
链路状态协议的优点:
- 对于网络,链路状态协议了解更多。
- 每一个路由器对整个拓扑都有全面了解。
OSPF包头信息:
- 版本:V2(IPV4)、V3(IPV6)
- 类型:标识报文类型
Router ID:唯一标识一台路由器(Router-id为IPV4地址格式,仅作为名称使用)
- 建议手动指定为loopback口地址。
- 选举router-id方法:
- 手动指定
- 最大的环回口地址
- 做大接口地址
OSPF计时器:
Hello时间 | Down时间 |
---|---|
10S | 40S |
30S | 120S |
形成邻居条件:
- 区域相同
- 接口MTU需要相同
- Hello时间 down时间相同
- 特殊区域
- Router-ID不能相同
OSPF区域分两种:
- 骨干区域(area0)
- 常规区域
常规区域必须和骨干区域相连,并且所有区域间的路由必须从骨干区域学习,常规区域不能直接互传。
区域之间使用距离矢量算法(防环)
Area-ID:区域ID
ABR:区域边界路由器
ASBR:自治系统边界路由器
链路状态通告:LSA
LSA透传(沿途不变),通过SPF算法,计算路由表
选举DR、BDR
Router priority:选择DR(指定路由器)、BDR(备份指定路由器)
目的:减少冗余的更新、加快收敛速度。
仅在MA网络选择DR、BDR
二层:
P2P(点到点)
MA(多接入):
- 广播
- NBMA
选举依据:根据Hello包中的
- 优先级(默认为1)优先级为0则不参与选举。
- 优先级相同,router-id越大越优
所有路由器和DR、BDR形成邻接关系,交互LSA。DR-other之间形成邻居关系,不交互LSA。
非抢占:网络中选举DR、BDR后,在接入优先级大的路由器后,DR不会变化。
DR、BDR发送224.0.0.5、监听224.0.0.6。DR-other发送224.0.0.6、监听224.0.0.5。
修改优先级:
Router(config-if)#ip ospf priority 值
OSPF 5种报文:
Hello:邻居建立,发送初始参数
Database description(DBD):摘要信息(建立邻居时)
Link-state request:请求摘要信息中本地没有的信息
Link-state Update:发送路由更新
Link-state Acknowledgement:确认报文
OSPF邻居状态变迁(双向同时)建立状态的报文都是单播,邻居建立后发送的保持Hello为组播:
- Down状态:
宣告后进入,无任何建立状态 - Init状态:
初始状态,收到hello(组播:224.0.0.5)后从down进入初始状态,收到hello后,单播回复包含对方router id的报文。 - Two-way状态:
双向状态,互相交换hello后进入(收到包含自己router id进入),有需要时选举DR、BDR,wait时间(宣告后计时:选举DR、BDR时间,与down时间相等,hello:10,down:40,wait:40) - Exstart状态:
选完DR、BDR后进入,R1、R2发送router ID(DBD报文),选举链路上主从关系,router ID大为主,主先发送后续包。(比较MTU,一致则继续,不一致则卡在Exstart) - Exchange状态:
- R1(大)发送DBD
- R2发送隐式确认(code)
- Loading状态:
- R2发送LSR,请求DBD摘要里本地没有的路由信息。
- R1发送LSU回复update信息给R2。
- R2发送ACK确认
- Full状态:
Loading完成的状态 - Attempt:
仅存在于NBMA网络中,此状态用于邻居建立前将发送hello间隔变和DR、BDR选举时间为120s,避免浪费带宽,建立邻居后为30s。
配置:
Route(config)#router ospf 进程号
Route(config-router)#router-id 1.1.1.1
Route(config-router)#network 网络号 通配符 area 区域号
Route#show ip ospf neighbor Router-ID
Route(config-if)#ip ospf pro 优先级(默认1,0不参与选举)
Route(config-if)#neighbor 邻居地址 指定单播邻居
- 接口下:
Route(config-if)#ip ospf 进程号 area 区域号
- 修改网络类型:
Route(config-if)#ip ospf network point-to-point
LSDB:
LSA描述链路状态信息
- 通过Hello消息发现、维持邻居
- 建立邻接关系
- 与形成邻接关系的路由器之间交换LSA
- 使用LSA构建LSDB
- 根据LSDB,使用SPF算法计算,生成路由表
修改cost:
Router(config-if)#ip ospf cost 值(1-65535)
- 修改参考带宽:
Router(config-router)#auto-cost reference-bandwidth
ospf三张表:
- 邻居表:
包含邻居名单 - 拓扑表:
LSDB
包含所有路由器及所连接的网络 - 路由表:
到达目的地的最佳路径表
OSPF区域概念:
- 划分区域的好处:
减少路由器存储LSA的数量。
避免网络变化导致的全网LSA更新,重新SPF计算。
区域汇总避免路由表太大问题。 - 划分区域的注意事项:
ABR负责将两个区域的路由信息做双向传递。
非骨干必须和骨干相连。
通常一个区域的路由器不超过50台。
LSA学习:
LSA头部信息:
每个LSA都有一个序号
序号为4字节数字,从0x80000001到0x7FFFFFFFF
如果遇到两个相同的LSA,序号高的为最新的
收到LSA后的过程:
如何确定本地有没有一条LSA:
- 类型
- LSA的名称(link-id)
- 通告路由器的router-id
三个要素都相同说明本地存在该LSA。
如何判断一条LSA是不是最新的:
LSA序号是否相同。LSA序号高的会被加入LSDB,如果收到一条序列号低的,则不会记录,会把序列号高的发送给对方。
age时间:经过一台路由器+1,时间有短的会被记录,执行spf算法。
OSPF网络类型:
类型 | 默认对应二层类型 | DR/BDR | 建立邻居 | 更新地址 | Hello时间 | 描述 |
---|---|---|---|---|---|---|
点到点 | PPP、HDLC、FR点到点子接口 | 不选举 | 自动 | 224.0.0.5 | 10/40 | stub |
广播多路访问 | 以太网 | 选举 | 自动 | 224.0.0.5 .6、单播 | 10/40 | transit |
NBMA | FR主接口和FR多点子接口 | 选举 | 手动 | 单播 | 30/120 | transit |
点到多点 | 无 | 不选举 | 自动 | 224.0.0.5(仅hello) | 30/120 | transit |
点到多点非广播 | 无 | 不选举 | 手动 | 单播 | 30/120 | stub |
loopback | loopback | / | / | / | / | / |
点到多点类型会将宣告的接口生成32为的主机路由传递给邻居。
环回口网络类型,环回口路由永远通告为/32,不论接口地址掩码为多少(可以修改环回口网络类型修改)
修改OSPF网络类型:Router(config)#ip ospf network 网络类型
Hello dead时间不同不能建立邻居。
相同网络描述的情况下,hello dead时间相同,可以建立邻居,可互相学到路由。网络描述不同,可以建立邻居,无法学到路由。
点到点与点到多点不能建立邻居关系原因:点到点Hello时间:10 40 点到多点:Hello时间:30 120
帧中继网络选择网络类型:默认NBMA
hub、spoke网络:
- R1多点子接口使用默认NBMA网络,如果R1不是DR,R2和R3无法互相学到路由。所以hub点一定要为DR。
- R2、R3互相学到的路由都指向自己的物理接口,但是R2、R3之和R1建立PVC,只有到达R1的DLCI,导致
优化hub、spoke网络类型:
- 将网络类型改为p-to-mp
- 不需要手动指定邻居。
- 不选择DR,避免手动修改。
- hub产生32位路由,不需要手动添加映射,简化配置。
- 手动映射需要加broadcast否则不能自动建立邻居,需要改为p-to-mp no broadcast手动指定邻居。
LSA分类:
Route#show ip ospf database
ADV router:通告路由器
Link ID:链路状态ID
1类 router LSA:
范围:只在本区域内传递,不穿越ABR(区域边界路由器)。
起源:每个运行OSPF的路由器。
内容:路由信息和拓扑信息。
Link-ID:Router-ID
Route#show ip ospf network Link-ID
- stub network:
描述路由信息(前缀/掩码/cost) - transit network:MA网络
描述不完整的路由和拓扑信息。
包含本地连接DR的状态。
表示本地用23.1.1.3连接的DR(23.1.1.2)的地址。
需要结合二类LSA描述完整的路由和拓扑。 - another router:P-TO-P网络
描述拓扑信息。
表示本地接口 ip12.1.1.1连接对方2.2.2.2(router-id)
2类 network link LSA:
范围:只在本区域内泛洪,不穿越ABR
起源:MA、NBMA网络的DR会产生。
内容:所有连接的路由器和本网络的掩码。
Link-ID:DR接口IP地址
Route#show ip ospf network X.X.X.X
attached router:Router-id 描述网络拓扑信息
联合一类LSA共同描述网络拓扑和路由。
3类 summary net LSA
范围:整个AS
起源:起源于ABR,将本区域的一类二类转换为三类。经过一个ABR,adv路由器会发生改变。
内容:只含有路由(前缀、掩码、cost),不包含拓扑
Link-ID:路由信息的前缀
Route#show ip ospf database summary Link-ID
默认不自动汇总,类型三通告每个子网,范围广,所以需要手动汇总。(ABR汇总)
查看区域的ABR:
R2#show ip ospf border-routers
5类 External LSA(外部LSA)
范围:整个AS
起源:ASBR,通告路由器永远不变。ABR将五类原封不动通告给其他区域。
内容:自制系统外部的网络
Link-ID:路由信息的前缀
Route#show ip ospf external X.X.X.X
ASBR从AS外部引入路由信息(重分布)产生五类。
由于通告路由器永远不变,其他区域无法找到ASBR,所以需要四类描述ASBR位置。
不执行自动汇总,范围广,需要手动汇总。(ASBR汇总)
查看区域的ASBR:
R2#show ip ospf border-routers
4类 summary ASB LSA 用于描述ASBR位置
范围:除ASBR所在区域外的整个自治系统
起源:ABR,每经过ABR,通告路由器发生改变
内容:在自治系统中的其他区域通告ASBR的位置
Link-ID:ASBR的router-id
Route#show ip ospf database asbr-summary Link-ID
7类 AS External LSA:
范围:只存在与次末节区域
与五类相同
R4#show ip ospf database nssa-external 55.1.1.1
NSSA区域中的ASBR将外部路由引入到OSPF中,ASBR像次末节区域中发送7类LSA描述外部路由,ABR将7类LSA转为5类LSA像其他区域通告。
OSPF路由类型:
O OSPF域内路由
O IA OSPF区域间路由
O E1 AS外部,基础值之上累加接口cost。引入后,基础值默认等于20,OSPF向距离矢量协议(RIP、EIGRP)重分布时,不自动添加种子度量,默认无穷大,必须手动添加否则不加表。
O E2 AS外部,cost为基础值,不累加
优先级:O>O IA>O E1>O E2(先比类型,在比cost)
- 如何选择使用O E1还是O E2?
如果重分布时想考虑本地网络开销,则选择O E1。
如果不考虑本地网络的cost,则选择O E2
如果网络双出口,一主一备,则选择O E2,主种子度量小,备种子度量大。
如果内网网络接口复杂,需要考虑内网cost,则选择O E1。
所有IGP:
Connect(0)<static(1)<eigrp(内)(90)<OSPF(110)<IS-IS(115)<RIP(120)<EIGRP(外)(170)
比较过程:
AD:越小越优
metric:越小越优
负载均衡(等价)
LSA超载保护:
当邻居传递过多LSA到本地时,DOWN邻居。
产出阈值后会DOWN所有邻居。
- 配置:
R1(config-router)#max-lsa 100 ?
<1-100> 报log的百分比
ignore-count DNWN邻居重复的次数(默认5次,到达5次邻居永远不会建立)
ignore-time DOWN邻居的时间(默认5min)
reset-time 计数器不到5次时,重设计数器时间
warning-only 仅警告,不DOWN邻居
OSPF passive-interface(被动接口):
不收不发,passive的接口不能建立OSPF邻居。
- 配置:
Router(config-router)#passive-interface 接口 | default(default会passive所有接口)
OSPF负载均衡:
负载均衡的路径必须等价
默认4条、最大可配置16条
改变最大支持的负载均衡链路数量:
Route(config-router)#maximum-paths <0-16>
可更改特殊链路的开销实现负载均衡:
Router(config-if)#ip ospf cost <1-65535>
OSPF汇总(只有ABR可以做汇总)、缺省路由下发:
汇总范围内所有明细消失,汇总才会消失
汇总的metric是所有明细中最小的
只能为本路由器连接的区域进行汇总
ABR、ASBR配置区域间汇总后,本地产生Null0接口,防止环路。
配置:
- area区域间汇总针对三类操作,执行一转三的路由器做汇总。
Router(config-router)#area 源区域 range 55.1.0.0 255.255.252.0
- AS之间的汇总产生五类(ASBR和NSSA区域的ASBR产生)LSA的路由器上做汇总。
Router(config-router)#summary-address 77.1.0.0 255.255.252.0
- 下发默认路由,不加always必须本地存在默认路由,才下发默认,需要在ASBR上配置(5类 LSA OE2 cost 1):
Router(config-router)#default-information originate always
OSPF stub区域:
- 虚链路不能穿越末节区域。
- 末节区域不能承载ASBR(因为末节区域不能进去5类)。
- stub区域:
- 5不能进入(减少路由条目),stub区域所有设备都需要配置stub,配置成stub区域的ABR自动下发默认路由(三类)。
Route(config-router)#area 区域号 stub
Route(config-router)#area 区域号 default-cost 值(cost默认为1,可选)
- Totally stub:
思科私有,其他厂商也有该特性:不允许3、4、5进入,自动下发默认路由(三类)。
完全末节ABR配置stub no summery,其他路由器配置stub。
Route(config-router)#area 区域号 stub no-summary
NSSA区域:
CISCO私有,和stub一样为边缘区域。区别为NSSA区域可以存在ASBR,产生7类(和5类功能相同)在本区域扩散,本区域ABR将七类转化成五类发给其他区域。
nssa区域产生ON 1、ON2路由,与O E1、O E2相同。
存在7类 LSA,描述本区域引入的外部路由。
NSSA(次末节):支持ASBR存在,不自动下发默认路由
Route(config-router)#area 1 nssa
下发缺省(七类):
Route(config-router)#area 1 nssa default-information-originate
Totally NSSA(完全次末节):不允许 3、4、5,ABR会向此区域下发缺省路由(三类)。
Route(config-router)#area 1 nssa no-summary
Route(config-router)#area 1 nssa default-information-originate no-summary 下发缺省
查看:
Route#show ip ospf datebase nssa-external
Forward address:
- 两种产生条件:
- NSSA、Totally NSSA区域的ABR产生5类LSA时带Forward address,描述真正的ASBR(因为NSSA区域中的ABR不是真正的ASBR)。
- R1和R7之间链路使能RIP(R1所在区域可以为普通区域、NSSA、Totally NSSA)R1(ASBR)接口再使能OSPF(并且没有passive R1的e0/1),Forward address永远为是R1接口地址,防止次优路径。
Forward address必须通过OSPF可达才能加表。
Forward address地址选举条件:
选取最后宣告进OSPF的loopback口地址,如果不存在loopback口,选取最后启用OSPF的物理接口地址。
可通过命令配置ASBR,7转5时不带Forward address。
R1(config-router)#area 1 nssa translate type7 suppress-fa
cost计算时参考的不是去往ASBR距离,是去往FA地址的距离。
OSPF虚链路:
- 虚链路OSPF类型点到点
- 虚链路连接两个不连续的区域0(骨干)
- 虚链路解决非骨干不和骨干相连
- 虚链路建立时发送Hello,之后按需更新,不发Hello,虚链路学到的路由不老化(DNA (DO NOT AGE))。
- 虚链路metric计算:两台建立虚链路路由器之间的加上各自通告的。
- 虚链路无法穿越stub区域
- 建立虚链路的两台路由器必须互相可达。
- 源自于骨干,非骨干区域不能将3类通告给骨干。
- 配置:
Route(config-router)#area 虚链路穿越的区域 virtual-link 对方ABR的route-ID 双向都要做
- 开启虚链路认证:
Route(config-router)#area 虚链路穿越的区域 virtual-link 对方ABR的route-ID authentication message-digest
Route(config-router)#area 虚链路穿越的区域 virtual-link 对方ABR的route-ID authentication message-digest message-digest-key 1 md5 cisco
源自于非骨干传到骨干,骨干再次下放到非骨干,下发之前先校验执行下发的路由器中有没有这条路由的一类LSA,如果有,则不发送,目的是防环。
R2和R4建立虚链路, R4会变成区域0,R3的ABR为R2和R4,R3到R5的路由下一跳R4,R3到R1的路由下一跳R2,R2给R4的路由R4不会给R3,相反如此。
OSPF认证:
OSPF明文认证:
R1(config-if)#ip ospf authentication(开启认证)
R1(config-if)#ip ospf authentication-key 密码
- 在区域下开启认证:
R1(config-router)#area 0 authentication(等于在所有area0接口下开启)
OSPF MD5认证:
- Key ID和Key都需要相同
R1(config-if)#ip ospf authentication message-digest(开启MD5认证)
R1(config-if)#ip ospf message-digest-key 1 md5 密码
- 在区域下开启认证:
R1(config-router)#area 0 authentication message-digest(等于在所有area0接口下开启)
- 明文验证排错:
R1#debug ip ospf adj
设备更换key:
两台设备更换key时,不必因为key不同出现瞬即down邻居,可以在接口下添加新key,设备会使用两个key同时发报文,两台设备用新key建立邻居后,就会使用新key,如果不匹配,则会一直使用两个key发送报文。
OSPF V3(ipv6 OSPF)
V2基于子网连接 V3 基于Link连接,可以AB之间建立,不受其他干扰
OSPFv3 LSA:
Router-ID依然为IPV4地址表达
OI 区域间
ON1 ON2 区域外
- LSA类型:
重新定义8、9类。
- 2类只描述拓扑,描述路由为9类LSA。
配置:
- Router(config)#ipv6 ospf 100 area 0
- IPV6 OSPF V3认证:
接口下配置:
Route(config-if)#ipv6 ospf authentication ipsec spi 256 sha1 0 12345678
版权声明:本文标题:[网络]OSPF理论 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727807654a1131158.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论