1. 创建NVI

NVI(Network Virtual Instance)网络虚拟实例,是VTEP上为一个VXLAN提供L2交换服务的虚拟交换实例,NVI和VXLAN ID一一对应。别和VNI混了。。

业务接入点统一表现为一个L2子接口,通过在L2子接口上配置流封装实现不同的的接口接入不同的的数据报文,广播域同一表现为BD(bridge-domain)将L2子接口与BD关联后即可实现数据报文通过BD转发。


2. 配置VNI

配置VNI并关联NVI,VXLAN网络里的广播域是NVI是一个虚拟广播域,必须通过命令将VNI和NVI绑定起来,二者一一对应,通过NVI承载VNI。


3. L2接口业务接入

接入模式分为以下两种:

• VLAN 接入模式:从本地站点接收到的、发送给本地站点的以太网帧必须带有VLAN tag。VTEP从本地站点接收到以太网帧后,删除该帧的所有VLAN tag,再转发该数据帧;VTEP 发送以太网帧到本地站点时,为其添加VLAN tag。

• Ethernet 接入模式:从本地站点接收到的、发送给本地站点的以太网帧可以携带VLAN tag,也可以不携带VLAN tag。VTEP 从本地站点接收到以太网帧后,保持该帧的VLAN tag 信息不变,转发该数据帧;VTEP 发送以太网帧到本地站点时,不会为其添加VLAN tag。


4. 创建VXLAN隧道

VXLAN隧道创建有三种类型:静态单播隧道、动态单播隧道和组播隧道。
H3C:除了静态配置,还有自动方式,使用ENDP(Enhanced Neighbor Discovery Protocol,增强的邻居发现协议),自动发现远端VTEP后,使用这个协议建立隧道。直接使用隧道的概念实现vxlan隧道。
思科:VTEP的两种接口:switch interface和IP interface,switch接口就是与用户相连的端口;IP interface接口用来发现VTEP和学习mac地址。从其描述和命令实现来看,这里新增了一个nve接口的概念,类似于隧道,配置源IP和组播group地址,关联vxlan,自动探测远端VTEP。
华为:也是创建nve接口的概念,配置源IP和头端复制列表,特别说明了这里的IP地址需要和vxlan tunnel的源/目的IP一致。
静态单播隧道:用户手动配置的隧道,需要用户指明目的地址和源地址,这种隧道可以转发各种类型用户报文,已知单播,未知单播,广播和组播报文。
隧道假如VXLAN有两种方式:手动加入和自动加入
VXLAN扩展了IS-IS协议来发布VXLAN ID消息,VTEP在所有VXLAN隧道上通过 VXLAN IS-IS将本地存在的 VXLAN的 ID通告给远端 VTEP。远端 VTEP将其与本地的VXLAN进行比较,如果存在相同的 VXLAN,则将该 VXLAN与接收该信息的 VXLAN隧道关联。
采用VXLAN动态隧道的话,隧道可自动与VXLAN关联。

5. VXLAN MAC表项

VXLAN的MAC表学习方法有两个:静态配置和动态学习
静态配置:用户通过命令行配置一个MAC,并指定VSI和VXLAN隧道。
动态学习:动态学习分为流量触发的MAC学习与IS-IS通告MAC学习两种,
 
 

Vxlan学习笔记——实现的更多相关文章

  1. Vxlan学习笔记——原理

    1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC为何需求那么多VLAN呢,因为目前大部分IDC内部结构主要分为两种L2,L3.L2结构里面,所有 ...

  2. Vxlan学习笔记——原理(转)

    文章转自http://www.cnblogs.com/hbgzy/p/5279269.html 1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC ...

  3. LAN VLAN与VXLAN学习笔记

    一.LAN(Local Area Network,局域网) 1.通信方式: 向目标IP地址发送ARP广播,获取目的IP地址的MAC地址,然后用单播MAC地址实现相互通信 2.LAN的特点: 1.同一L ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  6. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  7. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  8. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  9. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

随机推荐

  1. stc15w wave

    1. 定时器和延时 #include "15W4KxxS4.h" #define FOSC 12000000 #define CLK (65536-FOSC/2/12/1000) ...

  2. deug的使用经验

    最基本的操作是: 1, 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下, 2, F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6 ...

  3. strftime使用%F格式化日期失败

    报错:invalid format directive 解决:把%F换成%Y-%m-%d

  4. js后加版本号

    页面引入两个js文件 <script charset="utf-8" src="mjs/randomimage.js?v=01291"></s ...

  5. 小程序快捷键(mac中)

    快捷键 格式调整  - Ctrl+S:保存文件  - Ctrl+[, Ctrl+]:代码行缩进  - Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块  - Ctrl+C Ctrl ...

  6. SOPC与 hello world

    本次设计实验源码位于:http://download.csdn.net/detail/noticeable/9922865 实验目的:通过系统的搭建进一步了解FPGA的SOPC开发流程,并借此了姐pl ...

  7. Golang 调用 Python 代码

    go 中的 cgo 模块可以让 go 无缝调用 c 或者 c++ 的代码,而 python 本身就是个 c 库,自然也可以由 cgo 直接调用,前提是指定正确的编译条件,如 Python.h 头文件( ...

  8. 项目Alpha冲刺(团队5/10)

    项目Alpha冲刺(团队5/10) 团队名称: 云打印 作业要求: 项目Alpha冲刺(团队) 作业目标: 完成项目Alpha版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 ...

  9. python pickle模块的使用/将python数据对象序列化保存到文件中

    # Python 使用pickle/cPickle模块进行数据的序列化 """Python序列化的概念很简单.内存里面有一个数据结构, 你希望将它保存下来,重用,或者发送 ...

  10. javascript从作用域到闭包-笔记

    读<你不知道的javascript>一书做个笔记;编译原理:    js是一门编译型的语言,与传统编译语言类似,传统编译的过程分为三个阶段 ;     1. 分词/词法分析; 2.解析/语 ...