Vxlan基礎理解
阿新 • • 發佈:2018-03-13
數量 wid 可能 prot point 方式 ade vertical vlan技術
(1) vxlan header
共計8個字節,目前使用的是Flags中的一個8bit的標識位和24bit的VNI(Vxlan Network identifier),
其余部分沒有定義,但是在使用的時候必須設置為0x0000。
(2) 外層的UDP報頭
目的端口使用4798,但是可以根據需要進行修改。同事UDP的校驗和必須設置成全0。
(3) IP報文頭
目的IP地址可以是單播地址,也可以是多播地址。單播情況下,目的IP地址是Vxlan Tunnel End Point
(VTEP)的IP地址。在多播情況下引入VXLAN管理層,利用VNI和IP多播組的映射來確定VTEPs。???
VLAN簡介:
VLAN:Virtual LAN,又叫“虛擬局域網”。
VLAN的作用,主要是將一個大的廣播域隔離開來,形成多個小的廣播域,各個廣播域內可以互通,廣播域之間默認不能直接通訊。
為什麽需要VLAN?
如果一個公司的網絡,有1000臺主機,有10個部門。
如果用交換機將這些設備互聯起來,不做任何隔離的行為,默認這些主機都在同一個廣播域,那麽部門與部門之間的流量是可以互相傳遞、收到的。
如下圖:
如果做任何物理或者邏輯上的隔離,加入銷售部的一臺電腦發出了一個廣播包,這個廣播包是會泛洪到整個網絡的所有設備上,每臺電腦都會收到這個廣播包。
這會嚴重的浪費系統資源,也會造成安全隱患,比如有一個用戶在不停的發ARP包,每秒鐘發10萬個,那整個網絡的所有設備每秒鐘都要去處理大量的ARP包,這會消耗大量的CPU、內存以及帶寬,從而無法利用空閑的資源去完成真正需要的通訊。
所以,使用VLAN技術,可以將一個大的廣播域,根據需求去切割開來,分成若幹的小型的廣播域,每種數據幀(單播、廣播、組播)都只能在同一個VLAN裏泛洪,如果要傳到其他VLAN去,就必須要經過三層路由來轉發。
如下圖:
這就是規劃了三個VLAN之後網絡的通訊方式。(紅色虛線之間的設備是可以通信的)
交換機的端口加入vlan有三種方式,分別是access、trunk和hybrid。 1、access端口只能加入一個vlan,一般用來連接交換機和pc,也可以連接交換機和交換機。 2、trunk端口可以加入多個vlan,就是說可以允許多個vlan的報文通過。trunk端口有一個默認vlan,如果收到的報文沒有vlan ID,就把這個報文當做默認vlan的報文處理。trunk口一般用於連接兩臺交換機,這樣可以只用一條trunk連接實現多個vlan的擴展(因為trunk允許多個vlan的數據通過,如果用access口,那麽一個vlan就要一條連接,多個vlan要多個連接,而交換機的接口是有限的)。對於trunk口發送出去的報文,只有默認vlan的報文不帶vlan ID,其它vlan的報文都要帶vlan ID(要不然,對端的交換機不知道該報文屬於哪個vlan,無法處理,也就不能實現vlan跨交換機擴展了)。簡而言之,trunk端口的設計目的就是通過一條連接實現多個vlan的跨交換機擴展。 3、trunk端口是hybrid端口的特例,就是說hybrid端口可以實現比trunk端口更多的功能。hybrid端口可以加入多個vlan,並可以設置該vlan的報文通過該端口發送是是否帶vlan ID(trunk端口不能設置,只有默認vlan的報文不帶vlan ID進行發送)。通過下面的兩個例子(轉載的),大家應該可以看出hybrid端口的設計目的。
VID”(VLAN ID)是對VLAN的識別字段,為12位。支持4096(2^12)VLAN的識別。在4096可能的VID中,VID=0用於識別幀優先級。4095(FFF)作為預留值,所以VLAN配置的最大可能值為4094
一 . 為什麽需要Vxlan 1. vlan的數量限制 4096個vlan遠不能滿足大規模雲計算數據中心的需求 2. 物理網絡基礎設施的限制 基於IP子網的區域劃分限制了需要二層網絡連通性的應用負載的部署 3. TOR交換機MAC表耗盡 虛擬化以及東西向流量導致更多的MAC表項 4. 多租戶場景 IP地址重疊? 二. 什麽是Vxlan 1. Vxlan報文 vxlan(virtual Extensible LAN)虛擬可擴展局域網,是一種overlay的網絡技術,使用MAC in UDP的方法進 行封裝,共50字節的封裝報文頭。具體的報文格式如下:
- protocol:設置值為0x11,顯示說明這是UDP數據包
- Source ip: 源vTEP_IP;
- Destination ip: 目的VTEP IP。
- Destination Address:目的VTEP的Mac 地址,即為本地下一跳的地址(通常是網關Mac 地址);
- VLAN: VLAN Type被設置為0x8100, 並可以設置Vlan Id tag(這就是vxlan的vlan 標簽)。
- Ethertype:設置值為0x8000,指明數據包為IPv4的。
Vxlan基礎理解