欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分組片段的處理的制作方法

文檔序號:7734942閱讀:243來源:國知局
專利名稱:分組片段的處理的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信,具體地,涉及在數(shù)字通信網(wǎng)絡(luò)中分組的路由和過濾。
背景技術(shù)
在例如因特網(wǎng)的分組交換網(wǎng)絡(luò)上,在源頭和目的地之間的業(yè)務(wù)是一個或多個離散 單元、或數(shù)據(jù)報的形式。典型地,通過協(xié)調(diào)工作的多個軟件協(xié)議執(zhí)行數(shù)據(jù)報的建立。這些協(xié) 議典型地被形象化為層的垂直棧。每個層/協(xié)議接受來自相鄰層/協(xié)議的數(shù)據(jù)報,執(zhí)行在 所述數(shù)據(jù)報上一個或多個任務(wù)的特定集合,然后向棧中的下一層/協(xié)議傳送結(jié)果數(shù)據(jù)報。圖1是因特網(wǎng)的5層協(xié)議棧的圖形表示,其示出棧中的協(xié)議如何格式化數(shù)據(jù)報,那 些協(xié)議棧如何對應(yīng)于真實世界中的對象,以及如何經(jīng)由因特網(wǎng)將數(shù)據(jù)報從源頭路由至目的 地。按慣例,協(xié)議層從下向上編號,物理層102是第一層,數(shù)據(jù)鏈路層104是第二層,網(wǎng) 絡(luò)層106是第三層,傳輸層108是第四層,以及應(yīng)用層110是第五層,也是最后一層。在運行中,要從源頭112向目的地150發(fā)送的數(shù)據(jù)首先在源頭112處從上至下經(jīng) 過協(xié)議層110-102。數(shù)據(jù)源自源頭的應(yīng)用層110。例如,在web服務(wù)器計算機(jī)1 上運行的 源頭web服務(wù)器軟件應(yīng)用114生成發(fā)向目的地150 (在這種情況下,在膝上型計算機(jī)156上 運行的web瀏覽器軟件應(yīng)用160)的超文本傳輸協(xié)議(HTTP)應(yīng)用數(shù)據(jù)116。Web服務(wù)器應(yīng)用軟件114將應(yīng)用數(shù)據(jù)116傳給傳輸層108 (在這個實例中,終端控 制協(xié)議(TCP)層)。TCP層的責(zé)任是(1)確定應(yīng)用數(shù)據(jù)112是否從源頭112精確地發(fā)送至 目的地150 ;以及⑵如果否,則開始重發(fā)。由于可能有多個運行在源頭和目的地上的應(yīng)用 軟件,所以TCP層108通過使用指定的TCP端口號(例如源頭端口 118和目的地端口 A42) 來區(qū)分不同的應(yīng)用。在源頭112,TCP層108將應(yīng)用數(shù)據(jù)116(在這種情況下,HTTP數(shù)據(jù)) 看作TCP有效載荷122,并且通過預(yù)處理包含TCP源頭端口號118和TCP目的地端口號A42 等的TCP報頭120來封裝有效載荷122。通常,對于特定協(xié)議層,術(shù)語“有效載荷”指的是并 非數(shù)據(jù)報報頭或頁腳(如果存在)的一部分的數(shù)據(jù)報部分。因此,一個層的有效載荷將包 括在協(xié)議棧中下一更高層的有效載荷、報頭、和頁腳(如果存在)。TCP將結(jié)果TCP數(shù)據(jù)報1 傳給網(wǎng)絡(luò)層106(在這個實例中,因特網(wǎng)協(xié)議(IP)層)。 IP層的任務(wù)是將IP數(shù)據(jù)報從一個網(wǎng)絡(luò)地址路由至另一個。IP層106將TCP數(shù)據(jù)報IM看 作IP有效載荷130,并且通過預(yù)處理包含源頭和目的地IP地址的IP報頭1 來封裝有效 載荷。結(jié)果是IP數(shù)據(jù)報A27。接下來,IP層106將IP數(shù)據(jù)報132傳給數(shù)據(jù)鏈路層104,該層用于將數(shù)據(jù)從一個 硬件設(shè)備移動至另一個。在這個實例中,數(shù)據(jù)鏈路協(xié)議是以太網(wǎng),并且以太網(wǎng)設(shè)備是web服 務(wù)器計算機(jī)126中的以太網(wǎng)卡134。數(shù)據(jù)鏈路層104將IP數(shù)據(jù)報132看作以太網(wǎng)有效載荷 138,并通過預(yù)處理以太網(wǎng)報頭136和附加以太網(wǎng)頁腳140來封裝有效載荷。然后,數(shù)據(jù)鏈 路層104在物理層102(在這個實例中,符合IOBaseT物理層規(guī)范的銅質(zhì)電纜144)上將結(jié) 果以太網(wǎng)數(shù)據(jù)報142發(fā)送至因特網(wǎng)146。
連接源頭112和目的地150的是因特網(wǎng)146。因特網(wǎng)146可被形象化為互連路由 應(yīng)用(路由器)148的集。路由器148獨立地至少部分地基于位于數(shù)據(jù)報中的信息將每個 數(shù)據(jù)報從源頭路由至目的地。作為路由處理的一部分,路由器可對于數(shù)據(jù)報作出修改。一旦以太網(wǎng)數(shù)據(jù)報142穿過因特網(wǎng)146,他以相反順序通過在目的地150處的協(xié)議 棧上升,流出報頭和頁腳(解封裝),直到將原始應(yīng)用數(shù)據(jù)116呈現(xiàn)給目的地應(yīng)用160。具 體地,以太網(wǎng)電纜152向數(shù)據(jù)鏈路(以太網(wǎng))設(shè)備154分發(fā)以太網(wǎng)數(shù)據(jù)報142。以太網(wǎng)設(shè)備 巧4移除以太網(wǎng)報頭136和以太網(wǎng)頁腳140,并且將IP數(shù)據(jù)報132傳給網(wǎng)絡(luò)(IP)層106。 網(wǎng)絡(luò)(IP)層106移除IP報頭128,并且向傳輸(TCP)層108分發(fā)TCP數(shù)據(jù)報124。最后, 傳輸(TCP)層108丟棄TCP報頭120,并向應(yīng)用160分發(fā)應(yīng)用數(shù)據(jù)116。圖2是圖1的數(shù)據(jù)報132的放大圖,并示出IP分組片段的結(jié)果。IP報頭1 和 TCP報頭120中的每個包括多個字段。源頭TCP端口字段220標(biāo)識源頭端口 118,其用于將 響應(yīng)路由回源頭應(yīng)用114。目的地TCP端口字段222標(biāo)識目的地端口 158,其用于將應(yīng)用數(shù) 據(jù)116路由至目的地計算機(jī)156上的應(yīng)用軟件160。在這些字段中,IP報頭包括總長度字段208,其指示IP數(shù)據(jù)報A27的字節(jié)的大小。 源頭IP地址字段202和目的地IP地址字段204分別包含源頭和目的地設(shè)備1 和156的 IP地址。在路由IP數(shù)據(jù)報的過程期間,偶然地,有必要將這樣的數(shù)據(jù)報分成更小IP數(shù)據(jù)部 的序列,例如,以滿足傳輸路徑中的中間網(wǎng)絡(luò)或路由器的限制。這個操作稱為IP分組片段。 未劃分的IP數(shù)據(jù)報稱為分組,從分解分組得到的每個更小IP數(shù)據(jù)報稱為片段。這里,屬于 一個分組的片段的集合的偏移順序是那些片段存在于所述分組中的順序。每個片段擁有完整的IP報頭,但是典型地,僅偏移0片段246 (即劃分的分組的第 一片段)擁有來自原始分組132的TCP報頭120。IP劃分的對立面是組裝,即,分組從其組 成片段的重建。例如因特網(wǎng)的分組交換網(wǎng)絡(luò)的重要特征是每個路由器沿著該路由器確定在該特 定時間點為最佳傳輸路徑來路由特定數(shù)據(jù)報。結(jié)果,由特定源頭發(fā)送對于特定目的地發(fā)送 的數(shù)據(jù)報所采用的傳輸路徑可能不同于由相同源頭對于相同目的地在不同時間點發(fā)送的 其他數(shù)據(jù)報所采用的傳輸路徑。因此,對于源頭可以按特定序列(例如偏移順序)向目的 地發(fā)送數(shù)據(jù)報,并且對于那些相同數(shù)據(jù)報可以按不同序列到達(dá)目的地,這里稱為接收序列。 此外,目的地可接收與對應(yīng)于其他分組的數(shù)據(jù)報交織的特定分組的片段。此外,一個或多個 片段可能根本沒有到達(dá)他們的目的地。因此,目的地需要確定(1)哪些片段屬于哪些分組;(2)是否接收對于特定分組的 所有片段;和⑶屬于特定分組的片段集的偏移順序。這個信息在IP報頭1 的標(biāo)識字段 206、片段偏移字段210、和更多片段字段212中找到。對于在因特網(wǎng)上分組是活動的時間,將標(biāo)識字段206設(shè)置為對于該源頭-目的地 對是唯一的值(例如對于這個實例,為216)。特定分組的所有片段將繼承分組的標(biāo)識值。片段偏移字段(FO)字段210指示這個片段與以8字節(jié)為單位的IP有效載荷的數(shù) 據(jù)部分的開始相對的偏移。換句話說,片段的片段偏移值指示這個片段的有效載荷存在于 原始分組的數(shù)據(jù)部分中的哪里。因此,片段偏移值可用于將不按偏移順序接收的片段重新 排序成他們適當(dāng)?shù)钠祈樞?。根?jù)RFC 791,因特網(wǎng)協(xié)議規(guī)范,對于未劃分的分組的偏移必須為0。對于劃分的分組的第一片段的偏移(這里稱為偏移0片段)也為0。更多片段字段(MF)212,1比特真/假字段,指示這個數(shù)據(jù)報之后是否為具有相同 標(biāo)識值的另一數(shù)據(jù)報(按偏移順序)。RFC 791對于分組以及對于分組的最后偏移片段指 定0(假)的MF值。對于所有片段但除了分組的最后偏移片段,RFC 791指示1(真)的MF值。如果例如IP分組132(具有3M字節(jié)的總長度和20字節(jié)的IP報頭長度)必須 穿過具有148字節(jié)的最大傳輸單元(MTU)的網(wǎng)絡(luò),然后IP分組132必須被分解成3個片 段M6J66、和觀6,其每個本身是IP數(shù)據(jù)報。具體地,IP數(shù)據(jù)124的304字節(jié)(包括TCP 報頭120)將被分別分解成1 字節(jié)、1 字節(jié)、和48字節(jié)的3個部分(120和M4J64,和 觀4)。然后,每個部分通過其自身的IP報頭(230,250,270)進(jìn)行預(yù)處理,后者為了這里圖 示的目的假設(shè)為20字節(jié)長,生成片段246 (148字節(jié))、266 (148字節(jié))、和286 (68字節(jié))。在片段報頭230、250、和270中的某些字段與分組IP報頭128中的相應(yīng)字段相 同。具體地,源頭IP地址(202,232,252,272)、目的地IP地址(204,234,254,274)、和標(biāo)識 (206,236,256,276)是相同的。在片段報頭230、250、和270中的其他字段與分組IP報頭1 中的相應(yīng)字段不同。 總長度字段238、258、和278將改變,以反映劃分的效果。類似地,片段偏移字段M0J60、 和280現(xiàn)在在8字節(jié)塊中反映片段的偏移順序。最后,更多片段字段M2J62、和282現(xiàn)在 指示(1)發(fā)生了劃分;以及( 所述片段286是最后偏移片段。劃分使數(shù)據(jù)報路由復(fù)雜化。常規(guī)地,路由器需要沒有從片段向片段復(fù)制的數(shù)據(jù),例 如TCP報頭信息。因此,路由器可接收不能夠僅利用在所述片段中包含的信息來路由的片 段。此外,某些路由操作需要路由器修改分組數(shù)據(jù)(例如網(wǎng)絡(luò)地址解譯),因此路由器可需 要修改分組的一個或多個片段。然而,劃分不僅使數(shù)據(jù)報路由復(fù)雜化。除了 IP數(shù)據(jù)報的有效路由,如今許多使用因特網(wǎng)的第二個問題是網(wǎng)絡(luò)安全。常規(guī) 地,操作數(shù)據(jù)報并有目的地引入到因特網(wǎng)上,使得通信混亂或者獲得對于受保護(hù)設(shè)備和受 保護(hù)網(wǎng)絡(luò)服務(wù)的未授權(quán)訪問。這樣的“攻擊”以許多不同形式到來。一個實例是拒絕服務(wù) 攻擊,其中路由器或其他設(shè)備被故意地充滿數(shù)據(jù)報,以損害或甚至阻止合法的通信。另一實 例是欺騙攻擊,其中操作IP和TCP報頭,使其看起來一個或多個數(shù)據(jù)報來自可信的或授權(quán) 的源頭,向發(fā)送者給予未授權(quán)訪問。因此,通常在傳輸路徑中存在一個元素,例如防火墻或入侵檢測系統(tǒng)(IDS),其功 能是檢測和/或阻止這樣的攻擊。典型地,防火墻或IDS依據(jù)一個或多個規(guī)則估計接收的 數(shù)據(jù)報。如果接收的數(shù)據(jù)報滿足一個或多個規(guī)則,則傳遞他(為了重發(fā)而處理);否則,放 棄他(丟棄)。根據(jù)規(guī)則的數(shù)據(jù)報的這種選擇性傳遞和放棄已知為過濾。典型地,過濾包括區(qū)域、狀態(tài)檢查、和應(yīng)用層過濾。區(qū)域是對于特定接口的容許源 頭IP地址的范圍??纱嬖趯τ谝粋€接口定義的多個區(qū)域。如果在接口上接收的數(shù)據(jù)報的 源頭IP地址沒有落入對于該接口定義的任何區(qū)域內(nèi),則丟棄數(shù)據(jù)報。因此,例如,如果接口 具有兩個區(qū)域,第一個允許具有192. 168. 1. 1至192. 167. 1. 127的源頭IP地址的所有數(shù)據(jù) 報,第二個允許具有以204開始的源頭IP地址的所有數(shù)據(jù)報,則將放棄在該接口上接收的 具有19. 63. 8. 30的源頭IP地址的數(shù)據(jù)報。狀態(tài)檢查不僅只考察數(shù)據(jù)報,而且考察在源頭和目的地之間的通信的進(jìn)行中狀態(tài),因此考察在即時數(shù)據(jù)報和其之前的相關(guān)數(shù)據(jù)報(如果存在)之間的關(guān)系。例如,防火墻 執(zhí)行狀態(tài)檢查可放棄并非從防火墻后方啟動的通信的響應(yīng)的入站數(shù)據(jù)報。應(yīng)用層過濾(還 已知為深度分組檢查)超出了數(shù)據(jù)報報頭,并且檢查應(yīng)用層數(shù)據(jù),以得到通過/放棄的決定。正如數(shù)據(jù)報路由,劃分使得數(shù)據(jù)報過濾的任務(wù)復(fù)雜化。當(dāng)劃分IP分組時,規(guī)則所 述的數(shù)據(jù)可位于分組的片段的任一個或多個中。此外,某些片段序列自身對于網(wǎng)絡(luò)元件存 在威脅,即使在那些單獨片段的內(nèi)容看起無害。在探測、損壞、或侵入目標(biāo)網(wǎng)絡(luò)時,這樣的序 列可能是偶然的,或者被攻擊者意圖有意設(shè)計。例如,重疊片段的某些序列可用于繞過某些 防火墻過濾器,并獲得受保護(hù)服務(wù)的訪問。類似地,不按偏移順序的片段序列可被設(shè)計為繞 過防火墻或在拒絕服務(wù)攻擊中戰(zhàn)勝他們。路由器、防火墻、和入侵檢測系統(tǒng)對于過濾和路由片段采用不同策略。更簡單的策 略包括傳遞所有片段、放棄所有片段、放棄所有不按偏移順序的片段、或跟蹤和放棄所有重 疊和/或復(fù)制的片段序列。傳遞所有片段將片段的處理轉(zhuǎn)移至下游設(shè)備,例如受保護(hù)主機(jī), 并戰(zhàn)勝了防火墻的目的(為阻礙某些通信聯(lián)接重要資源)。放棄所有片段對于防止片段攻 擊的有效的,但是撤消了合法通信。丟棄所有不按偏移順序的片段已經(jīng)包含,并且沒有防止 重疊片段攻擊。此外,這些策略均沒有提供片段的更精密過濾或片段的修改。片段過濾和路由的更有效策略是全重新組裝。這里,路由器在存儲器中緩沖存儲 特定分組的所有片段,將任意不按偏移順序的片段重新排序成他們的偏移順序,并且重新 組裝這些片段以生成完整分組。然后,路由器過濾/路由完整分組,重新劃分分組(如果適 當(dāng)),并向適當(dāng)目的地重發(fā)結(jié)果數(shù)據(jù)報。全重新組裝的一個缺點是他是資源密集的,需要路由器在存儲器中緩沖存儲每個 片段,持續(xù)所述分組的所有片段到達(dá)的時間。此外,緩沖存儲、重新排序、和重新組裝的行為 消耗了處理資源。全重新組裝的另一缺點是可見性。由于全組裝以偏移順序重發(fā)完整分組或片段的 集合,通常在進(jìn)入和離開全重新組裝的數(shù)據(jù)報之間存在區(qū)別。監(jiān)視這樣的數(shù)據(jù)流的人可確 定在操作中存在防火墻并且可開始攻擊這個防火墻。全重新組裝的備選是基于在偏移0片段中包含的信息路由片段(片段0路由)。 這種方法在美國專利No. 6,795,866中詳細(xì)介紹,其教導(dǎo)通過引用完全合并于此。這個方法 在存儲器中僅緩沖存儲在偏移0片段之前到達(dá)的那些片段(如果存在)。如果并且當(dāng)偏移 0片段到達(dá)時,該方法基于偏移0片段的IP和TCP報頭作出路由決定,并由此重發(fā)該片段。 然后,該方法對于任意緩沖存儲的片段和任意隨后接收的片段應(yīng)用該路由決定。因此,除了 偏移0片段(典型地第一個被路由),通過這個方法以接收片段的順序路由片段。相比于全重新組裝,片段0路由擁有若干優(yōu)點。片段0路由不需要緩沖存儲所有 片段,但是僅緩沖存儲在偏移0片段之前到達(dá)的那些,因此通常消耗比全重新組裝更少的 存儲器資源。此外,因為緩沖存儲的片段不處于空閑等待最慢片段的到達(dá),僅到偏移0片段 到達(dá)為止,所以片段0路由平均快于全重新組裝。最后,排除了重新排序和重新組裝完整分 組的步驟,減少了開銷并增加了效率。但是,片段0路由還具有若干缺點。第一,該方法不提供基于偏移0片段之外的信 息(例如應(yīng)用層數(shù)據(jù))作出路由決定的能力。第二,該方法不提供大范圍基于片段的攻擊的檢測或緩解。換句話說,片段0路由不執(zhí)行過濾。第三,該方法在片段的重發(fā)上不提供全 控制。例如,系統(tǒng)管理員可希望作為全組裝的分組重發(fā)片段,而并非單獨地按接收的順序。在美國專利No. 7,065,086中考慮了這些缺點中的第一個(考察除了片段0片段 的片段),其教導(dǎo)通過引用完全合并于此。這個方法提及除了片段0之外的其他片段的檢 查,但是沒有提供關(guān)于這樣檢查如何發(fā)生的細(xì)節(jié)。通過片段0路由,這個方法不執(zhí)行過濾, 在片段的重發(fā)上也沒有提供全控制。

發(fā)明內(nèi)容
本發(fā)明的一個實施例提供了一種系統(tǒng),其提高了狀態(tài)分組過濾防火墻的性能,減 少了必須為防火墻過濾而完全或部分地重新組裝片段的頻率,同時確保防火墻提供了大范 圍的基于劃分片段的攻擊和探測的檢測和緩解。該方法使得防火墻強(qiáng)加嚴(yán)格的TCP狀態(tài)實 施,以及選擇地部分或完全地重新組裝分組,以執(zhí)行應(yīng)用層過濾。該系統(tǒng)通過以下步驟操作,即收集和重新排序片段,直到對于防火墻存在足夠協(xié) 議報頭和有效載荷信息,以檢查和確定關(guān)于片段要采取什么行為。本發(fā)明的一個實施例還通過向系統(tǒng)管理員提供如何重發(fā)片段的全控制來解決現(xiàn) 有技術(shù)的缺陷。在防火墻過濾規(guī)則的指示下,例如,片段可被完全重新組裝和統(tǒng)一地重新劃 分,或者可按偏移順序或接收順序遞增地重發(fā)。本發(fā)明的一個實施例還提供防止?jié)撛诘幕谄蔚墓舻拇蠓秶Wo(hù)。片段在被 接收時進(jìn)行檢查,以驗證他們沒有彼此重疊,并且片段序列沒有利用IP分組重新組裝算法 中的共同弱點。對于接收機(jī)表現(xiàn)出潛在威脅的有效片段序列可被重新排序和/或完全或部 分地重新組裝,以及重新劃分成片段序列,這樣排除或減少了對于接收機(jī)的威脅。阻止了作 為關(guān)聯(lián)分組的隨后片段的表現(xiàn)出可能攻擊的劃分序列。在本發(fā)明的一個實施例中,通信系統(tǒng)中的節(jié)點在接收序列中接收一個或多個片段 的群組,其中群組對應(yīng)于分成片段集合的分組,其具有與增加片段偏移值對應(yīng)的偏移順 序。所述片段集合包括偏移0片段(即按片段集合的偏移順序的第一片段),以及在所述 偏移0片段之前接收的至少一個附加片段。所述節(jié)點緩沖存儲一個或多個片段的群組;分 析規(guī)則集,以匹配對于緩沖存儲的群組的規(guī)則;以及對于緩沖存儲的群組應(yīng)用匹配規(guī)則,以 (i)確定是否重發(fā)緩沖存儲的群組,以及(ii)如果重發(fā)緩沖存儲的群組,則確定如何重發(fā) 緩沖存儲的群組。所述規(guī)則集包括第一規(guī)則,其規(guī)定在與一個分組對應(yīng)的接收片段被接收 的接收序列中重發(fā)所述接收片段,其獨立于是否在所述偏移0片段之前接收至少一個附加 片段,從而,當(dāng)所述第一規(guī)則應(yīng)用于緩沖存儲的群組時,所述偏移0片段不是要重發(fā)的緩沖 存儲的群組的第一片段。在本發(fā)明的另一實施例中,通信系統(tǒng)中的節(jié)點在接收序列中接收一個或多個片段 的群組,其中群組對應(yīng)于分成片段集合的分組,其具有與增加片段偏移值對應(yīng)的偏移順 序;以及群組是片段集合的子集。所述節(jié)點緩沖存儲一個或多個片段的群組,以及重發(fā)緩沖 存儲的群組。節(jié)點接收不與群組相鄰的更多片段,以及緩沖存儲所述更多片段。所述接收 與所述群組和緩沖存儲的更多片段形成片段的一個相鄰子集的一個或多個其他片段,并且 重發(fā)一個或多個其他片段和緩沖存儲的更多片段。在本發(fā)明的另一實施例中,通信系統(tǒng)中的節(jié)點接收片段的群組,其中片段的每個群組對應(yīng)于分成片段集合的不同分組,其具有與增加片段偏移值對應(yīng)的偏移順序。每個片 段集合包括偏移0片段和一個或多個附加片段;以及所述偏移0片段是按所述片段集合的 偏移順序的第一片段。所述節(jié)點緩沖存儲片段的群組;分析規(guī)則集,以匹配對于每個緩沖 存儲的群組的規(guī)則;以及對于每個緩沖存儲的群組應(yīng)用對應(yīng)的匹配規(guī)則,以(i)確定是否 重發(fā)緩沖存儲的群組,以及(ii)如果重發(fā)緩沖存儲的群組,則確定如何重發(fā)緩沖存儲的群 組。所述規(guī)則集包括第一規(guī)則,其規(guī)定在重發(fā)之前要重新組裝與一個分組對應(yīng)的接收片 段;以及第二規(guī)則,其規(guī)定在重發(fā)之前不重新組裝與一個分組對應(yīng)的接收片段。在本發(fā)明的另一實施例中,通信系統(tǒng)中的節(jié)點在接收序列中接收片段集合,其中 所述片段集合對應(yīng)于分成片段集合的分組,其具有與增加片段偏移值對應(yīng)的偏移順序。所 述片段集合包括偏移0片段和一個或多個附加片段;以及所述偏移0片段是按所述片段集 合的偏移順序的第一片段。不按偏移順序接收所述片段集合;以及在所述偏移0片段之后 接收所述附加片段中的至少一個。所述節(jié)點緩沖存儲所述片段集合;以及隨后,按偏移順序 作為片段來重發(fā)片段集合,從而直到接收和緩沖存儲了集合中的所有片段之后,才重發(fā)所 述片段。在本發(fā)明的另一實施例中,通信系統(tǒng)中的節(jié)點接收第一片段,其對應(yīng)于分成片段 集合的分組,其具有與增加片段偏移值對應(yīng)的偏移順序。所述片段集合包括偏移0片段和 一個或多個附加片段;所述偏移0片段是按所述片段集合的偏移順序的第一片段。所述 節(jié)點(i)分析規(guī)則集,以匹配對于第一片段的規(guī)則;(ii)應(yīng)用匹配規(guī)則,以處理第一片段; (iii)接收對應(yīng)于所述分組的第二片段;以及(iv)應(yīng)用匹配規(guī)則,以處理第二片段,其中所 述第二片段的處理不同于所述第一片段的處理。在本發(fā)明的另一實施例中,通信系統(tǒng)中的節(jié)點接收一個或多個片段的第一群組, 其中所述第一群組對應(yīng)于分成第一片段集合的第一分組。所述節(jié)點分析規(guī)則集,以匹配對 于第一群組的第一規(guī)則,以及應(yīng)用匹配的第一規(guī)則以處理第一群組。所述節(jié)點接收一個或 多個片段的第二群組,其中所述第二群組對應(yīng)于與所述第一分組不同的并且分成第二片段 集合的第二分組。所述節(jié)點分析規(guī)則集,以匹配對于第二群組的第二規(guī)則;以及應(yīng)用匹配的 第二規(guī)則以處理第二群組,其中所述第一群組被重發(fā),并且所述第二群組不重發(fā)。


