




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于多核處理器系統(tǒng)的局域網(wǎng)基于多核處理器系統(tǒng)的局域網(wǎng)流量監(jiān)控平臺流量監(jiān)控平臺1110349068羅芥羅芥主要內(nèi)容主要內(nèi)容背景背景多核處理器轉(zhuǎn)發(fā)性能的提高多核處理器轉(zhuǎn)發(fā)性能的提高局域網(wǎng)流量統(tǒng)計局域網(wǎng)流量統(tǒng)計網(wǎng)頁監(jiān)控平臺的建立網(wǎng)頁監(jiān)控平臺的建立局域網(wǎng)流量分析及吞吐量測試局域網(wǎng)流量分析及吞吐量測試總結(jié)總結(jié)Introduction隨著網(wǎng)絡(luò)流量與應(yīng)用的日益增大與復(fù)雜,網(wǎng)絡(luò)流量監(jiān)控隨著網(wǎng)絡(luò)流量與應(yīng)用的日益增大與復(fù)雜,網(wǎng)絡(luò)流量監(jiān)控變得越發(fā)的困難與重要。傳統(tǒng)的方式通過監(jiān)聽端口號對變得越發(fā)的困難與重要。傳統(tǒng)的方式通過監(jiān)聽端口號對應(yīng)用進行分類,伴隨著許多使用動態(tài)端口和偽裝在周知應(yīng)用進行分類,伴隨著許多使用動態(tài)端口
2、和偽裝在周知端口下的應(yīng)用的出現(xiàn),網(wǎng)絡(luò)流量識別的比例大大降低。端口下的應(yīng)用的出現(xiàn),網(wǎng)絡(luò)流量識別的比例大大降低。而基于應(yīng)用層凈荷特征字段的分析與分類能夠監(jiān)聽端口而基于應(yīng)用層凈荷特征字段的分析與分類能夠監(jiān)聽端口的缺陷,更好地管理網(wǎng)絡(luò)流量。的缺陷,更好地管理網(wǎng)絡(luò)流量?;诨贚inux操作系統(tǒng)的防火墻體系操作系統(tǒng)的防火墻體系netfilter/iptables及其及其擴展模塊擴展模塊L7-filter,對局域網(wǎng)中流量進行應(yīng)用層的分類,對局域網(wǎng)中流量進行應(yīng)用層的分類,并提高其在多核操作系統(tǒng)的效率與吞吐量。對每個主機并提高其在多核操作系統(tǒng)的效率與吞吐量。對每個主機的流量分類信息進行處理,在網(wǎng)頁上建立監(jiān)控平
3、臺便于的流量分類信息進行處理,在網(wǎng)頁上建立監(jiān)控平臺便于網(wǎng)絡(luò)管理和用戶對本機應(yīng)用的監(jiān)控,使局域網(wǎng)健康地運網(wǎng)絡(luò)管理和用戶對本機應(yīng)用的監(jiān)控,使局域網(wǎng)健康地運行。行。背景背景理解和分析網(wǎng)絡(luò)流量特征是網(wǎng)絡(luò)設(shè)計、發(fā)展的基礎(chǔ)。隨理解和分析網(wǎng)絡(luò)流量特征是網(wǎng)絡(luò)設(shè)計、發(fā)展的基礎(chǔ)。隨著因特網(wǎng)的迅猛發(fā)展,網(wǎng)絡(luò)用戶與流量不斷增加,網(wǎng)絡(luò)著因特網(wǎng)的迅猛發(fā)展,網(wǎng)絡(luò)用戶與流量不斷增加,網(wǎng)絡(luò)應(yīng)用數(shù)量成倍增加,人們的生活幾乎到了離不開網(wǎng)絡(luò)的應(yīng)用數(shù)量成倍增加,人們的生活幾乎到了離不開網(wǎng)絡(luò)的程度。這使得網(wǎng)絡(luò)成了一個數(shù)據(jù)、流媒體大融合的平臺程度。這使得網(wǎng)絡(luò)成了一個數(shù)據(jù)、流媒體大融合的平臺,同時新的網(wǎng)絡(luò)應(yīng)用、協(xié)議的不斷增加,使得網(wǎng)絡(luò)中的,
4、同時新的網(wǎng)絡(luò)應(yīng)用、協(xié)議的不斷增加,使得網(wǎng)絡(luò)中的流量變得越發(fā)的復(fù)雜,分析與監(jiān)控也變得格外的困難。流量變得越發(fā)的復(fù)雜,分析與監(jiān)控也變得格外的困難。但也正是因為網(wǎng)絡(luò)的地位越來越重要,對網(wǎng)絡(luò)中流量分但也正是因為網(wǎng)絡(luò)的地位越來越重要,對網(wǎng)絡(luò)中流量分類監(jiān)控也越來越有必要。對流量進行分類有助于分析網(wǎng)類監(jiān)控也越來越有必要。對流量進行分類有助于分析網(wǎng)絡(luò)中應(yīng)用的類型和未知流量所占的比例,因此將成為網(wǎng)絡(luò)中應(yīng)用的類型和未知流量所占的比例,因此將成為網(wǎng)絡(luò)管理與網(wǎng)絡(luò)安全的基石,也成為越來越多人研究的熱絡(luò)管理與網(wǎng)絡(luò)安全的基石,也成為越來越多人研究的熱點。點。背景背景流量分類是網(wǎng)絡(luò)流量監(jiān)控與處理的基礎(chǔ)。傳統(tǒng)的分類方流量分類是
5、網(wǎng)絡(luò)流量監(jiān)控與處理的基礎(chǔ)。傳統(tǒng)的分類方法按端口信息進行分類,一個應(yīng)用對應(yīng)一個端口。例如法按端口信息進行分類,一個應(yīng)用對應(yīng)一個端口。例如,源端口或目的端口為,源端口或目的端口為80的的TCP流可以被認為是流可以被認為是HTTP應(yīng)應(yīng)用。由于這種方法的簡單且效率高,被廣泛適用于工業(yè)用。由于這種方法的簡單且效率高,被廣泛適用于工業(yè)標準中。也是由于在以前網(wǎng)絡(luò)的應(yīng)用并不是很多,更重標準中。也是由于在以前網(wǎng)絡(luò)的應(yīng)用并不是很多,更重要的是當時的應(yīng)用沒有什么動機入侵其他應(yīng)用的端口。要的是當時的應(yīng)用沒有什么動機入侵其他應(yīng)用的端口。但是隨著因特網(wǎng)的發(fā)展、網(wǎng)絡(luò)應(yīng)用數(shù)量的增加,越來越但是隨著因特網(wǎng)的發(fā)展、網(wǎng)絡(luò)應(yīng)用數(shù)量的
6、增加,越來越多的應(yīng)用使用動態(tài)端口、非標準的端口或者偽裝在其他多的應(yīng)用使用動態(tài)端口、非標準的端口或者偽裝在其他應(yīng)用的端口下。應(yīng)用的端口下。背景背景文獻文獻1顯示現(xiàn)今不足顯示現(xiàn)今不足70%的網(wǎng)絡(luò)流量能夠被基于端口分類。的網(wǎng)絡(luò)流量能夠被基于端口分類?;诙丝诜诸愑腥缦氯秉c:一是會被偽裝在其他周知端基于端口分類有如下缺點:一是會被偽裝在其他周知端口下或者使用沒有注冊的端口號的應(yīng)用所逃避口下或者使用沒有注冊的端口號的應(yīng)用所逃避2,如,如P2P應(yīng)用為了逃避防火墻的捕捉使用不固定的端口號,而網(wǎng)應(yīng)用為了逃避防火墻的捕捉使用不固定的端口號,而網(wǎng)絡(luò)中絡(luò)中P2P應(yīng)用所產(chǎn)生的流量已經(jīng)達到了應(yīng)用所產(chǎn)生的流量已經(jīng)達到了5
7、0%70%的程度的程度。二是一些端口上的流量是混合了多種應(yīng)用,并不能被。二是一些端口上的流量是混合了多種應(yīng)用,并不能被單一地歸為某一種應(yīng)用。如單一地歸為某一種應(yīng)用。如80端口除了端口除了HTTP應(yīng)用外還可應(yīng)用外還可能有能有Email,VoIP等應(yīng)用。三是由于基于端口的分類只檢等應(yīng)用。三是由于基于端口的分類只檢測應(yīng)用的端口號,一些應(yīng)用如測應(yīng)用的端口號,一些應(yīng)用如SSH等能通過隧道技術(shù)把等能通過隧道技術(shù)把所有應(yīng)用所產(chǎn)生的流量都歸為自身的流量。由于基于端所有應(yīng)用所產(chǎn)生的流量都歸為自身的流量。由于基于端口的分類有如上的缺陷,使得網(wǎng)絡(luò)的流量識別比例大大口的分類有如上的缺陷,使得網(wǎng)絡(luò)的流量識別比例大大的下
8、降。因此采用一種新的方法對網(wǎng)絡(luò)流量進行分類變的下降。因此采用一種新的方法對網(wǎng)絡(luò)流量進行分類變得十分必要。得十分必要。背景背景隨著網(wǎng)絡(luò)應(yīng)用的增多,網(wǎng)絡(luò)用戶的增加,網(wǎng)絡(luò)中的流量隨著網(wǎng)絡(luò)應(yīng)用的增多,網(wǎng)絡(luò)用戶的增加,網(wǎng)絡(luò)中的流量必然迅速膨脹。因此為了觀察網(wǎng)絡(luò)流量的特征,對網(wǎng)絡(luò)必然迅速膨脹。因此為了觀察網(wǎng)絡(luò)流量的特征,對網(wǎng)絡(luò)應(yīng)用進行研究,對網(wǎng)絡(luò)流量進行更進一步的研究。或者應(yīng)用進行研究,對網(wǎng)絡(luò)流量進行更進一步的研究?;蛘邽榱吮O(jiān)督網(wǎng)絡(luò)中用戶應(yīng)用的使用狀況,控制網(wǎng)絡(luò)中用戶為了監(jiān)督網(wǎng)絡(luò)中用戶應(yīng)用的使用狀況,控制網(wǎng)絡(luò)中用戶對應(yīng)用的使用,比如減少對應(yīng)用的使用,比如減少P2P應(yīng)用的使用,提高網(wǎng)絡(luò)中應(yīng)用的使用,提高網(wǎng)絡(luò)
9、中其他用戶的使用體驗?;蛘呤菫榱?,用戶觀察自己使用其他用戶的使用體驗?;蛘呤菫榱?,用戶觀察自己使用的應(yīng)用情況,關(guān)閉一些自己并不想打開的應(yīng)用但是該應(yīng)的應(yīng)用情況,關(guān)閉一些自己并不想打開的應(yīng)用但是該應(yīng)用偷偷在后臺運行,也有助于用戶提高自己對網(wǎng)絡(luò)的使用偷偷在后臺運行,也有助于用戶提高自己對網(wǎng)絡(luò)的使用體驗,提高上網(wǎng)速度。用體驗,提高上網(wǎng)速度。研究目標和意義研究目標和意義針對基于端口的分類不能很好地解決現(xiàn)今的網(wǎng)絡(luò)狀況,針對基于端口的分類不能很好地解決現(xiàn)今的網(wǎng)絡(luò)狀況,采用對應(yīng)用層凈荷的特殊字段進行匹配的方法能夠克服采用對應(yīng)用層凈荷的特殊字段進行匹配的方法能夠克服基于端口分類的缺陷,很好的分析網(wǎng)絡(luò)流量基于端口
10、分類的缺陷,很好的分析網(wǎng)絡(luò)流量3。基于應(yīng)用?;趹?yīng)用層凈荷進行分類的方法首先持續(xù)跟蹤連續(xù)的數(shù)據(jù)包,再層凈荷進行分類的方法首先持續(xù)跟蹤連續(xù)的數(shù)據(jù)包,再對應(yīng)用層的凈荷對應(yīng)簽名(對應(yīng)用層的凈荷對應(yīng)簽名(signature)進行匹配,一旦)進行匹配,一旦匹配成功被追蹤的數(shù)據(jù)流就打上該樣式對應(yīng)的應(yīng)用的標匹配成功被追蹤的數(shù)據(jù)流就打上該樣式對應(yīng)的應(yīng)用的標簽。如果數(shù)據(jù)包沒有匹配到就標記為未知(簽。如果數(shù)據(jù)包沒有匹配到就標記為未知(unknown)。這種基于應(yīng)用層凈荷的分類方法能夠更準確地匹配網(wǎng)。這種基于應(yīng)用層凈荷的分類方法能夠更準確地匹配網(wǎng)絡(luò)中的流量。絡(luò)中的流量。研究目標和意義研究目標和意義根據(jù)基于應(yīng)用層凈荷
11、的分類方法的具體應(yīng)用差別并不大根據(jù)基于應(yīng)用層凈荷的分類方法的具體應(yīng)用差別并不大,本設(shè)計中使用基于,本設(shè)計中使用基于Linux防火墻防火墻iptables的擴展模塊的擴展模塊L7-filter進行應(yīng)用的流量統(tǒng)計。并且在原有版本的基礎(chǔ)上進行應(yīng)用的流量統(tǒng)計。并且在原有版本的基礎(chǔ)上,對原來的協(xié)議特別是針對中國用戶比較常用的應(yīng)用的,對原來的協(xié)議特別是針對中國用戶比較常用的應(yīng)用的準確性進行測試。對不能匹配到或者匹配錯誤現(xiàn)今網(wǎng)絡(luò)準確性進行測試。對不能匹配到或者匹配錯誤現(xiàn)今網(wǎng)絡(luò)流量的協(xié)議進行修改,并對一些比較常用的網(wǎng)絡(luò)工具但流量的協(xié)議進行修改,并對一些比較常用的網(wǎng)絡(luò)工具但是原來版本中沒有包含的協(xié)議進行添加。是
12、是原來版本中沒有包含的協(xié)議進行添加。是L7-filter的匹的匹配更加的準確,并貼合中國用戶的使用。然后再把修改配更加的準確,并貼合中國用戶的使用。然后再把修改后的后的L7-filter的規(guī)則添加在的規(guī)則添加在iptables防火墻上,對局域網(wǎng)防火墻上,對局域網(wǎng)中每一用戶進行應(yīng)用流量的統(tǒng)計。根據(jù)記錄的流量對每中每一用戶進行應(yīng)用流量的統(tǒng)計。根據(jù)記錄的流量對每一用戶建立一個頁面,可以觀察訪問用戶自己的每個應(yīng)一用戶建立一個頁面,可以觀察訪問用戶自己的每個應(yīng)用的流量狀況。用的流量狀況。研究目標和意義研究目標和意義本設(shè)計的主要意義是使用了基于應(yīng)用層凈荷的流量分類本設(shè)計的主要意義是使用了基于應(yīng)用層凈荷的流
13、量分類方式,對局域網(wǎng)的流量進行了應(yīng)用層的分類,并在網(wǎng)頁方式,對局域網(wǎng)的流量進行了應(yīng)用層的分類,并在網(wǎng)頁平臺上統(tǒng)計出每個應(yīng)用的流量圖,對局域網(wǎng)中的流量情平臺上統(tǒng)計出每個應(yīng)用的流量圖,對局域網(wǎng)中的流量情況作了簡單分析。不僅是有助于局域網(wǎng)中的用戶管理自況作了簡單分析。不僅是有助于局域網(wǎng)中的用戶管理自己的應(yīng)用,而且對今后對網(wǎng)絡(luò)流量的研究提供了一個很己的應(yīng)用,而且對今后對網(wǎng)絡(luò)流量的研究提供了一個很好的平臺。好的平臺。研究思路研究思路主要分成三大部分。首先在一臺服務(wù)器上搭建起統(tǒng)計平主要分成三大部分。首先在一臺服務(wù)器上搭建起統(tǒng)計平臺,安裝上所需的模塊如:臺,安裝上所需的模塊如:brctl(網(wǎng)橋控制模塊)、(
14、網(wǎng)橋控制模塊)、L7-filter等。當統(tǒng)計平臺可以正常工作后,在等。當統(tǒng)計平臺可以正常工作后,在Linux防火墻上防火墻上添加添加L7-filter規(guī)則,對這些應(yīng)用的樣式文件進行測試看是規(guī)則,對這些應(yīng)用的樣式文件進行測試看是否能夠正常工作。找出不能正確匹配的應(yīng)用,對其重復(fù)否能夠正常工作。找出不能正確匹配的應(yīng)用,對其重復(fù)地進行數(shù)據(jù)包捕捉,根據(jù)所抓的數(shù)據(jù)包應(yīng)用層凈荷的特地進行數(shù)據(jù)包捕捉,根據(jù)所抓的數(shù)據(jù)包應(yīng)用層凈荷的特征字段修改出新的正則表達。對一些比較常用的但是沒征字段修改出新的正則表達。對一些比較常用的但是沒有被包含到有被包含到L7-filter中的應(yīng)用也進行流量的捕捉,根據(jù)應(yīng)中的應(yīng)用也進行流
15、量的捕捉,根據(jù)應(yīng)用層凈荷寫出正則表達式。對修改或新加的應(yīng)用進行測用層凈荷寫出正則表達式。對修改或新加的應(yīng)用進行測試、修改,使其能達到比較好的準確性。對應(yīng)用的添加試、修改,使其能達到比較好的準確性。對應(yīng)用的添加、修改完成后,在、修改完成后,在iptables上對局域網(wǎng)中每個主機添加上對局域網(wǎng)中每個主機添加L7-filter的規(guī)則,對應(yīng)用的流量進行統(tǒng)計。的規(guī)則,對應(yīng)用的流量進行統(tǒng)計。研究思路研究思路然后是對主機應(yīng)用流量的統(tǒng)計信息行進處理,建立一個然后是對主機應(yīng)用流量的統(tǒng)計信息行進處理,建立一個網(wǎng)頁監(jiān)控的平臺。在服務(wù)器上安裝網(wǎng)頁監(jiān)控的平臺。在服務(wù)器上安裝apache、MRTG等軟等軟件,通過腳本程序
16、對件,通過腳本程序?qū)ptables上的流量統(tǒng)計進行處理,修上的流量統(tǒng)計進行處理,修改改MRTG的配置文件使其畫出每個主機上的應(yīng)用的流量的配置文件使其畫出每個主機上的應(yīng)用的流量狀況,最終在網(wǎng)頁平臺上可以對應(yīng)用的流量進行監(jiān)控。狀況,最終在網(wǎng)頁平臺上可以對應(yīng)用的流量進行監(jiān)控。最后對最后對iptables上統(tǒng)計到的每個主機應(yīng)用的流量進行分析上統(tǒng)計到的每個主機應(yīng)用的流量進行分析。在對局域網(wǎng)流量統(tǒng)計一段時間后,對應(yīng)用的統(tǒng)計流量。在對局域網(wǎng)流量統(tǒng)計一段時間后,對應(yīng)用的統(tǒng)計流量進行一些分析,得出一些局域網(wǎng)使用應(yīng)用的一些特點。進行一些分析,得出一些局域網(wǎng)使用應(yīng)用的一些特點。對多核對多核CPU操作系統(tǒng)轉(zhuǎn)發(fā)性能的
17、提高操作系統(tǒng)轉(zhuǎn)發(fā)性能的提高局域網(wǎng)網(wǎng)絡(luò)環(huán)境介紹局域網(wǎng)網(wǎng)絡(luò)環(huán)境介紹本次設(shè)計的網(wǎng)絡(luò)環(huán)境為一個本次設(shè)計的網(wǎng)絡(luò)環(huán)境為一個/24的局域網(wǎng),局域的局域網(wǎng),局域網(wǎng)通過交換機連到一個透明的網(wǎng)橋上,再通過網(wǎng)橋連到路由網(wǎng)通過交換機連到一個透明的網(wǎng)橋上,再通過網(wǎng)橋連到路由器再連到外網(wǎng)。網(wǎng)橋使用一個安裝了器再連到外網(wǎng)。網(wǎng)橋使用一個安裝了Linux操作系統(tǒng)的服務(wù)操作系統(tǒng)的服務(wù)器來充當。在實驗中網(wǎng)橋起到轉(zhuǎn)發(fā)的作用,本設(shè)計中在網(wǎng)橋器來充當。在實驗中網(wǎng)橋起到轉(zhuǎn)發(fā)的作用,本設(shè)計中在網(wǎng)橋上對局域網(wǎng)的流量進行收集、分類。后面所有的操作也都只上對局域網(wǎng)的流量進行收集、分類。后面所有的操作也都只在網(wǎng)橋的在網(wǎng)橋的Li
18、nux系統(tǒng)上進行。系統(tǒng)上進行。本次設(shè)計研究的對象為局域網(wǎng)中流向網(wǎng)橋的數(shù)據(jù)流和通過網(wǎng)本次設(shè)計研究的對象為局域網(wǎng)中流向網(wǎng)橋的數(shù)據(jù)流和通過網(wǎng)關(guān)進入局域網(wǎng)的數(shù)據(jù)流。最終希望能夠?qū)@些捕獲到的數(shù)據(jù)關(guān)進入局域網(wǎng)的數(shù)據(jù)流。最終希望能夠?qū)@些捕獲到的數(shù)據(jù)流進行分類,并供局域網(wǎng)的管理員和局域網(wǎng)中的用戶觀察自流進行分類,并供局域網(wǎng)的管理員和局域網(wǎng)中的用戶觀察自己主機的應(yīng)用所產(chǎn)生的流量情況,合理地控制流量共享帶寬己主機的應(yīng)用所產(chǎn)生的流量情況,合理地控制流量共享帶寬,和可以及時地排查網(wǎng)絡(luò)中產(chǎn)生擁塞的原因,有效地管理網(wǎng),和可以及時地排查網(wǎng)絡(luò)中產(chǎn)生擁塞的原因,有效地管理網(wǎng)絡(luò)流量。絡(luò)流量。 實驗網(wǎng)絡(luò)環(huán)境實驗網(wǎng)絡(luò)環(huán)境網(wǎng)橋的搭
19、建網(wǎng)橋的搭建網(wǎng)橋是一個二層設(shè)備,通過網(wǎng)橋是一個二層設(shè)備,通過MAC地址與端口的對應(yīng)關(guān)系地址與端口的對應(yīng)關(guān)系來轉(zhuǎn)發(fā)數(shù)據(jù)包。來轉(zhuǎn)發(fā)數(shù)據(jù)包。Brctl4是一個比較優(yōu)秀的配置網(wǎng)橋的工是一個比較優(yōu)秀的配置網(wǎng)橋的工具,它的源代碼和配置方法極其簡單,本設(shè)計中使用具,它的源代碼和配置方法極其簡單,本設(shè)計中使用brctl來設(shè)計網(wǎng)橋。根據(jù)文獻來設(shè)計網(wǎng)橋。根據(jù)文獻5中所講首先下載并安裝中所講首先下載并安裝bridge-utils。然后使用的腳本。然后使用的腳本(見論文)(見論文)開啟網(wǎng)橋開啟網(wǎng)橋通過這個腳本創(chuàng)建了一個名叫通過這個腳本創(chuàng)建了一個名叫br0的網(wǎng)橋,并將網(wǎng)卡的網(wǎng)橋,并將網(wǎng)卡eth4和和eth5加入網(wǎng)橋中,
20、再打開網(wǎng)卡和網(wǎng)橋加入網(wǎng)橋中,再打開網(wǎng)卡和網(wǎng)橋br0,局域網(wǎng)中的,局域網(wǎng)中的數(shù)據(jù)包就可以通過網(wǎng)卡數(shù)據(jù)包就可以通過網(wǎng)卡eth4和和eth5進行轉(zhuǎn)發(fā)了。進行轉(zhuǎn)發(fā)了。對多核操作系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)包性能的改進對多核操作系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)包性能的改進多核多核CPU中斷親和性中斷親和性由于局域網(wǎng)中主機數(shù)量較多,網(wǎng)橋轉(zhuǎn)發(fā)承受的負載較大,有由于局域網(wǎng)中主機數(shù)量較多,網(wǎng)橋轉(zhuǎn)發(fā)承受的負載較大,有必要根據(jù)網(wǎng)橋的多核操作系統(tǒng)進行轉(zhuǎn)發(fā)性能的提升。網(wǎng)橋由必要根據(jù)網(wǎng)橋的多核操作系統(tǒng)進行轉(zhuǎn)發(fā)性能的提升。網(wǎng)橋由于需要轉(zhuǎn)發(fā)大量的數(shù)據(jù)流,時時刻刻都在進行著數(shù)據(jù)的轉(zhuǎn)發(fā)于需要轉(zhuǎn)發(fā)大量的數(shù)據(jù)流,時時刻刻都在進行著數(shù)據(jù)的轉(zhuǎn)發(fā),必然會導(dǎo)致中斷的頻繁發(fā)生,
21、因此會消耗大量的,必然會導(dǎo)致中斷的頻繁發(fā)生,因此會消耗大量的CPU資源資源。所謂中斷就是,網(wǎng)卡都需要和。所謂中斷就是,網(wǎng)卡都需要和 CPU 有某種形式的通信以有某種形式的通信以便便 CPU 及時知道發(fā)生了什么事情,這樣及時知道發(fā)生了什么事情,這樣 CPU 可能就會放可能就會放下手中的事情去處理應(yīng)急事件,網(wǎng)卡等硬件設(shè)備主動打擾下手中的事情去處理應(yīng)急事件,網(wǎng)卡等硬件設(shè)備主動打擾 CPU 的現(xiàn)象就可稱為硬件中斷。而在多核的現(xiàn)象就可稱為硬件中斷。而在多核 CPU 條件下如果條件下如果有辦法把大量硬件中斷分配給不同的有辦法把大量硬件中斷分配給不同的 CPU處理就能能很好處理就能能很好的平衡性能。的平衡性
22、能。對多核對多核CPU操作系統(tǒng)轉(zhuǎn)發(fā)性能的提高操作系統(tǒng)轉(zhuǎn)發(fā)性能的提高在計算機里,中斷是一種電信號,由硬件產(chǎn)生,并直接在計算機里,中斷是一種電信號,由硬件產(chǎn)生,并直接送到中斷控制器上,然后再由中斷控制器向送到中斷控制器上,然后再由中斷控制器向 CPU 發(fā)送信發(fā)送信號,號,CPU 檢測到該信號后,就中斷當前的工作轉(zhuǎn)而去處檢測到該信號后,就中斷當前的工作轉(zhuǎn)而去處理中斷。然后,處理器會通知操作系統(tǒng)已經(jīng)產(chǎn)生中斷,理中斷。然后,處理器會通知操作系統(tǒng)已經(jīng)產(chǎn)生中斷,這樣操作系統(tǒng)就會對這個中斷進行適當?shù)奶幚怼,F(xiàn)在來這樣操作系統(tǒng)就會對這個中斷進行適當?shù)奶幚怼,F(xiàn)在來看一下中看一下中 斷控制器,常見的中斷控制器有兩種:
23、可編程斷控制器,常見的中斷控制器有兩種:可編程中斷控制器中斷控制器 8259A 和高級可編程中斷控制器(和高級可編程中斷控制器(APIC)。對多核操作系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)包性能的改進對多核操作系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)包性能的改進傳統(tǒng)的傳統(tǒng)的 8259A 只適合單只適合單 CPU 的情況,現(xiàn)在都是多的情況,現(xiàn)在都是多 CPU 多核的多核的 SMP 體系,所以為了充分利用體系,所以為了充分利用 SMP 體系結(jié)構(gòu)、體系結(jié)構(gòu)、把中斷傳遞給系統(tǒng)上的每個把中斷傳遞給系統(tǒng)上的每個 CPU 以便更好實現(xiàn)并行和提以便更好實現(xiàn)并行和提高性能,高性能,Intel 引入了高級可編程中斷控制器(引入了高級可編程中斷控制器(APIC)。)。
24、光有高級可編程中斷控制器的硬件支持還不夠,光有高級可編程中斷控制器的硬件支持還不夠,Linux 內(nèi)核還必須能利用到這些硬件特質(zhì),所以只有內(nèi)核還必須能利用到這些硬件特質(zhì),所以只有 kernel 2.4 以后的版本才支持把不同的硬件中斷請求(以后的版本才支持把不同的硬件中斷請求(IRQs)分配到特定的分配到特定的 CPU 上,這個綁定技術(shù)被稱為上,這個綁定技術(shù)被稱為 SMP IRQ Affinity。對多核操作系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)包性能的改進對多核操作系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)包性能的改進本次設(shè)計中網(wǎng)橋操作系統(tǒng)為本次設(shè)計中網(wǎng)橋操作系統(tǒng)為Linux 0,CPU為為16核。網(wǎng)橋工核。網(wǎng)橋工作在轉(zhuǎn)發(fā)模式下,網(wǎng)
25、卡作在轉(zhuǎn)發(fā)模式下,網(wǎng)卡eth4為發(fā)端,為發(fā)端,eth5為收端。將為收端。將irqbalance 服服務(wù)關(guān)閉,手動調(diào)整網(wǎng)卡的中斷至多個核心。從務(wù)關(guān)閉,手動調(diào)整網(wǎng)卡的中斷至多個核心。從/etc/interrupts可以看可以看到,每個網(wǎng)卡有一個主控中斷,另外還有到,每個網(wǎng)卡有一個主控中斷,另外還有8個收中斷和個收中斷和8個發(fā)中斷,個發(fā)中斷,并工作于并工作于PCI-MSI-edge模式下。模式下。文獻文獻67中提出了一種可以通過改變中提出了一種可以通過改變smp_affinity的值來設(shè)置中斷的值來設(shè)置中斷到某個到某個CPU上。如命令上。如命令“echo 1 /proc/irq/90/smp_aff
26、inity”就是就是把中斷號為把中斷號為90的中斷綁定到的中斷綁定到CPU0上。而具體綁定到哪個上。而具體綁定到哪個CPU是由是由寫入寫入smp_affinity中的數(shù)值決定的,如上面的中的數(shù)值決定的,如上面的“1”。這里的。這里的“1”實際實際上是個二進制的數(shù)上是個二進制的數(shù)“00000001”它代表了它代表了CPU0,而如果寫入的數(shù)值,而如果寫入的數(shù)值為為“2”它的二進制為它的二進制為“00000010”則代表了則代表了CPU1。各個。各個 CPU 用二進用二進制和十六進制表示就是像表制和十六進制表示就是像表2-1中所示:中所示:表表2-1 中斷親和分配到中斷親和分配到CPU的方式的方式L
27、inux系統(tǒng)中有自動調(diào)節(jié)中斷親和的服務(wù)系統(tǒng)中有自動調(diào)節(jié)中斷親和的服務(wù)irqbalance8,它的主要功能,它的主要功能是可以合理的調(diào)配使用各個是可以合理的調(diào)配使用各個CPU核心,特別是對于目前主流多核心核心,特別是對于目前主流多核心的的CPU,簡單的說就是能夠把壓力均勻的分配到各個,簡單的說就是能夠把壓力均勻的分配到各個CPU核心上,核心上,對提升性能有很大的幫助。但是使用對提升性能有很大的幫助。但是使用irqbalance服務(wù)時,系統(tǒng)由于服務(wù)時,系統(tǒng)由于分配機制的關(guān)系經(jīng)常將多個中斷分配到同一個分配機制的關(guān)系經(jīng)常將多個中斷分配到同一個CPU上。在網(wǎng)橋上如上。在網(wǎng)橋上如果使用果使用irqbala
28、nce的服務(wù),系統(tǒng)會將多個網(wǎng)卡收發(fā)中斷分配到同一的服務(wù),系統(tǒng)會將多個網(wǎng)卡收發(fā)中斷分配到同一個個CPU上,而有的上,而有的CPU則會處于空閑狀態(tài),因此會降低網(wǎng)橋的轉(zhuǎn)發(fā)則會處于空閑狀態(tài),因此會降低網(wǎng)橋的轉(zhuǎn)發(fā)性能,降低吞吐量。性能,降低吞吐量。對多核操作系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)包性能的改進對多核操作系統(tǒng)轉(zhuǎn)發(fā)數(shù)據(jù)包性能的改進可以根據(jù)上表中的十六進制值寫入指定中斷的可以根據(jù)上表中的十六進制值寫入指定中斷的smp_affinity來將該中斷綁定到固定的來將該中斷綁定到固定的CPU。如果想將。如果想將中斷同時綁定到中斷同時綁定到CPU0和和CPU1的話只要寫入數(shù)值的話只要寫入數(shù)值5就可就可以了,命令為以了,命令為“ec
29、ho 5 /proc/irq/90/smp_affinity”。而命令而命令“echo ffffffff /proc/irq/90/smp_affinity”就可就可以將中斷分配到所有可用的以將中斷分配到所有可用的CPU上了。在本次設(shè)計中,上了。在本次設(shè)計中,可以將所有由于轉(zhuǎn)發(fā)數(shù)據(jù)包而產(chǎn)生的大量中斷分配到所可以將所有由于轉(zhuǎn)發(fā)數(shù)據(jù)包而產(chǎn)生的大量中斷分配到所有有CPU上來增加轉(zhuǎn)發(fā)的吞吐量,使每個上來增加轉(zhuǎn)發(fā)的吞吐量,使每個CPU的負載均衡的負載均衡。在網(wǎng)絡(luò)非常重的情況下,在往橋上把不同的網(wǎng)卡。在網(wǎng)絡(luò)非常重的情況下,在往橋上把不同的網(wǎng)卡 IRQ 均衡綁定到不同的均衡綁定到不同的 CPU 上將會減輕某
30、個上將會減輕某個 CPU 的負擔(dān),的負擔(dān),提高多個提高多個 CPU 整體處理中斷的能力。整體處理中斷的能力。修改中斷親和的性能測試修改中斷親和的性能測試測試環(huán)境為使用測試環(huán)境為使用IXIA儀器發(fā)包端連接到網(wǎng)橋的接收網(wǎng)卡,網(wǎng)橋通過儀器發(fā)包端連接到網(wǎng)橋的接收網(wǎng)卡,網(wǎng)橋通過轉(zhuǎn)發(fā)從發(fā)送網(wǎng)卡將數(shù)據(jù)包送到轉(zhuǎn)發(fā)從發(fā)送網(wǎng)卡將數(shù)據(jù)包送到IXIA儀器的收端。儀器的收端。IXIA可用于多種網(wǎng)可用于多種網(wǎng)絡(luò)設(shè)備性能測試的負載生成器和分析儀,可測試的設(shè)備包括交換機絡(luò)設(shè)備性能測試的負載生成器和分析儀,可測試的設(shè)備包括交換機、路由器、有線和無線、路由器、有線和無線Modem等邊緣和骨干網(wǎng)絡(luò)設(shè)備。等邊緣和骨干網(wǎng)絡(luò)設(shè)備。XIA
31、測試儀測試儀的特點是提供最大的端口密度,支持廣泛的接口種類。的特點是提供最大的端口密度,支持廣泛的接口種類。IXIA的接口的接口模塊支持:多種接口包括模塊支持:多種接口包括10M、100M、1000M和和10G的以太網(wǎng)接口的以太網(wǎng)接口。IXIA采用上行和下行采用上行和下行FPGA技術(shù),在每個端口上實現(xiàn)線速的流量發(fā)技術(shù),在每個端口上實現(xiàn)線速的流量發(fā)生和統(tǒng)計分析,包括時延的實時測試。利用生和統(tǒng)計分析,包括時延的實時測試。利用FPGA,可由硬件實時,可由硬件實時計算計算IP、TCP和和UDP的的Checksum。IXIA發(fā)端的最高發(fā)包速度可以發(fā)端的最高發(fā)包速度可以達到達到1000Mbps。網(wǎng)橋為十六
32、核。網(wǎng)橋為十六核CPU的系統(tǒng),每個網(wǎng)卡都由八個收的系統(tǒng),每個網(wǎng)卡都由八個收發(fā)中斷組成。根據(jù)文獻發(fā)中斷組成。根據(jù)文獻9中提出的測試方法,建立網(wǎng)絡(luò)環(huán)境如圖所中提出的測試方法,建立網(wǎng)絡(luò)環(huán)境如圖所示。示。網(wǎng)橋轉(zhuǎn)發(fā)性能測試的網(wǎng)絡(luò)環(huán)境網(wǎng)橋轉(zhuǎn)發(fā)性能測試的網(wǎng)絡(luò)環(huán)境首先網(wǎng)橋上使用系統(tǒng)自動調(diào)節(jié)中斷的首先網(wǎng)橋上使用系統(tǒng)自動調(diào)節(jié)中斷的affinity,運行命令,運行命令“service irqbalance start”,系統(tǒng)將自動調(diào)節(jié)中斷的親,系統(tǒng)將自動調(diào)節(jié)中斷的親和性。在和性。在IXIA上發(fā)端以最大的速率上發(fā)端以最大的速率1000Mbps發(fā)送數(shù)據(jù)包發(fā)送數(shù)據(jù)包。觀察系統(tǒng)中斷的親和分配情況,。觀察系統(tǒng)中斷的親和分配情
33、況, 表表 2-2 irqbalance的的中斷親和分配中斷親和分配修改中斷親和的性能測試修改中斷親和的性能測試從網(wǎng)卡收發(fā)中斷的親和性上看,有多個中斷被分配到了從網(wǎng)卡收發(fā)中斷的親和性上看,有多個中斷被分配到了一個一個CPU上。如中斷上。如中斷“eth5-TxRx-5”和和“eth4-TxRx-3”的的affinity都是都是“00000001”,都被分配到了,都被分配到了CPU0上。上。因此以因此以irqbalance分配的中斷親和會分配到同一分配的中斷親和會分配到同一CPU上上,會影響轉(zhuǎn)發(fā)的性能。,會影響轉(zhuǎn)發(fā)的性能。XIA提供了圖形化用戶管理軟件:提供了圖形化用戶管理軟件:IxExplore
34、r用戶自定義用戶自定義軟件工具,可以通過本地或軟件工具,可以通過本地或TCP/IP網(wǎng)絡(luò)對網(wǎng)絡(luò)對IXIA性能測試性能測試系統(tǒng)平臺進行管理,并且可編輯、控制流量的發(fā)生、統(tǒng)系統(tǒng)平臺進行管理,并且可編輯、控制流量的發(fā)生、統(tǒng)計及解碼分析。計及解碼分析。IxExplorer軟件也可以同時對多個軟件也可以同時對多個IXIA系系統(tǒng)平臺進行管理。使用統(tǒng)平臺進行管理。使用IxExplorer觀察,在測試情況下觀察,在測試情況下IXIA接收端的速率約為接收端的速率約為90MBps,如圖,如圖2-3所示所示 irqbalance的網(wǎng)橋轉(zhuǎn)發(fā)性能的網(wǎng)橋轉(zhuǎn)發(fā)性能手動對每個網(wǎng)卡的收發(fā)中斷設(shè)置親和性,將每個中斷都分配手動對每個
35、網(wǎng)卡的收發(fā)中斷設(shè)置親和性,將每個中斷都分配到不同的到不同的CPU上可以提高轉(zhuǎn)發(fā)的性能。命令上可以提高轉(zhuǎn)發(fā)的性能。命令(見論文)(見論文) 參考文獻參考文獻A. Moore and K. Papagiannaki. Toward the accurate identification of network applications. Passive and Active Network Measurement, pages 4154, 2005.T. Karagiannis, A. Broidom, M Faloutsos, and K.Claffy, “Transport Layer Identification
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備租借合同范本
- 項目開發(fā)與投資合同協(xié)議書
- 技術(shù)研發(fā)合同協(xié)議書
- 搪瓷燒成工藝與設(shè)備選擇考核試卷
- 農(nóng)作物病蟲害防治的社區(qū)參與模式考核試卷
- 云計算在互聯(lián)網(wǎng)搜索服務(wù)中的應(yīng)用考核試卷
- 木片在食品包裝安全性的研究考核試卷
- 多媒體制作技術(shù)課件考核試卷
- 乳品工藝技術(shù)創(chuàng)新與發(fā)展考核試卷
- 勘察項目項目管理氣候變化與勘察應(yīng)對策略考核試卷
- 數(shù)字賦能農(nóng)村特色產(chǎn)業(yè)發(fā)展的實證研究
- Unit 1 My school Part B Let's talk(教學(xué)設(shè)計)-2023-2024學(xué)年人教PEP版英語四年級下冊
- 新版華師大版八年級下數(shù)學(xué)教案全冊
- 高中主題班會 《哪吒2》:成長與蛻變課件-高一下學(xué)期開學(xué)主題班會
- 《教育強國建設(shè)規(guī)劃綱要(2024-2035年)》解讀與專題培訓(xùn)
- 抑郁復(fù)學(xué)申請書
- 【歷史】“開元盛世”課件-+2024-2025學(xué)年統(tǒng)編版歷史七年級下冊
- 建筑施工作業(yè)人員安全生產(chǎn)知識教育培訓(xùn)考核試卷及答案
- 《烈士褒揚條例》修訂解讀:2025年烈士褒揚與撫恤新政策
- 2025年新華師大版數(shù)學(xué)七年級下冊全冊導(dǎo)學(xué)案
- 2025年內(nèi)蒙古化工職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
評論
0/150
提交評論