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

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

三層以太網交換機CPU收發包相關問題分析

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

    作者:趙振寧  范力涵  陳曉

    摘要:三層以太網交換機發展迅速,一方面網絡設備的帶寬及交換容量大幅提升,另一方面設備所支持的協議種類也隨著用戶的需求不斷增加。如何在大業務量的網絡環境下確保各設備之間協議包的正常交互,是以太網交換機設計面臨的重要問題。文章以基于ASIC的三層以太網交換機為例,從CPU負載、軟硬件隊列配置、CPU和交換芯片的通信機制等方面入手,討論并分析在多進程環境中與CPU收發包功能相關的一些典型問題,得到解決辦法。解決方法對于網絡處理器(NP)同樣適用。

    要害詞:三層以太網交換機;CPU;中斷;輪詢;直接存儲器存?。魂犃姓{度

    Abstract:TheL3Ethernetswitch has developed rapidly. On one hand, it has greatly imPRoved bandwidth and exchange capability of network equipment. On the other hand, network equipment is required to support more protocol types with the increasing of user demands. For design of an Ethernet switch, it is important to ensure normal interaction of protocol packets between different devices under a network environment of massive traffic. Taking the L3 Ethernet switch that uses application Specific Integrated Circuits (ASIC) chip as an example, this article analyzes several typical issues about packet receiving and sending by CPU under a multi-progress environment, including CPU load, software and hardware queue settings, and communication mechanism between CPU and the switching chip. It then gives solutions to these issues, which may also work for the Network Processor (NP).

    KeyWords:L3Ethernetswitch; CPU; interrupt; polling; DMA; queue and schedule

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

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

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

    1 可能涉及到的問題

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

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

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

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

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

三層以太網交換機CPU收發包相關問題分析(圖一)


    圖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所示)。

三層以太網交換機CPU收發包相關問題分析(圖二)

    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資源,是保證數據交換設備安全、穩定運行的前提,也是目前及將來數據交換設備開發的重要課題。

    3 參考文獻

    [1]陳曉,范成法,過仕好. 數據交換網絡設備的CPU負載分析 [J]. 電信技術, 2004 (8):55-57.

    [2]ITEFRFC2697. A single rate three color marker [S]. 1999.

    [3]ITEFRFC2698. A two rate three color marker [S]. 1999

    [4]StevensWR. TCP/IP illustrated: Vol 1 [M]. Reading, MA,USA:Addison-Wesley,1994: Chapter3,6,11,13,17.

    作者簡介:

    趙振寧,重慶大學通信工程專業畢業。中興通訊股份有限公司南京研究所軟件工程師,從事ZXR10以太網交換機產品的研發。范力涵,中南大學控制理論與控制工程專業碩士畢業。中興通訊股份有限公司南京研究所軟件高級工程師,從事高端以太網交換機研發、設計和治理。先后參與國家“863”項目和國家自然科學基金項目多項,曾獲得湖南省科技進步一等獎和三等獎。陳曉,南京航空航天大學畢業。中興通訊股份有限公司南京研究所系統工程師,曾參與ZXB10ATM交換機研發,ZXR10 以太網交換機的研發、設計和治理,現負責城域以太網業務交換機的預研工作。(張翀編輯)

