ospf知识点总结与案例分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ospf知识点总结与案例分析
一、知识点总结
1.OSPF报文有哪些?报文的作用?
报文
hello建立、维护和保持邻居关系
DD 数据库摘要描述选举主从
LSR 请求所需要的LSA,只携带了LSA的头部信息
LSU 更新请求的LSA,携带了完整LSA信息
LSACK 对收到的LSA做确认
①影响邻居关系建立?
OSPF头部:Router ID不冲突、区域ID一致、认证类型、数据一致
Hello报文:网络掩码一致(P2P除外)、option选项、hello和dead时间一致、邻居列表有自己的router id
②领接关系建立失败?
双方开启协商MTU,如果从大主小,从卡在exchange,主卡在exstart,
如果从小主大,主从都卡在exstart状态
2.OSPF状态机有哪些?状态机的作用?
down状态,开启了ospf,未收到对方的hello报文
init状态,收到对方的hello报文,不包含自己的router id
2-way状态,收到对方hello报文,包含自己的router id,邻居建立成功的标识
Exstart状态,双方首包发送DD报文,进行主从关系选举,携带序列号、I、M、MS
,进行比较选出主从
Exchange,从以主的序列号进行发送DD,进行数据库摘要描述,主收到后,
序列号+1,也会给从发送DD数据库摘要,从收到后要给予回复,从永远会比主多发
一个回复给予确认
Loading状态,进行实际的LSR、LSU、LSACK的交互
FUll状态,SPF算法进行路径最优计算
状态机作用,标识ospf协商的工作阶段,方便后续排错
3.DR BDR 作用?
DR作用,避免出现LSA的过度泛洪,减小LSDB数据库大小BDR作用,BDR是DR可靠,当DR出现故障时,BDR能够成为DR的角色
DR选举:优先级高的为DR,优先级相同,router id大的优先
4.OSPF的网络类型有哪些?
broadcast广播
P2P点到点
NBMA 非广播多路访问
P2MP 点到多点
这些网络类型的作用是什么?区分二层链路,更好的构建拓扑信息
5.OSPF防环原则和LSA头部和分类
区域内1/2LSA 通过SPF怎么防环?//说明过程
根据spf算法,以自己为根算出最短路径树,不出现环路
区域间3/4LSA 通过ABR水平割防环?区域设计防环?
3类lsa传递的路由信息,从非骨干区域接收的路由只接收不计算
非骨干区域必须和骨干区域相连接
3类描述的是区域间的路由信息,而4类描述的是asbr的cost 信息
区域外5/7LSA 通过3/4防环。
6.Vlink作用?
①.骨干区域分割//说明场景
②.区域划分不得当//说明场景
③.备份//说明场景
④.vlink有什么缺点?//说明场景
1、如果做虚连接不当会造成环路
2、修改router id会造成虚连接不稳定
3、无法transnet area 0做路由汇总,可能存在潜在的环路
7.OSPF的选路规则
RFC1583与RFC2328规定两种路由选路规则
默认设备使用RFC 1583
也可更改
undo RFC 1583 compatible
OSPF默认使用1583选路规则为:
OSPF区域内路由优于区域间
OSPF的区域间路由又优于外部路由
OSPF外部路由中E-type 1 优于E-type 2
如果内外部相同E-type 相同会计算外部+内部cost
最小的路由
8.如何减少OSPF数据库大小
特殊区域
过滤
汇总
5LSA的限制
OSPF区域划分
9、如何减少LSA数量?
DR与BDR
特殊区域
过滤
汇总
二、案例分析
OSPF router id 冲突
会产生什么问题?考察知识点:同一区域直连路由器router id相同会不会建立起邻居关系
R3和R4能够正常建立起邻居关系
区域一R2和R3协商hello报文,ospf头部的router id冲突,一致处于down状态
无法建立起邻居关系,不满足邻居关系建立的条件直连路由器相互router id冲突无法建立起邻居关系,down状态
OSPF Router id conflict is detected on interface
Neighbor Down Immediate reason=Neighbor Down Due to Kill Neighbor
会产生什么问题?考查知识点:路由器R2和R3,R3和R4能够建立起邻居关系,数据库同步成功,进入到full状态,建立邻接关系,进行SPF 算法,构建拓扑信息,R4将右边1类和2类LSA传递给R3,router id 是1.1.1.1,假设有网段2.0,R3传递给R2,R2收到后,我是1.1.1.1,但是我没有2.0的网段,会将age设置成3600s,通知删除当前lsa,R3收到后放入到数据库,通告给R4,R4我有路由信息,又传递给R3,R3又传递给R2,过一段时间后,双方会发现router id出现冲突,其中一方会更改自己的router id
但是R2的数据库中只有一份 1.1.1.1的只有一份,域内不相连路由器router id冲突一段,时间后会自动更改冲突的router id,一般会修改最早建立邻居关系的router id
过一段时间之后R1的router id更改为12.1.1.1,lsdb数据库中的LSA正常
会产生什么问题?
邻居关系正常建立,区域内和区域间路由表正常,区域间之间是使用三类LSA,R3是abr,三类LSA的产生,Link ID是网络地址,Adv router是AR3的router id,没有涉及到AR2的router id,所以不会产生影响,R4也能够正常收到这条三类LSA,路由表正常。
三类link state id
Network mask
Advrouter
Metric
会产生什么问题?
如果引入了外部路由,会产生5类lsa,通告路由器是asbr的R4的router id 1.1.1.1,会传递给R3,R3收到后,放到自己的数据库,同时传递给R2,R2收到这条路由后,自己router id为1.1.1.1,但是自己没有这条路由,会将age设置为3600,认为没有这条路由,该路由不可用,5类传递给R3收到后,传递给R4,R4收到后自己有这条路由,又会传递给R3,反复循环造成路由震荡
DD报文中填充接口的实际MTU
执行命令ospf mtu-enable,使能接口发送DD报文时填MTU值,同时还会检查邻居DD报文所携带的MTU是否超过本端的MTU值。
观察状态为什么会这样?
主从关系协商,从以主的序列号向主发送DD描述报文,进行mtu协商,进入exstart状态,携带自己的1500,主收到后序列号加1,向从发送DD描述报文,进行mtu协商,携带自己的1600,状态进入exstart状态,从收到后协商不成功,双方都卡在exstart状态
观察状态为什么会这样?
主从关系协商,R1产生随机序列号向主发送DD描述报文,进行mtu协商,进入exstart状态,携带自己的1600
,R2向R1发送DD描述报文,进行mtu协商,携带自己的1500,状态进入exstart状态,R1收到
后能够协商成功,状态变为exchange,向主发送DD描述报文,R2协商不通过
OSPF中外部路由引入
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令import-route 对应协议或直连
注意:
可以通过以下三条命令设置引入路由的开销值,其优先级依次递减:
通过apply cost命令设置的路由开销值。
通过import-route命令设置的引入路由开销值。
通过default命令设置引入路由的缺省开销值。
外部路由的环路问题
R4引入一条外部路由10.10.10.10.10,会生成7类lsa向区域1进行泛洪,R2和R3都能够收到本区域的7类lsa,由于R2和R3都为abr,进行比较R3的router id 大,R3会执行7类lsa转5类,FA地址24.1.1.4,R3既是abr又是asbr,向区域0进行通告,R1和R2都会收到5类lsa,R2会收到外部路由10.10.10.10的五类和七类LSA,R1要进行访问10.10.10.10,由于R1收到了5类lsa告诉10.10.10.10的FA下一跳为24.1.1.4,如何能够到达24.1.1.0,通过三类进行到达可以到达,R1到达24.1.1.0有两条路径,分别从R2到达R4,R3到R2然后到达R4,走上边的路径近,所以R1访问外部的路径为R1 R2 R4
如果在R3上执行了命令,抑制转发地址为0,R1收到R3传递的五类lsa,访问外部,R1到R3,R3访问下一跳是R4访问外部,通过R2,R2访问外部有5类lsa和7
类lsa
比较路径开销,左边为1,右边为48,R2走R1,R1到R3,R3再到R2形成环路
掌握OSPF 虚连接的配置方法
区域下执行命令vlink-peer 对端ABR的router-id 建立虚连接
如:在area 1下建立需要在两个ABR边界AR2 与AR3打执行vlink-peer
通过display vlink 查看虚连接建立情况
骨干区域被分割影响:考察点三类LSA防环原则,骨干区域是连续的,R2会接收非骨干区域学来的路由只接收不计算,无法给R1,同样R3也无法给R4,访问失败
做了虚连接,R2以单播以区域0三类lsa的形式通告给R3,同样R3也会以区域0三类的形式通告给R2,能够通信
[R1]display ospf lsdb
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 274 36 80000005 1
Router 1.1.1.1 1.1.1.1 281 36 80000004 1
Network 12.1.1.2 2.2.2.2 274 32 80000002
Sum-Net 23.1.1.0 2.2.2.2 315 28 80000001 1
[R1]display ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
添加后
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 584 36 80000004 1
Router 2.2.2.2 2.2.2.2 221 48 80000008 1
Router 1.1.1.1 1.1.1.1 618 36 80000004 1
Router 3.3.3.3 3.3.3.3 221 48 80000007 1
Network 34.1.1.4 4.4.4.4 584 32 80000002 0
Network 12.1.1.2 2.2.2.2 611 32 80000002 0
Sum-Net 23.1.1.0 2.2.2.2 652 28 80000001 1
Sum-Net 23.1.1.0 3.3.3.3 636 28 80000001 1
添加前
[R4]display ospf lsdb
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 183 36 80000004 1
Router 3.3.3.3 3.3.3.3 186 36 80000004 1
Network 34.1.1.4 4.4.4.4 183 32 80000002 0
Sum-Net 23.1.1.0 3.3.3.3 237 28 80000001 1
添加后
[R4]display ospf lsdb
OSPF Process 1 with Router ID 4.4.4.4
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 696 36 80000004 1
Router 2.2.2.2 2.2.2.2 337 48 80000008 1
Router 1.1.1.1 1.1.1.1 735 36 80000004 1
Router 3.3.3.3 3.3.3.3 335 48 80000007 1
Network 34.1.1.4 4.4.4.4 696 32 80000002 0
Network 12.1.1.2 2.2.2.2 726 32 80000002 0
Sum-Net 23.1.1.0 3.3.3.3 750 28 80000001 1
Sum-Net 23.1.1.0 2.2.2.2 767 28 80000001
添加前
[R2] display ospf lsdb
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 165 36 80000005 1
Router 1.1.1.1 1.1.1.1 174 36 80000004 1
Network 12.1.1.2 2.2.2.2 165 32 80000002 0
Sum-Net 23.1.1.0 2.2.2.2 206 28 80000001 1
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 161 36 80000004 1
Router 3.3.3.3 3.3.3.3 161 36 80000005
Network 23.1.1.3 3.3.3.3 161 32 80000002 0
Sum-Net 12.1.1.0 2.2.2.2 206 28 80000001 1
Sum-Net 34.1.1.0 3.3.3.3 190 28 80000001 1
添加后
[R2-ospf-1]display ospf lsdb
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 514 36 80000004 1
Router 2.2.2.2 2.2.2.2 151 48 80000008 1
Router 1.1.1.1 1.1.1.1 549 36 80000004 1
1
Network 34.1.1.4 4.4.4.4 514 32 80000002 0
Network 12.1.1.2 2.2.2.2 540 32 80000002 0
Sum-Net 23.1.1.0 2.2.2.2 581 28 80000001 1
Sum-Net 23.1.1.0 3.3.3.3 566 28 80000001 1
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 151 36 80000005 1
Router 3.3.3.3 3.3.3.3 152 36 80000006 1
Network 23.1.1.3 3.3.3.3 536 32 80000002 0
Sum-Net 12.1.1.0 2.2.2.2 581 28 80000001 1
1
添加后会进行区域内数据库的同步,虚连接相当于是area 0
区域划分不得当
伪abr无法产生三类lsa,是边界设备,abr具备产生三类的功能Abr至少有一个接口于骨干区域相连接
3类防环原则,从非骨干区域接收的3类lsa只接收不计算
Vlink 备份中间R7和R8之间的线路属于area 1 题目有问题vlink R7和R8
当前的图如果R5和R6中间的线路断开的话,相当于骨干区域被分割,只有做了虚连接通过虚连接骨干区域不被分割,
与外部路由引入会产生什么问题?
配置OSPF的协议优先级
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令preference [ ase ]
产生的问题:
次优路径
环路问题
隐式环路
引入外部路由10.10.10.10优先级150 cost 100五类lsa泛洪全网,
R7收到路由优先级150 cost 100 10.10.10.10
R8收到路由优先级150 cost 100 10.10.10.10
三个方面:R7的ospf引入到isis
加快OSPF的收敛
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入接口视图。
执行命令ospf timer retransmit interval,设置邻接路由器重传LSA的间隔。
OSPF的选路
方法一
等价路由:三条路由都运行OSPF协议,且几条路由的开销值也相同,那么这三条路由就是等价路由,形成了负载分担
执行命令maximum load-balancing number,配置最大等价路由数量。
比较原则:路由优先级接口地址下一跳IP地址
方法二
抑制接口选路使用
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令silent-interface { all | interface-type interface-number },抑制接口接收和发送OSPF报文。
为什么需要配置缺省路由?
当引入外部网络过多时我们可以选择不将外部路由引入到内部网络中而是通过缺省路由到达ASBR
配置引入缺省路由
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令default-route-advertise
配置OSPF对接收的路由进行过滤
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令filter-policy
由于OSPF是基于链路状态的动态路由协议,路由信息隐藏在链路状态中,所以不能使用filter-policy import命令对发布和接收的LSA进行过滤,原因是发送的lsa,而过滤的是路由信息,在生表的时候可以过滤。
该命令实际上是对OSPF计算出来的路由进行过滤,只有通过过滤的路由才被添加到路由表中。
因此,接收到的路由无论是否通过过滤,都不会对LSDB有影响。
配置对发送的LSA进行过滤
通过对发送的LSA进行过滤可以不向邻居发送无用的LSA,从而减少邻居LSDB 的大小,提高网络收敛速度。
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入接口视图。
执行命令ospf filter-lsa-out { all | { summary [ acl { acl-number | acl-name } ] | ase [ acl { acl-number | acl-name } ] | nssa [ acl { acl-number | acl-name } ] } * },配置对出方向的LSA进行过滤。
缺省情况下,不对发送的LSA进行过滤。
LSDB中External LSA的最大数量
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令lsdb-overflow-limit number,配置LSDB中External LSA的最大数量。
总结各种不同的过滤方式有什么要求?
配置路由聚合
配置ABR路由聚合
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
执行命令abr-summary ip-address mask [ [ advertise | not-advertise ] | cost cost ] *,配置OSPF的ABR路由聚合。
配置ASBR路由聚合
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令asbr-summary ip-address mask [ not-advertise | tag tag | cost cost | distribute-delay interval ] *,配置OSPF的ASBR路由聚合。
特殊区域
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
执行命令stub,配置当前区域为Stub区域。
配置stub注意事项
骨干区域(Area0)不能配置成Stub区域。
如果要将一个区域配置成Stub区域,则该区域中的所有路由器都要配置Stub区域属性。
Stub区域内不能存在ASBR,即自治系统外部的路由不能在Stub区域内传播。
Stub区域内不能存在虚连接。
NSSA区域基本相同。