無線接入點(diǎn)的隧道加速的制作方法
【專利摘要】本發(fā)明涉及無線接入點(diǎn)的隧道加速。本發(fā)明提供的網(wǎng)絡(luò)卸載方法及系統(tǒng)包括:在無線接入點(diǎn)的通信接口接收數(shù)據(jù)包,以及在主機(jī)處理器對(duì)數(shù)據(jù)包進(jìn)行處理之前,在流加速處理器對(duì)數(shù)據(jù)包進(jìn)行處理。所述流加速處理器可以對(duì)數(shù)據(jù)包進(jìn)行處理以便進(jìn)行報(bào)頭校驗(yàn)或安全處理。所述流加速處理器可將數(shù)據(jù)包提供給安全協(xié)處理器以便進(jìn)行安全處理。所述流加速處理器可以生成指示流加速處理器的處理是否成功的結(jié)果代碼。如果處理不成功,則將數(shù)據(jù)包提供給主機(jī)處理器以便進(jìn)行異常處理。
【專利說明】無線接入點(diǎn)的隧道加速
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及將某分組處理從主機(jī)處理器卸載到其他處理資源。特別地,本發(fā)明涉及直列式隧道加速,其可從主機(jī)處理器卸載協(xié)議操作及安全算法,以便減少主機(jī)處理器的負(fù)載并提高無線接入點(diǎn)的控制和配置(Control and Provisioning of Wireless AccessPoints, CAPffAP)中的處理延遲和吞吐量。
【背景技術(shù)】
[0002]在巨大消費(fèi)者需求的推動(dòng)下,電子和通信技術(shù)迅速發(fā)展,已使無線接入點(diǎn)得到廣泛應(yīng)用。無線接入點(diǎn),或企業(yè)接入點(diǎn)(EAP),提供無線連接以便將數(shù)據(jù)傳輸至無線連接設(shè)備并從無線連接設(shè)備接收數(shù)據(jù)。無線接入點(diǎn)還可提供有線連接以便將數(shù)據(jù)傳輸至有線網(wǎng)絡(luò)設(shè)備并從有線網(wǎng)絡(luò)設(shè)備接收數(shù)據(jù)。當(dāng)數(shù)據(jù)包移動(dòng)通過無線接入點(diǎn)時(shí),無線接入點(diǎn)對(duì)數(shù)據(jù)包進(jìn)行處理。在處理數(shù)據(jù)包時(shí),無線接入點(diǎn)可符合不同協(xié)議和標(biāo)準(zhǔn),例如無線接入點(diǎn)的控制和配置(CAPffAP)、通用路由封裝(GRE)、網(wǎng)絡(luò)地址與端口轉(zhuǎn)換(NAPT)、互聯(lián)網(wǎng)協(xié)議安全(IPsec )。處理這些協(xié)議和標(biāo)準(zhǔn)的不斷改善將繼續(xù)使無線接入點(diǎn)和其他網(wǎng)絡(luò)設(shè)備對(duì)客戶來說是有吸引力的選擇。
【發(fā)明內(nèi)容】
[0003]根據(jù)本發(fā)明的一方面,提供了以下方法:
[0004](I) 一種方法,包括:
[0005]在通信接口接收數(shù)據(jù)包;
[0006]在將所述數(shù)據(jù)包提供給主機(jī)處理器之前,將所述數(shù)據(jù)包提供給流加速處理器;
[0007]在所述流加速處理器:
[0008]確定所述數(shù)據(jù)包的數(shù)據(jù)包報(bào)頭和數(shù)據(jù)包有效載荷;
[0009]分析所述數(shù)據(jù)包,當(dāng)所述數(shù)據(jù)包報(bào)頭、數(shù)據(jù)包有效載荷或這兩者不滿足識(shí)別標(biāo)準(zhǔn)時(shí),將處理結(jié)果代碼分配給所述數(shù)據(jù)包,指示對(duì)所述數(shù)據(jù)包的異常處理;以及
[0010]將所述處理結(jié)果代碼和所述數(shù)據(jù)包提供給所述主機(jī)處理器;以及
[0011]在所述主機(jī)處理器:
[0012]接收所述結(jié)果代碼;以及
[0013]響應(yīng)于接收所述結(jié)果代碼,對(duì)所述數(shù)據(jù)包執(zhí)行異常處理。
[0014](2)根據(jù)(I)所述的方法,其中,執(zhí)行所述異常處理包括利用所述流加速處理器未執(zhí)行的處理步驟對(duì)所述數(shù)據(jù)包進(jìn)行處理。
[0015]( 3)根據(jù)(I)所述的方法,其中,所述識(shí)別標(biāo)準(zhǔn)包括通過報(bào)頭校驗(yàn)。
[0016](4)根據(jù)(3)所述的方法,其中,通過所述報(bào)頭校驗(yàn)包括驗(yàn)證所述數(shù)據(jù)包報(bào)頭的安全報(bào)頭序列號(hào)。
[0017](5)根據(jù)(I)所述的方法,其中,所述識(shí)別標(biāo)準(zhǔn)包括將從所述數(shù)據(jù)包報(bào)頭提取的流密鑰定位在流查找表中。[0018](6)根據(jù)(I)所述的方法,其中,所述識(shí)別標(biāo)準(zhǔn)包括成功解密所述數(shù)據(jù)包有效載荷。
[0019](7)根據(jù)(I)所述的方法,其中,分析所述數(shù)據(jù)包包括將所述數(shù)據(jù)包有效載荷傳送至安全協(xié)處理器用于進(jìn)行安全處理。
[0020]根據(jù)本發(fā)明的一方面,提供了以下系統(tǒng):
[0021](8) 一種系統(tǒng),包括:
[0022]通信接口,被配置為接收數(shù)據(jù)包;
[0023]流加速處理器,與在將所述數(shù)據(jù)包提供給主機(jī)處理器之前接收所述數(shù)據(jù)包的通信接口通信;
[0024]所述流加速處理器被配置為:
[0025]確定所述數(shù)據(jù)包的數(shù)據(jù)包報(bào)頭和數(shù)據(jù)包有效載荷;
[0026]分析所述數(shù)據(jù)包,當(dāng)所述數(shù)據(jù)包報(bào)頭、數(shù)據(jù)包有效載荷或這兩者不滿足識(shí)別標(biāo)準(zhǔn)時(shí),將處理結(jié)果代碼分配給所述數(shù)據(jù)包,指示對(duì)所述數(shù)據(jù)包的異常處理;以及
[0027]將所述處理結(jié)果代碼和所述數(shù)據(jù)包提供給所述主機(jī)處理器;以及
[0028]所述主機(jī)處理器被配置為:
[0029]接收所述結(jié)果代碼;以及
[0030]響應(yīng)于接收所述結(jié)果代碼對(duì)所述數(shù)據(jù)包執(zhí)行異常處理。
[0031](9)根據(jù)(8)所述的系統(tǒng),其中,所述異常處理被配置為利用所述流加速處理器未執(zhí)行的處理步驟對(duì)所述數(shù)據(jù)包進(jìn)行處理。
[0032](10)根據(jù)(8)所述的系統(tǒng),其中,當(dāng)所述數(shù)據(jù)包通過報(bào)頭校驗(yàn)時(shí),滿足所述識(shí)別標(biāo)準(zhǔn)。
[0033](11)根據(jù)(10)所述的系統(tǒng),其中,所述數(shù)據(jù)包通過驗(yàn)證所述數(shù)據(jù)包報(bào)頭的安全報(bào)頭序列號(hào)而通過報(bào)頭校驗(yàn)。
[0034](12)根據(jù)(8)所述的系統(tǒng),其中,當(dāng)從所述數(shù)據(jù)包報(bào)頭提取的流密鑰定位在流查找表中時(shí),滿足所述識(shí)別標(biāo)準(zhǔn)。
[0035](13)根據(jù)(8)所述的系統(tǒng),其中,當(dāng)所述數(shù)據(jù)包有效載荷被成功解密時(shí),滿足所述識(shí)別標(biāo)準(zhǔn)。
[0036](14)根據(jù)(8)述的系統(tǒng),進(jìn)一步被配置為通過將所述數(shù)據(jù)包有效載荷傳送至安全協(xié)處理器以進(jìn)行安全處理來分析所述數(shù)據(jù)包。
[0037]根據(jù)本發(fā)明的一方面,提供了以下方法:
[0038](15) —種方法,包括:
[0039]在通信接口接收數(shù)據(jù)包;
[0040]確定將所述數(shù)據(jù)包卸載到流加速處理器,而不是在主機(jī)處理器對(duì)所述數(shù)據(jù)包進(jìn)行處理;
[0041]在所述流加速處理器:
[0042]確定所述數(shù)據(jù)包的報(bào)頭部分和所述數(shù)據(jù)包的有效載荷部分;
[0043]根據(jù)所述數(shù)據(jù)包的所述報(bào)頭部分確定所述數(shù)據(jù)包的數(shù)據(jù)包封裝格式;
[0044]當(dāng)所述流加速處理器識(shí)別出所述數(shù)據(jù)包的所述數(shù)據(jù)包封裝格式時(shí),在所述流加速處理器開始對(duì)數(shù)據(jù)包進(jìn)行處理;以及
[0045]當(dāng)所述流加速處理器未識(shí)別出所述數(shù)據(jù)包的所述數(shù)據(jù)包封裝格式時(shí),利用結(jié)果代碼將所述數(shù)據(jù)包提供給所述主機(jī)處理器;以及
[0046]在所述主機(jī)處理器:
[0047]響應(yīng)于所述結(jié)果代碼,確定所述結(jié)果代碼指示所述流加速處理器未識(shí)別出所述數(shù)據(jù)包的所述數(shù)據(jù)包封裝格式;
[0048]將所述數(shù)據(jù)包的所述數(shù)據(jù)包封裝格式修改為更新的數(shù)據(jù)包封裝格式;以及
[0049]將具有所述更新的數(shù)據(jù)包封裝格式的數(shù)據(jù)包提交給所述流加速處理器。
[0050]( 16)根據(jù)(15)所述的方法,進(jìn)一步包括:
[0051]當(dāng)流加速處理器對(duì)所述數(shù)據(jù)包進(jìn)行處理時(shí),根據(jù)所述報(bào)頭部分確定所述有效載荷部分包括安全性;
[0052]將所述數(shù)據(jù)包卸載到安全協(xié)處理器用于進(jìn)行安全處理;以及
[0053]在所述流加速處理器接收來自所述安全協(xié)處理器的安全處理有效載荷部分。
[0054]( 17)根據(jù)(16)所述的方法,其中,安全處理包括所述數(shù)據(jù)包有效載荷的解密處理,其中所述安全處理有效載荷部分包括解密的有效載荷。
[0055](18)根據(jù)(15)所述的方法,進(jìn)一步包括:當(dāng)在所述流加速處理器處理所述數(shù)據(jù)包時(shí),
[0056]確定所述數(shù)據(jù)包的所述報(bào)頭部分的報(bào)頭類型;
[0057]分析所述報(bào)頭類型;
[0058]如果所述流加速處理器識(shí)別出所述報(bào)頭類型,則在流加速處理器對(duì)所述數(shù)據(jù)包進(jìn)行處理;以及
[0059]如果流加速處理器未識(shí)別出所述報(bào)頭類型,則利用結(jié)果代碼將所述數(shù)據(jù)包提供給所述主機(jī)處理器。
[0060](19)根據(jù)(15)所述的方法,其中,識(shí)別所述數(shù)據(jù)包封裝格式包括將從所述報(bào)頭部分提取的流密鑰定位在流查找表中。
[0061](20)根據(jù)(15)所述的方法,進(jìn)一步包括:使所述流加速處理器的緩沖狀態(tài)與所述主機(jī)處理器的主機(jī)處理狀態(tài)同步。
【專利附圖】
【附圖說明】
[0062]參照以下附圖及描述可以更好地理解本發(fā)明。在圖中,類似參考標(biāo)號(hào)在不同的視圖中指的是對(duì)應(yīng)部件。
[0063]圖1示出了使用流加速處理器使數(shù)據(jù)包移動(dòng)通過無線接入點(diǎn)的系統(tǒng)的實(shí)例。
[0064]圖2是無線接入點(diǎn)中使用的協(xié)議棧的實(shí)例。
[0065]圖3是安全數(shù)據(jù)傳輸層(DTLS)專有數(shù)據(jù)包(無CAPWAP )的數(shù)據(jù)包封裝格式的實(shí)例。
[0066]圖4是安全CAPWAP數(shù)據(jù)包的數(shù)據(jù)包封裝格式的實(shí)例。
[0067]圖5是安全CAPWAP控制數(shù)據(jù)包的數(shù)據(jù)包封裝格式的實(shí)例。
[0068]圖6是具有CAPWAP DTLS報(bào)頭的安全多DTLS握手?jǐn)?shù)據(jù)包的數(shù)據(jù)包封裝格式的實(shí)例。
[0069]圖7是純文本CAPWAP數(shù)據(jù)包的數(shù)據(jù)包封裝格式的實(shí)例。
[0070]圖8是純文本CAPWAP控制數(shù)據(jù)包的數(shù)據(jù)包封裝格式的實(shí)例。
[0071]圖9是使用流加速處理器的接收處理的流程圖的實(shí)例。[0072]圖10是使用流加速處理器的傳輸處理的流程圖的實(shí)例。
[0073]圖11是使用流加速處理器的命令處理的流程圖的實(shí)例。
【具體實(shí)施方式】
[0074]下述討論參照流。流可以被視為網(wǎng)絡(luò)中共享某條狀態(tài)信息的一系列數(shù)據(jù)包。流可通過無線接入點(diǎn)接收或傳輸,并且該流中的數(shù)據(jù)包可以由無線接入點(diǎn)進(jìn)行處理。當(dāng)無線接入點(diǎn)對(duì)數(shù)據(jù)包進(jìn)行處理時(shí),該處理可包括由網(wǎng)絡(luò)標(biāo)準(zhǔn)指定的協(xié)議操作和安全算法,例如,處理可包括安全算法處理、上下文切換、數(shù)據(jù)包碎片處理、協(xié)議報(bào)頭插入、報(bào)頭校驗(yàn)、序列號(hào)插入及驗(yàn)證、中斷處理。例如,該處理可以與無線接入點(diǎn)的控制和配置(CAPWAP)、通用路由封裝(GRE)、網(wǎng)絡(luò)地址與端口轉(zhuǎn)換(NAPT)、互聯(lián)網(wǎng)協(xié)議安全(IPsec )或其他協(xié)議規(guī)定的處理相關(guān)聯(lián)。無線接入點(diǎn)可以用于無線局域網(wǎng)(WLAN)并且可以與802.11兼容。在其他實(shí)現(xiàn)中,無線接入點(diǎn)可被配置為用于其他無線數(shù)據(jù)系統(tǒng),例如GSM、3G、WCDMA、4G、WiMAX、CDMA、CDMA2000,并且可被配置為與無線數(shù)據(jù)系統(tǒng)的任意組合一起使用。
[0075]無線接入點(diǎn)的流分組處理可由諸如CPU的主機(jī)處理器執(zhí)行,或可以卸載到諸如ASIC的專用處理器,該處理器可以對(duì)數(shù)據(jù)包進(jìn)行處理。在一種實(shí)現(xiàn)中,主機(jī)處理器可執(zhí)行一部分分組處理并且該專用處理器可執(zhí)行一部分分組處理。無線接入點(diǎn)可以接收數(shù)據(jù)包,傳輸數(shù)據(jù)包,或進(jìn)行這兩種操作,并且當(dāng)無線接入點(diǎn)接收數(shù)據(jù)包時(shí),在無線接入點(diǎn)傳輸數(shù)據(jù)包或進(jìn)行這兩種操作之前,可進(jìn)行分組處理。執(zhí)行的分組處理類型可以取決于數(shù)據(jù)包類型。除此之外,分組處理還可包括驗(yàn)證數(shù)據(jù)包,識(shí)別數(shù)據(jù)包的報(bào)頭部分和有效載荷部分,解密數(shù)據(jù)包的加密部分,將數(shù)據(jù)包分割成更小的數(shù)據(jù)包或在流中確定數(shù)據(jù)包的成員關(guān)系(如果有的話)。分組處理不限于這些實(shí)例,并且可對(duì)數(shù)據(jù)包執(zhí)行其他分組處理。
[0076]當(dāng)主機(jī)處理器對(duì)數(shù)據(jù)包進(jìn)行處理時(shí),主機(jī)處理器可使用軟件來處理數(shù)據(jù)包。使用主機(jī)處理器上的軟件對(duì)數(shù)據(jù)包進(jìn)行處理會(huì)消耗主機(jī)處理器的大量資源。如果數(shù)據(jù)包流的數(shù)據(jù)傳輸速率高,則主機(jī)處理器的處理能力會(huì)不足以對(duì)數(shù)據(jù)包進(jìn)行快速處理。如果主機(jī)處理器不能以足以匹配數(shù)據(jù)傳輸速率的速度來對(duì)數(shù)據(jù)包進(jìn)行處理,則可能會(huì)發(fā)生數(shù)據(jù)包延遲,主機(jī)處理器可能沒有必要減慢數(shù)據(jù)包可移動(dòng)通過無線接入點(diǎn)的速率。
[0077]為了更快速地對(duì)數(shù)據(jù)包進(jìn)行處理并減少主機(jī)處理器的負(fù)載,主機(jī)處理器可將分組處理卸載到流加速處理器。流加速處理器可執(zhí)行一部分或所有分組處理以減輕主機(jī)處理器的負(fù)載。通過這種方法,無線接入點(diǎn)能夠以高的數(shù)據(jù)傳輸速率在沒有數(shù)據(jù)包延遲的情況下對(duì)數(shù)據(jù)包進(jìn)行處理。
[0078]當(dāng)數(shù)據(jù)包移動(dòng)通過無線接入點(diǎn)的不同組件時(shí),無線接入點(diǎn)可包括用于數(shù)據(jù)包的某些數(shù)據(jù)路徑。數(shù)據(jù)路徑可包括接收路徑、傳輸路徑及控制路徑,可根據(jù)數(shù)據(jù)包采用的路徑對(duì)數(shù)據(jù)包執(zhí)行各種類型的處理。圖1示出了無線接入點(diǎn)100中的組件及數(shù)據(jù)路徑的實(shí)例。主機(jī)處理器102可包含用于處理數(shù)據(jù)包的軟件并且可以通過通信接口 108與流加速處理器104連接。流加速處理器(FAP) 104可以是用于處理數(shù)據(jù)包的專用處理器。安全協(xié)處理器106可直接與FAP 104通信并且可通過通信接口 108與主機(jī)處理器102通信。數(shù)據(jù)路徑130示出了通過無線接入點(diǎn)100的數(shù)據(jù)包路徑的實(shí)例。
[0079]作為接收路徑的實(shí)例,無線接入點(diǎn)可接收以太網(wǎng)端口 120上的數(shù)據(jù)包。交換機(jī)118可將接收的數(shù)據(jù)包中繼轉(zhuǎn)發(fā)至FAP 104以便進(jìn)行接收數(shù)據(jù)包處理。作為接收數(shù)據(jù)包處理的一部分,F(xiàn)AP 104可將數(shù)據(jù)包傳遞至安全協(xié)處理器106以便對(duì)數(shù)據(jù)包或數(shù)據(jù)包的一部分進(jìn)行安全處理。一旦完成安全處理,安全協(xié)處理器106將數(shù)據(jù)包返回FAP 104以便進(jìn)行進(jìn)一步的接收數(shù)據(jù)包處理。當(dāng)FAP 104對(duì)數(shù)據(jù)包完成處理時(shí),F(xiàn)AP 104可經(jīng)由通信接口 108和存儲(chǔ)控制器110將數(shù)據(jù)包存儲(chǔ)在存儲(chǔ)器112中,其中主機(jī)處理器102可通過存儲(chǔ)控制器110來訪問數(shù)據(jù)包以便執(zhí)行額外的接收數(shù)據(jù)包處理或異常處理。通信接口可以是內(nèi)部并行總線或交換架構(gòu)接口,例如包括高級(jí)可擴(kuò)展接口(AXI)。存儲(chǔ)器112可以是DRAM,可位于FAP 104的外部或內(nèi)部。例如,存儲(chǔ)器112可以是雙倍數(shù)據(jù)速率(DDR)存儲(chǔ)器,并且存儲(chǔ)控制器110可以是直接存儲(chǔ)器訪問(DMA)存儲(chǔ)控制器。在其他實(shí)現(xiàn)中,無線接入點(diǎn)可以使用其他類型的通信接口、存儲(chǔ)器或存儲(chǔ)控制器。
[0080]作為傳輸路徑的實(shí)例,主機(jī)處理器102可通過存儲(chǔ)控制器110將數(shù)據(jù)包置于存儲(chǔ)器112中以便進(jìn)行傳輸。在某些情況下,主機(jī)處理器102在將數(shù)據(jù)包置于存儲(chǔ)器112中之前可執(zhí)行傳輸處理,以便FAP 104執(zhí)行額外的傳輸處理。傳輸處理可包括應(yīng)用報(bào)頭信息、數(shù)據(jù)包分割或安全處理。在FAP104執(zhí)行傳輸處理之后,可以將數(shù)據(jù)包中繼轉(zhuǎn)發(fā)至交換機(jī)118以便通過以太網(wǎng)端口 120進(jìn)行有線傳輸。替代地,可將數(shù)據(jù)包中繼轉(zhuǎn)發(fā)至存儲(chǔ)器112以便利用無線電116無線傳輸數(shù)據(jù)包。例如,無線電116可以是802.11控制器芯片,例如可從加州Irvine的博通公司購買的型號(hào)為BCM43460的芯片。
[0081]圖2示出了 FAP 104可在無線接入點(diǎn)200處使用的協(xié)議棧。例如,主機(jī)處理器102可使用企業(yè)分組處理橋接器202來引導(dǎo)數(shù)據(jù)包通過無線接入點(diǎn)200。企業(yè)分組處理橋接器202可使用流加速驅(qū)動(dòng)器204來與流加速處理器104通信并使用802.11驅(qū)動(dòng)器206來與無線電116通信。在FAP 104內(nèi),不同協(xié)議可作為協(xié)議棧的一部分進(jìn)行處理,例如包括使用CAPWAP、DTLS、UDP、UDP-Lite、IPv4、IPv6、以太網(wǎng)分組處理的協(xié)議。下文將對(duì)與協(xié)議棧相關(guān)聯(lián)的不同數(shù)據(jù)包類型進(jìn)行更詳細(xì)描述。
[0082]數(shù)據(jù)包封裝格式
[0083]FAP 104可以對(duì)不同類型的數(shù)據(jù)包進(jìn)行處理。每個(gè)類型的數(shù)據(jù)包可具有包括報(bào)頭字段、數(shù)據(jù)字段及尾部字段的數(shù)據(jù)包封裝格式。如果FAP 104識(shí)別出數(shù)據(jù)包封裝格式,則FAP 104可以對(duì)數(shù)據(jù)包進(jìn)行處理。如果FAP 104未識(shí)別出數(shù)據(jù)包封裝格式,F(xiàn)AP 104可以將數(shù)據(jù)包提供給主機(jī)處理器102以便進(jìn)行異常處理。例如,圖3至圖9示出了 FAP 104可以識(shí)別的示例性數(shù)據(jù)包封裝格式。當(dāng)數(shù)據(jù)包封裝格式是FAP 104識(shí)別出的數(shù)據(jù)包封裝格式時(shí),則可滿足識(shí)別標(biāo)準(zhǔn),并且FAP 104可以繼續(xù)處理數(shù)據(jù)包。如果FAP 104確定數(shù)據(jù)包封裝格式是FAP 104未識(shí)別出的數(shù)據(jù)包封裝格式,則不滿足識(shí)別標(biāo)準(zhǔn),并且FAP 104可以將數(shù)據(jù)包提供給主機(jī)處理器102以便進(jìn)行異常處理。
[0084]每個(gè)數(shù)據(jù)包封裝格式都可包括一系列字段。字段類型可以是報(bào)頭字段、數(shù)據(jù)字段(有效載荷或消息)或尾部字段。每個(gè)字段都可包括多個(gè)子字段。另外,每個(gè)子字段都可包括用于存儲(chǔ)與子字段相對(duì)應(yīng)的特定信息的多個(gè)數(shù)據(jù)位。例如,信息可用于路由信息、安全信息或有效載荷數(shù)據(jù)??梢詫?duì)不同字段進(jìn)行認(rèn)證或加密處理。表I列出數(shù)據(jù)包封裝格式中可包括的不同字段及子字段的實(shí)例。
[0085]表I一報(bào)頭類型
[0086]
【權(quán)利要求】
1.一種方法,包括: 在通信接口接收數(shù)據(jù)包; 在將所述數(shù)據(jù)包提供給主機(jī)處理器之前,將所述數(shù)據(jù)包提供給流加速處理器; 在所述流加速處理器: 確定所述數(shù)據(jù)包的數(shù)據(jù)包報(bào)頭和數(shù)據(jù)包有效載荷; 分析所述數(shù)據(jù)包,當(dāng)所述數(shù)據(jù)包報(bào)頭、數(shù)據(jù)包有效載荷或這兩者不滿足識(shí)別標(biāo)準(zhǔn)時(shí),將處理結(jié)果代碼分配給所述數(shù)據(jù)包,指示對(duì)所述數(shù)據(jù)包的異常處理;以及將所述處理結(jié)果代碼和所述數(shù)據(jù)包提供給所述主機(jī)處理器;以及在所述主機(jī)處理器: 接收所述結(jié)果代碼;以及 響應(yīng)于接收所述結(jié)果代碼,對(duì)所述數(shù)據(jù)包執(zhí)行異常處理。
2.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行所述異常處理包括利用所述流加速處理器未執(zhí)行的處理步驟對(duì)所述數(shù)據(jù)包進(jìn)行處理。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述識(shí)別標(biāo)準(zhǔn)包括通過報(bào)頭校驗(yàn)。
4.根據(jù)權(quán)利要求3所述的方法,其中,通過所述報(bào)頭校驗(yàn)包括驗(yàn)證所述數(shù)據(jù)包報(bào)頭的安全報(bào)頭序列號(hào)。
5.一種系統(tǒng),包括: 通信接口,被配置為接收數(shù) 據(jù)包; 流加速處理器,與在將所述數(shù)據(jù)包提供給主機(jī)處理器之前接收所述數(shù)據(jù)包的通信接口通信; 所述流加速處理器被配置為: 確定所述數(shù)據(jù)包的數(shù)據(jù)包報(bào)頭和數(shù)據(jù)包有效載荷; 分析所述數(shù)據(jù)包,當(dāng)所述數(shù)據(jù)包報(bào)頭、數(shù)據(jù)包有效載荷或這兩者不滿足識(shí)別標(biāo)準(zhǔn)時(shí),將處理結(jié)果代碼分配給所述數(shù)據(jù)包,指示對(duì)所述數(shù)據(jù)包的異常處理;以及將所述處理結(jié)果代碼和所述數(shù)據(jù)包提供給所述主機(jī)處理器;以及所述主機(jī)處理器被配置為: 接收所述結(jié)果代碼;以及 響應(yīng)于接收所述結(jié)果代碼對(duì)所述數(shù)據(jù)包執(zhí)行異常處理。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,當(dāng)所述數(shù)據(jù)包通過報(bào)頭校驗(yàn)時(shí),滿足所述識(shí)別標(biāo)準(zhǔn)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述數(shù)據(jù)包通過驗(yàn)證所述數(shù)據(jù)包報(bào)頭的安全報(bào)頭序列號(hào)而通過報(bào)頭校驗(yàn)。
8.一種方法,包括: 在通信接口接收數(shù)據(jù)包; 確定將所述數(shù)據(jù)包卸載到流加速處理器,而不是在主機(jī)處理器對(duì)所述數(shù)據(jù)包進(jìn)行處理; 在所述流加速處理器: 確定所述數(shù)據(jù)包的報(bào)頭部分和所述數(shù)據(jù)包的有效載荷部分; 根據(jù)所述數(shù)據(jù)包的所述報(bào)頭部分確定所述數(shù)據(jù)包的數(shù)據(jù)包封裝格式;當(dāng)所述流加速處理器識(shí)別出所述數(shù)據(jù)包的所述數(shù)據(jù)包封裝格式時(shí),在所述流加速處理器開始對(duì)數(shù)據(jù)包進(jìn)行處理;以及 當(dāng)所述流加速處理器未識(shí)別出所述數(shù)據(jù)包的所述數(shù)據(jù)包封裝格式時(shí),利用結(jié)果代碼將所述數(shù)據(jù)包提供給所述主機(jī)處理器;以及在所述主機(jī)處理器: 響應(yīng)于所述結(jié)果代碼,確定所述結(jié)果代碼指示所述流加速處理器未識(shí)別出所述數(shù)據(jù)包的所述數(shù)據(jù)包封裝格式; 將所述數(shù)據(jù)包的所述數(shù)據(jù)包封裝格式修改為更新的數(shù)據(jù)包封裝格式;以及 將具有所述更新的數(shù)據(jù)包封裝格式的數(shù)據(jù)包提交給所述流加速處理器。
9.根據(jù)權(quán)利要求8所述的方法,進(jìn)一步包括: 當(dāng)流加速處理器對(duì)所述數(shù)據(jù)包進(jìn)行處理時(shí),根據(jù)所述報(bào)頭部分確定所述有效載荷部分包括安全性; 將所述數(shù)據(jù)包卸載到安全協(xié)處理器用于進(jìn)行安全處理;以及 在所述流加速處理器接收來自所述安全協(xié)處理器的安全處理過的有效載荷部分。
10. 根據(jù)權(quán)利要求8所述的方法,進(jìn)一步包括:當(dāng)在所述流加速處理器處理所述數(shù)據(jù)包時(shí), 確定所述數(shù)據(jù)包的所述報(bào)頭部分的報(bào)頭類型; 分析所述報(bào)頭類型; 如果所述流加速處理器識(shí)別出所述報(bào)頭類型,則在流加速處理器對(duì)所述數(shù)據(jù)包進(jìn)行處理;以及 如果流加速處理器未識(shí)別出所述報(bào)頭類型,則利用結(jié)果代碼將所述數(shù)據(jù)包提供給所述主機(jī)處理器。
【文檔編號(hào)】H04W28/06GK103491573SQ201310226538
【公開日】2014年1月1日 申請(qǐng)日期:2013年6月7日 優(yōu)先權(quán)日:2012年6月7日
【發(fā)明者】布賴恩·佩特里, 艾瑞克·斯帕達(dá), 斯特凡·安德森, 斯科特·溫特布勒 申請(qǐng)人:美國博通公司