OSPFv3路由协议学习
OSPFv3路由协议学习
OSPFv3 VS OSPFv2 OSPF是一种链路状态路由协议。
它具有标准开放、收敛迅速、无环路、便于层级化设计等众多优点。
IPv4网络中广泛使用的OSPFv2协议由于在报文内容、运行机制等方面与IPv4地址联系得过于紧密,大大制约了它的可扩展性和适应性。
在IPv6环境中,为了使OSPF更好的应用,同时
保留原有的众多优点,因此,在OSPFv2的基础上作了多方面的修改后产生了OSPFv3协议。
OSPFv3相比OSPFv2作出的改进可以分为几个方面来描述。
1.OSPFv3独立于网络协议1)OSPFv3基于链路运行OSPFv2协议是基于子网运行的,邻居之间形成邻接关系的必要条件之一就是两端的IP地址属于同一网段而且掩码相同。
而OSPFv3协议基于链路运行,与具体的IPv6地址、前缀分离开,即使同一链路上的不同节点具有不同网段的IPv6地址时,协议也可以正常运行。
IPV6网络中,将接口地址都看成叶子,只有链路本身是树干。
2)编址性语义的取消在OSPFv2中,协议分组和LSA中的许多字段都是来自于网络上的某个IP地址、掩码或某个IP子网号。
报文的数据内容决定了OSPFv2的多种机制必须基于IPv4来进行,包括邻居路由器标识、邻居建立等等。
在OSPFv3中取消了这些编址性语义,而只保留协议运行必须的核心内容。
比如,Router-LSA和Network-LSA中不再包含网络地址,而只用于传递拓扑信息;LSA的Link State ID依然保留32位长度的IPv4地址格式,但只是一个编号,不再包含地址信息;邻居路由器,包括DR和BDR,都是用Router ID来标识。
这些保证了OSPFv3协议能够独立于网络协议运行。
3)链路本地地址的使用OSPFv2协议要求,每一个运行OSPF的接口都必须有一个IPv4地址,即使是在网络中仅仅用于传输转发的中间节点也必须如此,协议的运行和路由的计算都依赖于这个地址。
而在IPv6中,每个接口都会分配本地链路地址(link-local address),这个地址只在本地链路有效,并不会在整个网络中传播。
OSPFv3使用这个本地链路地址作为协议分组发送的源地址(虚连接除外)和路由的下一跳,在网络规划时就不需要在大量的中间节点规划子网,同样也不需要专门配置IPv6地址。
这样,一方面可以节省大量的全局地址,另一方面可以说协议的运行独立于IPv6,可以方便的对协议进行扩展,实现组播选路等其他的功能。
4)使用专门的LSA来发布路由前缀信息OSPFv2通过Router-LSA和Network-LSA来发布区域内的路由信息和计算拓扑,所以OSPFv2的拓扑结构与IPv4网络信息是密不可分的。
为了改变这种状况,在OSPFv3中,Router-LSA和Network-LSA中仅保留拓扑信息;同时增加了Intra-Area-Prefix-LSA和Link-LSA,分别用于传递区域内路由前缀和传递链路范围内的IPv6前缀。
拓扑信息与前缀信息的分离,使得OSPFv3的运行更加独立于网络协议。
2. OSPFv3的结构更加清晰1)OSPFv3取消了协议报文的验证字段在OSPFv2中使用了专门的验证字段。
而在OSPFv3中使用IPv6标准的验证方式(IP AH和IP ESP)来保证信息传递的安全性,这样一来,既减轻了协议开销,也在一定程度上简化了协议处理流程。
2)OSPFv3更加明确了LSA泛洪范围在OSPFv3中,明确了LSA泛洪的三种范围:本地链路范围(Link-local scope)、区域范围(Area scope)、AS范围(AS scope),并且在LS_Type中增加了专门的字段进行说明。
因此,OSPFv3协议在处理LSA泛洪时不再像OSPFv2中需要根据不同的LSA类型来判断LSA泛洪的范围,而是直接根据专门的字段进行处理就可以了。
3. OSPFv3的可扩展性和适应性更佳1)OSPFv3支持多实例OSPFv2协议规定,不同的实例必须运行在不同的链路上。
OSPFv3协议则提供了对多实例的明确支持,通过在协议报文中增加“instance ID”字段,同时规定,接收报文时对该字段进行判断,只有实例号匹配的报文才会处理,否则丢弃。
这样,即使是在同一链路上也可以运行多个OSPF实例了,而且独立运行不会互相影响。
2)对未知类型LSA的处理在OSPFv2中,当路由器收到自己不支持的LSA时,仅仅是作简单的丢弃处理。
这样,当能力不同的路由器混合组网时,整个网络的处理能力就会受限于能力最低的路由器。
最为突
出的是在广播(或NBMA)网络中,如果DR不支持可选类型的LSA,则DR不能处理的LSA就不能在非DR路由器之间交互了。
在OSPFv3中,对未知类型的LSA的处理作了新的规定:根据LSA中特定字段来进行判断,可以将其泛洪范围限定在本地链路范围内,也可以将其当作已知类型的LSA,根据其中的“泛洪范围”字段发送出去。
这样一来,即使网络中某些路由器的能力有限也不会影响某些特殊LSA的传播,从而具备了更好的适应性。
4.其他OSPFv3针对OSPFv2在设计上的缺陷做了两大改进:一是在多路访问型的链路上优化了DR的选举范围,如果链路上有过多的路由器,都同DR形成邻接,则DR的负担会很重。
OSPFv3采用独有的实例ID字段,在群内各接口设置相同的实例ID,群间相异,配置起来简单。
二是通过设计两种新的LSA(8和9),减少了不必要的SPF计算。
SPF算法的特点是每一次启用都会增加路由器资源占用并造成网络的短时中断,所有的树干都必须重计算一次,算完了才能挂叶子。
OSPFv2和OSPFv3在收到LSA1和2时都会启动SPF算法,在OSPFv3的LSA1和2中不仅包含了该链路的拓扑类型状态还附带了链路上IPV4地址信息,拓扑改变或地址改变都会触动路由器产生新的LSA,但真正需要SPF的是拓扑变化信息,地址的改变不应该去触动SPF(地址只是叶子)。
OSPFv3的LSA1和2中不携带链路上的IPV6地址信息,改变链路上端口的地址不会触动SPF,这也就减少了计算次数。
OSPFV3引入的LSA OSPFv3常用的LSA有八种类型:路由器LSA(LSA1)、网络LSA(LSA2)、区间前缀LSA(LSA3)、区间路由器LSA(LSA4)、AS外部LSA(LSA5)、NSSA外部LSA(LSA7)、链路LSA(LSA8)、区内前缀LSA(LSA9),以上LSA除LSA8和9外,功能和洪泛的范围都与OSPFv2相同。
不同的只是LSA数据结构上做了少量调整和优化(如前所述LSA1和2的数据结构区别最大,也导致了两种新LSA的产生)。
OSPFv3添加了2类新LSA:Link-LSA(类型8)和Intra-Area-Prefix-LSA(类型9)。
其中,Link-LSA 有三个作用:1. 在链路上通告本地链路地址给其它邻居2. 通告本地链路上的邻居关于与自己本地链路相关联的ipv6的前缀列表3. 通告链路状态的选项集合其实这个链路范围是以路由器为边界的,但是可能一个链路上有多个路由器,因此可能会存在多个前缀一个链路的情况,这个时候就是特点2的体现了,用于区分不同的链路,IPV6里一个链路就是一个小网段,比站点小,站点比组织小,组织比国家小。
LSA8主要携带生成者在该端口上的所有IPV6地址信息,洪泛范围是链路本地,及收到直连邻居发出的LSA8将不通告给任何人。
当然,只在本地链路上传递信息是不够的,还需要在area范围内传播,于是有了Intra-Area-Prefix-LSA (域内前缀LSA)。
Intra-Area-Prefix-LSA是在area范围内通告路由前缀。
LSA9携带的是本路由器(或DR的手下)各直连链路上的网络前缀和各前缀所属链路的对应(前缀在哪条链路上)信息,它的洪泛范围是本AREA内。
OSPFv3也使用组播方式洪泛LSA,非DR用FF02::5,DR用FF02::6.。
OSPF路由协议基础科普
OSPF路由协议基础(一)OSPF(O p en Short Path First)最优路径算法路山协议。
OSPF路山协议的Dis tance值为11 0 ,它拥有一个Met r i c值,此值是OSPF路由协议用来衡量链路好坏的,当一条链路的Metric值越小,则证明此条链路越好,反之此条链路越差。
路由协议按数据传输方式分,分为有类(Clas sfull)和无类(C I assle s s)两种,有类路山协议是指传输可达性路山信息(NLRI)时不带子网掩码;无类路山协议是指传输可达性路山信息(NLRI)时带子网掩码。
路山协议按数据传输类型分,分为距离向量(Distance Ve c t or)和链路状态(Link S t ate)两种,距离向量(DV)路由协议没有路由器ID(Router-ID),并且只传递可达性路由信息(NLRI);链路状态(LS)路ill协议限制每一台路山器必须要有一个未被使用过的路山器ID(Router-ID),而且它无条件转发任何从邻居传来的可达性路山信息(N LR I )。
OSPF路由协议基础(二)距离向量路由协议:此时,假如Route r A后面有一个1.0网段,RouterB后面有一个2.0网段,Rout e rA告诉RouterB通过我(Router A )可以到达1.0网段,Rout erB告诉R ou t e rC通过我(RouterB)可以到达1 .0网段,此时,Ro u t erA到达1.0 网段的路断了,那么,他会查找它的邻居Route rB,而此时RouterC也要到I . 0网段,他也会去查找它的邻居Rou t erB,这时Rout e rB的路由表里有 1.0网段的路ill,Route r A和Route「C都会将数据发到RouterB,可是,Ro uter B到不了1.0网段,这样就形成了路山环路。
各种距离向量路山协议都有它自己解决路由环路的方法,在此暂不讨论。
ospf路由协议
Osfp 路由协议1、OSPF协议概述OSPF(Open Short Path First)开放最短路径优先协议,是一种基于链路状态的内部网协议(Interior Gateway Protocol),主要用于规模较大的网络中。
2、OSPF的特点●适应范围广:支持各种规模的网络,最多可支持数百台路由器。
●快速收敛:在网络拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中被处理。
●无环路由:根据收集到的链路状态用最短路径树算法计算路由。
●区域划分:允许自治系统内的网络被划分成区域来管理,区域间传送的路由信息被汇聚,从而减少了占用的网络资源。
●路由分级:使用4类不同的路由,按照优先顺序分别是区域间路由、区域路由、第一类路由、第二类路由。
3、OSPF的基本概念●自治系统(Autonomous System,AS):为一组路由器使用相同路由协议交换路由信息的路由器。
●路由器ID号:运行OSPF协议的路由器,每一个OSPF进程必须存在自己的Router-ID。
●OSPF邻居:OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文,收到Hello报文的OSPF路由器会检查报文中所定义的参数,使双方成为邻居。
●OSPF连接:只有当OSPF路由器双方成功交换DD报文,交换LSA并达到LSDB的同步后,才能形成邻接关系。
4、OSPF路由的计算过程每台路由器根据自己周围的网络拓扑结构生成链路状态通告(State Advertisement,LSA),并通过更新报文将LSA发送给网络中的其他OSPF路由器。
每台OSPF路由器都会收到其他路由器通告的LSA,所有的LSA放在一起便组成了链路状态数据库(Link State Database,LSD)。
LSA是对路由器周围网络拓扑结构的描述,LSDB 则是对整个自治系统的网络拓扑结构的描述。
OSPF路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。
OSPFv3协议原理
Page 27
第3章 LSA简介 第1节 LSA头 第2节 Prefix Option字段 第3节 各类LSA
Page 23
协议包头
协议包头比较
Version # Type Router ID Packet length
OSPFv2 24 字节
Checksum
Area ID AuType Authentication Authentication
Version #
Type Router ID Area ID
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
Page 25
各种协议包
协议包类型
Hello 用来发现邻居,选举DR和BDR,并维持邻接关系。 DBD (Database Description) 用来描述链路状态数据库的内容。 LSR (Link State Request) 用LSR包来向邻居请求所需要的LSA。 LSU (Link State Update) LSA的传递最终是通过LSU来完成的。 LSAck (Link State Acknowledgment) LSAck对接收到的LSU进行确认。
Page 21
Option字段
Option字段
0 18 19 20 21 22 23
DC R N MC E V6
出现在部分协议报文及LSA; Hello,DBD,Router-LSA,Network-LSA,Inter-Area-RouterLSA和Link-LSA。 使路由器支持可选的能力,并且与其它路由器互相通告其能力。 不同能力的路由器可以在一个OSPF路由域中混合工作。
HUAWEI TECHNOLOGIES CO., LTD.
OSPF路由协议详解
2024/2/18
R1
TWO-WAY
Hello
Hello
R2
Init
TWO-WAY
带有Active Neighbor字段
17
邻接关系的过程
R1
TWO-WAY
Hello
Hello
R2
Init
TWO-WAY
之后如果链路类型为广播网络,则开始DR/BDR的选举 DR/BDR与LSA链路状态上的其他路由器都建立邻接关系后路由器之间才能交换 链路状态信息
2002244//22//188
OSPF术语
• Router-ID • 度量值cost • 链路状态 • OSPF区域 • 邻居与邻接 • DR和BDR
2002244//22//188
邻居表的建立
2002244//22//188
拓扑表的建立
2002244//22//188
路由表的建立
• 列出通过SPF算法计算出的到达每个相连网络的最佳路径
DBD Exchange
DBD
25
邻接关系的过程
R1发给R2的第三个DBD报文:
2024/2/18
R1
R2
Exchange
DBD
Excha的过程
R2发给R1的第三个DBD报文:
2024/2/18
R1
Exchange
Loading
R2
DBD Exchange
用来存储路由器在某个ospf接口上发现 的邻居,初始的hello没有该字段。
15
邻接关系的过程
点击打开第一个深红色的包(R2发给R1):
2024/2/18
R1
R2
Init Hello
H3C OSPFv3配置命令
H3C OSPFv3配置命令(V150104)版本说明目录版本说明 (2)目录 (2)abr-summary (4)area (4)default cost (5)default-cost (5)display ospfv3 (6)display ospfv3 interface (8)display ospfv3 lsdb (9)display ospfv3 lsdb statistic (11)display ospfv3 next-hop (12)display ospfv3 peer (13)display ospfv3 peer statistic (15)display ospfv3 request-list (16)display ospfv3 retrans-list (17)display ospfv3 routing (19)display ospfv3 statistic (20)display ospfv3 topology (21)display ospfv3 vlink (22)filter-policy export (23)filter-policy import (24)import-route (25)log-peer-change (26)maximum load-balancing (26)ospfv3 (27)ospfv3 area (27)ospfv3 cost (28)ospfv3 dr-priority (28)ospfv3 mtu-ignore (29)ospfv3 timer dead (30)ospfv3 timer hello (30)ospfv3 timer retransmit (31)ospfv3 trans-delay (31)preference (32)router-id (33)silent-interface (33)spf timers (34)stub (35)vlink-peer (35)abr-summary【命令】abr-summary ipv6-address prefix-length [ not-advertise ]undo abr-summary ipv6-address prefix-length【视图】OSPFv3区域视图【参数】ipv6-address:聚合路由的目的IPv6地址。
OSPFv3配置
OSPFv3配置ff02::5是为OSPFv3路由协议预留的IPv6组播地址。
OSPFv3中的路由条⽬下⼀跳地址是链路本地地址。
OSPFv3是运⾏在IPv6⽹络的OSPF协议。
运⾏OSPFv3的路由器使⽤物理接⼝的链路本地单播地址为源地址来发送OSPF报⽂。
相同链路上的路由器互相学习与之相连的其它路由器的链路本地地址,并在报⽂转发的过程中将这些地址当成下⼀跳信息使⽤IPv6中使⽤组播地址ff02::5来表⽰All SPFRouters,⽽OSPFv2中使⽤的是组播地址224.0.0.5。
需要注意的是,OSPFv3和OSPFv2版本互不兼容。
Router ID在OSPFv3中也是⽤于标识路由器的。
与OSPFv2的Router ID不同,OSPFv3的Router ID必须⼿⼯配置;如果没有⼿⼯配置Router ID,OSPFv3将⽆法正常运⾏。
OSPFv3在⼴播型⽹络和NBMA⽹络中选举DR和BDR的过程与OSPFv2相似。
IPv6使⽤组播地址FF02::6表⽰AllDRouters,⽽OSPFv2中使⽤的是组播地址224.0.0.6。
NBMA/⾮⼴播-多路访问⽹络⽤来描述如X.25和帧中继这类本⾝并不具有⽀持⼴播和多播能⼒的多路访问⽹络OSPFv2是基于⽹段运⾏的, OSPFv3的实现是基于链路的。
在配置OSPFv3时,不需要考虑路由器的接⼝是否配置在同⼀⽹段,只要路由器的接⼝连接在同⼀链路上,就可以不配置IPv6全局地址⽽直接建⽴联系。
这⼀变化影响了OSPFv3协议报⽂的接收、Hello报⽂的内容以及⽹络LSA的内容。
OSPFv3直接使⽤IPv6的扩展头部(AH和ESP)来实现认证及安全处理,不再需要OSPFv3⾃⾝来完成认证。
ipv6命令⽤来使能路由器的IPv6功能。
要在路由器上运⾏OSPFv3协议,⾸先必须使能IPv6功能。
ospfv3 [process-id ]命令⽤来创建并运⾏OSPFv3进程,process-id取值范围是1~65535。
IPv6技术课件:OSPFv3基本配置
学习目标•学完本节后,你将能够:•掌握OSPFv3基本功能配置•掌握OSPFv3信息查看•掌握OSPFv3特殊区域配置•掌握OSPFv3虚连接配置•掌握OSPFv3路由引入及过滤配置•掌握OSPFv3认证配置OSPFv3基本功能•系统视图执行命令ospfv3[process-id][vpn-instance vpn-instance-name],启动OSPFv3,进入OSPFv3视图。
•执行命令router-id router-id,配置Router ID•OSPFv3视图执行命令area area-id,进入OSPFv3区域视图。
区域ID可以采用十进制整数或IPv4地址形式输入,但显示时使用IPv4地址形式。
OSPFv3的区域不能直接删除,当区域视图下的所有配置都删除,此区域就会被系统自动删除。
•接口视图执行命令ospfv3process-id area area-id[instance instance-id],在接口上使能OSPFv3。
区域ID 可以采用十进制整数或IPv4地址形式输入,但显示时使用IPv4地址形式。
•执行命令ospfv3network-type{broadcast|nbma|p2mp[non-broadcast]|p2p}[instance instance-id],配置接口的网络类型。
OSPFv3查看信息•使用display ospfv3[process-id]命令查看OSPFv3进程的概要信息。
•使用display ospfv3[process-id]interface[area area-id][interface-type interface-number]命令查看OSPFv3接口信息。
•使用以下命令查看OSPFv3的LSDB信息:▫display ospfv3 [ process-id ] lsdb[ area area-id ] [ originate-router advertising-router-id | self-originate ] [ { router | network | inter-router [ asbr-router asbr-router-id ] | { inter-prefix | nssa} [ ipv6-address prefix-length ] | link | intra-prefix | grace } [ link-state-id ] ]▫display ospfv3 [ process-id ] lsdb[ originate-router advertising-router-id | self-originate ] external [ ipv6-address prefix-length ] [ link-state-id ]•使用display ospfv3[process-id][area area-id]peer[interface-type interface-number][verbose]或display ospfv3[process-id][area area-id]peer neighbor-id[verbose]命令查看OSPFv3邻居信息。
实验25 IPv6 OSPFv3
实验25 IPv6 OSPFv3 一、实验拓扑图,如图1.1所示:图1.1 OSPFv3实验拓扑图二、实验说明:1.本实验拓扑图如图1.1所示;2.要求全网配置成IPv6网络;3.全网运行OSPFv3协议;4.全网互通。
三、预配置:1.R1的预配置:Router>enRouter#conf tRouter(config)#no ip do loRouter(config)#line 0Router(config-line)#no exec-tRouter(config-line)#logg sRouter(config-line)#ho R1R1(config)#ipv6 unicast-routingR1(config)#int lo0R1(config-if)#ipv6 address 1::1/64R1(config-if)#int s1/0R1(config-if)#ipv6 address 2001:12::1/64R1(config-if)#no sh2.R2的预配置:Router>enRouter#conf tRouter(config)#no ip do loRouter(config)#line 0Router(config-line)#no exec-tRouter(config-line)#logg sRouter(config-line)#ho R2R2(config)#ipv6 unicast-routingR2(config)#interface s1/0R2(config-if)#ipv6 address 2001:12::2/64R2(config-if)#no shR2(config-if)#interface s1/1R2(config-if)#ipv6 address 2001:23::2/64R2(config-if)#no sh3.R3的预配置:Router>enRouter#conf tRouter(config)#no ip do loRouter(config)#line 0Router(config-line)#no exec-tRouter(config-line)#logg sRouter(config-line)#ho R3R3(config)#ipv6 unicast-routingR3(config)#int s1/1R3(config-if)#ipv6 address 2001:23::3/64R3(config-if)#no shR3(config-if)#int s1/0R3(config-if)#ipv6 address 2001:34::3/64R3(config-if)#no sh4.R4的预配置:Router>enRouter#conf tRouter(config)#no ip do loRouter(config)#line 0Router(config-line)#no exec-tRouter(config-line)#logg sRouter(config-line)#ho R4R4(config)#ipv6 unicast-routingR4(config)#int s1/0R4(config-if)#ipv6 address 2001:34::4/64R4(config-if)#no shR4(config-if)#int f0/0R4(config-if)#ipv6 address 4::4/64R4(config-if)#no sh四、配置及调试过程:1.在路由器上开启OSPFv3,并在接口上应用:R1(config)#ipv6 router ospf 1R1(config-rtr)#router-id 1.1.1.1R1(config-rtr)#default-information originate metric 30 metric-type 2R1(config-if)#int s1/0R1(config-if)# ipv6 ospf 1 area 1R2(config)#ipv6 router ospf 1R2(config-rtr)#router-id 2.2.2.2R2(config-if)#interface s1/1R2(config-if)#ipv6 ospf 1 a 0R2(config-if)#int s1/0R2(config-if)#ipv6 ospf 1 a 1R3(config)#ipv6 router ospf 1R3(config-rtr)#router-id 3.3.3.3R3(config-if)#int s1/0R3(config-if)#ipv6 ospf 1 a 2R3(config-if)#int s1/1R3(config-if)#ipv6 ospf 1 a 0R4(config)#ipv6 router ospf 1R4(config-rtr)#router-id 4.4.4.4R4(config-if)#int s1/0R4(config-if)#ip ospf 1 area 2R4(config-if)#int f0/0R4(config-if)#ipv6 ospf 1 area 22.测试网络连通性:R4(config-if)#do ping 1::1Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 1::1, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 24/44/68 ms 已通!3.在R4上查看IPv6路由表:R4(config-if)#do sh ipv6 routeIPv6 Routing Table - 6 entriesCodes: C - Connected, L - Local, S - Static, R - RIP, B - BGPU - Per-user Static route, M - MIPv6I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summaryO - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2D - EIGRP, EX - EIGRP externalOE2 ::/0 [110/30], tag 1via FE80::C802:11FF:FE34:0, Serial1/0OI 2001:12::/64 [110/192]via FE80::C802:11FF:FE34:0, Serial1/0OI 2001:23::/64 [110/128]via FE80::C802:11FF:FE34:0, Serial1/0C 2001:34::/64 [0/0]via ::, Serial1/0L 2001:34::4/128 [0/0]via ::, Serial1/0L FF00::/8 [0/0]via ::, Null0以上输出说明,路由器已通过OSPFv3协议学习到了三条路由,而且学到了R1上的默认路由,代码为OE2。
超详细OSPF路由协议基础课件
05
CATALOGUE
OSPF协议的安全性和可靠性
OSPF协议的安全性保证措施
认证机制
OSPF协议支持明文和加密的认 证方式,通过在OSPF报文中包 含认证信息,确保只有合法的路 由器才能参与OSPF路由过程。
区域划分
OSPF协议可以将大型网络划分 为多个区域,每个区域运行一个 OSPF实例,降低了路由器的资
递给其他路由器。
在传递过程中,LSA报文会不 断更新,最终形成一张完整的
链路状态数据库。
OSPF协议的路由计算过程
路由器根据接收Байду номын сангаас的LSA报文, 构建出一张链路状态数据库,记 录了网络中所有路由器的链路状
态信息。
路由器根据链路状态数据库,使 用最短路径优先算法(SPF算法 )计算出到达各个目的网络的最
First)是一种内部网关协议(IGP
),用于在同一个自治系统(AS
)内的路由器之间传递路由信息
。
02
OSPF协议基于最短路径优先( SPF)算法,用于计算路由最短路 径,并建立路由表。
OSPF协议工作原理
OSPF路由器之间通过交换链路 状态信息来建立和维护路由表。
路由器之间通过周期性地发送 Hello报文来发现邻居路由器,
链路状态数据库同步
OSPF协议通过周期性的数据库同步, 确保所有参与OSPF的路由器拥有相同 的链路状态数据库,保证了路由的可 靠性。
OSPF协议的故障处理和恢复机制
01
02
03
故障检测
OSPF协议通过定期发送 Hello报文和数据库同步 报文来检测网络中的故障 。
故障隔离
当检测到故障时,OSPF 协议能够快速隔离故障区 域,防止故障扩散。
OSPFV3
OSPFV3⽬录OSPFv3OSPFv3的概念:OSPFv3是基于IPv6的OSPF协议,⼯作在IPv6上,可⽀持多协议,OSPFv3在OSPFv2上做了改进,是⼀个独⽴的路由协议,可以⽀持IPv4和IPv6,OSPFv3与OSPFv2的相同点:⽹络类型和接⼝类型接⼝状态机和邻居状态机LSDBLSA的泛洪机制报⽂SPF算法及SPF计算过程OSPFv3与OSPFv2的不同点:OSPFv3OSPFv2基于链路基于⼦⽹利⽤链路本地地址来维持邻居利⽤本地接⼝地址来维持邻居报⽂中移除了协议地址的字段1. OSPFV3基于链路,⽽OSPFv2基于⽹段,OSPFv3运⾏在IPv6协议上,IPv6是基于链路⽽不是⽹段,既不论接⼝是否配置IPv6地址,也不论路由器间的接⼝地址是否在同⼀⽹段,只要双⽅在同⼀条链路上,都可以建⽴OSPFv3的邻居关系。
2. OSPFv3利⽤链路本地地址来维持邻居。
OSPFv3使⽤链路本地地址来维持邻居,同步LSDB,链路上的报⽂,除Vlink外的所有OSPFv3接⼝都使⽤链路本地地址作为报⽂源地址这样的话,不⽤配置IPv6全局地址,就可以得到OSPFv3拓扑,实现拓扑与地址分离运⾏IPv6的路由器不转发⽬的地址为链路本地地址的IPv6报⽂,此类报⽂置在本地链路有效。
OSPFv3的虚链路,如果是⾮直连的虚链路,那么就不能依赖于链路本地地址了,需要使⽤全球单播地址来建⽴3. OSPFv3协议报⽂上移除了协议地址OSPFv2中的1/2类LSA中含有太多关于ipv4地址的描述,通过观察OSPFv2的1/2类LSA就可以得知当前运⾏的协议为IPv4OSPFv3中由于IPv6协议地址太长,会过多的占⽤报⽂空间,若之后想扩展OSPFv3协议,那么就必须的重新改写了,重新出⼀个OSPFv4,于是OSPFv3移除了对协议地址的依赖性,⽤接⼝ID来取代本地接⼝的IP地址,对端接⼝IP地址,就使⽤链路本地地址这样意味着拓扑与协议地址分离了,建⽴邻居关系的不在依赖于协议地址,并且OSPFv3的1/2类LSA可以为多种协议簇服务,可以同时为IPv4和IPv6创建协议进程,⽬前华为不⽀持,所以在当前的双栈环境下,依旧要创建OSPFv2的进程及OSPFv3的进程4. OSPFv3链路间的泛洪范围OSPFv3添加了链路间的泛洪范围,新的LSA-8类型仅在可以在邻居之间通告,其LSA不会被泛洪到其他链路,LSA-8承载内容仅在直连的邻居中通告,不会被泛洪到其他链路,LSA-8所承载的内容只在直连邻居之间有⽤,⽤于通告该链路上的地址前缀及link-local地址5. OSPFv3⽀持⼀条链路上多个进程(实例复⽤)OSPFv3在OSPF报⽂头中新加了字域:instance id,他是定义在接⼝上的标识OSPF实例的,取值范围为0-255,OSPFv2下,⼀个接⼝只能运⾏⼀个OSPF实例,⽽在OSPFv3中,可以让⼀个接⼝运⾏多个OSPF实例,并且在⼀条链路上,只有OSPF实例号相同才能建⽴OSPF邻居关系,OSPF实例只在本地有效。
