OSPF网络层协议笔记


前言

  RIP是基于距离矢量算法的路由协议,应用在大型网络中存在收敛速度慢、度量值不科学、可扩展性差等问题。
  IETF提出了基于SPF算法的链路状态路由协议OSPF(Open Shortest Path First)。通过在大型网络中部署OSPF协议,弥补了RIP协议的诸多不足。那么OSPF协议是如何实现的呢?面对网络扩展的需求,又该如何应对呢?


OSPF常用命令

ospf 1 router-id 1.1.1.1   //ospf标识1,router ID为1.1.1.1
	area 0  //区域0
		network 192.168.1.1 0.0.0.255 //宣告时使用反掩码,0~指定,255~随意数字
		
reset ospf process  //重启ospf协议 
display ospf peer brief  //查看ospf协议内容
display ip routing-table protocol ospf  //在该路由查看ospf学习到的路由
display ospf lsdb  //查看ospf当中LSDB
interface gi 0/0/0
	ospf cost 20 //接口下配置开销
	ospf authentication-mode simple plain Huawei  // 配置明文认证,并且密码为Huawei,必须相连OSPF设备都要配置才可以建立full关系;
	

OSPF的工作过程

  1、建立邻居。
  2、同步链路状态数据库。
  3、计算最优路由。

OSPF协议报文

在这里插入图片描述
  ospf 网络层 协议号 89
  ospf报文 头部+数据内容
  数据内容 hello报文 DBD LSR LSU LSACK
  头部:version router id、auth、area
  hello报文:hello发送周期、hello死亡周期、network mask、DR、BDR、邻居列表、option选项、优先级

建立邻居

在这里插入图片描述
  1、RTA和RTB的Router ID分别为1.1.1.1和2.2.2.2。当RTA启动OSPF后,RTA会发送第一个Hello报文。此报文中邻居列表为空,此时状态为Down,RTB收到RTA的这个Hello报文,状态置为Init。
  2、RTB发送Hello报文,此报文中邻居列表为空,RTA收到RTB的Hello报文,状态置为Init。
  3、RTB向RTA发送邻居列表为1.1.1.1的Hello报文,RTA在收到的Hello报文邻居列表中发现自己的Router ID,状态置为2-way。
  4、RTA向RTB发送邻居列表为2.2.2.2的Hello报文,RTB在收到的Hello报文邻居列表中发现自己的Router ID,状态置为2-way。
  因为邻居都是未知的,所以Hello报文的目的IP地址不是某个特定的单播地址。邻居从无到有,OSPF采用组播的形式发送Hello报文(目的地址224.0.0.5)

  状态的描述
    Down:这是邻居的初始状态,表示没有从邻居收到任何信息。
    Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。
    2-Way:在此状态下,路由器发现自己的Router ID存在于收到的Hello报文的邻居列表中,已确认可以双向通信。

邻接过程

在这里插入图片描述
  一直到双方把自己LSA头部信息传递,其中有一个标志是0;
在这里插入图片描述
  ExStart:邻居状态变成此状态以后,路由器开始向邻居发送DD报文。Master/Slave关系是在此状态下形成的,初始DD序列号也是在此状态下确定的。在此状态下发送的DD报文不包含链路状态描述。
  Exchange:在此状态下,路由器与邻居之间相互发送包含链路状态信息摘要的DD报文。
  Loading:在此状态下,路由器与邻居之间相互发送LSR报文、LSU报文、LSAck报文。
  Full:LSDB同步过程完成,路由器与邻居之间形成了完全的邻接关系。

DR与BDR选举

在这里插入图片描述
  在运行OSPF的MA网络和NBMA网络,会存在两个问题;
  因为同一个区域的路由器必须保证他们LSDB(链路状态数据库)是一样的,因此在一个有N个路由器的网络中会形成(n*(n-1))/2 个邻接关系,我们可以做一些优化,在一个MA网络中选出DR角色出来,DR(Designated Router)即指定路由器和BDR(Backup Designated Router)和DROther(非DR路由器)。
  规定:DR/BDR和BDR可以建立FULL连接关系 DROther之间只是建立2-way连接关系。
  DR/BDR监听的IP:224.0.0.6
  DROther监听的IP:224.0.0.5
  DROther会将路由器信息发送给224.0.0.6的目标IP,因为224.0.0.6地址是DR与BDR设备监听,然后DR设备会监听到这些路由信息,就会将这些信息发送224.0.0.5的目标地址,因为224.0.0.5所有的OSPF监听的地址,这样所有的路由都可以收到该信息。

  DR的作用:
    1、减少连接关系数量,也就是full关系;
    2、产生LSA-2;

  DR与BDR选举规则:
    1、接口DR优先级越大越优先;
    2、优先级相等,router ID值越大越优先;

  注意:
    1、优先级0是不参与选举DR与BDR;
    2、一般是建议手工操作DR与BDR选举;
    3、只有MA网络才有DR和BDR选举;
    4、P2P与P2MP中不选举DR与BDR;
    5、接口优先级,默认是1,范围0~255;

  设置优先级命令:ospf dr-priority 1
  查看命令:display ospf interface gigabitEthernet 0/0/1

  选举过程:
    1、首先选择DROther集合;
    2、然后选择的是BDR;
    3、最后选择的是DR;

OSPF协议网络类型

  数据链路层协议类型多种多样,工作机制也各不相同。
  为适配多种数据链路层协议,必须考虑各类链路层协议在组网时的应用场景。

P2P网络

在这里插入图片描述
  P2P网络是一对路由,广播、组播数据包都可以转发;
  P2P网络的例子:两台通过PPP(Point-to-Point Protocol)链路相连的路由器网络。
  P2P所有报文都是监听224.0.0.5地址;
  P2P状态变化:int >> Exstart >> Exchange >> loading >> full;
  在P2P中是没有2-way邻居关系的,说明P2P类型下,是不需要选择DR和BDR的;

广播网络

在这里插入图片描述

  广播型网络的例子:通过以太网链路相连的路由器网络;
  两台或两台以上的路由器通过共享介质互连;
  支持广播、组播;
  Hello报文: 组播报文:224.0.0.5
  DBD报文:单播报文
  LSR报文:单播报文
  LSU报文:单播、组播报文.5或者.6
  LSACK报文:单播、组播报文 .5或者.6

NBMA网络与P2MP网络

在这里插入图片描述

  缺省情况下,OSPF认为帧中继、 ATM的网络类型是NBMA;
  NBMA网络(非广播网络)要求全网络中的路由器全连接,R1要与R2连接关系,R1要与R3连接关系,R2要与R3连接关系,该模式已淘汰了;
  P2MP网络(点到多点网络),R1要与R2连接关系,R1要与R3连接关系,R2不需要和R3有连接关系;

影响FULL连接建立不起来的问题

  1、不在同一个区域时不能建立full;
  2、不在同一个网段时无法建立full;
  3、hello Iterval 不一样时无法建立full;
  4、router ID一样时无法建立full;
  5、认证都要开启,否则无法建立full;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

darkqaz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值