亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 網絡通信 > 正文

三層交換機處理器收發包相關問題分析

2019-11-05 02:11:46
字體:
來源:轉載
供稿:網友

在當前的三層以太網交換設備中,報文的二層交換和三層路由主要由交換芯片和網絡處理器完成,CPU基本上不參與交換和路由過程,主要完成治理和控制交換芯片的功能[1]。

在這種情況下,CPU的負載主要來自以下幾個方面:協議的定時驅動、用戶的配置驅動、外部事件的驅動。其中,外部事件的驅動最為隨機,無法預料。典型的外部事件包括端口的連接/斷開(Up/Down),媒體訪問控制(MAC)地址消息的上報(包括學習、老化、遷移等),CPU通過直接存儲器存取(DMA)收到包,CPU通過DMA發包等。

在以上所列的外部事件中,又以CPU通過DMA收到包之后的處理最為復雜。因為數據包由低層上送到上層軟件時,各協議的處理動作千差萬別,可能會涉及到發包、端口操作、批量的表操作等。所以,只有處理好CPU的收發包的相關問題,才能使相關的上層協議正常交互,從而使交換機穩定、高效地運行。

1 可能涉及到的問題

以下就CPU收發包可能涉及的各個方面分別說明。

下面的分析都基于典型的CPU收發包機制:CPU端口分隊列,通過DMA接收,采用環形隊列等。

1.1CPU的負載與收包節奏控制

根據交換機處理數據包的能力,決定單位時間上送到CPU的包的個數;決定了單位時間上送多少個包給CPU后,再考慮上送數據包的節奏。

假設通過評估,確定了單位時間上送CPU數據包的上限,例如每秒x個數據包。

三層交換機處理器收發包相關問題分析(圖一)

圖1給出了兩種典型的處理手段:勻速上報CPU、突發(Burst)方式上報CPU,下面分別分析一下這兩種方式的優劣:

(1)勻速上報CPU

數據包勻速上報CPU時,對CPU隊列的沖擊較小,而且對CPU隊列的緩沖能力要求不高,CPU隊列不必做得很大。

(2)突發(Burst)方式上報CPU

交換芯片(采用ASIC)一側的硬件接收隊列和DMA內存空間中的環形隊列,一起賦予了交換機一定的緩沖能力(針對上送CPU的數據包)。利用這個緩沖能力,我們可以把控制周期適當放長,并設定控制的粒度(單位控制周期內CPU收報個數的上限),采用類似于電路中負反饋的機制動態地使能和關閉CPU收包功能。這樣就在宏觀上實現了對數據包上送CPU速率的控制。另外,假如交換芯片(采用ASIC)支持基于令牌桶算法的CPU端口出方向流量監管或整形功能[2-3],且監管或整形的最小閾值可以滿足CPU限速的需要,則可以利用這個功能控制數據包上送CPU的節奏,減小CPU的負載。這樣軟件的處理就簡化了很多。

1.2CPU端口隊列的長度規劃

假如僅考慮交換機CPU端口的緩沖能力,CPU端口隊列當然是越長越好,但是必須兼顧對其他功能以及性能的影響。針對不同的ASIC芯片,需要具體問題具體分析。

1.3零拷貝

零拷貝是指在整個數據包的處理過程中,使用指針做參數,不進行整個數據包的拷貝。這樣可以大大提高CPU的處理效率。

使用零拷貝后,會一定程度上降低軟件處理的靈活性,我們會面臨到這樣的問題:假如協議棧需要更改一個數據包的內容,會直接在接收緩存(buffer)上修改,但是假如需要在數據包中刪除或添加字段(例如添加或刪除一層標簽(tag)),即數據包的長度需要變化時,應該如何處理。

添加或刪除字段,必然會導致數據包頭一側或包尾一側的位置發生移動,假如包尾一側移動,問題比較簡單,只要數據包總長度不超過buffer邊界即可。由于通常此類操作都靠近包頭的位置,假如包頭一側移動,效率會比較高,所以協議棧在處理時可能更傾向于在包頭一側移動,這時就需要驅動在分配buffer時做一些處理:

(1)接收數據包時,頭指針不能指向buffer邊界,需要向后偏移一定裕量,同時單個buffer的大小也必須兼顧到最大傳送單元(MTU)和該裕量。

(2)釋放數據包時buffer首指針需要作歸一化處理(如圖2所示)。

三層交換機處理器收發包相關問題分析(圖二)

1.4中斷/輪詢

目前交換機涉及到的外部中斷主要由交換芯片產生,交換芯片主要的外部中斷包括DMA操作(如收到包、發包結束、新地址消息等等)和一些出錯消息。假如中斷請求過于頻繁,中斷服務程序(ISR)和其他進程之間頻繁地上下文切換會消耗大量CPU時間。假如有持續大量的中斷請求,CPU會始終處于繁忙狀態,各種協議得不到足夠的調度時間,從而導致協議狀態機超時等嚴重故障。

