2.VXLAN_从GRE开始

从GRE VPN 开始

为什么讲VXLAN要从GRE VPN开始呢?
因为VXLAN的工作原理与GRE VPN有很多相似之处,学习GRE VPN有助于后续帮助我们理解VXLAN.

GRE VPN

前言

VXLAN本身是一个比较复杂的知识点,想要理解VXLAN并不容易,我们会从GRE VPN + 单臂路由开始讲起,然后深入分析其工作原理和优缺点,能够深入的理解GRE VPN 是理解VXLAN非常好的入口;

配置

思路:

  1. underlay
  2. GRE Tunnel
  3. 下联接口
  4. 让PC和PC3通过GRE VPN能够通信

通信流程

  1. PC1主机构建ARP报文询问网关MAC:
    1. “与运算”判断对方跟自己是否在一个网段,发现对方跟自己并不在一个网段;
    2. PC1发送ARP广播报文获取网关的MAC地址(此时的报文格式)
  2. 接入层交换机处理ARP报文:
    1. 会将其打TAG-10
    2. 并从TRUNK接口带着TAG继续发出给防火墙的单臂网关接口
  3. FW1处理ARP报文:
    1. 网关所在G1/0/5.10的子接口因为做和DOT1Q,所以是可以识别VLAN10的;FW1的G1/0/5.10不仅可以识别TAG VLAN-10,还要拆掉VLAN-10漏出当中的ARP报文
    2. 防火墙的内核会将其交给ARP模块进行处理。接下来,FW1接口回复PC1 ARP报文,注意,也是带着VLAN-10的,ARP的回复报文最终到达PC1;
  4. PC1主机构建ICMP报文
    1. PC1主机得到网关的MAC地址之后,开始封装 ICMP报文交给FW1的G1/0/5.10的子接口,即网关;
    2. FW1根据报文的目标地址进行路由,交给隧道接口,外面包裹上GRE和新的IP首部,再次路由之后发出。
    3. 沿途路由器根据目标IP地址进行转发
  5. FW3对ICMP的处理:
    1. FW3拆掉外层IP,漏出GRE首部
    2. FW3交给GRE进程进行处理GRE进程拆掉GRE首部,漏出内层IP首部
    3. 交给路由模块进行处理,路由模块根据目标地址进行路由;
    4. FW3发现目标IP是本地直连的,在MAC表当中查找对应的MAC,如果没有,要通过ARP广播询问(此时第一次PING可能会因超时而会丢包)
    5. FW3得到了PC3的MAC地址之后,把PC1的ICMP报文重新封装交给PC3。
  6. PC3收到之后构建ICMP的回复报文进行回复;

GRE VPN的问题

见上一节

设计一种新的协议!

最终的设计目标
使得不同区域的虚拟机在迁移之后可以平滑使用;

进一步
也就意味着两边得变成一个大二层网络才可以,只有变成了二层之后,一方的广播才有可能到达另一方,同时虚拟机迁移之后还是处于同一个网络之下;

问题更具体了:
怎样让两边的网络成为一个大二层网络?
既然是大二层,那得把三层网关取消吧!

取消网关带来了新的问题!
取消网关之后,FW3在就无法路由了,就不知道该把流量给哪个接口了,怎么办?引入ID标识不就行了;

由此为思路诞生了两个新的协议:

  • NVGRE
  • VXLAN
  • ……
# FW1
bridge-domin <NAME>
	vxlan vni 10
	
interface g1/0/5.10 l2
	vlan-type dot1q 10
	bridge-domin <NAME>

interface nve1
	source 1.1.1.1
	vni 10 peer-list head-end 3.3.3.3
posted @ 2020-04-23 18:51  张贺贺呀  阅读(192)  评论(0)    收藏  举报