OSPF动态路由协议的单区和多区

OSPF动态路由协议的单区和多区

一、OSPF路由协议

ospf:链路状态路由协议,承载在IP数据包内(网络层)使用协议号89。

(一)内部网关协议和外部网关协议

1.AS自治系统:同一技术管理机构管理,使用统一选路策略的一些路由器的集合
2.内部网关协议(IGP):内部网关路由协议,运行在AS内部的路由协议,主要是解决AS内部的选路问题,发现,计算路由。 主要包含RIPV1 和RIPV2,OSPF,ISIS
3.外部网关协议(EGP):外部网关路由协议,运行在AS与AS之间的路由协议解决AS之间选路问题。BGP

(二)ospf工作过程

1.邻居列表
2.链路状态数据库
3.路由表
传信的路由——建立邻接关系—(学习链路状态信息)—链路状态数据库—(SPF算法)—最短路径树——路由表

(三)ospf区域

1.1.为了适应大型的网络,OSPF在AS内划分多个区域。
1.2.每个OSPF路由器只维护所在区域的完整链路状态信息。
2.区域ID:区域ID可以表示成一个十进制的数字,也可以表示成IP
3.由骨干区域和非骨干区域组成
3.1骨干区域 Area 0 负责区域间路由信息转播
3.2非骨干区域 Area 1,Area 2

(四)Router ID

Router ID:OSPF区域内唯一表示路由器的IP地址
Router ID选取规则:
1.选取路由器loopback接口上数值最高的IP地址
2.如果没有loopback接口,在物理端口中选取IP地址最高的
3.用Router-id命令指定Router ID(优先级最高)

(五)DR和BDR

广播网络中建立邻接关系,两两学习,构成N(N-1)/2个链路
DR指定路由器:所有路由器指向DR(指定路由器)学习,与其他路由形成一对一对应关系
DRothers其他路由器:只和DR和BDR形成邻接关系

(六) DR和BDR选举方法

1.自动选举DR和BDR:网段上Router ID最大的路由器:DR,第二大:BDR
2.手工选择DR和BDR:

  • 优先级范围0~255,数值越大,优先级越高,默认为1
  • 如果优先级相同,则需要比较Router ID
  • 如果路由器的优先级被设为0,它将不参与DR和BDR的选举
    路由器的优先级可以影响一个选举过程,但是不能强制更换已经存在的DR或BDR路由器,在一组路由器中先开启的可能已成为DR

(七)两个组播地址

224.0.0.5——开机时,互相发送hello包,状态信息交互,选举DR和BDR,DR,BDR发送路由变更消息给其他路由
224.0.0.6——其他路由器通过224.0.0.6发送路由变更信息给DR和BDR

(八)ospf五种类型包

类型 作用
Hello包 用于发现和维持邻居关系,选举DR和BDR
数据库描述包(DBD) 用于向邻居发送摘要信息,以同步链路状态数据库
链路状态请求包(LSR) 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路状态更新包(LSU) 收到LSR后发送链路状态通告(LSA) ,一个LSU数据包可能包含几个LSA
链路状态确认包(LSAck) 确认已经收到DBD/ LSU,每个LSA需要被分别确认

(九)ospf建立邻接关系的7个状态机

1.Down(初始化): 邻居状态机的初始状态,没收到对方的Hello报文或OSPF没启动时。
2.Init(收到第一个hello包):邻居收到我发送的包含我的Router ID的hello包,但是我没有收到邻居的hello包
3.2-Way(建立双向会话):本状态表示双方互相收到了对端发送的Hello报文,建立邻居关系。我也收到了包含邻居Router ID的hello包。
4.ExStart(建立主从关系):在此状态下,通过对比Router ID和优先级来选举DR和BDR建立主从关系。
5.Exchange(交换摘要信息): 相互发送DBD报文链路状态信息摘要,并且相互发送LAck报文确认收到DBD报文
6.Loading(加载详细信息):从DBD报文中获取到新的路由摘要消息,则发送LSR报文请求更详细的路由信息,邻居发送LSU报文包含关于新路由条目的完整信息,并且相互发送LAck确认收到LSA链路状态通告,LSU包含多个LSA条目,每个LSA都要被确认
7.Full(完成连接): 在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了。完成了邻接关系的建立。

(十)OSPF网络类型

