zl程序教程

您现在的位置是:首页 >  其他

当前栏目

HCIP第五次上课笔记——OSPF数据包,接口网络类型,状态机

接口网络笔记 类型 数据包 ospf 状态机
2023-09-11 14:17:08 时间

2,OSPF的状态机

TWO-WAY --- 标志着邻居关系的建立

        (条件匹配)匹配成功,则可以进入下一个状态;如果失败,则将停留在邻居关系,仅使用hello保活。

主从关系选举 --- 通过比较RID来进行的,RID大的为主,为主可以优先进入下一个状态。

---使用DBD包完成主从关系选举主要是为了和之前的邻居状态进行区分。

(图中一个问题,DBD为隐形确认,不能出现LSAck)

                FULL状态 --- 标志着邻接关系的建立。--- 目的是为了和邻居状态进行区分

                邻居状态只能使用hello包进行周期保活,而邻接关系可以交换LSA信息。

 OSPF状态机七个状态:

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

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

        3,Two-way(双向通信)状态 --- 标志着邻居关系的建立,建立之后进行(条件匹配)匹配成功,则可以进入下一个状态;如果失败,则将停留在邻居关系,仅使用hello保活。

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

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

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

        7,FULL状态 --- 标志着邻接关系的建立。--- 目的是为了和邻居状态进行区分

二者区别:邻居状态只能使用hello包进行周期保活,而邻接关系可以交换LSA信息。

 3,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(40 / 120)

4,OSPF的基础配置

1,启动ospf进程

[r1]ospf 1 router-id  1.1.1.1   
[r1-ospf-1]

2,创建区域

[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]

3,宣告

        1,激活接口

        2,发布路由

[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0 --- 反掩码 --- 由连续的0和连续的1组成

                  掩码:1对应为不可变,0对应为可变

                  反掩码:0对应为不可变,1对应为可变,因此反掩码可以进准精准宣告,也可以

                                进行范围宣告

[r3]display ospf peer   ----   查看ospf邻居表

[r3]display ospf peer brief --- 查看ospf邻居简表

[r1]display ospf lsdb --- 查看数据库表

[r1]display ospf lsdb router 1.1.1.1 --- 查看数据库表中具体一条LSA信息

[r1]display ip routing-table protocol ospf  --- 查看路由表

                华为设备定义ospf协议的默认优先级为 -- 10

                COST = 参考贷款 / 真实带宽 -- 华为设备默认的参考带宽为100Mbps

                开销值如果是小数,小于1则按照1计算,如果大于1,则直接取整数部分。

                开销值与参考带宽有关,越大越好。

        修改参考带宽:

 [r1-ospf-1] bandwidth-reference ?
 INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)

 必须所有设备都修改
l

l

条件匹配:

        针对MA网络,点对点没必要

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

        备份指定路由器 --- BDR --- 防止DR出故障,和MA网络中其他所有设备建立邻接关系

        

        在DR和BDR都存在的情况下,一个MA网络至少需要斯台设备才能看到邻居关系

        DR和BDR虽然叫做指定路由器(备份指定路由器),但其工作范围在一个MA网络中,

其实质是一个接口的概念

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

所有需要DR和BDR的选举,所有非DR和非BDR(drother)之间仅维持邻居关系即可。

        DR/BDR的选举:1,比较接口优先级,优先级最大的为DR,第二大的为BDR。优先

级的初始默认值为1。

                [r1-GigabitEthernet0/0/0]ospf dr-priority ?
                          INTEGER<0-255>  Router priority value

                如果将一台设备的优先级设置为0,则表示该设备放弃BDR和DR的选举。

                                    2,当优先级相同时,则比较RID,最大为DR,次大为BDR。

                          DR和BDR的选举 --- 非抢占模式的选举 --- 选举时间 等于 死亡时间

                        (这个时间仅是选举的一个上限时间,选举可以在短时间内完成,只要完成后则将不能抢占)

                        <r1>reset ospf 1 process  --- 重启

