1、实验报告实验四 OSPF协议分析1 查看R2的OSPF的邻接信息,写出其命令和显示的结果:答:display ip routing-tableDestination/MaskProtoPreCostNextHop1.1.1.1./32OSPF101168.1.1.12.2.2.2/32Direct00127.0.0.1127.0.0.0/8Direct00127.0.0.1127.0.0.1/32Direct00127.0.0.1168.1.1.0/24Direct00168.1.1.2168.1.1.2/32Direct00127.0.0.12 将R1的router id 更改为3.3.3.
2、3,写出其命令。显示OSPF的概要信息,查看此更改是否生效。如果没有生效,如何使其生效?答:R1 undo router idR1 router id 3.3.3.3没有生效,需重启ospf进程: reset ospf process3.6.1 OSPF协议报文格式3 分析截获的报文,可以看到OSPF的五种协议报文,请写出这五种协议报文的名称。并选择一条Hello报文,写出整个报文的结构(OSPF首部及Hello报文体)。答: HELLO报文、DB Description报文、LS Request报文、LS Update报文和LS Acknowledge报文。 OSPF Header Vers
3、ion: 2 Message Type: Hello Packet (1) Packet Length: 48 Source OSPF Router: 1.1.1.1 Area ID: 0.0.0.0 (Backbone) Checksum: 0x4d92 correct Auth Type: Null (0) Auth Data (none): 0000000000000000 OSPF Hello Packet Network Mask: 255.255.255.0 Hello Interval sec: 10 Options: 0x02 (E) External Routing) Rou
4、ter Priority: 1 Router Dead Interval sec: 40 Designated Router: 168.1.1.1 Backup Designated Router: 0.0.0.0 Active Neighbor: 2.2.2.24 分析OSPF协议的头部,OSPF协议中Router ID的作用是什么?它是如何产生的?答:router ID作用:a)作为OSPF区域中本路由器的唯一标识;b)DR、BDR选举中,在优先级相同的时候,router ID大的选举为DR。OSPF的Router ID产生规则:a)如果通过命令设置了routerID,则选择此作为ROUT
5、ER IDb)如果没通过命令设置routerID,若有loopback地址,则选择最大的loopback地址作为router ID;若无loopback地址,则选择其他接口中地址最大的作为router ID。5 分析截获的一条LSUpdate报文,写出该报文的首部,并写出该报文中有几条LSA?以及相应LSA的种类。答:OSPF Header Version: 2 Message Type: LS Update (4) Packet Length: 76 Source OSPF Router: 1.1.1.1 Area ID: 0.0.0.0 (Backbone) Checksum: 0xcbd
6、b correct Auth Type: Null (0) Auth Data (none): 0000000000000000该报文中有两条LSA,种类都是Stub类型(Connecting to a stub network)3.6.2 OSPF报文交互过程6 结合截获的报文和DD报文中的字段(MS,I,M),写出DD主从关系的协商过程和协商结果。答:首先RT2向RT1发送一个空DD报文,包含自己的Router ID,其中的(MS,I,M)=(1,1,1),宣称自己是Master;RT1接收到DD报文后,比较自己的Router ID和RT2的Router ID,发现RT2的Router I
7、D较大,所以将自己设为Master,并向RT1发送DD报文,其中(MS,I,M)=(1,1,1)。最终的协商结果是,RT2位Master,RT1为Slave,两台路由器都为Exchange状态。7 结合截获的报文和DD报文中的字段(MS,I,M,Seq),写出LSA摘要信息交互的过程,并描述其隐含确认与可靠传输机制是如何起作用的。答:RT1使用上一步RT2传回DD报文中的序列号y=425来发送新的DD报文,其中(MS,I,M,Seq)=(0,0,1,425),并携带RT1的LSDB中的LSA摘要;RT2接收到报文后,发送新的DD报文,其中(MS,I,M,Seq)=(1,0,0,426),并携带
8、RT2的LSDB的LSA摘要,因为该实验只有两台路由器是Stub类型的LSA结构,所以这也是RT2发送最后一个DD报文,这时的M=0表示这时最后一个DD报文。RT1收到RT2的报文后,返回一个确认报文,(MS,I,M,Seq)=(0,0,0,426),该报文不携带LSA信息,只是表示RT1已收到RT2的报文。确认与可靠传输机制是通过:RT1通过重复RT2的序列号确认已收到的RT2报文,RT2通过将序列号加1来确认已收到RT1的报文来实现。8 结合截获的一组相关的LSR、LSU和LSAck报文,具体描述OSPF协议报文交互过程中确保可靠传输的机制。答:首先RT2向RT1通过LSR报文请求所需的L
9、SA,其中标明所需LSA的摘要Link State Request LS Type: Router-LSA (1) Link State ID: 1.1.1.1 Advertising Router: 1.1.1.1;RT1在接收到该报文后,返回LSU报文,其中的LSA摘要与RT2所发LSR中的一样LSA-type 1 (Router-LSA), len 48 .000 0000 0000 0001 = LS Age (seconds): 1 0. . . . = Do Not Age Flag: 0 Options: 0x02 (E) External Routing) LS Type: R
10、outer-LSA (1) Link State ID: 1.1.1.1 Advertising Router: 1.1.1.1 Sequence Number: 0x80000004 Checksum: 0xf98e Length: 48 Flags: 0x00 Number of Links: 2 Type: Stub ID: 168.1.1.0 Data: 255.255.255.0 Metric: 1 Type: Stub ID: 1.1.1.1 Data: 255.255.255.255 Metric: 0;在RT2接收到上述LSU报文后,会返回一个LSA报文,标明已接收到该LSU报
11、文LSA-type 1 (Router-LSA), len 48 .000 0000 0000 0001 = LS Age (seconds): 1 0. . . . = Do Not Age Flag: 0 Options: 0x02 (E) External Routing) LS Type: Router-LSA (1) Link State ID: 1.1.1.1 Advertising Router: 1.1.1.1 Sequence Number: 0x80000004 Checksum: 0xf98e Length: 48LSA报文中的摘要和LSU报文一致,且Sequence Number也与LSU报文中的一致。所以OSPF协议在LSR,LSU,LSA报文交互中使用LSA摘要和Sequence Number实现确认可靠传输机制。3.6.3 邻居状态机9 请根据debug显示信息,画出R1上的OSPF邻居状态转移图。FullDownInactivityTimerInitHelloReceivedExStart2WayReceivedExchangeNeogotiationDoneLoadingExchangeDoneLoadingDone4