OSPF基础

一、路由


1.静态路由
2.动态路由

(1):IGP:内部网关路由协议-在同一个AS内部使用(在企业内部或者数据中心内部使用)
             -DV:距离矢量路由协议
                 -RIP(v1/v2)
                 -IGRP-思科私有协议
                 -EIGRP-思科私有协议
             -LS:链路状态路由协议
                  -OSPF:开放式最短路径优先( 企业用:功能多,可以精细化控制) 
                  -ISIS:中间系统到中间系统( 数据中心用,转发能力强,大流量转发 )

(2):EGP:外部网关路由协议:在不同的AS之间使用(AS:自治系统)
              -BGP:边界网关协议

二、OSPF概述


1.什么是OSPF        
        开放式最短路径优先OSPF 是一种动态的高度可靠和高度可扩展的路由协议,用于构建大型网络中的动态路由系统。

使用范围:IGP 

协议算法特点: 链路状态型路由协议,SPF算法

协议是否传递网络掩码:传递网络掩码

协议封装:基于IP协议封装,协议号为 89

2.OSPF的特点
1.OSPF 是一种典型的链路状态型路由协议

2.传递信息称作LSA,LSA 链路状态通告,包含路由信息和拓扑信息。

      路由LSA:描述本路由器上接口的路由信息(通过判断有无掩码确实路由LSA)

      拓扑LSA:描述路由器之间的连接状态

3.更新方式: 触发更新+30分钟的链路状态刷新 

   网络结构发生变化触发更新,否则不触发更新

   凡是触发更新,都会有邻居机制

    30min的链路状态刷新,刷新参数

4.更新地址: 组播和单播更新,

        组播地址: 224.0.0.5(ALL SPF router)      224.0.0.6 (ALL DR router)

         本地链路组播地址224.0.0.X(TTL=1)

5.支持路由认证

6.支持手工汇总

7.支持区域划分

8.OSPF 比较消耗设备资源

3.OSPF的区域划分
1.划分区域的意义
1.减少LSA的数量 

2.减少LSA的传播范围

 ( 同一区域内是链路,不同区域内是距离矢量)

2.区域的划分
区域的划分是基于接口的(链路的)

1.区域的标记:使用了32个二进制    1.十进制   2.类似于IP地址  A.B.C.D

        通过十进制表示,例如区域 0、1、2、3等

        通过点分十进制表示,例如区域 0.0.0.0 、0.0.0.1、0.0.0.2等

2.区域设计原则: 向日葵型网络结构

        OSPF网络中必须存在并唯一的骨干区域(单区域除外)

        若存在非骨干区域,非骨干区域必须与骨干区域直接相连

3.OSPF中路由器的角色:

          骨干路由器:所有接口属于骨干区域

          非骨干路由器:所有接口属于非骨干区域

          ABR:区域边界路由器,能够产生3类LSA的路由器(骨干和非骨干之间)

          ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器(ospf与非ospf之间的路由器,同时该路由器能够将非ospf的路由信息引入ospf区域中)

        ospf 1 router-id 1.1.1.1 //指定ospf进程号(1-65535)指定router-id(推荐用手工指定router-id)
        area 0.0.0.0   (area 0)             //指定区域id
        network 192.168.1.0  0.0.0.255     //宣告网段
        network 192.168.12.0  0.0.0.255    //宣告网段

三、OSPF 消息数据包


1.数据包的类型
Hello   DBD  LSR  LSU  LSACK

2.Hello包
周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)

目的:建立并维持OSPF 邻居关系(邻居关系建立之后充当保活包功能)

OSPF Header  头部报文解析: 
 【 OSPF Version 】 
     这个字段,指的是OSPF的版本
     版本2——针对的是IPv4的网络
     版本3——针对的是IPv6的网络
 【 Message Type 】 
     消息类型
     OSPF中,一共有五种报文:Hello、DD、LSR、LSU、LSAck
     分别对应了1、2、3、4、5
 【 Packet Length 】 
     报文的长度,不可修改
 【 Source OSPF Router 】 
     发送这个Hello报文的路由器的Router ID
     而在一个OSPF网络中,Router ID就是用来唯一标识一台路由器的
     所以,不同路由器的Router ID不能相同
  【 Area ID 】 
     发送这个Hello报文的接口,所在的区域
     两台路由器,想要建立邻居,它们的互联接口,必须在同一个区域中
 【 Packet Checksum 】 
     报文的校验和,用来校验报文是否完整
 【 Auth Type/Data 】 
     这里指的是OSPF的认证
     认证的类型必须相同,认证的密码必须一致OSPF Header  头部报文解析:

