笔记作业3

OSPF(Open Shortest Path First )是由IETF开发:链路状态路由协议 、使用的是Dijkstra算法、计算路由,优点有快速收敛,层次化多区域结构设计。多部署在中大型园区网,城域网,企业网中 , 目前的OSPF 版本v2 主要用在点分型十进制数,OSPFv3主要用于128位的ipv6协议中。

算法:SPF算法(最短路径优先算法)把收集的信息组成一个完整的图形结构转化为树形结构,主要目的是因为树形结构不会出现环路。

组播地址:224.0.0.5/224.0.06

优先级:10/150

进程号:没有用,仅具有本地意义。区分不同进程。

OSPF版本: 

V1 ---- 实验室版本

V2 ---- IP4版本

V3 ---- IP6版本

   RIPV2与OSPFV2的相同点
                1.RIPV2(224.0.0.9)和OSPFV2(224.0.0.5  224.0.0.6)都是以组播的形式发送信息的。 --- 224.0.0.X的组播地址 --- 本地链路组播 --- TTL设置为1

                2.RIPV2和OSPFV2都被称为无类别的路由协议

                3.OSPFV2和RIPV2都支持手工认证

                4.OSPFV2和RIPV2都支持等开销负载均衡

    RIP与OSPF的区别
                RIP只能应用在小型网络当中,OSPF可以适用于中大型网络当中 --- OSPF支持结构化部署 --- 区域划分 --- 目的 --- 区域内部传输拓扑信息,区域之间传递路由信息

   OSPF的计时器

Hello包 --- 周期发现,建立和保活另据关系

Hello时间 --- 10S(30s)

Dead time ---- 4倍的hello时间

   区域划分

OSPF的结构化部署:区域划分 区域划分的主要目的:区域内部传递拓扑信息,区域之间传递路由信息。称为链路状态型协议的距离矢量特征。所以可以在大型网络中应用。

多区域提高了网络的扩展性,有利于组件更大规模的网络。

   OSPF的多区域划分

区域边界路由器 --- ABR --- 同事属于两个区域,一个接口对应一个区域,并且有一个接口在区域0中

区域划分要求 --- 1.区域之间必须存在ARB设备

                            2.区域划分必须按照星型拓扑划分 --- 星型拓扑中间区域我们称为骨干区域

区域ID(area ID) ---- 区分和标定OSPF网络中不同的区域 --- 32位二进制构成 --- 1.点分十进制表示;2.直接使用十进制表示 --- 骨干区域的区域ID定义为区域0.
假定没有“所有非骨干区域都必须连接骨干区域”这条规则:

OSPF定义了ABR(区域边界路由器)来确保遵循这条规则。----只有真正的ARP设备才可以转发区域间路由信息。

非骨干区域之间不允许直接相互发布区域间路由信息。----因为非骨干区域之间的边界设备不是ARP。

假定没有“骨干区域不能被分割”:

OSPF规定:从非骨干区域收到的路由信息,ABR能接收到不会使用这条路由信息(这条规则,被称为OSPF的区域水平分割机制)。----从一个区域学习到的路由信息,不能再传递回该区域。

OSPF路由器角色:

内部路由器---IR
        所有接口都接入同一个 OSPF 区域的路由器
区域边界路由器---ABR
          R2、R3  
骨干路由器----BR
        接入 Area0 的路由器
自治系统边界路由器---ASBR
       1.工作在 OSPF 自治系统边界的路由器,负责将 OSPF 域外的路由引入本域。
       2.并不是所有运行了多种路由协议的 OSPF 路由器就一定是 ASBR ;必须执行了重发布操作的路由器才会被称为ASBR
 

OSPF的数据包:

hello包
1.用来发现、建立并周期保活 OSPF 邻居关系 ,通过组播 224.0.0.5 发送。
2.10S 发送一次用以确认邻居存在。
3.hold-time---- 死亡时间 ----hello-time*4
4.Router-ID ( RID ) --- 全域唯一,标识路由器身份。 IP 地址形式
配置方式
  1.手工配置
  2.自动配置
              .默认优选最大环回 IP 地址,没有环回就选择最大物理 IP 地址
 

在华为设备中,若没有接口 IP ,则 OSPF 启动后, RID 为 0.0.0.0
在思科设备中,若没有接口 IP ,则 OSPF 无法启动。
华为标准:状态最先 UP 的接口的 IP 地址作为 Router id
FRC 标准:
1 、取 loopback 接口 IP 中最大的作为 Router id
2 、若没有 loopback 接口,则选择物理接口 IP 地址中最大的作为 Router id
 

DBD报文
     数据库描述报文
     该报文中携带的是 路径信息的摘要 。 --- 避免重复更新,减少更新量的一种做法。
LSR报文
     链路状态请求报文 ---- 用以获取未知的 LSA (链路状态通告)信息。
LSU报文
     链路状态更新报文
     携带真实的 LSA 信息的数据包
LSAck报文
     链路状态确认报文
