編程語言正式進入大眾視野
發(fā)表時間:2020-10-25 11:33:11 人氣:2384
2014年,P4作為一種全新的專用編程語言正式進入大眾視野,并且在網(wǎng)絡(luò)界引起了極大地反響和關(guān)注。6個年頭過去,隨著P4的發(fā)展成熟,行業(yè)生態(tài)也逐步走向繁榮。業(yè)界首款完全P4可編程芯片Tofino于2016年推出,其后的Tofino 2于2018年推出。本篇將介紹基于可編程交換芯片的硬件負(fù)載均衡應(yīng)用場景。Tofino系列以太網(wǎng)交換機ASIC是P4可編程ASIC,其靈活的P4可編程性使網(wǎng)絡(luò)建設(shè)者能夠在其網(wǎng)絡(luò)中進行更好的交換和路由,包括高效的負(fù)載平衡。傳統(tǒng)的硬件交換價廣泛使用基于可配置的header 信息或流信息做靜態(tài)哈希來實現(xiàn)硬件的負(fù)載均衡,主要的應(yīng)用就是基于二層轉(zhuǎn)發(fā)的LAG 和基于三層轉(zhuǎn)發(fā)的等價路由ECMP。但是,在實際應(yīng)用中,基于流信息的HASH來實現(xiàn)的負(fù)載均衡有明顯的缺陷。在現(xiàn)實世界中,流量是動態(tài)的,有些流的速率低,而有些流的速率卻非常高。流的速率也可能是隨著時間的變化而變化。靜態(tài)哈希負(fù)載均衡無法感知動態(tài)流的變化信息,因此在實際應(yīng)用中對物理帶寬的使用效能可能不佳。也許有些用戶可能通過配置不同的哈希算法,添加靜態(tài)因子,選擇不同的流信息等方式嘗試匹配實際流量模型。但是靜態(tài)哈希負(fù)載均衡始終無法在現(xiàn)實世界中實現(xiàn)動態(tài)流量的真正均衡。Tofino可以為我們帶來哪些高效的動態(tài)負(fù)載平衡?
首先,Tofino可以支持所有當(dāng)前現(xiàn)有的固定哈希算法硬件負(fù)載平衡。支持豐富的標(biāo)準(zhǔn)哈希函數(shù),例如CRC,XOR和相同的字段哈?;螂S機哈希。 Figure 1, ECMP path selection基于基本的哈希多項式,Tofino可以支持客戶自定義的哈希多項式。用戶可以增加靜態(tài)ECMP / LAG成員的權(quán)重,也可以在ECMP / LAG成員之間進行輪循。如果接收端可以容忍流的重新排序,則用戶還可以P4 編程Tofino將數(shù)據(jù)包逐個分發(fā)到ECMP / LAG成員,以實現(xiàn)非常公平的硬件負(fù)載平衡。Tofino還可以支持彈性哈希,以確保當(dāng)ECMP / LAG的一個端口出現(xiàn)故障時,現(xiàn)有流保持其當(dāng)前未受影響的路徑,并且僅為新建流以哈希算法在無故障出口中選擇均衡路徑。Tofino還能提供更漂亮的想法。用戶可以通過對Tofino進行P4編程,以針對實際的動態(tài)流量場景進行各種動態(tài)負(fù)載平衡。什么是Flowlet?Flowlet實際上就是micro-flow。一條流可以分成很多個flowlet,擁有相同的五元組。傳統(tǒng)上每個流的ECMP選擇路徑,通常通過5元組或報文頭的某種組合來檢測流。在現(xiàn)實應(yīng)用中,流量并非完全相同或相似。有些是老鼠流,有些是大象流。流的流量經(jīng)常會隨時間變化。有時,流量速率非常低,或閑置,有時流量速率很高。基于流的ECMP不能真正在任何時間之間實現(xiàn)流之間的平衡。好消息是TCP流量通常都是burst。在一個流中,有許多突發(fā),并且在突發(fā)之間有相對較長的空閑時間,我們可以假設(shè)空閑時間大于等于α。每個突發(fā)都是一個小流。相同流的小流可以通過不同的ECMP路徑,這不會引起任何重新排序問題。由于所有流量都被分成細(xì)小流量,因此在老鼠流或大象流之間也可以實現(xiàn)平衡。通過P4編程Tofino可以很容易地實現(xiàn)流量開關(guān)flowlet 識別和均衡轉(zhuǎn)發(fā)。通過對Tofino進行P4編程,以檢測每個流和數(shù)據(jù)包延遲。這段只需幾十行的P4代碼,即可在數(shù)據(jù)平面中自動完成操作,而不會干擾控制平面。用戶可以定義最小的空閑時間α,然后通過計算每個流的空閑時間來識別出Flowlet,并為每個Flowlet分配一個Flowlet ID。之后,只需基于<5-tuple,flow_id>運行ECMP選路。通過用戶特有流量模型選路,或通過流狀態(tài)選路
相關(guān)咨詢
工廠展示
聯(lián)系我們
成都子程新輝電子設(shè)備有限公司
聯(lián)系人:文先生
手機:13183865499
QQ:1977780637
地址:成都市金牛區(qū)星輝西路2號附1號(臺誼民生大廈)407號