OSPF 路由协议基础实验

实验介绍
关于本实验
开放式最短路径优先 OSPF(Open Shortest Path First)是 IETF 组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。目前针对 IPv4 协议使用的是OSPF Version 2(RFC2328);OSPF 作为基于链路状态的协议,OSPF 具有以下优点:
–OSPF 采用组播形式收发报文,这样可以减少对其它不运行 OSPF 路由器的影响。
–OSPF 支持无类型域间选路(CIDR)。
–OSPF 支持对等价路由进行负载分担。
–OSPF 支持报文认证。
由于 OSPF 具有以上优势,使得 OSPF 作为优秀的内部网关协议被快速接收并广泛使用。本实验将通过配置单区域 OSPF,帮助学员理解 OSPF 基本配置与原理。
实验目的
掌握 OSPF 的基本配置命令
掌握如何查看 OSPF 的运行状态
掌握如何通过 Cost 控制 OSPF 的选路
掌握 OSPF 发布默认路由的方法
掌握 OSPF 认证配置方法

实验组网介绍
在这里插入图片描述

实验背景
R1、R2、R3 都是各自网络的网关设备,现在需要通过 OSPF 动态路由协议,来实现这些网络之间的互联互通。
实验任务配置
配置思路

  1. 创建设备上的 OSPF 进程并使能接口上的 OSPF 功能
  2. 配置 OSPF 认证
  3. 通过 OSPF 发布默认路由
  4. 通过修改 Cost 值控制 OSPF 选路
    配置步骤
    步骤 1 设备基础配置
    #按照实验一的步骤 1、2、3、4 完成路由器的命名、物理接口和 LoopBack 接口的 IP 地址配置。
    #查看设备的路由表,以 R1 为例
    在这里插入图片描述
    步骤 2 完成 OSPF 基本配置
    #创建 OSPF 进程
    R1# router ospf 10
    创建OSPF进程是配置与OSPF协议有关参数的首要步骤。OSPF支持多进程,在同一台设备上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互。可以在创建OSPF进程时指定进程号,若不指定,默认进程号为“1”。
    在这里插入图片描述
    area用来指定OSPF区域,并进入OSPF区域视图。
    network ip-address wildcard-mask用来指定运行OSPF协议的接口。满足下面两个条件,OSPF协议才能在接口上运行:
  5. 接口的IP地址掩码长度≥network命令中的掩码长度。OSPF使用反掩码,例如0.0.0.255表示掩码长度24位。
  6. 接口的IP地址必须在network命令指定的网段范围之内。
    此时三个接口都被使能,同时属于区域0。
    同样将R2和R3配置进去:
    在这里插入图片描述
    在这里插入图片描述
    步骤 3 查看 OSPF 状态
    #查看 OSPF 邻居:
    在这里插入图片描述
    show ip ospf neighbor命令用来显示OSPF中各区域邻居的信息。包括邻居所属的区域、邻居Router ID、邻居状态、DR和BDR路由器等信息。
    #查看 IP 路由表中由 OSPF 学习到的路由:
    在这里插入图片描述
    步骤 4 配置 OSPF 认证
    #在 R1 上配置接口认证,详见《RG-RSR77路由器配置手册.pdf》471页。
    在这里插入图片描述在这里插入图片描述
    由于MD5是密文口令类型,所以查看配置时以密文方式显示口令。
    对端还没有配置密码,按理说建立不起来邻居,但是邻居依然建立成功了,可能存在bug:
    在这里插入图片描述
    检查后发现是我配置有误,没有先启用md5认证。
    删除认证(进入接口后输入下面命令删除):
    no ip ospf message-digest-key 1
    在区域0上启用md5认证:
    在这里插入图片描述
    在接口上配置密码:
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    配置好认证密码后,由于对端还没认证,故无法建立邻居:
    在这里插入图片描述
    #配置 R2 上的接口认证
    在这里插入图片描述在这里插入图片描述
    有R1和R2的相互邻居了:
    在这里插入图片描述
    在这里插入图片描述
    同理在R3上配置认证和密码:此时 R3 已经和 R1 与 R2 建立邻接关系。说明 OSPF 接口认证与区域认证产生的效果都是在设备的 OSPF 接口上实现 OSPF 报文认证。
    在这里插入图片描述
    步骤 5 假设 R1 为所有网络的出口,所以在 R1 上向 OSPF 宣告默认路由
    #在 R1 上宣告默认路由
    在这里插入图片描述
    default-information命令用来将默认路由通告到普通OSPF区域,如果没有配置always参数,本机路由表中必须有激活的非本OSPF默认路由时才向其他路由器发布默认路由。本例中,本地路由表中没有默认路由,所以需要增加always参数。
    在这里插入图片描述
    在这里插入图片描述R2 与 R3 上已经学习到相应的默认路由

步骤 6 通过修改 R1 相应接口的 Cost 值,使得 R1 的 LoopBack0 接口通过 R1->R3->R2 的路径访问 R2 的 LoopBack0 接口。
#从 R1 的路由表可知,R1 通过 R1->R2 的路径访问 R2 的 LoopBack0 接口的路由开销为 1,从 R1->R3->R2 的路由开销为 2,故只要使 R1->R2 的路由开销大于 2 即可(即把开销变大,就不再走本链路了,会选择开销较小的路径)。
在这里插入图片描述
此时 R1 访问 R2 的 LoopBack0 接口的下一跳为 R3 的 g0/1 接口(可以对比上面的路由表这条路由,开销是1,这里变成了2,下一跳地址也发生了变化)。
在这里插入图片描述
#通过 Traceroute 命令验证
在这里插入图片描述
此时 R1 访问 R2 的 LoopBack0 接口的下一跳为 R3 的 g0/1(10.0.13.3) 接口。
思考:步骤 6 中,R2 回复 R1 的 ICMP 报文的路径是什么样的?试着解释一下原因。


版权声明:本文为Mozen_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。