1.点到点网络(pint-to-point)
——自动发现邻居,不需DR/BDR,组播224.0.0.5
2.广播多路访问网络(Broadcast MultiAccess, BMA)
——自动发现邻居、选DR/BDR,组播224.0.0.5、 224.0.0.6
3.非广播多路访问网络(None Broadcast MultiAccess,,NBMA)
——手工指定邻居、选DR/BDR、 单播
4.点到多点网络(Point-to-Multipoint)
——自动发现邻居,不需DR/BDR.组播224.0.0.5
(十一)ospf特点
1.可适应大规模网络
2.路由器变化收敛速度快
3.无路由环路
4.可支持区域划分
5.支持可变长的子网掩码
6.支持以组播地址发送协议

二、OSPF多区的原理及配置

(一)概述

1.多区产生的原因

生成OSPF多域的原因:a.改善网络的可拓展性b.加速收敛

2.ospf三种通信量

2.1 域内通信量(intra-area traffic)
单个区域内的路由器之间交换数据包的构成的通信量
2.2域间通信量 (inter-area traffic)
不同区域的路由器之间交换数据包构成的通信量
2.3外部通信量(external traffic)OSPF域内的路由器与OSPF区域外或另一个自治系统内的路由器之间交换数据包构成的通信量

3.OSPF 的路由器类型

3.1内部路由器:只保存本区域的链路状态信息
3.2区域边界路由器(ABR):将负责连接Area 0和其他区域的通信
3.3自治系统边界路由器(ASBR):学习外部的路由,注入ospf区域。学习ospf区域路由注入其他AS中

4.区域类型

4.1骨干区域
4.2非骨干区域(根据能学习到的路由种类来区分)
a.标准区域
b.末梢区域(stub)
c.完全末梢区域(totally stubby)
d.非纯末梢区域(nssa)

(二)链路状态数据库

1.链路状态数据库的组成

1.1每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库
1.2链路状态数据库中每个条目称为LSA(链路状态通告),常见的有六种LSA类型

2.常见的6种LSA类型

Type 1(路由器LSA):由区域内的路由器发出的,描述路由器的链路状态和花费,传递到整个区域内
Type 2(网络LSA):由区域内的DR发出的,描述了区域内变更信息,在整个区域内传播
Type 3(网络汇总LSA):ABR发出的,其他区域的汇总链路通告,描述了其他区域内某一网段的路由,区域间传递
Type 4(ASBR汇总LSA):ABR发出的,用于通告ASBR信息,确定ASBR的位置,不会出现在ASBR所属区域之内
Type 5(AS外部LSA):ASBR发出的,用于通告外部路由,告诉相同AS的路由器通往外部AS的路径,在整个AS中进行泛洪
Tpye 7(NSSA外部LSA):NSSA区域内的ASBR发出的,用于通告本区域连接的外部路由,与Type 5类似,仅在非纯末梢区域内进行泛洪,传递时会被ABR转换位LSA5

(三)末梢区域和完全末梢区域

1.概述

1.四个条件

  • 只有一个默认路由作为其区域的出口
  • 区域不能作为虚链路的穿越区域
  • Stub区域里无自治系统边界路由器ASBR
  • 不是骨干区域Area 0

2.末梢区域:没有LSA4、5、7通告
完全末梢区域:除一条LSA3的默认路由通告外,没有LSA3、4、5、7通告
3.作用:其主要目的是减少区域内的LSA条目以及路由条目,减少对设备CPU和内存的占用;末梢区域和完全末梢区域中ABR会自动生成一条默认路由发布到末梢区域或完全末梢区域中。

2.末梢区域配置命令

ABR配置
[R4]ospf 1
[R4-ospf-1]area 0 #先配与其他区域相直连的网段
[R4-ospf-a-area-0.0.0.0]network x.x.x.x x.x.x.x #宣告直连网段,反掩码
[R4-ospf-1]area 2
[R4-ospf-a-area-0.0.0.2]network x.x.x.x x.x.x.x #宣告直连网段,反掩码
[R4-ospf-a-area-0.0.0.2]stub
区域内部路由配置
[R5]ospf 1
[R5-ospf-1]area 2
[R5-ospf-a-area-0.0.0.2]network x.x.x.x x.x.x.x #宣告直连网段,反掩码
[R5-ospf-a-area-0.0.0.2]stub

3.完全末梢区域配置命令

ABR配置
[R4]ospf 1
[R4-ospf-1]area 2
[R4-ospf-a-area-0.0.0.2]network x.x.x.x x.x.x.x #先宣告直连网段,反掩码
[R4-ospf-a-area-0.0.0.2]stub no-summary
区域内路由配置
[R5]ospf 1
[R5-ospf-1]area 2
[R5-ospf-a-area-0.0.0.2]network x.x.x.x x.x.x.x #先宣告直连网段,反掩码
[R5-ospf-a-area-0.0.0.2]stub

上一篇:pytest参数化


下一篇:python appium app ui 自动化