進入討論組討論。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
麻豆国产va免费精品高清在线| 视频在线观看一区二区| 亚洲欧美日韩精品久久奇米色影视| 国产精品久久久久久久久男| 国产精品福利网| 亚洲欧美国产一本综合首页| 国产精品久久久久7777婷婷| 播播国产欧美激情| 国产日韩中文在线| 97婷婷大伊香蕉精品视频| 亚洲视频精品在线| 亚洲美女中文字幕| 欧美成人一区二区三区电影| 国产不卡av在线免费观看| 久久久成人精品视频| 欧美日韩国产色视频| 久久精品人人做人人爽| 91精品视频在线播放| 久久色精品视频| 韩国国内大量揄拍精品视频| 91日本视频在线| 久久久久久噜噜噜久久久精品| 国产亚洲a∨片在线观看| 欧美黑人狂野猛交老妇| 精品久久久久久久久久久久| 亚洲黄色片网站| 欧美日韩午夜视频在线观看| 国产精品亚洲аv天堂网| 成人av在线网址| 中文字幕久热精品视频在线| 粗暴蹂躏中文一区二区三区| 久久999免费视频| 国产精品一区二区三区成人| 91国产精品91| 久久精品国产亚洲精品2020| 亚洲综合中文字幕在线观看| 国产精品久久久久国产a级| 欧美一级视频一区二区| 午夜精品免费视频| 国产日韩精品一区二区| 亚洲欧美日韩中文在线| 中文字幕在线精品| 亚洲免费一在线| 欧美视频中文字幕在线| 欧美一乱一性一交一视频| 黄色一区二区三区| 最近2019年手机中文字幕| 韩国v欧美v日本v亚洲| 欧美亚洲伦理www| 裸体女人亚洲精品一区| 91中文在线视频| 日韩精品丝袜在线| 国产精品国产三级国产专播精品人| 亚洲男人天堂久| 日本在线观看天堂男亚洲| 国产精品三级网站| 九九精品在线播放| 欧美激情在线狂野欧美精品| 国产精品久久久久久久久久新婚| 欧美丰满片xxx777| 色系列之999| 日韩美女在线观看一区| 91精品国产高清| 久久6免费高清热精品| 欧美激情中文字幕乱码免费| 久久精品久久久久久国产 免费| 午夜精品一区二区三区视频免费看| 国产一区二区激情| 久久999免费视频| 国产伦精品一区二区三区精品视频| 亚洲视频一区二区| 日韩欧美精品免费在线| 国产综合久久久久| 亚洲石原莉奈一区二区在线观看| 国模视频一区二区三区| 亚洲国产精品成人va在线观看| 亚洲精品小视频| 欧美视频在线免费看| 91chinesevideo永久地址| 日韩中文字幕在线播放| 成人免费xxxxx在线观看| 成人国产精品av| 日韩中文字幕在线视频| 日韩在线视频一区| 亚洲美女视频网| 97人人模人人爽人人喊中文字| 国产精品看片资源| 欧美人在线观看| 久久久久久国产精品美女| 国产成人啪精品视频免费网| 欧美性xxxxx极品| 日韩欧美在线观看| 国产精品永久免费视频| 亚洲福利视频二区| 伊人一区二区三区久久精品| 欧美精品免费在线观看| 精品福利在线观看| 神马久久桃色视频| 在线激情影院一区| 国产精品夫妻激情| 91精品久久久久久久久久另类| 欧美性生交xxxxx久久久| 国产精品免费一区豆花| 91嫩草在线视频| 亚洲欧美日韩一区二区三区在线| 欧美在线性爱视频| 欧美日韩精品在线播放| 亚洲精品美女久久久久| 亚洲精品动漫久久久久| 777国产偷窥盗摄精品视频| 国产大片精品免费永久看nba| 国产精品无码专区在线观看| 国产精品日韩在线观看| 91亚洲精品久久久久久久久久久久| 亚洲成av人乱码色午夜| 日韩网站免费观看高清| 日韩av一区在线观看| 国产一区二区三区在线免费观看| 久久这里只有精品99| 欧美成人黄色小视频| 亚洲成人激情小说| 国产热re99久久6国产精品| 色婷婷久久一区二区| 欧美午夜美女看片| x99av成人免费| 日韩男女性生活视频| 国产精品一二三在线| 色综合影院在线| 日韩av免费在线| 欧美日韩中文字幕在线| 国产乱肥老妇国产一区二| 777午夜精品福利在线观看| 国产欧美日韩精品专区| 成人一区二区电影| 亚洲一区二区国产| 精品视频—区二区三区免费| 91天堂在线视频| 亚洲欧美精品中文字幕在线| 欧洲成人免费aa| 91久久夜色精品国产网站| 日韩成人性视频| 亚洲精品福利免费在线观看| 91久久精品日日躁夜夜躁国产| 国产精品成人免费视频| 亚洲视频综合网| 一本色道久久88亚洲综合88| 久久香蕉频线观| 亚洲人精选亚洲人成在线| 色天天综合狠狠色| 日韩av在线免播放器| 国产欧美精品一区二区三区-老狼| 国产精品亚洲一区二区三区| 欧美性xxxxxxx| 亚洲精品色婷婷福利天堂| 精品亚洲精品福利线在观看| 国产精品成人品| 在线视频欧美性高潮| 欧美激情综合亚洲一二区| 色妞欧美日韩在线| 久久91亚洲精品中文字幕奶水| 91成人在线播放| 国产精品视频一区二区三区四| 欧美中文字幕视频| 欧美做受高潮1|