HCIE之OSPF基础(十九)

OSPF理论

  • 一、OSPF基本原理(回顾)
  • [1. 邻居建立](#1. 邻居建立)
  • [2 DR选举](#2 DR选举)
    • [2.1 为什么选?](#2.1 为什么选?)
    • [2.2 在哪选?](#2.2 在哪选?)
    • [2.3 怎么选?](#2.3 怎么选?)
    • [2.4 选完后如何工作?](#2.4 选完后如何工作?)
  • [3 OSPF邻居状态机](#3 OSPF邻居状态机)
    • [3.1 Down](#3.1 Down)
    • [3.2 Init](#3.2 Init)
    • [3.3 2-way](#3.3 2-way)
    • [3.4 Ex-Start](#3.4 Ex-Start)
    • [3.5 Exchange](#3.5 Exchange)
    • [3.6 loading](#3.6 loading)
    • [3.7 Full](#3.7 Full)
  • [4 OSPF建立并维护的3张表项](#4 OSPF建立并维护的3张表项)
  • [5 SPF算法](#5 SPF算法)
  • [6 OSPF 网络类型](#6 OSPF 网络类型)
  • [7 OSPF的区域类型](#7 OSPF的区域类型)
    • [7.1 非骨干区域根据能够学习到的路由种类划分](#7.1 非骨干区域根据能够学习到的路由种类划分)
  • [8 OSPF常见的LSA类型](#8 OSPF常见的LSA类型)
    • [8.1 常见LSA的类型](#8.1 常见LSA的类型)
    • [8.2 常见LSA详解](#8.2 常见LSA详解)
      • [8.2.1 LSA Type-1 ------ 路由器LSA](#8.2.1 LSA Type-1 —— 路由器LSA)
        • [8.2.1.1 LSA Type-1输出信息详解](#8.2.1.1 LSA Type-1输出信息详解)
      • [8.2.2 LSA Type-2 ------ 网络LSA](#8.2.2 LSA Type-2 —— 网络LSA)
      • [8.2.3 LSA Type-3 ------ 网络汇总LSA](#8.2.3 LSA Type-3 —— 网络汇总LSA)
      • [8.2.4 LSA Type-4 ------ ASBR汇总LSA](#8.2.4 LSA Type-4 —— ASBR汇总LSA)
      • [8.2.5 LSA Type-5 ------ AS外部LSA](#8.2.5 LSA Type-5 —— AS外部LSA)
      • [8.2.6 OSPF Link ID与Data说明](#8.2.6 OSPF Link ID与Data说明)
  • [9 OSPF的路径类型](#9 OSPF的路径类型)

一、OSPF基本原理(回顾)

1. 邻居建立

1.1(4+1+1)HELLO包影响邻居建立的因素。

四个参数必须一致:

  1. HELLO,DEAD时间必须一致;
  2. 区域ID必须相同;
  3. 认证必须相同;
  4. 特殊区域标示位必须相同;

一个参数必须不一致:

  1. Router ID不能相同;

有时比有时不比:

  1. 掩码,广播网络类型需要比较,P2P网络类型不比较

//以上6点都是Hello包或OSPF头部中的字段

1.2 其它影响邻居建立的因素:

1、DBD报文中的MTU不匹配无法形成邻接关系(一边是EXSTART,一边是EXCHANGE);

华为设备默认关闭,可使用ospf mtu-enable 开启

(Cisco设备默认开启,可使用ip ospf mtu-ignore关闭,在小的一方改即可)

2、在MA网络,二边的接口优先集都是0的时候,只会处于邻居状态,不同步LSA。

3:网络类型不一致,一边是p2p,一边是MA。邻居关系正常,但是不能进行SPF计算,不能产生路由表。

4:Silent-interface。静默端口,不发送和不接收任何OSPF相关报文。

1.3 基本配置

1.4 验证命令

2 DR选举

2.1 为什么选?

  1. 加快网络收敛
  2. 减少冗余的更新,减少资源占用

2.2 在哪选?

  • 每一个MA网络选一个DR/BDR

2.3 怎么选?

  1. DR是基于端口的路由器优先级的值进行选举的。
  2. 默认为 1. 范围是 0 - 255.越大越优先
  3. 优先级为 0 的将永远不参与竞选 DR 以及 BDR.
  4. 如果优先级相同时,则比较Router ID,越大越优先

2.4 选完后如何工作?

邻居与邻接的区别:

  • 邻居不同步LSA
  • 邻接是同步LSA

3 OSPF邻居状态机

  • 一共分为7个状态:

3.1 Down

a. 如何进入?

Network宣告一个接口后,此接口进入down。

b. 做什么?

发送一个hello,尝试建立邻居。

3.2 Init

a. 如何进入?

-->Hello[RID:1.1.1.1,Header+PayLoad]

收到一个不带自己router-ID的hello包。

b. 做什么?

<---Hello[RID:2.2.2.2 ,NeiRID=1.1.1.1 ...]

检查Hello包里面的4+1+1参数信息,通过后,回送一个HELLO,并且里面会携带自己看到的邻居信息(router-ID)

3.3 2-way

a. 如何进入?

--->Hello[RID:1.1.1.1,NeiRID=2.2.2.2 ...]

收到一个携带自己router-ID信息的hello包。

b. 做什么?

回送看到邻居信息。

等待DR/BDR选举结束。

----MA,需要完成DR/BDR选举,waiting timer = 40s----(DR/BDR选举从down状态就开始了)

3.4 Ex-Start

a. 如何进入?

形成邻居后,需要交互LSDB,就会进行此状态。

b. 做什么?

使用router-ID,选举一个Master,使用master生成的序列号作为隐式确认的号码。

发对空的DBD报文

--->DBD[RID:1.1.1.1,Seq=4040,I=1,M=1,MS=1,MTU=0,LSA=NULL]

<---DBD[RID:2.2.2.2,Seq=5050,I=1,M=1,MS=1,MTU=0,LSA=NULL]

<---DBD[RID:2.2.2.2,Seq=5050,I=0,M=1,MS=1,Master,LSA=NULL]

3.5 Exchange

a. 如何进入?

选举完成Master后,进行此状态。

b. 做什么?

通DD报文,描述LSDB所有的LSA信息。互相就知道对方有哪些LSA了。

--->DBD[RID=1.1.1.1,Seq=5050,I=0,M=0,MS=0,LSA=ALL]

<---DBD[RID=2.2.2.2,Seq=5051,I=0,M=0,MS=1,LSA=ALL]

3.6 loading

a. 如何进入?

DD同步结束后,就知道对方有哪些LSA的时候,进行此状态。

b. 做什么?

发送LSR,请求我所缺少的LSA,进行LSA同步。

收到LSR后,发送LSU更新。

收到LSU后,发送LSACK确认

3.7 Full

LSA完全同步结束后。

4 OSPF建立并维护的3张表项

1、 邻居表 :列出每台路由器全部已经建立邻居关系的邻居路由器

2、 链路状态数据库【LSDB】:列出网络中其它路由器的信息,由此显示了全网的网络拓扑

3、 路由表:列出通过SPF算法计算出的到达每个相连网络的最佳路径

5 SPF算法

1、创建并维护以下3张表项:

重复执行以下3步N次:

1、从Tentative List的所有路由器中寻找距离自身【根节点】最近的网络节点,并将其从Tentative List中移动至Paths List中

2、发现此节点通告的所有前缀,并将其安装至RIB【路由表项】中

3、发现此节点的所有邻居,并将其移动至Tentative List中

注:Dijkstra:迪杰斯特拉算法【是由荷兰计算机科学家狄克斯特拉于1959年提出的】

6 OSPF 网络类型


Thinking about:

1、不同的网络类型是否可以建立邻居?

2、不同的网络类型是否可以相互学习路由?
Analysis:

NBMA只能与NBMA建立Full关系,与其它网络类型均无法建立Full的关系【因为NBMA网络单播发现邻居】

Broadcast与P2P能建立Full关系,但无法正常计算路由【因为构建的拓扑不一致】

Broadcast与P2MP通过修改Hello / Dead Timer可以建立Full关系,但不能计算路由

P2P与P2MP通过修改Hello / Dead Timer可以建立Full关系,路由也可正常计算

概括总结:

1、因为OSPF的Hello报文中没有描述网络类型的字段,能否建立邻居关系主要看Hello报文的发送间隔、Holdtime以及Hello报文的发

送方式;路由计算是否正常,主要看是否选举DR/BDR

7 OSPF的区域类型

骨干区域【Area 0】

非骨干区域

7.1 非骨干区域根据能够学习到的路由种类划分

1、标准区域 :学习本区域的内部路由、学习域间路由、学习外部路由
2、末节区域 【Stub】:学习本区域的内部路由、学习域间路由,不学习外部路由,不包含ASBR,与外部通讯完全依靠自动创建的缺省路由
3、完全末节 【Totally Stubby】区域:仅学习本区域内部路由,不学习外部路由,不学习域间路由,与外部通讯完全依靠自动创建的缺省路由
4、非纯末节区域 【NSSA】:学习域内路由,学习域间路由,学习本区域自身引入的外部路由,不学习其它区域引入的外部路由
5、非纯完全末节区域 :学习域内路由,学习本区域自身引入的外部路由,不学习域间路由,不学习其它区域引入的外部路由

注:NSSA区域是OSPF RFC的补遗,定义了特殊的LSA类型7;提供类似Stub Area与Totally Stubby Area的优点,可以包含ASBR

8 OSPF常见的LSA类型

8.1 常见LSA的类型

8.2 常见LSA详解

8.2.1 LSA Type-1 ------ 路由器LSA

每一个运行OSPF的路由器都会生成一个路由器LSA

该LSA仅在本区域内泛洪;无法穿越ABR

包含路由信息与拓扑信息;Link-ID为路由器的Router-ID

8.2.1.1 LSA Type-1输出信息详解

1、Link Type: Transnet

作用:用于描述直连链路上网络类型为广播或NBMA的邻居

Link ID:该链路上DR的IP地址

Data:与DR相连的接口IP地址

Metric:自身到DR的OSPF开销

2、Link Type: Stubnet

作用:用于描述自身直连的网络号及子网掩码

Link ID:直连链路的网络号

Data:子网掩码

Metric:自身到直连网络的OSPF开销

3、Link Type: P-2-P

作用:描述P2P/P2MP链路上的OSPF邻居

Link ID:邻居的Router-ID

Data:与邻居相连接口的IP地址

Metric:自身到邻居的OSPF开销

8.2.2 LSA Type-2 ------ 网络LSA

由MA网络中的DR发出

仅在本区域内进行泛洪;无法穿越ABR

所包含的内容与Type-1的LSA联合,共同描绘出网络的拓扑与路由

Link-ID为DR接口的IP地址

8.2.3 LSA Type-3 ------ 网络汇总LSA

起源于ABR,每经过一个ABR,通告路由器将会发生变化

仅在本区域内进行泛洪,ABR之间接力传递,从而泛洪至整个AS

该LSA用于通告一个区域的信息至其它区域,包含一条路由信息【描述链路的网络号与掩码】

Link-ID为这条路由信息的前缀

8.2.4 LSA Type-4 ------ ASBR汇总LSA

起源于ABR

泛洪于本区域,除ASBR所在区域外的整个自治系统

该LSA在AS中向其它区域通告ASBR的位置

Link-ID为ASBR的Router-ID

8.2.5 LSA Type-5 ------ AS外部LSA

起源于ASBR,通告路由器在整个AS中不发生变化;泛洪于整个AS

该LSA用于通告自治系统外部的网络

Link-ID为此路由信息的前缀

9 OSPF的路径类型

1、区域内路径【Intra-area path】:在路由器所在的区域内就可以到达目的地的路径

2、区域间路径【Inter-area path】:目的地在其它区域,但还在OSPF自治系统内的路径

3、类型1的外部路径【Type l external path,E1】:目的地在OSPF自治系统外部的路径

4、类型2的外部路径【Type 2 external path,E2】:目的地在OSPF自主系统外部的路径,但在计算外部路由的度量时不再计入到达ASBR路由器的路径代价

相关推荐
亓才孓1 小时前
[计算机网络]IP地址推行的“书同文,车同轨”
网络·tcp/ip·计算机网络·软件工程
小狮子安度因1 小时前
DPDK用户态协议栈-TCP Posix API 2
网络·网络协议·tcp/ip
wendetaer1 小时前
郑州大学计算机网络实验11 ARP协议探索和分析
linux·网络·计算机网络
寻找沙漠的人2 小时前
网络原理04
java·网络·java-ee
前端开发小司机3 小时前
怎么从零开始学黑客,黑客零基础怎么自学?
网络·安全·web安全·网络安全
Microsoft Word4 小时前
计算机网络 第五章 运输层
网络·计算机网络
VVVVWeiYee5 小时前
路由引入问题(双点双向路由回馈问题)
运维·服务器·网络·信息与通信
CodeGrindstone6 小时前
Muduo网络库解析 ---线程模块
网络·c++·tcp/ip