OSPF数据包:

        OSPF的协议号 --- 89

 

         OSPF报文头部

        

         版本 --- OSPF协议的版本 --- ospfv2版本字段为2。

         类型 --- OSPF数据包的类型

        报文长度 --- 整个OSPF数据报文的长度,单位 字节。

        RID --- 表示发出这个数据包的路由器的RID

        区域ID --- 发出数据包的接口所在的区域的ID

  

        认证类型和认证数据 --- OSPF在进行认证时,需要先比对认证类型,认证类型相同时

                                              才比对认证数据。

                认证类型:--- null --- 空认证 --- 0

                                  --- simple --- 明文认证 --- 1

                                  --- MD5 --- 比对摘要值认证 --- 2

        Hello包 --- 1 --- 周期发现,保活,建立邻居关系 --- DR/BDR选举也使用hello包

                红线上为头部(共有)

                子网掩码 --- 发出hello包接口的IP地址对应的掩码信息。 --- 华为设备设定邻居关系

         建立双方要求子网掩码必须相同,否则将无法建立邻居关系(对P2P网络不生效)

                hello时间和死亡时间 --- 邻居双方hello时间和死亡时间必须相同,否则导致邻居关

         系建立失败。

                可选项 --- 8位,8个标记位,每一个标记位置1,则代表其符合OSPF的某种特性。

         其中存在OSPF特殊区域的标记位,邻居双方如果特殊区域的标记位不同,则将无

         法正常建立邻居关系。

                路由器的优先级 --- 发出该数据包的接口其DR/BDR选举时的优先级。

                指定路由器,备份指定路由器 --- 携带的是选出DR/BDR接口的IP地址。选出之前

         用0.0.0.0填充。

                邻居 --- 本地已知的邻居的RID。

        hello包中限制邻居关系建立的参数

                1,子网掩码

                2,hello时间

                3,dead时间

                4,ospf特殊区域的标记

                5,认证数据

        DBD包 --- 数据库描述报文 ---1, 使用未数据的DBD包进行主从关系选举;

                                                       2,使用携带数据的DBD包进行目录共享;

                

                MTU ---  华为设备默认不开启MTU值得检测功能,可以在接口使用

[r1-Serial4/0/0]ospf mtu-enable 开启 --- 如果两边都开启MTU值得检测功能,则

双方的MTU值必须相同,不同则停留在exstart状态,无法向下进行。

                可选项 --- 前五位都为0,后三位含义:

                I --- init --- 该位置1,则代表这个DBD包是进行主从关系选举的数据包,

所以这样的数据包后面不包含LSA头部内容。

                M --- more --- 该位置1,则代表后面还有别的DBD包要发送,0为无。

                MS --- master --- 该位置1,代表发送这个数据包的设备为主,0为从。

                序列号 --- 在DBD报文收发过程中,会逐次加1,用于确保DBD报文传输

的有序性以及可靠性。

                隐形确认 --- 主从关系确认后,由主主导定义序列号,从只能使用主发送的序列号进行回复,起到确认的效果。(在交互完数据库摘要信息后,从会额发送一个DBD包,这个DBD包使用主最后发送的序号,但并不携带摘要信息,其主要目的是进行确认。)

        LSR包 --- 3 --- 链路状态请求报文 -- 请求未知的LSA信息

        

        链路状态类型,链路状态ID,通告路由器 --- 可以唯一的标定出一条LSA信息,为我们将他们称为LSA的“三元组”

        LSU包 --- 4 --- 链路状态更新报文 -- 真正携带LSA信息的数据包

        

        LSACK包 --- 5 --- 链路状态确认报文

         

ospf的接口网络类型:

网络类型:

        P2P

        MA

        BMA

        NBMA

OSPF的接口网路类型 --- 实际指的是OSPF接口在不同的网络类型下默认的不同工作方式。

        

网络类型OSPF接口网络类型(工作方式)
BMA(以太网)Broadcast,可以建立多个邻居关系,需要进行DR和BDR选举,hello 10S,dead time  40S
P2P(PPP,HDLC)P2P,只能建立一个邻居关系,不需要进行DR和BDR选举。hello 10s   dead time 40s
环回接口(虚拟接口)P2P,华为设备定义P2P,实际上无数据收发。环回接口默认学习32位主机路由
P2MP,可以建立多个邻居关系,不需要进行DR和BDR选举,hello30S  dead time 120S,会学习邻居接口的主机路由。
NBMB(帧中继)NBMB,可以建立多个邻居关系,需要DR和BDR选举,hello30s dead time 120s,在NBMB工作方式下,只能通过单播邻居手工建邻,无法自动建立。

[r2]display ospf interface GigabitEthernet 0/0/0 --- 查看接口OSPF的网络类型

T1 --- 1.544mbps

E1 --- 2.048mbps --- 华为设备串口默认E1标准

华为设备中将环回接口在OSPF中的开销值定义为0,这个值不受外界因素的影响(修改参考带宽不会影响他的数值)

[r2-LoopBack0]ospf network-type broadcast ---- 修改接口的网路类型

环回接口默认工作模式下学习32位的主机路由,如果需要还原配置的掩码信息,则可以将网络类型改为Broadcast。

华为设备将tunnel隧道接口的传输速率定义为64Kbps,这样隧道接口的开销值将变的非常大,其目的是为了在有选择的情况下尽量不走隧道接口,因为走隧道需要进行复杂的封装和解封装过程,加大资源浪费。

在一个网络中所有的接口工作方式都需要改成一致的。

MGRE环境中除了hub-spke架构外还存在一种全连网状拓扑 --- mesh --- 就是所有边界设备既做中心,也做分支。都可以开启伪广播,则将接口都改为Broadcast后,DR/BDR选举将同时进行。


Attempt --- 尝试状态 ---过度状态 --- 本端手工指定邻居后将从down到达尝试状态,之后,

等对端手工指定后将进入下一个状态。

[r1-ospf-1]peer 12.0.0.2 --- 单播邻居 --- 在NBMA环境下可以手工指定邻居关系。