www.huawei.com/ilink/cnenterprise/download/HW_401028

http://feisky.xyz/sdn/basic/vxlan.html

华为的vxlan文档介绍:

1)主要的内容重点在vxlan的封装形式,多了50字节的tunnel长度;(14帧头+20ip头+8udp头+8vxlan头),其中vxlan头(00000100+24bit保留+24bit vxlanID+8bit保留)

2)正常来说一个64-1518帧长的数据包,去掉vxlan的tunnel头部+FCS(帧校验序列-CRC)之后,只有10-1464长度可以使用,但是vxlan的封装是为了传输内层的来自vm的数据包,所以实际的传输过程需要调大整个网络环境的MTU,才能正常传输;

3) GRE封装的是ip头+数据信息,

•GRE(Generic Routing Encapsulation):通用路由封装协议。定义了在一种网络层协议上封装另一种协议(或同一种协议)。例如:对某些网络层协议(如IP和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。

•GRE是VPN(Virtual Private Network)的第三层隧道协议,即在协议层之间采用了一种被称之为Tunnel(隧道)的技术。

•Tunnel是一个虚拟的点对点的连接,在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封 。
封装过程:
 

•经GRE模块处理后,原IP头部已经被封装在新IP头部和GRE头部之后

•新IP数据包的IP头部的协议号为47。

•新IP头部的长度为20字节
 
•GRE头部的长度为4~20字节(根据实际配置而定)。
 
格式:
 

GRE头部结构参照RFC1701定义

  • 前4 字节是必须出现的
  • 第5~20字节将根据第1字节的相关bit位信息,可选出现。
  • GRE头部的长度将影响Tunnel口的mtu值
•0bit  C:校验和标志位。
   如配置了checksun则该位置为1,同时校验和(可选)、偏离(可选)部分的共4 bytes出现在GRE头部。
   如不配置checksun则该位置为0,同时校验和(可选)、偏离(可选)部分不出现在GRE头部。
 
•1bit  R:路由标志位。 
  如R为1,校验和(可选)、偏离(可选)、路由(可选)部分的共8 bytes出现在GRE头部。
 如R为0, 校验和(可选)、偏离(可选)、路由(可选)部分不出现在GRE头部。
 
•2bit  K:密钥标志位。 
     如配置了KEY则该位置为1,同时密钥(可选)部分的共4 bytes出现在GRE头部。
     如不配置KEY则该位置为0,同时密钥(可选)部分不出现在GRE头部。
 
•3bit  S:序列好同步标志位。 
    如配置了sequence-datagrams则该位置为1,同时序列号(可选)部分的共4 bytes出    现在GRE头部。
  如不配置sequence-datagrams则该位置为0,同时序列号(可选)部分不出现在GRE头部。
 
•4bit  s:严格源路由标志位。 
     除非所有的路由都符合严格源路由,该bit位为1。通常该bit为0。
 
•5~7bit:递归控制:该位置需为0
 
•8~12bit: 未定义,需为0
 
•13~15 版本:需为0
 

16~31 协议类型:常用的协议,例如IP协议为0800

============================

三层组播和二层组播如何对应起来

1)     常用组播地址:

a)    224.0.0.1 网段内所有主机和路由器(等效于广播地址)

b)    224.0.0.2 所有组播路由器的地址

c)    224.0.0.5 OSPF路由器

d)    224.0.0.6 OSPF DR

e)    224.0.0.9 RIP-2路由器

f)     224.0.0.13 所有PIM路由器

2)      三层组播地址如何映射到二层组播地址

a)    IANA规定,组播MAC地址的高24bit为0x01005e,第25bit为0,低23bit为组播IP地址的低23bit。IP组播地址的前4bit是固定的1110,对应组播MAC地址的高25bit。IP组播地址的后28bit中只有23bit被映射到MAC地址,因此丢失了5bit的地址信息,直接结果是有32个IP组播地址映射到同一MAC地址上。

