網絡虛擬化基礎協議之Geneve


網絡虛擬化最基礎的技術莫過於分層(Overlay、Underlay),要實現分層有兩種手段。一個是映射(Mapping),一個是封裝(Encapsulation)。




映射,主要思路是轉發時替換報文語義,怎樣替換將須要設備進行查詢。
封裝,則是把須要的報文語義加入到網包中。處理的時候一層層的解封裝就可以,盡量對設備透明。




不少協議都實現了封裝的部分或完整功能。包含IP-in-IP、Vlan、MPLS、VXLAN、NVGRE、STT等。這些協議各有各的特點,不少都是為了簡單地隔離或者通過隧道連通不同網絡。

特別是后面幾種。設計理念大同小異,僅僅是實現細節不同。




對通用的封裝協議標准的需求已經越來越強烈。於是有了Geneve: Generic Network Virtualization Encapsulation。


Geneve的出發點是解決封裝時候加入的metadata信息問題(究竟多少位。該怎么用),嘗試適應各種虛擬化場景,Underlay的協議是最通用的IP協議(准確的說是UDP)。


跟大部分的封裝協議類似。實現Geneve一般須要兩類設備:隧道終端(tunnel endpoints)和傳輸設備(transit devices)。

前者用來處理封裝頭終止隧道,后者則是非必需的。一般是支持IP轉發的設備。




詳細來看Geneve的封裝幀,從外到里依次是
外層以太頭
外層IP頭(V4或V6)
外層UDP頭
Geneve頭(變長)
內層以太頭
Payload
外層以太頭的FCS


當中UDP的目標port默認是IANA分配的6081。而且支持可配置。UDP的校驗和必須計算正確。也可配置為0。


Geneve支持單播、多播和廣播。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM