其他分享
首页 > 其他分享> > 面试知多少,15k网工必备OSPF动态路由概论!

面试知多少,15k网工必备OSPF动态路由概论!

作者:互联网

##前言

####什么是OSPF?
OSPF(OpenShortestPathFirst,开放最短路径优先)是IETF(InternetEngineering
TaskForce,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。目前针对

IPv4协议使用的是OSPFVersion2。
####为什么要用OSPF?
OSPF是动态路由协议众的一种,OSPF基于收集到的链路状态用最短路径树算法计算路
由,相对于基于矢量进行路由传输的路由协议,OSPF有更健康的传输机制,适用于任何规模的网络。

####OSPF是如何工作的?
每台OSPF路由器根据自己周围的网络拓扑结构生成LSA(链路状态通告),并发送给
周围的OSPF路由器;每台路由器都会收集其他路由器的LSA,所有LSA放在一起便组成了
LSDB(链路状态数据库)。OSPF路由器将LSDB转换成一张拓扑图,再根据SPF算法算出到

每个节点的最短路径。

####OSPF的特点

1.适应范围广:OSPF协议支持各种规模的网络,最多可支持几百台路由器。
2.快速收敛:OSPF协议在网络的拓扑结构发生变化后立即发送更新报文,使这一变化
在自治系统中同步。
3.无自环:由于OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身
保证了不会生成自环路由。
4.区域划分:OSPF协议允许自治系统的网络被划分成区域来管理。路由器链路状态数
据库的减小降低了内存的消耗和CPU的负担;区域间传送路由信息的减少降低了网络带宽
的占用。
5.等价路由:OSPF支持到同一目的地址的多条等价路由。
6.路由分级:OSPF使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域
间路由、第一类外部路由、第二类外部路由。
7.支持验证:OSPF支持基于接口的报文验证,以保证报文交互和路由计算的安全性。
8.组播发送:OSPF在某些类型的链路上以组播地址发送协议报文,减少对其他设备的
干扰。

####OSPF的优点

1.Open,开放,兼容性好,各厂家支持。
2.SPF算法为树形算法,清晰区域内真实网络拓扑,路由计算精确,无环
3.相对于RIP,没有跳数限制,可支持中大型网络。
4.相对于RIP,收敛速度更快
5.相对于RIP,以接口Cost(默认由带宽决定)来判断路由优劣,而不是基于跳数。

####OSPF的区域
一个OSPF网络可以划分为多个区域(Area),如果只包含一个区域,则这样的OSPF网络称为单区域OSPF网络;如果一个OSPF网络包含了多个区域,则这样的OSPF网络称为多区域OSPF网络。

在OSPF网络中,每一个区域都会有对应的编号,Area-ID,其中ID可以是任意十进制数字。

一般称Area-ID为0的区域称为骨干区域,其他区域称为标准区域。单区域的OSPF网络只包含一个区域,所以这个区域必须是骨干区域(不用Area0照样可以,只是不利于扩展)。

在多区域的OSPF网络之中,所有非骨干区域的网络都必须与骨干区域直接相连,非骨干区域不允许直连。所以,标准区域之间的通信必须通过骨干区域中转才能进行。

####OSPF区域中的4种路由器
IR:如果一台OSPF路由器属于单个区域,即该路由器所有接口都属于同一个区域,那么这台路由器称为IR(InternalRouter)。

ABR:如果有一台路由器的某些接口属于Area0,其他接口属于别的区域,则这样的路由器被称为ABR(区域边界路由)。

ASBR:如果有一台路由器是与本网络(OSPF)之外的网络(例如RIP、EIGRP、静态路由等)相连,且将外部网络的路由信息引入本网络,这样的路由器称为ASBR(自治系统边界路由器)。

骨干路由器(BackboneRouter):该类路由器至少有一个接口属于骨干区域。因此,所有的ABR和位于Area0的内部路由器都是骨干路由器。

####OSPF中支持的4种网络类型

1.广播类型(Broadcast)
2.NBMA类型Non-BroadcastMulti-Access)
3.点到多点P2MP类型(Point-to-Multipoint)
4.点到点P2P类型(point-to-point)

####链路状态LSA
OSPF是一种基于链路状态的路由协议,相对于RIP协议通过矢量判断路径的跳数,它更注重路径的状态。链路状态(LSA)就是OSPF接口上的描述信息,例如接口上的IP地址,子网掩码,网络类型,Cost值等等。

在OSPF网络中,路由器会毫无保留的把自己所有的链路状态发送给邻居。邻居将收到的所有LSA信息放入链路状态数据库,邻居再发送给邻居,再传递过程中,不会有任何修改。

这样,网络中所有的OSPF路由器都拥有整个网络的链路状态,能通过链路状态描绘出相同的网络结构。

####OSPF的5种数据报文

1.Hello报文:周期性发送,用来发现和维持OSPF邻居关系。
2.DD报文:描述本地LSDB(LinkStateDatabase链路状态数据)的摘要信息,用于两
台设备进行数据库同步。
3.LSR报文:用于向对方请求所需的LSA。
4.LSU报文:用于向对方发送其所需要的LSA。
5.LSAck报文:用来对收到的LSA进行确认。

####OSPF建立邻接关系过程的7个状态

1.down:双方路由器没有进行任何交互
2.Init:此状态只能交换hello报文,无任何其他信息
3.Two-way:hello报文交换之后,达到two-way状态,建立邻居关系
4.Exstart:进行主从关系选举,确定谁先发送DD报文
5.Exchange:交互DD报文,建立各自拓扑表。
6.Loading:请求对方路由信息,交互LSA,LSU,LSACK报文
7.Full:建立邻接关系,LSDB同步。

####邻居和邻接
在OSPF中,邻居(Neighbor)和邻接(Adjacency)是两个不同的概念。

OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文。收到Hello报文的OSPF路由器会检查报文中所定义的参数,如果双方一致就会形成邻居关系。
形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类型而定。只有当双方成功交换DD报文,交换LSA并达到LSDB的同步之后,才形成真正意义上的邻接关系

####OSPF的建立过程
OSPF的建立过程可以简单分为以下3个过程

1>建立邻居关系
2>建立各自的拓扑表
3>建立邻接关系

#####1.建立邻居关系。
双方路由器初始为down状态,连接之后进入init状态,开始互相交换hello数据
包,通过hello报文得到路由器基本信息之后,进入two-way状态,开始建立邻居关系。
邻居关系建立之后进入exstart状态。

#####2.建立各自的拓扑表
进入exstart状态后确立主从关系,互相交换LSA摘要信息之后变为exchange状态

#####3.建立邻接关系
正在同步lsdb(链路状态数据库),但还未同步完成,两台设备的关系是loading
完成lsdb同步,进入full状态,成立邻接关系。

标签:报文,区域,网工,链路,15k,OSPF,路由,路由器
来源: https://blog.csdn.net/ZYJY2020/article/details/115086021