华为---------eNSP中ospf链路协议的介绍及实验配置命令

文章目录

  • 前言
  • 一、原理
    • 1.1:链路状态协议工作原理简介
  • 二、参数介绍
    • 2.1:Router-id及DR选举原则(结合下文抓包分析)
      • 2.1.1:hello报文与DR宣告
      • 2.1.2:DR与BDR选举原则
      • 2.1.3:DR的不抢占原则和wait时间
    • 2.2:OSPF协议5种报文分析
      • 2.2.1:报文详解
    • 2.3:OSPF协议7种状态分析
    • 2.4:OSPF协议6种LSA分析
    • 2.5:OSPF协议常用配置及基本特性
      • 2.5.1:引入路由
      • 2.5.2:进入末梢区域(Stub)
      • 2.5.3:进入NSSA区域
  • 三、实验分析
    • 3.1:实验目的
    • 3.2:实验环境
    • 3.3:实验配置
      • 3.3.1:命令步骤
      • 3.3.2:图解步骤
      • 3.3.3:测试

前言

本章内容学习路由协议中的ospf链路协议,并且通过实验来熟练掌握。主要学习ospf的工作原理、主要参数,特性、和相关的报文分析。

一、原理

1.1:链路状态协议工作原理简介

OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP)。与RIP相对,OSPF是链路状态路有协议,而RIP是距离向量路由协议。 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表

  • 架构介绍:花瓣形状,骨干区域为0区域,其他区域1、2、3都围绕区域0相连,及个别的特殊情况,可以通过虚拟链路来连接
  • 信息传递:向邻居发送是自己知道的所有状态的链路状态信息
  • 路由标识:Router-ID是网络上唯一用于标识的一台路由器,线网用路由器的环回口
    来配置Router-ID,这边的地址是32位的公网IP地址,如果没有标,通过物理口来确认
  • 区域规划:划分多个区域是为了优化网络性能

二、参数介绍

2.1:Router-id及DR选举原则(结合下文抓包分析)

2.1.1:hello报文与DR宣告

  • DR/BDR选举是在接口宣告就启动选举等待时间wait40内进行,和2-way状态无关,
    2way只是衡量邻居,有没有选举资格,不能说选举是在2way中(后)选举。
  • 当有两台或者多台路由进入ospf状态时,进行选举的条件是都需要对方是2way状态才能参加选举。但不是选举的唯一条件,没有2way关系的邻居(候选人),仍然会进行选举。

2.1.2:DR与BDR选举原则

  • 例如路由器R1先配置ospf 并宣告接口 (R1的route id 1.1.1.1),路由器R2(R2 route id 2.2.2.2)紧接着也配置ospf并宣告接口。此时R1开始发送hello包,并启动wait 40s 计时器。并将收到的hello包 放在自己备选DR/BDR 列表中。(如果40秒内没有收到任何HELLO包,就宣布自己是DR)。如果wait时间内收到就比较优先级/route id 越大的胜出。通过hello宣布选举结果。

2.1.3:DR的不抢占原则和wait时间

  • 第一个wait时间,这个是每个路由器宣告进网络的时候都要启动的计时器
    目的是防止DR抢占(ospf的DR有不抢占原则,就是当有人宣告自己是DR的时候。其他路由器默认承认)
    还有个作用就是留出时间进行选举,尤其是初始网络这个时间可以等待收取路由器的hello来比较优先级和route id。
  • DR有可能不是优先级最高的路由器
    如果某个设备优先级最高,而且加入network的时间不晚于其他设备30s(waiting timer 的40s再留出10s,达到two-way状态),
    就一定可以成为DR,晚于30s就不一定能成为DR了(取决于它能参加选举时,选举是否已经完成)
  • R1和R2优先级相同时
    虽然R1的route id 小 但是在wait时间之后也就是选举之后就会成为DR,然后因为不抢占原则,所以才会有有小的ID成为DR的可能。每台只要运行ospf的路由器,在广播网络中都在第一个hello 发出后在本地进行DR 、BDR选举 其他路由器要想参与到对方选举中,只能在和这个路由形成2-way状态之后才有资格参与选举。
  • 他路由器要想参与到对方选举中,只能在和这个路由形成2-way状态之后才有资格参与选举网络中出现第一个通告选举结果的,其他的路由器停止选举,承认DR选举。(DR不抢占原则)

