一、P4與SDN的關系
SDN是網絡的未來,P4是SDN的未來,基于openflow的傳統SDN專注于可編程的控制平面,數據平面仍然是由固定功能的ASIC組成,也就是說openflow的實現仍然需要配套的芯片支持,openflow是與目標硬件相關的。而P4專注于可編程的數據平面,可以自定義芯片對于數據包的處理方式,添加自己的新功能,新協議,或者對原有協議棧進行優化,更合理的分配片上資源。openflow利用匹配域可抽象整個TCP/IP協議棧的絕大部分功能,而P4可以完整描述openflow的功能。
二、可編程數據平面programmable data-plane(PDP)的主要特點:
1、快速開發和驗證新協議
為了支持網絡的快速演進,標準化組織不斷推出新的封裝和傳輸協議,GENEVE,NSH,VXLAN,GEP等等都是最近推出的,與此同時,數據中心也已經開始推出自己的協議用來隔離各個租戶,使其業務互相不受影響。每一種自定義的協議都有其獨特的優勢,基于在大型網絡中多年的運行經驗。
2、移除一些無用的協議,簡化和精簡網絡
網絡世界里有數百種協議,然而一個數據中心網絡中往往只需要三到四種,問題在于,不同的數據中心會使用不同的協議組合,因此固定功能的交換機會內置這些協議組合的超集,導致一些珍貴的交換機資源被用到了一些不需要的協議上。比如我們可以減少L2轉發表的大小然后重新分配內存空間到L3路由表。在tofino中,我們可以將L3 IP路由表從 300k增加到1.2M 支持更大的網絡和地址空間。移除不用的協議也意味著減少出錯的機會,網絡由于根本不用但是卻寫入到交換機ASIC中的協議錯誤而引起的中斷。由于并不使用這些協議,所以很難做出判斷來debug,使用P4 你只需要添加那些你需要的協議,專注于那些你所需要的表項,簡化交換機結構,減少出錯的機會。
3、INT實現整個網絡的完全可視化,可追溯每一個數據包的轉發過程
網絡監控是可編程網絡的一個典型應用,首先我們可以在幾個小時內添加更好的監控特性,而不是需要修改整個轉發邏輯而耗費好幾年時間,其次,沒有什么設備廠家比網絡運維人員更清楚到底需要監控哪些指標,使用PDP 運維人員可以快速地添加強大的監控,分析和診斷特性,利用INT,舉個例子運維人員可以詳細決定什么信息他想獲取,比如 數據包通過每一個交換機的精確延時,或者隊列中其他數據包, 以及軟件的版本,每個包所匹配的表項,因此每個數據包都可以成為一個探測包,不會產生任何新的流量,如此史無前例的可視化能力。基本實現已經可用的INT.p4,這個程序已經可以實現完全的自動化數據采集和修正,可作為self-driven網絡的一部分。
4、將middlebox的功能集成到PDP上
許多網絡運營商僅僅使用了middlebox中的很少部分功能,現在他們可以直接將需要的功能編程到交換機上, 淘汰掉大量昂貴的middlebox。已經有成功使用barefoot tofino交換機實現middlebox功能進行實際部署的案例,成本方面取得了顯著的降低,在大部分情況下,他們的性能比之前更強,因為他們運行在tofino上實現了全線速轉發,而不是傳統CPU,在一個場景中,L4負載均衡被集成到tofino交換機上,維持十萬臺服務器的數千萬個連接. DIP池可以調整大小,而無需中斷此時的連接,所有這些只需幾百行P4代碼,相似的方法可以集成其他middlebox比如防火墻,入侵檢測系統,地址端口轉換器,流量重復數據刪除等,我們正走在將middlebox合并到交換機中的革命之路上。
5、將部分分布式應用程序直接部署在網絡上
一個大型數據中心里運行著大量的分布式應用,并且也有數千臺交換機的規模,交換機是否具備加速分布式應用,卸載服務器load的能力呢?最近研究者們證明了如何使用paxos一致性協議可以添加到網絡中通過利用P4實現其中的一小部分,并添加到交換機中,如此一來可以對分布式應用可以加速幾個數量級,其余部分可以構建新的鍵-值管理服務直接部署到數據平面上,我們可以參與許多新型的快速的in-network應用和服務,來自由免費無縫集成到網絡中。
這僅僅只是一個開始,冰山一角,用戶可以使用這項技術完成更多的功能,我們的目標是將差異化的方法交到用戶手中,他們可以對他們最熟悉的網絡做出創新,PDP開啟了網絡用戶自主權的革命,使得研究者,開放網絡社區可以自己演進。
總而言之barefoot首次將性能和可編程能力完美結合在一起,P4-enabled Tofino以及SDK的組合是革命性的,真正的可編程交換機和業界最強的性能。當高性能和可編程能力的優勢逐漸普及開來后,我們相信一個經常被忽略的影響將會成為一個巨大的影響力,高性能和可編程能力改變了網絡的所有者對于整個網絡的洞察力,在過去,網絡的可視化是芯片公司或者系統設備公司的領域,他們可以以此提高價格獲取利潤。如今,網絡的運維人員可以在正在運行業務的網絡上添加自己的應用程序來優化其工作狀態,并且他們無需與系統或者芯片公司分享這些設計,這種由P4程序獲得的對于網絡的洞察力將成為其自己的知識產權,他們可以將這些IP移植到其他廠家的可編程交換機上,或者同廠家的不同產品上,甚至購買白盒設備,因此,網絡的靈活性和開放性得到了進一步的提升。
三、典型應用
1、帶內遙測in-band network telemetry (INT)
帶內測量是混合測量方法的一個例子,在過去幾年中獲得了很大的動力。帶內遙測[5]的思想是,路徑上的每個節點都在數據平面數據包的報頭中包含時間戳(和可能的其他信息),從而允許細粒度的測量和擁塞檢測。這些方法被稱為帶內網絡遙測(Int)[6]和現場oam(Ioam)[7],它們分別正在p4社區和ietf中討論。
傳統網絡監控技術比如SNMP 基于通過控制平面向底層網絡獲取信息的方式,要么約束性太強要么速度太慢,類似的,比如netflow, sflow,synthetic探針等,并不足夠精確來檢測由于短時事件或者microbursts 等導致的問題,這可能會造成服務和應用程序的嚴重事故,缺少可以追溯以及可以將相關事件產生聯系的metadata和歷史信息都幾乎不可能獲取,特別是在規模很大的網絡中,最后,Network Packet Broker (NPB)網絡數據包代理的預先支付的成本和TCO可能會相當高。
INT 使得數據平面具有端到端的搜集能力,實時地狀態信息。在端點上直接嵌入指令信息到數據包中列出網絡狀態的類型將被直接從網絡中被搜集起來,每個網元在流經的數據包中插入被請求的網絡狀態信息,一個P4程序可以被用來作為一種自然的方式來表示INT中數據包所需要被解析和修改的包頭類型。
搜集網絡數據的過程如今可以直接在實際流量中完成,給與了可以在虛擬或者物理的端到端網絡中實時地發現和搜集網絡狀態的能力,這樣打開了無限可能性來監控你的網絡,允許網絡運維團隊來快速捕獲和描述哪些由于性能瓶頸,網絡故障或者配置錯誤而出現的問題。
2、PLT(Path-Latency Tracking)路徑延時跟蹤
搜集每個包在每一跳的物理路徑和單跳延時,端點將有用的數據導入分析引擎,INT sink會在事件觸發后產生report發送到分析引擎,比如發現新的連接,以存在的鏈接路徑發生變化,端到端或者hop by hop延時發生明顯變化等,都會異常行為都會被快速發現并溯源。
PLT為什么有用?
1、實時的網絡異常檢測和產生告警信息;
2、快速檢查鏈路擁塞,診斷哪些應用導致了擁塞;
3、交換機端口擁塞,異常排隊延時的出現;
4、無用的交換機或者鏈路;
5、鏈路利用率不均衡(ECMP LAG);
6、網絡中出現環路;
7、交互式分析;
8、按需路徑可視(E2E 或者 src dst TOR對);
9、生成流量矩陣。
PLT的設計
如果每個包都向分析引擎發送report的話,將會導致產生大量冗余數據,采用智能的反冗余程序讓SINK選擇恰到時機發送report,report以鏡像包的形式發到分析引擎。
分析引擎設計
可擴展型分布式快速數據處理系統,用于實時處理PLT報告,產生告警信息并將報告轉存到數據庫,基于開源工具集,kafka,spark streaming,cassandra。模塊化設計使得用戶可以無縫替換組件,是一種低系統開銷的設計。
3、in-band DDoS帶內防御系統
Barefoot networks公司描述了一種典型的DDOS檢測和削弱的解決方案,這種方案有許多帶外的DDOS檢測應用來監控流量并將其引流到狀態防火墻,在這個方案中,DDOS檢測設備由于成本和規模問題不能監控所有的網絡流量,因此運營商必須設置一些靜態的流量鏡像規則在邊緣路由器上,來僅僅鏡像一部分流量,舉個例子,如果網絡運營商想要保護DNS服務,他們將會鏡像那些需要經過DNS的UDP流量到DDOS檢測設備。
因此,隨著分布性強且復雜的攻擊行為,基礎設施需要要么有能力擴大規模來檢測T比特/秒級別的流量和數百萬條連接,要么必須有能力交換更多的選擇性模式在其中低精確度的監控小規模流量,以便提高檢測速度而不引入額外的開銷到控制平面,tofino應用程序也可以估計和閾值在數據平面上進行直接比較。在這種情況下 當DDOS檢測開啟時數據平面會告知控制平面(data-plane push)。
帶內DDOS檢測的優勢
1. tofino的應用程序可以保證在面對任何類型的攻擊時保持高可擴展性和線速的性能,并且盡量減少片上資源的消耗;
2. 帶內DDOS檢測可以用tofino來實現并且保證高精度,和幾乎可忽略不計的誤判;
3 P4的可編程能力允許用戶靈活地并可定制化DDOS檢測方式和攻擊削弱行為;
4. 細粒度的統計允許用戶快速確定哪個應用和服務正在遭遇攻擊;
5 當與其他DDOS解決方案,比如 netflow 進行比較時,基于tofino的方案在檢測DDOS攻擊時具有多個數量級的速度優勢(幾十毫秒 vs 幾十秒)。
-
DDoS
+關注
關注
3文章
169瀏覽量
23038 -
數據中心
+關注
關注
16文章
4678瀏覽量
71950
發布評論請先 登錄
相關推薦
評論