HCIP高级网络知识整理(十分详细)

目录

HCIP — 华为认证体系下高级网络工程师

计算机间信息传递原理:

规定计算机系统互联的组织:

核心思想 — 分层

TCP/IP模型 — TCP/IP协议簇

封装和解封转

PDU — 协议数据单元

交换机的转发原理

路由器的工作原理

2,DHCP服务器 

交换机的转发原理 

3,DHCP客户端 

4,DHCP服务器

2,打开浏览器

3,网关路由器收到DNS请求报文之后,

4,本地的DNS服务器收到DNS请求信息

5,本地设备将基于web服务器的IP地址,

6,本地设备将基于TCP会话通道发送HTTP请求报文 — GET

7,baidu服务器收到HTTP请求报文

HDLC — 高级数据链路控制协议

PPP — 点到点协议

PPP和TCP协议类似,在正式传输数据之前,也需要经历建立会话的过程。

1,链路建立阶段 — LCP(链路控制协议)建立

2,认证阶段 — PAP,CHAP — AAA

3,网络层协议协商阶段

PAP认证的配置

chap认证

 GRE,MGRE、VPN

GRE的配置

MGRE — 多点通用路由封装协议

MGRE配置

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

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

LSA — 链路状态通告

2,OSPF状态机

3,OSPF的工作过程

4、OSPF — 无类别的路由协议

MA网络中的DR/BDR的选举

LSR — 链路状态请求报文 — 基于DBD包请求未知的LSA信息。

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

LSACK — 链路状态确认报文 — 确认包

OSPF的接口网络类型

OSPF的不规则区域

2,使用OSPF虚链路来解决不规则区域

3,多进程双向重发布

OSPF协议中路由信息类型

 1类LSA结构

OSPF的优化

特殊区域

OSPF的拓展配置

2,缺省路由 — 3类缺省,5类缺省,7类缺省

3,沉默接口 

4,加速收敛 — 减少计时器的时间

5,路由过滤

6,路由控制

7,OSPF的附录E


HCIP — 华为认证体系下高级网络工程师

计算机间信息传递原理:

(1)抽象语言 — 电信号

(2)抽象语言 — 编码

(3)编码 — 二进制

(4)二进制 — 电信号

(5)处理电信号

规定计算机系统互联的组织:

OSI/RM —- 开放式系统互联参考模型 — 1979 — ISO — 国际标准化组织

核心思想 — 分层

应用层 — 提供各种应用程序,抽象语言转换成编码,人机交互的接口

表示层 — 编码转换成二进制

会话层 — 维持网络应用和网络服务器之间会话连接

传输层 — 实现端到端的传输 — 应用到应用之间的传输 — 端口号 — 0 – 65535 — 0一般

不作为传输层的端口号使用,所以,我们真实的端口号的取值范围为1 – 65535。1 – 1023知

名端口号。 — SPORT,DPORT

网络层 — 通过IP地址,实现主机之间的逻辑寻址。 — SIP,DIP

     获取DIP的方法:

1,直接知道服务器的IP地址

2,通过域名访问服务器

3,通过应用程序访问

4,通过广播获取

数据链路层 — 将二进制转换成电信号。通过MAC地址进行物理寻址 — 在以太网协议中

MAC — 48位二进制构成 — 1,全球唯一;2,格式统一 — SMAC,DMAC

获取目标MAC地址的方法:

1.ARP — 地址解析协议 — 通过一种地址获取另一种地址

2.正向ARP — 通过IP地址获取MAC地址

工作过程 — 首先,主机以广播的形式发送ARP请求报文。基于已知的IP地址获取

MAC地址。所有收到广播帧的设备都会先将数据包中的源IP地址和源MAC地址的

对应关系记录在本地的ARP缓存表中。之后,再看请求的IP地址。如果请求的IP地

址是本地的IP地址,则将回复ARP应答报文。如果请求的IP地址不是本地的IP地

址,则将直接丢弃该数据包。之后,再次发送信息时,将优先查看本地的ARP缓存

表,如果存在记录,则将按照记录转发;如果没有记录,则再发送ARP请求。

3.反向ARP — 通过MAC地址获取IP地址

4.免费ARP — 利用的是正向ARP的工作原理,只不过请求的IP地址是自己的。

1,自我介绍;2,检测地址冲突

物理层 — 处理或传输电信号

TCP/IP模型 — TCP/IP协议簇

                                       TCP/IP标准模型 — 四层模型           TCP/IP对等模型 — 五层模型

封装和解封转

应用层

传输层 — 端口号 — TCP,UDP

网络层 — IP地址 — IP协议

数据链路层 — MAC地址 — 以太网协议

物理层

PDU — 协议数据单元

应用层 — 报文

传输层 — 段

网络层 — 包

数据链路层 — 帧

物理层 — 比特流

TCP/IP模型中可以支持跨层封装,OSI中不行

跨层封装出现的情况较少,一般出现在直连的设备之间。

跨四层封装 — 一般出现在直连路由设备之间,比如,OSPF协议就是跨四层封装协议。 —

89

跨三,四层封装 — 直连交换机之间 — stp

 Sof — 帧首定界符

1,获取IP地址 — 1,手工获取;2,通过DHCP自动获取

DHCP — 动态主机配置协议

1,DHCP客户端 — 广播包 — DHCP-Discover

传输层 — UDP — SPORT:68 DPORT:67

网络层 — IP — SIP:0.0.0.0 DIP:255.255.255.255

数据链路层 — 以太网 — SMAC:自己的MAC地址 DMAC:全F

交换机的转发原理

        — 交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,因为目标MAC地址是全F,则将进行泛洪 — 除了数据进入的接口外,所有接口都将转发数据。

