專利名稱:防止“拒絕服務(wù)”攻擊的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信,更具體地說涉及用于防止對服務(wù)器群集的拒絕服務(wù)攻擊的裝置和方法。
相關(guān)申請為了幫助理解在此描述的發(fā)明,有興趣的讀者可以參考以下在先申請,這些在先申請與本說明書相關(guān),并且其中每一個都作為參考完整地納入本說明書,就如同其全文在此重復(fù)出現(xiàn)一樣美國專利申請第09/384,691號,申請日為1999年8月27日,標(biāo)題為“網(wǎng)絡(luò)處理器處理復(fù)合體和方法”(Network Processor ProcessingComplex and Methods);美國專利申請第09/384,744號,申請日為1999年8月27日,標(biāo)題為“網(wǎng)絡(luò)處理器、存儲器組織和方法”(Network Processor,MemoryOrganization and Methods);美國專利申請第09/448,190號,申請日為1999年11月23日,標(biāo)題為“用于提供最佳丟棄比例的方法和系統(tǒng)”(Method and System forProviding Optimal Discard Fraction);美國專利申請第09/551,707號,申請日為2000年4月18日,標(biāo)題為“使用網(wǎng)絡(luò)處理器的服務(wù)器群集互連”(Server Cluster InterconnectionUsing Network Processor);美國專利申請第09/551,822號,申請日2000年4月18日,標(biāo)題為“數(shù)據(jù)流模式識別和操縱”(Data Flow Pattern Recognition andManipulation)。
背景技術(shù):
1948年的EDVAC計(jì)算機(jī)系統(tǒng)的開發(fā)常常被稱為計(jì)算機(jī)時代的開始。從那時起,計(jì)算機(jī)系統(tǒng)已經(jīng)發(fā)展成為極其復(fù)雜的設(shè)備,并且在很多不同的場合都能看到計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)通常包括硬件(例如半導(dǎo)體、電路板等)和軟件(例如計(jì)算機(jī)程序)的結(jié)合。當(dāng)半導(dǎo)體工藝和計(jì)算機(jī)結(jié)構(gòu)體系的進(jìn)步提高了計(jì)算機(jī)硬件的性能的時候,更復(fù)雜的計(jì)算機(jī)軟件就發(fā)展出來以利用硬件的更高的性能,這使得今天的計(jì)算機(jī)系統(tǒng)比僅僅幾年以前的計(jì)算機(jī)系統(tǒng)具有強(qiáng)大得多的功能。
技術(shù)方面的其他變化也深刻地影響了我們使用計(jì)算機(jī)的方式。例如,計(jì)算機(jī)的廣泛普及促進(jìn)了計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,這些計(jì)算機(jī)網(wǎng)絡(luò)使得計(jì)算機(jī)可以相互通信。隨著個人計(jì)算機(jī)(PC)的出現(xiàn),計(jì)算功能對于很多人來說都是可以獲得的了。人們開發(fā)出個人計(jì)算機(jī)的網(wǎng)絡(luò),以使個人用戶之間可以相互通信。以這種方式,一公司內(nèi)部或諸公司之間的很多人可以使用運(yùn)行在單個計(jì)算機(jī)系統(tǒng)上的軟件應(yīng)用通過網(wǎng)絡(luò)同時地進(jìn)行通信。
近來變得非常流行的一個重要的計(jì)算機(jī)網(wǎng)絡(luò)是因特網(wǎng)。因特網(wǎng)起因于計(jì)算機(jī)和網(wǎng)絡(luò)在現(xiàn)代的普及,并已發(fā)展成為互連的包含網(wǎng)頁的諸計(jì)算機(jī)系統(tǒng)的復(fù)雜的全球性網(wǎng)絡(luò)。這種通信網(wǎng)絡(luò)和計(jì)算機(jī)系統(tǒng)的系統(tǒng)共同構(gòu)成“全球網(wǎng)”,或稱“WWW”。坐在個人PC(即工作站)之前、希望訪問WWW的用戶通常使用稱為Web瀏覽器的軟件應(yīng)用進(jìn)行訪問。Web瀏覽器通過因特網(wǎng)與稱為Web服務(wù)器的計(jì)算機(jī)進(jìn)行連接,并從所述Web服務(wù)器接收將在用戶的工作站上顯示的信息。顯示給用戶的信息通常被組織為一些頁面,這些頁面是使用一種稱為超文本標(biāo)記語言(HTML)的專門語言構(gòu)造的。市場上的幾乎每個計(jì)算機(jī)系統(tǒng)目前都提供使用HTML的Web瀏覽器,這使得實(shí)際上任何可以獲得一個計(jì)算機(jī)和一個調(diào)制解調(diào)器的人都可以訪問WWW。雖然WWW正變得日益流行,但是訪問WWW的計(jì)算機(jī)用戶的迅速增長和擴(kuò)充卻帶來了一些相伴隨的問題。本說明書就論及了這些問題中的某一些。
全球網(wǎng)發(fā)展的一個產(chǎn)物是服務(wù)器群(server farm)。使用“群”一詞是為了表達(dá)有若干設(shè)備以這樣的方式運(yùn)行地連接起來,以至于數(shù)據(jù)可以或多或少地?zé)o縫地在終端用戶間向著群內(nèi)任何一個協(xié)同運(yùn)轉(zhuǎn)的設(shè)備流動。這樣,多個服務(wù)器計(jì)算機(jī)系統(tǒng)合作,來劃分網(wǎng)絡(luò)的數(shù)據(jù)處理要求。盡管進(jìn)行這種功能劃分的技術(shù)已經(jīng)存在或正在開發(fā)中,在這種情況下可能產(chǎn)生一些問題,這些問題是這里描述的本發(fā)明所要處理和解決的。應(yīng)當(dāng)注意的是,下面描述的本發(fā)明既可以應(yīng)用于一單個服務(wù)器系統(tǒng)中,也可以應(yīng)用于一服務(wù)器群中。由于這個原因,這里偶爾使用“群”一詞來指一單個服務(wù)器計(jì)算機(jī)系統(tǒng)。
以下的描述預(yù)先假定讀者具有對網(wǎng)絡(luò)數(shù)據(jù)通信和在這種通信網(wǎng)絡(luò)中使用的交換機(jī)和路由器的知識。特別地,該描述預(yù)先假定讀者熟悉將網(wǎng)絡(luò)操作劃分為層的網(wǎng)絡(luò)結(jié)構(gòu)體系的OSI模型。一個典型的基于OSI模型的結(jié)構(gòu)體系從作為物理通路或介質(zhì)的層1(有時也稱為“L1”)開始,信號通過所述層1經(jīng)由層2至7向上傳輸,上述最后一層是運(yùn)行在連接到該網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng)上的應(yīng)用編程層。在本說明書中,提到L1、L2等是意指一網(wǎng)絡(luò)結(jié)構(gòu)體系的相應(yīng)的層。本說明書也預(yù)先假定讀者對被稱為包、幀或信元(cell)的位串以及在網(wǎng)絡(luò)通信中對它們的處理有基本的理解。在后面這一點(diǎn)上,本說明書預(yù)先假定讀者具有某種技術(shù)知識,使用這種技術(shù),這種位串在排隊(duì)管理器的控制下,在通信設(shè)備和計(jì)算機(jī)系統(tǒng)的存儲器中所提供的諸隊(duì)列中通過。隊(duì)列管理包括在先前已知的、已開始被稱為RED和BLUE的過程,它們確定保持在隊(duì)列中的排隊(duì)數(shù)據(jù)的水平,并且確定到達(dá)該隊(duì)列的數(shù)據(jù)的所謂提供速率。對這一技術(shù)的更多討論將在本說明書的后文中提供。
這里處理的一個特殊問題產(chǎn)生于有意地企圖拒絕向用戶提供一特定服務(wù)器或服務(wù)器群的資源。這種企圖的現(xiàn)已成為經(jīng)典的一種形式被稱為“拒絕服務(wù)”或DOS攻擊。DOS攻擊通常是由希望妨礙人們得到一網(wǎng)絡(luò)資源例如一訂戶服務(wù)或一特定網(wǎng)站或數(shù)據(jù)庫的個人或集團(tuán)組織的。攻擊者使用任何可以調(diào)度的資源,造成數(shù)量迅速增加的對該資源的請求在與該資源相連接的網(wǎng)絡(luò)(例如因特網(wǎng))上傳輸。當(dāng)支持該資源的服務(wù)器的響應(yīng)能力有限(這是必然的)時,幾乎同時出現(xiàn)的大量請求將造成過載,并造成服務(wù)器或者減慢其響應(yīng)速度,或者在很多情況下,“崩潰”或者說變得無法訪問。在某些情況下,恢復(fù)該資源的可獲得性或者說“使服務(wù)器恢復(fù)正?!?,可能要耗費(fèi)技術(shù)支持人員的幾小時或幾個人日。
因此,本發(fā)明的目標(biāo)是提供一種用于幫助保護(hù)一服務(wù)器計(jì)算機(jī)系統(tǒng)或結(jié)合為一服務(wù)器群的多個服務(wù)器計(jì)算機(jī)系統(tǒng)的系統(tǒng)和方法。
發(fā)明內(nèi)容
本發(fā)明實(shí)現(xiàn)了上述和其他目標(biāo),在本發(fā)明中,一網(wǎng)絡(luò)處理器被置于服務(wù)器和網(wǎng)絡(luò)之間,并被用來檢測和排除DOS攻擊。所述網(wǎng)絡(luò)處理器以這樣的方式保護(hù)網(wǎng)絡(luò)資源服務(wù)器防止諸如拒絕服務(wù)攻擊之類的攻擊,即監(jiān)視數(shù)據(jù)流,計(jì)算該數(shù)據(jù)流對時間的導(dǎo)數(shù)以決定數(shù)據(jù)流的變化率,并響應(yīng)于超出預(yù)定邊界的變化率,修改用來丟棄一些包的指令。
現(xiàn)在特別參照以下附圖更詳細(xì)地描述本發(fā)明,其中圖1是本發(fā)明可在其中實(shí)施的一計(jì)算機(jī)系統(tǒng)的示意圖;圖2是使用多個如圖1所示的計(jì)算機(jī)系統(tǒng)和一個如圖3和4所示的網(wǎng)絡(luò)處理器構(gòu)成的一服務(wù)器群的示意圖;圖3是本發(fā)明中使用的一網(wǎng)絡(luò)處理器的一示意圖;圖4是本發(fā)明中使用的一網(wǎng)絡(luò)處理器的另一示意圖;圖5示出了在根據(jù)本發(fā)明通過監(jiān)視進(jìn)入的包而阻止拒絕服務(wù)攻擊得逞時所執(zhí)行的步驟;以及圖6示出了在根據(jù)本發(fā)明通過監(jiān)視外出的包而阻止拒絕服務(wù)攻擊得逞時所執(zhí)行的步驟。
具體實(shí)施例方式
雖然在下文中將參照示出了本發(fā)明的一優(yōu)選實(shí)施例的諸附圖更全面地描述本發(fā)明,但在以下描述的一開始應(yīng)該理解,適當(dāng)領(lǐng)域的技術(shù)人員可以修改這里描述的本發(fā)明,而仍然獲得本發(fā)明的有利結(jié)果。因此,以下描述應(yīng)該被理解為面向適當(dāng)領(lǐng)域的技術(shù)人員的寬泛的、啟發(fā)性的說明,而不應(yīng)被理解對本發(fā)明的限制。
在參照附圖之前,一些簡短的一般性討論被認(rèn)為是適當(dāng)?shù)摹>W(wǎng)絡(luò)處理器是一種新興技術(shù),其允許媒體速度處理和/或通信包分析,以及基于這種處理和分析的決策。一經(jīng)常使用的應(yīng)用是提供一個或多個網(wǎng)絡(luò)處理器,這些網(wǎng)絡(luò)處理器通過一交換結(jié)構(gòu)(switching fabric)連接起來,而形成一通信產(chǎn)品,例如一交換機(jī)或路由器,其可執(zhí)行到一外部廣域網(wǎng)的網(wǎng)關(guān)功能。由網(wǎng)絡(luò)處理器進(jìn)行的處理一般包括檢查包的內(nèi)容(通常為報頭中的源/目的地址對),然后基于所述地址對作出交換或路由決策。這種處理稱為“過濾”,而所作出的關(guān)于如何交換包的決策是由一組通常稱為“過濾規(guī)則”的規(guī)則所規(guī)定的。
圖2示出了一個這種應(yīng)用,其中一個或多個NP(可能通過一交換結(jié)構(gòu))連接到一個或多個數(shù)據(jù)處理服務(wù)器。在這種應(yīng)用中,NP在提供將數(shù)據(jù)流指引到各種服務(wù)器的交換功能,但也可以執(zhí)行其他功能,例如加密和/或解密、壓縮和/或解壓縮、病毒檢測等。本發(fā)明也考慮到NP可以與服務(wù)器功能集成在一起。
在下文中描述的所有情景中,NP的主要功能是基于通常由網(wǎng)絡(luò)管理員輸入通信系統(tǒng)的一組準(zhǔn)則來過濾數(shù)據(jù)流。然后網(wǎng)絡(luò)處理器使用這些過濾規(guī)則來指引通信流。在一些更高級的應(yīng)用中,在網(wǎng)絡(luò)過載的情況下,可以調(diào)用服務(wù)類別過濾規(guī)則,來以不同方式處理某些數(shù)據(jù)流。以下描述處理單個類別或類型的數(shù)據(jù)流。
如上所述,當(dāng)一網(wǎng)絡(luò)通信產(chǎn)品擔(dān)當(dāng)一服務(wù)器或一服務(wù)器群的一網(wǎng)關(guān)或一入口時,網(wǎng)絡(luò)管理員可以使用由網(wǎng)絡(luò)處理器(NP)提供的功能,設(shè)置一些過濾規(guī)則,來把通信流指引到特定服務(wù)器,重定向通信流,或者丟棄通信流,這些都基于預(yù)定的一組穩(wěn)定狀態(tài)規(guī)則。例如,所有視頻通信流可以具有高的優(yōu)先級,并可以總是被路由到一特定的高性能服務(wù)器。然而,任何使用過因特網(wǎng)/內(nèi)部網(wǎng)的人都遇到過這樣的情況,其中由于對一特定應(yīng)用(例如電子郵件)的一特定類別的服務(wù)的擁塞,延遲變得過長,而在大多數(shù)時候,這是因?yàn)橐环?wù)器由于置于該服務(wù)器之上的瞬時負(fù)載而無法進(jìn)行響應(yīng)。在極端情況下,當(dāng)一個人或幾個人的小集團(tuán)向一特定服務(wù)器發(fā)送大量對服務(wù)的請求,因而拒絕了其他人對該服務(wù)器的諸資源的使用時,會發(fā)生被稱為拒絕服務(wù)攻擊的對服務(wù)器的攻擊。
根據(jù)這里描述的本發(fā)明,NP具有兩個獨(dú)特的功能,其可以用來解決這個問題。首先,NP具有使用其諸微微處理器(picoprocessor)之一(或其嵌入的控制點(diǎn)處理器)來提供對數(shù)據(jù)流的實(shí)時分析的能力。其次,NP既可以看到進(jìn)入服務(wù)器的進(jìn)入通信流,也可以看到離開服務(wù)器的外出通信流。
NP的基本功能是監(jiān)視流向一服務(wù)器的數(shù)據(jù)包流并對該數(shù)據(jù)包流施加其一組可編程的過濾器。當(dāng)NP提供這種功能時,它能夠監(jiān)視流向特定服務(wù)器(或端口)的數(shù)據(jù)包流的速率。對于這種監(jiān)視數(shù)據(jù)包流的功能,本發(fā)明添加了這樣的功能,即使用其嵌入的處理器之一,通過確定每秒包數(shù)對時間的一次導(dǎo)數(shù),來分析流速率。一旦NP看到發(fā)生偏離一正常條件的顯著變化(例如通信流速率的變化率的顯著增加),它可以施加對包的附加過濾(丟棄或重新路由),以便服務(wù)器不會變得過載。這是對拒絕服務(wù)攻擊的所希望的反應(yīng)。當(dāng)NP看到趨向一正常條件的顯著變化(如通信流速率的變化率的顯著減小)時,NP可以恢復(fù)到流向該服務(wù)器的數(shù)據(jù)流的原來狀態(tài)。
利用NP的觀察離開服務(wù)器的外出數(shù)據(jù)流的能力,可以對這個技術(shù)完成一附加的改進(jìn)。在這種情況下,當(dāng)本發(fā)明的NP通過其一次導(dǎo)數(shù)分析,確定從一服務(wù)器外出的數(shù)據(jù)流的變化率表現(xiàn)出顯著減小時,NP可以在進(jìn)入該服務(wù)器的數(shù)據(jù)流上施加附加的過濾(丟棄或重新路由),直到當(dāng)離開該服務(wù)器的數(shù)據(jù)流恢復(fù)正常時為止。
現(xiàn)在參照圖1,為完整性起見,本發(fā)明所考慮的一計(jì)算機(jī)系統(tǒng)100包括一中央處理單元(CPU)110、一主存儲器120、一海量存儲設(shè)備接口140和一網(wǎng)絡(luò)接口150,它們都由系統(tǒng)總線160連接起來。本領(lǐng)域的技術(shù)人員將會理解,該系統(tǒng)包括所有類型的計(jì)算機(jī)系統(tǒng)個人計(jì)算機(jī)、中型計(jì)算機(jī)、大型計(jì)算機(jī)等。應(yīng)注意,在這里描述的本發(fā)明的范圍之內(nèi),可以對該計(jì)算機(jī)系統(tǒng)100進(jìn)行很多添加、修改和刪除。這樣的例子(未示出)有一計(jì)算機(jī)監(jiān)視器、一輸入鍵盤、一高速緩沖存儲器、以及諸如打印機(jī)等外圍設(shè)備。本發(fā)明可以作為一Web服務(wù)器而運(yùn)行,這種Web服務(wù)器通常是由個人計(jì)算機(jī)或中型計(jì)算機(jī)實(shí)施的。
CPU 110可以由一個或多個微處理器和/或集成電路來構(gòu)成。CPU 110執(zhí)行存儲在主存儲器120中的程序指令。主存儲器120存儲計(jì)算機(jī)可以訪問的程序和數(shù)據(jù)。當(dāng)計(jì)算機(jī)系統(tǒng)100啟動時,CPU 110起初執(zhí)行操作系統(tǒng)134的程序指令。操作系統(tǒng)134是一種管理計(jì)算機(jī)系統(tǒng)100的諸資源的復(fù)雜程序。這些資源中的一些是CPU 110、主存儲器120、海量存儲設(shè)備接口140、網(wǎng)絡(luò)接口150和系統(tǒng)總線160。
主存儲器120包括一Web服務(wù)器應(yīng)用122、一事務(wù)處理器124、一個或多個宏文件126、一配置文件128、一個或多個語言處理器130、一操作系統(tǒng)134、一個或多個應(yīng)用程序136和程序數(shù)據(jù)138。應(yīng)用程序136在操作系統(tǒng)134的控制下由CPU 110執(zhí)行。應(yīng)用程序136可以使用程序數(shù)據(jù)138作為輸入而運(yùn)行。應(yīng)用程序136也可以輸出其結(jié)果,作為主存儲器中的程序數(shù)據(jù)138。當(dāng)計(jì)算機(jī)系統(tǒng)100作為一Web服務(wù)器運(yùn)行時,CPU 110在執(zhí)行其他程序之外,執(zhí)行一Web服務(wù)器應(yīng)用122。事務(wù)處理器124是處理存儲在一個或多個宏文件126中的HTML頁的程序。當(dāng)事務(wù)處理器124初始化時,它讀取配置文件128,以把不同類型的查詢與不同的語言處理器130關(guān)聯(lián)起來。當(dāng)在一頁中發(fā)現(xiàn)一動態(tài)數(shù)據(jù)的查詢時,事務(wù)處理器124從配置數(shù)據(jù)(從所述配置文件中讀取的)確定它應(yīng)當(dāng)調(diào)用哪個語言處理器130來處理所述查詢。然后,適當(dāng)?shù)恼Z言處理器130查詢一數(shù)據(jù)源,例如存儲器或者一數(shù)據(jù)庫,以獲取所述動態(tài)數(shù)據(jù)。語言處理器130將所述動態(tài)數(shù)據(jù)傳遞給事務(wù)處理器124,由其將所述動態(tài)數(shù)據(jù)插入所選擇頁的HTML數(shù)據(jù)中。
海量存儲設(shè)備接口140允許計(jì)算機(jī)系統(tǒng)100從一些附加的存儲設(shè)備例如磁盤(硬盤、軟盤)和光盤(CD-ROM)中獲取和存儲數(shù)據(jù)。這些海量存儲設(shè)備一般稱為直接存取存儲設(shè)備(DASD),并且作為信息的永久存儲設(shè)備。DASD的一種適當(dāng)類型是軟盤驅(qū)動器180,其從一軟盤186中讀取數(shù)據(jù)和在其中寫入數(shù)據(jù)。來自DASD的數(shù)據(jù)可以是多種形式的。常見的形式是應(yīng)用程序和程序數(shù)據(jù)。通過海量存儲設(shè)備接口140獲得的數(shù)據(jù)經(jīng)常被放在主存儲器120中,CPU 110可以在其中對數(shù)據(jù)進(jìn)行處理。
盡管主存儲器120和DASD設(shè)備180通常是相互分離的存儲設(shè)備,計(jì)算機(jī)系統(tǒng)110使用公知的虛擬尋址機(jī)制,使得計(jì)算機(jī)系統(tǒng)100的諸程序表現(xiàn)得似乎它們只是在訪問一個大的、單一的存儲實(shí)體,而不是在訪問多個、較小的存儲實(shí)體(例如主存儲器120和DASD設(shè)備180)。因此,盡管某些單元被顯示為駐留在主存儲器120中,本領(lǐng)域的技術(shù)人員會認(rèn)識到這些單元不一定同時都完全包含在主存儲器120中。應(yīng)當(dāng)注意,“存儲器”一詞在這里被用來一般性地指計(jì)算機(jī)系統(tǒng)100的整個虛擬存儲器。
網(wǎng)絡(luò)接口150使得計(jì)算機(jī)系統(tǒng)100可以向與該計(jì)算機(jī)系統(tǒng)連接的任何網(wǎng)絡(luò)發(fā)送數(shù)據(jù)和從其接收數(shù)據(jù)。該網(wǎng)絡(luò)可以是一局域網(wǎng)(LAN)、一廣域網(wǎng)(WAN),或更特別地,是因特網(wǎng)170。連接到因特網(wǎng)的適當(dāng)方法包括已知的模擬和/或數(shù)字技術(shù),以及將在未來開發(fā)的聯(lián)網(wǎng)技術(shù)。可以使用很多不同的網(wǎng)絡(luò)協(xié)議來實(shí)施一網(wǎng)絡(luò)。這些協(xié)議是一些專門的計(jì)算機(jī)程序,其使得諸計(jì)算機(jī)可以在網(wǎng)絡(luò)上相互通信。用于在因特網(wǎng)上通信的TCP/IP(傳輸控制協(xié)議/網(wǎng)際協(xié)議)是一適當(dāng)?shù)木W(wǎng)絡(luò)協(xié)議的例子。
系統(tǒng)總線160使得數(shù)據(jù)可以在計(jì)算機(jī)系統(tǒng)100的各個組件之間傳輸。盡管計(jì)算機(jī)系統(tǒng)100被顯示為只包含單個主CPU和單個系統(tǒng)總線,本領(lǐng)域的技術(shù)人員將認(rèn)識到,本發(fā)明可以使用具有多個CPU和/或多個總線的計(jì)算機(jī)系統(tǒng)來實(shí)施。
在此,應(yīng)當(dāng)注意,盡管本發(fā)明已經(jīng)(并將繼續(xù))在一個全功能的計(jì)算機(jī)系統(tǒng)的情境中得到描述,本領(lǐng)域的技術(shù)人員將認(rèn)識到,本發(fā)明的各組成部分能夠作為以各種形式存在的程序產(chǎn)品而被分發(fā),并且不管實(shí)際用于進(jìn)行分發(fā)的信號承載介質(zhì)的特定類型,本發(fā)明都同樣適用。信號承載介質(zhì)的例子包括可記錄類型的介質(zhì),例如軟盤(如圖1中的186)和CD ROM(未示出),以及傳輸類型的介質(zhì),例如數(shù)字和模擬通信鏈路。
在本發(fā)明中,計(jì)算機(jī)系統(tǒng)100可作為一Web服務(wù)器而運(yùn)行。為此,CPU 110執(zhí)行一Web服務(wù)器應(yīng)用122。假設(shè)操作系統(tǒng)134是多任務(wù)操作系統(tǒng),則在計(jì)算機(jī)系統(tǒng)100中可以同時地運(yùn)行另一個應(yīng)用程序136。Web服務(wù)器通常連接到因特網(wǎng)170。如已經(jīng)討論過的,因特網(wǎng)是一個跨越全球的由數(shù)百萬臺計(jì)算機(jī)共享的眾所周知的計(jì)算機(jī)網(wǎng)絡(luò)。在因特網(wǎng)上有很多Web服務(wù)器。每個連接到因特網(wǎng)上的計(jì)算機(jī)都有自己的唯一地址,這使得它可以通過該網(wǎng)絡(luò)與其他計(jì)算機(jī)通信。在因特網(wǎng)上可以發(fā)送很多不同類型的數(shù)據(jù)。其例子有電子郵件、程序數(shù)據(jù)、數(shù)字化語音數(shù)據(jù)、計(jì)算機(jī)圖形、和網(wǎng)頁。
現(xiàn)在參照圖2,多個計(jì)算機(jī)系統(tǒng)100A、100B、100C和100D通過網(wǎng)絡(luò)處理器10連接在一起而形成一服務(wù)器群。在圖3和圖4中以及下面對其中所示結(jié)構(gòu)以及示例性操作的描述中,對網(wǎng)絡(luò)處理器10作了更充分的描繪和說明。在該群中結(jié)合起來的諸計(jì)算機(jī)系統(tǒng)可以具有不同的被分配的功能。例如,一個計(jì)算機(jī)系統(tǒng)可以被指定服務(wù)于這樣的批處理請求,即請求對存儲在相關(guān)聯(lián)的DASD中的數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘。同一群中的另一計(jì)算機(jī)系統(tǒng)可以被指定為一郵件服務(wù)器。另一個計(jì)算機(jī)系統(tǒng)可以被指定處理對存儲在相關(guān)聯(lián)的DASD中的數(shù)據(jù)的實(shí)時請求。還有一個計(jì)算機(jī)系統(tǒng)可以被指定為一應(yīng)用服務(wù)器,其為該網(wǎng)絡(luò)中的其他系統(tǒng)提供應(yīng)用程序,這些應(yīng)用程序可以被傳輸以便在客戶系統(tǒng)上進(jìn)行暫時的使用?;蛘撸@些系統(tǒng)可以作為并行的網(wǎng)頁宿主系統(tǒng)而提供服務(wù),并且每個(公開時未提供)指諸廣域網(wǎng)(WAN)。這里描述的本發(fā)明在使用“幀”時也同樣可以發(fā)揮作用,“幀”這一術(shù)語與在提到局域網(wǎng)(LAN)時一般采取的用法是一致的。
網(wǎng)絡(luò)處理器預(yù)計(jì)將成為基本的網(wǎng)絡(luò)構(gòu)件,其與網(wǎng)絡(luò)的關(guān)系就如同CPU與PC的關(guān)系。NP所提供的通常功能有實(shí)時處理、安全、存儲和轉(zhuǎn)發(fā)、交換結(jié)構(gòu)、IP包處理以及學(xué)習(xí)能力。
處理器模型NP包含多個通用處理器和專門邏輯。集成商們正在轉(zhuǎn)向這種設(shè)計(jì),以便提供能夠以一種及時的和在成本上有競爭力的方式適應(yīng)變化的可伸縮的、靈活的解決方案。處理器模型NP允許較低集成水平上的分布式處理,因而提供了更高的吞吐量、靈活性和控制??删幊绦允沟萌菀滓浦驳叫碌膮f(xié)議和技術(shù),而無需新的專用集成電路(ASIC)設(shè)計(jì)。
盡管這種網(wǎng)絡(luò)處理器在硬件中支持多層轉(zhuǎn)發(fā),它也可以作為只使用L2的交換機(jī)而運(yùn)行,并且在其諸相關(guān)應(yīng)用中披露的最簡單形式中,這是它的默認(rèn)運(yùn)行模式。每個端口都將被置于一單個域中,這使得該域中的任何一個設(shè)備可以與該域中的任何其他設(shè)備通信。該裝置在L2是可配置的,這使得系統(tǒng)管理員能夠配置諸如以下特征將諸端口分組到不同的域或主干(trunk),配置虛擬LAN(VLAN)網(wǎng)段,或者施加過濾。
下文描述的該裝置的某些部分被設(shè)計(jì)為這樣的模塊單元,其使用一接口設(shè)備或網(wǎng)絡(luò)處理器(NP)和一控制點(diǎn)(CP)作為其基本構(gòu)件。當(dāng)多于兩個接口設(shè)備子系統(tǒng)連接在一起時,可以使用一可選的交換結(jié)構(gòu)設(shè)備。該可選的交換結(jié)構(gòu)設(shè)備可以是如美國專利第5,008,878號中所披露的設(shè)備,該專利頒發(fā)于1991年4月16日,標(biāo)題為“用于線路和包交換通信流的高速模塊式交換設(shè)備”(High Speed Modular Switching Apparatus for Circuitand Packet Switched Traffic),其被包含在此處以作為參考,從而便于理解本發(fā)明。使用可選的交換結(jié)構(gòu)設(shè)備的目的是增加在一個群中支持的服務(wù)器系統(tǒng)的數(shù)量和/或增加到達(dá)或離開所支持的服務(wù)器的數(shù)據(jù)流的速率。人們知道,一單個網(wǎng)絡(luò)處理器設(shè)備可以發(fā)揮一基本交換機(jī)的作用,并且在以下討論的某些部分,使用“交換機(jī)”一詞來指一NP。
該裝置可以包括由一NP、一CP和一介質(zhì)互連機(jī)制組成的一單個組件。然而,使用在這里也被稱為“可選卡”或“刀片”(blade)的印刷電路板單元,預(yù)期可以組裝出更復(fù)雜的裝置。這些印刷電路板單元具有安裝于其上的電路單元,并由設(shè)置在裝置機(jī)殼例如服務(wù)器計(jì)算機(jī)系統(tǒng)機(jī)殼中的連接器所接納。本裝置考慮到卡可以在各種不同的底架或機(jī)殼之間互換,只要在每個底架或機(jī)殼上提供了適當(dāng)?shù)倪B接器和底板電連接。在很多(如果不是全部)可選卡上可以發(fā)現(xiàn)的一基本組件是載體子系統(tǒng)。
在其最簡單的形式中,本發(fā)明所考慮的接口裝置具有一控制點(diǎn)處理器,以及與所述控制點(diǎn)處理器運(yùn)行地連接的一接口設(shè)備。優(yōu)選地并如這里所披露的,所述接口設(shè)備(在這里也被標(biāo)識為一網(wǎng)絡(luò)處理器或NP)是一個具有一半導(dǎo)體基片的單一的超大規(guī)模集成(VLSI)電路設(shè)備或芯片;在所述基片上形成有多個接口處理器;在所述基片上形成有內(nèi)部指令存儲器,其用于存儲可由所述諸接口處理器訪問的指令;在所述基片上形成有內(nèi)部數(shù)據(jù)存儲器,其用于存儲通過該設(shè)備的、可以由所述諸接口處理器訪問的數(shù)據(jù);以及多個輸入/輸出端口。這些接口處理器在這里有時也被稱為微微處理器或處理單元。所提供的諸端口包括至少一個這樣的端口,其將所述內(nèi)部數(shù)據(jù)存儲器與外部數(shù)據(jù)存儲器連接起來,以及至少兩個其他端口,其用于在所述諸接口處理器的指導(dǎo)下,將通過該接口設(shè)備的數(shù)據(jù)與一外部設(shè)備或網(wǎng)絡(luò)相交換。所述控制點(diǎn)與所述接口設(shè)備協(xié)作,其方法是向所述指令存儲器裝入這樣的指令,這些指令由所述諸接口處理器執(zhí)行,以指導(dǎo)所述諸數(shù)據(jù)交換輸入/輸出端口之間的數(shù)據(jù)交換和通過所述數(shù)據(jù)存儲器的數(shù)據(jù)流。也考慮到,這里被描述為由在一單個基片上形成的諸單元所執(zhí)行的諸功能也可以分配到多個基片上,如當(dāng)使用一組芯片而不是一單個芯片時那樣。
這里披露的網(wǎng)絡(luò)處理器,除了包含它的組件和組合例如這里描述的服務(wù)器群之外,被認(rèn)為是有創(chuàng)造性的。此外,所述網(wǎng)絡(luò)處理器被認(rèn)為在這里描述的其諸單元中具有這里未完全討論的其他的和進(jìn)一步的發(fā)明。
為了獲得更完整的理解,圖3示出了接口設(shè)備芯片10的框圖,該芯片包括一基片和多個集成在所述基片之上的子組件。這些子組件被安排為一上行結(jié)構(gòu)和一下行結(jié)構(gòu)。如這里所用的,“上行”指流入這里所披露的裝置的數(shù)據(jù)流,而“下行”指從該裝置向外流出到該裝置所服務(wù)的一設(shè)備或網(wǎng)絡(luò)的數(shù)據(jù)流。數(shù)據(jù)流沿著其各自的結(jié)構(gòu)流動。因而,有一個上行數(shù)據(jù)流和一個下行數(shù)據(jù)流。所述上行結(jié)構(gòu)中的子組件包括入隊(duì)出隊(duì)調(diào)度UP(EDS-UP)邏輯16、多路復(fù)用MAC-UP(PPM-UP)14、交換數(shù)據(jù)移動器UP(SDM-UP)18、系統(tǒng)接口(SIF)20、數(shù)據(jù)對準(zhǔn)串行鏈路A(DASLA)22、和數(shù)據(jù)對準(zhǔn)串行鏈路B(DASLB)24。數(shù)據(jù)對準(zhǔn)串行鏈路在共同未決的美國專利申請第09/330,968號中作了更充分的描述,該申請的申請日為1999年6月11日,標(biāo)題為“用于數(shù)據(jù)通信的高速并行/串行鏈路”(HighSpeed Parallel/Serial Link for Data Communication),其被包含在此處以作為參考,從而便于更充分地理解這里披露的本發(fā)明。盡管這里披露的本發(fā)明的裝置的優(yōu)選形式使用了DASL鏈路,本發(fā)明考慮到也可以采用其他形式的鏈路以獲得較高的數(shù)據(jù)流速率,特別是當(dāng)數(shù)據(jù)流限于VLSI結(jié)構(gòu)之內(nèi)時。
下行結(jié)構(gòu)中的子組件包括DASL-A 26、DASL-B 28、SIF 30、SDM-DN32、EDS-DN 34、和PPM-DN 36。該芯片也包括多個內(nèi)部S-RAM 15和17、通信流消息調(diào)度器40、以及嵌入式處理器復(fù)合體(EPC)12。一接口設(shè)備38由各自的DMU總線35、37連接到PMM 14和36。接口38可以是任何合適的L1電路,如以太網(wǎng)物理層(ENET PHY)、ATM成幀器、SONET上的IP等。接口的類型部分地由該芯片所連接的網(wǎng)絡(luò)介質(zhì)或其它設(shè)備所決定。多個外部D-RAM和S-RAM可由該芯片使用。
諸箭頭示出了在該接口設(shè)備中的通常的數(shù)據(jù)流。例如,從MAC接收到的幀由EDS-UP置于內(nèi)部數(shù)據(jù)存儲緩沖器。這些幀被識別為或者是一般的數(shù)據(jù)幀,或者是系統(tǒng)控制引導(dǎo)幀,并被入隊(duì)到EPC。EPC包含N個協(xié)議處理器,其能夠并行地處理多達(dá)N個幀(N>1)。在如圖4所示帶有多個協(xié)議處理器(P1-Pn)的代表性實(shí)施例中,其中兩個協(xié)議處理器是專用的;一個用于處理引導(dǎo)幀(通用中央處理器或GCH)102,一個用于在控制存儲器中建立查找數(shù)據(jù)(通用樹處理器或GTH)104。EPC還包含調(diào)度器108,其將新幀與空閑處理器相匹配;完成單元110,其維護(hù)幀的順序;公共指令存儲器(CIM)112,其由所有10個處理器共享;分類器硬件助理(CHA)114,其決定幀的分類,及其協(xié)處理器(未示出),其幫助確定幀的開始指令地址;進(jìn)入和外出數(shù)據(jù)存儲(IEDS)接口116,其控制幀緩沖器的讀寫操作;控制存儲器仲裁器(CMA)118,其允許所述10個處理器共享控制存儲器120;Web控制、仲裁和接口(WCAI)122,其允許對諸內(nèi)部接口設(shè)備數(shù)據(jù)結(jié)構(gòu)以及其他諸硬件結(jié)構(gòu)的調(diào)試訪問。
引導(dǎo)幀當(dāng)所述GCH處理器102變?yōu)榭捎脮r由所述調(diào)度器發(fā)送給所述GCH處理器102。編碼在引導(dǎo)幀中的操作,例如寄存器寫、計(jì)數(shù)器讀、MAC配置更改等等,被執(zhí)行。查找表的更改,例如添加MAC或IP條目,被傳遞給查找數(shù)據(jù)處理器104,以便用于控制存儲器的操作,例如存儲器讀和寫。某些命令,例如MIB計(jì)數(shù)器讀,要求構(gòu)建一響應(yīng)幀,并轉(zhuǎn)發(fā)給適當(dāng)接口設(shè)備116上的適當(dāng)端口。在某些情況下,引導(dǎo)幀為接口設(shè)備的外出端進(jìn)行編碼。這些幀被轉(zhuǎn)發(fā)給正被查詢的接口設(shè)備的外出端,所述接口設(shè)備然后執(zhí)行編碼的操作,并構(gòu)建任何適當(dāng)?shù)捻憫?yīng)幀。
數(shù)據(jù)幀被發(fā)派給下一個可用的協(xié)議處理器以進(jìn)行幀查找。幀數(shù)據(jù)與來自分類器硬件助理(CHA)引擎114的結(jié)果一起被傳給所述協(xié)議處理器。所述CHA分析IP或IPX。其結(jié)果決定了樹搜索算法和起始公共指令地址(CIA)。所支持的樹搜索算法包括固定匹配樹(要求精確匹配的固定大小的模式,例如層2 MAC表)、最長前綴匹配樹(要求變長匹配的變長模式,例如子網(wǎng)IP轉(zhuǎn)發(fā))、以及軟件管理的樹(規(guī)定或者一范圍或者一組比特掩碼的兩個模式,例如用于過濾器規(guī)則的)。
查找是在樹搜索引擎(TSE)協(xié)處理器的幫助下進(jìn)行的,該協(xié)處理器是每個協(xié)議處理器(P1-Pn)的一部分。TSE協(xié)處理器執(zhí)行控制存儲器訪問,從而釋放協(xié)議處理器,使其繼續(xù)執(zhí)行??刂拼鎯ζ鞔鎯ξ⑽⒋a(picocode)所需要的所有表、計(jì)數(shù)器和其他數(shù)據(jù)??刂拼鎯ζ鞑僮魇怯煽刂拼鎯ζ髦俨闷?18管理的,該仲裁器在所述10個處理器復(fù)合體之間仲裁存儲器訪問。
幀數(shù)據(jù)是通過數(shù)據(jù)存儲協(xié)處理器(未示出)訪問的。數(shù)據(jù)存儲協(xié)處理器包含一主數(shù)據(jù)緩沖器(容納最高達(dá)8個16字節(jié)的幀數(shù)據(jù)段)、一便箋本(scratch pad)數(shù)據(jù)緩沖器(也容納最高達(dá)8個16字節(jié)的幀數(shù)據(jù)段)以及某些用于數(shù)據(jù)存儲操作的控制寄存器。一旦發(fā)現(xiàn)一匹配,則進(jìn)入幀更改可能包括一VLAN報頭插入或覆蓋。這種更改不是由接口設(shè)備處理器復(fù)合體完成的;而是,得出諸硬件標(biāo)志,由其他進(jìn)入交換機(jī)接口硬件進(jìn)行所述更改。其他幀更改可以由所述微微代碼和所述數(shù)據(jù)存儲協(xié)處理器通過修改保持在所述進(jìn)入數(shù)據(jù)存儲中的幀內(nèi)容來完成。
外出樹搜索支持與進(jìn)入搜索所支持的算法同樣的算法。查找是由TSE協(xié)處理器執(zhí)行的,從而釋放協(xié)議處理器,使其繼續(xù)執(zhí)行。所有控制存儲器操作是由控制存儲器仲裁器118管理的,該仲裁器在所述10個處理器復(fù)體體之間分配存儲器訪問。外出幀數(shù)據(jù)是通過數(shù)據(jù)存儲協(xié)處理器訪問的。如以上討論的,數(shù)據(jù)存儲協(xié)處理器包含一主數(shù)據(jù)緩沖器(容納最高達(dá)8個16字節(jié)的幀數(shù)據(jù)段)、一便箋本數(shù)據(jù)緩沖器(也容納最高達(dá)8個16字節(jié)的幀數(shù)據(jù)段)以及某些用于數(shù)據(jù)存儲操作的控制寄存器。一次成功查找的結(jié)果包含轉(zhuǎn)發(fā)信息,以及在某些情況下的幀更改信息。幀更改可以包括VLAN報頭刪除、生存時間增加或減少、IP報頭校驗(yàn)和重計(jì)算、以太網(wǎng)幀CRC覆蓋或插入、以及MAC DA/SA覆蓋或插入。IP報頭校驗(yàn)和是由校驗(yàn)和協(xié)處理器產(chǎn)生的。更改不是由接口設(shè)備處理器復(fù)合體完成的;而是,生成諸硬件標(biāo)志,由PMM外出硬件進(jìn)行所述更改。完成后,使用一入隊(duì)協(xié)處理器來幫助構(gòu)建必要的格式,以便將幀入隊(duì)到所述EDS外出隊(duì)列,并將它們發(fā)送給完成單元110。完成單元110保證從所述10個協(xié)議處理器到饋送到圖3所示的外出MAC的EDS外出隊(duì)列的幀的順序。所完成的幀最終由PMM外出硬件發(fā)送到MAC,并從端口發(fā)出。
所述樹搜索引擎協(xié)處理器提供存儲器范圍檢查,提供非法存儲器訪問通知,并執(zhí)行樹搜索指令(例如存儲器讀、寫或讀-加-寫),這些操作是與協(xié)議處理器的執(zhí)行并行執(zhí)行的。調(diào)度器108控制幀到所述10個協(xié)議處理器的傳遞,并管理中斷和計(jì)時器。完成單元110保證從所述處理器復(fù)合體到諸目標(biāo)端口隊(duì)列的幀順序。一豐富的指令集包括條件執(zhí)行、壓縮(對于輸入的散列關(guān)鍵字)、條件轉(zhuǎn)移、帶符號和無符號操作、前導(dǎo)零計(jì)數(shù)及其他。
分類器硬件助理引擎114傳遞每個幀的層2和層3協(xié)議報頭,并在幀被發(fā)派給所述諸協(xié)議處理器時將該信息提供給這些幀??刂拼鎯ζ髦俨闷?18控制處理器對內(nèi)部和外部存儲器二者的訪問。外出幀可以被存儲在或者一個外部數(shù)據(jù)緩沖器(例如DS0)中或者兩個外部數(shù)據(jù)緩沖器中(圖3中的44)。每個緩沖器可以由一對2M×16位×4存儲體的DDR DRAM構(gòu)成(存儲最高達(dá)256K的64字節(jié)幀),或者由一對4M×16位×4存儲體的DDR DRAM構(gòu)成(存儲最高達(dá)512K的64字節(jié)幀)。選擇單個外部數(shù)據(jù)緩沖器(例如DS0)用于2.28Mbps,或者添加第二個緩沖器(例如DS1)以支持4.57Mbps的層2和層3交換。添加第二緩沖器可以提高性能,但它不增加幀容量。所述外部數(shù)據(jù)緩沖器接口以133MHz的時鐘速率和266MHz的數(shù)據(jù)選通運(yùn)行,并支持可配置的CAS延遲和驅(qū)動強(qiáng)度。
固定幀更改包括在進(jìn)入方向的VLAN標(biāo)志插入,在外出方向的VLAN標(biāo)志刪除、生存期增加/減少、以太網(wǎng)CRC覆蓋/插入、和MAC DA/SA覆蓋/插入。
端口鏡像允許一個接收端口和一個發(fā)送端口被復(fù)制到一個系統(tǒng)指定的觀察端口,而不使用協(xié)議處理器資源。被鏡像的接口設(shè)備端口被配置為添加幀和交換機(jī)控制數(shù)據(jù)。一單獨(dú)的數(shù)據(jù)路徑允許幀直接入隊(duì)到進(jìn)入交換機(jī)接口。
所述網(wǎng)絡(luò)處理器運(yùn)行在從所述控制點(diǎn)處理器動態(tài)裝入諸微微處理器的諸規(guī)則之下。這些規(guī)則可以在運(yùn)行中改變,以適應(yīng)變化的條件。本發(fā)明中,正是使用網(wǎng)絡(luò)處理器的這種功能來產(chǎn)生良好效果的。
下面是對已經(jīng)實(shí)施的諸隊(duì)列管理策略的有些寬泛的討論。這一討論是要表明可用于防止DOS攻擊的一類過濾規(guī)則組的能力,并將既包括對已知的和通用的技術(shù)的描述,也包括對專有技術(shù)的描述。
如上文簡單提到的,人們已開發(fā)出一些方法,以便控制流經(jīng)一數(shù)據(jù)路徑交換機(jī)例如一NP的通信流,從而提高該交換機(jī)被使用于其中的網(wǎng)絡(luò)的性能。特別地,使用了一種被稱為RED(隨機(jī)早期丟棄或檢測)的傳統(tǒng)方法。這一傳統(tǒng)方法通常由一入隊(duì)機(jī)制所使用,以控制通過一相應(yīng)隊(duì)列的通信流。
在稱為時期(epoch)的一短暫期間結(jié)束時,所述入隊(duì)機(jī)制確定該時期中該隊(duì)列的隊(duì)列水平。應(yīng)注意,所確定的隊(duì)列水平可能是該時期的平均隊(duì)列水平。此外,所確定的隊(duì)列水平可能是該隊(duì)列是其一部分的存儲器資源的總水平。然后確定所述隊(duì)列水平是否超過了一最小閾值。如果所述隊(duì)列水平未超過所述最小閾值,則設(shè)置一傳統(tǒng)的傳輸比例。所述傳輸比例決定在下一時期中將傳輸?shù)陌谋壤鹘y(tǒng)的丟棄比例確定將被丟棄的包的比例。所述傳統(tǒng)的丟棄比例等于1減去所述傳統(tǒng)的傳輸比例。因此1的傳輸比例表明所有的包都應(yīng)被傳輸,而沒有任何包被丟棄。
如果確定了所述隊(duì)列水平超過所述最小閾值,則接著確定是否所述時期的所述隊(duì)列水平超過一最大閾值。如果所述隊(duì)列水平大于所述最大閾值,則所述傳統(tǒng)的傳輸比例被設(shè)置為0,而所述傳統(tǒng)的丟棄比例被設(shè)置為1。如果所述隊(duì)列水平?jīng)]有超過所述最大閾值,則所述傳統(tǒng)的丟棄比例被設(shè)置為與前一個時期的隊(duì)列水平除以一最大可能的隊(duì)列水平成比例,或者,作為另一種選擇,與所述隊(duì)列水平的某種其他線性函數(shù)成比例。這樣,所述傳統(tǒng)丟棄比例與所占用的隊(duì)列的比例或所述隊(duì)列水平的某種其他線性函數(shù)成比例。所述傳統(tǒng)的傳輸比例也被設(shè)置為與1減去所述傳統(tǒng)的丟棄比例成比例。然后,利用所述傳統(tǒng)的傳輸比例和所述傳統(tǒng)的丟棄比例,在下一個時期中隨機(jī)地丟棄包。因此,當(dāng)所述隊(duì)列水平低于所述最小閾值時,在下一個時期中,所有的包都將被所述入隊(duì)機(jī)制傳輸給所述隊(duì)列。當(dāng)所述隊(duì)列水平大于一最大閾值時,則在下一個時期中,所有的包都將被所述入隊(duì)機(jī)制丟棄,或入隊(duì)到一丟棄隊(duì)列中。當(dāng)所述隊(duì)列水平處于所述最小閾值和所述最大閾值之間時,則由所述入隊(duì)機(jī)制丟棄的包的比例與所占用隊(duì)列的比例或所述隊(duì)列水平的某種其他線性函數(shù)成比例。因此,所述隊(duì)列水平越高,則被丟棄的包的比例也越高。此外,可以向被丟棄的包的發(fā)送者提供一通知,其使得發(fā)送者暫停發(fā)送其他的包一段時間。被選擇丟棄的各個包也可以是隨機(jī)選擇的。例如,對于每一個包,所述入隊(duì)機(jī)制可以產(chǎn)生一個0和1之間的隨機(jī)數(shù)。將所述隨機(jī)數(shù)與所述傳統(tǒng)的丟棄比例相比較。如果所述隨機(jī)數(shù)小于或等于所述傳統(tǒng)的丟棄比例,則該包被丟棄。否則,該包被傳輸給所述隊(duì)列。這一基于傳輸比例來丟棄包的過程持續(xù)進(jìn)行,直到確定所述時期已經(jīng)結(jié)束。當(dāng)所述時期結(jié)束時,該方法再次開始為下一個時期確定傳統(tǒng)的傳輸比例,并在下一個時期,根據(jù)所述傳統(tǒng)的傳輸比例而丟棄包。
因?yàn)榘梢愿鶕?jù)隊(duì)列水平而被丟棄,所以RED方法允許對通過一交換機(jī)的通信流進(jìn)行某種控制。結(jié)果,與不具有用來在隊(duì)列變滿之前丟棄包的任何機(jī)制的一交換機(jī)相比,由于丟尾(droptail)而丟棄的包更少。在由于隊(duì)列已滿而必須丟棄包的時候,就會發(fā)生丟尾。結(jié)果,在確定是否丟棄包的時候,就沒有機(jī)會考慮該包的優(yōu)先級。此外,在一些情況下,該方法可以減少同時向該交換機(jī)發(fā)送包的諸主機(jī)。這是由于可以基于所述傳統(tǒng)的傳輸比例而隨機(jī)地丟棄包,而不是當(dāng)所述隊(duì)列水平處于或接近所述最大隊(duì)列水平時丟棄所有的包。因此,比之不利用方法RED的一交換機(jī),即只是當(dāng)其緩沖器資源耗盡時簡單地丟棄以后到達(dá)的包的一交換器,該交換機(jī)的性能得到提高。
雖然RED方法改善了交換機(jī)的運(yùn)行,但本領(lǐng)域的技術(shù)人員可以很容易地認(rèn)識到,在很多情況下,RED方法不能適當(dāng)?shù)乜刂仆ㄐ帕鳌1M管包或信元可以在隊(duì)列變滿之前被丟棄,主機(jī)在某些情況下仍然傾向于變得同步起來。特別對于中等或更高等級的通信流擁塞更是這樣。所述傳統(tǒng)的傳輸比例是基于所述隊(duì)列水平。然而,該隊(duì)列水平可能無法表明該交換機(jī)的狀態(tài)。例如,低于所述最低閾值的一隊(duì)列水平可能是由于低水平的通信流(少量的包通過該設(shè)備)。然而,一低隊(duì)列水平也可能是由于在前一時期因?yàn)楹芨叩耐ㄐ帕髁慷l(fā)生的大量丟棄。如果所述低隊(duì)列水平是由于低的通信流水平,則增加所述傳統(tǒng)的傳輸比例是適宜的。如果所述低隊(duì)列水平是由于高的丟棄比例,則增加所述傳統(tǒng)的傳輸比例可能是不合需要的。傳統(tǒng)的RED方法未在這些情況之間作出區(qū)分。結(jié)果,所述傳統(tǒng)的傳輸比例可能在不應(yīng)當(dāng)增加的時候增加。當(dāng)發(fā)生這種情況時,隊(duì)列會很快充滿。然后,所述傳輸比例將被降低,而所述隊(duì)列水平將下降。當(dāng)所述隊(duì)列水平下降后,所述傳輸比例將增加,而隊(duì)列會變得再次充滿。該交換機(jī)因而開始在隊(duì)列充滿和隊(duì)列清空之間振蕩。結(jié)果,該交換機(jī)的平均使用率變得很低,而使用該交換機(jī)的網(wǎng)絡(luò)的性能則受到損害。
另一種方法被稱為BLUE。BLUE方法不僅考慮隊(duì)列水平,而且考慮傳輸速率和提供速率。提供速率是包或信元被提供給所述入隊(duì)機(jī)制以提供給相應(yīng)隊(duì)列的速率。下面使用一入隊(duì)機(jī)制和隊(duì)列來描述BLUE方法。對于剛剛結(jié)束的時期,確定該隊(duì)列的隊(duì)列水平、由所述入隊(duì)機(jī)制提供給該隊(duì)列的傳輸比率、以及所述提供速率。所述提供速率是包被提供給所述入隊(duì)機(jī)制的速率。因而,所述提供速率可能來自一個或多個端口所提供的通信流。
然后確定是否發(fā)生包丟失或隊(duì)列水平大于某個閾值。這兩個事件都表明應(yīng)該增加所述丟棄比例。如果是這樣,則所述丟棄比例增加一第一常量,該常量可以經(jīng)驗(yàn)地確定。這樣,所述傳輸比例,其等于1減去所述丟棄比例,就減少了。如果確定所述丟棄比例不應(yīng)該增加,則確定所述丟棄比例是否應(yīng)該減少。如果所述閾值水平低或者如果所述提供速率低,則所述丟棄比例應(yīng)該減少。如果所述丟棄比例應(yīng)該減少,則這是通過從中減少一第二常量完成的,該常量也可以經(jīng)驗(yàn)地確定。然后,或者使用該丟棄比例(如果已改變)或者使用舊的丟棄比例,來確定在下一個時期內(nèi)將傳輸給該隊(duì)列的包的比例。
(公開時沒提供)在步驟200,監(jiān)視各時期進(jìn)入的包的通信流。在步驟202,應(yīng)用各算法規(guī)則計(jì)算在相繼的各時期中的通信流速率的一次導(dǎo)數(shù)(在圖中,變化率或ROC)。然后,在步驟204,將計(jì)算出的變化率與預(yù)定的諸邊界條件相比較。如果進(jìn)入的包通信流的變化率超過已設(shè)立的一邊界條件(由被訪問的服務(wù)器資源的數(shù)據(jù)流處理功能設(shè)置),則在步驟206修改所述NP規(guī)則組,以增加丟棄進(jìn)入的包,或者將包重定向到一預(yù)定的可接受的替代網(wǎng)絡(luò)資源。如果進(jìn)入的包通信流的變化率低于所述上邊界條件,則系統(tǒng)返回到步驟202。在步驟206修改所述規(guī)則組之后,系統(tǒng)返回到步驟202以計(jì)算導(dǎo)數(shù),并且如果在步驟204確定進(jìn)入的包通信流的變化率下降到低于第二邊界條件,則在步驟206,NP規(guī)則組被修改,以通過減少包的丟棄來恢復(fù)正常的數(shù)據(jù)流。
拒絕服務(wù)攻擊的成功也可以由來自被訪問的網(wǎng)絡(luò)資源的包(即外出的包)通信流的迅速減少來表明,這顯示出該資源確實(shí)被淹沒了。因此,圖6中的步驟301中的監(jiān)視和步驟303中的計(jì)算提供了另一種保護(hù)。在步驟305確定外出的包通信流的變化率是否滿足已設(shè)立的一邊界條件。如果它低于該邊界條件,如在步驟307所確定的那樣,則在步驟309修改所述NP規(guī)則組,以增加進(jìn)入的包的丟棄或?qū)⑦M(jìn)入的包重定向到一預(yù)定的可接受的替代網(wǎng)絡(luò)資源。如果外出包通信流的變化率高于所述邊界條件,則系統(tǒng)返回到步驟303。在步驟309修改所述規(guī)則組之后,系統(tǒng)返回到步驟303以計(jì)算導(dǎo)數(shù),并且當(dāng)外出包通信流的變化率上升到超過第二邊界條件時,則如在步驟311那樣,修改NP規(guī)則組,以通過減少丟棄來恢復(fù)正常的數(shù)據(jù)流。應(yīng)當(dāng)注意的是,圖5中206處的更一般的步驟“修改NP規(guī)則”可以包括圖6所示的更具體的諸步驟或其他相當(dāng)?shù)闹T步驟。
在附圖和說明書中已經(jīng)提出了本發(fā)明的一優(yōu)選實(shí)施例,并且,盡管使用了特定的術(shù)語,如此給出的描述只是在一般性的和描述性的意義上來使用術(shù)語的,而不是為了限制的目的。
權(quán)利要求
1.一種裝置,包括具有至少一個計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)資源服務(wù)器,所述計(jì)算機(jī)系統(tǒng)包括一中央處理單元和服務(wù)器存儲器;以及與所述網(wǎng)絡(luò)資源服務(wù)器連接的網(wǎng)絡(luò)處理器,該網(wǎng)絡(luò)處理器包括多個接口處理器;用于存儲所述接口處理器可訪問的指令的指令存儲器;用于存儲經(jīng)過所述網(wǎng)絡(luò)處理器而去往或離開所述網(wǎng)絡(luò)資源服務(wù)器并可由所述接口處理器訪問的數(shù)據(jù)的數(shù)據(jù)存儲器;以及多個輸入/輸出端口;所述輸入/輸出端口中的一個端口適合于在所述接口處理器的指導(dǎo)下與一外部網(wǎng)絡(luò)交換經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù);所述輸入/輸出端口中的其他至少一個端口適合于與所述網(wǎng)絡(luò)資源服務(wù)器交換經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù);響應(yīng)于由所述接口處理器執(zhí)行已裝入所述指令存儲器中的指令,所述網(wǎng)絡(luò)處理器和所述網(wǎng)絡(luò)資源服務(wù)器協(xié)作來指導(dǎo)在所述輸入/輸出端口之間的數(shù)據(jù)交換以及經(jīng)過所述數(shù)據(jù)存儲器去往和離開所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)流;所述網(wǎng)絡(luò)處理器進(jìn)一步包括至少一個速率監(jiān)視器,用于監(jiān)視其地址為所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)流的速率,至少一個所述接口處理器包括一個用來計(jì)算數(shù)據(jù)流速率對時間的導(dǎo)數(shù)以確定數(shù)據(jù)流的變化率的組件,以及至少一個修改器,用于響應(yīng)于所確定的變化率而修改已裝入所述指令存儲器中的指令。
2.根據(jù)權(quán)利要求1的裝置,其中所述至少一個接口處理器進(jìn)一步包括用于將所述確定的變化率與至少一個預(yù)定的邊界相比較的裝置,其中當(dāng)所述變化率與所述至少一個預(yù)定的邊界具有一預(yù)先指定的關(guān)系時,所述修改器修改所述指令。
3.根據(jù)權(quán)利要求1的裝置,其中所述網(wǎng)絡(luò)處理器包括一半導(dǎo)體基片,且進(jìn)一步地,其中所述諸接口處理器、所述指令存儲器、所述數(shù)據(jù)存儲器和所述輸入/輸出端口形成在所述半導(dǎo)體基片上。
4.根據(jù)權(quán)利要求1的裝置,其中所述網(wǎng)絡(luò)處理器適合于處理通信協(xié)議,并與所述網(wǎng)絡(luò)資源服務(wù)器交換將由所述計(jì)算機(jī)系統(tǒng)處理的應(yīng)用數(shù)據(jù)。
5.根據(jù)權(quán)利要求4的裝置,其中所述網(wǎng)絡(luò)資源服務(wù)器具有服務(wù)于多種目的的多個計(jì)算機(jī)系統(tǒng),并且所述網(wǎng)絡(luò)處理器將應(yīng)用數(shù)據(jù)指引到所述計(jì)算機(jī)系統(tǒng)中的適當(dāng)?shù)囊粋€,以便由此根據(jù)該計(jì)算機(jī)系統(tǒng)的適當(dāng)目的來運(yùn)用所述數(shù)據(jù)。
6.根據(jù)權(quán)利要求4的裝置,其中所述網(wǎng)絡(luò)資源服務(wù)器具有服務(wù)于一共同目的的多個計(jì)算機(jī)系統(tǒng),并且所述網(wǎng)絡(luò)處理器將應(yīng)用數(shù)據(jù)指引到所述計(jì)算機(jī)系統(tǒng)中的一些不同計(jì)算機(jī)系統(tǒng),以便以一預(yù)定的流程在所述計(jì)算機(jī)系統(tǒng)之間運(yùn)用所述數(shù)據(jù)。
7.根據(jù)權(quán)利要求1的裝置,其中所述接口處理器的數(shù)量超過4個。
8.根據(jù)權(quán)利要求2的裝置,其中所述網(wǎng)絡(luò)處理器的至少一個速率監(jiān)視器監(jiān)視流向所述網(wǎng)絡(luò)資源服務(wù)器的進(jìn)入的數(shù)據(jù)流,并且當(dāng)進(jìn)入的數(shù)據(jù)的變化率高于一預(yù)定邊界時,所述至少一個修改器增加丟棄進(jìn)入的數(shù)據(jù)。
9.根據(jù)權(quán)利要求2的裝置,其中當(dāng)進(jìn)入的數(shù)據(jù)的變化率低于一第二預(yù)定邊界時,所述網(wǎng)絡(luò)處理器的至少一個修改器減少進(jìn)入的數(shù)據(jù)的丟棄比例。
10.一種裝置,包括包括至少一個計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)資源服務(wù)器,所述計(jì)算機(jī)系統(tǒng)包括一中央處理單元和服務(wù)器存儲器;以及與所述網(wǎng)絡(luò)資源服務(wù)器連接的網(wǎng)絡(luò)處理器,包括多個接口處理器;用于存儲所述接口處理器可訪問的指令的指令存儲器;用于存儲經(jīng)過所述網(wǎng)絡(luò)處理器而去往或離開所述網(wǎng)絡(luò)資源服務(wù)器并可由所述接口處理器訪問的數(shù)據(jù)的數(shù)據(jù)存儲器;以及多個輸入/輸出端口;所述輸入/輸出端口中的一個端口適合于在所述接口處理器的指導(dǎo)下與一外部網(wǎng)絡(luò)交換經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù);所述輸入/輸出端口中的其他至少一個端口適合于與所述網(wǎng)絡(luò)資源服務(wù)器交換經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù);響應(yīng)于由所述接口處理器執(zhí)行已裝入所述指令存儲器中的指令,所述網(wǎng)絡(luò)處理器和所述網(wǎng)絡(luò)資源服務(wù)器協(xié)作來指導(dǎo)在所述輸入/輸出端口之間的數(shù)據(jù)交換以及經(jīng)過所述數(shù)據(jù)存儲器去往和離開所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)流;所述網(wǎng)絡(luò)處理器進(jìn)一步包括至少一個速率監(jiān)視器,用于監(jiān)視流向所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)流速率,至少一個所述接口處理器包括一個用來計(jì)算數(shù)據(jù)流速率對時間的導(dǎo)數(shù)以確定數(shù)據(jù)流的變化率的組件,以及至少一個修改器,用于響應(yīng)于所確定的變化率而修改已裝入所述指令存儲器中的指令。
11.根據(jù)權(quán)利要求10的裝置,其中所述至少一個接口處理器進(jìn)一步包括用于將所述確定的變化率與至少一個預(yù)定的邊界相比較的裝置,其中當(dāng)所述變化率與所述至少一個預(yù)定的邊界具有一預(yù)先指定的關(guān)系時,所述修改器修改所述指令。
12.根據(jù)權(quán)利要求10的裝置,其中所述網(wǎng)絡(luò)處理器包括一半導(dǎo)體基片,并且進(jìn)一步地,其中所述接口處理器、所述指令存儲器、所述數(shù)據(jù)存儲器和所述輸入/輸出端口形成在所述半導(dǎo)體基片上。
13.根據(jù)權(quán)利要求10的裝置,其中所述網(wǎng)絡(luò)處理器適合于處理通信協(xié)議,并與所述網(wǎng)絡(luò)資源服務(wù)器交換將由所述服務(wù)器處理的應(yīng)用數(shù)據(jù)。
14.根據(jù)權(quán)利要求12的裝置,其中所述網(wǎng)絡(luò)資源服務(wù)器包括服務(wù)于多種目的的多個計(jì)算機(jī)系統(tǒng),并且所述網(wǎng)絡(luò)處理器將應(yīng)用數(shù)據(jù)指引到所述系統(tǒng)中的適當(dāng)?shù)囊粋€,以便由此根據(jù)該系統(tǒng)的適當(dāng)目的來運(yùn)用所述數(shù)據(jù)。
15.根據(jù)權(quán)利要求12的裝置,其中所述網(wǎng)絡(luò)資源服務(wù)器包括服務(wù)于一共同目的的多個計(jì)算機(jī)系統(tǒng),并且所述網(wǎng)絡(luò)處理器將應(yīng)用數(shù)據(jù)指引到所述計(jì)算機(jī)系統(tǒng)中的一些不同計(jì)算機(jī)系統(tǒng),以便以一預(yù)定的流程在所述計(jì)算機(jī)系統(tǒng)之間運(yùn)用所述數(shù)據(jù)。
16.根據(jù)權(quán)利要求10的裝置,其中所述接口處理器的數(shù)量超過4個。
17.根據(jù)權(quán)利要求11的裝置,其中所述網(wǎng)絡(luò)處理器的至少一個速率監(jiān)視器監(jiān)視流向所述網(wǎng)絡(luò)資源服務(wù)器的進(jìn)入的數(shù)據(jù)流,并且當(dāng)進(jìn)入的數(shù)據(jù)的變化率高于一預(yù)定邊界時,所述修改器增加丟棄進(jìn)入的數(shù)據(jù)。
18.根據(jù)權(quán)利要求11的裝置,其中當(dāng)進(jìn)入的數(shù)據(jù)的變化率低于一第二預(yù)定邊界時,所述網(wǎng)絡(luò)處理器的所述修改器減少進(jìn)入的數(shù)據(jù)的丟棄比例。
19.一種裝置,包括具有至少一個計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)資源服務(wù)器,所述計(jì)算機(jī)系統(tǒng)包括一中央處理單元和服務(wù)器存儲器;以及與所述網(wǎng)絡(luò)資源服務(wù)器連接的網(wǎng)絡(luò)處理器,包括多個接口處理器;用于存儲所述接口處理器可訪問的指令的指令存儲器;用于存儲經(jīng)過所述網(wǎng)絡(luò)處理器而去往或離開所述網(wǎng)絡(luò)資源服務(wù)器并可由所述接口處理器訪問的數(shù)據(jù)的數(shù)據(jù)存儲器;以及多個輸入/輸出端口;所述輸入/輸出端口中的一個端口適合于在所述接口處理器的指導(dǎo)下與一外部網(wǎng)絡(luò)交換經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù);所述輸入/輸出端口中的其他至少一個端口適合于與所述網(wǎng)絡(luò)資源服務(wù)器交換經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù);響應(yīng)于由所述接口處理器執(zhí)行已裝入所述指令存儲器中的指令,所述網(wǎng)絡(luò)處理器和所述網(wǎng)絡(luò)資源服務(wù)器協(xié)作來指導(dǎo)數(shù)據(jù)在所述輸入/輸出端口之間的交換以及經(jīng)過所述數(shù)據(jù)存儲器去往和離開所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)流;所述網(wǎng)絡(luò)處理器進(jìn)一步包括至少一個速率監(jiān)視器,用于監(jiān)視從所述網(wǎng)絡(luò)資源服務(wù)器流出的數(shù)據(jù)流速率,至少一個所述接口處理器包括一個用來計(jì)算數(shù)據(jù)流速率對時間的導(dǎo)數(shù)以確定數(shù)據(jù)流的變化率的組件,以及至少一個修改器,用于響應(yīng)于所確定的變化率而修改已裝入所述指令存儲器中的指令。
20.根據(jù)權(quán)利要求19的裝置,其中所述至少一個接口處理器進(jìn)一步包括用于將所述確定的變化率與至少一個預(yù)定的邊界相比較的裝置,其中當(dāng)所述變化率與所述至少一個預(yù)定的邊界具有一預(yù)先指定的關(guān)系時,所述修改器修改所述指令。
21.根據(jù)權(quán)利要求19的裝置,其中所述網(wǎng)絡(luò)處理器包括一半導(dǎo)體基片,且進(jìn)一步地,其中所述接口處理器、所述指令存儲器、所述數(shù)據(jù)存儲器和所述輸入/輸出端口形成在所述半導(dǎo)體基片上。
22.根據(jù)權(quán)利要求19的裝置,其中所述網(wǎng)絡(luò)處理器適合于處理通信協(xié)議,并與所述網(wǎng)絡(luò)資源服務(wù)器交換將由所述網(wǎng)絡(luò)資源服務(wù)器處理的應(yīng)用數(shù)據(jù)。
23.根據(jù)權(quán)利要求22的裝置,其中所述網(wǎng)絡(luò)資源服務(wù)器具有服務(wù)于多種目的的多個計(jì)算機(jī)系統(tǒng),且其中所述網(wǎng)絡(luò)處理器將應(yīng)用數(shù)據(jù)指引到所述計(jì)算機(jī)系統(tǒng)中的適當(dāng)?shù)囊粋€,以便由此根據(jù)該計(jì)算機(jī)系統(tǒng)的適當(dāng)目的來運(yùn)用所述數(shù)據(jù)。
24.根據(jù)權(quán)利要求22的裝置,其中所述網(wǎng)絡(luò)資源服務(wù)器具有服務(wù)于一共同目的的多個計(jì)算機(jī)系統(tǒng),并且所述網(wǎng)絡(luò)處理器將應(yīng)用數(shù)據(jù)引導(dǎo)到所述計(jì)算機(jī)系統(tǒng)中的一些不同計(jì)算機(jī)系統(tǒng)中,以便以一預(yù)定的流程在所述計(jì)算機(jī)系統(tǒng)之間運(yùn)用所述數(shù)據(jù)。
25.根據(jù)權(quán)利要求19的裝置,其中所述接口處理器的數(shù)量超過4個。
26.根據(jù)權(quán)利要求20的裝置,其中所述至少一個速率監(jiān)視器監(jiān)視離開所述網(wǎng)絡(luò)資源服務(wù)器的外出的數(shù)據(jù)流,其中當(dāng)外出的數(shù)據(jù)的變化率低于一預(yù)定邊界時,所述至少一個修改器增加丟棄進(jìn)入的數(shù)據(jù)。
27.根據(jù)權(quán)利要求20的裝置,其中當(dāng)外出的數(shù)據(jù)的變化率高于一第二預(yù)定邊界時,所述網(wǎng)絡(luò)處理器的所述至少一個修改器減少進(jìn)入的數(shù)據(jù)的丟棄比例。
28.一種方法,包括下列步驟通過網(wǎng)絡(luò)處理器在網(wǎng)絡(luò)資源服務(wù)器和數(shù)據(jù)網(wǎng)絡(luò)之間傳遞數(shù)據(jù)的位流;監(jiān)視經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù)的數(shù)據(jù)流速率;計(jì)算所述數(shù)據(jù)流速率的一次導(dǎo)數(shù),以確定所述數(shù)據(jù)流速率的變化率;以及基于所述數(shù)據(jù)流速率的所述變化率,選擇性地丟棄流向所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)。
29.根據(jù)權(quán)利要求28的方法,進(jìn)一步包括將所述數(shù)據(jù)流速率的變化率與至少一個預(yù)定的邊界相比較,其中當(dāng)所述變化率具有與所述至少一個預(yù)定邊界的一預(yù)先指定的關(guān)系時,進(jìn)行所述選擇性的丟棄。
30.根據(jù)權(quán)利要求28的方法,其中所述監(jiān)視步驟包括監(jiān)視流向所述網(wǎng)絡(luò)資源服務(wù)器的進(jìn)入的數(shù)據(jù)流速率。
31.根據(jù)權(quán)利要求29的方法,其中所述選擇性地丟棄數(shù)據(jù)的步驟包括當(dāng)已確定進(jìn)入的數(shù)據(jù)流的變化率高于一預(yù)定的邊界時,增加丟棄流向所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)。
32.根據(jù)權(quán)利要求29的方法,其中所述選擇性地丟棄數(shù)據(jù)的步驟包括當(dāng)已確定進(jìn)入的數(shù)據(jù)流的變化率低于一預(yù)定的邊界時,減少丟棄流向所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)。
33.根據(jù)權(quán)利要求28的方法,其中所述監(jiān)視步驟包括監(jiān)視離開所述網(wǎng)絡(luò)資源服務(wù)器的外出的數(shù)據(jù)流速率。
34.根據(jù)權(quán)利要求33的方法,其中所述選擇性地丟棄數(shù)據(jù)的步驟包括當(dāng)已確定外出的數(shù)據(jù)流的變化率低于一預(yù)定的邊界時,增加丟棄流向所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)。
35.根據(jù)權(quán)利要求33的方法,其中所述選擇性地丟棄數(shù)據(jù)的步驟包括當(dāng)已確定外出的數(shù)據(jù)流的變化率高于一預(yù)定的邊界時,減少丟棄流向所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)。
36.一種與至少一個網(wǎng)絡(luò)資源服務(wù)器和一外部網(wǎng)絡(luò)連接的網(wǎng)絡(luò)處理器,包括多個接口處理器;用于存儲可由所述接口處理器訪問的指令的指令存儲器;用于存儲經(jīng)過所述網(wǎng)絡(luò)處理器而去往或離開所述網(wǎng)絡(luò)資源服務(wù)器并可由所述接口處理器訪問的數(shù)據(jù)的數(shù)據(jù)存儲器;以及多個輸入/輸出端口;所述輸入/輸出端口中的一個端口適合于在所述接口處理器的指導(dǎo)下與一外部網(wǎng)絡(luò)交換經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù);所述輸入/輸出端口中的其他至少一個端口適合于與所述網(wǎng)絡(luò)資源服務(wù)器交換經(jīng)過所述網(wǎng)絡(luò)處理器的數(shù)據(jù);響應(yīng)于由所述接口處理器執(zhí)行已裝入所述指令存儲器中的指令,所述網(wǎng)絡(luò)處理器和所述網(wǎng)絡(luò)資源服務(wù)器協(xié)作來指導(dǎo)數(shù)據(jù)在所述輸入/輸出端口之間的交換以及經(jīng)過所述數(shù)據(jù)存儲器去往和離開所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)流;所述網(wǎng)絡(luò)處理器進(jìn)一步包括至少一個速率監(jiān)視器,用于監(jiān)視其地址為所述網(wǎng)絡(luò)資源服務(wù)器的數(shù)據(jù)流速率,至少一個所述接口處理器包括一個用來計(jì)算數(shù)據(jù)流速率對時間的導(dǎo)數(shù)以確定數(shù)據(jù)流的變化率的組件,以及至少一個修改器,用于響應(yīng)于所確定的變化率而修改已裝入所述指令存儲器中的指令。
全文摘要
一種包括網(wǎng)絡(luò)資源服務(wù)器或者由多個計(jì)算機(jī)系統(tǒng)(圖2中的100A-D)構(gòu)成的服務(wù)器群以及網(wǎng)絡(luò)處理器(圖2中的10)的系統(tǒng)以及相關(guān)方法,其中該網(wǎng)絡(luò)處理器在所述服務(wù)器群的支持下以與所述網(wǎng)絡(luò)的數(shù)據(jù)流速率大致相同的速率傳輸與一外部網(wǎng)絡(luò)(圖1的170)交換的數(shù)據(jù)。所述網(wǎng)絡(luò)處理器保護(hù)所述網(wǎng)絡(luò)資源服務(wù)器免受諸如拒絕服務(wù)攻擊的攻擊,其方法是監(jiān)視數(shù)據(jù)流,計(jì)算所述數(shù)據(jù)流對時間的導(dǎo)數(shù)以確定數(shù)據(jù)流的變化率(圖5的步驟202),并修改指令,以便響應(yīng)于在預(yù)定邊界之外的變化率而丟棄包。
文檔編號G06F13/00GK1545624SQ02816479
公開日2004年11月10日 申請日期2002年7月19日 優(yōu)先權(quán)日2001年7月26日
發(fā)明者C·S·林加菲爾特, D·E·麥康奈爾, F·E·諾埃爾, C·J·圣尼波利, C S 林加菲爾特, 圣尼波利, 諾埃爾, 麥康奈爾 申請人:國際商業(yè)機(jī)器公司