vxlan vs GRE(三层组播和二层组播如何对应起来)的更多相关文章

  1. 网络叠加模式VLAN、VxLAN、GRE

    什么是叠加网络 1.一个数据包(或帧)封装在另一个数据包内;被封装的包转发到隧道端点后再被拆装. 2.叠加网络就是使用这种所谓"包内之包"的技术安全地将一个网络隐藏在另一个 网络中 ...

  2. openstack网络基础:网络叠加模式VLAN、VxLAN、GRE

    什么是叠加网络1.一个数据包(或帧)封装在另一个数据包内;被封装的包转发到隧道端点后再被拆装.2.叠加网络就是使用这种所谓“包内之包”的技术安全地将一个网络隐藏在另一个 网络中,然后将网络区段进行迁移 ...

  3. 一行实现QQ群组头像,微信群组,圆角等效果. 并支持url直接加载图片

    说点题外话. Coding中我们总是经历着这么几个过程. 学会使用: 不管是API也好, 开源库也好. 总是在最开始的学会去用. 了解实现原理: 可能会因为一些不兼容, 代码的异常状态的处理不够完美等 ...

  4. PHP正则中的捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可 ...

  5. php 正则表达式捕获组与非捕获组

    熟练掌握正则表达式是每个程序员的基础要求,对于每个初学者来说会被正则表达式一连串字符弄得头晕眼花.博主便会如此,一直对正则表达式有种莫名的恐惧.近来看到另一位博友写的 <php正则表达式> ...

  6. 无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。

    无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘 ...

  7. 超级详细 一听就会:利用JavaScript jQuery实现图片无限循环轮播(不借助于轮播插件)

    前言 作为一个前端工程师,无论公司是什么行业,无论你做什么端,基本都会遇到一个避不开的动画效果:循环轮播.做轮播并不难,市场上的轮播插件有很多,其中比较著名的是swiper,使用也非常简单.但轮播插件 ...

  8. windows组策略实验-本地组策略和域控组策略

    windows组策略实验-本地组策略和域控组策略 本地组策略只对本地计算机有效,域策略是计算机加入域环境后对加入域的一组计算机.用户定义的策略,便于管理 本地组策略: 一.实验环境 Windows 7 ...

  9. MySQL高可用之组复制(1):组复制技术简介

    MySQL组复制系列文章: MySQL组复制大纲 MySQL组复制(1):组复制技术简介 MySQL组复制(2):配置单主模型的组复制 MySQL组复制(3):配置多主模型的组复制 MySQL组复制( ...

随机推荐

  1. 吴裕雄 python神经网络(7)

    import numpy as npnp.random.randint(0,49,3) # -*- coding:utf-8 -*-import kerasfrom keras.models impo ...

  2. python闭包的代码

  3. frambuffer 相关函数理解

    1. framebuffer_alloc()功能是向内核申请一段大小为sizeof(struct fb_info) + sizeprivate的空间,其中sizeprivate的大小代表设备的私有数据 ...

  4. react学习入门

    先在在学习react,react是faceBook推出的框架,因为虚拟DOM使页面性能提高很大,特别react Native非常适合移动端,现做一个学习总结: 1.react 获取DOM的两种方式是R ...

  5. kali下的miranda工具只适合同一路由下使用

    在终端输入如下命令: miranda -v -i eth0 上面的命令是指定打开网卡eth0,返回结果如下: miranda提示输入开启upnp的主机,现在我们不知道哪台主机开启了upnp,输入命令“ ...

  6. metasploit framework(一):基本使用

    它位于/usr/share/metasploit-framework 进入到modules目录,有六大模块 exploits:系统漏洞利用的流程,对系统漏洞注入一些特定的代码,使其覆盖程序执行寄存器, ...

  7. veil-evasion免杀处理

    veil-evasion 开启 y 配置安装 安装好之后,再次运行veil-evasion 有50个payload模块 update 升级 list 查看有哪些payload 选一个payload 它 ...

  8. mac通过命令行获取证书和配置文件过期时间

      背景:ios打包证书的profile配置文件过期了,导致以前已经打完的测试包不能安装.所以需要加上检测机制,在打包时提示证书是否将要过期,如果要过期了给出提示   方案: 1.查找profile配 ...

  9. 修改nginx日志格式为json

    Nginx 日志默认为普通文本的格式 /Oct/::: +] "https://boss.zbt.com/finance/partner/create-account-gateway?id= ...

  10. NumPy 字符串函数

    NumPy 字符串函数 以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作. 它们基于 Python 内置库中的标准字符串函数. ...