1. 程式人生 > >vxlan vs GRE(三層組播和二層組播如何對應起來)

vxlan vs GRE(三層組播和二層組播如何對應起來)

由器 ams 之間 數據信息 控制 格式 tunnel network 處理

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(三層組播和二層組播如何對應起來)