一:实验目的
1:掌握在路由器上配置OSPF单区域。
2:学习OSPF协议的原理,及其网络拓扑结构改变后的变化。
二:实验仪器设备及软件
硬件:RCMS交换机、网线、内网网卡接口、Windows 2019操作系统的计算机等。具体为:三层交换机1台、路由器2台。
软件:wireshark软件、记事本、Chrome浏览器等。
三:实验方案
【实验网络结构拓扑图】
通过配置动态路由协议OSPF,自动学习网段的路由信息,在区域内实现网络的互连互通。
四:实验步骤
1:按照拓扑图配置PC1和PC2 的IP地址、子网掩码、网关,测试连通性。同时,在路由器上执行show ip route命令,记录路由表信息。
PC1和PC2的配置参数,如下表所示。
PC1 | PC2 | |
IP地址 | 10.206.5.11 | 10.206.3.22 |
子网掩码 | 255.255.255.0 | 255.255.255.0 |
网关 | 10.206.5.1 | 10.206.3.1 |
以PC2的配置为例,如下图所示。
路由器R1初始时的路由表,如下图所示。
路由器R2初始时的路由表,如下图所示。
2:三层交换机的基本配置。
三层交换机的VLAN配置(VLAN 10和VLAN 50),如下图所示。
3:路由器R1的基本配置。
路由器R1的配置命令,如下表所示。
Configure terminal Interface gigabitethernet 0/1 Ip address 10.206.1.1 255.255.255.0 No shutdown Exit Interface serial 5/1 Ip address 10.206.2.1 255.255.255.0 No shutdown Exit |
由配置命令可知,左侧通过0/1的端口接入10.206.1.1网段,右侧通过Serial的5/1端口接入10.206.2.1网段。
4:路由器R2的基本配置。
路由器R2的直连端口配置,如下图所示。
5:在交换机上配置OSPF路由协议。
交换机上的OSPF配置,如下图所示。
首先需要启动OSPF路由协议的进程(此处为1号),然后申明直连网段信息并分配区域号。
6:在路由器R1上配置OSPF路由协议。
配置路由器R1的环回IP地址的命令,如下表所示。
Configure terminal Interface loopback 1 Ip address 10.206.100.1 255.255.255.0 |
路由器R1上的OSPF配置的命令,如下表所示。
Configure terminal Router ospf 1 Network 10.206.1.0 0.0.0.255 area 0 Network 10.206.2.0 0.0.0.255 area 0 End |
7:在路由器R2上配置OSPF路由协议。
配置路由器R2的环回IP地址的命令,如下表所示。
Configure terminal Interface loopback 1 Ip address 10.206.100.1 255.255.255.0 |
路由器R2上的OSPF配置的命令,如下表所示。
Configure terminal Router ospf 1 Network 10.206.2.0 0.0.0.255 area 0 Network 10.206.3.0 0.0.0.255 area 0 End |
8:查看验证3台路由设备的路由表是否自动学习了其他网段的路由信息。
交换机配置后的路由表,如下图所示。可以看到有2条O项路由条目。
第1条是通过10.206.1.1能跳转到10.206.2.0/24网段。第2条是通过10.206.1.1能跳转到10.206.3.0/24网段。
路由器R1配置后的路由表,如下图所示。可以看到有2条O项路由条目。
第1条是通过10.206.2.2能跳转到10.206.3.0/24网段。第2条是通过10.206.1.2能跳转到10.206.5.0/24网段。
路由器R2配置后的路由表,如下图所示。可以看到有2条O项路由条目。
第1条是通过10.206.2.1能跳转到10.206.1.0/24网段。第2条是通过10.206.2.1能跳转到10.206.5.0/24网段。
上述路由表中的O条目,都是由路由器通过Flood方法,把自己邻接的路由信息传播给全网后更新的。
9:测试网络的连通性。
初始时,10.206.3.22向10.206.5.11进行ping操作的结果,如下图所示。可以发现两台主机并不能连通。
配置后,10.206.3.22向10.206.5.11进行ping操作的结果,如下图所示。可以发现两台主机能连通。
五:实验结果及分析
1:步骤9的问题和结果分析。
【1】将此时的路由表与初始时的路由表进行比较,有什么结论?
每台路由设备(交换机、路由器)的路由表均自动学习了其他网段的路由信息,并将其以OSPF路由表项添加到了各自的路由表中。
【2】分析traceroute PC的执行结果。
10.206.3.22(PC2)向10.206.5.11(PC1)进行tracert操作的结果,如下图所示。
可以发现,PC2首先通过10.206.3.1进行第1跳,此时经过了路由器R2;然后通过10.206.2.1进行第2跳,此时经过了路由器R1;接着通过10.206.1.2进行了第3跳,此时经过了三层交换机;最后在三层交换机的另一侧连接到10.206.5.11。
【3】捕获数据报,分析OSPF头部结构。OSPF包在PC上能捕获到吗?如果希望2台主机都能捕获到,请描述方法。
在PC1和PC2上均能捕获到OSPF包,捕获报文如下图所示。
2台主机可以用WireShark进行OSPF包的捕获。
OSPF的头部结构,如下图所示。
OSPF报文的头部结构由Version、Message Type、Packet Length、Source OSPF Router、Area ID、Checksum、Auth Type和Auth Data字段组成。各字段的含义如下。
1. Version:8位的OSPF版本号,OSPFv2是2,OSPFv3是3。
2. Message Type:8位的OPSF报文类型,1是Hello、2是DD、3是LSR、4是LSU、5是LSAck。
3. Packet Length:16位,OSPF报文总长度包括OSPF头。
4. Router ID:32位,发送该报文的路由器标识ID。
5. Area ID: 32位,发送该报文路由器所属的区域。
6. Checksum:16位,包含除了认证字段的整个报文校验和。
7. Au Type:64位,0是不含验证信息、1是明文认证、2是MD5认证。
【4】使用#debug ip ospf命令显示上述OSPF协议的运行情况,观察并保存路由器R1发送和接收的Update分组(可以通过改变链路状态触发),注意其中LSA类型;观察有无224.0.0.5、224.0.0.6的IP地址,如有请说明这两个地址的作用。
通过debug ip ospf命令可以查看OSPF协议的动态情况,通过no debug all可以停止查看。
通过拔掉路由器R1和三层交换机间的网线,可以获得Update分组情况,如下图所示。可以发现此处的LSA类型为1,并且发送到了IP为224.0.0.5的目的地址处。
有224.0.0.5的IP地址,无224.0.0.6的IP地址。
224.0.0.5是用于OSPF路由器之间的邻居关系建立和维护的组播地址,224.0.0.6是用于OSPF的设计目的组播地址。
【5】本实验有没有DR/BDR(指派路由器/备份指派路由器)?如果有,请指出DR与BDR分别是哪个设备,讨论DR/BDR的选举规则和更新方法(通过拔线改变拓扑,观察DR/BDR的变化情况);如没有,请说明原因。
有。可以通过在路由器中执行命令show ip ospf interface进行查看。
通过【4】的指令可以发现,在路由器R1中,一开始DR和BDR均为0.0.0.0,如下图所示。
之后DR更新为10.206.1.2,BDR更新为10.206.1.1,如下图所示。
拔掉路由器R1和交换机之间的网线后,R1的DR和BDR均更新为0.0.0.0,而R2的DR和BDR均保持不变。
DR和BDR是由同一网段中所有的路由器根据路由优先级和Router ID通过Hello报文选举出来的,只有优先级大于0的路由器才具有选举资格。进行DR/BDR选举时每台路由器将自己选出的DR写入Hello报文中,发给网段上的每台运行OSPF协议的路由器。当处于同一网段的两台路由器同时宣布自己是DR时,优先级高者胜出;如果优先级相等,则Router ID大者胜出;如果一台路由器的优先级为0,则它不会被选举为DR或BDR。
如果DR或BDR失效,或者有新的路由器加入网络并希望成为DR或BDR,那么它们将参与新的选举过程。这个过程基于上述的选举规则进行,以确保网络中始终有一个DR和一个BDR来负责网络中的路由信息传播和LSA泛洪。
2:如何查看 OSPF 协议发布的网段?
通过命令show ip ospf database,可以查看OSPF发布的网段。
在路由器R1上执行该命令的结果,如下图所示。
3:关于 OSPF 反掩码。
反掩码可以简单地理解成掩码取反,而且不允许出现不连续的1和0。例如,可以是0.0.0.11111111,但不可以是0.0.0.11110011,也不可以是0.0.0.11111100。反掩码总是奇数或0,因为其最后一位总是1,除非全部是0。
4:255.255.255.255减去子网掩码就得出反掩码。请问:192.168.2.0/28 的反掩码是多少?
192.168.2.0/28的子网掩码为255.255.255.240,255.255.255.255减去该子网掩码,得到反掩码为0.0.0.15。
六:实验总结及体会
1:在申明直连网段时,要写该网段的反掩码,并指明所属的区域。
2:LSA的类型有Router LSA、Network LSA、Network Summary LSA、ASBR-Summary-LSA、AS-External-LSA和NSSA-LSA六种类型。
- Router LSA:即LSA-1,其主要描述的是与该路由的直连接口的链路信息,每个路由器都会生成一条LSA-1条目,LSA-1下含p2p、stubnet、transnet、virtual四种类别。
- Network LSA:即LSA-2,其主要在广播或者NBMA网络类型中,用于描述伪节点的信息。
- Network Summary LSA:即LSA-3,其主要是将不同区域内的1类Lsa和2类Lsa进行转换,以便于其在不同区域中进行传递。只有ABR路由才能进行转换,并且LSA-3只能在本区域内泛洪。
- ASBR-Summary-LSA:即LSA-4,其由LSA-1转换而来,主要的作用是告诉其他区域可以通过自身来找LSA-5所包含的链路状态信息。LSA-4由ABR产生,并在OSPF的本区域内进行泛洪。
- AS-External-LSA:即LSA-5,当外部路由被引入到OSPF协议中时,连接外部路由的路由器会被置位为ASBR路由,并发送1条LSA-1信息,告诉邻居自己为ASBR,之后将外部路由信息以LSA-5的形式进行转发。LSA-5可以在OSPF全区域内进行转发。
- NSSA-LSA:即LSA-7,其是NSSA区域用于引入外部路由时生成的LSA,其只能在本区域内泛洪,在往其他区域传递时,ABR会将LSA-7转换为LSA-5,在其他区域内泛洪。
3:OSPF的分组有Hello、Database Description、Link State Request、Link State Update和Link State Acknowledgment五种类型。
4:非DR路由器将自己的LSA发送给DR,然后DR将这些LSA泛洪到整个区域,使所有路由器获得一致的LSDB,从而确保区域内路由器都能计算出相同的最短路径树。
5:在路由器中执行debug ip ospf命令时,需要推到config环境之外,即Ruijie#的环境之中。否则会出现报错unknown command。