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. C++ 提取网页内容系列之五 整合爬取豆瓣读书

    工作太忙 没有时间细化了 就说说 主要内容吧 下载和分析漫画是分开的 下载豆瓣漫画页面是使用之前的文章的代码 见http://www.cnblogs.com/itdef/p/4171179.html ...

  2. ActiveMQ_6持久化

    activemq持久化 ActiveMQ提供了插件式的消息存储,主要有有如下几种: 1.AMQ消息存储-基于文件的存储方式,是以前的默认消息存储 2.KahaDB消息存储-提供了容量的提升和恢复能力, ...

  3. Django Template 进阶

    回顾: Variables {{ var }} {{ dict.key }} {{ var.attr }} {{ var.method }} {{ varindex }} Filter {{ list ...

  4. Request参数值自动去空格

    /// <summary> /// TypeTrimHelper /// </summary> public static class TypeTrimHelper { /// ...

  5. .NET Core微服务之路:利用DotNetty实现一个简单的通信过程

    上一篇我们已经全面的介绍过<基于gRPC服务发现与服务治理的方案>,我们先复习一下RPC的调用过程(笔者会在这一节的几篇文章中反复的强调这个过程调用方案),看下图

  6. 项目中使用同一dll的不同版本

    在一个项目中,因为使用了一些插件,这些插件使用了不同版本的log4net,有1.2版本,有2.0版本的.当运行的时候发生冲突. 解决办法:在config中加入如下的配置 <dependentAs ...

  7. Django 通过 mongoengine 连接 MongoDB 进而使用orm进行CRUD

    一. 在python脚本中, 我们通常可以使用pymongo模块实现与mongodb数据库的交互, 但是在使用Django框架进行定制开发的web server 项目中, 仍然使用pymongo模块的 ...

  8. 前端自动化部署方案-实践(配合shell)

    以下实例项目为vue项目,其他项目当然也雷同咯 在项目中建一个这个么脚本文件 不说了,上代码 #!/bin/sh handle=$1; env=$2; # 远程部署机 webhook # 如果用远程机 ...

  9. Info - 信息获取途径汇总

    目的驱动 大多数情况下,都是为了解决某个问题或完成某项任务,才需要进行针对性的.大范围的.细致化的信息获取. 那么,信息获取的方式和来源,就应该紧紧围绕这个"问题和任务"本身来确定 ...

  10. inception安装使用

    一个集审核.执行.备份及生成回滚语句于一身的MySQL自动化运维工具,由去哪网开源 安装 CentOS 7 Python 3.6 安装基础环境 yum -y install cmake libncur ...