HCIP---OSPF---开放式最短路径优先协议

OSPF

OSPF定义: 开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。

IETE---国际互联网工程任务组---RFC2328

OSPFv2和RIPv2对比

相同点

1、两者都是无类别路由协议--- 传播时携带真实掩码

2、两者的更新方式相同---组播

        RIPv2----224.0.0.9

        OSPFv2----224.0.0.5/224.0.0.6

3、两者均支持等开销负载均衡

不同点:

RIPV2只能应用在小型网络,OSPFv2可以应用在大型网络环境。

OSPF区域划分----结构化部署

OSPF域(Domain)---将一系列的OSPF路由器组成的网络称为OSPF域。

区域ID:32bit

OSPF多区域划分规则:
1、OSPF要求域中所有的非骨干区域(区域ID不为0的区域)都必须与Area0相连。

2、骨干区域不能被分割

OSPF区域结构部署规则的必要性:

1、假定没有“所有非骨干区域都必须与骨干区域相连"这条规则----"远离骨干的非骨干"

定义ABR(区域边界路由器)设备---确保所有人都遵循上述规则

ABR

条件:

1、ABR至少连接了两个区域;

2、连接的区域中至少有一个是区域0;

3、在区域0中至少有一个是活跃的邻居。

作用:用于传递区域间路由

为了避免区域间的路由形成环路,非骨干区域之间不允许直接相互发布区域间路由。

2、假设没有“骨干区域不能被分割”这条规则:

OSPF规从非骨干区域收到的路由信息,ABR能接收,但不会使用这条路由信息,但不会使用这条路由信息(OSPF水平分割原则)。

OSPF有如下规则;
1、对于伪ABR没备(非骨干区域之间设备)不允许转发区域间路由信息。

2、对于真实ABR而言
        能够将自己直连的非骨干区域的区域内路由信息传递给骨干区域。

        能够将自己直连的骨干区域的区域内路由信息传递给非骨干区域。

        能够将自己从骨十区域学习到的区域间路由信息传递给费骨干区域.

OSPF路由器角色

  • 内部路由器(IR)
    • 所有接口都接入同一个区域的路由器
  • 区域边界路由器(ABR)
  • 骨干路由器(BR)
    • 接入Area0的路由器,包括ABR,但是不包括ASBR
  • ASBR(AS边界路由器)
    • 工作在OSPF自治系统边界的路由器
    • 并不是同时允许多种路由协议的OSPF路由器就一定是ASBR,ASBR一定是将外部路由引入到OSPF

Hello

  • 用来周期发现,建立,保活OSPF邻居关系,通过组播224.0.0.5发送
  • 10s发送一次来确认邻居的存在
  • hold-time-----四倍的hello包时间
  • Route-ID(RID)
    • 全域唯一,标识路由器身份
    • 用IP地址形式表示(32bit,点分十进制)
    • 配置方法
      • 手工配置
      • 自动配置
        • 默认最大环回IP地址,若没有环回地址,则选择最大物理IP地址。
      • [r1]display router id   查看路由器全局ID
      • 注意:启动OSPF进程前,必须要有接口IP地址,若存在IP地址,则在第一次启动                 OSPF进程时,会选取第一个配置的IP地址闪RID。
                   但是,若制除第一个配置的IP地址后,则恢复为上述规则。                                         在华为设备中,若没有接口IFP地址,则OSPF启动后,RID为0.0.0.0                             在思科设备中,若没有接口IP地址,则OSPF启动失败
    • 无论采用手工配置还是自动选择,一旦OSPF进程启动,RID被确定,则无法恋化,必须重启进程才能生效。
    • <huawei>reset ospf process   重启所有OSPF进程

DBD

  • 数据库描述报文
  • 噶保温携带的是路径信息的摘要(为了减少更新量,并不会直接给邻居发送TOPO信息而是将TOPO 信息的目录发送给邻居)

LSR

  • 链路状态请求报文
  • 基于未知的LSA

