孫 兵
(華為技術有限公司,江蘇 南京 210012)
企業網絡,終端由原來的有線連接接入、向WiFi無線連接演進,終端類型由PC機向便攜機、PAD和智能手機擴展,辦公地點由固定場所辦公到移動辦公和在家遠程辦公拓展,接入終端設備歸屬由公司資產到個人資產,企業網絡由辦公網向物聯網延伸。企業網絡終端接入連接無線化、移動化、物聯化,接入終端類型豐富、接入地點多樣,導致傳統基于IP地址ACL、VLAN的網絡策略控制方式不能適應新的網絡場景變化,因為終端的IP地址和VLAN會變化,傳統的網絡策略會隨之變化,這樣給企業IT運維人員的網絡策略管理帶來很大的復雜度。因此,迫切需要一種更加簡單高效、與網絡拓撲和IP /VLAN等網絡自身分配規劃無關的策略控制方案。
新一代網絡策略控制方案的目標是設計一種能夠滿足無論用戶身處何地、使用哪個IP地址,都可以保證該用戶獲得相同的網絡訪問權限的技術解決方案。用戶從認證設備接入時,會關聯映射一個安全組(又稱策略組),用以設置該用戶的安全策略;當該用戶從其他設備(非認證點)其他地點接入網絡,會執行相同的安全策略。該解決方案中的一項關鍵技術是,需要將用戶與安全組的關聯映射信息同步到其他設備上。同步方法有如下幾種:
(1)SDN方案的控制器Controller全局同步;
(2)通過專用協議在設備之間進行擴散同步(帶外方式);
(3)通過用戶流量報文將安全組信息攜帶到其他設備(帶內方式)。
上述方案前兩種需要額外增加同步機制和協議,第一種方案在Controller和網絡設備之間增加同步機制,第二種方案在網絡設備之間增加機制,方案復雜度相對高,且網絡規模大、設備數量多,同步機制本身的性能和網絡帶寬開銷會是問題。第三種方案不需要增加設備間額外的同步機制,僅僅在正常的用戶業務流量報文中增加安全組字段,沿途策略點設備進行解析識別和策略執行處理即可。該文設計的技術方案屬于上述第三種方案,由VxLAN報文頭攜帶安全組通過網絡擴散到不同的網元設備中。
文獻[1-8]主要介紹傳統網絡策略的關鍵技術,仍然基于IP五元組來定義網絡策略,并結合集中策略管理和QOS聯動形成增值業務。文獻[9]中IETF定義了VxLan協議報文頭部包含的策略組ID格式,可作為文中方案的詳細實現參考。文獻[10-15]重點論述了網絡策略集中管理的架構,包括SDN方案架構等,解決網絡策略跨設備同步的問題。
基于VxLAN的網絡分組策略方案場景如圖1所示。

圖1 基于VxLAN的網絡業務策略應用場景
(1)用戶認證通過網關設備認證上線,網關攜帶用戶ID向控制器請求認證結果,控制器分配用戶ID與安全組ID的映射關系,并下發至用戶認證網關設備。
(2)用戶在網關設備通過認證,用戶終端訪問報文經由網關設備時,在VxLAN頭部打上安全組ID標識Group Policy ID,然后轉發出去,訪問相應的用戶業務。
(3)沿途VxLAN網關設備會解析報文中VxLAN頭部攜帶的安全組Group Policy ID信息,根據安全組查詢訪問策略,實施安全組間的網絡訪問控制。
該方案可以在企業網絡中實現與IP地址、MAC地址、VLAN等網絡屬性無關的網絡訪問策略控制,替代的是使用安全組間的訪問策略來控制,例如企業普通員工組不能訪問人力資產組的信息資產,只有財務組員工才能訪問財務數據庫服務器,等等。
安全組策略方案中,能夠做到不關心用戶終端的IP地址/VLAN、接入位置、接入方式(有線/無線/VPN等),因此網絡規劃變化(IP網段或VLAN變化)或者接入位置接入方式發生變化(用戶出差、在家遠程辦公等),都不需要更改原先的安全組間策略配置,這相對傳統基于IP五元組的ACL控制方式有著極大的優勢。此外安全組方案模型中,用戶ID與安全組ID是多對一映射模型,例如財務組包含100個員工、HR組包括200個員工,因此經過匯聚后的組間策略數量規模會大大減少,降低企業IT人員的網絡訪問策略日常管理維護復雜度。
(1)方案架構。