為了避免事件觸發頻率不可控的問題,可以使用輪詢機制,通常的做法是用CPU定時器觸發原先由外部中斷觸發的ISR,由于定時器觸發的間隔是固定的,所以ISR執行的頻率得到了控制,避免了上述的問題。


輪詢和外部中斷相比,只是節奏可控(外部中斷的節奏取決于外部事件發生的頻率,CPU不可控)。但是,輪詢也有其不可避免的缺點——響應慢。不能滿足某些實時性要求較高的功能。另外,人們會發現用ping命令檢測交換機3層接口大包時,使用輪詢方式的交換機比使用中斷方式的交換機的時延明顯要大。

假如能通過某種機制,避免持續、大量的中斷請求,則既可以保證CPU不會過于繁忙,又保留了中斷實時處理的優點。

典型的會產生大量中斷事件的行為是CPU接收數據包和MAC地址消息上報。以收包為例,在前面“CPU負載與收包節奏控制”部分提到的Burst方式就是根據實時的流量,控制接收DMA的開關,這樣就達到了使中斷源受控的目的,這種類似負反饋的機制可以很好的避免持續的中斷事件上報CPU。

總之,輪詢控制簡單,但實時性較差;中斷實時性好,但是使所有的中斷源受控有一定難度。在系統初始設計階段,我們需要綜合考慮需求以及芯片對外部事件的處理方式,來決定采用中斷或者輪詢方式,或者兩者兼用。

1.5多進程環境中外部事件的處理機制

常見的外部事件(中斷事件)包括收到包、包發送完(這里指的都是CPU收發包),包括收到MAC地址消息、MAC表操作完成等。

假如把各類中斷事件的處理放在一個進程里,就人為地造成了各個事件耦合性增強,增加了各種事件相互制約的機會。

在多任務操作系統中,為了能更靈活地處理各個事件,減少事件之間的子相互制約關系,各種事件應當盡可能地單獨起進程,或者根據處理方式的不同劃分為幾個進程,至少用單個進程來處理是不合適的。

1.6協議包保護和CPU保護

對于基于ASIC的交換機,協議包保護是指利用ASIC芯片的某些機制,把特定的協議包指定到特定的端口隊列上去,保證其經DMA隊列上送CPU的優先級;CPU保護是指盡量減少不必要的數據包對CPU的沖擊。

實現協議包保護的必要條件:

(1)CPU端口必需支持嚴格優先級(SP)或者帶權重的羅賓環(WRR)的調度算法。

(2)交換芯片必需具有較強的流分類能力,且可以給不同的流指定不同的端口隊列。

在系統方案設計時我們需要兼顧對協議報文的保護和對CPU的保護,應該盡量做到:

(1)保證CPU收包通道和發包通道的暢通。

(2)精確匹配,按需選取。充分利用ASIC芯片的訪問控制列表(ACL)功能,盡量精確地匹配各類協議報文。必要時需要匹配到4層字段[4]。

實現以上幾點時,應兼顧其他功能及整機性能的限制。

1.7效率降低的避免

在多任務操作系統中,各種事件需要用盡量短的時間片處理完成,以保證其他任務有足夠的機會得到調度。所以我們在調用任何函數時都要考慮其執行效率。除了算法本身會影響執行效率之外,頻繁地訪問某些硬件也相當耗時,而這一點往往輕易被忽略。

2 結束語