交换机泛洪的情况 — 1,广播帧;2,组播帧;3,未知单播帧

路由器的工作原理

        路由器收到广播包之后 — 路由器收到数据帧之后先看二层封装,因为其目标

MAC地址为广播地址,则路由器讲解二层封装。则将根据数据帧中的类型字段将

解封装后的数据包交给对应的IP模块进行处理。因为三层头部中目标IP地址为受限

广播地址,则路由器将解三层封装。因为三层协议头部中协议字段为17,则路由

器将把解封装后的数据段交给UDP模块进行处理。UDP根据目标端口号为67,则

将解封装后的DHCP-DISCOVER报文交给对应的DHCP服务进行处理

2,DHCP服务器 

— DHCP客户端 —- DHCP-OFFER(里面将携带一个可用的IP地址) —- 单播/广播

传输层 — UDP — SPORT:67 DPORT:68

网络层 — IP — SIP:自己的IP DIP:255.255.255.255

数据链路层 — 以太网 — SMAC:自己的MAC地址 DMAC:全F —- 注意,华为设备以单播的形式来发送DHCP-offer包

交换机的转发原理 

        — 交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,则根据目标MAC地址查看MAC地址表,如果MAC地址表中有记录,则将直接按照记录发送;如果没有记录,则泛洪。

3,DHCP客户端 

      — DHCP服务器 — DHCP – request(如果存在多个DHCP-OFFER包,则设备将选择第一个到达的OFFER包) — 广播—- 1,告诉请求IP地址的服务器,需要请求他的IP地址;2,告诉没有选择的IP地址的服务器,自己已经有IP地址了,可以将他们的IP地址释放。

4,DHCP服务器

 — DHCP客户端 — DHCP – ACK — 单播/广播

设备在通过DHCP协议获取一个IP地址的同时,还会获取到网关信息(68.85.2.1)以及

DNS服务器的信息(68.87.71.226)

2,打开浏览器

    在浏览器中的地址栏上输入需要访问的服务器的URL(资源定位符)

DNS — 域名解析协议

DNS协议存在两种查询方式 —- 1,递归查询;2,迭代查询

设备将从输入的URL中提取到域名信息,根据域名信息通过DNS协议获取web服务器的IP

地址

设备将发送DNS请求报文(本地设备会发送递归查询请求到本地DNS服务器)

传输层 — UDP — SPORT:随机值 DPORT:53

网络层 — IP — SIP:68.85.2.101 DIP:68.87.71.226

数据链路层 — 以太网 — SMAC:自己的MAC DMAC:???

ARP — 地址解析协议 — 工作过程 :

        — 首先,主机以广播的形式发送ARP请求报文。基于已知的IP地址获取MAC地址。

所有收到广播帧的设备都会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中。之后,再看请求的IP地址。如果请求的IP地址是本地的IP地址,则将回复ARP应答报文。如果请求的IP地址不是本地的IP地址,则将直接丢弃该数据包。之后,再次发送信息时,将优先查看本地的ARP缓存表,如果存在记录,则将按照记录转发;如果没有记

录,则再发送ARP请求。

传输层 — UDP — SPORT:随机值 DPORT:53

网络层 — IP — SIP:68.85.2.101 DIP:68.87.71.226

数据链路层 — 以太网 — SMAC:自己的MAC DMAC:网关的MAC地址

3,网关路由器收到DNS请求报文之后,

将先查看数据帧的二层封装,确认该数据帧是给自己的,则将解二层封装看三层,根据目标IP地址查看本地的路由表。

直连路由 — 直连路由是默认生成的,生成条件1,接口双UP;2,接口需要配置IP地址

静态路由 — 网络管理员手工添加的路由条目

       动态路由 — 所有路由器运行相同的路由协议,之后,路由器之间沟通,交流最终计算

出到达未知网段的路由条目。

4,本地的DNS服务器收到DNS请求信息

        则将先查看本地缓存是否有记录,有则直接返回DNS应答;如果没有,则向DNS根服务器发送迭代查询(TCP 53)。最终将结果返回给设备。

5,本地设备将基于web服务器的IP地址,

          发起TCP三次握手,建立TCP会话。(主要因为HTTP协议传输层使用的是TCP协议)

— 建立本地到服务器之间双向的会话

6,本地设备将基于TCP会话通道发送HTTP请求报文 — GET

传输层 — TCP — SPORT:随机值 DPORT:80

       网络层 — IP — SIP:自己的IP DIP:baidu的IP

       数据链路层 — 以太网 — SMAC:自己的MAC DMAC:网关的MAC

7,baidu服务器收到HTTP请求报文

     则服务器将解封装,最终回复HTTP应答报文。200 OK

网络类型 — 根据数据链路层运行的协议进行划分的

P2P — 点到点

MA — 多点接入网络

BMA — 支持广播的多点接入网络

NBMA — 非广播型多点接入网络

数据链路层运行的协议

以太网协议 — 需要在数据帧中封装MAC地址进行寻址。

原因 — 利用以太网协议组建的网络中可以包含两个或两个以上的接口,每个以太网接

口之间都可以通过交互以太网帧的方式进行二层通讯。 — BMA

如果一个网络中只能有两台设备,则这样的网络不需要MAC地址进行区分标识,也可以正

常通信,这样的网络,我们称为P2P网络。

T1 — 1.544Mbps

E1 — 2.048Mbps

以太网做到了一个技术 — 频分技术 — 所谓频分,就是一根铜丝上可以同时发送不同频

段的电波而互不干扰,实现数据的并行发送。

1,HDLC

2,PPP

HDLC — 高级数据链路控制协议