2.2:OSPF协议5种报文分析

2.2.1:报文详解

  • Hello:发现邻居并建立和维护邻居关系(Hello报文)
    hello发送周期分为10s和30s两种,hello hold的时间为发送时间*4即40s或120s
  • DataBase Description:检查所有路由器的LSDB是否同步(数据库描述报文DBD)dbd数据库描述报文 包含lsa的报头 即告诉邻居路由器 本地的lsdb中包含哪些LSA信息 同步lsdb过程中如果没有此描述可能会发送重复的LSA 造成资源的浪费导致低效LSA中除了拓扑或路由信息的载荷外还有LSA的报头也叫LSA的摘要,报头中包含此LSA的标识,从而避免发送重复的LSA信息
  • Link-State Request:向另外一台路由器请求特定的链路状态记录 (链路请求报文LSR)路由器请求邻居有但是本地没有的LSA,以保证lsdb一致,根据交互的dbd,
    将没有的LSA的报头放在LSAR中,表明需要的LSA
  • Link-State Update:发送被请求的链路状态记录 (链路回应报文LSU)
    根据上面的一条 将邻居请求的LSA信息 放在LSU中由本地路由器发送给邻居
    LSU包含完整的LSA信息
  • Link-State Acknowledgment:对其他类型的分组进行确认 (LSA)
    ospf定义了两类的确认 一种为显式的确认 另一类为隐式的确认(基于序列号的确认机制)前者收到一个报文 针对此报文 生成一个单独的确认报文(只有ospf支持确认)后者收到一个报文 使用相同的报文再发送回来 序列号设置为一致 既传输了信息 又做了确认

2.3:OSPF协议7种状态分析

  • 【Down State】 此状态还没有与其他路由器交换信息。
    首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组是,使用组播地址224.0.0.5。
  • 【Init State】 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来
  • 【Two-Way State】此时只是建立邻居关系,还没有建立连接关系,双向会话建立,而 RID 彼此出现在对方的邻居列表中。
  • 【Exstart State】信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number,路由器ID大的的成为Master.
  • 【Exchange State】信息交换状态:本地路由器和邻居交换一个或多个DBD分组(也叫DDP) 。
  • 【Loading State】信息加载状态:收到DBD后,使用LSACK分组确认已收到DBD.将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则想对方发送一个LSR,用于请求新的LSA 。
  • 【Full State】完全邻接状态,这种邻接出现在Router LSA和Network LSA中.

2.4:OSPF协议6种LSA分析

OSPF(开放式最短路径优先)路由器会创建一个路由选择表,表内包括网络内部的路由最短路径。当一个路由组件发生故障时,路由过程中会自动绕过它。路由器基于他们的链路状态数据库来创建这些路由选择表,他们通过网络内其它路由器的LSA(链路状态广播)来构建链路状态数据库。LSA(链路状态广播)是网络维护当前路由流量信息的手段。

  • 1类:所有OSPF路由器都会产生,只在区域内传播
  • 2类:DR产生,只在区域内传播
  • 3类:ABR产生,在相邻的两个区域相互传播
  • 4类:ABR产生,向和ASBR不在同一区域的其他区域传播,用于表示ASBR
  • 5类:ASBR产生,向整个OSPF协议区传播,用于描述另一个协议域的路由信息
  • 7类:NSSA区域中的ASBR产生,用于向NSSA区域通告外部路由

2.5:OSPF协议常用配置及基本特性

