VPN技术(虚拟网络专用网),核心是隧道技术,隧道技术的核心是封装技术

隧道技术:在隧道两端通过封装以及解封装在公网中建立一条数据通道,使用这条数据通道进行传输

GRE技术(通用路由封装)

GRE技术是封装技术的一种

GRE MPLS隧道 gre隧道技术_GRE MPLS隧道

 

我们希望的走法:SIP:192.168.1.1 DIP:192.168.2.1 数据

实际的真实走法:SIP:12.0.0.1 DIP:23.0.0.2 数据

通过GRE:SIP:12.0.0.1 DIP:23.0.0.2 GRE SIP:192.168.1.1 DIP:192.168.2.1 数据

GRE的配置方法

①创建隧道接口

[r1]interface Tunnel 0/0/0

[r1-Tunnel 0/0/0]

②接口配置IP地址

[r1-Tunnel 0/0/0]ip address 192.168.3.1 24

③定义封装方式

[r1-Tunnel 0/0/0]tunnel-protocol gre

④定义封装内容

[r1-Tunnel 0/0/0]source 12.0.0.1

[r1-Tunnel 0/0/0]destination 23.0.0.2

NHRP协议(下一跳协议)

NHS:下一跳解析服务器 原理:需要在私网中选择一个出口物理地址固定的设备作为NHS,剩下的所有分支都应该知道中心的隧道地址和物理地址,然后,NHRP要求所有分支将自己物理接口和隧道接口的IP地址的映射关系发送给NHS,如果物理地址发生变化,则需要重新发送。这样NHS可以获取到所有分支的地址的映射关系。分支之间如果需要相互通信,则需要像中心申请获取映射关系表。这种架构我们称为hub-spoke架构

MGRE的配置方法

GRE MPLS隧道 gre隧道技术_IP_02

 

中心设备的配置

1、创建隧道接口

[r1]interface Tunnel 0/0/0

[r1-Tunnel 0/0/0]

2、接口配置IP地址

[r1-Tunnel 0/0/0]ip address 192.168.5.1 24

3、定义封装方式

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

4、定义封装内容

[r1-Tunnel 0/0/0]source 15.0.0.1

5、创建NHRP域

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

分支设备的配置

1、创建隧道接口

[r2]interface Tunnel 0/0/0

[r2-Tunnel 0/0/0]

2、接口配置IP地址

[r2-Tunnel 0/0/0]ip address 192.168.5.2 24

3、定义封装方式

[r2-Tunnel 0/0/0]tunnel-protocol gre p2mp

4、定义封装内容

[r2-Tunnel 0/0/0]source GigabitEthernet 0/0/1

IP地址可能要变,但是接口不变,所以定义封装内容为接口

5、加入到中心创建的NHRP域中

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

6、上报信息到中心

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

其中192.168.5.1是中心设备的隧道IP地址,15.0.0.1是中心设备的物理接口IP地址

[r1-Tunnel0/0/0]display nhrp peer all :查看NHRP邻居的注册情况

MGRP环境在数据发送时,依旧是走的点到点的隧道,所以在数据传输时依然是点到点的传输。所以,MGRE环境是一个类似于NBMA的环境

RIP实现MGRE环境会遇到的问题

1、只有中心获取到了分支的路由信息,而分支没有获取到。解决办法就是在中心上开启伪广播

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

2、中心开启伪广播后,分支只能收到中心的路由信息,但没有分支的,原因是RIP的水平分割机制

解决办法:[r1-Tunnel0/0/0]undo rip split-hoeizon ---关闭RIP的水平分割机制

OSPF协议(开放式最短路劲优先协议)

ospf的版本:ospfv1(实验室阶段夭折) pspfv2---IPV4 ospfv3---IPV6

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网络如果只有一个区域,则这样的网络称为单区域OSPF网络;如果存在多个区域,则称为多区域OSPF网络

区域边界路由器(ABR):同时属于多个区域,一个接口对应一个区域,并且有一个接口在区域0中。区域之间可以存在多个ABR设备,一个ABR也可以对应多个区域

OSPF区域划分的要求

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

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

区域ID(area ID):用来区分和标定OSPF网络中不同的区域,由32位二进制构成。区域ID的表示方法:①点分十进制 ②直接用十进制表示。其中骨干区域的区域ID定义为区域0

OSPF的数据包

1、hello包:用于周期发现,建立和保活邻居关系

hello时间:10s(30s)

Dead time:4倍的hello时间

RID的特点:

①全网唯一 ;格式统一:必须按照IP地址的格式来设计,是由32位二进制构成

②手工配置:满足上述两个条件即可

③自动生成:先看设备是否配置环回接口,如果存在则选择环回接口的IP'地址作为RID;如果存在多个环回接口,则选择其中数值最大的作为RID。如果不存在环回接口,则将取设备的物理接口的IP地址作为RID,如果存在多个物理接口,则将选择其中数值最大的作为RID

2、DBO包:数据库描述报文

LSDB(链路状态数据库)---LSA---链路状态通告

3、LSR包:链路状态请求报文

根据DBO包的对比,基于本地未知的LSA信息发出请求

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

5、LSAck包:链路状态确认报文

OSPF存在30min一次的周期更新

OSPF的状态机

GRE MPLS隧道 gre隧道技术_IP_03

 

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

要进行条件匹配,匹配成功则可以进入到下一个状态,如果失败,则将停留在邻居关系,仅使用Hello包进行周期保活

GRE MPLS隧道 gre隧道技术_IP_04

 

要进行主从关系选举:通过比较RID来进行,RID大的为主,为主可以优先进入到下一个状态。这里使用DBD包来完成主从关系选举主要是为了和之前的邻居状态进行区分

GRE MPLS隧道 gre隧道技术_封装_05

 

上图中不会首先发送LSAck包

FULL状态:标志着邻接关系的建立。目的是为了和邻居状态进行区分。邻居状态只能使用hello包进行周期保活,而邻接状态才能收发LSA信息

状态总结:

①down状态:启动ospf之后,发出hello包之后进行到下一个状态

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

③TWO-way(双向通信)状态:标志着邻居关系的建立。要进行条件匹配,若匹配成功则可以进入到下一个状态,如果失败,则将停留在邻居关系,仅使用Hello包进行周期保活

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

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

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

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

OSPF的工作过程

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

邻居关系建立完成之后,将进行条件匹配。失败,则停留在邻居关系,仅使用 helo 包进行周期保活;匹配成功则开始建立邻接关系。首先,使用未携带数据的 DBD 包进行主从关系选举,之后,使用携带信息的 DBD 包共享数据库目录信息。之后,本地使用 LSR / LSU / LSACK 三种数据包获取未知的 LSA 信息。之后,完成本地数据库的建立,生成数据库表﹣-- LSDB 。

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

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

结构突变的情况:

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

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

3、无法通信:dead time

OSPF的基础配置

1、启动进程

[r1]ospf route-id 1.1.1.1

[r1-ospf-1]

2、创建区域

[r1-ospf-1]area 0

[r1-ospf-1-area-0.0.0.0]

3、宣告

①激活接口

②发布路由

[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0 反掩码:由连续的0和连续的1组成,0对应位不可变,1对应位可变。可以进行精准宣告,也可以进行范围宣告

[r1] display ospf peer ---查看ospf的邻居表

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

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

[r1]display ospf lsdb router 2.2.2.2---展开一条LSA信息

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

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

[r1-ospf-1] bandwidth - reference 1000 ---- 修改参考带宽

需要将所有 OSPF 网络中的设备都改成相同的