GRE

GRE-通用路由封装 – VPN技术

PN —虚拟专用网

VPN技术的核心—隧道技术—封装技术

网络GRE中loopback地址 gre ospf_封装


我们希望的走法

SIP:192.168.1.1->DIP:23.0.0.2->数据

真实的走法

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配置方法:

1,创建隧道接口

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

网络GRE中loopback地址 gre ospf_OSPF_02


MGRE的配置

中心的配置:

1,创建隧道接口
 [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,定义封装内容
 [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
 [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,定义封装内容
 [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
 先隧道地址后物理接口地址[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-horizon—关闭RIP的水平分割

OSPF

OSPF—开放式最短路径优先协议
OSPF的版本—ospfv1(实验室阶段夭折),ospfv2 —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也可以对应多个区域。

区域划分的要求

1,区域之间必须存在ABR设备
2,区域划分必须按照星型拓扑划分—星型拓扑中间区域我们称为骨干区域。

区域ID(area ID)—区分和标定ospf网络中不同的区域—32位二进制构成----1,点分十进制表示;2,直接使用十进制表示----骨干区域的区域ID定义为区域0。

OSPF工作过程

1,OSPF的数据包
1)hello包—周期发现,建立和保活邻居关系
hello时间—10S(30S)
Dead time—4倍的hello时间
RID —1,全网唯一;2,格式统一—必须按照IP地址的格式来设计,由32位二进制构成。
1,手工配置—仅需满足以上两个条件即可
2,自动生成—
<1>先看设备是否配置环回接口,如果存在则选择环回接口的IP地址作为RID;如果存在多个环回接口,则将选择其中数值最大的作为RID。
<2>如果不存在环回接口,则将取设备的物理接口的IP地址作为RID,如果存在多个物理接口,则将选择其中数值最大的作为RID。
2)DBD包—数据库描述报文—LSDB(链路状态数据库)—LSA —链路状态通告
3)LSR包—链路状态请求报文—根据DBD包的比对,基于本地未知的LSA信息发出请求。
4)LSU包—链路状态更新报文—真正携带LSA信息的数据包
5)LSAck包—链路状态确认报文
OSPF存在30min一次的周期更新。

2,OSPF的状态机

网络GRE中loopback地址 gre ospf_OSPF_03


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

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

Two-way(双向通信)状态—标志着邻居关系的建立

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

网络GRE中loopback地址 gre ospf_服务器_04


主从关系选举—通过比较RID来进行,RID大的为主,为主可以优先进入到下一个状态。—这里使用DBD包来完成主从关系选举主要是为了和之前的邻居状态进行区分。exstart(预启动)状态—使用未携带数据的DBD包进行主从关系选举,RID大的为主,为主可以优先进入下一个状态

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

网络GRE中loopback地址 gre ospf_网络_05


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

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

4,OSPF的基础配置

网络GRE中loopback地址 gre ospf_网络GRE中loopback地址_06


启动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,宣告

[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网络中的设备都改成相同的。