LSU

  • 链路状态更新报文

LSAck

  • 链路状态确定报文

OSPF七种状态机

  • down---关闭状态---一旦启动了OSPF协议,则发出hello包,并进入下一个状态
  • init---初始化状态----收到的hello包中,存在自己的RID值,则进入下一状态
  • two-way---双向通讯状态----邻居关系建立的标志

   条件匹配:匹配成功则进入下一阶段,不成功则停留在2-way

  • exstart---预启动状态---使用未携带信息的DBD包进行主从关系选举,RID大的为主
  • exchange---准交换状态---使用携带目录信息的DBD报文进行目录共享
  • loading---加载状态----邻居间使用LSR/LSU/LSAck三种报文来获取完整的TOPO信息
  • full---转发状态---标志邻居关系建立

条件匹配

  • 设备接口名称

                DR---指定路由器

                BDR---备份指定路由器

                DRother---其他路由器

  • OSPF称为领接关系的条件

               点到点---不用选举DR和BDR---直接开始建立邻接关系(加快收敛的方法)

                MA网络---在一个网络中,不限制节点数(会选举DR和BDR)

  • 选举规则

                接口优先级----0-255---优先级越大,为DR,次一级为BDR(默认为1)

                RID----越大越优先

  • 选举范围----一个广播域进行一次条件匹配
  • 角色之间的关系

                DR和DRother----邻接关系

                DR和BDR-----邻接关系

                BDR和DRother----邻接关系

                DRother和DRother---邻居关系

  • 非抢占式选举方式

选举过程

  1. DR,BDR的选举是通过Hello报文来实现的,选举过程发生在2-way状态之后
  2. 路由器将自己的接口DR优先级填写Hello报文中的DR优先级字段
  3. 在接口视图下可以修改DR优先级
  4. 当路由器接口激活OSPF后,首先检查网络上是否已经存在DR设备,若存在则接受DR角色;若不存在,则拥有最高DR优先级的设备称为DR(RID)
  5. BDR的选举过程和DR选举过程相同,但是是在DR选举成功之后。

DR设备使用组播224.0.0.5 向该网络发送消息,

而DR和BDR使用224.0.0.6监听该MA网络的信息,

DRother使用224.0.0.6 发送自己的LSU报文。

NBMA网络类型中存在。

在NBMA网络类型下,如果需要启动OSPF协议,需要手工指定邻居,否则不会发送Hello报文;若不发送hello报文,则邻居状态处于attempt状态。

  • 启动OSPF配置完成后,OSPF将向本地所有运行OSPF协议的接口组播224.0.0.5发送hello报文; hello报文中携带有本地的RID以及本地已知的邻居RID;之后生成邻居表。
  • 邻居关系建立后,进行条件匹配;匹配失败则停留在邻居关系;仅hello报文保活
  • 匹配成功的邻居将开始建立邻接关系。
  • 首先使用未携带数据的DBD报文来进行主从关系选举;之后使用携带数据的DBD报文来共享数据库目录;之后本地使用LSR/LSU/LSACK报文来获取未知的LSA信息;
  • 完成本地数据库的建立---生成数据库表
  • 之后本地基于数据库生成有向图和最短路径树,之后计算本地到达拓扑中所有未知网段的最短路径,并将其添加到路由表中。
  • 收敛完成,hello报文周期保活。每30min进行一次周期更新。
     

结构突变

  1. 新增网段---直接在邻接关系的接口使用LSU进行更新,将内容告诉邻居,并需要邻居的ACK确认
  2. 断开网段---直接在邻接关系的接口使用LSU进行更新,将内容告诉邻居,并需要邻居的ACK确认
  3. 无法沟通---dead time ----四倍的hello时间

OSPF基础配配置

1、启动OSPF进程

        [r1]ospf 1 router-id 1.1.1.1    //进程号仅具备本地意义,手工配置RID方法

2、创建区域

        [r1-ospf-1]area o