根據(jù)以下具體實施方式
、所附權(quán)利要求、和附圖,本發(fā)明的其他方面、特點、和優(yōu)點 將變得更加完全清楚,在附圖中類似標(biāo)號標(biāo)識類似或相同元素。圖1是因特網(wǎng)的5層協(xié)議棧的圖形表示,其示出棧中的協(xié)議如何格式化數(shù)據(jù)報,那 些協(xié)議棧如何對應(yīng)于真實世界中的對象,以及如何經(jīng)由因特網(wǎng)將數(shù)據(jù)報從源頭路由至目的 地。圖2是圖1的數(shù)據(jù)報132的放大圖,并示出IP分組片段的結(jié)果。圖3是根據(jù)本發(fā)明一個實施例的片段處理系統(tǒng)的框圖。圖4是圖3的劃分的分組列表306的一個實施例的視圖。圖5是描述由圖3的片段操作系統(tǒng)所處理的典型劃分的分組的典型周期的概括流 程圖。圖6-8是描述圖3的片段操作處理302的一個實施例的流程圖。
圖9是圖3的超時處理304的一個實施例的流程圖。
具體實施例方式本發(fā)明的實施例可實現(xiàn)為用于分組和片段的有效路由的,以及用于惡意或不期望 通信的檢測、防止、和緩解的系統(tǒng)、方法、和裝置。圖3是根據(jù)本發(fā)明一個實施例的片段處理系統(tǒng)300的框圖。系統(tǒng)300包括片段操 作處理302、劃分的分組列表306、規(guī)則集308、會話狀態(tài)數(shù)據(jù)庫312、超時處理304、和片段緩 沖器區(qū)310。片段操作處理300典型地實現(xiàn)為路由器,例如圖1的路由器148。片段操作處理302接收、緩沖存儲、路由、和過濾片段,以及重發(fā)片段和/或分組。 系統(tǒng)300的處理上游(圖3中未示出)通過檢查在數(shù)據(jù)報的IP報頭中的片段偏移字段210 和更多片段字段212來確定接收的數(shù)據(jù)報是分組還是片段。片段操作處理302還與系統(tǒng) 300的其他組件通信,例如在片段緩沖器區(qū)310中緩沖存儲接收的片段,以及從片段緩沖器 區(qū)310接收緩沖存儲的片段;向劃分的分組列表306寫入數(shù)據(jù)以及從劃分的分組列表306 請求數(shù)據(jù);以及向規(guī)則集308提交片段和部分重新組裝或全組裝的分組用于規(guī)則匹配。劃分的分組(FP)列表306包括從系統(tǒng)300的其他組件接收和存儲信息的數(shù)據(jù)結(jié) 構(gòu)。具體地,F(xiàn)P列表306接收和存儲(1)來自片段操作處理302的關(guān)于接收的片段和處理 的當(dāng)前狀態(tài)的信息;(2)在規(guī)則匹配時來自規(guī)則集308的策略信息;(3)對于片段緩沖器區(qū) 310中的片段緩沖器的指針;以及⑷來自超時處理304的操作的結(jié)果。數(shù)據(jù)集308包括含有任意數(shù)目個規(guī)則的數(shù)據(jù)結(jié)構(gòu)。每個規(guī)則匹配于一個或多個數(shù) 據(jù)報特征,因此僅應(yīng)用于指定的數(shù)據(jù)報集合。例如,可存在具有25的TCP目的地端口的所 有片段、或具有19. 63. 08. 30的IP源地址的所有片段的規(guī)則。為數(shù)據(jù)報選擇匹配規(guī)則的處 理已知為規(guī)則匹配。規(guī)則包括任意數(shù)目個策略。策略指示片段操作處理302如何處理匹配于相應(yīng)規(guī)則 的片段或片段集合。存在若干類型的策略,包括過濾和重發(fā)策略。過濾策略估計接收的片 段或多個片段,作出通過/放棄決定。例如,過濾策略可放棄具有25的TCP目的地端口的 任意片段。過濾策略可管轄片段的IP和TCP報頭,并檢查應(yīng)用層數(shù)據(jù),例如放棄請求特定 URL的所有片段。對于要通過的片段,重發(fā)策略確定在重發(fā)之前如何處理那些片段。一個重發(fā)策略 是對于特定分組,未修改地以接收片段的精確順序重發(fā)接收的片段。例如,使得0,1,2,3,4 代表偏移順序的分組的5個片段。如果片段的接收順序是(1 0 2 4 3),則以順序(1 0 2 4 3)重發(fā)片段。這樣的重發(fā)策略可通過在秘密模式下運行的入侵檢測系統(tǒng)來使用,其目的 為檢查數(shù)據(jù)報,并且向其他設(shè)備警報潛在問題,而不向外面世界泄露其存在。另一重發(fā)策略可以是對于特定分組緩沖存儲片段,直到接收了所有片段,并然后 以偏移順序作為片段來重發(fā)那些片段。例如,將分組劃分成6個片段。如果以順序(1 2 3 4 0 5)接收那6個,則系統(tǒng)將等待,直到所有6個片段被接收,然后以順序(0 1 2 3 4 5) 作為片段來重發(fā)所有那些片段。這個重發(fā)策略可在防止依賴于無序片段序列的攻擊時證明 是有用的。另一重發(fā)策略可以是以偏移順序從偏移0盡可能快地作為片段重發(fā)接收的片段, 并非如先前重發(fā)策略那樣首先等待所有片段到達(dá)。例如,假設(shè)以順序(1 2 3 4 0 6 5)接收特定分組的前7個片段。系統(tǒng)緩沖存儲1,2,3和4。片段0的到達(dá)將生成從偏移0的片 段的相鄰集合,所以此時,系統(tǒng)將以偏移順序(0 1 2 3 4)重發(fā)接收的片段。然后,系統(tǒng)將 接收和緩沖存儲片段6,因為片段6將不與偏移0的數(shù)據(jù)相鄰。然而,在片段5的接收時,數(shù) 據(jù)現(xiàn)在是相鄰的,系統(tǒng)將以偏移順序(5 6)重發(fā)2個片段。另一重發(fā)策略可以是全重新組裝,即,收集特定分組的所有片段,以偏移順序重排 序接收的片段(如果必要),將那些片段全重新組裝成一個分組,并且重發(fā)所述分組。關(guān)于 這個重發(fā)策略的另一變型是在重發(fā)之前重新劃分重新組裝的分組,其中這依賴于重新劃分 處理,重新劃分可從接收的片段生成不同的片段集合。匹配規(guī)則的策略的應(yīng)用(無論他們是過濾策略、重發(fā)策略、或某些其他類型的策 略)已知為規(guī)則應(yīng)用。規(guī)則集308接收片段,并且從片段操作處理Y02部分地重新組裝或全重新組裝分 組用于規(guī)則匹配,并且如果并且當(dāng)匹配于規(guī)則時向FP列表Y06發(fā)送策略信息。會話狀態(tài)數(shù)據(jù)庫312包含指示活動會話的狀態(tài)的一個或多個會話狀態(tài)記錄。會話 典型地至少被定義為,使用特定傳輸協(xié)議(例如TCP、UDP)的兩個特定IP地址之間的通信, 其中數(shù)據(jù)報之間的時間不超過特定超時值。通常,對于會話的定義增加其他參數(shù)。例如,典 型地,TCP會話不僅包括以上列出的參數(shù),而且包括數(shù)據(jù)報的源頭和目的地TCP端口。因此, 不違背超時限制的19. 63. 8. 30 :80和12. 34. 56. 78 :11032之間交換的TCP數(shù)據(jù)報的集合將 構(gòu)成典型的TCP會話。會話狀態(tài)記錄對于規(guī)則匹配的結(jié)果進(jìn)行記錄。即,一旦規(guī)則匹配于數(shù)據(jù)報特征 (即會話)的集合,則在會話狀態(tài)數(shù)據(jù)庫中記錄關(guān)聯(lián)。會話狀態(tài)數(shù)據(jù)庫明顯地減少通過片段 操作處理Y02確定要在隨后會話數(shù)據(jù)報上采取什么行為所需的時間。除了片段操作處理302之外的處理可建立會話狀態(tài)記錄。如果例如對于新會話的 第一接收的數(shù)據(jù)報是未劃分的分組,則處理未劃分的分組的處理(并非片段操作處理302) 將建立對于該新會話的會話狀態(tài)記錄。超時處理304定期地檢查FP列表306,并且修改比指定時間間隔更長的任意數(shù)據(jù)。片段緩沖器區(qū)310是在處理期間通過片段操作處理302存儲接收的片段的存儲器 空間。圖4是圖Y的劃分的分組列表306的一個實施例的視圖。FP列表306包括任意 數(shù)目個分組項(PE)404,其每個關(guān)聯(lián)于不同分組。每個PE 404關(guān)聯(lián)于一個或多個片段項 (FE) 460,對于關(guān)聯(lián)的分組接收對于每個片段之一。每個FE 460關(guān)聯(lián)于一個或多個緩沖器 480,其存儲實際片段數(shù)據(jù)。FP列表306示出為單聯(lián)接列表,但是其也可以通過多個不同方 式實現(xiàn),例如雙聯(lián)接列表。每個PE 404包括多個字段。PACET_FRAGMENT_LIST字段406是對于這個PE的任 意數(shù)目個片段項(FE)460的第一個的指針。IP_PACKET_ID字段408包含接收的片段的IP報頭的標(biāo)識字段(例如圖2的字段 236)的值。IP_SOURCE_ADDRESS字段410包含接收的片段的IP報頭的源頭IP地址字段 (例如圖2的字段232)的值。ZONE字段412指示匹配于源頭IP地址的防火墻區(qū)域以及在 上面接收分組的片段的網(wǎng)絡(luò)接口。這三個字段構(gòu)成唯一識別FP列表中的每個PE的鍵。ACTI0N_KN0WN字段414和DROP字段416都是真/假字段。在一起,這兩個字段指示PE行為。PE行為可以是三個功能之一通過,放棄,或未知。具體地,如果ACTI0N_KN0WN 為假,則PE行為是未知,而不管DROP的值。如果ACTI0N_KN0WN為真并且DROP為真,則PE 行為是放棄。如果ACTI0N_KN0WN為真并且DROP為假,則PE行為是通過。當(dāng)初始化PE時, ACTI0N_KN0WN和DROP都設(shè)置為假。這三個字段中的值可通過片段操作處理302或超時處
理304改變。如果PE行為是未知,則片段操作處理302在作出通過/放棄決定之前需要相同分 組的更多片段。因此,該處理緩沖存儲接收的片段,并且等待來自相同分組的其他片段。如 果PE行為是放棄,則丟棄接收的片段,并且該處理不采取關(guān)于該片段的進(jìn)一步行為。如果 PE行為是通過,則根據(jù)與PE關(guān)聯(lián)的重發(fā)策略處理和重發(fā)接收的片段。NEXT_0FFSET字段418指示從對于這個PE接收的偏移0的連續(xù)字段的數(shù)目。典型 地,每當(dāng)接收新連續(xù)片段時,更新NEXT_0FFSET值。典型地,在接收時,接收到并非與從偏移 0相鄰的任意數(shù)據(jù)相鄰的片段時,不改變NEXT_0FFSET字段418。REQUIRED_BYTES字段420指示應(yīng)用匹配規(guī)則所需的字節(jié)數(shù)。將REQUIRED_BYTES 初始化為0,并且典型地一旦匹配了規(guī)則,則被更新,并且在一些環(huán)境下可隨后重復(fù)地更新。RULE_KN0WN字段422是指示規(guī)則是否匹配的真/假字段。將RULE_KN0WN初始化 為假,并且如果并且當(dāng)匹配了規(guī)則時設(shè)置為真。HOLES字段4M指示在接收的片段集合中存在多少間隙或“孔”。當(dāng)接收到片段, 但是沒有接收到直接先前的偏移順序片段時,建立孔。例如,參照圖2,如果接收到分組132 的第二片段066),但沒有接收到第一片段046),則HOLES等于1。類似地,如果接收到分 組A27的第一片段(M6)和第三片段086),但是沒有接收到第二片段066) JUHOLES同 樣等于1。每當(dāng)將有效片段與PE相加時,將HOLES初始化為0,并且如果適合,進(jìn)行更新。 MAX_H0LE_SIZE字段似6指示對于這個PE容許的字節(jié)的最大孔大小。如果建立超過這個 值的孔,則將PE行為改變?yōu)榉艞?。例如,參照圖2,如果接收到分組132的第一(M6)和第 三086)片段,但是沒有接收到第二片段066),則將建立1 字節(jié)的孔。如果MAX_H0LE_ SUE為64字節(jié),則1 字節(jié)孔的建立將得到改變?yōu)榉艞壍腜E行為。當(dāng)PE被初始化時將 MAX_H0LE_SIZE設(shè)置為區(qū)域缺省值,或者如果不存在區(qū)域缺省值,則設(shè)置為系統(tǒng)缺省值。一 旦匹配了規(guī)則,可更新MAX_H0LE_SIZE。SAff_LAST字段4 是指示是否接收到最后偏移片段(即具有設(shè)置O的MF標(biāo)志的 片段,例如圖2的字段觀2)的真/假字段。這個字段典型地用于加速是否接收到這個分組 的所有片段的確定。將其初始化為否,并且如果并且當(dāng)接收到最后偏移片段時,更新為真。SAff_FIRST字段430是指示是否接收到偏移O片段(即具有設(shè)置O的片段偏移字 段的片段,例如圖2的片段M6)的真/假字段。由于典型地為了規(guī)則匹配而需要偏移O片 段,所以這個字段典型地用于加速規(guī)則匹配。ORDERED字段432是指示是否按偏移順序接收到直到這個PE時所接收的片段的真 /假字段。如果不按偏移順序接收任意片段,則這個字段將設(shè)置為假,并保持為假。如果對 于這個PE的匹配規(guī)則需要以嚴(yán)格偏移順序接收所述片段,則這個字段將加速是否滿足所 述條件的確定。OPTIONS字段434是一個或多個標(biāo)志的集,其指示由接收的片段(如果存在)所匹 配的規(guī)則的各個策略。例如,OPTIONS字段434中的標(biāo)志可指示是否必須以偏移順序接收
12片段。如果將所述標(biāo)志設(shè)置為真,則不按偏移順序片段的接收將PE行為改變?yōu)榉艞?。?dāng)建 立PE時將OPTIONS字段434初始化為全局或區(qū)域缺省值,并且當(dāng)應(yīng)用匹配規(guī)則時更新。TERMINATING_C0NDITI0NS 字段 436 類似于 OPTIONS 字段 4;34 是一個或多個標(biāo)志 的集,其指示由接收的片段(如果存在)所匹配的規(guī)則的各個策略。例如,TERMINATING, CONDITIONS中的標(biāo)志與閾值組合可設(shè)置對于特定分組或分組的集合將接受的片段的最大 數(shù)。如果超過這個數(shù),則將PE行為改變?yōu)榉艞?。REASSEMBLE字段438是指示這個分組的所有片段在重發(fā)之前是否必須全重新組 裝的真/假字段。REFRAGMENT字段440是指示在重發(fā)期間是否必須重新劃分這個PE的全 重新組裝分組的真/假字段。TIME_INTERVAL_C0LLECT字段442指示PE行為可保持未知或通過的毫秒數(shù),即集 間隔。當(dāng)建立新PE時,將TIME_INTERVAL_C0LLECT的值與當(dāng)前系統(tǒng)時間相加,并且將總和 寫入TIMEOUT字段446。TIME_INTERVAL_DISCARD字段444指示PE行為可保持放棄的毫秒數(shù),即放棄間隔。 當(dāng)PE行為被設(shè)置為放棄時(即,將ACTI0N_KN0WN字段414和DROP字段416都設(shè)置為真), 通過集間隔的期滿或通過匹配規(guī)則的應(yīng)用,將TIME_INTERVAL_DISCARD中的值與當(dāng)前系統(tǒng) 時間相加,并且將總和寫入TIMEOUT字段446。TIMEOUT字段446指示當(dāng)前PE行為將期滿的時間。當(dāng)建立新PE時,將TIMEOUT 初始化為等于當(dāng)前系統(tǒng)時間加上由TIME_INTERVAL_C0LLECT字段442或TIME_INTERVAL_ DISCARD字段444指定的毫秒數(shù)的值,具體取決于DROP字段416的狀態(tài)。以下參照圖9提 供超時處理304和TIMEOUT字段446的進(jìn)一步說明。NEXT_IN_LIST字段448是FP列表中的下一 PE的指針,或如果沒有其他PE則為空 的指針。每個片段項(FE) 460包括多個字段。NEXT_IN_LIST字段462是下一 FE的指針,或 如果沒有對于這個PE的其他FE,則為空的指針。FRAGMENT_0FFSET字段464和FRAGMENT_ LENGTH字段466分別取自IP報頭字段片段偏移(例如圖2的字段M0)和總長度(例如圖 2的字段238)。當(dāng)接收到片段時,其可存儲在存儲器中的一個緩沖器480或緩沖器鏈480中。 P0INTER_T0_BUFFER_CHAIN字段468是與這個FE關(guān)聯(lián)的第一緩沖器480的指針。P0INTER_ T0_IP_HDR字段470指向緩沖器鏈中的IP報頭(如果存在)的位置484。緩沖器的NEXT_ IN_CHAIN字段482指向鏈中的下一緩沖器,或如果在這個鏈中沒有更多緩沖器則為空的指 針。圖5是描述由圖3的片段操作系統(tǒng)300所處理的典型劃分的分組的典型周期的概 括流程圖。因此,圖5示出片段操作處理302的多個迭代,其中之一對應(yīng)于一個分組的每個 接收的片段。首先,片段操作系統(tǒng)300緩沖存儲足夠有效的接收片段,以匹配于現(xiàn)有會話或 規(guī)則(步驟502)。接下來,對于會話狀態(tài)數(shù)據(jù)庫312搜索分組的匹配。如果發(fā)現(xiàn)匹配,則識 別關(guān)聯(lián)的規(guī)則。否則,搜索規(guī)則集308并匹配規(guī)則(步驟504)。對于特定分組僅執(zhí)行一次 會話記錄發(fā)現(xiàn)或規(guī)則查詢。然后,系統(tǒng)緩沖存儲應(yīng)用匹配規(guī)則的過濾策略所需的附加片段 (如果存在)(步驟510)。規(guī)則應(yīng)用508開始于應(yīng)用匹配規(guī)則的過濾策略,其典型的結(jié)果是將PE行為從未知改變?yōu)橥ㄟ^或放棄(步驟510)。如果,在步驟512,PE行為是放棄,則放棄(丟棄)緩沖存 儲的片段(多個)(步驟518),并且同樣地放棄所有隨后接收的有效片段(步驟520)。因 此,一旦將PE行為改變?yōu)榉艞墸瑒t將保持放棄,直到由超時處理304刪除PE。如果,相反,在步驟Z12,PE行為是通過,則根據(jù)匹配規(guī)則的重發(fā)策略/多個策略來 發(fā)送緩沖存儲的片段(步驟Z14)。重發(fā)策略/多個策略可延遲所有緩沖存儲的片段的重 發(fā),直到隨后片段到達(dá),延遲某些緩沖存儲的片段并重發(fā)其他,或此時重發(fā)所有緩沖存儲的 片段。不同于使用放棄的PE行為的對于分組的隨后接收的有效片段,使用通過的PE行為 的對于分組的每個隨后接收的有效片段將經(jīng)歷規(guī)則應(yīng)用Z08 (步驟Z16)。因此,對于隨后接 收的片段,通過的PE行為可改變?yōu)榉艞?。?yīng)注意,圖Z是對于典型片段。對于任意特定片段的周期可能不同于圖Z。例如, 在步驟Z02,重疊或復(fù)制接收的片段可將PE行為改變?yōu)榉艞?,因此從這個步驟直接跳轉(zhuǎn)至 步驟Z18。類似地,片段操作系統(tǒng)300可能沒有接收足夠數(shù)據(jù),以匹配于規(guī)則或應(yīng)用匹配規(guī) 則的過濾策略。這些變型在圖6-8中有所描述。同樣,圖5是概括流程圖,并且省略了細(xì)節(jié)。例如,除了 PE行為的更新之外,對于 接收片段建立和更新PE的特定步驟已經(jīng)省略,以有助于理解。這些細(xì)節(jié)在圖6-8中有所描 述。圖6-8是描述圖3的片段操作處理302的一個實施例的流程圖。片段操作處理302 僅操作片段,并且不操作完整的分組。處理在圖6的步驟602通過片段的接收開始。在步 驟604,使得接收片段經(jīng)歷任意數(shù)目的測試,以確定他是否為有效IP片段。例如,一個測試 可以是總長度(例如圖2的字段238)是否落入IP協(xié)議的限制內(nèi)。另一測試可以是確定接 收片段的源頭IP地址(例如圖2的字段232)是否匹配于在上面接收所述接收片段的網(wǎng)絡(luò) 接口的任意區(qū)域。如果接收片段在步驟604的測試任一個中失敗,則放棄接收片段(步驟 606)。這個接收片段的處理結(jié)束,并且片段操作處理302返回至步驟602,以等待另一片段 的接收。如果接收片段成功通過步驟604,則下一步驟是確定接收片段是否為新分組的第 一接收片段。在步驟608,片段操作處理302對于FP列表306使用從接收片段的源頭IP地 址字段(例如圖2的字段23 、接收片段的分組標(biāo)識字段(例如圖2的字段236)、和步驟 604中匹配的區(qū)域的ID生成的鍵搜索匹配分組項(PE)(例如圖4的404)。如果沒有找到匹配PE,則接收片段是對于新分組接收的第一片段。因此,在步驟 610,在FP列表306中建立新PE,并且初始化所述PE的字段。典型地,通過與匹配區(qū)域關(guān)聯(lián) 的缺省值初始化PE字段。如果匹配區(qū)域沒有指定字段的缺省值,則典型地將使用系統(tǒng)缺省 值。同樣,在步驟610,建立接收片段的片段項(FE) 460,并使其與新建立的PE關(guān)聯(lián)。一旦 建立和初始化了新PE和FE,則處理進(jìn)行至存在節(jié)點612。如果,相反,在步驟608,在FP列表306中找到這個片段的匹配PE,則在步驟614, 檢查PE行為。PE行為通過兩個PE字段來定義ACTI0N_KN0WN字段414和DROP字段416。 PE行為可以是三個功能之一通過、放棄、或未知。如果,在步驟614,PE行為是放棄,則處 理進(jìn)行至步驟606。這個接收片段的處理結(jié)束,并且片段操作處理302返回至步驟602,以 等待另一片段的接收。如果,在步驟614,PE行為不是放棄,則在步驟616,將所述接收片段與關(guān)聯(lián)于相同PE的其他接收片段(如果存在)相比較,以確定接收片段是否在一個或多個片段間測試失 敗。例如,如果接收片段是先前接收片段的復(fù)制,重疊于先前接收片段,或具有將使得組裝 IP數(shù)據(jù)報超過65,535字節(jié)總長度的組合總長度(例如圖2的字段238)和片段偏移(例如 圖2的字段M0)值,則他失敗。如果接收片段在步驟616失敗,則步驟618確定策略需要將PE改變?yōu)榉艞墶H绻?這樣,則在步驟620,將PE行為改變?yōu)榉艞?,并且處理進(jìn)行至阻止節(jié)點622。否則,處理進(jìn)行 至步驟606。例如,一個PE的策略可以是復(fù)制片段不影響PE行為,即在步驟606,要丟棄問 題片段,但是先前接收分組和PE行為保持不變,因此片段操作處理將接收對于這個相同分 組的更多片段。對于另一分組,策略可以是一個復(fù)制片段需要這個片段,并且所有先前接收 和任意隨后接收片段應(yīng)放棄。在這種情況下,在步驟620,將PE行為改變?yōu)榉艞墶H绻邮掌螡M足步驟616的測試,則在步驟624,對于接收片段和任意緩沖存儲 片段應(yīng)用與這個PE關(guān)聯(lián)的規(guī)則的過濾策略,并由此設(shè)置PE行為。如果沒有匹配來自規(guī)則集 308的規(guī)則,則將使用匹配區(qū)域的缺省規(guī)則。如果不存在匹配區(qū)域的規(guī)則,則將使用系統(tǒng)缺 省規(guī)則。為了應(yīng)用層過濾的目的,過濾策略應(yīng)用可需要接收片段的部分重新組裝或全重新 組裝。如果接收片段在過濾策略應(yīng)用中失敗,則將PE行為設(shè)置為放棄,即,將ACTI0N_KN0WN 字段414設(shè)置為真,并且將DROP字段416設(shè)置為真。在步驟626,再次檢查PE行為。如果PE行為是放棄,則處理繼續(xù)至阻止節(jié)點622。 否則,在步驟628,對于接收片段建立新片段項(FE)(即圖4的460),并將其鏈接至與這個 片段關(guān)聯(lián)的PE。在步驟630,再次檢查PE行為。如果PE行為是通過,則接收片段滿足過濾策略應(yīng) 用,并準(zhǔn)備根據(jù)匹配規(guī)則的重發(fā)策略重發(fā)。由此,控制傳遞至允許節(jié)點632。否則,接收片段 的行為保持未知,并且處理繼續(xù)至存在節(jié)點612。圖7是圖6的繼續(xù)。當(dāng)接收片段通過圖6中的所有測試,控制傳遞至圖7,但是與 所述片段關(guān)聯(lián)的PE行為保持未知(即圖4的ACTI0N_KN0WN字段414是假),因為(1)沒有 匹配規(guī)則,或( 匹配了規(guī)則,但是對于過濾策略應(yīng)用沒有接收從偏移0的足夠相鄰分組數(shù) 據(jù)。圖7描述了與規(guī)則匹配關(guān)聯(lián)的處理和過濾策略應(yīng)用。處理在存在節(jié)點612開始。在步驟702,確定是否對于與接收片段關(guān)聯(lián)的PE匹配 規(guī)則,即,圖4的RULE_KN0WN字段422是真還是假。如果所述字段是真,則已經(jīng)匹配了規(guī) 則,并且處理繼續(xù)至步驟704。如果所述字段是假,則還沒有匹配規(guī)則,并且處理進(jìn)行至步驟 706。在步驟706,確定是否存在足夠數(shù)據(jù)匹配于規(guī)則。例如,本發(fā)明的一個實施例可需 要整個IP報頭(例如圖2的字段128)、源頭TCP端口(圖2的字段220)、和目的地TCP端 口(圖2的字段222),以匹配于規(guī)則。典型地,這樣的數(shù)據(jù)在偏移0片段中找到,但是不保 證首先接收偏移0片段,或者根本不接收。此外,TCP報頭(例如圖2的報頭120)的一部分 可在除了偏移0片段的片段中找到。如果還沒有接收對于規(guī)則匹配所需的數(shù)據(jù),則處理繼 續(xù)至等待節(jié)點708。如果,相反,存在足夠接收數(shù)據(jù)以匹配于規(guī)則,則處理進(jìn)行至步驟710。在步驟710,片段操作處理302嘗試匹配現(xiàn)有會話,或者失敗時,匹配規(guī)則。具體 地,使用需要匹配于狀態(tài)記錄或規(guī)則的任何記錄對于會話狀態(tài)數(shù)據(jù)庫搜索狀態(tài)項。如果沒 有找到狀態(tài)記錄,則使用需要匹配于規(guī)則的任何數(shù)據(jù)搜索圖3的規(guī)則集308。如果不匹配于狀態(tài)記錄和規(guī)則集,則在步驟712,將PE行為改變?yōu)榉艞?,并且處理繼續(xù)至阻止節(jié)點714。如果,相反,在步驟710,成功匹配規(guī)則,則在步驟716,對于PE作出若干修改。首 先,將圖4的RULE_KN0WN字段422設(shè)置為真,指示匹配了規(guī)則。第二,可通過表示匹配規(guī)則 的策略的值(例如 MAX_H0LE_SUE 字段似6、OPTIONS 字段 4;34、TERMINATING_C0NDITI0NS 字段 436、REASSEMBLE 字段 438、REFRAGMENT 字段 440、TIME_INTERVAL_COLLECT 字段 442、 和TIME_INTERVAL_DISCARD字段444)來更新PE中的其他字段。最后,用表示對于規(guī)則策 略的應(yīng)用的匹配規(guī)則需要多少從偏移0的相鄰字節(jié)的值來更新REQUIRED_BYTES字段420。 然后,處理繼續(xù)至步驟704。在規(guī)則匹配需要任意數(shù)目個從偏移0的相鄰字節(jié)時,匹配規(guī)則的過濾策略的應(yīng)用 可需要任意數(shù)目個從偏移0的相鄰字節(jié)。此外,這兩個數(shù)目可能不同。因此,在步驟704,確定是否接收足夠的從偏移0的相鄰字節(jié),以應(yīng)用匹配規(guī)則的 過濾策略。具體地,將REQUIRED_BYTES字段420 (指示對于規(guī)則策略應(yīng)用需要多少從偏移0 的分組數(shù)據(jù)的相鄰字節(jié))與NEXT_0FFSET字段418 (指示接收到多少從偏移0的分組數(shù)據(jù) 的相鄰字節(jié))相比較。如果REQUIRED_BYTES大于NEXT_0FFSET,則不存在對于過濾策略應(yīng) 用的足夠數(shù)據(jù),并且處理繼續(xù)至等待節(jié)點708,以等待更多片段的到達(dá)。如果,相反,NEXT_ OFFSET大于或等于REQUIRED_BYTES,則存在對于過濾策略應(yīng)用的足夠數(shù)據(jù),并且處理進(jìn)行 至步驟718。在步驟718,確定一個或多個接收片段是否滿足匹配規(guī)則的所有過濾策略。這個步 驟可需要為了應(yīng)用層過濾的目的部分地或完全地重新組裝接收片段。如果,在步驟718,滿 足匹配規(guī)則的過濾策略,則將PE行為設(shè)置為通過,即,將ACTI0N_KN0WN字段414設(shè)置為真, 并且將DROP字段416設(shè)置為假,以及步驟720確定處理繼續(xù)至允許節(jié)點722。如果,相反, 接收片段數(shù)據(jù)在安全策略的任一個失敗,則將PE行為設(shè)置為放棄,即,將ACTI0N_KN0WN字 段414設(shè)置為真,并且將DROP字段416設(shè)置為真,以及步驟720確定處理繼續(xù)至阻止節(jié)點 714。在步驟718的第三備選是不存在足夠接收片段數(shù)據(jù)以應(yīng)用匹配規(guī)則的過濾策略, 即使NEXT_0FFSET 418大于或等于REQUIRED_BYTES 420。典型實例是應(yīng)用層過濾,S卩,可位 于應(yīng)用數(shù)據(jù)中的任意處(例如圖2的有效載荷116),例如web cookie的特定數(shù)據(jù)的檢查。 在這種情況下,處理將匹配規(guī)則的過濾策略應(yīng)用于每個接收相鄰片段。如果找到所需的應(yīng) 用層數(shù)據(jù),則評估策略/多個策略,并由此設(shè)置PE行為。如果,相反,接收相鄰數(shù)據(jù)不包含所 需的應(yīng)用層數(shù)據(jù),則步驟718將PE行為設(shè)置為未知,并且步驟720將處理引導(dǎo)至步驟724, 其中用NEXT_0FFSET+1的值更新REQUIRED_BYTES 420。如果并且當(dāng)下一相鄰片段到達(dá)時, 對于REQUIRED_BYTES 420的這個新值將使得片段操作處理302再次應(yīng)用匹配規(guī)則的過濾 策略。圖8是圖6和7的繼續(xù)。在圖6的步驟6M或圖7的步驟718,當(dāng)接收片段在一個 或多個系統(tǒng)、區(qū)域、或規(guī)則過濾策略中失敗并且將PE行為設(shè)置為放棄時,處理到達(dá)阻止節(jié) 點622。在步驟802,釋放片段項和他們各自的片段緩沖器,并且使得那些資源空閑,但是保 持PE。接下來,在步驟804,將PE超時設(shè)置為放棄間隔,即,將TIMEOUT字段446設(shè)置為等 于系統(tǒng)時間加上在TIME_INTERVAL_DISCARD 444中存儲的毫秒數(shù)的值。從現(xiàn)在到TIMEOUT 字段中指定的時間為止,片段操作處理302將放棄對于這個PE隨后接收的任何片段。這個接收片段的處理結(jié)束,并且片段操作處理302經(jīng)由節(jié)點806返回至圖6的步驟602,以等待 另一片段的接收。當(dāng)⑴沒有匹配規(guī)則時,或(2)匹配了規(guī)則,但是沒有從偏移0的足夠相鄰分組數(shù) 據(jù)應(yīng)用匹配規(guī)則的過濾策略時,處理到達(dá)圖7的等待節(jié)點708。在步驟808,將接收片段的 片段緩沖器或緩沖器鏈480鏈接至相應(yīng)片段項460,并且用從偏移0的相鄰數(shù)據(jù)的字節(jié)長度 更新NEXT_0FFSET字段418。這個接收片段的處理結(jié)束,并且片段操作處理302經(jīng)由節(jié)點 806返回至圖6的步驟602,以等待另一片段的接收。在圖6的步驟630或圖7的步驟720,當(dāng)PE行為是通過時,處理到達(dá)允許節(jié)點722。 沿著這個路徑,片段將根據(jù)匹配規(guī)則的重發(fā)策略通過片段操作處理來修改和重發(fā)。在本發(fā) 明的一個實施例中,存在三個這樣的重發(fā)策略。第一重發(fā)策略是作為按接收順序的片段來 重發(fā)片段。第二重發(fā)策略是以偏移順序重發(fā)從偏移0相鄰的片段。第三重發(fā)策略是收集所 有片段,重排序那些片段,將那些片段重新組裝到完整分組中,然后完整地重發(fā)分組或重新 劃分分組并隨后重發(fā)。第三重發(fā)策略需要在重發(fā)任意片段之前接收所有片段,而第一和第 二重發(fā)策略則并非如此。在步驟810,確定是否接收了特定分組的所有片段。如果是,則不需要等待任意 其他片段,而不考慮匹配規(guī)則的重發(fā)策略。因此,在步驟812,根據(jù)匹配規(guī)則的重發(fā)策略處 理接收片段和任意緩沖存儲的片段。在處理片段時,釋放他們的片段項(460)和緩沖器鏈 (480) 0當(dāng)處理了所有片段并且重發(fā)完成時,在步驟814,將PE行為設(shè)置為放棄,S卩,將DROP 字段 416 設(shè)置為真(步驟 J15),將 TIMEOUT 446 設(shè)置為 TIME_INTERVAL_DISCARD 444,并且 處理進(jìn)行至步驟804。如果必要,在步驟812也修改片段。如果修改了分組報頭的源頭和/或目的地地 址(例如,通常是網(wǎng)絡(luò)地址翻譯的情況),則可需要修改分組的所有片段的所有報頭,并且 可需要在重發(fā)分組的每個片段之前更新報頭校驗和。如果有必要對于匹配規(guī)則的過濾策略 的應(yīng)用部分地重新組裝分組的初始片段,則在返回時,將存在修改了部分組裝分組的指示。 如果這種情況發(fā)生,并且分組大小沒有改變,則典型地將適當(dāng)修改分組片段,以反映這些改 變。如果有必要改變分組的大小,則典型地,在重發(fā)之前將全重新組裝和重新劃分分組。如果,相反,在步驟810,沒有接收所有片段,則下一問題是重發(fā)策略是否需要在重 發(fā)之前收集所有片段(步驟816)。如果需要所有片段的收集,則因此控制傳遞至等待路徑 (步驟708)。如果在步驟816的重發(fā)策略不需要所有片段的收集,則重發(fā)策略或者以偏移順序 重發(fā)接收片段,或者以接收順序重發(fā)接收片段。因此,下一問題是是否接收了所有先前偏移 順序的片段(步驟818)。如果答案為是,則滿足兩個保持重發(fā)策略,并且處理繼續(xù)至步驟 822,其中重發(fā)接收片段。如果在步驟818的答案為否,則在步驟820,下一問題是重發(fā)策略 是否需要偏移順序。如果重發(fā)策略是按接收順序重發(fā)片段,則在步驟820的答案為否,并 且處理繼續(xù)至822,其中重發(fā)接收片段。如果,相反,重發(fā)策略是按偏移順序重發(fā),則在步驟 820的答案為是,并且處理繼續(xù)至等待路徑708。在步驟822,重發(fā)接收片段,并且釋放片段緩沖器(例如緩沖器480),但是保持片 段項(例如460),由此片段操作處理可檢測復(fù)制和重疊。在步驟822之后,這個接收片段的 處理結(jié)束,并且片段操作處理302返回至步驟602,以等待另一片段的接收。
本發(fā)明的實施例的另一元素是圖3的超時處理304,與片段操作處理302分離的處 理,其周期性(例如每秒一次)檢查PE行為和FP列表306中每個和逐個PE的超時值,并 且在需要時作出那些值的改變。超時處理是資源管理處理。PE、FE、和緩沖器都消耗存儲器空間和處理器時鐘周 期。對于許多分組,當(dāng)接收到最后片段并且將PE行為從通過改變?yōu)榉艞墪r(例如圖8的步 驟812和814),釋放那些資源中的大部分。然而,分組交換網(wǎng)絡(luò)的特征是任一個片段或多個片段可能不到達(dá)。在這種情況下, PE行為典型地不從通過改變?yōu)榉艞?,并且不釋放資源。在足夠長時間里,所有系統(tǒng)資源將持 久地專用于不完整的片段序列,因此禁止了新通信的處理。實際上,基于常見片段的攻擊是 故意的用不完整片段序列充滿路由器,以消耗所有路由器資源。此外,即使當(dāng)接收到最后片段,并且釋放緩沖器和FE時,PE仍舊保持釋放的PE行 為,以阻止復(fù)制片段或緩解片段攻擊。在某個時間,PE自身應(yīng)該被刪除,從而可回收其存儲 器空間。因此,系統(tǒng)管理員可指定(I)PE行為可以是未知或通過多久(收集間隔),和(2) PE可以是放棄多久(放棄間隔)。此外,系統(tǒng)管理員具有周期性檢查FP列表中的所有PE 并改變放棄或收集間隔期滿的那些PE的處理。圖9是圖3的超時處理304的一個實施例的流程圖。處理開始于開始節(jié)點902, 并且繼續(xù)至步驟904,其中記錄指針指向在FP列表(例如圖3的FP列表306)中的第一 PE 處。如果FP列表為空,則在步驟906,記錄指針將指向FP列表的末尾,并且在返回至開始節(jié) 點902之前,超時處理將等待預(yù)定的時間量(步驟908)。如果,相反,在步驟906,記錄指針 指向PE,則處理進(jìn)行至步驟910,其中將所述PE的超時(即TIMEOUT字段446)與當(dāng)前系統(tǒng) 時間相比較。如果,在步驟910,PE超時小于或等于系統(tǒng)時間,則超時還沒有期滿,并且不需要 對于這個PE進(jìn)行改變。在這種情況下,將指針設(shè)置為FP列表中的下一 PE (步驟91 ,并且 處理循環(huán)回步驟906。如果,相反,超時大于當(dāng)前系統(tǒng)時間,則超時期滿,并且PE行為應(yīng)該改變。處理繼 續(xù)至步驟914。如果步驟914確定當(dāng)前PE行為是未知或通過,則收集間隔期滿,并且PE行 為應(yīng)該改變?yōu)榉艞?步驟916)。具體地,將DROP字段416設(shè)置為真,刪除對于這個PE的所 有片段項(例如FE 460)和所有片段緩沖器(例如緩沖器480),并且將超時設(shè)置為等于放 棄間隔(例如TIME_INTERVAL_DISCARD 444)加上當(dāng)前系統(tǒng)時間的值。然后,在步驟912,將 記錄指針設(shè)置為FP列表中的下一 PE,并且處理循環(huán)回步驟906。如果,相反,在步驟914,PE行為是放棄,則放棄間隔期滿,并且從FP列表刪除 PE (步驟918)。然后,在步驟912,將記錄指針設(shè)置為FP列表中的下一 PE,并且隨后,處理 循環(huán)回步驟906。如果,在步驟906,在FP列表中沒有更多PE,則通過FP列表中的第一 PE在步驟 904再次開始之前,在步驟908,超時處理等待預(yù)定時間。盡管在因特網(wǎng)和傳統(tǒng)上用于描述因特網(wǎng)的5層協(xié)議模型中描述了本發(fā)明,但是本 發(fā)明不限于此。本發(fā)明應(yīng)用于任意適當(dāng)?shù)姆纸M交換網(wǎng)絡(luò)以及任意適當(dāng)?shù)膮f(xié)議方案,例如7 層OSI模型。
18
本發(fā)明可實現(xiàn)為(模擬、數(shù)字、或模擬和數(shù)字的混合)基于電路的處理,包括作為 單集成電路(例如ASIC或FPGA)、多芯片模塊、單卡、或多卡電路封裝的可能方案。對于本 領(lǐng)域普通技術(shù)人員清楚地,電路元件的各個功能還可實現(xiàn)為軟件程序中的處理框。這種軟 件可體現(xiàn)在例如數(shù)字信號處理器、微控制器、或通用計算機(jī)中。本發(fā)明可體現(xiàn)為方法和實現(xiàn)那些方法的裝置的形式。本發(fā)明還可體現(xiàn)為在有形介 質(zhì)(例如磁記錄介質(zhì)、光記錄介質(zhì)、固態(tài)存儲器、軟盤、CD-ROM、硬盤驅(qū)動器、或任意其他機(jī) 器可讀存儲介質(zhì))中實現(xiàn)的程序代碼的形式,其中當(dāng)程序代碼加載至機(jī)器(例如計算機(jī)) 并由機(jī)器執(zhí)行時,機(jī)器變?yōu)橛糜趯嵺`本發(fā)明的裝置。本發(fā)明還可體現(xiàn)為程序代碼的形式, 例如,存儲在存儲介質(zhì)中,加載至機(jī)器中和/或由機(jī)器執(zhí)行,或在某些傳輸介質(zhì)或載體上發(fā) 送,例如在電布線或電纜,通過光纖,或經(jīng)由電磁輻射,其中當(dāng)程序代碼加載至機(jī)器(例如 計算機(jī))并由機(jī)器執(zhí)行時,機(jī)器變?yōu)橛糜趯嵺`本發(fā)明的裝置。當(dāng)在通用處理器上實現(xiàn)時,程 序代碼段與處理器組合,以提供類似于特點邏輯電路運行的唯一設(shè)備。本發(fā)明還可體現(xiàn)為通過介質(zhì)電或光發(fā)送的在磁記錄介質(zhì)等中存儲的磁場變型,使 用本發(fā)明的方法和/或裝置生成的位流或信號值的其他序列的形式。除非明顯闡述,每個數(shù)值和范圍應(yīng)該理解為近似,好像在值或范圍的值之前的詞 語“關(guān)于”或“大約”。還應(yīng)理解,在不脫離所附權(quán)利要求表達(dá)的本發(fā)明的范圍的情況下,本領(lǐng)域普通技 術(shù)人員可以對于說明和圖示地以解釋本發(fā)明特征的部分的細(xì)節(jié)、物質(zhì)、和排列進(jìn)行各種改變。權(quán)利要求中的附圖標(biāo)記和/或附圖標(biāo)號的使用旨在標(biāo)識權(quán)利要求的主題的一個 或多個可能實施例,以便于權(quán)利要求的解釋。這樣的使用不能理解為將那些權(quán)利要求的范 圍嚴(yán)格限制在相應(yīng)附圖所示的實施例。應(yīng)理解,這里闡述的示例性方法的步驟不必按所述順序執(zhí)行,并且這種方法的步 驟的順序應(yīng)該理解為僅是示例。同樣,附加步驟可以包括在這樣的方法中,并且在與本發(fā)明 各個實施例一致的方法中,可省略或組合某些步驟。盡管按具有相應(yīng)標(biāo)記的特定順序敘述了以下方法實施例的元素(如果存在),除 非權(quán)利要求敘述暗示了用于實現(xiàn)這些元素中的某些或全部的特定序列,這些元素不必限制 為按所述特定順序?qū)崿F(xiàn)。這里對于“一個實施例”或“一實施例”的引用意味著特定特征、結(jié)構(gòu)、或結(jié)合實施 例所述特點可以包括在本發(fā)明的至少一個實施例中。說明書中各處出現(xiàn)的短語“在一個實 施例中”不必都表示相同實施例,也不必是排除其他實施例的相互必要的單獨或備選實施 例。相同情況適用于術(shù)語“方案”。
權(quán)利要求
1.一種用于處理在通信系統(tǒng)中的節(jié)點處接收的片段的方法,所述方法包括(a)在接收序列中接收一個或多個片段的群組,其中一個或多個片段的群組對應(yīng)于分成片段集合的分組,其具有與增加片段偏移值對應(yīng)的 偏移順序;所述片段集合包括偏移0片段和一個或多個附加片段;所述偏移0片段是按所述片段集合的偏移順序的第一片段;以及所述群組包括在所述偏移0片段之前接收的至少一個附加片段;(b)緩沖存儲一個或多個片段的群組;(c)分析規(guī)則集,以匹配對于緩沖存儲的群組的規(guī)則;以及(d)對于緩沖存儲的群組應(yīng)用匹配規(guī)則,以(i)確定是否重發(fā)緩沖存儲的群組,以及 ( )如果重發(fā)緩沖存儲的群組,則確定如何重發(fā)緩沖存儲的群組,其中所述規(guī)則集包括第一規(guī)則,其規(guī)定在與一個分組對應(yīng)的接收片段被接收的接收序列中 重發(fā)所述接收片段,其獨立于是否在所述偏移0片段之前接收至少一個附加片段,從而,當(dāng) 所述第一規(guī)則應(yīng)用于緩沖存儲的群組時,所述偏移0片段不是要重發(fā)的緩沖存儲的群組的 第一片段。
2.如權(quán)利要求1的發(fā)明,其中所述片段集合包括并非一個或多個片段的群組的一部分 的一個或多個片段。
3.一種用于處理在通信系統(tǒng)中的節(jié)點處接收的片段的方法,所述方法包括(a)接收片段的群組,其中片段的每個群組對應(yīng)于分成片段集合的不同分組,其具有與增加片段偏移值對應(yīng)的偏 移順序;每個片段集合包括偏移0片段和一個或多個附加片段;以及所述偏移0片段是按所述片段集合的偏移順序的第一片段;(b)緩沖存儲片段的群組;(c)分析規(guī)則集,以匹配對于每個緩沖存儲的群組的規(guī)則;以及(d)對于每個緩沖存儲的群組應(yīng)用對應(yīng)匹配規(guī)則,以(i)確定是否重發(fā)緩沖存儲的群 組,以及(ii)如果重發(fā)緩沖存儲的群組,則確定如何重發(fā)緩沖存儲的群組,其中所述規(guī)則 集包括第一規(guī)則,其規(guī)定在重發(fā)之前重新組裝與一個分組對應(yīng)的接收片段;以及第二規(guī)則,其規(guī)定在重發(fā)之前不重新組裝與一個分組對應(yīng)的接收片段。
4.如權(quán)利要求3的發(fā)明,其中片段的群組包括第一群組和第二群組;以及步驟(c)使得(i)第一規(guī)則匹配于緩沖存儲的第一群組,以及使得(ii)第二規(guī)則匹配 于緩沖存儲的第二群組,從而所述緩沖存儲的第一群組在重發(fā)之前被重新組裝;以及所述緩沖存儲的第二群組在重發(fā)之前不重新組裝。
5.如權(quán)利要求3的發(fā)明,其中步驟(c)包括基于偏移0片段中的信息確定對于每個緩 沖存儲的群組的對應(yīng)匹配規(guī)則。
6.如權(quán)利要求3的發(fā)明,其中所述第一規(guī)則包括第一子規(guī)則,其規(guī)定與一個分組對應(yīng)的重新組裝片段在重發(fā)之前被重新劃分;以及 第二子規(guī)則,其規(guī)定與一個分組對應(yīng)的重新組裝片段在重發(fā)之前不重新劃分。
7.如權(quán)利要求6的發(fā)明,其中片段的群組包括第一群組和第三群組;以及步驟(c)使得(i)第一規(guī)則和第一子規(guī)則匹配于緩沖存儲的第一群組,以及使得(ii) 第一規(guī)則和第二子規(guī)則匹配于緩沖存儲的第三群組,從而所述緩沖存儲的第一群組在重發(fā)之前被重新組裝,并隨后被重新劃分;以及 所述緩沖存儲的第三群組在重發(fā)之前被重新組裝,并隨后不重新劃分。
8.一種用于處理在通信系統(tǒng)中的節(jié)點處接收的片段的方法,所述方法包括(a)在接收序列中接收片段集合,其中所述片段集合對應(yīng)于分成片段集合的分組,其具有與增加片段偏移值對應(yīng)的偏移順序;所述片段集合包括偏移0片段和一個或多個附加片段; 所述偏移0片段是按所述片段集合的偏移順序的第一片段; 不按偏移順序接收所述片段集合;以及 在所述偏移0片段之后接收所述附加片段中的至少一個;(b)緩沖存儲所述片段集合;以及(c)隨后,按偏移順序作為片段來重發(fā)片段集合,從而直到接收和緩沖存儲了集合中的 所有片段之后,才重發(fā)所述片段。
全文摘要
在一個實施例中,本發(fā)明是一種用于處理在基于數(shù)據(jù)報的通信系統(tǒng)中的節(jié)點(例如路由器)處接收的片段的技術(shù),以提供防止?jié)撛诘幕谄蔚墓舻拇蠓秶Wo(hù)。接收片段在他們被接收時進(jìn)行檢查,以驗證他們沒有彼此重疊,并且片段序列沒有利用IP分組重新組裝算法中的共同弱點。對于接收機(jī)表現(xiàn)出潛在威脅的有效片段序列可被重新排序和/或完全或部分地重新組裝,以及重新劃分成片段序列,這樣排除或減少了對于接收機(jī)的威脅。阻止了作為關(guān)聯(lián)分組的隨后片段的表現(xiàn)出可能攻擊的劃分序列。
文檔編號H04L12/56GK102067532SQ200980123920
公開日2011年5月18日 申請日期2009年4月28日 優(yōu)先權(quán)日2008年6月23日
發(fā)明者L·E·門滕 申請人:阿爾卡特朗訊美國公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
沈阳市| 新源县| 乐昌市| 黄梅县| 西乌珠穆沁旗| 连南| 微山县| 惠东县| 全州县| 贺州市| 理塘县| 淅川县| 灌南县| 温泉县| 河源市| 玉门市| 汶上县| 永平县| 淳安县| 淅川县| 阿克苏市| 镶黄旗| 柳州市| 泰兴市| 灌云县| 邢台县| 珲春市| 美姑县| 石泉县| 昌宁县| 莱州市| 高碑店市| 内江市| 惠水县| 浮山县| 延吉市| 天镇县| 从化市| 沂水县| 威信县| 朔州市|