OSPF的多区域特性 (电子科技大学TCP/IP实验三)

一.实验目的

1、掌握OSPF 协议中区域的类型、特征和作用

2、掌握OSPF 路由器的类型、特征和作用

3、掌握OSPF LSA 分组的类型、特征和作用

4、理解OSPF 区域类型、路由器类型和OSPF LSA 分组类型间的相互关系

二.预备知识

1、静态路由选择和动态路由选择

2、内部网关协议和外部网关协议

3、链路状态路由选择

三.实验原理

OSPF 协议(RFC 2328)是一个基于链路状态路由选择的内部网关协议:路由器仅在网络拓扑变化时使用洪泛法(flooding)将自己的链路状态更新信息扩散到整个自治系统中。

为了增强OSPF 协议的可伸缩能力(Scalability),OSPF 协议引入了区域的概念来有效并及时的处理路由选择。OSPF 区域是包含在AS 中的一些网络、主机和路由器的集合, 自治系统中所有OSPF 区域必须连接到一个主干区域(Area 0)上。

区域内的OSPF 路由器(内部路由器,IR)使用洪泛法(flooding)传送本区域内的链路状态信息,区域边界的 OSPF 路由器(区域边界路由器,ABR)将本区域的信息汇总发给其他区域,自治系统边界的 OSPF 路由器(自治系统边界路由器,ASBR)将自治系统外的路由(外部路由)发布在自治系统中。主干区域中的 OSPF 路由器也称为“主干路由器”(BR)。ABR 不能向OSPF 残桩区域(Stub Area)通告外部路由。在多址网络中,为了避免不必要的链路状态洪泛,需要选举 1 个指定路由器(DR)和 1 个备份指定路由器(BDR)。

OSPF 协议有 5 种类型的报文,它们被直接封装在 IP 分组中多播发送。

  • 问候(Hello)报文:用来建立并维护 OSPF 邻接关系。在建立了邻接关系后,

OSPF 路由器会定期发送Hello 报文,来测试邻站的可达性。

  • 数据库描述(DBD)报文:描述OSPF 路由器的链路状态数据库的概要信息, 即数据库中每一行的标题,它在两台相邻路由器彼此建立邻接关系时发送的。
  • 链路状态请求(LSR)报文:由需要若干条特定路由信息的路由器发送出的, 它的回答是 LSU 报文。新接入的路由器在收到 DBD 报文后,可以使用 LSR 报文请求关于某些路由的更多信息。
  • 链路状态更新(LSU)报文:OSPF 的核心。OSPF 路由器使用 LSU 报文通告链路状态更新信息(即链路状态通告,LSA),每一个 LSU 报文可包含几个LSA。 OSPF 协议的 LSA 有 5 种常用类型:路由器链路 LSA、网络链路 LSA、汇总链路到网络 LSA、汇总链路到 ASBR LSA 和外部链路LSA。这 5 种类型的 LSA 由不同类型的OSPF 路由器产生,在特定类型的区域范围内扩散。
  • 链路状态确认(LSAck)报文:用来确认每一个收到的 LSU 报文,使得OSPF

协议的路由选择更加可靠。

四.实验内容

实验拓扑中 Dynamips 软件模拟实现的路由器R1~R6 互联了 2 个自治系统(AS 10 和 AS  20),路由器之间使用 OSPF 协议进行路由选择。AS  10 中有 5 个子网,划分了 3个区域:Area 0、Area 1 和 Area 2,其中 Area 2 是一个 Stub 区域。AS 20 中有 1 个子网, 其路由信息将以OSPF 的外部路由方式发布到AS 10 的OSPF 网络中。

实验者使用 Dynamips 软件捕获子网 1、2、3 上传送的 OSPF 报文,使用 Wireshark 软件查看捕获的 OSPF 报文,分析 OSPF 协议的路由更新过程,考察 OSPF 协议中不同类型的区域、路由器和 LSA 的特征和作用。

实验拓扑中 Dynamips 软件模拟实现的路由器R1~R6 互联了 2 个自治系统(AS 10 和 AS  20),路由器之间使用 OSPF 协议进行路由选择。AS  10 中有 5 个子网,划分了 3个区域:Area 0、Area 1 和 Area 2,其中 Area 2 是一个 Stub 区域。AS 20 中有 1 个子网, 其路由信息将以OSPF 的外部路由方式发布到AS 10 的OSPF 网络中。