OSPF 七种状态机
     down--- 关闭 ----- 一旦启动了 OSPF 协议,则发出 hello 报文进入下一个状态
     init---- 初始化 ---- 收到的 hello 报文中存在本地 RID 值,进入下一个状态
     2-way---- 双向通讯 ---- 邻居关系建立的标志 。 --- 稳定态。
条件匹配:匹配成功则进入下一个状态,匹配失败则停留在邻居状态。
     exstart---- 预启动 ---- 使用未携带信息的 DBD 报文进行主从关系选举, RID 大的为主。
     exchange---- 准交换 ----- 使用携带目录信息的 DBD 报文进行目录共享
     loading---- 加载 ---- 邻居间使用 LSR/LSU/LSACK 报文来获取完整的 LSA 信息
     full--- 转发 ---- 拓扑交换完成后,根据算法计算出路由进入该状态,标志着 邻接关系的建立 。 --- 稳定 态。
 

条件匹配
        指定路由器---DR----和MA网络中其他所有设备建立邻接关系
        备份指定路由器----BDR---和MA网络中其他所有设备建立邻接关系

        在DR和BDR都存在的情况下网络中至少需要四台设备才能看到邻居关系。
        DR和BDR在其工作范围在一个MA网络中所有,其实质是接口

        条件匹配 --在MA网络中,所有设备均为邻接关系,则将出现大量的重复更新。

        DR和BDR的选举
            1,比较接口的优先级(Priority),最大为DR,次大的为BDR,默认优先级为1。
            2,当优先级相同时,则比较RID,RID大的路由器对应的接口为DR,次大的为BDR。
        DR、BDR的选举--非抢占模式的选举---选举时间等于死亡时间

RID--路由的ID

满足条件:1.全网唯一 2.格式统一

获取方式:1.手工配置 2.自动生成

手工配置 --- 仅需要满足以上两个条件即可
自动生成 ---
                       1.先看设备是否配置环回接口,如果存在选择换回接口的IP地址作为                                          RID;如果存在多个换回接口,则选择其中数值最大的作为RID

                       2.如果不存在环回接口,则将与设备的物理接口作为IP地址作为RID,如

                           果存在多个物理接口,则将选择其中数值最大的作为RID。

OSPF的状态机:

down状态—-启动ospf之后,发出hello包之后进入到下一个状态


init(初始化)状态--收到Hello包中包含本地的RID,则进入到下一个状态


Two-way(双向通信)状态 --标志着邻居关系的建立(条件匹配)匹配失败,则将停留在邻居关系,仅使用Hello包进行周期保活;匹配成功则进入下一个状态


exstart(预启动)状态 --使用未携带数据的DBD包进行主从关系选
举,RID大的为主,为主可以优先进入下一个状态


exchange(准交换) 状态 --- 使用携带目录信息的DBD包进行目录共享


loading(加载)状态--基于对端发送的DBD包,使用LSR/LSU/LSACK三种数据包获取未知LSA信息。


FULL状态 --标志着邻接关系的建立。

稳定状态只有2-way和full两个状态。
 

OSPF的工作过程:

启动配置完成后,OSPF将向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包;hello包中会携带自己本地的RID和本地已知的RID;之后,将实际到的邻居关系记录在本地的一张表中 --- 邻居表

        邻居关系建立完成之后,将进行条件陪陪。失败,则停留在另据关系,仅使用hello包进行周期保活

        匹配成功则开始建立邻接关系,首先使用未携带的DBD包进行主从关系选举,之后,使用携带信息的DBD包共享数据库目录信息。之后,完成本地使用LSR/LSU/LSACK三种数据包获取未知的LSA信息。之后,完成本地数据库的建立,生成数据库表 --- LSDB

        最后,基于本地链路状态数据库LSA信息,生成有向图及最短路径树,之后,计算出本地到达未知网段的路由信息。将这些路由信息添加到 --- 路由表

        收敛完成后,OSPF依然会每隔10s(30s)发送hello包进行周期保洁;每隔30min进行一次周期更新。

结构突变的情况

        1.新增一个网段 --- 触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK确认

        2.断开一个网段 --- 触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK确认

        3.无法通信 --- dead time
 

条件匹配

设备接口角色

指定路由器------DR
备份指定路由器-----BDR
其他路由器----DRother


角色之间的关系

DR与BDR----邻接
DR与DRother---邻接
BDR与DRother---邻接
DRother与DRother----邻居


OSPF条件匹配的情况

在以太网网络中-----必须进行条件匹配
在点到点网络中-----不需要进行条件匹配


选举规则

1.优先级,默认为1,0-255,越大越优
2.RID,越大越优


选举范围

一个广播域,进行一次条件匹配。
条件匹配是属于非抢占模式-----一旦选举成功,不会因为新加入的设备而重新选举。
 

OSPF的基本配置:

启动OSPF协议:

1.[r1]ospf 1 router-id 1.1.1.1 ---- 手工配置RID需要在进程启动时配置。

2.OSPF ProcessID只是本地有效,用来在本地区分不同的OSPF进程

3.虽然OSPF ProcessID本地有效,但是我们仍然建议,除非有特殊需求,否则全网使用一致的OSPF进程ID,这将方便网络管理和维护。

创建区域:

