vxlan vs GRE(三层组播和二层组播如何对应起来)

Posted rebeca8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vxlan vs GRE(三层组播和二层组播如何对应起来)相关的知识,希望对你有一定的参考价值。

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(三层组播和二层组播如何对应起来)的主要内容,如果未能解决你的问题,请参考以下文章

VXLAN简介(摘抄)

数通面试私房菜之组播专题第四期: IGMP Snooping

Linux的第五周作业

交换机如何处理组播

关于socket组播和ssdp[修改1.2]

VXLAN