使用ESNP完成SDN技术静态方式VXLAN实现同子网(不同VLAN)的通信
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ESNP完成SDN技术静态方式VXLAN实现同子网(不同VLAN)的通信相关的知识,希望对你有一定的参考价值。
1.SDN线路2006年斯坦福大学发布 OpenFlow,网络设备转发和控制面分离,通过集中的控制面实现网络流量的灵活控制
华为数据中心SDN的核心特征是适度的转控分离结合之外, 通过管理与控制分离, 实现网络业务自动化发放, 助力数据中心业务实现敏捷发放.
当下的SDN商业产品
您可以看到思科、华为等传统网络产品大佬依旧走着“一条道走到黑”的路子,即自有控制器+自由硬件转发设备+VXLAN的路子。但请注意,“大佬决定历史”
2.华为SDN的控制器和Vxlan
华为Agile Controller(DCN)即其数据中心下的SDN控制器,即界面如下图所示
Overlay 在网络技术领域,指的是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主。Overlay 技术是在现有的物理网络之上构建一个虚拟网络,上层应用只与虚拟网络相关(比如GRE隧道等技术)。
Overlay网络主要由三部分组成:1.边缘设备:是指与虚拟机直接相连的设备 2.控制平面,主要负责虚拟隧道的建立维护以及主机可达性信息的通告3. 转发平面,承载 Overlay 报文的物理网络
由于这个定义才引出了VxLAN,它也是一种overlay技术
VXLAN在支持SDN,多租户等方面能力更强,因此成为业界的技术热点。
VXLAN的优势:
基于IP的overlay,仅需要边界设备间IP可达。
隧道间水平分割、IP overlay TTL避免环路。
数据流量基于IP路由 SPF及ECMP快速转发。
网络变化实时侦听全网拓扑毫秒收敛。
Overlay+VNI构建虚拟网络,支持多达16M的虚拟网络。
物理设备、vSwitch均能够部署。
3.使用ESNP完成SDN技术静态方式VXLAN实现同子网(不同VLAN)的通信
VXLAN(Virtual Extensible LAN,虚拟可扩展局域网)是目前NVO3中影响力最为广泛的一种。它通过LMAC in UDP的报文封装方式,实现基于IP overlay的虚拟局域网。
VXLAN网络中的NVE以VTEP进行标识,VTEP(VXLAN Tunnel EndPoint,VXLAN隧道端点;
每一个NVE至少有一个VTEP,VTEP使用NVE的IP地址表示;
两个VTEP可以确定一条VXLAN隧道(点到点方式)。
VXLAN网络中的NVE以VTEP进行标识,VTEP(VXLAN Tunnel EndPoint,VXLAN隧道端点);
每一个NVE至少有一个VTEP,VTEP使用NVE的IP地址表示;
两个VTEP可以确定一条VXLAN隧道,VTEP间的这条VXLAN隧道将被两个NVE间的所有VNI所公用。
VTEP可以对VXLAN报文进行封装和解封装。
VXLAN报文中源IP地址为源端VTEP的IP地址,目的IP地址为目的端VTEP的IP地址。一对VTEP地址就对应着一条VXLAN隧道。在源端封装报文后通过隧道向目的端VTEP发送封装报文,目的端VTEP对接收到的封装报文进行解封装。
网络标识VNI(VXLAN Network Identifier)
类似于传统网络中的VLAN ID,用于区分VXLAN段,不同VXLAN段的租户不能直接进行二层通信。一个租户可以有一个或多个VNI,VNI由24比特组成,支持多达16M的租户
VNI-24比特,用于标识虚拟网络,最大支持16M。相同的VNI,读者可以理解为相同的VLAN
在用户看来依旧是在同一个网络中,如图×××VLAN可以直接访问×××VLAN,其他拒绝
我们通过如下实验来完成对VXLAN的进一步理解
拓扑:
步骤1.完成底层的IGP,为后续BGP以及其他协议做前置准备
即underlay网络(借助OSPF实施完毕的传统IP网络)实施完毕。验证如下:
协议验证
[~SPINE-GE1/0/1]dis ospf peer brief
OSPF Process 1 with Router ID 3.3.3.3
Area Id Interface Neighbor id
State
0.0.0.0 GE1/0/0 1.1.1.1
Full
0.0.0.0 GE1/0/1 2.2.2.2
Full
数据测试:ping -a 3.3.3.3 1.1.1.1
PING 1.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 1.1.1.1: bytes=56 Sequence=1 ttl=255 time=18 ms
Reply from 1.1.1.1: bytes=56 Sequence=2 ttl=255 time=5 ms
ping -a 3.3.3.3 2.2.2.2
PING 2.2.2.2: 56 data bytes, press CTRL_C to break
Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=255 time=10 ms
Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=255 time=6 ms
步骤2.业务接入点实施
Leaf1
interface GE1/0/2
description Conn2ACCESS
undo shutdown //保证连接接入网络的接口开启
bridge-domain 10 //创建桥接域10
vxlan vni ?
INTEGER<1-16777215> Value of VXLAN network identifier //可以看到VXLAN的网络标识范围是16M
vxlan vni 10 //配置VLXAN的VNI 标记
interface g1/0/2.1 mode l2 //创建2层子接口,用于和BD绑定
encapsulation dot1q vid 10 //dot1q在封装vxlan之前要先拿掉帧中的VLAN TAG(解耦,即VLAN不在有意义)。此处VID为发出帧的TAG
bridge-domain 10 //BD域和子接口绑定,以方便携带TAG10的帧可以通过子接口转发,而后续BD会和VNI结合
[Leaf1]display bridge-domain
The total number of bridge-domains is : 1
--------------------------------------------------------------------------------
MAC_LRN: MAC learning; STAT: Statistics; SPLIT: Split-horizon;
BC: Broadcast; MC: Unknown multicast; UC: Unknown unicast;
*down: Administratively down; FWD: Forward; DSD: Discard;
--------------------------------------------------------------------------------
BDID State MAC-LRN STAT BC MC UC SPLIT Description
--------------------------------------------------------------------------------
10 up enable disable FWD FWD FWD disable
!
Leaf2
interface GE1/0/2
description Conn2ACCESS
undo shutdown
bridge-domain 20
vxlan vni 10
interface g1/0/2.1 mode l2
encapsulation dot1q vid 20
bridge-domain 20
[Leaf2]display bridge-domain
The total number of bridge-domains is : 1
--------------------------------------------------------------------------------
MAC_LRN: MAC learning; STAT: Statistics; SPLIT: Split-horizon;
BC: Broadcast; MC: Unknown multicast; UC: Unknown unicast;
*down: Administratively down; FWD: Forward; DSD: Discard;
--------------------------------------------------------------------------------
BDID State MAC-LRN STAT BC MC UC SPLIT Description
--------------------------------------------------------------------------------
20 up enable disable FWD FWD FWD disable
步骤3.创建VXLAN隧道
即创建VXLAN隧道
配置头端复制功能
Leaf:
interface Nve 1 //创建逻辑接口NVE1
source 1.1.1.1 //配置VTEP的源地址
vni 10 head-end peer-list 2.2.2.2 //注意两侧NVE的VNI的ID相同
!
Leaf2
interface Nve1
source 2.2.2.2
vni 10 head-end peer-list 1.1.1.1
[~Leaf1]dis vxlan vni
Number of vxlan vni : 1
VNI BD-ID State
---------------------------------------
10 10 up
步骤4.实验数据通断
主机发送数据到另外一个网络的终端
PC>ping 172.16.1.2
Ping 172.16.1.2: 32 data bytes, Press Ctrl_C to break
From 172.16.1.2: bytes=32 seq=1 ttl=128 time=93 ms
From 172.16.1.2: bytes=32 seq=2 ttl=128 time=78 ms
From 172.16.1.2: bytes=32 seq=3 ttl=128 time=78 ms
From 172.16.1.2: bytes=32 seq=4 ttl=128 time=78 ms
From 172.16.1.2: bytes=32 seq=5 ttl=128 time=47 ms
--- 172.16.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 47/74/93 ms
实验完成
以上是关于使用ESNP完成SDN技术静态方式VXLAN实现同子网(不同VLAN)的通信的主要内容,如果未能解决你的问题,请参考以下文章
【网络工程师】手把手教你用华为ensp模拟器玩vxlan实验(静态方式)
从SDN鼻祖Nicira到VMware NSX 网络虚拟化平台的简单探讨
SDN实战:Build a VXLAN Tunnel by Making Python-based API Calls for DCI