本文主要是介绍OSPF路由原理详解与关键点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一.
OSPF简介:
二.
OSPF原理描述:
三.
OSPF的核心内容:
四.
OSPF的邻居关系和邻接
五.
LSA在各区域中传播的支持情况
一.
OSPF简介:
开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。
目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。
OSPF协议是因为 Internet 社区中需要为TCP/IP协议族引入具备强大功能的非专有内部网关协议 (IGP)。关于创建Internet通用互操作IGP的讨论从1988年就开始了,但直到 1991年才正式成形。当时OSPF 工作组请求为了 Internet 草案标准的发展而考虑OSPF。
OSPF 协议基于链路状态技术,不同于传统Internet 路由协议(如 RIP)中使用的基于距离矢量的算法。OSPF引入了一些新概念,如可变长度子网掩码(VLSM) 、路由汇总等。
二.
OSPF原理描述:
Router ID
如果要运行OSPF协议,必须存在Router ID。Router ID是一个32比特无符号整数,是一台路由器在自治系统中的唯一标识。
Router ID的设定有两种方式:
-
通过命令行手动配置,在实际网络部署中,建议手工配置OSPF的Router ID,因为这关系到协议的稳定。
-
通过协议自动选取。
如果没有手动配置Router ID,设备会从当前接口的IP地址中自动选取一个作为Router ID。其选取顺序是:
-
优先从Loopback地址中选择最大的IP地址作为Router ID。
-
如果没有配置Loopback接口,则在接口地址中选取最大的IP地址作为Router ID。
-
在路由器运行了OSPF并确定了Router ID后,如果该Router ID对应的接口Down或者接口消失(例如执行了undo interface loopback loopback-number)或者出现更大的IP地址,OSPF将仍然保持原Router ID。只有重新配置系统的Router ID或者OSPF的Router ID,并且重新启动OSPF进程后,才会进行Router ID的重新选取。
链路状态
OSPF是一种链路状态协议。可以将链路视为路由器的接口。链路状态是对接口及接口与相邻路由器的关系的描述。例如接口的信息包括接口的IP地址、掩码、所连接的网络的类型、连接的邻居等。所有这些链路状态的集合形成链路状态数据库。
COST
-
OSPF使用cost“开销”作为路由度量值。
-
每一个激活OSPF的接口都有一个cost值。OSPF接口cost=100M/接口带宽,其中100M为OSPF的参考带宽(reference-bandwidth)。
-
一条OSPF路由的cost由该路由从路由的起源一路到达本地的所有入接口cost值的总和。
三.
OSPF的核心内容:
二种认证方式:
视图
作用
OSPF区域 整个区域的在加入此区域时都需要进行认证 接口 仅仅相邻的需要进行认证 三张表:
路由表
含义
OSPF路由表 记录OSPF可达路由 OSPF邻居表 记录OSPF的邻居关系等 OSPF LSDB表 记录了OSPF相关的各类LSA 四种网络类型
网络类型
含义
广播类型(Broadcast)
当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast。
在该类型的网络中:
- 通常以组播形式发送Hello报文、LSU报文和LSAck报文。其中,224.0.0.5的组播地址为OSPF设备的预留IP组播地址;224.0.0.6的组播地址为OSPF DR/BDR( Backup Designated Router)的预留IP组播地址。
- 以单播形式发送DD报文和LSR报文。
NBMA类型(Non-Broadcast Multi-Access)
当链路层协议是帧中继、X.25时,缺省情况下,OSPF认为网络类型是NBMA。
在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
点到多点P2MP类型(Point-to-Multipoint)
没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA改为点到多点的网络。
在该类型的网络中:
- 以组播形式(224.0.0.5)发送Hello报文。
- 以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。
点到点P2P类型(point-to-point)
当链路层协议是PPP、HDLC和LAPB时,缺省情况下,OSPF认为网络类型是P2P。
在该类型的网络中,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
五种报文
报文类型
报文作用
Hello报文
周期性发送,用来发现和维持OSPF邻居关系。
DD报文(Database Description packet)
描述本地LSDB(Link State Database)的摘要信息,用于两台设备进行数据库同步。
LSR报文(Link State Request packet)
用于向对方请求所需的LSA。
设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。
LSU报文(Link State Update packet)
用于向对方发送其所需要的LSA。
LSAck报文(Link State Acknowledgment packet)
用来对收到的LSA进行确认。
六个区域:
区域类型
作用
普通区域
缺省情况下,OSPF区域被定义为普通区域。普通区域包括标准区域和骨干区域。
- 标准区域是最通用的区域,它传输区域内路由,区域间路由和外部路由。
- 骨干区域是连接所有其他OSPF区域的中央区域。骨干区域通常用Area 0表示。
STUB区域
不允许发布自治系统外部路由,只允许发布区域内路由和区域间的路由。
在STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少。
为了保证到自治系统外的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部的路由都必须通过ABR才能发布。
Totally STUB区域
不允许发布自治系统外部路由和区域间的路由,只允许发布区域内路由。
在Totally STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少。
为了保证到自治系统外和其他区域的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部和其他区域的路由都必须通过ABR才能发布。
NSSA区域
NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中。
NSSA区域同时保留自治系统内的STUB区域的特征。
该区域的ABR发布Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。
Totally NSSA区域
Totally NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中。
Totally NSSA区域同时保留自治系统内的Totally STUB Area区域的特征。
该区域的ABR发布Type3和Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。
七类LSA(OSPFV2)
LSA类型
LSA作用
Router-LSA(Type1)
每个设备都会产生,描述了设备的链路状态和开销,在所属的区域内传播。
Network-LSA(Type2)
由DR(Designated Router)产生,描述本网段的链路状态,在所属的区域内传播。
Network-summary-LSA(Type3)
由ABR产生,描述区域内某个网段的路由,并通告给发布或接收此LSA的非Totally STUB或NSSA区域。例如:ABR同时属于Area0和Area1,Area0内存在网段10.1.1.0,Area1内存在网段11.1.1.0,ABR为Area0生成到网段11.1.1.0的Type3 LSA;ABR为Area1生成到网段10.1.1.0的Type3 LSA,并通告给发布或接收此LSA的非Totally Stub或NSSA区域。
ASBR-summary-LSA(Type4)
由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。
AS-external-LSA(Type5)
由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了STUB区域和NSSA区域)。
NSSA LSA(Type7)
由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
四.
OSPF的邻居关系和邻接
在广播网和NBMA网络中,任意两台路由器之间都要传递路由信息。网络中有n台路由器,则需要建立n*(n-1)/2个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题,OSPF定义了指定路由器DR和备份指定路由器BDR。通过选举产生DR(Designated Router)后,所有路由器都只将信息发送给DR,由DR将网络链路状态LSA广播出去。除DR和BDR之外的路由器(称为DR Other)之间将不再建立邻接关系,也不再交换任何路由信息,这样就减少了广播网和NBMA网络上各路由器之间邻接关系的数量。
简单来说就是OSPF中邻居关系是运行OSPF的路由器与被选出的DR和BDR建立邻接关系最后状态变为FULL,而非DR和BDR的邻居是只能停止在2-way关系
七种邻居关系的状态
当前状态
作用
Down 邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包Init 从邻居收到了hello报文,但自己的router-id不在所收到的hello报文中。2-way 从邻居收到的Hello报文中包含有自己的Router ID,则状态为2-way;如果不 需要形成邻接关系则邻居状态机就停留在此状态,否则进入Exstart状态。 Exstart 开始协商主从关系,并确定DD的序列 号,此时状态为Exstart。 Exchange 主从关系协商完毕后开始发送包含摘要消息的DD报文,此时状态为Exchange Loading 相互发送LSR、LSU、LSAck报文 Full 路由器已经完成了邻居的LSDB的同步
五.
LSA在各区域中传播的支持情况
区域类型 | Router-LSA(Type1) | Network-LSA(Type2) | Network-summary-LSA(Type3) | ASBR-summary-LSA(Type4) | AS-external-LSA(Type5) | NSSA LSA(Type7) |
---|---|---|---|---|---|---|
普通区域(包括标准区域和骨干区域) | 是 | 是 | 是 | 是 | 是 | 否 |
Stub区域 | 是 | 是 | 是 | 否 | 否 | 否 |
Totally Stub区域 | 是 | 是 | 否 | 否 | 否 | 否 |
NSSA区域 | 是 | 是 | 是 | 否 | 否 | 是 |
Totally NSSA区域 | 是 | 是 | 否 | 否 | 否 | 是 |
有想更深入了解的小伙伴可以在华为官网上进行学习
OSPF - 华为 (huawei.com)
有小伙伴想考数通的HCIP的和想获取相关内容文件的课件的可以进群讨论,找志同道合的人,一起讨论问题
这篇关于OSPF路由原理详解与关键点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!