标准的HDLC:ISO组织基于SDLC协议改进得到的

非标的HDLC:各大厂商在标准的HDLC基础上再进行改进而成

(思科设备组建串线网络默认使用的协议是HDLC协议,华为设备组建串线网络默认使用

的协议是PPP协议。)

[r1]display interface Serial4/0/0 — 查看接口的二层特征

[r1-Serial4/0/0]link-protocol hdlc — 修改接口协议类型

PPP — 点到点协议

1,兼容性强 — 拥有统一的版本,并且串线种类比较多,只要支持全双工的工作模式,

则可以支持PPP协议。

2,可移植性强 — PPPoE

3,PPP协议支持认证和授权

PPP和TCP协议类似,在正式传输数据之前,也需要经历建立会话的过程。

1,链路建立阶段 — LCP(链路控制协议)建立

2,认证阶段 — 可选项

3,网络层协议协商阶段 — NCP(网络控制协议)协商 — IPCP协议

PPP协议包含若干个附属协议

 

F — FLAG — 01111110

A — Address — 111111111

C — Coltrol — 00000011

1,链路建立阶段 — LCP(链路控制协议)建立

所谓链路建立,其实就是参数协商的过程

MRU — PPP帧中数据部分允许携带的最大长度(字节) — 默认1500字节

是否需要进行认证以及认证的方式

2,认证阶段 — PAP,CHAP — AAA

  PPP的认证支持单向认证以及双向认证

  PAP — 密码认证协议 — 被认证方将用户名和密码信息以明文的形式发给认证方,对方回应

  ACK则代表认证成功,如果回复NAK,则代表认证失败。

CHAP — 挑战握手协议 — 通过比对摘要值的方式来完成认证。

摘要值 — HASH算法 — 散列函数 — 将任意长度的输入转换成固定长度的输出。

      1,不可逆性

      2,相同输入,相同输出

      3,雪崩效应

MD5 — 可以将任意长度的输入,转换成128位输出

3,网络层协议协商阶段

         — NCP(网络控制协议)协商 — IPCP协议

1,IP报文的压缩格式;

2,IP地址

IP地址一旦被认可,对方将学习到达这个地址的主机路由。

 

获取IP地址方:

[r1-Serial4/0/0]ip address ppp-negotiate

给予方配置:

[r2-Serial4/0/0]remote address 10.0.0.1

PAP认证的配置

认证方:

1,在AAA中申请用户名和密码

[r1-aaa]local-user admin password cipher 123456

[r1-aaa]local-user admin service-type ppp

2,在接口做PAP认证

[r1-Serial4/0/0]ppp authentication-mode pap

被认证方:

[r2-Serial4/0/0]ppp pap local-user admin password cipher 123456

注意,PPP会话是一次性会话,会话一旦建立,再配置认证将不生效,再下次会话建立时

才生效。

chap认证

认证方:

[r1-Serial4/0/0]ppp authentication-mode chap

被认证方:

[r2-Serial4/0/0]ppp chap user admin

[r2-Serial4/0/0]ppp chap password cipher 123456

 GRE,MGRE、VPN

物理专线 — 1,成本;2,地理位置限制

VPN — 虚拟专用网 — 隧道技术 — 封装技术

GRE — 通用路由封装

希望的走法

DIP:192.168.2.1

SIP:192.168.1.1

数据

实际的走法

SIP:12.0.0.1 DIP:23.0.0.2 数据

GRE

SIP:12.0.0.1 DIP:23.0.0.2

SIP:192.168.1.1 DIP:192.168.2.1 数据

隧道技术 — 在隧道的两端,通过封装和解封装技术在公网上建立一条数据通道,使用这条通

道进行数据传输。

GRE的配置

1,创建隧道接口

   [R1]interface Tunnel 0/0/?

<0-511> Tunnel interface interface number

   [R1]interface Tunnel 0/0/0

  [R1-Tunnel0/0/0]

2,隧道接口配置IP地址

  [R1-Tunnel0/0/0]ip address 192.168.3.1 24

3,定义封装方式

  [R1-Tunnel0/0/0]tunnel-protocol gre

4,定义封装内容

  [R1-Tunnel0/0/0]source 12.0.0.1

  [R1-Tunnel0/0/0]destination 23.0.0.2

MGRE — 多点通用路由封装协议

NHRP — 下一跳解析协议 — 需要在私网中西安选出一个物理接口IP地址不会变的作为NHRP

中心(NHS — 下一跳解析服务器)。剩下的分支都需要知道中心的隧道接口IP地址和物理接

口的IP地址。然后,NHRP要求所有分支将自己物理接口IP地址和隧道接口IP地址的映射关系

上报给NHS。这样,NHS将把所有的映射关系记录在本地,发送信息的时候,查询即可。分

支如果出接口的IP地址发生变化,则将把最新的映射关系上报给中心。分支之间需要通信,则可以先从中心获取映射关系表,之后,依据关系表进行封装转发。 — HUB-SPOKE架

构。 — MGRE在数据传输时搭建的还是一个点到点的隧道 — 所以,MGRE环境是一种类似

于NBMA的网络环境

MGRE配置

中心:

1,创建隧道接口

  [R1]interface Tunnel 0/0/?

<0-511> Tunnel interface interface number

  [R1]interface Tunnel 0/0/0

  [R1-Tunnel0/0/0]

2,隧道接口配置IP地址

  [R1-Tunnel0/0/0]ip address 192.168.3.1 24

3,定义封装方式

  [r1-Tunnel0/0/0]tunnel-protocol gre p2mp

4,定义封装的源IP

  [r1-Tunnel0/0/0]source 15.0.0.1

5,创建NHRP域