实验者使用 Dynamips 软件捕获子网 1、2、3 上传送的 OSPF 报文,使用 Wireshark 软件查看捕获的 OSPF 报文,分析 OSPF 协议的路由更新过程,考察 OSPF 协议中不同类型的区域、路由器和 LSA 的特征和作用。

五.实验步骤

实验步骤详见TCP//IP实验指导书。由于步骤过长,就在此不在赘述。

六、实验数据及结果分析

1、步骤 2 中根据 R1 路由表和 R4 路由表中的哪些信息可以确保实验网中的 OSPF

协议已经收敛?为什么?

1.路由表项的数目,稳定之后。路由表项的数目应该和整个网络网络的数目一致。

2.多次输入show ip route 命之后,显示的路由表项没有变化。

2、分析执行步骤 4 之前在 4 个子网上捕获的OSPF 报文。记录子网 2、3、4 和 5 上每一台路由器发送的 1 个OSPF Hello 报文的如下信息:

步骤3:子网2

路由器

R1

R2

IP分组首部

源IP

172.16.2.1

172.16.2.2

目的IP

224.0.0.5

224.0.0.5

OSPF报文首部

路由器ID

1.1.1.1

2.2.2.2

区域ID

0.0.0.1

0.0.0.1

Hello报文

网络掩码

255.255.255.252

255.255.255.252

Hello间隔

10s

10s

优先级

1

1

失效间隔

40s

40s

DR

0.0.0.0

0.0.0.0

BDR

0.0.0.0

0.0.0.0

邻居1

2.2.2.2

1.1.1.1

邻居2

-

-

步骤3:子网3

路由器

R2

R3

IP分组首部

源IP

172.16.3.2

172.16.3.3

目的IP

224.0.0.5

224.0.0.5

OSPF报文首部

路由器ID

2.2.2.2

3.3.3.3

区域ID

0.0.0.1

0.0.0.1

Hello报文

网络掩码

255.255.255.248

255.255.255.248

Hello间隔

10s

10s

优先级

1

1

失效间隔

40s

40s

DR

0.0.0.0

0.0.0.0

BDR

0.0.0.0

0.0.0.0

邻居1

3.3.3.3

2.2.2.2

邻居2

-

-

步骤3:子网4

路由器

R3

R4

R5

IP分组首部

源IP

172.16.4.3

172.16.4.4

172.16.4.5

目的IP

224.0.0.5

224.0.0.5

224.0.0.5

OSPF报文首部

路由器ID

3.3.3.3

4.4.4.4

5.5.5.5

区域ID

0.0.0.0

0.0.0.0

0.0.0.0

Hello报文

网络掩码

255.255.255.0

255.255.255.0

255.255.255.0

Hello间隔

10s

10s

10s

优先级

1

1

1

失效间隔

40s

40s

40s

DR

172.16.4.5

172.16.4.5

172.16.4.5

BDR

172.16.4.4

172.16.4.4

172.16.4.4

邻居1

5.5.5.5

5.5.5.5

4.4.4.4

邻居2

4.4.4.4

3.3.3.3

3.3.3.3

步骤3:子网5

路由器

R5

R6

IP分组首部

源IP

172.16.5.5

172.16.5.6

目的IP

224.0.0.5

224.0.0.5

OSPF报文首部

路由器ID

5.5.5.5

6.6.6.6

区域ID

0.0.0.2

0.0.0.2

Hello报文

网络掩码

255.255.255.0

255.255.255.0

Hello间隔

10s

10s

优先级

1

1

失效间隔

40s

40s

DR

172.16.5.6

172.16.5.6

BDR

172.16.5.5

172.16.5.5

邻居1

6.6.6.6

5.5.5.5

邻居2

-

-

【分析】

  1. 实验中的OSPF hello 间隔是多少秒?

10s

2)是否 4 个子网上都选举有 DR 和 BDR?为什么?根据记录中的 DR 和 BDR 信息,用路由器编号写出图 A 中子网 4 上的 DR 和 BDR。在本实验的后续步骤中,各子网上的 DR 和 BDR 是否会改变?

1.不是每一个子网中都是有DR和BDR,只有在转接网络才需要指定路由器和备份指定路由器,而点到点链路和残桩链路不需要。

2.子网4中的DR是5.5.5.5,BDR是4.4.4.4

3.在本实验后续的步骤之中不会改变,因为子网4和子网5在后续的操作步骤中网络拓扑没有发生变化,因此DR和BDR不会改变