[r1-ospf-1]area 0

宣告:

[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   ---- 范围宣告

查看OSPF的表格:

[r1]display ospf peer ---- 查看邻居表,显示的是详细的信息
[r1]display ospf peer brief ---- 查看邻居关系简表
[r1]display ospf lsdb ---- 查看数据库表
[r1]display ospf routing ---- 查看
[r1]display ospf lsdb router 2.2.2.2 ---- 展开一条LSA的方法
[r1]display ip routing-table protocol ospf ---- 查看ospf路由表
[r1]display this ---- 查看当前页面所有配置信息

OSPF的报文格式:

头部文件为24字节

版本---恒为2

类型----描述OSPF数据包类型

hello---1

dbd-----2

lsr------3

lsu----4

lsack----5

报文长度

路由器ID----RID

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

校验和----完整数据包

验证类型

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

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

验证数据

用于报文认证的内容

若认证类型为不认证,则该字段全为0;

注意:

当两个路由器去验证的时候,会先比较验证类型。当验证类型相同是才会比较验证数据。如果验证类型不同就不会去比较验证数据,更不会去建立邻居关系。

并且由于验证类型是在OSPF头部报文中,所以OSPF的五种报文都要去验证。
 

Hello报文:

网络掩码

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

如果一方在接口上收到的hello报文中,网络掩码字段与本地接口配置的掩码不同,则该路由器忽略该hello报文,此时邻居关系无法建立。

注意:只有在华为设备中会检查网络掩码信息。

Hello间隔

如果两台路由器的hello时间间隔不同,则不会建立邻居关系。

在Broadcast类型和P2P网络类型中hello时间间隔为10S;而在NBMA或P2MP网络类型中,Hello时间为30S。

可选项

有8个标记位,每一个标记位为1,则代表其符合OSPF的某种特性。

特殊区域标记。

路由器优先级

用于选举DR和BDR。

路由器失效时间

两台设备建立OSPF邻居需要确保死亡时间相同。

默认情况下是hello间隔的4倍。

若修改hello时间,则死亡时间随之改变;若修改死亡时间,则hello时间不变。

指定路由器---DR

该参数为网络中DR的接口IP地址。

若没有选举出DR,则使用0.0.0.0来占位

备份指定路由器---BDR

该参数为网络中DR的接口IP地址。

若没有选举出BDR,则使用0.0.0.0来占位

邻居

在直连链路上发现的有效邻居,此处填充的是邻居的RID值。

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

BDB包:

作用:

  • 使用未携带数据的DBD报文进行主从关系选举

  • 使用携带数据的DBD报文进行拓扑目录共享

  • 使用未携带数据的DBD报文进行确认。

接口最大传输单元----MTU

  • 在华为AR系列路由器上,该参数值默认为0。

  • 该字段是用于进行OSPF的MTU检测,而华为默认不开启MTU检测机制。

如果设备两端开启了OSPF的MTU检测机制,则进行MTU检测,若双方的MTU参数相同,则正常进行邻接关系建立。若不同,则双方卡在exstart状态。

可选项---与Hello报文内容中的可选项字段一致。

I------主从关系选举

如果该为为1,则代表该数据报文是用于进行主从关系选举。且此时的数据包中不会携带真实的数据库目录信息。

M

若为1,则代表后续还存在DD报文

若为0,则代表后续没有DD报文

MS----代表是否为主设备

若为1,则代表本设备为Master设备

若为0,则代表本设备为Slave设备

DD序列号

用于确保DD报文传输的有序性和可靠性。

在DD报文交互的过程中,DD序列号被逐次加1。且DD序列号必须由Master路由器来决定,而Slave路由器只能使用Master路由器发送的DD序列号来发送自己的DD报文。

隐形确认机制----通过对方发送的数据包中的DD序列号,起到确认的效果。

而主从关系选举就是为了完成隐形确认。


LSR包:

LSU包:

LSAck包:

OSPF的接口网络类型

网络类型

  • P2P

    • P2MP

  • MA

    • BMA

    • NBMA

OSPF的接口网络类型,实际上是说OSPF的接口在某种网络类型下的一种工作方式或特征。

BMA(广播型多点接入网络):

点到点类型---P2P:

MGRE环境下的OSPF:

非广播型多路访问类型----NBMA:

Vlink---虚链路
vlink是专门为了解决OSPF不规则区域所诞生的技术,是一种虚拟的、逻辑的链路。

vlink必须找到一个真实的ABR设备建立虚拟链路。

注意:

1.配置位置在需要vlink穿越的区域中,且配置的是RID,而非邻居IP地址。

2.虚链路的配置条件:只能穿越一个区域。

3.它需要通过RID递归查找IP地址,即R2通过LSA找到R3,只有在相同区域内才能拿到拓扑信息;如果是多个区域,传递的是路由信息,拿不到拓扑信息,计算不到目标地址。所以只能穿越一个区域。找到之后如果有多个接口,就找开销值最小的一条。

4.Vlink被视为骨干区域的一段延伸,即Vlink永远属于Area 0,但是要在被穿越的区域配置,并且这条隧道不穿数据。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值