overlay网路技术之VXLAN详解_互联网_IT计算机_专业资料.docx

上传人:marr****208 文档编号:137880529 上传时间:2020-07-12 格式:DOCX 页数:10 大小:261.54KB
返回 下载 相关 举报
overlay网路技术之VXLAN详解_互联网_IT计算机_专业资料.docx_第1页
第1页 / 共10页
overlay网路技术之VXLAN详解_互联网_IT计算机_专业资料.docx_第2页
第2页 / 共10页
overlay网路技术之VXLAN详解_互联网_IT计算机_专业资料.docx_第3页
第3页 / 共10页
overlay网路技术之VXLAN详解_互联网_IT计算机_专业资料.docx_第4页
第4页 / 共10页
overlay网路技术之VXLAN详解_互联网_IT计算机_专业资料.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《overlay网路技术之VXLAN详解_互联网_IT计算机_专业资料.docx》由会员分享,可在线阅读,更多相关《overlay网路技术之VXLAN详解_互联网_IT计算机_专业资料.docx(10页珍藏版)》请在金锄头文库上搜索。

1、overlay網路技術之VXLAN詳解火星人 2014-03-12 ,reply:0Tags:作為網路虛擬化的重要技術,VXLAN備受關注,該協議是如何運作的?如何通過數據與控制層面的分離實現SDN網路?如何部署?本博文將為您詳細介紹.一 . 為什麼需要Vxlan1. vlan的數量限制4096個vlan遠不能滿足大規模雲計算數據中心的需求2. 物理網路基礎設施的限制基於IP子網的區域劃分限制了需要二層網路連通性的應用負載的部署3. TOR交換機MAC表耗盡虛擬化以及東西向流量導致更多的MAC表項4. 多租戶場景IP地址重疊?二. 什麼是Vxlan1. Vxlan報文vxlan(virtual

2、 Extensible LAN)虛擬可擴展區域網,是一種overlay的網路技術,使用MAC in UDP的方法進行封裝,共50位元組的封裝報文頭。具體的報文格式如下:(1) vxlan header共計8個位元組,目前使用的是Flags中的一個8bit的標識位和24bit的VNI(Vxlan Network identifier),其餘部分沒有定義,但是在使用的時候必須設置為0x0000。(2) 外層的UDP報頭目的埠使用4798,但是可以根據需要進行修改。同事UDP的校驗和必須設置成全0。(3) IP報文頭目的IP地址可以是單播地址,也可以是多播地址。單播情況下,目的IP地址是Vxlan

3、Tunnel End Point(VTEP)的IP地址。在多播情況下引入VXLAN管理層,利用VNI和IP多播組的映射來確定VTEPs。protocol:設置值為0x11,顯示說明這是UDP數據包Source ip: 源vTEP_IP;Destination ip: 目的VTEP IP。(4) Ethernet HeaderDestination Address:目的VTEP的Mac 地址,即為本地下一跳的地址(通常是網關Mac 地址);VLAN: VLAN Type被設置為0x8100, 並可以設置Vlan Id tag(這就是vxlan的vlan 標籤)。Ethertype:設置值為0x8

4、000,指明數據包為IPv4的。補充:VTEP的作用?用於對VXLAN報文進行封裝/解封裝,包括ARP請求報文和正常的VXLAN數據報文,在一段封裝報文後通過隧道向另一端VTEP發送封裝報文,另一端VTEP接收到封裝的報文解封裝后根據封裝的MAC地址進行裝法。VTEP可由支持VXLAN的硬體設備或軟體來實現。從封裝的結構上來看,VXLAN提供了將二層網路overlay在三層網路上的能力,VXLAN Header中的VNI有24個bit,數量遠遠大於4096,並且UDP的封裝可以穿越三層網路,比VLAN有更好的擴展性。2. Vxlan的數據和控制平面(1) 數據平面-隧道機制已經知道,VTEP為

5、虛擬機的數據包加上了層包頭,這些新的報頭之有在數據到達目的VTEP后才會被去掉。中間路徑的網路設備只會根據外層包頭內的目的地址進行數據轉發,對於轉發路徑上的網路來說,一個Vxlan數據包跟一個普通IP包相比,出了個頭大一點外沒有區別。由於VXLAN的數據包在整個轉發過程中保持了內部數據的完整,因此VXLAN的數據平面是一個基於隧道的數據平面。(2) 控制平面-改進的二層協議VXLAN不會在虛擬機之間維持一個長連接,所以VXLAN需要一個控制平面來記錄對端地址可達情況。控制平面的表為(VNI,內層MAC,外層vtep_ip)。Vxlan學習地址的時候仍然保存著二層協議的特徵,節點之間不會周期性的