2.5.1:引入路由

  • ospf 1
  • import-route rip 1 type 1 cost 5 ##### 默认引入type 2 度量值是不累加的 这种是不科学的,一般引入type 1,要累加 cost 5 是花销引路由
  • rip 1
  • import-route ospf 1

2.5.2:进入末梢区域(Stub)

由于并不是每个路由器都需要外部网络的信息,为了减少LSA泛洪量和路由表条目,就创建了末节区域,位于Stub边界的ABR将宣告一条默认路由到所有的Stub区域内的内部路由器.

  • 将OSPF区域1设置为Stub区域:[Huawei-ospf-1-area-0.0.0.1]stub

2.5.3:进入NSSA区域

用7类LSA协议做优化
自治系统外的ASE路由不可以进入到NSSA区域中,但是NSSA区域内的路由器引入的ASE路由可以在NSSA中传播并发送到区域之外。即:取消了STUB关于ASE的双向传播的限制(区域外的进不来,区域里的也出不去),改为单向限制(区域外的进不来,区域里的能出去)。.

  • 将区域1配置成NSSA区域:[Huawei-ospf-1-area-0.0.0.1]nssa

三、实验分析

3.1:实验目的

熟练掌握ospf配置命令,报文分析

3.2:实验环境

华为---------eNSP中ospf链路协议的介绍及实验配置命令_第1张图片

3.3:实验配置

3.3.1:命令步骤

R1:配置接口地址和环回地址,然后开启ospf宣告网段
sys
sys R1
int g0/0/0
ip add 13.0.0.1 24
un sh
q
int LoopBack 0
ip add 1.1.1.1 32
q
ospf 1 router-id 1.1.1.1
area 0
network 1.1.1.1 0.0.0.0
network 13.0.0.0 0.0.0.255(最先宣告)
R2:配置接口地址和环回地址,然后开启ospf宣告网段
sys
sys R1
int g0/0/0
ip add 13.0.0.1 24
un sh
q
int LoopBack 0
ip add 1.1.1.1 32
q
ospf 1 router-id 1.1.1.1
area 0
network 1.1.1.1 0.0.0.0
network 13.0.0.0 0.0.0.255(最先宣告)
R3:配置接口地址和环回地址,然后开启ospf宣告网段
sys
sys R3
int g0/0/0
ip add 13.0.0.3 24
un sh
q
int LoopBack 0
ip add 3.3.3.3 32
q
ospf 1 router-id 3.3.3.3
area 0
network 3.3.3.3 0.0.0.0
network 13.0.0.0 0.0.0.255(最后宣告)

3.3.2:图解步骤

  • 首先配置R1R2R3的接口地址和环回地址华为---------eNSP中ospf链路协议的介绍及实验配置命令_第2张图片
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第3张图片

华为---------eNSP中ospf链路协议的介绍及实验配置命令_第4张图片

  • 然后开启R1的ospf并配上相应网段,等待40s,然后抓包查看,此时的DR就是r1的地址
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第5张图片

  • R1已经选上DR
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第6张图片

  • 接下来配置R2的ospf,抓包查看
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第7张图片
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第8张图片

  • 配置R3的ospf,抓包查看,DR和BDR都有了,R3是dother
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第9张图片
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第10张图片

  • 上面实验是,先开启R1的ospf,宣告DR和BDR在40s内进行,如果40秒内没有收到任何HELLO包,就宣布自己是DR,当有人宣告自己是DR的时候。其他路由器默认承认。

3.3.3:测试

  • 抓包
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第11张图片
    华为---------eNSP中ospf链路协议的介绍及实验配置命令_第12张图片

  • 此时的DR为R3的地址,BDR为R2的。

  • 当三台路由器同时进行选定时,或者前后不超过30s。
    宣告时时以route id的大小来排列,就是R3route id最大,所以宣告为DR,R2第二位BDR

你可能感兴趣的:(ospf,网络协议,路由器,网络)