3、宣告网段

        [r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0//精准宣告

        [r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255//宣告网段宣告使用反掩码形式

4、

        32位二进制,使用点分十进制表示。连续的O+连续的1;并且0代表不可变; 1代表可变。

 

 

 

 

华为体系中,优先级为10

OSPF的cost=====参考带宽(100Mbps)/实际带宽-------结果取整

[r1-ospf-1]bandwidth-reference 1000/修改参考带宽---所有设备均需修改

—条OSPF路径的Cost等于从目的地到本地路由器沿途的所有设备的入接口Cost值的总和。
 

OSPF 报文格式

OSPF报文头部:

  •  版本(Version)

                队友OSPFv2而言,该字段值恒为2

  • 类型(Type)

                描述OSPF数据包的类型

                Hello------1
                DBD-------2
                LSR-----3
                LSU--------4
                LSACK----5

  • 报文长度(Packet Lenth)

                整个OSPF报文的长度---单位字节

  • 路由器ID

                发出该报文的路由器的RID值

  • 区域ID

                发出该报文的接口所属于的区域的ID值

  • 校验和

                验证OSPF整体数据报文的有效性

  • 验证类型

                指示该报文使用的认证类型

                不认证---0;简单认证---1;MD5认证----2;

  • 认证数据

                用于报文认证所对比的内容;

                若认证类型为不认证,则该字段全部用0代替填充。

OSPF的认证功能存在于所有数据交互过程中,对于任何一种数据报文,都需要进行认证。

再认证过程中,需要对比两个字段,首先对比认证类型字段,若相同,才会对比认证数据字段。

Hello包

  •  网络掩码(Network Mask)

该字段填充的是发送该报文的网络掩码

两台OSPF路由器如果通过以太网接口直连,那么双方的直连接口必须配置相同的网络

掩码。(点到点网络不需要对比该参数)
注意:OSPF建立邻居关系需要对比子网掩码信息是华为独有,别的厂商没有这个要求。

  • Hello间隔

两台直连路由器需要确保直连接口的Hello时间间隔相同,否则邻居关系无法建立。

  • 可选项(Options)

该字段一共8bit,每个比特位都用于指示该路由器的某个特定的OSPF特性。

而OSPF邻居关系建立过程中,该字段中的某些比特位将会被检查,可能影响                        OSPF邻居关系建立。(特殊区域的标记)

  • 路由器优先级

[r2-GigabitEtherneto/0/0]ospf dr-priority ?             //修改OSPF接口的DR优先级

NTEGER<0-255>   Router priority value

  •   路由器失效时间

两台直连路由器要建立OSPF邻居关系,需要保证双方接口的dead time时间相同,否则邻居关系无法正常建立。

缺省时间为hello的4倍。
 

  • 指定路由器

网络中DR设备的接口IP地址

若没有DR或者DR没有选举出来,则填充0.0.0.0

  • 备份指定路由器

网络中BDR 设备的接口IP地址

若没有BDR或者BDR没有选举出来,则填充0.0.0.0

  • 邻居

在直连链路上发现的有效邻居,此处填充的是邻居的RID值,如果发现多个邻居,则包含多个邻居字段。
 

所有224.0.0.X格式的组播地址称为本地链路组播,目的IP地址是本地链路组播的数据包中的TTL值被设定为1。所有的本地链路组播都会存在对应的组播MAC地址,01-00-5e-后24位(组播IP地址的后24位)。

限制邻居关系建立的参数

子网掩码:

 

在R2上修改网络掩码后,R2会将与R3的状态立即修改为Down状态。而R3会在40S死亡时间之后进行状态切换。
原因:R2在修改IP地址的掩码后,会认为之前的连接中断,需要重新建立连接,所以重置状态机。而R3则认为是无法沟通。故会等待死亡时间超时后才切换状态。并且,该情况,在R3等待40s周期内,还是可以向R2转发数据,R2可以接收到该数据包,但无法回复。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值