圖2 基于VxLAN的網絡業務策略組網架構
圖2為典型Spine-Leaf架構VxLAN組網,可使用集中式或分布式網關。Spine節點的設備使用設備間集群技術增加可靠性。Leaf設備作為VxLAN二層網關,用于傳統網絡與VxLAN網絡的二層互通。Spine設備作為VxLAN三層網關,負責不同網段的VxLAN網絡之間的通信,以及不同網段的VxLAN網絡與非VxLAN網絡之間的通信。
VxLAN攜帶用戶訪問策略,通過VNI(VxLAN network identifier)攜帶安全組/策略組ID,接入交換機類似數據中心中的TOR(top of rack)設備,作為VxLAN網關的VTEP(VxLAN tunnel endpoint),且是VxLAN二層網關。匯聚/核心交換機作為VxLAN三層網關。
二層廣播抑制問題,對于ARP的廣播請求報文,通過SDN Controller代理應答的方式進行處理。流程如下:
(a)SDN Controller在用戶上線認證時緩存其{IP,MAC}映射關系,生成ARP緩存表。
(b)二層網關收到ARP請求報文,直接上送SDN Controller處理。
(c)SDN Controller向該接入設備下發對應的ARP表項,如果Controller上ARP表項則進行廣播處理。
(d)SDN Controller也可以選擇將ARP廣播報文修改為單播報文發給被請求設備,這樣可保證整個ARP請求/應答鏈路上的設備都能使用ARP報文實現其他功能。
(e)ARP報文上送和下發可使用SDN OpenFlow協議。
通過在相同VNI之間建立VxLAN隧道實現相同安全組內用戶互訪;不同VNI之間的互訪原本存在VxLAN三層網關上實現,可在三層網關引入安全組間策略,即利用源VNI和目的VNI之間的組間策略進行網絡隔離或放行策略控制。
(2)方案流程。
基于VxLAN的網絡分組策略方案流程如圖3所示。

圖3 基于VxLAN的網絡業務策略方案流程時序圖
(a)控制器根據管理員配置,生成安全組與VNI的映射關系,依據安全組間策略生成VNI之間的互訪策略,并將VNI互訪策略下發到策略執行點。
(b)控制器與認證點設備交互,完成對接入用戶的認證,依據認證結果將用戶劃分到對應的安全組。認證點建議使用接入交換機,這樣便于直接獲取用戶終端接入的物理端口。
(c)控制器根據用戶所屬安全組,向接入設備下發{Port,VNI}映射關系,接入設備依據該映射關系在對應端口上配置VNI,保證接入用戶的所有流量都走該VNI標識的VxLAN隧道。
(d)控制器完成所有設備的ARP代答,實現對ARP的廣播抑制??刂破魃系腁RP緩存表在用戶認證過程中獲取和下發。
(3)相同網段用戶的安全組互訪。
相同網段用戶的安全組互訪策略如圖4所示。

圖4 相同網段用戶的安全組互訪策略
(a)VxLAN網絡中,不同VNI的流量二層不互通,所以在接入設備就保證了不同安全組用戶之間的隔離。
(b)Site A中兩個相同網段的用戶A1和A3,屬于同一安全組,使用相同的VNI,在NVE1設備上實現互通。
(c)Site B中B2和Site E中E2也是同一安全組中相同網段的用戶,B2和E2使用相同的VNI,VTEP2和VTEP6之間建立VxLAN隧道實現互通,網關只為該隧道提供三層轉發通道。
(d)Site C中兩個不同安全組的用戶,使用不同的VNI接入NVE3,即使用同一網段也無法互通。
(4)不同網段用戶的安全組互訪。
不同網段用戶的安全組互訪策略如圖5所示。