3、分析从执行步骤 4 开始到执行步骤 5 之前在 4 个子网上捕获的OSPF 报文。按报文的捕获顺序记录每个子网上捕获到的OSPF 报文概要,要求:从第 1 个非类型1(即 hello 报文)的 OSPF 报文开始记录,包括后续的类型 1(hello)报文,一直记录到最后 1 个非类型 1 的OSPF 报文。记录的信息如下:

步骤4:子网:2

IP分组首部

OSPF报文首部

捕获时间

源IP

目的IP

类型

路由器ID

区域ID

Time

172.16.2.1

224.0.0.5

LS Update

1.1.1.1

0.0.0.1

19:01:44

172.16.2.2

224.0.0.5

LS Acknowledge

2.2.2.2

0.0.0.1

19:01:46

步骤4:子网:3

IP分组首部

OSPF报文首部

捕获时间

源IP

目的IP

类型

路由器ID

区域ID

Time

172.16.3.2

224.0.0.5

LS Update

2.2.2.2

0.0.0.1

19:01:44

172.16.3.3

224.0.0.5

LS Acknowledge

3.3.3.3

0.0.0.1

19:01:46

步骤4:子网:4

IP分组首部

OSPF报文首部

捕获时间

源IP

目的IP

类型

路由器ID

区域ID

Time

172.16.4.3

224.0.0.6

LS Update

3.3.3.3

0.0.0.0

19:01:49

172.16.4.5

224.0.0.5

LS Update

5.5.5.5

0.0.0.0

19:01:49

172.16.4.3

224.0.0.5

Hello Packet

3.3.3.3

0.0.0.0

19:01:51

172.16.4.4

224.0.0.5

LS Acknowledge

4.4.4.4

0.0.0.0

19:01:51

步骤4:子网:5

IP分组首部

OSPF报文首部

捕获时间

源IP

目的IP

类型

路由器ID

区域ID

Time

172.16.5.5

224.0.0.5

LS Update

5.5.5.5

0.0.0.2

19:01:49

172.16.5.6

224.0.0.5

LS Acknowledge

6.6.6.6

0.0.0.2

19:01:51

【分析】

  1. 为什么会在实验中捕获到两种不同目的 IP 地址(224.0.0.6 和 224.0.0.5)的LSU 报文?

一般情况下都是组播地址244.0.0.5,但是在转接链路中,非BD和BDR的路由器只与DR/BDR是邻接关系,LSA只需要发送给DR/BDR即可,所以需要244.0.0.6这个组播地址。DR/BDR以目的IP为244.0.0.5发送LSU报文。在子网4当中,即存在DR/BDR,也存在非DR/BDR的路由器,所以会捕获到两种不同目的IP地址的LSU报文。

  1. OSPF 要求路由器确认收到的 LSA,即对收到的每个 LSU 报文进行确认。为什么在子网 4 上捕获到了 2 个 LSU 报文,但 LSAck 报文却只有 1 个?

OSPF对报文的确认方式有两种:显式和隐式

在子网4中,R3先对收到的LSA进行洪泛,但是R3不是指定路由器,目的IP是指定路由器的组播地址,所以收到该LSU的R5用过LSU洪泛进行隐式确认。此时R4收到目的224.0.0.5的LSU,知道是指定路由器发的,进行显式的回复。所以在子网4中有两个LSU,却只有一个LSAck。

4、按报文捕获顺序,记录从执行步骤 4 开始到执行步骤 5 之前在 4 个子网上捕获到的所有 LSU 报文的如下信息。

步骤4:子网:2

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

序号

校验和

….

1

1s

Router-LSA

1.1.1.1

1.1.1.1

0x80000003

0x7c9a

步骤4:子网:3

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

序号

校验和

….

1

2s

Router-LSA

1.1.1.1

1.1.1.1

0x80000003

0x7c9a

步骤4:子网:4

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

序号

校验和

….

1

3600s

Summary-LSA(IP network)

172.16.1.0

3.3.3.3

0x80000002

0x9cd5

1

3600s

Summary-LSA(IP network)

172.16.1.0

3.3.3.3

0x80000002

0x9cd5

步骤4:子网:5

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

序号

校验和

….

1

3600s

Summary-LSA(IP network)

172.16.1.0

5.5.5.5

0x80000002

0x7eed

【分析】

