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. vc++ openssl 程序签名

    RSA一般有两种应用场景:   1.公钥加密.私钥解密:这是数据安全通信领域最常见情形:   2.私钥加验.公钥验签:这主要用于数字签名. 我们这里用到的是第二种情况: 这里是基于OpenSSL,首先 ...

  2. oracle序列的使用

    第一天:序列的使用 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方.  1.Create Sequence  你首先要有CREATE SEQ ...

  3. 返回头部js

    $('.backTop, .backCss').click(function() { var id=$(this).attr('class'); $('html, body').animate({sc ...

  4. java基础-三元运算符

    1.三元运算符的格式 /* 三元运算符 (条件表达式)?表达式1:表达式2; 如果条件为true,整个表达式结果是表达式1: 如果条件为false,整个表达式结果是表达式2: 注意:三元运算符不能单独 ...

  5. common-io 文件监听例子

    package com.junge.spring.demo.commonio; import org.apache.commons.io.monitor.FileAlterationListenerA ...

  6. zabbix docker - 安装和初始化配置

    zabbix docker - 安装和初始化配置 安装zabbix server docker-mysql版本 zabbix server支持不同的数据库(详见zabbix的docker hub),这 ...

  7. Bashu2445 -- 【网络流24题-10】餐巾问题

    2445 -- [网络流24题-10]餐巾问题 Description 一个餐厅在相继的n天里,每天需要用的餐巾数不尽相同.假设第i天需要ri块餐巾(i=1,2,…,n).餐厅可以购买新的餐巾,每块餐 ...

  8. create-react-app脚手架中配置webpack的方法

    概述 create-react-app脚手架中的react-scripts能够(1)帮我们自动下载需要的webpack依赖:(2)自己写了一个nodejs服务端脚本代码:(3)使用express的Ht ...

  9. Kubernetes-2--安装部署

    kubernetes的部署方式: 1,kubeadm 2, 二进制安装包部署 条件准备: 1,关闭系统的swap分区 为什么要关闭swap分区,我还没有去看官方的说明,搜索到的答案是 kubernet ...

  10. vue 自学笔记(5) 列表渲染

    列表渲染 一:v-for 指令 当我们涉及到列表渲染数据的时候,不可能做一个重复的工作去不停的一个一个的渲染每一项列表.并且列表数据的表现,比如从后端请求过来的数据,不可能是一个一个的单独的 JSON ...