GRE,MGRE--- 多点GRE(General Routing Encapsulation ,通用路由封装协议)
物理专线 --- 1,成本 2,地理位置控制
VPN --- 虚拟专用网
VPN技术的核心 --- 隧道技术 --- 封装技术
GRE --- 通用路由封装
我们理想的走法 | SIP:192.168.1.1 | DIP:192.168.2.1 | 数据 |
真实的走法 | SIP:12.0.0.1 | DIP:23.0.0.2 | 数据 |
SIP:12.0.0.1 | DIP:12.0.0.2 | GRE | SIP192.168.1.1 | DIP:192.168.2.1 | 数据 |
隧道技术 --- 在隧道的两端通过封装以及解封装
GRE配置方法:
1,创建隧道接口
[r1]interface Tunnel
2,接口配置IP地址
[r1-Tunnel0/0/0]ip add 192.168.3.1 24
3,定义封装方式
[r1-Tunnel0/0/0]tu
[r1-Tunnel0/0/0]tunnel-protocol gre4,定义封装内容
[r1-Tunnel0/0/0]sou
[r1-Tunnel0/0/0]source 12.0.0.1
[r1-Tunnel0/0/0]des
[r1-Tunnel0/0/0]description 23.0.0.23
NHRP --- 下一跳解析协议 ---NHS ---下一跳解析服务器
原理:需要在私网中选择一个出口物理地址固定的设备组我诶NHS,剩下的所有分支
都应该知道中心的隧道地址和物理地址,然后NHRP要求所有的分支将自己的物理接口
和隧道接口的IP地址的映射关系发送给NHS,如果物理地址发生变化,则需要重新发送。
这样NHS可以获取到所有分支地址的映射关系。分支之间如果需要相互通信
MGRE的配置(中心的配置)
1,创建隧道接口
[r1]interface Tunnel
[r1-Tunnel0/0/0]
2,接口配置IP地址
[r1-Tunnel0/0/0]ip add 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
[r2-Tunnel0/0/0]
2,接口配置IP地址
[r2-Tunnel0/0/0]ip add 192.168.3.1 24
3,定义封装方式
[r2-Tunnel0/0/0]tunnel-protocol gre p2mp
4,定义封装内容
[r1-Tunnel0/0/0]source g0/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
[r2-Tunnel0/0/0]display nhrp peer all
MGRE环境在数据发送时,依旧是走的点到点的隧道,所以在数据传输时
依然是点到点的传输,所以MGRE环境是一个类似于NBMB的环境。
RIP实现MGRE遇到的问题
启用rip:
rip
v2
network 192.168.n.0 宣告(自己和相连的)
display ip routing-table protocol rip 过滤rip获取
1,只有中心获取到了分支的陆游信息,二分支没有获取到。
在中心开启伪广播
[r2-Tunnel0/0/0]nhrp entry multicast dynamic
2,中心开启伪广播后,分支只能收到中心的路由信息,没有分支的
原因:RIP水平分割机制
解决方法:
[r2-Tunnel0/0/0] undo rip split-horizon ---- 关闭RIP的水平分割
OSPF:
动态需要达到的目的:选路佳,收敛快(获取所有未知网段的过程),占用资源少
选路:
1,RIP
选路层面:1.1,会出现环路 1.2,以跳数作为选路标准
收敛层面:1.3, 收敛慢(30-120-180秒)
占用资源层面:1.4,特别大 ps:周期更新不停地发,占用资源特别大
2,OSPF(Open Shortest Path First,OSPF)--- 开放式最短路径优先
选路层面:2.1,以带宽作为选路标准 2.2,传递的是拓扑信息,链路状态信息
2.3,不会出环
收敛层面:2.4,网络越大,时间越长 2.5,小型网络中5S之内,个别几台设备感觉不到
占用资源层面:2.6,也大,但是优化措施多。资源占用也是ospf的一大问题。
RIP版本: RIPV1 , RIPV2 --- IPV4
RIPNG --- IPV6
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都被称为无类别的路由协议。
RIP --- 有类的路由协议只会传送网络前缀(网络地址),但是不会包含子网掩码。
OSPF --- 无类别的路由协议会携带子网掩码
3,OSPFV2和RIPV2都支持手工认证
4,OSPFV2和RIPV2都支持等开销负载均衡
OSPF和RIP的区别点:
RIP只能应用在小型网络中,OSPF可以适用于中大型网络
--- OSPF支持结构化部署 --- 区域划分
区域划分目的 ----(内部传拓扑,之间传路由信息)
OSPF网络如果只有一个区域,则这样的网络称为单区域OSPF网络;如果存在多个区域,则成为多区域OSPF网络
区域边界路由器 --- ABR --- 同时属于多个区域,一个接口对应一个区域。并且有一个接口在区域0中。 --- 区域之间可以存在多个ABR设备。一个ABR设备也可以对应多个区域。
区域划分的要求 --- 1,区域之间必须存在ABR设备
2,区域划分必须按照星型拓扑划分 --- 星型拓扑中间区域
称为骨干区域
区域ID --- 区分和标定ospf网络中不同的区域 --- 32位二进制构成 --- 骨干区域的区域ID定义为区域0
1,点分十进制表示
2,直接使用十进制
1,OSPF的数据包
hello包 --- 周期发现,建立和保活邻居关系
hello时间 --- 10S或30S,跟网络类型有关
dead time --- 死亡时间,4倍的hello时间(40S或120S)
RID --- 1,全网唯一;2,格式统一 --- 必须按照IP地址的格式来设计,由32位
二进制构成。
1,手工配置 --- 仅需满足以上两个条件即可
2,自动生成 --- 1,先看设备是否配置环回接口,如果存在则选择环回接口的IP
地址作为RID;如果存在多个环回接口,则将选择其中数值最大的作为RID。
2,如果不存在环回接口,则将取设备的物理接口的IP地址作为
RID,如果存在多个物理接口,则将选择其中数值最大的作为RID。
DBD包 --- 数据库描述报文 --- LSDB(链路状态数据包)--- LSA --- 链路状态通告
LSR包 --- 链路状态请求报文 --- 根据DBD包的比对,基于本地未知的LSA信息发出请求
LSU包 --- 链路状态更新报文 --- 真正携带LSA信息的数据包
LSAck包 --- 链路状态确认报文 --- 对以上确认
OSPF存在30MIN一次的周期更新
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)必须所有设备都修改