1)同一 Area 内不同发送者发送的LSU 报文(例如:Area 1 中子网 2 上 R1 发送的 LSU 报文和子网 3 上R2 发送的 LSU 报文)中携带的 LSA 内容是否完全一致?在 LSU 报文中,1 个 LSA 首部中的通告路由器、该 LSU 报文的OSPF 首部中的路由器 ID,以及封装该 OSPF 报文的 IP 分组首部中的源 IP 地址,它们指的是什么路由器?是否是同一台路由器?

(1)同一个区域上捕获到了不同发送者发送的LSU报文完全一致。

(2)LSA首部中的通告路由器是始发这条LSA通告的路由器,该LSU报文的OSPF首部中的路由器ID是发送这个LSU的路由器,封装该 OSPF 报文的 IP 分组首部中的源 IP 地址也是发送这个LSU的路由器。

(3)后面两者同一台路由器,但是三者不一定是同一台路由器。

2)每个子网上捕获到的 LSU 报文中的 LSA 是哪种类型的 LSA?每种类型的LSA 是由图 B 中的哪台路由器始发的?该路由器属于哪种类型的 OSPF 路由器?这些LSA 分别在图B 的哪些区域中洪泛?通告的是其洪泛区域内部的链路信息还是该区域外部的链路信息

(1)子网2:

    捕获的LSA类型是路由器链路LSA(Router-LSA)

    始发路由器:R1

    路由器类型:IR(内部路由器)

    洪泛区域:Area1

    通告的是其洪泛区域内部的链路信息

(2)子网3:

    捕获的LSA类型是路由器链路LSA(Router-LSA)

    始发路由器:R1

    路由器类型:IR(内部路由器)

    洪泛区域:Area1

    通告的是其洪泛区域内部的链路信息

(3)子网4:

    捕获的LSA类型是汇总链路到网络LSA(Summary-LSA(IP network))

    始发路由器:R3

    路由器类型:BR(主干路由器),ABR(区域边界路由器)

    洪泛区域:Area0

    通告的是该区域外部的链路信息

(4)子网5:

    捕获的LSA类型是汇总链路到网络LSA(Summary-LSA(IP network))

    始发路由器:R5

    路由器类型:BR(主干路由器),ABR(区域边界路由器)

    洪泛区域:Area2

    通告的是该区域外部的链路信息

3)除路由器 R1 外,其它路由器可以根据收到的 LSA 中的什么信息判定子网 1

不可达?(提示:对比记录 6 的信息)

   R2和R3根据收到的LSA消息没有子网1 的信息可以判断不可达;其他路由器根据子网1 的Metric值为16777215判断子网1不可达。

4)如果在图B 中,将子网 1 接到 R3 上,并且让子网 1 处于区域 0 中,那么此时在各个区域中会出现哪些路由器始发的哪些类型的 LSA?

Area0: R3始发的路由器链路LSA(Router-LSA)

Area1: R3始发的汇总链路到网络LSA(Summary-LSA(IP network))

Area2: R5始发的汇总链路到网络LSA(Summary-LSA(IP network))

5、按报文捕获顺序,记录从执行步骤 5 开始到执行步骤 6 之前在 4 个子网上捕获到的所有 LSU 报文,记录信息如下

步骤5:子网:2

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

网络掩码

度量

….

1

1s

Router-LSA

1.1.1.1

1.1.1.1

-

-

1

3s

AS-External-LSA(ASBR)

20.0.0.0

4.4.4.4

255.255.0.0

20

1

2s

Summary-LSA(ASBR)

4.4.4.4

3.3.3.3

0.0.0.0

1

步骤5:子网:3

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

网络掩码

度量

….

1

2s

Router-LSA

1.1.1.1

1.1.1.1

-

-

1

2s

AS-External-LSA(ASBR)

20.0.0.0

4.4.4.4

255.255.0.0

20

1

1s

Summary-LSA(ASBR)

4.4.4.4

3.3.3.3

0.0.0.0

1

步骤5:子网:4

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

网络掩码

度量

….

1

1s

Summary-LSA(IP network)

172.16.1.0

3.3.3.3

255.255.255.0

129

1

2s

Summary-LSA(IP network)

172.16.1.0

3.3.3.3

255.255.255.0

129

1

1s

Router-LSA

4.4.4.4

4.4.4.4

-

-

1

1s

AS-External-LSA(ASBR)

20.0.0.0

4.4.4.4

255.255.0.0

20

