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地址上。