[r1-Tunnel0/0/0]nhrp network-id 100

分支

1,创建隧道接口

    [R1]interface Tunnel 0/0/?

<0-511> Tunnel interface interface number

  [R1]interface Tunnel 0/0/0

  [R1-Tunnel0/0/0]

2,隧道接口配置IP地址

  [R1-Tunnel0/0/0]ip address 192.168.3.1 24

3,定义封装方式

  [r1-Tunnel0/0/0]tunnel-protocol gre p2mp

4,定义封装源IP

  [r2-Tunnel0/0/0]source GigabitEthernet 0/0/1 — 通过出接口来定义

5,加入中心创建的NHRP域

  [r2-Tunnel0/0/0]nhrp network-id 100

6,找中心上报映射信息

  [r2-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register

中心隧道接口IP地址 中心物理接口的IP地址

  [r1]display nhrp peer all — 可以查看隧道接口和物理接口映射关系表

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

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

      原因 — MGRE环境是一种类似于NBMA的环境,不支持组播

     解决方案 — 在中心上开启伪广播。

      [r1-Tunnel0/0/0]nhrp entry multicast dynamic

2,分支在中心开启伪广播后,只能学习到中心的网段信息,不能学习到其他分支的路

由信息。

    原因 — RIP的水平分割

    解决方案 — [r1-Tunnel0/0/0]undo rip split-horizon

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

LSA — 链路状态通告

1,OSPF的数据包类型

hello包 — 周期性发现,建立,保活邻居关系。

hello时间 — 默认10S(30S)

Deadtime — 4倍的hello时间

RID — 1,全网唯一;2,格式统一 — IP地址

1,手工配置

2,自动生成 

      — 首先先看自己环回接口的IP地址,选择其中数值最大的作为RID;

如果没有环回接口,则取物理接口中IP地址最大的作为RID。

  DBD包 — 数据库描述报文 — LSDB —- 链路状态数据库(存放LSA信息的数据库)

  LSR包 — 链路状态请求报文 — 基于DBD包请求本地未知的LSA信息

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

  LSACK包 — 链路状态确认报文 — 确认包

  OSPF存在每30MIN一次的周期更新

2,OSPF状态机

Two-Way — 标志着邻居关系的建立。

(条件匹配)— 条件匹配成功,则进入下一个状态,匹配失败,则仅停留在邻居关

系,使用hello包进行周期保活。

    主从关系选举 — 通过比较RID,RID大的为主。为主的可以优先获取LSA信息。并且可

以主导隐形确认

 

FULL —- 标志着邻接关系的建立。只有邻接关系,才可以交换LSA信息,而邻居关系仅

使用hello包进行保活。

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

Init(初始化)状态 — 收到hello包中存在本地RID,进入到下一个状态

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

exstart(预启动)状态 — 使用未携带数据的DBD包进行主从关系选举,RID大的为主,为主可以优先获取LSA信息。

Exchange(准交换)状态 — 使用携带数据的DBD包交换目录信息

Loading(加载)状态 — 使用LSR包基于DBD包请求未知的LSA信息,对方发送LSU包携带LSA信息,需要LSACK进行确认

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

3,OSPF的工作过程

启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello

包,hello包中携带本地的RID以及本地已知邻居的RID,之后,将收集到的邻居关系记

录在本地的邻居表中。

邻居表建立完成后,将进入条件匹配环节,失败,则将停留在邻居关系,仅使用hello

包进行周期保活。

如过成功,则将开始建立邻接关系。首先,使用未携带数据的DBD包进行主从关系选

举,之后使用携带数据的DBD包共享数据库目录信息。之后,本地使用LSR/LSU/LSACK获

取未知的LSA信息。完成本地数据库的建立 — LSDB — 生成数据库表。

最后,基于本地的链路状态数据库,生成有向图,及最短路径树。之后,计算本地到

达未知网段的路由信息,将其添加到本地的路由表中。

收敛完成后,OSPF会周期使用hello包进行保活,并且,每30min一次进行周期更新。

结构突变:

1,突然新增一个网段

2,突然断开一个网段

3,无法沟通 —- 死亡时间

4、OSPF — 无类别的路由协议

OSPF区域划分的要求:

1,区域之间必须存在ABR设备

2,必须按照星型拓扑来划分 — 中间区域被称为骨干区域,骨干区域的区域ID(由32

位二进制构成,可以使用点分十进制表示,也可以直接使用十进制表示。)定义为0.

  OSPF的基本配置

1,启动OSPF进程

[r1]ospf 1 router-id 1.1.1.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 1.1.1.1 0.0.0.0 — 反掩码 — 由连续的0和连续的1组成,0

代表不可变,1代表可变

  [r1]display ospf peer — 查看邻居表

  [r1]display ospf peer brief — 查看邻居关系简表

  [r1]display ospf lsdb — 查看链路状态数据库

  [r1]display ospf lsdb router 2.2.2.2 — 查看具体LSA信息

COST = 参考带宽/真实带宽 — 华为设备默认的参考带宽为100Mbps — [r1-ospf-1]

bandwidth-reference 1000 — 注意:如果一台设备的参考带宽修改了,则所有设备的参

考带宽必须改成相同的。

开销值计算,如果出现小数,如果是小于1的小数,则直接按照1来看;如果是大于1的

小数,则直接取整数部分。

结构突变:

1,突然新增一个网段 — 触发更新,直接发送LSU包,需要ACK确认

2,突然断开一个网段 — 触发更新,直接发送LSU包,需要ACK确认

3,无法沟通 —- 死亡时间

条件匹配

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

备份指定路由 — BDR — 和MA网络中其他设备建立邻接关系。

MA网络中的DR/BDR的选举

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

因为只有DRother之间会保持邻居关系

DR和BDR实际上是接口的概念。

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

进行DR/BDR的选举,所有DRother之间仅维持邻居关系即可。

DR/BDR的选举规则:

1,先比优先级,优先级大的为DR,次大的为BDR

优先级的初始默认值为1。

[r1-GigabitEthernet0/0/0]ospf dr-priority ?

INTEGER<0-255> Router priority value

注意:如果将一个接口的优先级改为0,则代表该接口放弃DR/BDR的选举。

2,优先级相同时,则比较RID,RID大的路由器对应的接口为DR,次大的为

BDR。

DR/BDR的选举 — 非抢占模式的选举 — 一旦选举成功,则将不能被抢占。 —- 选举

时间 — 和死亡时间相同。

<r2>reset ospf 1 process — 重启OSPF进程的命令

ospf的数据包

OSPF跨四层封装,IP头部使用89作为协议号标识OSPF。

HELLO包,DBD包,LSR包,LSU包,LSACK包

OSPF头部

版本 — OSPF版本 — 2

类型 — OSPF数据包的类型

HELLO — 1

DBD — 2

LSR — 3

LSU — 4

LSACK — 5

长度 — 指的是整个OSPF报文的长度,单位 — 字节

路由器ID — 发送这个数据包的路由器的RID

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

校验和 — 确保数据完整性

认证类型,认证数据 — 完成OSPF认证工作的

认证类型 — null — 空认证 — 0

simple — 明文认证 — 1

MD5 — 比对摘要值认证 — 2

HELLO — 周期性发现,建立,保活邻居关系。DR/BDR选举。

网络掩码 — 发出该数据包接口所配置的IP地址掩码信息。 — 华为体系中这个参数邻

居双方所携带的值不一致将无法正常建立邻居关系。 — 这个限制条件仅针对MA网络,

P2P网络不受限制。

hello时间,死亡时间 — 如果邻居双方这两时间参数不同,则将限制邻居关系的建立。

可选项 — 8位 — 每一位代表路由器遵从某个OSPF特性 — OSPF特殊区域的标记在其

中,如果邻居双方特殊区域的标记不一致,则将限制邻居关系的建立。

路由器的优先级 — 发出hello包接口所配置的DR/BDR选举的优先级

DR/BDR — 网络中DR和BDR所对应接口的IP地址。在没有选出DR和BDR之前,将使用

0.0.0.0进行填充。

Hello包中限制邻居关系建立的因素:

1,网络掩码

2,hello时间

3,dead time

4,OSPF特殊区域的标记

5,认证

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

用携带数据的DBD包进行目录共享; —- DBD包还存在第三种形态,即仅完成确认的确认包形态。

MTU — 设备默认没有开启接口MTU值的检测,所以将携带0。

[r1-Serial4/0/0]ospf mtu-enable — 如果邻居双方都开启了MTU值的检测,但是,双方携

带的MTU值不同,则邻居状态将停留在Exstart状态。

I — init — 如果这个标记位置1,则这个DBD包是进行主从关系选举的数据包。

M — MORE — 该位置1,则代表后面还有更多的DBD包。

MS — Master — 该位置1,则代表发送该数据包的路由器为主。 — 在主从关系选举

出来之前,双方都将认为自己是主,所以,都会将字节的MS置1;当主从关系选举结束

后,将只有主会置1,从置0。

DBD序列号 — 在DBD报文交互中,会逐次加1,用于确保DBD包传输的有序性及可靠

性。

LSR — 链路状态请求报文 — 基于DBD包请求未知的LSA信息。

链路状态类型,链路状态ID,通告路由器 — LSA三元组 — 这三个参数可以唯一的标识

出来一条LSA信息。

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

LSACK — 链路状态确认报文 — 确认包

OSPF的接口网络类型

P2P

MA

BMA

NBMA

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

 

  [r2]display ospf interface GigabitEthernet 0/0/0 — 查看OSPF接口工作方式

       在华为体系中,将环回接口在OSPF中的开销值定义为0,不会受到外界变化的影响。(修改参

考带宽不会影响该值。)

[r2-LoopBack0]ospf network-type broadcast — 修改OSPF接口网络类型

华为体系将tunnel接口的传输速率定义为64K,实际上虚拟接口不存在传输速率。这样设定的

目的是为了让隧道接口的开销值变的很大,导致在存在其他路径时,尽可能的避免走隧道接

口,因为隧道接口需要进行复杂的封装和解封装过程,导致效率降低。

全连的MGRE环境 — MESH — 所有节点即使中心,也是分支。

[r1-ospf-1]peer 12.0.0.2 — 指定单播邻居 — 一定需要双向指定。

Attempt — 尝试 — 过度状态,只有在需要手工指定邻居关系的状态下出现,在指定对方后

等待对方指定时将处于该状态,一旦对方指定,则将进行后续状态。

OSPF的不规则区域

区域划分的要求:

1,必须存在ABR设备

2,区域划分必须按照星型拓扑结构划分

1,远离骨干的非骨干区域

2,不连续骨干

1,使用VPN隧道

在AR4和AR2之间构建一条隧道,之后,将这个隧道宣告到区域0中,相当于将AR4非法

的ABR合法话,则AR4将正常传递区域2和区域0,1之间的路由信息。

在这个环境中,在没有隧道之前,AR4可以通过AR2转发的路由信息学习到达区域0的路

由,而存在隧道之后,AR4可以直接通过隧道学习到区域0的拓扑信息。而AR4会优先选

择自己通过拓扑信息学来的路由信息,就算是开销值巨大。

使用VPN隧道解决不规则区域的问题:

1,可能造成选路不佳;

2,可能造成重复更新;

3,因为虚拟链路的存在,AR2和AR4之间也需要建邻。导致他们之间维护的周期性数据

将穿越中间区域区域1,导致中间区域的资源消耗。

2,使用OSPF虚链路来解决不规则区域

  [r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2 — 虚链路的配置方法,后面跟需要创建虚链路设

备的RID。

注意:虚链路的建立是双向的。 — 虚链路永远属于骨干区域

  [r2-ospf-1-area-0.0.0.1]display ospf vlink — 查看虚链路详细信息

使用虚链路解决不规则区域的问题:

1,因为虚链路的存在,AR2和AR4之间也需要建邻。导致他们之间维护的周期性数据将

穿越中间区域区域1,导致中间区域的资源消耗。

2,虚链路只能穿越1个区域

3,多进程双向重发布

不同的路由协议运行的机理各不相同,包括对路由的理解也不同,所以,不同的路由协议之

间存在信息隔离。

重发布就是在运行不同协议的边界设备(ASBR — 自治系统边界路由器,协议边界路由器)

上,将一种协议按照另一种协议的规则发布出去。 — ASBR设备要求必须存在重发布行为才

行。

  [r4-ospf-1]import-route ospf 2 — 将进程2的路由信息重发布到进程1中

O_ASE — 标志域外路由信息 — 因为域外的路由信息不可控性较强,所以,信任程度较低,

我们将其优先级设置为150。

LSA — 链路状态通告 — OSPF协议在不同网络环境下产生的用于携带和传递不同的信息。

LSDB — 链路状态数据库

SPF — 最短路径优先算法

Type — LSA的类型,OSPFV2协议中,需要掌握的LSA类型一共有6种

LinkState ID — 链路状态标识符 — 主要用于标记一条LSA信息,可以理解为是LSA信息的名

字。

AdvRouter — 通告路由器 — 通告LSA信息的设备的RID。

以上三个参数被称为LSA的三元组 — 这三个参数可以唯一的标识出来一条LSA信息。

LSA头部内容

Type : Router

Ls id : 4.4.4.4

Adv rtr : 4.4.4.4

LS AGE — LSA的老化时间 — 当LSA被始发路由器产生时置为0,之后,该LSA在网络中传

递,老化时间也将累加。 — 1800S — 为了防止老化时间无限制增长,我们设置了最大老化

时间 — MAXAGE — 3600S。如果一条LSA信息的老化时间达到3600S,则将判定其失效,

将该LSA信息从本地的LSDB中删除。

SEQ — 序列号 — 32位二进制构成,用8位16进制表示 — 一台路由器每发送同一条LSA信息

都会携带一个序列号,并且序列号逐次加1,用来标识LSA的新旧关系。

直线型序列空间 — 从最小到最大,逐次加1,其有点时新旧关系容易比较,而缺点是序

列号空间有限,当序列号空间饱和后,将无法比较新旧关系。

循环型序列空间 — 序列号将循环使用,其问题在于一旦序列号差值过大,新旧关系将

难以比较。

棒棒糖型序列空间 — OSPF采用的就是这种序列空间,但是,为了避免循环部分出现循

环型序列空间的问题,所以,OSPF的序列号将不进入循环部分,其取值范围为

0X80000001 – 0X7FFFFFFE。

当一条LSA的序列号达到最大值时,则发出设备将会把该LSA的老化时间同时置为

3600S(最大老化时间),之后,接受的设备将根据序列号判定为最新的LSA,刷新掉

本地已有的同一条LSA信息,之后,由于其老化时间达到最大老化时间,则将该LSA信

息从本地的LSDB中删除。同时,发出设备会再发送一遍该LSA信息,将其中序列号置为

0X80000001,之后,接受设备将该LSA判定为最新的LSA信息进行接收。

OSPF协议中路由信息类型

         Chksum — 校验和 — 确保数据完整性。校验和也将参与LSA的新旧比较,当两条LSA信息,三元组相同,且序列号相同时,则我们将通过校验和来进行新旧判定,校验和大的被认定为新。

TYPE-1 :网络中,所有设备都需要发送且只发送一条1类LSA。1类LSA的LS ID就是通告者的RID。

LINK — 用来描述接口的连接情况。一个接口可以使用一条或者多条LINK进行描述。

TYPE-2 LSA — 在MA网络中,仅靠1类LSA无法将所有信息描述完整,所以,需要使用二类LSA进行补充。二类LSA一个MA网络中只需要发送1条。

所有传递路由信息的LSA都需要通过1类和2类LSA进行验算。 — 通过1类2类LSA信息找到通

告者的位置。

Type-3 LSA — 携带传递的是域间的路由信息,通告者为区域之间的ABR设备,使用通告的路由条目的目标网络号作为LS ID。三类LSA中携带的开销值为通告路由器到达目标网段的开销值。

Type-5 LSA — 携带传递的是域外的路由信息,通告者为ASBR啊,使用通告的路由条目的目

标网络号作为LS ID。

Metric — 因为重发布执行后,需要将其他的路由协议按照当前路由协议的规则导入,但

由于不同路由协议的开销值评判标准不同,所以,在重发布后,我们将直接舍弃源协议

的开销值,而定义一个规定值 — seed Metric(种子度量值),OSPF协议默认的种子

度量值1。

  [r4-ospf-1]import-route rip 1 cost 10 — 在重发布中修改种子度量值

E type — 一个标记位,有0和1两种变化,置0则代表类型1,置1则代表类型2; — 这

里的类型指的是开销值的类型。

类型1:如果采用类型1,则所有域内设备到达域外网段的开销值都等于种子度量

值加本地到达通告者的开销值。

类型2:OSPF默认采用类型2,如果开销值的类型为类型2,则所有域内设备到达

域外网段的开销值都等于种子度量值。

Forwarding Address — 转发地址 — 应对选路不佳的情况,如果存在选路不佳的情况,

则通告者将会把最佳的下一跳放入转发地址当中,接收者看到转发地址中存在数据,则

将不按照算法来计算下一跳,而直接使用转发地址作为下一跳。默认情况下,在不存在

选路不佳时,将使用0.0.0.0进行填充。

TAG — 标签 — 可以给流量打标签,方便后续进行流量抓取,做策略使用

  [r4-ospf-1]import-route rip 1 tag

Type-4 LSA — 携带和传递的是ASBR的位置信息,通告者为区域之间的ABR设备,使用ASBR设备的RID作为LS ID。四类LSA中携带的开销值为通告路由器到ASBR的开销值。

 1类LSA结构

V — 置1,则代表该路由器是VLINK的一个端点

E — 置1,代表该路由器是ASBR设备

B — 置1,代表该设备为ABR设备

OSPF的优化

1,汇总 — 减少骨干区域LSA更新量

2,特殊区域 — 减少非骨干区域LSA更新量

1,汇总 — OSPF无法像RIP一样实现接口汇总,因为OSPF区域之间传递路由信息,所以,

OSPF的汇总被称为区域汇总。

域间路由汇总 — 域间指OSPF区域之间,其实质是在ABR上针对3类LSA进行汇总

  [r1-ospf-1-area-0.0.0.2]abr-summary 192.168.0.0 255.255.252.0

注意:在进行区域汇总时,一定是ABR设备通过1类,2类LSA学习到拓扑信息后转

换成的三类LSA才能汇总。

域外路由汇总 — 域外指OSPF网络之外,其实质是在ASBR上针对5类/7类LSA进行汇总

  [r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0

域外汇总网段种子度量值的计算方法:

TYPE1:如果是类型1,则汇总网段的种子度量值为所有明细网段种子度量值

中最大值。

TYPE2:如果是类型2,则汇总网段的种子度量值为所有明细网段种子度量值中最大值加1。

[r4-ospf-1]import-route rip 1 cost 10 type 1

特殊区域

第一大类特殊区域 

   1,不能是骨干区域;

   2,不能存在虚链路;

   3,不能存在ASBR设备

   满足以上条件的区域,我们称为末梢区域(STUB) — 如果将一个区域配置成为末梢区域,则其效果是这个区域将拒绝学习4类和5类LSA。并且,同时将自动生成一条指向骨干区域的三类缺省。

[r1-ospf-1]a 1

[r1-ospf-1-area-0.0.0.1]stub — 注意,一旦将一个区域配置成特殊区域,则区域内所有设备都

必须做同样的配置,否则将影响邻居关系的建立。

2,完全末梢区域 — totally stub — 在普通的末梢区域的基础上,进一步拒绝三类LSA,仅

保留三类缺省。

   [r2-ospf-1-area-0.0.0.1]stub no-summary — 注意,这个命令只需要在ABR设备上执行即可

第二大类特殊区域 — 1,不能是骨干区域;2,不能存在虚链路;3,必须存在ASBR设备

满足以上条件的区域,我们称为非完全末梢区域(NSSA) — 如果将一个区域配置成为NSSA区域,则其效果是这个区域将拒绝学习4类和5类LSA。并且,同时将自动生成一条指向骨干区域的7类缺省。

     因为NSSA区域拒绝学习5类LSA,但是,因为有ASBR设备的存在,他又必须将域外路由信息导入到OSPF网络当中,所以,他将使用7类LSA来携带域外路由信息,注意,7类LSA只会在NSSA区域出现,在离开NSSA区域时,将由边界的ABR设备重现转换成5类LSA发布出去则这个ABR设备完成了7转5的动作,其身份相当于是一个ASBR设备。

NSSA区域拒绝学习的主要是其他方向来的4类和5类LSA

  [r5-ospf-1]a 2

  [r5-ospf-1-area-0.0.0.2]nssa — 注意,一旦将一个区域配置成特殊区域,则区域内所有设备都必须做同样的配置,否则将影响邻居关系的建立。

特殊区域的标记位:

E位:一般置1,代表支持5类LSA。要是做成特殊区域,则将拒绝学习5类LSA,则E位置0.

N位:一般置0,只有在NSSA区域中置1,代表支持7类LSA。

P位 — P位置1,则代表该LSA支持7转5。

   Forwarding Address — 转发地址 — 应对选路不佳的情况,如果存在选路不佳的情况,则通告者将会把最佳的下一跳放入转发地址当中,接收者看到转发地址中存在数据,则将不按照算法来计算下一跳,而直接使用转发地址作为下一跳。在5类LSA中,默认情况下,在不存在选路不佳时,将使用0.0.0.0进行填充。而在7类LSA中,一般会使用通告者(ASBR)设备的环回接口地址作为转发地址。如果存在多个环回接口,则将使用最先宣告的地址作为转发地址;如果没有环回接口,则将使用物理接口的地址作为转发地址。

7类LSA生成路由信息的标记位,O_NSSA ,优先级为150。

2,完全的非完全末梢区域 — totally NSSA — 在普通的NSSA区域的基础上,进一步拒绝三

类LSA,自动生成一条指向骨干区域的三类缺省。

   [r4-ospf-1-area-0.0.0.2]nssa no-summary — 注意,这个命令只需要在ABR设备上执行即可

注意:在配置完完全的NSSA区域后,因为之间普通的NSSA区域生成了一条7类缺省,完的

NSSA区域又生成了一条三类缺省,因为三类优于7类,所以,将选择三类缺省

注意:手工配置的缺省方向需要和自动生成的缺省方向一置,否则可能产生环路。

OSPF的拓展配置

1,手工认证 — OSPF邻居双方,发送的所有的数据报中包含认证信息,两边口令相同,则代

表认证成功;不同,则认证失败,将影响邻居关系建立。

1,接口认证

[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456

2,区域认证 — 本质还是接口认证,相当于,将一台设备在某个区域内所有激活的接口

配置接口认证。

[r4-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456

3,虚链路认证 — 其本质也是接口认证

       [r5-ospf-1-area-0.0.0.2]vlink-peer 4.4.4.4 md5 1 cipher 123456

2,缺省路由 — 3类缺省,5类缺省,7类缺省

3类 — 只能自动生成,在配置 — 末梢区域,完全的末梢区域,完全的非完全末梢区域

特征 — OSPF,优先级默认为10;

5类 — 通过手工配置的方法生成

   [r3-ospf-1]default-route-advertise — 这个命令相当于是将设备本身通过其他协议学习到

的缺省路由重发布到OSPF网络当中,所以,生成的是5类缺省。

特征 — O_ASE,优先级默认150;

[r3-ospf-1]default-route-advertise always — 如果本地没有其他协议学到的缺省信息,在

可以使用这个命令强制下发一条5类缺省。

7类 — 可以自动生成 — 普通的NSSA区域

   可以手工配置 — [r5-ospf-1-area-0.0.0.2]nssa default-route-advertise — 手工下发7类缺省

特征 — O_NSSA,优先级默认150;

3,沉默接口 

    — 将某个接口配置成沉默接口,则该接口将只接受,不发送OSPF数据包。

  [r5-ospf-1]silent-interface GigabitEthernet 0/0/2

4,加速收敛 — 减少计时器的时间

修改HELLO时间

  [r1-GigabitEthernet0/0/0]ospf timer hello 5

注意:HELLO时间一旦更改,死亡时间将自动按照四倍关系进行匹配。

修改死亡时间

  [r2-GigabitEthernet0/0/0]ospf timer dead 20

注意:死亡时间变更,hello时间不会变化

   等待计时器 — 时间长短等同于死亡时间,DR和BDR选举时的计时器。这个计时器无法

   直接修改时间,死亡时间更改,则这个计时器时间同时更改。

Poll — 轮询时间 — 120 — 与状态为DOWN邻居发送hello包的周期时间。 —NBMA

     在NBMA环境下,如果单方面指定邻居关系,则将对方状态置为ATTEMP状态,如果对方一直不指定本地为邻居(中间等待时间为一个等待计时器的时间),则将对方的状态置为DOWN状态。之后,将按照轮询时间为周期发送hello包。

  [r1-GigabitEthernet0/0/0]ospf timer poll ? — 修改轮询时间

  INTEGER<1-3600> Second(s)

    Retransmit — 5S — 重传时间 — 发送信息需要进行确认,如果对方重传时间内都没有

发送确认,则将重传。

  [r2-GigabitEthernet0/0/0]ospf timer retransmit ?

INTEGER<1-3600> Second(s)

    Transmit Delay — 1S —- 传输延迟 — 是附加在LSA老化时间上的一个值,因为传输过

程中,数据包中老化时间没有办法更改,所以,在封装数据包时,将在原有的老化时间

基础上,额外增加传输延迟时间,用来补偿传输过程中的时间消耗。

  [r2-GigabitEthernet0/0/0]ospf trans-delay 2

5,路由过滤

主要是针对3类,5类,7类LSA进行过滤。

   [r2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0 not-advertise — 在ABR设

备上针对3类LSA进行过滤

  [r5-ospf-1]asbr-summary 10.0.0.0 255.255.255.0 not-advertise — 在ASBR设备上针对5类/7类LSA进行过滤

6,路由控制

优先级

    [r5-ospf-1]preference 50 — 修改协议字段为OSPF的路由的默认优先级 —- 只影响本设备

    [r5-ospf-1]preference ase 100 — 修改协议字段为O_ASE/O_NSSA的默认优先级开销值

COST = 参考带宽 / 真实带宽

1,通过修改参考带宽实现修改开销值

   [r5-ospf-1]bandwidth-reference ?

INTEGER<1-2147483648> The reference bandwidth (Mbits/s)

注意:参考带宽一旦修改,则所有设备的参考带宽必须改成一样的,必须要统一标准。这样的修改只能应对因参考带宽过小而造成的选路不佳,不能实现选路效果。

2,通过修改真实带宽实现修改开销值

  [r3-GigabitEthernet0/0/0]undo negotiation auto — 关闭自动协商

  [r3-GigabitEthernet0/0/0]speed 10 — 修改接口真实带宽

  Info: Please undo negotiation first.

注意:修改真实带宽,可以达到控制开销值选路的效果,但是,因为传输速率只能改小,所以,不建议使用这种方法,会影响传输效率。

3,直接修改开销值

  [r3-GigabitEthernet0/0/0]ospf cost 1000

注意:1,2两种方法,均无法影响环回接口的开销值,但是,第三种方法,可以直接修改环回接口开销值。

OSPF的开销值计算方法为 — 目标网段到达本地设备路由流量流入的接口的累加值。

7,OSPF的附录E

      附录E主要描述的就是在以下场景中,因为3类,5类,7类LSA导致出现的特殊问题的解决方案。

       附录E提出的解决方案是掩码较短的信息正常进入,掩码较长的信息将使用目标网段的直接广播地址作为LS ID。

 

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注