当前位置: 首页 > news >正文

vxlan 手工隧道(头端复制)

一、预习:

//
VxLAN:Network Virtualization Over Layer 3,本质上是一种 VPN 技术,能够在任意路由可达的物理网络(Underlayer)上叠加二层虚拟网络(Overlayer),通过 VxLAN 网关之间的 VxLAN 隧道实现网络内部的互通,同时也可与传统非 VxLAN 网络互通,是云计算必须要用到的其中一种技术。
云计算需要实现虚拟机的热迁移,但传统方式局限于网络架构,无法满足二层和三层的热迁移。云计算支持多租户,需要实现租户之间的隔离和互访。
传统网络的缺点:
1、MAC 地址表项的数量限制,虚拟机数量受限
2、VLAN Tag 字段长度限制:12bit,仅有4096个,网络隔离能力受限
3、虚拟机迁移范围受限,限于本地二层,无法做三层热迁移
VxLAN 由 IETF 定义(https://www.rfc-editor.org/rfc/rfc7348),采用 L2 over L4(MAC-in-UDP)的报文封装模式,将二层报文用三层协议进行封装,可实现二层网络在三层范围内范围互通,由于三层网络没有网络结构的限制,具有大规模扩展能力,满足 DCN 虚拟机的热迁移和多租户通信需求。
VxLAN是一种无控制平面(泛洪),利用底层 IP 网络实现二层通信的隧道技术。
底层的 IP 网络为 UnderLayer 网络(用于支撑 VxLAN 的 VTEP 之间彼此可达的网络),VxLAN 称为 OverLayer 网络(本质是隧道)
概念:
NVE:Network Virtualization Edge,用于 VxLAN 封装和解封装的设备
VTEP:VxLAN Tunnel EndPoint,VxLAN 隧道端点,每个 NVE 至少有一个 VTEP,用 IP 地址来表示
VxLAN Tunnel:由一对 VTEP 定义,报文在 VTEP 设备上封装后,通过 VxLAN 隧道在三层网络中进行传输。
隧道分为静态和动态隧道
静态:通过手工配置 本端和远端的 VNI、VTEP IP 及头端复制列表(Head-End Peer-List)来建立。手动创建 VxLAN 隧道,配置工作量大,此外,VXLAN本身没有控制平面,其 VTEP 发现和主机信息收集通过数据平面的流量泛洪实现,这在数据中心网络中产生了大量泛洪流量。
动态:由 BGP EVPN 协议动态建立 VxLAN隧道,VTEP 间建立 BGP EVPN 对等体 ,并利用 BGP EVPN 路由交换 VNI 和 VTEP IP,实现 VxLAN 的自动创建
BD:Bridge Domain 表示一个大二层广播域,本地有效,桥接VNI和物理二层
VNI:Virtual Network ID 分为 2层 VNI 和 3层 VNI,用于不同的BD域,和 BD 为 1:1 对应关系
OVS:Open vSwitch 开源虚拟交换机,在虚拟化场景下,用 portgroup 做端口隔离,
数据包:
DMAC | SMAC | DIP | SIP | UDP头 | VxLAN | 原始数据包
DVTEPMAC|SVTEPMAC|DVTEPIP|SVTEPIP|源目VxLAN端口长度检测包|Ibit为1标识VNI有效+VNI(24bit)|…
VTEP 上通过一种“二层子接口”的逻辑接口,来判断报文是否进入 VxLAN 隧道。二层子接口要做的事
1、根据配置来检查哪些报文需要进入VxLAN隧道
2、判断对检查通过的报文做何处理,CE交换机目录支持3种不同的流封装类型:
a、dot1q,只允许携带指定vlan tag的报文进入VxLAN隧道。(封装前处理:剥离原始报文vlan tag再封装)(收到VxLAN报文后,若原始报文二层带有vlan tag,则剥离并替换成本接口指定的vlan tag;若不带vlan tag,则加上本vlan tag)
b、untag,只允许不带VxLAN Tag 的报文进入 VxLAN 隧道。(封装前处理:不添加任何 VLAN Tag)(解封后:若原始报文带有 VLAN Tag,剥离再转发)(用于 pvid=1时)
c、default,允许所有报文进入VxLAN隧道,不论报文是否携带 VLAN Tag(封装前,不做任何处理)(收到后,不做任何处理)
//

二、拓扑:

请添加图片描述

三、配置思路:

1、手工隧道配置思路:

a、在接口上给流量做封装,封装方式为 dot1q、untag、default,并将原始 vlan 和 BD 做关联,让 vlan 的流量进入 BD 域

b、建立 BD 域,指定二层 vni,打开二层 arp代理,允许收集主机 arp

c、建立 vtep 隧道,指定头端复制试

2、简单文字表示:

vlan 关联 BDBD 关联二层 VNIVNI 进入 NVE 源端经过 VxLAN,通过 head-end 头端复制方式到达隧道对端 NVE 的 peer-list

三、检测:

1、看一下 ping 通情况

请添加图片描述

2、看下BD域中的MAC表项:

请添加图片描述

3、看下 VxLAN 隧道:

请添加图片描述

四、详细配置:

CE1:

// bridge-domain 10
vxlan vni 100

bridge-domain 20
vxlan vni 200

bridge-domain 30
vxlan vni 300

rip 1
version 2
network 12.0.0.0
network 1.0.0.0

interface GE1/0/0
undo portswitch
undo shutdown
ip address 12.1.1.1 255.255.255.0

interface GE1/0/1
undo shutdown

interface GE1/0/1.10 mode l2
encapsulation dot1q vid 10
bridge-domain 10

interface GE1/0/1.20 mode l2
encapsulation dot1q vid 20
bridge-domain 20

interface GE1/0/1.30 mode l2
encapsulation untag
bridge-domain 30

interface LoopBack0
ip address 1.1.1.1 255.255.255.255

interface Nve1
source 1.1.1.1
vni 100 head-end peer-list 3.3.3.3
vni 200 head-end peer-list 3.3.3.3
vni 300 head-end peer-list 3.3.3.3
//

CE2:

// rip 1
version 2
network 12.0.0.0
network 23.0.0.0
network 2.0.0.0

interface GE1/0/0
undo portswitch
undo shutdown
ip address 12.1.1.2 255.255.255.0

interface GE1/0/1
undo portswitch
undo shutdown
ip address 23.1.1.2 255.255.255.0

interface LoopBack0
ip address 2.2.2.2 255.255.255.255
//

CE3:

// bridge-domain 10
vxlan vni 100

bridge-domain 20
vxlan vni 200

bridge-domain 30
vxlan vni 300

rip 1
version 2
network 23.0.0.0
network 3.0.0.0

interface GE1/0/0
undo portswitch
undo shutdown
ip address 23.1.1.3 255.255.255.0

interface GE1/0/1.10 mode l2
encapsulation dot1q vid 10
bridge-domain 10

interface GE1/0/1.20 mode l2
encapsulation dot1q vid 20
bridge-domain 20

interface GE1/0/1.30 mode l2
encapsulation untag
bridge-domain 30

interface LoopBack0
ip address 3.3.3.3 255.255.255.255

interface Nve1
source 3.3.3.3
vni 100 head-end peer-list 1.1.1.1
vni 200 head-end peer-list 1.1.1.1
vni 300 head-end peer-list 1.1.1.1
//

五、常用命令:

dis vxlan vni
dis bridge-domain |binding-info
dis mac-address bridge-domain 10 #查看BD下的mac表项
dis vxlan vni #查看vxlan vni
dis vxlan tunnel #查看vxlan tunnel
dis port vlan #查看各端口所属vlan
clear configuration this #在接口下清配置
bridge-domain 10 #创建BD域
vxlan vni 100 #BD绑定VNI
int G1/0/1.10 mode l2 #创建二层子接口,if仅有一个vlan,也可以改为portswitch再进入
encapsulation dot1q vlan 10 | qint | untag | default
bridge-domain 10 #将vlan 10 和 BD 10 关联,所有 vlan 10 流量被注入到 BD 10 中
int nve 1|2 #创建nve
source x.x.x.x #创建vtep源地址
vni 100 head-end peer-list 3.3.3.3 #为vni 100创建头端创建隧道

六、踩过的坑:

1、CE交换机接口默认shutdown,配完后未打开

2、nve 下 source 配成对端的loo0,结果peer-list无法配置成相同的IP

Tips:

	因为 trunk 口的 pvid 默认就是 vlan 1,如果发送的数据所属的 vlan 和 trunk 端口的 pvid vlan相同,则发送untagged frame,所以 vlan 1 以untag发送。我们在SW1 上行口抓包,发现默认 vlan 1 是没有进行  802.1q 封装的。

http://www.mrgr.cn/news/78688.html

相关文章:

  • 南京仁品耳鼻喉专科医院:12月启动公益义诊月
  • aws(学习笔记第十五课) 如何从灾难中恢复(recover)
  • 七:仪表盘安装-controller node
  • 手机控制载货汽车一键启动无钥匙进入广泛应用
  • 工业公辅车间数智化节能头部企业,蘑菇物联选择 TDengine 升级 AI 云智控
  • SQL Server 实战 - 多种连接
  • sentinel使用手册
  • Android开发中的NSD扫描是什么
  • Node教程二
  • SQL进阶技巧:非等值连接--单向近距离匹配
  • 【ArkTS】使用AVRecorder录制音频 --内附录音机开发详细代码
  • aws(学习笔记第十五课) 如何从灾难中恢复(recover)
  • SpringBoot+Flowable快速实现工流_动态选择审批人员
  • 腾讯阅文集团Java后端开发面试题及参考答案
  • C++ STL 容器系列(三)list —— 编程世界的万能胶,数据结构中的百变精灵
  • MATLAB —— 机械臂工作空间,可达性分析
  • springboot学习-spring-boot-data-jdbc分页/排序/多表查询的例子
  • 点云处理中obb算法原理和法向量求解方法
  • PVE中VLAN的设置要点
  • 第十六届蓝桥杯模拟赛第二期题解—Java
  • 11 设计模式之代理模式(送资料案例)
  • 「Mac畅玩鸿蒙与硬件38」UI互动应用篇15 - 猜数字增强版
  • 2024前端面试经验分享
  • 【大模型实战篇】基于大模型GLM的Function Call实践
  • SQL进阶技巧:如何寻找同一批用户 | 断点分组应用【最新面试题】
  • 12 设计模式之工厂方法模式