【 Network Mask 】 
    子网掩码
    默认情况下:两个建立OSPF邻居的路由器,互联接口的掩码必须相同
 【 Hello Interval 】 
    Hello时间间隔/Hello计时器/Hello时间
    就是发送这个Hello报文的路由器,多长时间发一个Hello包
    默认情况下:Hello时间为10秒
    两台路由器,想要建立OSPF邻居,它们的Hello时间必须相同
  【 Option 】 
     特殊标记位
     不同的区域类型的标记位也不同
     想要建立OSPF邻居,Option位必须相同
  【 Router Priority 】 
     DR优先级,用于DR选举
     如果两台想要建立OSPF邻居的路由器,在互联接口上都配置了自己的DR优先级为0,那么,两台路由器都不会参加DR选举
     而在需要DR的网络中,选举不出DR,邻居就无法继续建立
     所以,两台设备DR优先级为0,在需要DR的网络中,邻居状态会卡在2-way
  【 Router Dead Interval 】 
      Dead时间/死亡时间
      默认情况下:是Hello时间的4倍=40秒
      Dead时间会随着Hello时间的改变而改变,但还是4倍关系
      所以,我们如果更改Dead时间,一定要注意是否受Hello时间影响,
      即:我们需要单独更改Dead时间(手动配置的Dead时间优先于默认情况——4倍Hello时间)
  【Designated  router 】  :  DR :指定路由器

  【backup  Designated  router】   :BDR  :备份指定路由器

  【Active  Neighbor 】 :  活跃的邻居,我认可的邻居

2.DBD包
 数据库描述数据包(用于描述数据库摘要信息)

主从选举DBD: 比较双方的router-id ,router-id大的一方为主(master ),小的一方为从(slave);主用于控制LSA的交互

3.LSR包
链路状态请求,按照DBD中报文的未知LSA头部进行请求(不包含的路由信息)

( 请求数据库中没有的LSA信息)

 4.LSU
链路状态更新,携带LSA信息。(据对方的请求信息,更新LSA给对方)

 5.LSACK
链路状态确认(收到对方的更新LSA信息后,进行确认)

 四、OSPF 邻居状态机制


1.邻居关系建立条件
1.router-id 必须不同

2.area ID 相同

3.认证: 认证类型 (不认证=0  明文认证=1  MD5=2)  认证数据

4.hello时间,dead时间必须一致

5.特殊区域标识一致(E(外部路由位)=1  ; N(NSSA外部路由位)=0    P=0)

6.MA网络中,网络掩码必须一致

7.必须同时使用单播或组播更新

8.更新源检测(双方的IP地址必须在同一网段)

2.DR与BDR的选举
邻居状态下(two-way): MA的网络中会选举DR(指定路由器)  BDR(备份指定路由器)

DR选举:  

       1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优) 若优先级为0 代表弃选

        2.比较各自的router-id,越大越优

注意:

    1.DR抢占是关闭的 (先选举的DR不会因为后来的BDR或DRother的优先级和router-id而影响)

    2.DR是一个接口概念 

    3.优先级范围0-255,数字为0代表不参与选举 

    4.先选举BDR ,再升级为DR

3.主从选举
发生在exstart状态, 通过双方的router-id进行比较,router-id大的一方为主。  发送的主从选举DBD,DBD中包含了MTU值(默认思科直接启用,华为中默认不包含MTU,可以使用命令激活传递MTU值的功能,若双方的MTU值不匹配则卡在exstart 状态)。

4.所有的状态
Down、 init 、 attempt(尝试 过渡) 、 two-way 、  exstart  、 exchange  、loading  、full

1.Down
邻居关系没有建立就处于down(down状态下可能还会每隔120s发送一次hello包)。

2.init
初始化状态,一旦开始发送hello报文,就进入初始化状态。

3.two-way
双向通信状态(邻居状态),接收到包含自己router-id 的对方的hello报文。

4.exstart
预启动状态,一旦开始发送主从DBD,则进入预启动状态。

5.exchange
预交换,主从选举完成,则发送携带LSA头部信息的DBD,进入预交换状态,会发送LSR数据包。(但是没有LSU)

6.loading
加载状态,一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习。

当请求列表,重传链表空时就会处于full,不空时处于loading

7.full
邻接状态。双方LSA同步(双方LSA全部学习)

.OSPF基本配置

启用 OSPF 并指定 router-id
Router-id : 路由器标识符,用于标识本路由器在 OSPF 网络中的唯一性
OSPF router-id 选举规则: 1. 手工指定最优先 2. 选举所有逻辑中 IP 地址最大的 3. 选举所有物理接口 IP 地址最大的
华为中: 若以上三点都不满足,则可以创建 router-id 0.0.0.0 ;在使用逻辑或物理接口IP 地址时,接口可以是关闭状态;若一台路由器启用了多个OSPF进程,不同进程可以使用相同的 router-id (不推荐);
思科中:若以上三点都不满足,则无法启用 OSPF ;在使用逻辑或物理接口时,接口必须双 up ,该接口可以不通告进入 OSPF 中;同一路由器上多个OSPF进程必须 router-id 必须不同;
全局模式下可以选择针对所有的 OSPF 进程修改 router-id ;(若同时在接口部署时,接口优先生效)

 Network通告:

1.

2. 必须先创建 OSPF 进程并开启需用使用的区域 ID ,再进入接口启用:

 

OSPF 三张表:
1.OSPF 邻居表
查看 OSPF 邻居表

 

2.LSDB 表(链路状态数据库)
查看 LSBD 的摘要信息:
3.OSPF 路由表:

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值