步骤5:子网:5

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

网络掩码

度量

….

1

1s

Summary-LSA(IP network)

172.16.1.0

5.5.5.5

255.255.255.0

130

【分析】

  1. 为什么子网 5 上只有类型 3 的 LSA?

因为子网5的拓扑结构没有发生变化,并且不在主干区域,且其为残桩区域。

  1. Area 1(子网 2、子网 3)中的类型 1 LSA 所通告的拓扑变化,在 Area 0( 子网 4)和 Area 2(子网 5)中分别使用哪种类型的 LSA 进行通告?

类型3

  1. Area 0(子网 4)中的类型 1 LSA 所通告的拓扑变化,在Area 1(子网 2、子网 3)中使用哪种类型的 LSA 进行通告?

类型4

  1. Area 0(子网 4)中的类型 5 LSA 所通告的拓扑变化,在Area 1(子网 2、子网 3)中使用哪种类型的 LSA 进行通告?

类型5

  1. 子网 2、3 和 4 上的类型 5 LSA 信息(包括 LSA 首部及其数据部分)是否完全一致?如有不同,请指出不同之处,并解释不同的原因?

首部和数据部分都会有所不同。

首部部分:LSA首部信息不同的主要是源路由器和OSPF的区域,

数据部分:数据部分OSPF的寿命和相关掩码也不同。

【思考题】

1、OSPF 协议有 5 种类型的报文,并能通告 5 种类型的 LSA。本实验中捕获到了哪些类型的 OSPF 报文和哪些类型的 LSA?请解释本实验中不能捕获到某些类型的 OSPF 报文和某些类型的 LSA 的原因。

1)本实验中捕获到了OSPF协议的Hello报文、LSU报文和LSAck报文,没有捕获到LSR和DBD报文。DBD报文是在两台相邻路由器建立邻接关系的时发送的。但是在本次实验的过程中,捕获报文之前,相邻路由器都已经建立好关系。所以在实验过程中DBD报文不会产生。因为LSR报文是链路状态数据库同步过程中根据收到的DBD报文产生的,DBD报文没有产生,所以LSR报文不会产生。

2)本次实验过程中捕获到了1,3,4,5的LSA,没有捕获到类型2(Network-LSA)的LSA。因为类型2(Network-LSA)是由DR在转接链路内发布其所在Transit network上其它路由器信息。而在实验中两次网络拓扑变化都没有发生在子网4内,所以不会产生类型2

七、实验结论

1、本实验中,路由器 R1~R6 分别属于哪种类型的 OSPF 路由器?

R1:内部路由器

R2:内部路由器

R3:区域边界路由器,主干路由器

R4:在步骤五之前属于主干路由器,内部路由器;在步骤五之后属于主干路由器和AS边界路由器。

R5:主干路由器,区域边界路由器

R6:内部路由器

2、结合实验拓扑图和小组捕获的所有 OSPF 报文,总结 5 种 LSA 分别由哪种类型的 OSPF 路由器产生?通告了哪些信息?能在哪些区域范围内洪泛?

1)路由器链路LSA(Router-LSA):由网络中的每一台路由器产生,在本区域内发布所有邻居及其对应链路的信息,只能在始发区域洪泛(本区域)

2)网络链路LSA(Network-LSA):由DR(指定路由器)产生,由DR在本区域内发布其所在Transit network上其它路由器信息,只能在始发区域洪泛(本区域)

3)Summary–LSA(汇总链路到网络):由ABR区域边界路由器产生,在其所属的每个区域里中发布到达其它区域的路由信息,在这个区域内洪泛,但不能在残桩区域洪泛。

4)Summary–LSA (汇总链路到ASBR) :由ABR区域边界路由器产生,在本AS内的所有区域中发布到达ASBR的路径信息,可以洪泛到本AS内部所有非残桩区域中。

5)AS–external–LSAASBR产生,在本AS内的某些区域中发布到达AS以外网络的路径信息

八、总结及心得体会

1.通过本次实验体会到了OSPF路由的过程,包括OSPF各种LSA的类型和OSPF的四种报文类型,并对每一种报文进行了分析,对OSPF的工作流程有了更加深刻的认识。

2.同时

九、对本实验过程及方法、手段的改进建议

1.建议可以对子网4里面的网络拓扑进行改变,让学生体会一下类型2的LSA的变化。

猜你喜欢

转载自blog.csdn.net/weixin_53284122/article/details/129223340