圖5 不同網段用戶的安全組互訪策略
(a)VxLAN網絡中,不同VNI的流量經過三層網關互通,VxLAN網絡與非VxLAN網絡也是通過三層網關互通。三層網關上VxLAN報文處理流程:先剝離外層VxLAN封裝,依據原始報文走三層流量轉發,重新進行VxLAN封裝發出。
(b)在三層網關上執行安全組間策略,控制器提前向三層網關設備下發VNI之間的訪問策略,VxLAN報文在處理流程中,需判斷源VNI與目的VNI的訪問策略,如允許訪問則正常轉發,否則丟棄報文。源VNI在報文頭部中已攜帶,目的VNI通過報文內層頭部目的IP查找獲得。
(c)Site A中兩個相同網段的用戶A1和A3,屬于同一安全組,使用相同的VNI,在網關上實現互通。
(d)Site B中B2和Site E中E2分屬不同安全組,網段也不同,通過三層網關轉發實現不同VNI之間互通,VNI之間的策略需預設為允許互通。
(e)Site C中兩個不同安全組的用戶,分屬不同安全組,在三層網關轉發時依據VNI之間策略,不允許互通。
(5)用戶移動接入與QOS策略。
當用戶接入位置發生變化時,需要重新上線認證,原端口與VNI的綁定關系刪除,Controller為新接入端口下發{Port,VNI}映射關系,新端口綁定VNI。策略執行點設備不感知用戶接入位置的變化。用戶所屬安全組不變,其VNI不變,該用戶的權限也沒有發生變化。Controller通過QOS策略保證VIP安全組的優先級,為VIP安全組對應的VNI下發QOS策略。VIP用戶在接入Leaf節點時,根據VNI的QOS策略,修改內外層IP頭部的DSCP,保證VIP用戶在整網中優先級。
三層網關除了執行不同VNI之間的組間策略,也可以執行不同VNI之間的訪問速率控制策略。例如限制Guest-VNI用戶訪問Internet-VNI的速率。
以某大型企業為例(50+分支機構,15萬員工接入,6000+物理服務器、每服務器運行20個虛擬機)來評估方案應用效果。
該企業原始用戶和業務訪問策略需求如下:
(1)企業終端類型分為PC、IP Phone、TC云終端、打印機、物聯終端;用戶類型分為研發、市場、財務、人力資源、訪客;
(2)用戶/終端認證前策略:只能訪問指定的認證服務器、客戶端軟件下載服務器,不允許用戶/終端間互訪;
(3)PC策略:允許基于角色(研發、市場、財務、人力資源)的服務器業務資源訪問,同一角色內用戶間可以互訪,跨角色訪問受控(默認禁止跨角色訪問);
(4)TC云終端策略:允許TC間互訪(TC的IP語音業務)、TC只能訪問服務器桌面云VM資源、TC不能訪問其他業務服務器VM資源;
(5)IP Phone策略:允許IP Phone間互訪(IP語音業務)、IP Phone不允許訪問除了語音業務之外的服務器VM業務資源;
(6)打印機策略:不允許互訪、只能訪問ePrint打印服務器;
(7)訪客用戶策略:只允許訪問Internet,不能訪問服務器所有企業業務資源,禁止訪客間終端互訪。
該企業的上述策略需求,長期以來通過基于IP網段/IP地址的ACL技術方案來實施控制,因為涉及到50+分支機構,每個機構又有多個辦公樓、多個用戶網關,每個機構又有多種類型終端和用戶接入,IP網段之間的互訪策略關系非常復雜,經與企業IT運維人員現場調研核實,實際有4萬多條ACL網絡訪問策略數量。分支機構隨著辦公樓宇基建擴展、人員擴充,網絡規劃調整和網絡IP網段變更時有發生,按照當前基于ACL的網絡策略模型及方案,會要求IT運維人員能夠在4萬多條已有的ACL策略中進行精準變更,這個ACL策略變更難度和復雜度都非常高,對日常網絡運維是個巨大挑戰。IT運維人員坦言,實際操作中已有的ACL策略根本不敢改變,害怕對已有業務產生影響,往往是網絡變化時會新增ACL策略,這樣長期累積下來就會導致大量實際無用的僵尸ACL策略存在,無人敢問津,不僅僅網絡策略管理維護難,也存在網絡安全隱患(僵尸ACL策略被惡意利用)。
通過與該企業IT運維工程師交流,評估應用文中所述分組策略方案,將企業IT的終端分為PC/TC/IP hone/打印機/訪客Guest幾個組,PC上用戶進一步按照研發、市場、財務、人力資源分成四個組,服務器側VM同時匹配終端和用戶類型進行相應分組。經過細化分析設計、考慮后續業務擴展,給該企業總共設計16個安全策略組,定義組間互訪策略(Permit/Deny),并預留后續可能部署的組間訪問速率限制,策略總數目會降低在512個以內。因為是按照終端/用戶/業務類型分組來定義網絡訪問策略,與IP網段/IP地址無關,因此無論企業分支機構和總部的物理網絡/IP網段如何變化,都不需要變更512條以內的既定組間訪問策略。該方案的實際應用價值獲得該企業IT運維工程師的高度認可。
典型園區組網普遍采用三層網絡架構,有線無線業務共存,存在總部與分支互訪、遠程VPN用戶接入等場景。無線接入的AP與接入交換機的互連,SSL VPN設備與出口路由器的互連,都可歸屬同一模式:單端口上多用戶多業務流量混合承載。
VxLAN組網中,報文進入VxLAN隧道的方式使用二層子接口,進一步通過VLAN關聯。Spine-Leaf架構VxLAN原本針對數據中心網絡場景設計,網絡為VM提供服務,Leaf節點下面一般直接連接VM或者Open switch,這些設備可以通過Port或VLAN來區分,因此使用三種二層子接口方式接入VLAN即可滿足數據中心網絡場景。
園區網絡單端口上多用戶流量混合,如用VLAN識別不同用戶,則可以正常接入VxLAN,但需要接入設備具備基于VLAN區分用戶的能力,在用戶認證過程中與Controller交互,為不同安全組用戶下發不同功能VLAN。另外一種更有效的方法是直接根據用戶ID來映射VNI,即認證過程中Controller維護{用戶ID,VNI}的映射關系。
以IP網絡接入的終端數量類型和承載的業務等發生變化,傳統ACL網絡策略模型和方案面臨的重大挑戰作為問題輸入,研究分析給出網絡分組策略方案。用戶和策略分組(安全組)映射關系的網絡級傳播同步機制是方案的關鍵,系統分析策略分組傳播的幾種備選方案,給出性能和通過效率高的帶內同步方案(基于VxLAN的帶內同步安全組),詳細分析方案架構、安全組映射和同步流程,結合VxLAN實際部署給出技術參考方案分析和設計。