实验1 L0000002OSPF实验指导书中文版11.docx
《实验1 L0000002OSPF实验指导书中文版11.docx》由会员分享,可在线阅读,更多相关《实验1 L0000002OSPF实验指导书中文版11.docx(30页珍藏版)》请在冰豆网上搜索。
![实验1 L0000002OSPF实验指导书中文版11.docx](https://file1.bdocx.com/fileroot1/2022-12/12/2a9ebbd2-454e-4061-b8b2-2b2625c3512b/2a9ebbd2-454e-4061-b8b2-2b2625c3512b1.gif)
实验1L0000002OSPF实验指导书中文版11
实验1OSPF协议实验1
1.1实验内容1
1.2OSPF基本配置1
1.2.1实验目的1
1.2.2实验环境1
1.2.3实验组网图2
1.2.4实验步骤2
1.2.5思考题11
1.3DR的选举过程12
1.3.1实验目的12
1.3.2实验环境12
1.3.3实验组网图12
1.3.4实验步骤12
1.4虚链路与路由聚合、路由引入18
1.4.1实验目的18
1.4.2实验环境18
1.4.3实验组网图18
1.4.4实验步骤18
1.4.5思考题24
1.5NBMA非广播式网络和点到多点网络配置OSPF25
1.5.1实验目的25
1.5.2实验环境25
1.5.3实验组网图25
1.5.4实验步骤25
1.5.5小结32
实验1OSPF协议实验
1.1实验内容
OSPF基本配置;
“DR”选举过程;
虚链路与路由聚合、路由引入;
NBMA非广播式网络和点到多点网络配置OSPF。
1.2OSPF基本配置
1.2.1实验目的
掌握在华为路由器上配置OSPF所需的基本命令;
通过使用“debugging”命令,能清晰的理解OSPF的几种协议报文:
HELLO,DD,ACK,RQUEST和UPDATE的主要用途;
了解OSPF协议描述在一个OSPF区域中的网络的方法;
清楚OSPF中邻居关系的建立过程,以及路由器之间链路状态数据库(LSDB)的同步过程;
掌握OSPF中一些基于端口的参数的配置方法。
(例如:
HELLO_INTERVAL、DEAD_INTERVAL、POLL_INTERVAL和AUTHENTICATION等)。
1.2.2实验环境
Quidway26系列路由器2台,以太网交换机或集线器1台,PC机2台,标准网线4根,V35或V24DTE/DCE线缆1对;
VRP版本要求:
VRP1.74版本以上。
1.2.3实验组网图
图1-1实验组网图
1.2.4实验步骤
1.首先依照上面的组网图将各实验设备相连,然后正确的配置各设备的IP地址。
并在图中两台路由器的接口上运行OSPF协议。
然后我们可以用下面两种方法来检查是否正确运行了OSPF协议:
从PCApingPCB看是否能够ping通;或者在RouterA上运行“displayiprouting-table”命令来看RouterA是否从RouterB上学习到了相关的路由。
下面是主要的配置命令(RouterB略),供大家在配置时进行参考:
[RouterA-Serial0]ipaddress10.0.1.1255.255.255.0
[RouterA-Serial0]ospfenablearea0.0.0.0
[RouterA-Serial0]interfaceEthernet0
[RouterA-Ethernet0]ipaddress10.0.0.1255.255.255.0
[RouterA-Ethernet0]ospfenablearea0.0.0.0
[RouterA-Ethernet0]quit
[RouterA]ospfenable
在完成上述配置之后,我们可以在路由器上执行“displayospf”命令,然后请根据显示的结果回答下列问题:
如果一台路由器没有手工配置routerID,那么它会如何选择routerID?
如果一台路由器没有手工配置routerID,则系统会从当前接口的IP地址中自动选一个。
选择的原则如下:
如果路由器配置了loopback接口,则优选loopback接口;如果没有loopback接口,则从已经UP的物理接口中选择接口IP地址最小的一个。
对于该原则,大家可以自己在路由器上验证一下。
由于自动选举的RouterID会随着IP地址的变化而改变,这样会干扰协议的正常运行。
所以强烈建议:
手工指定RouterID。
下面给出在RouterA上执行“displayospf”后显示的结果,供大家参考:
[RouterA]displayospf
RouterID:
10.0.0.1
Routingselectionpreference:
Inter/Intra:
10External:
150
DefaultASEparametres:
Metric:
1Tag:
1Type:
2
SPFcomputationcount:
2
Area0.0.0.0:
Authtype:
noneFlags:
<>
SPFscheduled:
<>
Interface:
10.0.1.1(Serial0)-->10.0.1.2
Cost:
1562State:
PToPType:
PointToPoint
Priority:
1
DoNotAgelsaallowed
Authentication:
none
Timers:
Hello:
10Poll:
0Dead:
40Retrans:
5TransmitDelay:
1
Interface:
10.0.0.1(Ethernet0)
Cost:
10State:
DRType:
Broadcast
Priority:
1
DesignatedRouter:
10.0.0.1
DoNotAgelsaallowed
Authentication:
none
Timers:
Hello:
10Poll:
0Dead:
40Retrans:
5TransmitDelay:
1
ASBorderRoutes:
AreaBorderRoutes:
我们还可以通过执行“displayospflsa”命令来显示OSPF连接状态数据库详细信息(即RouterA和RouterB发送的所以LSA(链路状态广播)。
请根据显示结果回答下列问题:
请对输出的信息给出确切的解释。
(注意:
这些信息对于路由器的日常管理工作来说是很重要的。
)
请总结一下OSPF协议是怎样描述点对点网络(point-to-pointnetwork)和广播网络(broadcastnetwork)的。
下面给出LSA信息供参考:
[RouterA]displayospflsa
LSDataBase:
Area:
0.0.0.0
Type:
Router//这是一条RouterLSA(RouterB)
Lsid:
10.0.2.1//LSA的连接标识,即RouterID
Advrtr:
10.0.2.1//本路由器的RouterID(RouterB)
Lsage:
1090
Len:
60
Seq:
80000003
Cksum:
0x2a57
Options:
(DC)
Linkcount:
3//连接数量
linkid:
10.0.2.0
data:
255.255.255.0
type:
StubNet
metric:
10
linkid:
10.0.0.1//对端路由器ID
data:
10.0.1.2
type:
Router
metric:
1562
linkid:
10.0.1.0//串口网段
data:
255.255.255.0
type:
StubNet
metric:
1562
Type:
Router//RouterA的RouterLSA
Lsid:
10.0.0.1
Advrtr:
10.0.0.1
Lsage:
1090
Len:
60
Seq:
80000003
Cksum:
0x91f4
Options:
(DC)
Linkcount:
3
linkid:
10.0.2.1//对端路由器ID
data:
10.0.1.1
type:
Router
metric:
1562
linkid:
10.0.1.0//串口网段
data:
255.255.255.0
type:
StubNet
metric:
1562
linkid:
10.0.0.0//以太网段
data:
255.255.255.0
type:
StubNet
metric:
10
下面是针对OSPF的5种协议报文的实验:
OSPF的报文类型一共有五种:
Hello报文、DD报文、REQUEST、UPDATE和ACK报文。
我们可以用“Debuggingospfpacket”命令打开所有五种报文的调试开关,或者用“Debuggingospfpackethello/dd/request/update/ack”分别打开五种报文的调试开关,以进行观察。
我们可以先用“Debuggingospfpacket”打开报文的调试开关,然后将两台路由器相应的接口重起,以观察OSPF的邻居建立过程。
下面分别予以说明:
Hello报文
执行下列命令打开Hello报文的调试信息:
[RouterA]debuggingospfpackethello
[RouterA]info-centerenable
[RouterA]info-centerconsole
请仔细观察终端上输出的结果,然后请试着解释一下本地路由器发送和接收的Hello报文的每条参数的含义。
(完成本部分实验后可以用“undodebuggingall”命令来关闭调试开关)
OSPFSENT10.0.0.1(Ethernet0)->224.0.0.5HelloVers:
2Len:
44
OSPFSENTRouterID:
10.0.0.1Area:
0.0.0.0Checksum:
0xe89c
OSPFSENTAuth:
Type:
0Key:
00000000.00000000
OSPFSENTNetmask:
255.255.255.0HelloInt:
10Options:
OSPFSENTPri:
1DeadInt:
40DR:
10.0.0.1BDR:
0.0.0.0
//RouterA在发现邻居之前使用组播地址224.0.0.5发送Hello报文
OSPFSENT10.0.1.1(Serial0)->10.0.1.2HelloVers:
2Len:
44
OSPFSENTRouterID:
10.0.0.1Area:
0.0.0.0Checksum:
0xf29d
OSPFSENTAuth:
Type:
0Key:
00000000.00000000
OSPFSENTNetmask:
255.255.255.0HelloInt:
10Options:
OSPFSENTPri:
1DeadInt:
40DR:
0.0.0.0BDR:
0.0.0.0
OSPFRECV10.0.1.2(Serial0)->10.0.1.1HelloVers:
2Len:
44
OSPFRECVRouterID:
10.0.1.2Area:
0.0.0.0Checksum:
0xf09d
OSPFRECVAuth:
Type:
0Key:
00000000.00000000
OSPFRECVNetmask:
255.255.255.0HelloInt:
10Options:
OSPFRECVPri:
1DeadInt:
40DR:
0.0.0.0BDR:
0.0.0.0
//RouterA和RouterB在发现邻居之后交换Hello报文,下一步双方开始发送各自的链路状态数据库。
DD报文
交换Hello报文之后,下一步双方开始发送各自的链路状态数据库。
为了提高发送的效率,双方需先了解一下对端数据库中那些LSA是自己所需要的(如果某一条LSA自己已经有了,就不再需要请求了)。
方法是先发送DD报文。
有关DD报文的观察完成后请回答下列的问题:
值得注意的是并不是所有的DD报文都具有相同的功能。
比如说在终端上显示的前两个DD报文被用来在两台路由器之间协商某些参数,以建立一条可靠的连接。
根据你的观察,请列出这些参数,并描述一下协商的过程。
然后请说明后续的DD报文是如何利用这些参数的。
仔细分析报文中的LSA报头,并解释LSA报头在交换报文过程中的变化。
下面是对DD报文的分析,以供大家参考解答:
OSPFSENT10.0.1.1(Serial0)->10.0.1.2DatabaseDescriptionVers:
2Len:
32
OSPFSENTRouterID:
10.0.0.1Area:
0.0.0.0Checksum:
0xdf8b
OSPFSENTAuth:
Type:
0Key:
00000000.00000000
OSPFSENTFlagsOptions:
seq:
124a
考虑到报文传输的可靠性,在DD报文的发送过程中需要确定双方的主从关系。
所以,上面的报文是RouterA首先发送一个DD报文,宣称自己是Master(MS=1),并规定序列号为124a。
该报文不含LSA摘要。
OSPFRECV10.0.1.2(Serial0)->10.0.1.1DatabaseDescriptionVers:
2Len:
32
OSPFRECVRouterID:
10.0.2.1Area:
0.0.0.0Checksum:
0xf0a5
OSPFRECVAuth:
Type:
0Key:
00000000.00000000
OSPFRECVFlagsOptions:
seq:
1249
上面的报文是RouterB在收到RouterA的DD报文后,回应了一个DD报文(该报文中同样不包含LSA的摘要信息)。
由于RouterB的RouterID较大,所以在报文中RouterB认为自己是Master,并且重新规定了序列号为1249。
OSPFSENT10.0.1.1(Serial0)->10.0.1.2DatabaseDescriptionVers:
2Len:
72
OSPFSENTRouterID:
10.0.0.1Area:
0.0.0.0Checksum:
0x5682
OSPFSENTAuth:
Type:
0Key:
00000000.00000000
OSPFSENTFlags<>Options:
seq:
1249
OSPFSENTRouterId:
10.0.2.1AdvRtr:
10.0.2.1Age:
17:
01
OSPFSENTLen:
60Seq:
8000000bChecksum:
0x1a5f
OSPFSENTOptions:
()
然后RouterA收到报文后,同意了RouterB为Master。
RouterA使用RT2的序列号1249来发送新的DD报文,该报文开始正式地传送LSA的摘要。
在报文中RouterA将MS=0,说明自己是Slave。
OSPFRECV10.0.1.2(Serial0)->10.0.1.1DatabaseDescriptionVers:
2Len:
72
OSPFRECVRouterID:
10.0.2.1Area:
0.0.0.0Checksum:
0x4491
OSPFRECVAuth:
Type:
0Key:
00000000.00000000
OSPFRECVFlagsOptions:
seq:
124a
OSPFRECVRouterId:
10.0.2.1AdvRtr:
10.0.2.1Age:
17:
02
OSPFRECVLen:
60Seq:
8000000bChecksum:
0x3c42
OSPFRECVOptions:
()
RouterB收到报文后,将RouterA的邻居状态机改为Exchange,并发送新的DD报文来描述自己的LSA摘要,需要注意的是:
此时RouterB已将报文的序列号改为1249+1=124a了。
此报文中的M=0,表示这是最后一个DD报文了。
(因此作为Master的一方定义一个序列号seq,每发送一个新的DD报文将seq加一。
作为Slave的一方,每次发送DD报文时使用接收到的上一个Master的DD报文中的seq。
实际上这种序列号机制是一种隐含的确认方法。
)
OSPFSENT10.0.1.1(Serial0)->10.0.1.2DatabaseDescriptionVers:
2Len:
32
OSPFSENTRouterID:
10.0.0.1Area:
0.0.0.0Checksum:
0xdf92
OSPFSENTAuth:
Type:
0Key:
00000000.00000000
OSPFSENTFlags<>Options:
seq:
124a
RouterA收到最后一个DD报文后,也向RouterB发一个最后DD报文。
REQUEST报文
OSPFSENT10.0.1.1(Serial0)->10.0.1.2LinkStateRequestVers:
2Len:
36
OSPFSENTRouterID:
10.0.0.1Area:
0.0.0.0Checksum:
0xdbd4
OSPFSENTAuth:
Type:
0Key:
00000000.00000000
OSPFSENTRouterId:
10.0.2.1AdvRtr:
10.0.2.1
RouterA收到最后一个DD报文后,RouterA发现RouterB的数据库中有许多LSA是自己没有的,因此在向RouterB发一个最后DD报文之后,发送LSRequest报文向RT2请求所需要的LSA。
OSPFRECV10.0.1.2(Serial0)->10.0.1.1LinkStateRequestVers:
2Len:
36
OSPFRECVRouterID:
10.0.2.1Area:
0.0.0.0Checksum:
0xddd4
OSPFRECVAuth:
Type:
0Key:
00000000.00000000
OSPFRECVRouterId:
10.0.0.1AdvRtr:
10.0.0.1
同样RouterB发送LSRequest报文向RouterA请求所需要的LSA。
UPDATE报文
OSPFSENT10.0.1.1(Serial0)->10.0.1.2LinkStateUpdateVers:
2Len:
88
OSPFSENTRouterID:
10.0.0.1Area:
0.0.0.0Checksum:
0xd5be
OSPFSENTAuth:
Type:
0Key:
00000000.00000000
OSPFSENTAdvertisementcount:
1
OSPFSENTRouterId:
10.0.0.1AdvRtr:
10.0.0.1Age:
1
OSPFSENTLen:
60Seq:
80000013Checksum:
0x2c4a
OSPFSENTOptions:
()
OSPFSENTStubNetID:
10.0.0.0Data:
255.255.255.0metric:
10
OSPFSENTRouterID:
10.0.2.1Data:
10.0.1.1metric:
1562
OSPFSENTStubNetID:
10.0.1.0Data:
255.255.255.0metric:
1562
OSPFRECV10.0.1.2(Serial0)->10.0.1.1LinkStateUpdateVers:
2Len:
88
OSPFRECVRouterID:
10.0.2.1Area:
0.0.0.0Checksum:
0xf1a0
OSPFRECVAuth:
Type:
0Key:
00000000.00000000
OSPFRECVAdvertisementcount:
1
OSPFRECVRouterId:
10.0.2.1AdvRtr:
10.0.2.1Age:
1
OSPFRECVLen:
60Seq:
80000013Checksum:
0xa67
OSPFRECVOptions:
()
OSPFRECVStubNetID:
10.0.2.0Data:
255.255.255.0metric:
10
OSPFRECVRouterID:
10.0.0.1Data:
10.0.1.2metric:
1562
OSPFRECVStubNetID:
10.0.1.0Data:
255.255.255.0metric:
1562
RouterA和RouterB互发LSUpdate报文来回应对方的请求。
ACK报文
OSPFSENT10.0.1.1(Serial0)->10.0.1.2LinkStateAckVers:
2Len:
44
OSPFSENTRouterID:
10.0.0.1Area:
0.0.0.0Checksum:
0x3113
OSPFSENTAuth:
Type:
0Key:
00000000.00000000
OSPFSENTRouterId:
10.0.2.1AdvRtr:
10.0.2.1Age:
1
OSPFSENTLen:
60Seq:
80000013Checksum:
0xa67
OSPFSENTOptions:
()
OSPFRECV10.0.1.2(Serial0)->10.0.1.1LinkStateAckVers:
2Len:
44
OSPFRECVRouterID:
10.0.2.1Area:
0.0.0.0Checksum:
0x1130
OSPFRECVAuth:
Type:
0Key:
00000000.00000000
OSPFRECVRouterId:
10.