6、交換各自的路由表,對於不認識的MAC地址,VXLAN依靠組播來獲取路徑信息(如果有SDN Controller,可以向SDN單播獲取)。另一方面,VXLAN還有自學習的功能,當VTEP收到一個UDP數據報后,會檢查自己是否收到過這個虛擬機的數據,如果沒有,VTEP就會記錄源vni/源外層ip/源內層mac對應關係,避免組播學習。三. VxlanARP請求(1) vxlan初始化VM1和VM2連接到VXLAN網路(VNI)100,兩個VXLAN主機加入IP多播組239.119.1.1(2) ARP請求1) VM1以廣播的形式發送ARP請求;2) VTEP1封裝報文。打上VXLAN標識為100,外

7、層IP頭DA為IP多播組(239.119.1.1),SA為IP_VTEP1.3) VTEP1在多播組內進行多播;4) VTEP2解析接收到多播報文。填寫流表(VNI, 內層mac地址,外層Ip地址),並在本地VXLAN標識為100的範圍內廣播(是VXLAN的用武之地)。5) VM2對接收到的ARP請求進行響應;(3) ARP應答1) VM2準備ARP響應報文後向VM1發送響應報文2)VTEP2接收到VM2的響應報文後把它封裝在ip單播報文中(VXLAN標識依然為100),然 後向VM1發送單播3)VTEP1接收到單播報文後,學習內層MAC到外層ip地址的映射,解封裝並根據被封裝內容的目的MAC

8、地址轉發給VM14)VM1接收到ARP應答報文,ARP交互結束四:數據傳輸(1) ARP請求應答之後,VM1知道了VM2的Mac地址,並且要向VM2通信(注意,VM1是以TCP的方法向VM2發送數據的)。VTEP1 收到VM1發送數據包,用MAC地址從流表中檢查VM1與VM2是否屬於用一個VNI。兩個VM不但位於同一個VNI中(不在同一個VNI中出網關),並且VTEP1已經知道了VM2的所有地址信息(MAC和VTEP2_IP)。VTEP1封裝新的數據包。然後交給上聯交換機。(2) 上聯交換機收到伺服器發來的UDP包,對比目的IP地址和自己的路由表,然後將數據報轉發給相應的埠。(3) 目的VTE

9、P收到數據包后檢查器VNI,如果UDP報中VNI與VM2的VNI一致,則將數據包解封裝后交給VM2進一步處理。至此一個數據包傳輸完成。整個Vxlan相關的行為(可能穿越多個網關)對虛擬機來說是透明的,虛擬機不會感受傳輸的過程。雖然VM1與VM2之間啟動了TCP來傳輸數據,但數據包一路上實際是以UDP的形式被轉發,兩端的VTEP並不會檢查數據是否正確或者順序是否完整,所有的這些工作都是在VM1和VM2在接收到解封裝的TCP包后完成的。也就是說如果說如果被UDP封裝的是TCP連接,那麼UDP和TCP將做為兩個獨立的協議棧各自工作,相互之間沒有交互。五:Vxlan網關如果需要VXLAN網路和非VXL

10、AN網路連接,必須使用VXLAN網關才能把VXLAN網路和外部網路進行橋接和完成VXLAN ID和VLAN ID之間的映射和路由,和VLAN一樣,VXLAN網路之間的通信也需要三層設備的支持,即VXLAN路由的支持。同樣VXLAN網關可由硬體和軟體來實現。從封裝的結構上來看,VXLAN提供了將二層網路overlay在三層網路上的能力,VXLAN Header中的VNI有24個bit,數量遠遠大於4096,並且UDP的封裝可以穿越三層網路,比VLAN有更好的擴展性。六.部署(1) 純VXLAN部署場景對於連接到VXLAN內的虛擬機,由於虛擬機的VLAN信息不再作為轉發的依據,虛擬機的遷移也就不再

11、受三層網關的限制,可以實現跨越三層網關的遷移。(2) VXLAN與VLAN混合部署為了實現VLAN和VXLAN之間互通,VXLAN定義了VXLAN網關。VXLAN網關上同時存在兩種類型的埠:VXLAN埠和普通埠。當收到從VXLAN網路到普通網路的數據時,VXLAN網關去掉外層包頭,根據內層的原始幀頭轉發到普通埠上;當有數據從普通網路進入到VXLAN網路時,VXLAN網關負責打上外層包頭,並根據原始VLAN ID對應到一個VNI,同時去掉內層包頭的VLAN ID信息。相應的如果VXLAN網關發現一個VXLAN包的內層幀頭上還帶有原始的二層VLAN ID,會直接將這個包丟棄。之所以這樣,是VLAN ID是一個本地信息,僅僅在一個地方的二層網路上其作用,VXLAN是隧道機制,並不依賴VLAN ID進行轉發,也無法檢查VLAN ID正確與否。因此,VXLAN網關連接傳統網路的埠必須配置ACCESS口,不能啟用TRUNK口。原文鏈接:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号