隨著以太網相關技術的發展,交換芯片和網絡處理器的處理能力不斷被提升;相比之下,數據交換設備中CPU處理性能的提升程度遠遠不及交換芯片和網絡處理器;同時數據交換設備支持的業務種類也在不斷增加,對CPU承載的業務量也有了更高的要求。在這種情況下,交換設備容量以及支持業務種類的大幅提升和有限的CPU資源之間的矛盾會日益凸顯。因此,做好CPU和交換芯片以及網絡處理器接口的緩沖治理、隊列調度以及流量監管,合理利用CPU資源,是保證數據交換設備安全、穩定運行的前提,也是目前及將來數據交換設備開發的重要課題。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久av久久久| 91视频九色网站| 亚洲天堂第一页| 日韩视频免费大全中文字幕| 国产精品视频网址| 亚洲人成网站免费播放| 国产成人精品日本亚洲专区61| 欧美孕妇与黑人孕交| 欧美日韩国产色视频| 国产在线视频欧美| 久久亚洲精品视频| 在线成人一区二区| 中文字幕日韩有码| 欧美激情视频给我| 国产区精品视频| 26uuu日韩精品一区二区| 青青青国产精品一区二区| 国产91精品视频在线观看| 国产视频精品一区二区三区| 亚洲www视频| 日韩精品中文在线观看| 欧美日韩亚洲系列| 亚洲美女又黄又爽在线观看| 亚洲人在线视频| 欧美激情二区三区| 91在线免费看网站| 亚洲美女在线看| www高清在线视频日韩欧美| 欧美巨乳美女视频| 精品国产一区二区三区久久久| 日韩欧美在线国产| 97久久久免费福利网址| 欧美另类99xxxxx| 久久影院模特热| 欧美极品美女电影一区| 在线播放亚洲激情| 97avcom| 亚洲片在线资源| 国产精品久久综合av爱欲tv| 69视频在线免费观看| 精品av在线播放| 欧美超级乱淫片喷水| 欧美大片免费观看| 最近2019中文免费高清视频观看www99| 91精品国产综合久久久久久久久| 青青草国产精品一区二区| 久久久久久亚洲精品不卡| 国产精品免费观看在线| 亚洲第一男人av| 精品久久久久久| 亚洲一区二区三区久久| 国产精品亚洲第一区| 日韩精品视频在线观看免费| 亚洲亚裔videos黑人hd| 永久免费看mv网站入口亚洲| 亚洲www永久成人夜色| 欧美日韩999| 国产精品2018| 久久偷看各类女兵18女厕嘘嘘| 91精品综合久久久久久五月天| 日韩一二三在线视频播| 久久亚洲国产精品成人av秋霞| 久久免费精品日本久久中文字幕| 欧美激情一级二级| 久久五月情影视| 亚洲一级片在线看| 色黄久久久久久| www欧美日韩| 国产成人精品视频在线观看| 欧美激情一级二级| 久久久久日韩精品久久久男男| 亚洲成人精品视频在线观看| 国产亚洲欧美日韩美女| 欧美亚洲国产视频| 日韩欧美一区二区三区久久| 午夜精品蜜臀一区二区三区免费| 久久久久久久久国产| 国内免费久久久久久久久久久| 国产极品精品在线观看| 992tv成人免费影院| 亚洲人成伊人成综合网久久久| 久久久久久久久久久久久久久久久久av| 一区二区亚洲欧洲国产日韩| 欧美性猛交99久久久久99按摩| 在线看日韩欧美| 久久深夜福利免费观看| 国产精品一区二区三| 午夜精品一区二区三区在线| 亚洲老头老太hd| 另类图片亚洲另类| 欧美网站在线观看| 性欧美xxxx交| 国产精品一区二区三区久久久| 国产精品欧美日韩久久| 亚洲qvod图片区电影| 日韩美女免费视频| 国产成人精品一区二区| 久久久久国产精品免费网站| 国产精品免费看久久久香蕉| 欧美精品久久久久久久免费观看| 亚洲国内精品视频| 精品magnet| 国产精品精品久久久| 91免费欧美精品| 久久久综合免费视频| 国产成人一区三区| 国产精品久久在线观看| 成人av.网址在线网站| 国产999精品久久久影片官网| 欧美激情二区三区| 色多多国产成人永久免费网站| 欧美裸体男粗大视频在线观看| 亚洲成人av片| 国产精品丝袜一区二区三区| 欧美日韩在线观看视频小说| 欧美激情精品在线| 亚洲综合精品一区二区| 亚洲美女视频网站| 国产精品久久久久久久久久免费| 欧美色播在线播放| 日韩欧美精品在线观看| 国产国语videosex另类| 92国产精品久久久久首页| 欧美激情一区二区三区久久久| 精品视频在线导航| 国产亚洲激情在线| 九九热这里只有精品免费看| 日韩av综合中文字幕| 国产精品成人免费电影| 91精品国产91久久久久久| 国产一区视频在线播放| 欧美亚洲成人网| 亚洲性视频网址| 伊人久久久久久久久久| 成人精品网站在线观看| 91在线无精精品一区二区| 国产精品人人做人人爽| 久久久999精品视频| 91精品久久久久久久久久| 欧美噜噜久久久xxx| 欧美精品一区在线播放| 亚洲色图18p| 久久综合88中文色鬼| 97人洗澡人人免费公开视频碰碰碰| 91九色国产社区在线观看| 国产九九精品视频| 91亚洲国产成人精品性色| 欧美亚洲另类制服自拍| 成人在线免费观看视视频| 欧美性猛交xxxx富婆弯腰| 久热精品视频在线| 欧美日韩精品在线观看| 亚洲精品久久久久中文字幕欢迎你| 欧美日韩国产页| 国产拍精品一二三| 91国产精品91| 久久精品一本久久99精品| 亚洲精品色婷婷福利天堂| 欧美日韩国产一区二区三区| 亚洲亚裔videos黑人hd| 欧美韩日一区二区| 亚洲天堂免费视频| 欧美极品少妇xxxxx| 大胆人体色综合|