文章目录
- OSPF
- 1.OSPF特点
- 2.OSPF三张表
- 3.链路状态协议工作原理
- 4.OSPF报文类型
- 5.从宏观上理解OSPF邻居关系的建立
- 6.从细节上理解OSPF邻居关系的建立
- 7.DR、BDR
- 8.OSPF的area概述
- 9.OSPF进程号
- 10.OSPF协议的七类LSA
- 11.OSPF四种特殊区域
- 12.路由汇总
OSPF
概述:开放式最短路径优先OSPF (Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol) 。目前针对IPv4协议使用的是OSPF Version 2 , 针对IPv6协议使用OSPF Version 3
1.OSPF特点
OSPF作为基于链路状态的协议还有以下特点:
- OSPF采用组播形式收发协议报文,这样可以减少对其它不运行OSPF路由器的影响
- OSPF支持无类型域间选路
- OSPF支持对等价路由进行负载分担
- OSPF支持报文认证
2.OSPF三张表
- 邻居表(Peer table) :OSPF是一种可靠的路由协议,要求在路由器之间传递链路状态通告之前,需先建立OSPF邻居关系,OSPF路由器的邻居信息显示在邻居表中
- 链路状态数据库(Link-state database,简称LSDB) :OSPF将自己产生的以及邻居通告的LSA搜集并存储在LSDB中
- OSPF路由表(Routing table) :基于LSDB进行SPF(Dijkstra算法) 计算,而得出最优路径选择,再将其计算结果储存进OSPF路由表中
3.链路状态协议工作原理
- 运行链路状态路由协议的路由器,彼此之间交互的信息是LSA (链路状态通告)
- 每台路由器将搜集到的LSAs放入自己的LSDB (链路状态数据库)存储起来。有了LSDB,路由器相当于掌握了全网的拓扑
- 每台路由器基于LSDB,使用SPF(最短路径算法)进行计算cost值,得到一个以自己为根覆盖全网的无环的树
- OSPF使用cost“开销”作为路由度量值,OSPF接口cost=100M /接口带宽,其中100M为OSPF的参考带宽(reference-bandwidth),可以修改每一个激活OSPF的接口都有一个cost值,一条OSPF路由的cost由该路由从起源一路到达本地的所有入接口cost值的总和
- 每台路由器根据SPF的计算结果,将路由加载进OSPF路由表中,然后再加载进全局路由表中
4.OSPF报文类型
注释:
- hello报文的周期性默认为10s,还有40s的存活时间,hello报文用于发现直连链路上的其他OSPF路由器,再经过一系列的OSPF消息交互最终建立起全毗邻的邻居关系
- DD报文中只有LSA的头部信息
5.从宏观上理解OSPF邻居关系的建立
注释:
- 主/从关系根据Route-ID选择,大的为主
- OSPF域中,每台路由器的Route-ID具有唯一性
6.从细节上理解OSPF邻居关系的建立
注释:
- DOWN:初始状态R1和R2的邻居都为0
- INIT:相对于R2来说R1为INIT状态(第一次收到hello报文时)
- Two-way:只有双方都Two-way状态后才成为邻居关系,在此过程会选择DR\BDR路由器
- Ex-start:双方同时发报文对比Router-ID,选举主/从,报文中I=1表示正在协商主从关系,I=0表示已确认主从关系,M=1表示后面还有报文,M=0表示后面没有报文,MS=1表示是master路由发的报文,MS=0表示是备路由器发送的报文
- Exchange:选好主从后发送交互信息,此过程为了数据的有序性和可靠性会循环发送,其中系列号只能由主路由器选择,备路由器的序列号就为主路由器发送过来的序列号
- Loading:R1发LSR报文请求所需的LSA,R2再发LSU报文回复LSA给R1,R1发LSACK报文确认收到LSA
- Full:最终建立起全毗邻的邻居关系
7.DR、BDR
- 为减小多路访问网络中的OSPF流量,OSPF 会在每一个MA网络(多路访问网络)选举一 个指定路由器(DR)和一一个备用指定路由器(BDR)
- DR选举规则:最高优先级拥有者被选作DR,如果优先级相等(默认为1) ,选Router-ID最高的路由器为DR
- 并且DR具有非抢占性 ,当DR故障后,BDR上位为DR,如果原DR路由器恢复效果,也不会抢占此时的DR
- 指定路由器(DR): DR负责使用该变化信息更新其它所有OSPF路由器(DRother)
- 备用指定路由器(BDR):BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
- BR和BDP是基于路由器接口的
- DRother路由器直接的交互信息都是通过DR路由器来完成的,它们自己不会交互信息
- 当DRother路由器上有网络拓扑的更新时,会发送LCU报文(组播)到224.0.0.6,DR、BDR监听224.0.0.6这一组播地址,DR向组播地址224.0.0.5发送更新以通知其它路由器,所有的OSPF路由器都监听224.0.0.5这一组播地址。
8.OSPF的area概述
1)OSPF area多区域的优点:
- 减少了LSA泛洪的范围,有效地把拓扑变化控制在区域内,达到网络优化的目的
- 在区域边界可以做路由汇总,减小了路由表
- 充分利用OSPF特殊区域的特性,进一步减少LSA泛洪, 从而优化路由
- 多区域提高了网络的扩展性,有利于组建大规模的网络。
2)area0:表示骨干区域,每个OSPF中必须只有一个area0,所有非骨干区域交互信息必须通过骨干area0进行中转,所有的非骨干区域必须与骨干区域“直连”
3)OSPF路由器角色:
- 区域内路由器IR,Internal Router
- 区域边界路由器ABR,Area Border Router
- 骨干路由器BR,Backbone Router
- AS边界路由器ASBR,AS Boundary Router 如下图R1
9.OSPF进程号
- OSPF进程号的取值范围是1-65535,只具有本地意义,用于在一台网络设备上标识OSPF进程
- 由于进程号只具有本地意义,因此两台直连的设备,如果要建立OSPF邻接关系,则并不要求二者使用相同的进程号。
10.OSPF协议的七类LSA
- Type-1 LSA:Router LSA
每个OSPF路由器针对它所在的区域产生Type-1 LSA ,描述本设备连接到该区域的直连接口状态及cost等信息,Type-1 LSA只允许在区域内洪泛,不允许跨越ABR (跨越区域)
|dis ospf lsdb router //查看LSDB表中的1类LSA信息
- Type-2 LSA:Network LSA
Type-2 LSA由DR产生,描述其在该MA网络上连接的所有OSPF路由器的Route-ID,Type-2 LSA中没有cost字段,只在本区域内泛洪,不允许跨越区域泛洪
|dis ospf lsdb network //查看LSDB表中的2类LSA信息
- Type-3 LSA:Network Summary LSA
只有ABR路由器才能够产生Type-3 LSA,如果一台ABR有多条路径可以到达直连区域内的某个目的网段,那么它将只会为该网段产生一条Type-3 LSA注入到Area0 ,而且这条Type-3 LSA的cost是.上述多条路径中cost的最小值,当ABR在Area0中存在一个全毗邻( Full )的邻居时,它只能使用Area0中学习到的Type-3 LSA计算区域间的路由,而不能使用从非0 Area学习到的Type-3 LSA计算区域间的路由
|dis ospf lsdb summary //查看LSDB表中的3类LSA信息
- Type-4 LSA:ASBR Summary LSA
由ABR路由器产生,用于描述ASBR
|dis ospf lsdb asbr //查看LSDB表中的4类LSA信息
- Type-5 LSA:AS External LSA
Type-5 LSA由ASBR产生,用于描述OSPF自治系统外的路由信息,当ASBR执行了路由重发布动作时,被引入到OSPF的外部路由将使用该类L SA来描述
|dis ospf lsdb ase //查看LSDB表中的5类LSA信息
- Type-7 LSA:NASA External LSA
由ASBR产生,内容几乎和LSA5类是相同的,但NSSA LSA仅仅在始发这个LSA的NSSA内泛洪,不能直接进入骨干区域,NSSA的ABR会将7类LSA转换成5类LSA注入到骨干区域。
|dis ospf lsdb nssa //查看LSDB表中的7类LSA信息
注意:需要在R3和R4的OSPF协议中同时注入nssa后才能查看
11.OSPF四种特殊区域
- stub area区域:
Area0不能配置成Stub Area,如果要将一个Area配置成Stub Area ,则该Area中的所有路由器都要配置Stub Area属性,否则邻居关系无法正常建立
Stub Area内不能存在ASBR ,即自治系统外部的路由不能在Stub Area内传播,Stub Area内不能存在虚连接
Stub Area禁止4、5类LSA泛洪,允许骨干区域进入的3类LSA ,同时ABR会自动下发3类LSA的缺省路由 - Totally Stub area区域:
Totally Stub禁止3、 4、5类LSA泛洪 ,同时ARB会自动下发3类LSA的缺省路由
Totally Stub Area的ABR会自动向该区域下发使用Type-3 LSA描述的的默认路由
Totally Stub Area路由器禁止执行外部路由重发布动作 - Not-so-stubby area区域:
NSSA禁止从骨干区域进入的4、5类LSA ,但是允许本地区域注入AS外部路由,这些外部路由以7类LSA在NSSA内泛洪,NSSA ABR下发一条7类的缺省路由。 - Totally nssa area区域:
在NSSA的基础_上,禁止从骨干区域进入的3类LSA ,同时NSSA ABR下发一条3类的缺省路由。
12.路由汇总
路由汇总,又被称为路由聚合(Route Aggregation,或route summary),即是将一组有规律的路由汇 聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的
路由汇总是一个非常重要的网络设计思想,一个可汇总的网络设计方案将使得我们的网络更加优化、路由条目更加精简、网络管理更加简单。在网络设计及部署中应时刻保有路由汇总的意识
不仅仅静态路由能够部署路由汇总,动态路由协议也都支持路由汇总功能