当前位置: 代码迷 >> 综合 >> HCIP---第四天
  详细解决方案

HCIP---第四天

热度:9   发布时间:2023-12-01 16:53:22.0

MGRE

NHRP --- 中心路由协议

配置:

1、创建隧道接口,并配置IP

int tunnel 0/0/0

[隧道接口]ip add <IP>

2、选择封装协议 gre p2mp --- MGRE

[隧道接口]tunnel-protocol gre  p2mp

3、配置封装源IP(也可以写接口)

[隧道接口]source <IP>

4、启动NHRP

[隧道接口]nhrp network-id <编号>(具有全局意义)

5、分支同上配置之后,配置汇报信息 --- 找中心注册

[隧道接口]nhrp entry <中心隧道接口IP> <中心真实物理接口IP> register

查看NHRP注册情况(地址映射信息) display nhrp peer all(在中心)

MGRE搭建的环境的逻辑拓扑连接是一个多节点的网络,但是,在数据发送时,还是点到点的发送,所以,是不支持广播和组播行为的,所以,可以理解为是一种NBMA网络。

MGRE环境下使用RIP来获取未知网段的路由信息

1、只有中心获取到分支的路由信息,但是分支并没有获取到中心的路由信息

--- 解决方案 --- 在中心上开启伪广播。 --- 通过给所有分支分别发送数据包达到类似广播的效果。

[隧道接口]nhrp entry muticast dynamic

2、分支在中心开启伪广播后,只能获取到中心的路由信息,但是无法获取分支之间的路由信息。

主要是因为华为设备默认开启了RIP的水平分割,导致中心不会再从隧道接口将学来的分支的再发出去

解决方法 --- 关闭水平分割

[接口隧道]undo rip split-horizon

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

收敛速度,选路,占用资源

选路依据:带宽、传递拓扑信息(因为是树形结构,本身还防环)

存在周期更新(30MIN)

OSPF也存在三个版本

OSPFV1(在实验室阶段夭折)

OSPFV2 --- IPV4

OSPFV3 --- IPV6

对比RIPV2OSPFV2

相同点

1、RIPV2和OSPFV2都是无类别的路由协议。

无类别 --- 传递路由信息时携带子网掩码。

OSPF在区域间传递的还是路由信息

2、RIPV2(组播地址224.0.0.9)和OSPFV2(组播地址224.0.0.5和224.0.0.6)都是以组播的形式发送信息。 --- DR之间用6,其他用5。

3、OSPFV2和RIPV2都支持等开销负载均衡

不同点

OSPF协议可以应用在中大型网络当中,但是RIP只能应用在小型网络当中。 ---- 主要是因为OSPF可以进行结构化部署 --- 区域划分

区域划分的主要目的 --- 区域内部传递拓扑信息,区域之间传递的是路由信息。

ABR --- 区域边界路由器 --- 同时属于多个区域,并且一个接口属于一个区域。

区域之间可以存在多个ABR,一个ABR也可以对应多个区域

区域划分的要求:

1、区域之间必须存在ABR

2、区域之间必须按照星型拓扑结构划分 --- 中间区域称为骨干区域。

为了方便对每个区域进行管理,我们给OSPF的每个区域设定一个区域ID,称为area ID --- 32位二进制构成 --- 骨干区域的区域ID必须为0。

如果一个网络规模较小,不需要进行区域划分,则这样的OSPF网络我们称为单区域OSPF网络(在华为的官方文档中要求,如果是单区域OSPF,则必须设置为区域0);如果一个网络存在多个OSPF区域,则将被称为多区域OSPF网络。

OSPF工作过程

1、数据包类型

2、OSPF的状态机

3、OSPF的工作过程

4、OSPF的基本配置

数据包类型

1、hello包 --- 周期的发现,建立和保活邻居关系

hello包的发送周期 --- 10S(30S)

死亡时间 --- 4倍hello时间

为了区分和标定OSPF网络中每台路由器,我们引入了RID --- 1、全网(OSPF网)唯一; 2、格式统一 ---- RID要求按照IP地址的格式来进行标定(由32位2进制构成,用点分十进制来表达)

RID的生成方法:1、手工配置 --- 仅需满足以上两点要求即可;2、自动生成 --- 如果路由器存在环回接口,优先取用环回接口中最大的作为RID。如果,路由器不存在环回接口,则将在路由器的物理接口中取最大的IP地址作为RID。

Hello包中将携带RIP

2、DBD包 --- 数据库描述报文 --- 携带的是路径信息的摘要 --- 相当于是本地存放LSA数据库(LSDB --- 链路状态数据库)的目录

3、LSR包 --- 链路状态请求报文 --- 基于DBD包请求未知LSA信息

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

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

OSPF也存在周期更新,每30MIN一次。

OSPF的状态机

Two-Way State --- 双向通讯状态 ---  标致邻居关系建立

(条件匹配) --- 条件匹配成功,则将进入下一个状态;如果条件匹配失败,只能维持邻居关系,通过10S(30S)一次的Hello包进行周期保活。

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

这里使用DBD包来进行主从关系选举,主要是为了和之前的邻居状态进行区分。

有ACK包 --- 显性确认

通过序列号来进行隐形确认

(OSPF通过DBD包发送数据,不会发送ACK确认包,都是通过隐形确认的。)

FULL状态 --- 标志着邻接关系的建立 --- 邻接关系主要为了和之前的邻居关系进行区分。邻居关系只能发送Hello包进行周期保活,而邻接关系才能真正交互LSA信息。

概要

Down状态 --- 启动OSPF,发送hello包之后进入下一个状态

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

2-way(双向通讯)状态 --- 标志着邻居关系的建立。

(条件匹配)

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

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

Loading(加载)状态 --- 基于DBD包比对自己本地数据库,使用LSA包请求未知的LSA信息,对端通过LSU包回复LSA信息,需要ACK确认。

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

OSPF的工作过程

启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包;hello包中会携带本地的RID及本地一致的邻居的RID。之后,将收集到的邻居关系纪录在一张表中 --- 邻居表

邻居表建立后进行条件匹配,失败则将停留在邻居状态,仅通过hello包进行周期保活。

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

最后,基于本地LSDB去通过SPF算法计算到达未知网段的路由信息,将路由信息加载到路由表中。

收敛完成后,OSPF需要通过Hello包进行周期保活,每30MIN进行一次周期更新。

结构突变的场景:

1、突然断开一个网段 --- 触发更新,将变更信息通过LSU包发送出去

2、突然增加一个网段 --- 触发更新,将变更信息通过LSU包发送出去

3、无法沟通 --- dead time

OSPF的基本配置

1、启动OSPF进程

ospf 1 router-id <RID>

2、创建区域

[ospf视角]area <id>

3、宣告 --- 作用 1、激活接口;2、发布路由

[ospf区域视角]network <接口IP> <反掩码/通配符>

查看邻居表

display ospf peer

display ospf peer brief --- 简表

查看LSA数据库表

display ospf lsdb

展开某一条LSA信息

display ospf lsdb <类型> <ID>

OSPF在华为体系中默认的优先级为10

OSPF 开销值 计算方法

COST = 参考带宽/真实带宽 --- 华为设备OSPF参考带宽默认值为100bps --- 在计算开销值时,如果开销值是一个小于1的小数,则直接按1来算;如果是大于1的小数,则直接取整数部分。

修改参考带宽 --- 一旦修改参考带宽,则所有设备都需要修改

[ospf视角]bandwidth-reference <带宽>Mbits/s