OSPF协议分析与配置(eNSP)

OSPF实验

一、概述

开放式最短路径优先路由协议

1. 特点

  • 无环路
  • 收敛速度快:支持触发更新
  • 良好的扩展性
  • 支持认证

2. 工作原理

运行OSPF协议的路由器了解网络拓扑中的所有链路状态信息,路由器向周围的所有路由器泛洪自己的链路状态信息,将所有的链路状态信息汇聚成LSDB,从而得到了网络的链路地图,通过算法计算出最短路径树,然后进行路由计算得出最优路由,从而形成路由表项加入到路由表中,当进行数据转发时可以通过查表找到路由信息,从而进行数据的转发。

3. OSPF报文

  • OSPF封装在IP报文中,协议号为89
  • OSPF的5中报文类型:
    1. Hello报文:发现维护邻居关系 (Type:1)
    2. DD(Database Description)报文:两台路由器在同步LSDB时用来描述链路状态信息(传输摘要信息) (Type:2)
    3. LSR(Link State Request)报文:用于请求LSDB中缺少的内容 (Type: 3)
    4. LSU(Link State Update)报文:向对端发送它所需要的LSA (Type:4)
    5. LSACK(Link State Acknowledgment)报文:用于收到LSU时进行确认 (Type:5)

4. Router ID、邻居和邻接

  • Router ID:32位的值,类似于IP地址格式,是OSPF路由器的身份标识
  • 通过Hello报文发现邻居,当参数协商一致时形成邻居(2-Way状态)
  • 双方交互DD报文,同步LSDB后形成邻接关系(Full状态)

5. OSPF的邻居状态机

OSPF协议分析与配置(eNSP)_第1张图片

6. 邻居发现

  • Hello报文用于邻居发现和邻居维护
    OSPF协议分析与配置(eNSP)_第2张图片

7. 数据库同步

  • 路由器通过DD报文进行主从路由器的选举和数据库摘要信息的同步
    OSPF协议分析与配置(eNSP)_第3张图片
  • 根据Router ID选举主从路由器,Router ID大的为主路由器
  • 当双方的数据库同步,则状态直接转变为Full状态
  • 若双方的数据库不同步状态为(Loading):则通过LSR报文请求所需的LSA,通过LSU报文进行LSA的更新,收到LSU报文之后通过LSACK报文进行确认

8. OSPF支持的网络类型

  • 缺省情况,OSPF认为以太网的网络类型为广播类型,PPP的网络类型为点到点
  • 缺省情况,OSPF认为帧中继、ATM的网络类型为NBMA(非广播多路访问)
  • 点到多点

9. DR和BDR选举

  • DR基于接口进行选举

  • DR可以减少链路中的邻接关系,BDR是DR的备份,链路中的所有路由器只和DR&BDR建立邻接关系

  • DR是基于端口的DR优先级进行选举(0-255)

  • 优先级值越高越优先,当优先级值相同时比较Router ID,Router ID越大越优先

  • 非抢占式选举

  • 广播网络中,DR和BDR用来接收链路状态更新报文的目的地址为组播地址224.0.0.6,发出的地址是224.0.0.5

10. OSPF区域

  • 每个区域维护一个独立的LSDB

  • Area 0为骨干区域,当其他区域之间交互信息时必须通过骨干区域
    OSPF协议分析与配置(eNSP)_第4张图片

  • ABR是边界路由器,维护两个区域的路由表

  • OSPF的cost值=参考带宽/实际带宽

二、基本配置

1. 实验拓扑

OSPF协议分析与配置(eNSP)_第5张图片

2. 实验配置

  • 连接拓扑

  • 配置主机和路由器端口的ip地址

  • 以AR4为例进行配置

  • 配置Router ID:ospf 1.1.1.1
    在这里插入图片描述

  • 划分区域,并将网段宣告到区域中:命令如图7
    在这里插入图片描述

  • 对其他路由器进行配置

  • 当端口配置成功后可以看到端口状态的改变
    OSPF协议分析与配置(eNSP)_第6张图片

三、OSPF协议报文交互过程

  • 在AR4上查看它的邻居关系,命令:ospf display peer
    OSPF协议分析与配置(eNSP)_第7张图片

1. 报文交互过程概述

OSPF协议分析与配置(eNSP)_第8张图片

2. 捕获数据包分析

  • Hello报文,用于发现和维护邻居关系
  • 在AR3的GE0/0/1端口捕获数据包
    OSPF协议分析与配置(eNSP)_第9张图片

注意:数据包中可以看到它宣告邻居Router ID为3.3.3.3即AR1

  • AR3发给AR1的DD报文
    OSPF协议分析与配置(eNSP)_第10张图片

  • AR3发给AR1的LSR报文
    OSPF协议分析与配置(eNSP)_第11张图片

  • AR1分给AR3的LSU报文

OSPF协议分析与配置(eNSP)_第12张图片

  • AR3发送给AR1的LSACK报文
    OSPF协议分析与配置(eNSP)_第13张图片

四、OSPF协议的链路状态描述

LSA描述链路状态目前我只了解三类:Router-LSA(一类)、Network-LSA(二类)、Sum-Net(三类)

1. Router-LSA

  • 一类LSA:所有路由器都会产生这一类链路状态通告,指明它们的状态和每条链路方向出站的代价,以及链路上所有已知的OSPF邻居,在本区域洪泛,链路状态ID为源路由器ID

  • 查看AR3 的链路状态数据库,使用命令:display ospf lsdb router self-originate
    OSPF协议分析与配置(eNSP)_第14张图片

  • Type:Router标识为一类LSA

  • Ls id:链路状态的ID即源路由器ID

  • Adv rtr:产生此LSA的路由器的Router ID

  • Link ID:为DR的接口IP地址

  • Data:宣告此Router LSA的路由器的接口IP地址

  • Link Type:MA型网络TransNet(表示的是描述的为DR的信息),点到点的链路路由信息为stubNet(路由信息)

2. Network-LSA

  • 二类LSA:由DR产生,指明所有与之相连的路由器,只在本区域泛洪,链路状态ID为DR的接口ip地址
  • 通过命令查看:display ospf lsdb network self-originate
    OSPF协议分析与配置(eNSP)_第15张图片
  • 二类LSA描述MA和NBMA型的网络
  • Ls id:DR接口的ip地址
  • Adv rtr:DR的Router ID
  • Attached Router:连接到该网段的路由器列表

3. Sum-LSA

  • 三类LSA:由ABR产生,将从一个区域学习到的信息发送给其他区域,链路状态ID为目的网络ID
  • 通过命令查看数据库信息:display ospf lsdb summary 10.1.2.0
    OSPF协议分析与配置(eNSP)_第16张图片
  • Type:为三类LSA
  • Ls id:为目的网段地址
  • Adv rtr:产生此LSA的Router ID
  • 三类LSA为纯粹的路由信息

五、参考资料

  • OSPF-链路状态路由协议
  • OSPF两个选举机制
  • OSPF链路状态通告类型汇总

六、总结

​通过本次实验了解了OSPF的基本工作原理,理解了OSPF的状态转换过程,通过使用eNSP简单掌握了OSPF的一些配置命令,捕获数据包观察到了OSPF中的不同报文的作用和工作过程。但还有许多细节没有掌握,需要后期进行查阅资料解决相应问题。

  • 有关其他问题可以关注我的个人博客点击这里

你可能感兴趣的:(网络知识)