余照熠,林志華,陳智海
(中國電信股份有限公司上海分公司,上海,200085)
隨著企業(yè)數(shù)字化轉(zhuǎn)型逐步深入,云計算、網(wǎng)絡虛擬化等技術不斷涌現(xiàn),傳統(tǒng)IT架構(gòu)越來越難以滿足企業(yè)數(shù)字化轉(zhuǎn)型的需求,企業(yè)IT系統(tǒng)云化部署的數(shù)量在大幅增長,為確保重要系統(tǒng)的安全性,通常都會使用異地多云異構(gòu)部署的方案,而運營商MPLS-VPN、MSTP等傳統(tǒng)廣域網(wǎng)連接技術已難以滿足現(xiàn)今快速靈活組網(wǎng)的業(yè)務需求。同時,業(yè)務上云后,為保證云間遷移的業(yè)務連續(xù)性,必須維持遷移前后,業(yè)務IP地址、MAC地址等參數(shù)維持不變,所以在三層組網(wǎng)模式下,是難以實現(xiàn)在多個數(shù)據(jù)中心間進行業(yè)務遷移的。同時,數(shù)據(jù)中心對互聯(lián)網(wǎng)的接入質(zhì)量要求也越來越高,所以我們考慮使用SD-WAN結(jié)合VxLAN技術來實現(xiàn)云間靈活組網(wǎng),通過VxLAN作為overlay作為隧道構(gòu)建云間大二層網(wǎng)絡,實現(xiàn)用戶的云上業(yè)務跨機房動態(tài)遷移需求。
SD-WAN,Software Defined Wide Area Network[1],即軟件定義廣域網(wǎng),是將SDN技術應用到廣域網(wǎng)互聯(lián)場景中所形成的一種服務。SD-WAN采用的是一種overlay組網(wǎng)方式,具備跨越中間運營商underlay網(wǎng)絡的物理設備,實現(xiàn)業(yè)務在overlay層面的靈活部署,具備快速開通和調(diào)整及多種復雜組網(wǎng)需求,整合了overlay專線與underlay專線的能力,利用隧道技術構(gòu)建了一個虛擬的網(wǎng)絡,傳統(tǒng)網(wǎng)絡不需要再做任何適配,就能夠為客戶構(gòu)建各種不同拓撲結(jié)構(gòu)的虛擬專網(wǎng)。
Underlay、overlay都是網(wǎng)絡虛擬化的概念。underlay就是傳統(tǒng)的底層承載網(wǎng),可以是普通的internet,或是4G LTE網(wǎng)絡、MPLS VPN等承載網(wǎng)絡。overlay就是基于底層網(wǎng)絡互聯(lián)互通的基礎加上隧道技術去構(gòu)建一個虛擬的網(wǎng)絡,如傳統(tǒng)的承載在互聯(lián)網(wǎng)上的IPSec隧道。傳統(tǒng)網(wǎng)絡不需要再做任何適配,就能夠構(gòu)建各種拓撲結(jié)構(gòu)的用戶虛擬專網(wǎng)。
SD-WAN技術架構(gòu),包含了集中管控平臺,接入網(wǎng)元、云端網(wǎng)元三個部分:(1)SD-WAN管控平臺:SD-WAN管控平臺主要承擔SD-WAN網(wǎng)絡的管理和控制功能;(2)接入網(wǎng)元:接入網(wǎng)元一般部署在用戶側(cè),實現(xiàn)用戶網(wǎng)絡的接入。主要功能應包括:LAN組網(wǎng)接入功能,局域網(wǎng)DHCP server功能,WAN口連接,WAN口隧道功能;(3)云端網(wǎng)元:云端網(wǎng)元一般部署在云資源池內(nèi),實現(xiàn)SD-WAN用戶云資源的接入功能,或者承擔政企用戶組網(wǎng)型業(yè)務的接入?yún)R聚功能。三個部分都分別封裝,彼此通過控制面隧道來交互消息,是一種松耦合的關系。
圖1 SD-WAN技術架構(gòu)
SD-WAN可以使用多種隧道加密封裝形式,包括IPSec、SSL等,目的都是實現(xiàn)利用安全的隧道加密技術對數(shù)據(jù)包進行加密,保證在公網(wǎng)underlay網(wǎng)絡環(huán)境中的數(shù)據(jù)安全性,并實現(xiàn)隧道中不同租戶的完全隔離。
SD-WAN的優(yōu)勢包括:(1)采用服務租賃模式,無需購買設備;(2)價格遠低于傳統(tǒng)專線,網(wǎng)絡質(zhì)量與專線接近;(3)用戶可根據(jù)實際需求購買服務,靈活增減;(4)云服務DPI自動識別, 路由優(yōu)化, 鏈路/應用優(yōu)化,云上SD-WAN節(jié)點, 保障上云體驗;(5)使用高強度加密通道,實現(xiàn)端到端加密;(6)集中管理,無需專人維護,降低人力成本。
VxLAN(Virtual eXtensible Local Area Network)是一種大二層的虛擬網(wǎng)絡技術,是一種將原始以太網(wǎng)報文加上VxLAN頭部一起封裝在UDP數(shù)據(jù)包里的封裝格式。[3]其本質(zhì)是一種隧道技術,能在三層網(wǎng)絡的基礎上建立二層以太網(wǎng)網(wǎng)絡隧道,從而實現(xiàn)跨地域的二層互連,很好地解決了現(xiàn)有VLAN技術無法滿足海量租戶跨域大二層連接遷移需求的問題[2]。
RFC7348定 義 了VLAN擴 展 方 案VxLAN(Virtual eXtensible Local Area Network,虛擬擴展局域網(wǎng))。VxLAN采用MAC in UDP(User Datagram Protocol)封裝方式[2]。
VxLAN header(VxLAN頭封裝):
VxLAN Flags:標記位,8比特,取值為00001000。
VNI:VxLAN網(wǎng)絡標識,用于區(qū)分VxLAN段,由24比特組成,支持的數(shù)量多達16M,可類比于傳統(tǒng)二層網(wǎng)絡中的VLAN,但可支持1600萬個VNI,遠多于傳統(tǒng)VLAN的4094個,和VLAN一樣,同一個VNI是一個廣播域,只有在同一個VNI中,主機才能互相通信。
圖2 VxLAN的報文封裝格式[2]
對于云上業(yè)務,在進行業(yè)務拓展或者是數(shù)據(jù)備份時,經(jīng)常需要使用虛擬機動態(tài)遷移。在服務器虛擬化技術下,虛擬機動態(tài)遷移為了保證虛擬機動態(tài)遷移過程中的業(yè)務連續(xù)性,就需要保證虛擬機的IP地址不變,而且虛擬機的運行狀態(tài)也必須保持原狀,所以虛擬機動態(tài)遷移必須發(fā)生在一個二層域中。在傳統(tǒng)數(shù)據(jù)中心網(wǎng)絡中,同機房節(jié)點的虛擬機動態(tài)遷移比較容易實現(xiàn),跨機房節(jié)點如果需要進行虛擬機動態(tài)遷移,傳統(tǒng)的三層隧道,如GRE、IPSec隧道無法保證虛擬機在動態(tài)遷移過程中業(yè)務連續(xù)性的,VxLAN作為二層隧道技術,可以將多個分點連接在同一個二層網(wǎng)絡域中,從而實現(xiàn)跨分點虛擬機動態(tài)遷移。
如圖3所示,數(shù)據(jù)中心A和數(shù)據(jù)中心B通過建立VxLAN隧道,數(shù)據(jù)中心中主機的IP同在172.16.0.0/24這個網(wǎng)段中,此時就對于虛擬機遷移,只需將虛擬機完整地從數(shù)據(jù)中心A復制到數(shù)據(jù)中心B中即可?;ヂ?lián)網(wǎng)或其他數(shù)據(jù)中心需要訪問該虛擬機業(yè)務完全不需要調(diào)整。而在這個場景下,如果是三層隧道互聯(lián),數(shù)據(jù)中心A和數(shù)據(jù)中心B無法將業(yè)務承載在同一個網(wǎng)段中,虛擬機遷移必定更換IP地址,此時外界訪問該虛擬機就需要修改IP地址,會造成極大的業(yè)務上的不便。
圖3 跨機房二層虛擬機遷移
另一方面,在網(wǎng)絡拓展性方面,IPSEC如果要新增網(wǎng)絡分點需要實現(xiàn)所有分點的全互聯(lián),使用GRE隧道需要打n*(n-1)/2根隧道,而VxLAN隧道,在 VxLAN結(jié)合EVPN路由反射器的組網(wǎng)的方案中,路由器放射器為兩臺互為備份的場景下,則只需要2n根隧道就可以完成fullmesh組網(wǎng),隧道數(shù)量較IPSEC少了一個數(shù)量級。
EVPN(Ethernet Virtual Private Network)是一種用于二層網(wǎng)絡互聯(lián)的VPN技術。EVPN技術采用類似于BGP/MPLS IP VPN的機制,通過擴展BGP協(xié)議,使用擴展后的可達性信息,使不同站點的二層網(wǎng)絡間的MAC地址學習和發(fā)布過程從數(shù)據(jù)平面轉(zhuǎn)移到控制平面。我們使用VxLAN 格式對EVPN 數(shù)據(jù)平面報文進行封裝,即EVPN over VxLAN[4]。
如圖4所示,某企業(yè)有4個跨域節(jié)點,需要實現(xiàn)二層全互聯(lián)。所有SD-WAN終端可以使用IPSEC等加密隧道與SD-WAN控制器建立連接,實現(xiàn)SD-WAN終端的配置和管理。所有SD-WAN終端通過VxLAN隧道方式與路由反射器RR建立EVPN連接,并將同一租戶的SD-WAN終端分配在同一VNI中,此時在EVPN建立的控制平面下,就可實現(xiàn)不同SD-WAN終端間傳遞MAC地址和路由信息,從而控制不同Site上的數(shù)據(jù)報文跨區(qū)域進行傳輸,并可以實現(xiàn)云上業(yè)務的動態(tài)遷移。
圖4 使用EVPN組網(wǎng)拓撲
在需要同時承載多家企業(yè),需要隔離租戶的情況下,可以將同一企業(yè)的業(yè)務劃入同一VNI,不同企業(yè)的業(yè)務劃入不同VNI,以達到隔離租戶的作用。如圖5所示,企業(yè)1劃分至VNI1,企業(yè)2劃分至VNI2,此時企業(yè)1和企業(yè)2可以互相隔離。根據(jù)用戶需求,也可將同一企業(yè)的不同業(yè)務劃入不同VNI中。
圖5 多家企業(yè)使用EVPN接入SD-WAN拓撲
SD-WAN部署便利,維護簡易,成本低的優(yōu)勢,吸引了非常多的中小型企業(yè)部署。但在另一方面,中小企業(yè)辦公點,門店等,大多使用撥號上網(wǎng)寬帶,當出現(xiàn)斷線或IP地址租期到期后有可能會重新獲取不同IP地址的情況,現(xiàn)有的隧道技術對非固定IP的隧道建立,常常會非常困難。
借助SD-WAN管控分離的特點,以及EVPN over VxLAN與路由反射器RR建立連接即可與全網(wǎng)設備全互聯(lián)的特點,在分點上線時,先與SDWAN控制器建立連接注冊信息,包括上線的設備信息,以及分點當前的IP地址。然后與路由反射器RR建立EVPN的BGP連接,從而完成分點的業(yè)務上線。
在圖6場景中,分點1至分點3為已上線的SD-WAN的客戶終端,現(xiàn)需要進行分點4客戶終端的上線。步驟如下:
圖6 新增分點客戶終端入網(wǎng)拓撲
(1)SD-WAN終端在安裝時事先預設好license及設備名,該license及設備名事先在控制器上記錄。同時SD-WAN戶終端中預設有SDWAN控制器和路由反射器RR的IP地址(或域名)。
(2)SD-WAN終端上線時,先撥號通過運營商獲得IP地址,然后通過SD-WAN終端中預設的SD-WAN控制器的IP地址或域名,與控制器建立TCP連接。向控制器發(fā)送:①license;②設備名;③自身獲取的公網(wǎng)IP地址??刂破魇盏絊D-WAN終端發(fā)送的報文后,與記錄的設備名和license對照,如果一致,則完成注冊,并且登記本次上線的時間及IP地址。
(3)完成在控制器上的注冊后,控制器向SD-WAN終端發(fā)送確認注冊的消息,同時,向路由反射器RR發(fā)送新上線的SD-WAN終端的IP地址。
(4)SD-WAN終端收到確認注冊報文后,以撥號獲取的IP作為VTEP,與路由反射器RR發(fā)起建立EVPN的BGP連接。路由反射器RR收到SD-WAN終端建立連接的請求,與控制器發(fā)送的IP確認一致后,與SD-WAN終端建立連接。
(5)SD-WAN終端與路由反射器RR建立EVPN的BGP連接后,完成VxLAN隧道建立,完成本次上線。此時新上線的節(jié)點可以與已上線的節(jié)點進行通信。
圖7 新增分點客戶終端入網(wǎng)流程
SD-WAN結(jié)合VxLAN隧道技術的組網(wǎng)方案,相對于三層隧道技術方案,具有組網(wǎng)結(jié)構(gòu)簡單、Full-mesh組網(wǎng)建立隧道數(shù)量少,節(jié)省IP地址資源及可實現(xiàn)跨域二層互聯(lián)的優(yōu)點,特別在上云業(yè)務跨域虛擬機動態(tài)遷移場景中有較大的實用價值。同時,對于撥號上網(wǎng)無固定IP地址可能遇到的隧道建立困難問題,我們也設計了一種通過向有固定IP地址的總頭發(fā)起連接、通過控制器收集各分點的IP地址實現(xiàn)隧道建立的方案。對于VxLAN隧道在加密方面相對較弱的問題,在SD-WAN層面,可以將控制平面和業(yè)務平面的隧道連接采用不同的技術方案,對于更需要考慮安全性的控制平面使用IPSEC隧道方式,以更好地實現(xiàn)對控制報文的加密傳輸。