專(zhuān)利名稱(chēng):用于無(wú)線(xiàn)臺(tái)站的內(nèi)聯(lián)加密和解密的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無(wú)線(xiàn)網(wǎng)絡(luò),具體而言,涉及用于MAC密碼學(xué)的MAC控制器和方法,該MAC密碼學(xué)例如在通過(guò)分組網(wǎng)絡(luò)鏈路耦合到無(wú)線(xiàn)臺(tái)站的實(shí)體中執(zhí)行包含MAC處理器的無(wú)線(xiàn)臺(tái)站外部的實(shí)際密碼功能。
圖1示出了例如用于遵從IEEE 802.11標(biāo)準(zhǔn)之一的無(wú)線(xiàn)局域網(wǎng)(WLAN)的傳統(tǒng)現(xiàn)有技術(shù)的無(wú)線(xiàn)網(wǎng)絡(luò)連接100。無(wú)線(xiàn)電部分101包括耦合到無(wú)線(xiàn)電收發(fā)器105的一個(gè)或多個(gè)天線(xiàn)103,無(wú)線(xiàn)電收發(fā)器105包括模擬RF部分和數(shù)字調(diào)制解調(diào)器。無(wú)線(xiàn)電部分101的數(shù)字調(diào)制解調(diào)器耦合到實(shí)現(xiàn)MAC協(xié)議的MAC處理器107。MAC處理器107通過(guò)一條或多條總線(xiàn)(象征性地示為單個(gè)總線(xiàn)子系統(tǒng)111)連接到主機(jī)處理器。主機(jī)處理器包括存儲(chǔ)器(例如,連接到主機(jī)總線(xiàn)的RAM),該存儲(chǔ)器在這里示為總線(xiàn)子系統(tǒng)111的一部分。
在實(shí)現(xiàn)MAC協(xié)議(例如,IEEE 802.11 MAC協(xié)議)時(shí),MAC處理器107決定在何時(shí)發(fā)送哪些MAC分組。典型的現(xiàn)有技術(shù)MAC處理器107包括快速但是相對(duì)較小的本地存儲(chǔ)器(在圖1中示為MAC存儲(chǔ)器109),該本地存儲(chǔ)器確保MAC處理器可以快速訪(fǎng)問(wèn)其需要發(fā)送的分組。主機(jī)處理器決定MAC處理器可能需要哪些分組,并發(fā)送這些被包括在本地MAC存儲(chǔ)器109中的分組。當(dāng)有一個(gè)或多個(gè)分組要發(fā)送時(shí),MAC處理器隨后從其MAC存儲(chǔ)器109中取得這些分組。
近年來(lái)人們希望將越來(lái)越多的MAC處理功能移到主機(jī)處理器上。例如,主機(jī)可以實(shí)現(xiàn)WLAN接入點(diǎn)。通過(guò)將越來(lái)越多的功能移到主機(jī)上的軟件中,實(shí)現(xiàn)了更大的靈活性。
在一個(gè)這樣的安排中,MAC處理功能被劃分為“低層MAC”和“高層MAC”,“低層MAC”在硬件中實(shí)現(xiàn)這樣的方面,如接口到物理無(wú)線(xiàn)電部分(PHY)101、加密和實(shí)際的收發(fā)MAC分組。低層MAC可以利用處理器實(shí)現(xiàn),并且包括本地存儲(chǔ)器。“高層MAC”功能(即,剩余的MAC功能)實(shí)現(xiàn)在運(yùn)行在主機(jī)處理器上的軟件中。低層MAC經(jīng)由總線(xiàn)子系統(tǒng)耦合到主機(jī)處理器。
當(dāng)要發(fā)送的分組準(zhǔn)備好時(shí),主機(jī)將關(guān)于這些分組的信息傳遞到低層MAC。例如,信息可以包括關(guān)于MAC分組的有效載荷駐留在主機(jī)存儲(chǔ)器中的何處的信息。該信息被本地地存儲(chǔ)在低層MAC上。當(dāng)?shù)蛯覯AC被建立發(fā)送要發(fā)送的MAC分組時(shí),低層MAC建立所需數(shù)據(jù)的DMA傳送。然后,數(shù)據(jù)經(jīng)由DMA被從主機(jī)傳遞到低層MAC處理器。
這避免了現(xiàn)有技術(shù)方法的失誤情形,該方法包括主機(jī)預(yù)測(cè)并以要發(fā)送的分組預(yù)先加載本地MAC存儲(chǔ)器。
近年來(lái),人們希望將用作接入點(diǎn)(AP)的臺(tái)站的更多智能移到交換機(jī)上。例如,可能使某些MAC功能在連接到接入點(diǎn)的交換機(jī)中執(zhí)行。
在父專(zhuān)利申請(qǐng)中描述了一種提供了用于來(lái)自交換機(jī)的要發(fā)送分組的數(shù)據(jù)流式傳輸?shù)姆椒ê脱b置,AP例如經(jīng)由快速(例如G比特)以太網(wǎng)直接連接到交換機(jī)。父專(zhuān)利申請(qǐng)引入了特殊的以太網(wǎng)控制器,其除了標(biāo)準(zhǔn)的以太網(wǎng)MAC和PHY功能外,還充當(dāng)網(wǎng)絡(luò)DMA控制器。父專(zhuān)利申請(qǐng)還引入了第一新類(lèi)型的特殊分組,其包含由特殊以太網(wǎng)控制器創(chuàng)建的指針和長(zhǎng)度,并且被發(fā)送到連接到AP的交換機(jī)或其他設(shè)備。父專(zhuān)利申請(qǐng)還引入了第二新類(lèi)型的特殊分組,其用于發(fā)送第一類(lèi)型特殊分組所請(qǐng)求的數(shù)據(jù)。連接到AP的交換機(jī)或其他設(shè)備具有匹配的特殊以太網(wǎng)控制器,其理解并且創(chuàng)建這種特殊分組。從而,當(dāng)交換機(jī)接收到第一特殊類(lèi)型分組時(shí),其以必要數(shù)據(jù)作出響應(yīng)。在發(fā)送時(shí)分組數(shù)據(jù)直接從交換機(jī)流式傳輸?shù)組AC。
現(xiàn)有技術(shù)AP的低層MAC處理器一般包括密碼引擎,其實(shí)時(shí)地對(duì)用于發(fā)送的分組進(jìn)行加密,或者同樣實(shí)時(shí)地對(duì)接收的分組進(jìn)行解密。加密實(shí)時(shí)地進(jìn)行到最后一刻的一個(gè)原因是例如,如果需要重新加密用于發(fā)送的分組,則分組是本地可獲得的,并且在最后一刻執(zhí)行加密。
利用MAC處理器中的加密引擎加密數(shù)據(jù)的一個(gè)缺點(diǎn)是未加密的數(shù)據(jù)本地地存在于無(wú)線(xiàn)臺(tái)站處,從而增加了易受攻擊性。此外,本地?zé)o線(xiàn)臺(tái)站需要本地地存儲(chǔ)和維護(hù)所需的加密密鑰,這同樣增加了易受攻擊性。
從而,在技術(shù)中需要一種允許在遠(yuǎn)離AP的設(shè)備(例如,邊緣路由器)上執(zhí)行加密的方法和裝置。
如在父申請(qǐng)中所描述的,可以使某些MAC功能在接入點(diǎn)連接到的交換機(jī)中執(zhí)行。利用在父申請(qǐng)中描述的系統(tǒng),人們可以在使數(shù)據(jù)流式化以用于發(fā)送之前在交換機(jī)中執(zhí)行加密。即,人們可以在AP上排隊(duì)之前有效地執(zhí)行加密。然而,這是不希望發(fā)生的。這使得交換機(jī)上的加密處理與選擇AP中的下一分組的處理去耦合。為了這樣作,交換機(jī)必須對(duì)將會(huì)發(fā)生何事以及何時(shí)發(fā)生作出假設(shè)。當(dāng)這些假設(shè)是不正確的時(shí),在最好情況下,AP必須請(qǐng)求新加密版本的分組,或者在最壞情況下,AP僅僅丟棄分組并等待更高層來(lái)挑選出該情形。即,發(fā)明人相信在排隊(duì)之前在交換機(jī)處進(jìn)行加密太早。例如,依賴(lài)于分組所發(fā)生的情形,可能需要請(qǐng)求要發(fā)送的分組被重新加密。如果在交換機(jī)處執(zhí)行這種加密,則這會(huì)要求將分組從MAC發(fā)送回交換機(jī)。這不僅意味著需要交換機(jī)維護(hù)未加密的分組直到其被發(fā)送,還明顯增加了發(fā)送時(shí)間延遲。此外,這種安排可以相當(dāng)程度上使體系結(jié)構(gòu)變得復(fù)雜化。
從而,在技術(shù)中需要這樣一種機(jī)制,其使包括加密在內(nèi)的更多的MAC功能駐留在遠(yuǎn)離無(wú)線(xiàn)臺(tái)站自身的設(shè)備中,而不會(huì)產(chǎn)生可能需要對(duì)數(shù)據(jù)重新加密這樣的不良影響。因此,需要這樣一種方法和裝置,其例如通過(guò)維持AP的發(fā)送信息和加密之間的耦合來(lái)與無(wú)線(xiàn)發(fā)送內(nèi)聯(lián)(in line)地執(zhí)行加密處理。
發(fā)明內(nèi)容
這里公開(kāi)了一種在無(wú)線(xiàn)臺(tái)站處無(wú)線(xiàn)發(fā)送或接收信息分組的方法,和無(wú)線(xiàn)發(fā)送或接收信息分組的裝置。在發(fā)送情形中,該方法包括在發(fā)送期間經(jīng)由到臺(tái)站的網(wǎng)絡(luò)鏈路流式傳輸包括分組的至少某些內(nèi)容的數(shù)據(jù)元素。在接收情形中,該方法包括在接收期間經(jīng)由網(wǎng)絡(luò)鏈路流式傳輸包括接收分組的至少某些內(nèi)容的數(shù)據(jù)元素。發(fā)送或接收是由無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站進(jìn)行的,并且流式傳輸是從通過(guò)網(wǎng)絡(luò)鏈路耦合到臺(tái)站的網(wǎng)絡(luò)設(shè)備去往臺(tái)站的,或者從臺(tái)站去往該網(wǎng)絡(luò)設(shè)備的。
在發(fā)送情形中,本發(fā)明的一個(gè)方面包括在發(fā)送期間數(shù)據(jù)被流式傳輸經(jīng)過(guò)網(wǎng)絡(luò)鏈路的同時(shí)實(shí)時(shí)地加密數(shù)據(jù),這樣維持了臺(tái)站的無(wú)線(xiàn)發(fā)送信息和加密之間的耦合。本發(fā)明的另一個(gè)方面在于經(jīng)由網(wǎng)絡(luò)鏈路發(fā)送要發(fā)送的數(shù)據(jù)在最后可能的時(shí)刻之前都不需要發(fā)生,從而不需要通過(guò)網(wǎng)絡(luò)鏈路連接到臺(tái)站的設(shè)備作出任何假設(shè)或預(yù)測(cè)。
一個(gè)實(shí)施例是在無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站中實(shí)現(xiàn)的方法,在一個(gè)實(shí)施例中,無(wú)線(xiàn)網(wǎng)絡(luò)是IEEE 802.11無(wú)線(xiàn)網(wǎng)絡(luò)。臺(tái)站通過(guò)網(wǎng)絡(luò)鏈路耦合到網(wǎng)絡(luò)設(shè)備(在一個(gè)實(shí)施例中是交換機(jī)),在一個(gè)實(shí)施例中,網(wǎng)絡(luò)鏈路是G比特以太網(wǎng)或者至少與G比特以太網(wǎng)一樣快的任何以太網(wǎng)。網(wǎng)絡(luò)設(shè)備包括存儲(chǔ)器。該方法是在臺(tái)站處的無(wú)線(xiàn)發(fā)送或無(wú)線(xiàn)接收期間經(jīng)由網(wǎng)絡(luò)鏈路實(shí)現(xiàn)去往或來(lái)自網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)的流式傳輸。
該方法包括接受信息,該信息描述了在發(fā)送情形中從何處取得包括要無(wú)線(xiàn)發(fā)送的分組的至少某些數(shù)據(jù)的數(shù)據(jù)元素,或者在接收情形中向何處寫(xiě)入包括來(lái)自無(wú)線(xiàn)接收的分組的至少某些數(shù)據(jù)的數(shù)據(jù)元素。該信息包括在發(fā)送情形中如何對(duì)數(shù)據(jù)元素加密和在接收情形中如何對(duì)數(shù)據(jù)元素解密的信息。所接受的信息包括定義用于數(shù)據(jù)元素的網(wǎng)絡(luò)設(shè)備存儲(chǔ)器中的存儲(chǔ)位置和數(shù)據(jù)量、并且定義密碼信息的信息。
該方法還包括在發(fā)送情形中建立用于要無(wú)線(xiàn)發(fā)送的分組的數(shù)據(jù)元素的DMA傳送(包括建立加密),或者在接收情形中建立來(lái)自無(wú)線(xiàn)接收的分組的數(shù)據(jù)元素的DMA傳送(包括建立解密),所述建立使用定義信息進(jìn)行。
在發(fā)送情形中,該方法還包括將定義信息轉(zhuǎn)換為第一類(lèi)型分組以在網(wǎng)絡(luò)鏈路上傳輸,并經(jīng)由網(wǎng)絡(luò)鏈路將第一類(lèi)型分組發(fā)送到網(wǎng)絡(luò)設(shè)備,在網(wǎng)絡(luò)設(shè)備處,第一類(lèi)型分組被解釋來(lái)根據(jù)定義信息建立發(fā)送來(lái)自網(wǎng)絡(luò)設(shè)備存儲(chǔ)器的數(shù)據(jù)元素或者將數(shù)據(jù)元素寫(xiě)入到網(wǎng)絡(luò)設(shè)備存儲(chǔ)器的操作,包括在發(fā)送情形中進(jìn)行加密,或者在接收情形中進(jìn)行解密。
另外在發(fā)送情形中,該方法包括響應(yīng)于發(fā)送分組而接收包括根據(jù)密碼信息加密的數(shù)據(jù)元素的第二類(lèi)型分組,將第二類(lèi)型分組轉(zhuǎn)換為數(shù)據(jù)元素,并將數(shù)據(jù)元素并入到要發(fā)送的分組中,從而使經(jīng)由網(wǎng)絡(luò)進(jìn)行的傳送(包括加密)在發(fā)送期間實(shí)時(shí)發(fā)生。
在接收情形中,該方法包括從無(wú)線(xiàn)接收的分組中提取出數(shù)據(jù)元素,將數(shù)據(jù)元素封裝到第二類(lèi)型分組中以寫(xiě)入到網(wǎng)絡(luò)設(shè)備存儲(chǔ)器中,并將第二類(lèi)型分組發(fā)送到網(wǎng)絡(luò)設(shè)備,在網(wǎng)絡(luò)設(shè)備處,第二類(lèi)型分組被解釋?zhuān)沟梅庋b數(shù)據(jù)根據(jù)定義信息被寫(xiě)入到網(wǎng)絡(luò)設(shè)備存儲(chǔ)器中,這種定義信息包括描述如何對(duì)數(shù)據(jù)解密的密碼信息。
根據(jù)該方法,在發(fā)送情形中,經(jīng)由網(wǎng)絡(luò)進(jìn)行的并入到要無(wú)線(xiàn)發(fā)送的分組中的數(shù)據(jù)元素的傳送在發(fā)送期間實(shí)時(shí)發(fā)生,包括在經(jīng)由網(wǎng)絡(luò)進(jìn)行傳送之前進(jìn)行加密,或者在接收情形中,經(jīng)由網(wǎng)絡(luò)進(jìn)行的傳送在接收期間實(shí)時(shí)發(fā)生,包括在經(jīng)由網(wǎng)絡(luò)進(jìn)行傳送之后實(shí)時(shí)解密。
另一個(gè)實(shí)施例是實(shí)現(xiàn)在網(wǎng)絡(luò)設(shè)備中的方法,在一個(gè)實(shí)施例中,網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)交換機(jī)。網(wǎng)絡(luò)設(shè)備經(jīng)由網(wǎng)絡(luò)鏈路耦合到無(wú)線(xiàn)網(wǎng)絡(luò)(在一個(gè)實(shí)施例中,是IEEE 802.11無(wú)線(xiàn)網(wǎng)絡(luò))的臺(tái)站,網(wǎng)絡(luò)鏈路例如是足夠快的以太網(wǎng)鏈路,如G比特或更快的以太網(wǎng)鏈路。網(wǎng)絡(luò)設(shè)備包括存儲(chǔ)器。該方法是在臺(tái)站處的無(wú)線(xiàn)發(fā)送或無(wú)線(xiàn)接收期間經(jīng)由網(wǎng)絡(luò)鏈路實(shí)現(xiàn)來(lái)自或去往網(wǎng)絡(luò)設(shè)備存儲(chǔ)器的數(shù)據(jù)的流式傳輸。
該方法包括經(jīng)由網(wǎng)絡(luò)鏈路將信息發(fā)送到無(wú)線(xiàn)臺(tái)站,該信息描述了在發(fā)送情形中從何處取得包括要無(wú)線(xiàn)發(fā)送的分組的至少某些數(shù)據(jù)的數(shù)據(jù)元素,或者在接收情形中向何處寫(xiě)入包括來(lái)自無(wú)線(xiàn)接收的分組的至少某些數(shù)據(jù)的數(shù)據(jù)元素。所接受的信息包括定義網(wǎng)絡(luò)設(shè)備存儲(chǔ)器中用于數(shù)據(jù)元素的存儲(chǔ)位置和數(shù)據(jù)量的信息。該方法還包括經(jīng)由網(wǎng)絡(luò)鏈路接收來(lái)自無(wú)線(xiàn)臺(tái)站的第一類(lèi)型分組。該分組包括描述從何處取得數(shù)據(jù)元素或向何處寫(xiě)入數(shù)據(jù)元素的信息。
在要分組的分組的數(shù)據(jù)的情形中,該方法包括響應(yīng)于接收到第一類(lèi)型分組,從存儲(chǔ)器中取得數(shù)據(jù)元素,形成包括所取得的數(shù)據(jù)的第二類(lèi)型分組;并響應(yīng)于接收到第一類(lèi)型分組而將第二類(lèi)型分組發(fā)送到無(wú)線(xiàn)臺(tái)站,從而使經(jīng)由網(wǎng)絡(luò)進(jìn)行的并入到要無(wú)線(xiàn)發(fā)送的分組中的數(shù)據(jù)傳送在發(fā)送期間實(shí)時(shí)發(fā)生。
在數(shù)據(jù)來(lái)自接收分組的情形中,該方法包括接收來(lái)自無(wú)線(xiàn)臺(tái)站的封裝了數(shù)據(jù)元素的第二類(lèi)型分組,從第二類(lèi)型分組中提取出封裝數(shù)據(jù),并根據(jù)接收到的第一類(lèi)型的分組中的信息將所提取的數(shù)據(jù)寫(xiě)入到存儲(chǔ)器中,從而使經(jīng)由網(wǎng)絡(luò)進(jìn)行的來(lái)自無(wú)線(xiàn)接收的分組的數(shù)據(jù)的傳送在接收期間實(shí)時(shí)發(fā)生。
其他方面將從這里的描述中變清楚。
圖1示出了用于無(wú)線(xiàn)局域網(wǎng)(WLAN)的現(xiàn)有技術(shù)無(wú)線(xiàn)網(wǎng)絡(luò)連接。
圖2示出了用于實(shí)現(xiàn)接入點(diǎn)(AP)的無(wú)線(xiàn)臺(tái)站的實(shí)施例,包括到接入點(diǎn)的網(wǎng)絡(luò)鏈路。
圖3示出了用于實(shí)現(xiàn)接入點(diǎn)(AP)的無(wú)線(xiàn)臺(tái)站的實(shí)施例,包括到接入點(diǎn)的網(wǎng)絡(luò)鏈路。
圖4A和4B分別示出了根據(jù)本發(fā)明一方面的第一和第二特殊類(lèi)型的以太網(wǎng)分組。
具體實(shí)施例方式
本發(fā)明的一方面提供了這樣一種方法和裝置,其允許用于由無(wú)線(xiàn)臺(tái)站無(wú)線(xiàn)發(fā)送的分組的數(shù)據(jù)元素在發(fā)送期間經(jīng)由網(wǎng)絡(luò)鏈路從遠(yuǎn)離無(wú)線(xiàn)臺(tái)站的網(wǎng)絡(luò)設(shè)備處流式傳輸。遠(yuǎn)離無(wú)線(xiàn)臺(tái)站意味著無(wú)線(xiàn)臺(tái)站經(jīng)由分組網(wǎng)絡(luò)鏈路(如以太網(wǎng)鏈路)連接到遠(yuǎn)程設(shè)備。本發(fā)明的另一方面使流式傳輸包括加密。本發(fā)明的另一方面提供了這樣一種方法和裝置,其使來(lái)自無(wú)線(xiàn)接收到的分組的數(shù)據(jù)元素在接收期間經(jīng)由鏈路網(wǎng)絡(luò)流式傳輸?shù)竭h(yuǎn)程網(wǎng)絡(luò)設(shè)備,從而使來(lái)自接收到的分組的數(shù)據(jù)可以實(shí)時(shí)存儲(chǔ)在遠(yuǎn)程網(wǎng)絡(luò)設(shè)備中。
本發(fā)明的實(shí)施例將結(jié)合無(wú)線(xiàn)臺(tái)站進(jìn)行描述,無(wú)線(xiàn)臺(tái)站是無(wú)線(xiàn)局域網(wǎng)(WLAN)中的接入點(diǎn)(AP)。在一個(gè)實(shí)施例中,遠(yuǎn)程網(wǎng)絡(luò)設(shè)備是通過(guò)網(wǎng)絡(luò)鏈路耦合到無(wú)線(xiàn)接入點(diǎn)的網(wǎng)絡(luò)交換機(jī)。
去往和來(lái)自主機(jī)存儲(chǔ)器的實(shí)時(shí)數(shù)據(jù)流式傳輸圖2示出了用于實(shí)現(xiàn)經(jīng)由網(wǎng)絡(luò)鏈路228(一般是諸如以太網(wǎng)連接之類(lèi)的有線(xiàn)網(wǎng)絡(luò)連接)耦合到網(wǎng)絡(luò)交換機(jī)229的接入點(diǎn)(AP)的無(wú)線(xiàn)臺(tái)站。臺(tái)站200的MAC處理功能被劃分在“低層MAC”203和DMA引擎223之間,“低層MAC”203實(shí)現(xiàn)以下這些功能,如利用PHY接口217接口到物理無(wú)線(xiàn)電(PHY)101,利用密碼引擎221進(jìn)行加密/解密,以及實(shí)際接收和發(fā)送MAC分組?!案邔覯AC”功能(即,剩余MAC功能)實(shí)現(xiàn)在運(yùn)行在主機(jī)處理器211上的軟件中。低層MAC 203經(jīng)由總線(xiàn)子系統(tǒng)209耦合到主機(jī)處理器211。主機(jī)DMA控制器207和主機(jī)存儲(chǔ)器接口213也耦合到主機(jī)總線(xiàn),其中主機(jī)存儲(chǔ)器接口213連接到主機(jī)存儲(chǔ)器215。
本發(fā)明的一個(gè)方面是利用密碼引擎將加密/解密移動(dòng)到在網(wǎng)絡(luò)交換機(jī)處執(zhí)行。
在臺(tái)站是接入點(diǎn)的示例中,臺(tái)站200包括連接到主機(jī)總線(xiàn)209的諸如以太網(wǎng)接口之類(lèi)的網(wǎng)絡(luò)接口225。網(wǎng)絡(luò)接口將臺(tái)站200連接到網(wǎng)絡(luò)228(例如以太網(wǎng))。交換機(jī)229被示為連接到網(wǎng)絡(luò)。交換機(jī)229自身包括經(jīng)由本地交換機(jī)總線(xiàn)子系統(tǒng)243連接的本地交換機(jī)主機(jī)處理器233和交換機(jī)存儲(chǔ)器235。交換機(jī)例如可以在網(wǎng)絡(luò)操作系統(tǒng)(如IOS(California,SanJose,思科系統(tǒng)公司))的控制下進(jìn)行操作。網(wǎng)絡(luò)接口(例如以太網(wǎng)接口231)將交換機(jī)總線(xiàn)連接到網(wǎng)絡(luò)228。
作為示例,假定低層MAC和主機(jī)處理器實(shí)現(xiàn)在包括存儲(chǔ)器接口213的同一集成電路(芯片)上。存儲(chǔ)器215是芯片的外部存儲(chǔ)器。
在圖2中未示出各種細(xì)節(jié)。例如,除了圖示的外部存儲(chǔ)器之外,還可以有某些緩存存儲(chǔ)器和主機(jī)的其他內(nèi)部存儲(chǔ)器。
在發(fā)送期間,為了避免MAC處理器將其本地MAC存儲(chǔ)器219用作要發(fā)送的分組的存儲(chǔ)器緩沖的缺點(diǎn),改進(jìn)的實(shí)現(xiàn)方式使用跨總線(xiàn)子系統(tǒng)和存儲(chǔ)器接口的流式直接存儲(chǔ)器訪(fǎng)問(wèn)(DMA)-也稱(chēng)為“數(shù)據(jù)流式傳輸”,來(lái)直接訪(fǎng)問(wèn)要從主機(jī)存儲(chǔ)器215發(fā)送的數(shù)據(jù),而不涉及主機(jī)處理器211。為了提供這一點(diǎn),分組/DMA引擎223包括用于建立DMA傳送的分散/聚集(scatter/gather)DMA控制器。
考慮這樣的示例主機(jī)處理器經(jīng)由網(wǎng)絡(luò)228接收用于無(wú)線(xiàn)傳輸?shù)姆纸M。當(dāng)主機(jī)處理器具有準(zhǔn)備好發(fā)送的新的分組時(shí),其通過(guò)向低層MAC 203提供足以建立傳輸?shù)男畔?lái)通知低層MAC。該信息包括要發(fā)送分組的MAC頭部、建立MAC分組所需的任何數(shù)據(jù)的位置和關(guān)于如何從數(shù)據(jù)構(gòu)造MAC分組的信息。在一個(gè)實(shí)施例中,由主機(jī)提供給低層MAC 203的信息包括一組數(shù)據(jù)結(jié)構(gòu)—在這里被稱(chēng)為“緩沖描述符”,其包括MAC分組的數(shù)據(jù)例如在主機(jī)存儲(chǔ)器215中的位置。
低層MAC 203提取要發(fā)送分組的頭部,并將其本地地存儲(chǔ)在其MAC存儲(chǔ)器219中。每個(gè)MAC分組的緩沖描述符也與MAC分組的MAC頭部一樣,本地地存儲(chǔ)在MAC存儲(chǔ)器219中。一旦頭部位于本地MAC存儲(chǔ)器219中,低層MAC 203就假設(shè)控制這些分組以用于發(fā)送。
每個(gè)緩沖描述符數(shù)據(jù)結(jié)構(gòu)包括定義存儲(chǔ)器的鄰接量(contiguousamount)的字段,并且包括地址指針字段和數(shù)據(jù)長(zhǎng)度字段。地址指針字段的內(nèi)容指向存儲(chǔ)器中的位置,數(shù)據(jù)長(zhǎng)度字段提供了開(kāi)始于指針指向的地址處的數(shù)據(jù)的量(長(zhǎng)度)。完整MAC分組包括多個(gè)這種緩沖描述符(在這里被稱(chēng)為“緩沖描述符鏈”),這些描述符在一起描述要發(fā)送的MAC分組的數(shù)據(jù)的位置。即,一組緩沖描述符(每一個(gè)定義了數(shù)據(jù)的鄰接量)一起定義了用于形成要發(fā)送的MAC分組的一組不一定鄰接的數(shù)據(jù)。
注意,類(lèi)似地定義有接收緩沖描述符的接收緩沖描述符鏈,其描述了接收的分組數(shù)據(jù)要存儲(chǔ)的位置。
臺(tái)站200具有存儲(chǔ)器映射,其定義了每個(gè)地址的位置,例如位于本地MAC存儲(chǔ)器中或者在主機(jī)存儲(chǔ)器215上。
分組/DMA引擎223的分散/聚集DMA控制器被用于建立數(shù)據(jù)的DMA數(shù)據(jù)傳送,所述數(shù)據(jù)是要寫(xiě)入到存儲(chǔ)器的不一定鄰接區(qū)域或者從不一定鄰接區(qū)域讀出的數(shù)據(jù)。分散/聚集列表是向量列表,每個(gè)向量給出了整個(gè)讀或?qū)懻?qǐng)求中一個(gè)片段的位置和長(zhǎng)度。從而,要發(fā)送的MAC分組的每個(gè)緩沖描述符鏈包括足夠供分組/DMA引擎223建立分散/聚集列表的信息。分組/DMA引擎223解釋緩沖描述符鏈以形成分散/聚集列表。分組/DMA引擎223還負(fù)責(zé)遵循發(fā)送調(diào)度,并根據(jù)調(diào)度經(jīng)由PHY接口發(fā)送MAC分組。
當(dāng)需要發(fā)送MAC分組時(shí),分組/DMA引擎223根據(jù)緩沖描述符鏈建立分散/聚集列表。每個(gè)向量對(duì)應(yīng)于緩沖描述符,并且描述了由緩沖描述符定義的存儲(chǔ)器塊。分組/DMA引擎223與主機(jī)DMA控制器通信,并根據(jù)發(fā)送調(diào)度建立與主機(jī)DMA控制器的傳送。
在建立后,進(jìn)行從主機(jī)存儲(chǔ)器和/或本地MAC存儲(chǔ)器的傳輸,以形成用于實(shí)時(shí)發(fā)送的MAC分組。
考慮在單個(gè)緩沖描述符中描述的存儲(chǔ)器的鄰接量的單個(gè)傳送。分組/DMA引擎223經(jīng)由主機(jī)總線(xiàn)209將DMA信息和向量傳輸?shù)街鳈C(jī)DMA控制器207。主機(jī)DMA控制器與存儲(chǔ)器接口213通信,取得數(shù)據(jù),并經(jīng)由總線(xiàn)將數(shù)據(jù)發(fā)送到分組/DMA引擎223。
為了發(fā)送,數(shù)據(jù)可以按需經(jīng)過(guò)密碼引擎,然后經(jīng)由PHY接口,以經(jīng)由PHY 101的發(fā)送部分發(fā)送。
以這種方式,避免了現(xiàn)有技術(shù)方法中的失誤情形,現(xiàn)有技術(shù)方法包括主機(jī)預(yù)測(cè)并以要發(fā)送的分組預(yù)先加載本地MAC存儲(chǔ)器。
在接收數(shù)據(jù)時(shí),處理基本是相反的。在信息交換中,低層MAC從主機(jī)處理器211接收可以存儲(chǔ)接收到的分組的地址。具體而言,低層MAC203維護(hù)用于接收分組的一組接收緩沖描述符鏈。接收緩沖描述符鏈包括接收緩沖描述符,其指示接收到的分組的數(shù)據(jù)可以被存儲(chǔ)在主機(jī)存儲(chǔ)器215中的位置。當(dāng)經(jīng)由PHY接口217接收到數(shù)據(jù)后,分組/DMA引擎223建立數(shù)據(jù)傳送,包括可能經(jīng)過(guò)密碼引擎221以進(jìn)行解密。分組/DMA引擎中的DMA引擎建立DMA傳送所需的分散/聚集列表,并將該信息傳輸?shù)街鳈C(jī)DMA控制器。主機(jī)DMA控制器訪(fǎng)問(wèn)存儲(chǔ)器映射,并建立到主機(jī)存儲(chǔ)器的每個(gè)DMA傳送,其中存儲(chǔ)器映射指示數(shù)據(jù)要寫(xiě)入到存儲(chǔ)器中的位置,例如主機(jī)存儲(chǔ)器215上的位置。
經(jīng)由有線(xiàn)網(wǎng)絡(luò)進(jìn)行的流式傳輸(包括加密)在本領(lǐng)域中,通常希望將更多的臺(tái)站功能移到網(wǎng)絡(luò)設(shè)備,例如經(jīng)由網(wǎng)絡(luò)鏈路耦合到臺(tái)站的網(wǎng)絡(luò)交換機(jī)229。本發(fā)明的一個(gè)方面包括在數(shù)據(jù)經(jīng)由網(wǎng)絡(luò)連接流式傳輸時(shí)對(duì)數(shù)據(jù)加密,從而使無(wú)線(xiàn)臺(tái)站不需要保存任何未加密的要發(fā)送分組或密鑰。
圖2中所示的系統(tǒng)要求要發(fā)送分組的數(shù)據(jù)在臺(tái)站處排隊(duì),例如在主機(jī)存儲(chǔ)器215中排隊(duì),并且在主機(jī)存儲(chǔ)器215中可用于發(fā)送。此外,加密和解密利用密碼引擎221進(jìn)行。
父申請(qǐng)的一個(gè)方面包括通過(guò)網(wǎng)絡(luò)鏈路的實(shí)時(shí)數(shù)據(jù)流式傳輸,其使包括在要無(wú)線(xiàn)發(fā)送的分組中的數(shù)據(jù)在發(fā)送期間從網(wǎng)絡(luò)交換機(jī)直接流式傳輸,而不一定要求在發(fā)送的無(wú)線(xiàn)臺(tái)站中排隊(duì)。本發(fā)明的另一個(gè)方面使要發(fā)送的分組在流式處理期間在發(fā)送時(shí)加密,并且使接收到的分組在流式處理期間在接收時(shí)解密。
圖3示出了體現(xiàn)本發(fā)明各個(gè)方面的裝置??偟捏w系結(jié)構(gòu)類(lèi)似于圖2中所示的情形,除了主機(jī)處理器的某些功能被轉(zhuǎn)移到網(wǎng)絡(luò)設(shè)備之外,例如經(jīng)由有線(xiàn)網(wǎng)絡(luò)耦合到無(wú)線(xiàn)臺(tái)站的網(wǎng)絡(luò)交換機(jī),此外,加密引擎目前位于交換機(jī)處,而不是位于臺(tái)站處。即,無(wú)線(xiàn)臺(tái)站300包括低層MAC 303,低層MAC 303又包括分組/DMA引擎323和本地MAC存儲(chǔ)器319。與父申請(qǐng)的情形不同,低層MAC 303不需要包括加密/解密引擎。臺(tái)站300還包括主機(jī)總線(xiàn)子系統(tǒng)309上的主機(jī)處理器。存儲(chǔ)器接口319和主機(jī)DMA控制器307連接到主機(jī)總線(xiàn)309。在一個(gè)實(shí)施例中,低層MAC經(jīng)由分組/DMA引擎323耦合到主機(jī)總線(xiàn)309。
臺(tái)站300經(jīng)由網(wǎng)絡(luò)鏈路328耦合到網(wǎng)絡(luò)交換機(jī)329,網(wǎng)絡(luò)鏈路328經(jīng)由耦合到主機(jī)總線(xiàn)309的網(wǎng)絡(luò)接口325耦合到主機(jī)總線(xiàn)子系統(tǒng)309。
交換機(jī)329包括本地交換機(jī)總線(xiàn)子系統(tǒng)343,本地交換機(jī)總線(xiàn)子系統(tǒng)343將交換機(jī)主機(jī)處理器333與交換機(jī)存儲(chǔ)器335相連。在一個(gè)實(shí)施例中,交換機(jī)還包括交換機(jī)DMA控制器341,交換機(jī)DMA控制器341耦合到交換機(jī)總線(xiàn)343,并且能夠與本地交換機(jī)存儲(chǔ)器335進(jìn)行DMA傳送。網(wǎng)絡(luò)接口331將交換機(jī)連接到網(wǎng)絡(luò)328。
在一個(gè)實(shí)施例中,交換機(jī)329的主機(jī)333運(yùn)行在網(wǎng)絡(luò)操作系統(tǒng)IOS(California,San Jose,思科系統(tǒng)公司)上。
注意,盡管圖2的臺(tái)站200的體系結(jié)構(gòu)和圖3的體系結(jié)構(gòu)是類(lèi)似的,但是其功能卻是不同的,某些高層MAC功能當(dāng)前在網(wǎng)絡(luò)交換機(jī)329中執(zhí)行。從而,對(duì)于除了PHY 101以外的其他所有元件,在圖2和3中使用了不同的標(biāo)號(hào)。然而,某些元件可以是相同的,這是本領(lǐng)域技術(shù)人員所清楚的。
本發(fā)明的一個(gè)方面在于至少某些要無(wú)線(xiàn)傳輸?shù)腗AC分組的數(shù)據(jù)在發(fā)送期間經(jīng)由網(wǎng)絡(luò)鏈路328以流式方式從交換機(jī)存儲(chǔ)器發(fā)送到低層MAC 303以由PHY 101發(fā)送,從而使數(shù)據(jù)不需要在主機(jī)存儲(chǔ)器中排隊(duì)。本發(fā)明的另一個(gè)方面在于至少某些要無(wú)線(xiàn)傳輸?shù)腗AC分組的數(shù)據(jù)在流式處理期間被加密。另一個(gè)方面在于由PHY 101接收的數(shù)據(jù)在發(fā)送期間可以以流式方式直接經(jīng)由網(wǎng)絡(luò)鏈路328發(fā)送到交換機(jī),從而使接收到的數(shù)據(jù)不需要在主機(jī)存儲(chǔ)器中排隊(duì)。發(fā)明人認(rèn)識(shí)到,有線(xiàn)網(wǎng)絡(luò)正變得足夠快以提供這種流式傳輸。在優(yōu)選實(shí)施例中,網(wǎng)絡(luò)328是G比特以太網(wǎng)。當(dāng)然,這意味著至少與以太網(wǎng)鏈路一樣快的任何以太網(wǎng)鏈路都可以用作替換,并且對(duì)于本發(fā)明來(lái)說(shuō)都在術(shù)語(yǔ)“G比特以太網(wǎng)”的范圍內(nèi)。注意,本發(fā)明并不限于以太網(wǎng)連接。可以使用任何網(wǎng)絡(luò)連接,如基于令牌環(huán)的連接或者某些其他網(wǎng)絡(luò)連接。
為了提供流式特征,本發(fā)明的一個(gè)實(shí)施例在臺(tái)站中包括網(wǎng)絡(luò)DMA引擎324,并且在交換機(jī)中包括匹配網(wǎng)絡(luò)DMA引擎338。在臺(tái)站300的情形中,網(wǎng)絡(luò)接口325包括網(wǎng)絡(luò)MAC和PHY接口326以及網(wǎng)絡(luò)DMA引擎324。在總線(xiàn)一側(cè),網(wǎng)絡(luò)DMA引擎324表現(xiàn)為存儲(chǔ)器接口。主機(jī)DMA控制器307與網(wǎng)絡(luò)DMA引擎324通信(就好像其是存儲(chǔ)器接口一樣),還與存儲(chǔ)器接口313通信。接入點(diǎn)中的存儲(chǔ)器映射指示哪些存儲(chǔ)器地址由存儲(chǔ)器接口313處理,哪些由網(wǎng)絡(luò)DMA引擎324處理。
在交換機(jī)中,網(wǎng)絡(luò)接口331包括網(wǎng)絡(luò)DMA引擎338以及網(wǎng)絡(luò)MAC和PHY接口336。在交換機(jī)總線(xiàn)一側(cè),網(wǎng)絡(luò)DMA引擎338表現(xiàn)為存儲(chǔ)器控制器。交換機(jī)存儲(chǔ)器映射指示哪些地址位于本地交換機(jī)存儲(chǔ)器335中,哪些由網(wǎng)絡(luò)DMA引擎338處理。
此外,為了分別在發(fā)送和接收時(shí)在去往和來(lái)自臺(tái)站300的網(wǎng)絡(luò)線(xiàn)路上的流式傳輸期間提供內(nèi)聯(lián)加密和解密,網(wǎng)絡(luò)接口331包括密碼引擎321和存儲(chǔ)器設(shè)備,該存儲(chǔ)器設(shè)備維護(hù)加密方法和密碼密鑰的密鑰存儲(chǔ)345。密鑰存儲(chǔ)345存儲(chǔ)一組索引密鑰。在一個(gè)實(shí)施例中,密鑰存儲(chǔ)345將密鑰和加密方法存儲(chǔ)為索引表數(shù)據(jù)結(jié)構(gòu)。
在發(fā)送情形中,當(dāng)主機(jī)DMA控制器307接收到例如由低層MAC的分組/DMA引擎323建立的存儲(chǔ)器請(qǐng)求時(shí),其根據(jù)地址與網(wǎng)絡(luò)DMA引擎324通信,或者與存儲(chǔ)器接口313通信。通常情況下,分組/DMA引擎323經(jīng)由網(wǎng)絡(luò)DMA引擎324建立DMA傳送。DMA控制器307不需要知道從網(wǎng)絡(luò)DMA引擎324請(qǐng)求的任何數(shù)據(jù)實(shí)際上是來(lái)自于網(wǎng)絡(luò)鏈路的。
注意,在一個(gè)實(shí)施例中,地址向DMA控制器307指示DMA傳送是去往或來(lái)自DMA引擎324的還是去往或來(lái)自存儲(chǔ)器接口313的,而在替換實(shí)施例中,分離指示(例如控制位)被用于指示DMA傳送是去往或來(lái)自DMA引擎324的還是去往或來(lái)自存儲(chǔ)器接口313的。
類(lèi)似地,交換機(jī)DMA控制器341將交換機(jī)網(wǎng)絡(luò)DMA引擎338視為其是存儲(chǔ)器接口設(shè)備一樣,并且不需要知道任何數(shù)據(jù)傳輸過(guò)網(wǎng)絡(luò)鏈路328。
本發(fā)明的另一個(gè)方面是分別由臺(tái)站主機(jī)和交換機(jī)的網(wǎng)絡(luò)DMA引擎324和338執(zhí)行的處理。父申請(qǐng)描述了本發(fā)明的一方面,其定義了用于建立網(wǎng)絡(luò)流式傳輸,并在這種流式傳輸期間承載數(shù)據(jù)的網(wǎng)絡(luò)分組類(lèi)型。父申請(qǐng)的另一個(gè)方面是分別由臺(tái)站主機(jī)和交換機(jī)的網(wǎng)絡(luò)MAC和PHY接口326和336的過(guò)濾器327和337分別執(zhí)行的接收過(guò)濾。本發(fā)明的一個(gè)方面包括交換機(jī)例如在密鑰存儲(chǔ)345中存儲(chǔ)一組索引密鑰。另一方面包括引入了新的特殊分組來(lái)為要發(fā)送分組的數(shù)據(jù)提供足夠信息,以在流式傳輸?shù)紸P期間被加密。這種新的特殊分組提供了足以建立密碼的信息。這種信息包括定位密鑰存儲(chǔ)中的密碼密鑰的一個(gè)或多個(gè)密鑰索引,使用的加密方法的指示,和使用的完整性模式的指示。因此在發(fā)送時(shí)按需被流式傳輸之前,交換機(jī)在發(fā)送期間使加密引擎321執(zhí)行所需的加密。類(lèi)似地,在從臺(tái)站到交換機(jī)329的流式傳輸期間,可由加密引擎321對(duì)接收到的加密信息進(jìn)行解密。
這些方面將首先在由無(wú)線(xiàn)臺(tái)站300進(jìn)行無(wú)線(xiàn)發(fā)送的一組分組的上下文中進(jìn)行描述。
首先考慮在圖2所示的實(shí)施例的發(fā)送期間的操作。這種情況下,交換機(jī)229將要由無(wú)線(xiàn)臺(tái)站200發(fā)送的任何分組路由到無(wú)線(xiàn)臺(tái)站。這些分組在主機(jī)處理系統(tǒng)中(例如在主機(jī)存儲(chǔ)器215中)排隊(duì),并且主機(jī)與低層MAC 203通信以建立主機(jī)存儲(chǔ)器中的數(shù)據(jù)的DMA傳送,這種傳送例如是傳輸每個(gè)分組的分組頭部和一組緩沖描述符(緩沖描述符鏈)所要求的。
相反,在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)交換機(jī)329有要由無(wú)線(xiàn)臺(tái)站300發(fā)送的分組時(shí),交換機(jī)329經(jīng)由網(wǎng)絡(luò)328將關(guān)于要發(fā)送分組的信息(例如,每個(gè)要發(fā)送分組的頭部信息和緩沖描述符鏈)發(fā)送到臺(tái)站。這種信息被經(jīng)由主機(jī)總線(xiàn)309傳輸?shù)降蛯?。主機(jī)在該過(guò)程中扮演無(wú)足輕重的角色。此外,加密信息是從臺(tái)站接收到的,或者使用的缺省值例如是先前從臺(tái)站或從另一實(shí)體接收到的。這種信息被用于建立內(nèi)聯(lián)加密。
在本發(fā)明的替換實(shí)施例中,主機(jī)接收關(guān)于要發(fā)送分組的至少某些數(shù)據(jù)存在于交換機(jī)中的何處的信息,并且主機(jī)利用這種由交換機(jī)發(fā)送的數(shù)據(jù)來(lái)建立緩沖描述符鏈。然而,數(shù)據(jù)自身保留在交換機(jī)中,直到其被流式化以用于發(fā)送。例如,主機(jī)將從交換機(jī)發(fā)送的信息解釋為用于低層MAC的關(guān)于要發(fā)送分組的信息,并將該信息傳遞到低層MAC。
當(dāng)?shù)蛯覯AC 303接收到要發(fā)送分組的頭部信息和描述符鏈時(shí),低層MAC將頭部和關(guān)聯(lián)信息存儲(chǔ)在其本地MAC存儲(chǔ)器319中,并對(duì)發(fā)送進(jìn)行調(diào)度。在發(fā)送開(kāi)始時(shí),MAC分組/DMA引擎323針對(duì)分散/聚焦訪(fǎng)問(wèn)對(duì)建立每個(gè)分組所需的數(shù)據(jù)的進(jìn)行DMA訪(fǎng)問(wèn)。MAC分組/DMA引擎323將分散/聚集中的每個(gè)請(qǐng)求發(fā)送到主機(jī)DMA控制器307。這些請(qǐng)求被DMA控制器307解釋?zhuān)⑶乙蕾?lài)于地址被傳輸?shù)酱鎯?chǔ)器接口313或網(wǎng)絡(luò)DMA引擎324。從而,對(duì)于位于主機(jī)存儲(chǔ)器313的地址范圍外的預(yù)定義地址范圍,主機(jī)DMA控制器307將網(wǎng)絡(luò)DMA引擎324視為存儲(chǔ)器接口。
對(duì)于每個(gè)存儲(chǔ)器請(qǐng)求,網(wǎng)絡(luò)DMA引擎324通過(guò)建立第一特殊類(lèi)型的分組來(lái)建立網(wǎng)絡(luò)傳送,這種第一特殊類(lèi)型的分組是控制分組,其描述了來(lái)自交換機(jī)存儲(chǔ)器的所需存儲(chǔ)器傳送形式的存儲(chǔ)器請(qǐng)求。該特殊分組包括指向交換機(jī)存儲(chǔ)器中的位置的指針數(shù)據(jù)和長(zhǎng)度信息。這些特殊類(lèi)型分組經(jīng)由網(wǎng)絡(luò)328被發(fā)送到交換機(jī)。
本發(fā)明的一個(gè)方面在于這些特殊類(lèi)型分組也可以包括關(guān)于在數(shù)據(jù)傳送期間要執(zhí)行的加密(如果有的話(huà))的信息。
網(wǎng)絡(luò)MAC和PHY接口336解釋其接收到的所有分組。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)MAC和PHY接口336包括過(guò)濾器337,過(guò)濾器337向網(wǎng)絡(luò)DMA引擎338指示來(lái)自于其接收到的特殊類(lèi)型分組的信息,以由網(wǎng)絡(luò)DMA引擎338作進(jìn)一步處理。非特殊類(lèi)型分組被正常處理并被傳遞。
網(wǎng)絡(luò)DMA引擎解釋來(lái)自于特殊類(lèi)型分組的信息,以翻譯控制信息并將信息傳輸?shù)浇粨Q機(jī)DMA控制器341,從而根據(jù)控制分組中的信息建立來(lái)自于交換機(jī)存儲(chǔ)器335的DMA傳送。DMA傳送被建立到目的地地址,目的地地址被交換機(jī)329理解為由網(wǎng)絡(luò)DMA控制器338處理的地址。網(wǎng)絡(luò)DMA控制器338對(duì)交換機(jī)DMA控制器338來(lái)說(shuō)表現(xiàn)為存儲(chǔ)器接口。
網(wǎng)絡(luò)DMA引擎解釋來(lái)自于特殊類(lèi)型分組的加密信息,以用于流式傳輸期間的加密。
去往低層MAC 303的數(shù)據(jù)被交換機(jī)的網(wǎng)絡(luò)DMA引擎338封裝為第二特殊類(lèi)型的分組流式數(shù)據(jù)封裝分組。要封裝的信息根據(jù)提供的加密指令被傳遞經(jīng)過(guò)加密引擎。每個(gè)流式數(shù)據(jù)封裝分組包括相應(yīng)請(qǐng)求分組的起始指針和長(zhǎng)度數(shù)據(jù)元素,并且經(jīng)由網(wǎng)絡(luò)328被發(fā)送到接入點(diǎn)300,并經(jīng)由網(wǎng)絡(luò)MAC和PHY接口326被接收。
網(wǎng)絡(luò)MAC和PHY接口326包括過(guò)濾器327,過(guò)濾器327向網(wǎng)絡(luò)DMA引擎324指示要由網(wǎng)絡(luò)DMA控制器324處理的那些分組,即,第二特殊類(lèi)型分組。非特殊類(lèi)型分組由網(wǎng)絡(luò)MAC和PHY接口正常處理。
網(wǎng)絡(luò)DMA引擎324解釋第二特殊類(lèi)型分組(即,流式數(shù)據(jù)封裝分組)中的信息,該分組包含封裝信息,在包括內(nèi)聯(lián)加密的情形中,該信息是被加密的。一個(gè)方面在于第二特殊類(lèi)型分組中的指針和長(zhǎng)度信息被用于將分組匹配為對(duì)DMA請(qǐng)求的響應(yīng)。網(wǎng)絡(luò)DMA引擎324移去數(shù)據(jù)—可能是加密數(shù)據(jù),并經(jīng)由總線(xiàn)309將它們作為對(duì)匹配DMA請(qǐng)求的響應(yīng)傳輸。對(duì)于主機(jī)系統(tǒng)總線(xiàn)來(lái)說(shuō),這表現(xiàn)為由主機(jī)DMA控制器307建立的常規(guī)DMA響應(yīng)傳送,因?yàn)閷?duì)于這種傳送來(lái)說(shuō),網(wǎng)絡(luò)DMA引擎338就像是存儲(chǔ)器接口一樣。
DMA控制器307將取回的數(shù)據(jù)路由到低層MAC的發(fā)出請(qǐng)求的分組/DMA引擎,就好像它對(duì)任何DMA請(qǐng)求所作的那樣。
圖4A和4B示出了兩種特殊類(lèi)型分組的結(jié)構(gòu)。這些是包括類(lèi)型(TYPE)字段的標(biāo)準(zhǔn)IEEE 802.3幀,類(lèi)型字段的相應(yīng)內(nèi)容是兩個(gè)唯一的先前未定義的值,其分別用來(lái)定義第一類(lèi)型和第二類(lèi)型的分組。
圖4A示出了第一種類(lèi)的分組400。該結(jié)構(gòu)類(lèi)似于在父申請(qǐng)中描述的第一種類(lèi)的分組400,除了當(dāng)前提供了用于發(fā)送密碼信息的附加字段以外。
在替換實(shí)施例中,在父申請(qǐng)中描述的第一和第二種類(lèi)的兩種特殊分組被用在不包括內(nèi)聯(lián)加密時(shí),并且在需要發(fā)送附加的密碼信息時(shí)定義了特殊的新的附加種類(lèi)的分組。然而,該描述假設(shè)無(wú)論是否包括密碼都使用第一種類(lèi)的分組400。
前序、幀定界符開(kāi)始、目的地地址和源地址字段是標(biāo)準(zhǔn)的。例如,源地址是臺(tái)站300的地址,目的地地址是交換機(jī)329的地址。下一字段403被用作類(lèi)型字段,并且包括用于新類(lèi)型的表示為類(lèi)型1的代碼。這里可以使用任何先前未使用的值,只要該值足夠大以定義類(lèi)型,并且未用于其他目的。分組400的剩余部分提供了用于數(shù)據(jù)傳送的指針和長(zhǎng)度信息。這是利用標(biāo)準(zhǔn)信息元素列表結(jié)構(gòu)來(lái)實(shí)現(xiàn)的,該結(jié)構(gòu)開(kāi)始于指示列表長(zhǎng)度的列表長(zhǎng)度字段405,然后是每個(gè)元素(這種情況下是指針元素和長(zhǎng)度元素)的一組類(lèi)型/長(zhǎng)度/值三元組。從而,在列表長(zhǎng)度字段405之后是字段407和字段409,字段407承載標(biāo)識(shí)符的,表示為ID_pointer,其將元素標(biāo)識(shí)為指針,字段409表示為L(zhǎng)ength_pointer,其指示指針數(shù)據(jù)的長(zhǎng)度。下一字段411是指針數(shù)據(jù)自身,即從其取得數(shù)據(jù)的交換機(jī)存儲(chǔ)器中的地址。在指針數(shù)據(jù)字段411之后是字段413和字段415,字段413承載標(biāo)識(shí)符,表示為ID_Length,其將元素標(biāo)識(shí)為要取得數(shù)據(jù)的長(zhǎng)度,字段415表示為L(zhǎng)ength_Length,其指示長(zhǎng)度信息的長(zhǎng)度。下一字段417是長(zhǎng)度信息自身,即從交換機(jī)存儲(chǔ)器取得的數(shù)據(jù)的長(zhǎng)度。
注意,發(fā)明人決定使用包括靈活信息元素列表結(jié)構(gòu)的分組,以提供這些分組在未來(lái)使用的靈活性。在替換實(shí)施例中,當(dāng)不包括密碼信息和用于通過(guò)網(wǎng)絡(luò)鏈路的流式傳輸期間的內(nèi)聯(lián)加密情形的附加密碼信息時(shí),使用更簡(jiǎn)單的固定長(zhǎng)度分組,其在類(lèi)型字段403之后只包括緩沖指針和緩沖長(zhǎng)度信息。
本發(fā)明的一個(gè)方面在于對(duì)于定義所需密碼學(xué)的參數(shù)提供了附加的類(lèi)型/長(zhǎng)度/值三元組,這些參數(shù)例如用于對(duì)要發(fā)送分組或分組一部分加密和對(duì)接收到的經(jīng)加密分組或分組一部分解密。在一個(gè)實(shí)施例中,用于密碼學(xué)的附加的類(lèi)型/長(zhǎng)度/值三元組的存在使得交換機(jī)執(zhí)行所請(qǐng)求的密碼學(xué)。在優(yōu)選實(shí)施例中,第一種類(lèi)的分組400總是包括要被傳遞到密碼引擎321的信息。一組這樣的數(shù)據(jù)被預(yù)定義以不進(jìn)行加密。此外,如果引擎321利用類(lèi)型/長(zhǎng)度/值三元組正確地配置,則某些密碼操作會(huì)發(fā)生。如果其不被配置,或者被不正確地配置,則其應(yīng)當(dāng)充當(dāng)空(NULL)加密操作,并且不受影響地傳遞數(shù)據(jù)。
圖4A的第一種類(lèi)的分組400包括用于三個(gè)加密參數(shù)的三個(gè)附加的類(lèi)型/長(zhǎng)度/值三元組。第一三元組441定義了密鑰標(biāo)識(shí)符,其是指向密鑰存儲(chǔ)345的指針。第一元素ID_KID 419將元素標(biāo)識(shí)為密鑰標(biāo)識(shí)符(KID),字段421表示為L(zhǎng)ength_KID,其指示密鑰指針數(shù)據(jù)(KID)的長(zhǎng)度。下一字段423是密鑰標(biāo)識(shí)符(KID)自身,其指向密鑰存儲(chǔ)345中的密鑰。
下一三元組443定義了所用的加密方法和用于該方法的密鑰長(zhǎng)度。不同的加密方法和不同的密鑰長(zhǎng)度也被存儲(chǔ)在密鑰存儲(chǔ)345中,從而使由三元組443發(fā)送的信息也是指向表的指針的形式。第一元素ID_CrypLen 425將元素標(biāo)識(shí)為用于方法和密鑰長(zhǎng)度,字段427表示為L(zhǎng)ength_CrypLen,其指示方法和密鑰長(zhǎng)度數(shù)據(jù)的長(zhǎng)度。下一字段429是指針自身,其指向密鑰存儲(chǔ)345中的加密方法和密鑰長(zhǎng)度。這標(biāo)識(shí)了要用于加密(或者在接收的情形中是解密)的加密方法和密鑰長(zhǎng)度。在替換實(shí)施例中,使用了兩個(gè)三元組而不是一個(gè)來(lái)定義加密方法和密鑰長(zhǎng)度一個(gè)三元組用于方法,另一個(gè)三元組用于密鑰長(zhǎng)度。
圖4A示出了描述所用的密鑰管理和完整性的另一個(gè)三元組445。在一個(gè)實(shí)施例中,由三元組445傳輸?shù)男畔⒁彩侵赶蚪粨Q機(jī)中的表的指針的形式,其描述不同的方法。第一元素ID_Integr 431將元素標(biāo)識(shí)為用于完整性和/或認(rèn)證方法,字段433表示為L(zhǎng)ength_Integr,其指示完整性和/或認(rèn)證方法數(shù)據(jù)的長(zhǎng)度。下一字段435是指針自身,其指向密鑰存儲(chǔ)345中的密碼完整性和/或認(rèn)證方法。這標(biāo)識(shí)了要用于加密(或者在接收的情形中是解密)的完整性和/或認(rèn)證方法。
在替換實(shí)施例中,使用了更多或更少的三元組。例如,對(duì)于完整性可以使用單獨(dú)的一個(gè)三元組,而對(duì)于認(rèn)證使用另一個(gè)三元組。
無(wú)線(xiàn)安全性被涉及到。許多密碼選項(xiàng)可用,并且正在開(kāi)發(fā)和引入新的選項(xiàng),這是本領(lǐng)域技術(shù)人員所知的。本發(fā)明的一個(gè)方面在于可以利用這里描述的結(jié)構(gòu)提供許多不同形式的加密和認(rèn)證。這里所描述的方法和裝置不應(yīng)當(dāng)被解釋為限于一種方法或另一種。在遵從IEEE 802.11標(biāo)準(zhǔn)的無(wú)線(xiàn)網(wǎng)絡(luò)的情形中,可以使用以下方法中的一種或多種RC4、AES-CTR、AES-CBC。本發(fā)明并不限于任何特定方法。
依賴(lài)于應(yīng)用和舒適級(jí)別,可以有多種方式來(lái)保護(hù)無(wú)線(xiàn)LAN。WLAN的安全性不僅涉及數(shù)據(jù)加密,還涉及消息完整性校驗(yàn)(MIC)和相互認(rèn)證。
下面對(duì)此進(jìn)行簡(jiǎn)要討論,這些主題中的許多對(duì)本領(lǐng)域技術(shù)人員是已知的。
靜態(tài)有線(xiàn)等同隱私(WEP)協(xié)議提供了一定的安全性。利用靜態(tài)WEP,所有用戶(hù)和其關(guān)聯(lián)的所有AP都有相同的加密密鑰。這使密鑰能被工具(例如,在因特網(wǎng)上可免費(fèi)獲得的工具)破解而降低了安全性。靜態(tài)WEP也沒(méi)有提供消息完整性和認(rèn)證。
動(dòng)態(tài)WEP通過(guò)給予每個(gè)用戶(hù)以唯一的單播密鑰,并且給予所有用戶(hù)以相同的廣播密鑰,而改進(jìn)了靜態(tài)WEP。AP維護(hù)用戶(hù)的單播密鑰和VLAN的廣播密鑰。動(dòng)態(tài)WEP比靜態(tài)WEP強(qiáng)大。然而,仍然存在可獲得的用于破解這種方法的工具。動(dòng)態(tài)WEP沒(méi)有消息完整性,但是利用802.1X和可擴(kuò)展認(rèn)證協(xié)議(EAP)提供了強(qiáng)大的相互認(rèn)證。
臨時(shí)密鑰完整性協(xié)議(TKIP)被認(rèn)為是對(duì)動(dòng)態(tài)WEP的改進(jìn),但是并沒(méi)有解決所有安全性問(wèn)題。其被設(shè)計(jì)為用來(lái)克服靜態(tài)和動(dòng)態(tài)WEP中的弱點(diǎn)的權(quán)宜措施。TKIP通過(guò)利用加密原語(yǔ)修復(fù)WEP具有的某些問(wèn)題,而改進(jìn)了安全性。TKIP包括被稱(chēng)為“Michael”的內(nèi)建消息完整性校驗(yàn)。盡管TKIP關(guān)閉了對(duì)WEP開(kāi)放的攻擊路徑,但是其也打開(kāi)了其自身的某一攻擊路徑。某些人相信Michael完整性校驗(yàn)在密碼上是弱的,并且通過(guò)相當(dāng)?shù)呐?,可以偽造消息?br>
為了防止這點(diǎn)發(fā)生,TKIP包括這樣的對(duì)策,該對(duì)策在在彼此的一分鐘內(nèi)檢測(cè)到兩個(gè)MIC故障的情況下,要求AP關(guān)閉整個(gè)基礎(chǔ)服務(wù)集(BSS)60秒。這使得AP易受到拒絕服務(wù)(DoS)攻擊。與動(dòng)態(tài)WEP類(lèi)似,TKIP通過(guò)實(shí)現(xiàn)802.1X和EAP提供了強(qiáng)大的相互認(rèn)證。
為了最大的安全性,IEEE 802.11i計(jì)數(shù)器模式/CBC-MAC協(xié)議(CCMP)提供了基于高級(jí)加密標(biāo)準(zhǔn)(AES)的加密和消息認(rèn)證。CCMP使用AES中的計(jì)數(shù)器模式以用于數(shù)據(jù)加密,并使用AES中的密碼塊鏈接-消息認(rèn)證模式(CBC-MAC)以用于消息完整性。AES作為一種強(qiáng)大安全的算法,全世界的密碼專(zhuān)家對(duì)其進(jìn)行了大量分析。
因?yàn)橛傻谝环N類(lèi)的特殊分組描述的密碼交換機(jī)制允許實(shí)現(xiàn)密碼所要求的盡可能多的附加類(lèi)型/長(zhǎng)度/值三元組,所以本發(fā)明的一個(gè)方面是能夠適應(yīng)所有這些不同方法的能力。
例如,用于遵從IEEE 802.11標(biāo)準(zhǔn)的無(wú)線(xiàn)網(wǎng)絡(luò)的可能密碼選項(xiàng)包括RC4、AES-CTR、AES-CBC。用于遵從IEEE 802.11標(biāo)準(zhǔn)的無(wú)線(xiàn)網(wǎng)絡(luò)的可能完整性選項(xiàng)包括Michael、AES-CBC-MAC。本發(fā)明并不限于任何特定方法。
關(guān)于密鑰管理,當(dāng)前的密鑰管理由AP處理。有時(shí)客戶(hù)端臺(tái)站導(dǎo)出其自身和認(rèn)證服務(wù)器之間的密鑰。然后,認(rèn)證服務(wù)器將該密鑰傳遞給AP。在替換安排中,AP和客戶(hù)端臺(tái)站可以相互地導(dǎo)出密鑰。
因?yàn)楸景l(fā)明的各方面提供了邊緣路由器來(lái)維護(hù)密鑰,而不是AP,并且由于由這里描述的結(jié)構(gòu)所提供的靈活性,所以不同的實(shí)現(xiàn)方式允許在AP和交換機(jī)之間實(shí)現(xiàn)不同級(jí)別的知識(shí)分割。
圖4B示出了第二種類(lèi)的分組450,網(wǎng)絡(luò)DMA引擎338建立該第二種類(lèi)的分組450,以用于發(fā)送在第一種類(lèi)的控制分組400中定義的數(shù)據(jù)。前序、幀定界符開(kāi)始、目的地地址和源地址字段同樣是標(biāo)準(zhǔn)的。例如,源地址是交換機(jī)329的地址,目的地地址是臺(tái)站300的地址。下一字段453被用作類(lèi)型字段,并且包括用于另一種不同于控制分組400中所用類(lèi)型的新類(lèi)型的表示為類(lèi)型2的代碼。這里可以使用任何先前未使用的值,只要該值足夠大以定義類(lèi)型,并且未用于其他目的。分組450的剩余部分提供了用于數(shù)據(jù)傳送的指針和長(zhǎng)度信息。列表長(zhǎng)度字段455指示列表長(zhǎng)度,在該分組450的情況下,其依賴(lài)于發(fā)送的數(shù)據(jù)量。在列表長(zhǎng)度字段455之后是每個(gè)元素(這種情況下是指針元素、長(zhǎng)度元素和傳送的數(shù)據(jù))的一組類(lèi)型/長(zhǎng)度/值三元組。分別用于指針和長(zhǎng)度的類(lèi)型/長(zhǎng)度/值三元組457和459與請(qǐng)求包括的數(shù)據(jù)的相應(yīng)控制分組400中的相同。接著跟有密碼信息類(lèi)型/長(zhǎng)度/值三元組461、463和465。在密碼信息之后是字段471和字段473,字段471承載標(biāo)識(shí)符,表示為ID_data,其將元素標(biāo)識(shí)為傳送的數(shù)據(jù),字段473表示為L(zhǎng)ength_data,其指示數(shù)據(jù)的長(zhǎng)度。下一字段475是被傳送的來(lái)自交換機(jī)存儲(chǔ)器的數(shù)據(jù)。
從而,對(duì)于發(fā)送路徑,AP 300生成存儲(chǔ)器請(qǐng)求。智能DMA引擎324包括信令方法,從而以附加三元組的形式傳遞密碼細(xì)節(jié)。在一個(gè)實(shí)施例中,這些在以上內(nèi)容中已有描述,并且將一個(gè)或多個(gè)指針傳送到密鑰存儲(chǔ)345。在另一個(gè)實(shí)施例中,密碼信息包括用于一個(gè)或多個(gè)指針的三元組,指針指向該密碼信息被存儲(chǔ)在交換機(jī)335的存儲(chǔ)器中的位置處。在另一個(gè)實(shí)施例中,作為指向密鑰存儲(chǔ)345的一個(gè)或多個(gè)指針形式的密碼信息被維護(hù)在AP的本地主機(jī)存儲(chǔ)器315中,并且在形成第一種類(lèi)的特殊分組以發(fā)起流式網(wǎng)絡(luò)DMA請(qǐng)求時(shí),指針的值被網(wǎng)絡(luò)DMA引擎封裝為密碼信息的三元組。從而,附加類(lèi)型/長(zhǎng)度/值三元組中的附加密碼信息被添加到請(qǐng)求。交換機(jī)中的過(guò)濾器337識(shí)別特殊類(lèi)型的分組,并且建立網(wǎng)絡(luò)分組和使DMA引擎338來(lái)執(zhí)行從交換機(jī)存儲(chǔ)器的DMA傳送。此外,利用密碼的附加類(lèi)型/長(zhǎng)度/值三元組,響應(yīng)于網(wǎng)絡(luò)分組,DMA引擎還使密碼引擎321根據(jù)存儲(chǔ)在密鑰存儲(chǔ)345中的信息按請(qǐng)求的進(jìn)行加密。
注意,在發(fā)送數(shù)據(jù)時(shí),使用第二類(lèi)型的分組。如在父申請(qǐng)中一樣,一個(gè)實(shí)施例只發(fā)送數(shù)據(jù)。指針和長(zhǎng)度三元組被用于充當(dāng)AP識(shí)別響應(yīng)的引用。從而,在一個(gè)實(shí)施例中,當(dāng)形成對(duì)要發(fā)送數(shù)據(jù)的請(qǐng)求的響應(yīng)時(shí),交換機(jī)仍然使用該請(qǐng)求,而僅是將類(lèi)型從請(qǐng)求(第一種類(lèi)特殊分組)改變?yōu)轫憫?yīng)(第二種類(lèi)特殊分組),并且添加數(shù)據(jù)類(lèi)型/長(zhǎng)度/值三元組,而保持其他不變。
注意,以上描述對(duì)應(yīng)于用于由主機(jī)DMA控制器307執(zhí)行的存儲(chǔ)器取回的分組。
相同的特殊類(lèi)型分組(在一個(gè)實(shí)施例中僅僅是其中之一)可用于DMA數(shù)據(jù)寫(xiě)入,DMA數(shù)據(jù)寫(xiě)入是在臺(tái)站300接收數(shù)據(jù)的情況下進(jìn)行的。
在接收的情形中,交換機(jī)329發(fā)送信息,臺(tái)站300接受信息,該信息描述了將無(wú)線(xiàn)接收到的分組的數(shù)據(jù)元素(例如,接收到的分組的緩沖描述符的緩沖描述符鏈)寫(xiě)入到交換機(jī)存儲(chǔ)器335中的何處。每個(gè)接收到的緩沖描述符定義了交換機(jī)存儲(chǔ)器中用于數(shù)據(jù)元素的交換機(jī)存儲(chǔ)器位置和的一定量的數(shù)據(jù)。
另外,根據(jù)本發(fā)明的一個(gè)方面,對(duì)數(shù)據(jù)解密所必需的密碼信息被包括在第一和第二種類(lèi)的分組中。
接收到的緩沖描述符鏈被存儲(chǔ)在低層MAC存儲(chǔ)器319中。
當(dāng)接收到分組時(shí),分組/DMA引擎323建立來(lái)自無(wú)線(xiàn)接收到的分組的數(shù)據(jù)元素的分散/聚集DMA傳送。用于DMA傳送的信息被傳輸?shù)街鳈C(jī)DMA控制器307,主機(jī)DMA控制器307建立各個(gè)數(shù)據(jù)元素傳送。實(shí)際的數(shù)據(jù)傳送作為接收期間的數(shù)據(jù)流進(jìn)行,并且包括從無(wú)線(xiàn)接收的分組中提取數(shù)據(jù)元素,然后經(jīng)由主機(jī)總線(xiàn)作為DMA傳送傳送到網(wǎng)絡(luò)DMA引擎324(回想一下,這對(duì)于主機(jī)總線(xiàn)和DMA控制器來(lái)說(shuō)表現(xiàn)為存儲(chǔ)器接口)。
在低層MAC引擎(其中加密發(fā)生在無(wú)線(xiàn)臺(tái)站處)中,根據(jù)密碼需求,數(shù)據(jù)可以傳遞過(guò)耦合到低層MAC處的分組和DMA引擎的加密引擎。然而,根據(jù)本發(fā)明的一個(gè)方面,解密在網(wǎng)絡(luò)連接328另一端的交換機(jī)中執(zhí)行。從而,密碼信息被傳遞,使得加密引擎321執(zhí)行任何解密。
考慮要寫(xiě)入到交換機(jī)存儲(chǔ)器335中的存儲(chǔ)器地址的鄰接塊中的單個(gè)數(shù)據(jù)塊的傳送。根據(jù)DMA請(qǐng)求中的指針地址,主機(jī)DMA控制器307確定出該地址是針對(duì)網(wǎng)絡(luò)DMA引擎324的,網(wǎng)絡(luò)DMA引擎324對(duì)于某一地址范圍對(duì)DMA控制器307來(lái)說(shuō)表現(xiàn)為存儲(chǔ)器接口。
來(lái)自主機(jī)DMA控制器307的DMA請(qǐng)求被網(wǎng)絡(luò)DMA引擎324翻譯為第二特殊類(lèi)型的分組,該分組包括用于傳送的指針和長(zhǎng)度數(shù)據(jù),以及要寫(xiě)入到交換機(jī)存儲(chǔ)器中的傳送的數(shù)據(jù)元素。此外,對(duì)分組解密所需的密碼信息也被以附加三元組的形式包括在內(nèi)。第二類(lèi)型的分組(包括密碼信息)被經(jīng)由以太網(wǎng)MAC和PHY接口和網(wǎng)絡(luò)鏈路327通過(guò)網(wǎng)絡(luò)發(fā)送到交換機(jī)329。
在交換機(jī)處,第二類(lèi)型的分組被以太網(wǎng)MAC和PHY接口336接收,該接口336包括過(guò)濾器337,過(guò)濾器337過(guò)濾出第二類(lèi)型的分組,并將其中的信息(包括數(shù)據(jù))傳遞到網(wǎng)絡(luò)DMA引擎338。網(wǎng)絡(luò)DMA引擎338解釋請(qǐng)求,建立并將數(shù)據(jù)寫(xiě)入到交換機(jī)存儲(chǔ)器335中的存儲(chǔ)器位置。另外,在寫(xiě)入之前,網(wǎng)絡(luò)DMA引擎338解釋密碼信息,并建立加密引擎321和指向密鑰存儲(chǔ)345中的數(shù)據(jù)的指針,以在將數(shù)據(jù)寫(xiě)入到交換機(jī)存儲(chǔ)器335中的存儲(chǔ)器位置期間執(zhí)行所需的解密操作。
從而,從無(wú)線(xiàn)臺(tái)站到交換機(jī)存儲(chǔ)器的經(jīng)由網(wǎng)絡(luò)進(jìn)行的數(shù)據(jù)流式傳輸在接收期間實(shí)時(shí)發(fā)生,包括實(shí)時(shí)地對(duì)在接收期間的數(shù)據(jù)進(jìn)行解密。
注意,盡管在圖示實(shí)施例中,交換機(jī)和無(wú)線(xiàn)臺(tái)站中的網(wǎng)絡(luò)DMA引擎324和338(其解釋特殊分組,并將特殊分組轉(zhuǎn)換為存儲(chǔ)器流請(qǐng)求)各自都被示為網(wǎng)絡(luò)控制器的分組引擎的一部分,但是在替換實(shí)施例中,這些方面在交換機(jī)和無(wú)線(xiàn)臺(tái)站的每一個(gè)中的獨(dú)立設(shè)備中執(zhí)行。
盡管當(dāng)今的處理器使得網(wǎng)絡(luò)DMA引擎324和338以及加密引擎321可能是位于特殊硬件中,但是發(fā)明人認(rèn)識(shí)到未來(lái)的可編程處理器可能足夠快以實(shí)現(xiàn)這種網(wǎng)絡(luò)DMA引擎。從而,網(wǎng)絡(luò)DMA和加密/解密功能可以實(shí)現(xiàn)在硬件中,可以實(shí)現(xiàn)在軟件(包括固件)中作為運(yùn)行在可編程處理器上的一個(gè)或多個(gè)代碼段,或者可以實(shí)現(xiàn)在硬件和軟件的組合中。
類(lèi)似地,盡管在一個(gè)實(shí)施例中,分組/DMA引擎323實(shí)現(xiàn)在硬件中,但是發(fā)明人認(rèn)識(shí)到未來(lái)的可編程處理器可能足夠快以實(shí)現(xiàn)分組/DMA引擎323的功能的某些或全部。從而,分組/DMA引擎功能可以實(shí)現(xiàn)在硬件中,可以實(shí)現(xiàn)在軟件(包括固件)中作為運(yùn)行在可編程處理器上的一個(gè)或多個(gè)機(jī)器可讀代碼段,或者可以實(shí)現(xiàn)在硬件和軟件的組合中。
還要注意,盡管圖示實(shí)施例將密鑰存儲(chǔ)包括為單元331中的單獨(dú)硬件元件,但是在替換實(shí)施例中,存儲(chǔ)345的加密數(shù)據(jù)可被存儲(chǔ)為作為交換機(jī)存儲(chǔ)器335的一部分的數(shù)據(jù)結(jié)構(gòu)。
圖3示出了包括低層MAC和MAC主機(jī)的接入點(diǎn)芯片的芯片邊界。在一個(gè)實(shí)施例中,主機(jī)處理器311是MIPS 5K處理器內(nèi)核,主機(jī)總線(xiàn)是“SOC-it”總線(xiàn)(兩者都來(lái)自于CA,Mountain View的MIPSTechnologies,Inc.)。
在發(fā)送期間意味著在包括被流式傳輸?shù)臄?shù)據(jù)的分組正被發(fā)送的期間。例如,“在發(fā)送期間”排除了被流式傳輸?shù)臄?shù)據(jù)被包括在在臺(tái)站的主機(jī)存儲(chǔ)器中排隊(duì)的分組中以用于后續(xù)發(fā)送的情形。
在接收期間意味著在分組正被接收的期間,例如,在只有一個(gè)MAC處理器的情形中,在下一個(gè)接收的分組被MAC處理器在MAC級(jí)別處理之前。
這里所描述的每個(gè)方法的一個(gè)實(shí)施例是以指示機(jī)器實(shí)現(xiàn)方法的一組指令的形式存在的。從而,本領(lǐng)域技術(shù)人員將會(huì)意識(shí)到,本發(fā)明的實(shí)施例可以實(shí)現(xiàn)為方法、諸如專(zhuān)用裝置之類(lèi)的裝置、諸如數(shù)據(jù)處理系統(tǒng)之類(lèi)的裝置、或者載體介質(zhì),例如計(jì)算機(jī)程序產(chǎn)品。載體介質(zhì)承載用于控制處理系統(tǒng)的處理器以實(shí)現(xiàn)方法的一個(gè)或多個(gè)計(jì)算機(jī)可讀代碼段。因此,本發(fā)明的各方面可以采用方法的形式、完全硬件實(shí)施例的形式、完全軟件實(shí)施例的形式或者組合軟件和硬件方面的實(shí)施例的形式。此外,本發(fā)明可以采用承載實(shí)現(xiàn)在介質(zhì)中的計(jì)算機(jī)可讀程序代碼段的載體介質(zhì)(例如,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品)的形式??梢允褂冒ù鎯?chǔ)器在內(nèi)的任何合適的計(jì)算機(jī)可讀介質(zhì)。
應(yīng)當(dāng)理解,在一個(gè)實(shí)施例中,所討論的方法的步驟是由執(zhí)行存儲(chǔ)在存儲(chǔ)介質(zhì)中的指令(代碼段)的處理(例如計(jì)算機(jī))系統(tǒng)的適當(dāng)?shù)?一個(gè)或多個(gè))處理器執(zhí)行的。應(yīng)當(dāng)理解,本發(fā)明并不限于任何特定的實(shí)現(xiàn)方式或編程技術(shù),并且本發(fā)明可以利用用于實(shí)現(xiàn)這里描述的功能的任何適當(dāng)?shù)募夹g(shù)來(lái)實(shí)現(xiàn)。本發(fā)明并不限于任何特定的編程語(yǔ)言或操作系統(tǒng)。
整篇說(shuō)明書(shū)中提及的“一個(gè)實(shí)施例”或“實(shí)施例”意味著結(jié)合實(shí)施例所描述的特定特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個(gè)實(shí)施例中。從而,在整篇說(shuō)明書(shū)中各處出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”或“在實(shí)施例中”并不一定都是指相同的實(shí)施例。此外,特定特征、結(jié)構(gòu)或特性可以在一個(gè)或多個(gè)實(shí)施例中以任何合適的方式加以組合,本領(lǐng)域技術(shù)人員從本公開(kāi)中可以清楚這一點(diǎn)。
類(lèi)似地,應(yīng)當(dāng)意識(shí)到,在本發(fā)明的示例性實(shí)施例的以上描述中,本發(fā)明的各種特征有時(shí)在單個(gè)實(shí)施例、附圖或其描述中被組合在一起,以使公開(kāi)文件流暢并有助于理解各種創(chuàng)造性方面中的一個(gè)或多個(gè)。然而,該公開(kāi)的方法并不是要解釋為反映出要求保護(hù)的發(fā)明需要比每個(gè)權(quán)利要求中明確表達(dá)的特征更多的特征。相反,如下面的權(quán)利要求所反映的,創(chuàng)造性方面比在前述單個(gè)公開(kāi)實(shí)施例的所有特征少。從而,權(quán)利要求被結(jié)合在該具體實(shí)施方式
中,其中每個(gè)權(quán)利要求自身代表本發(fā)明的單獨(dú)實(shí)施例。
還應(yīng)當(dāng)意識(shí)到,盡管在耦合到接入點(diǎn)的網(wǎng)絡(luò)交換機(jī)的上下文中描述了本發(fā)明,但是本發(fā)明并不限于這種上下文,而是可以用在各種其他應(yīng)用和系統(tǒng)中,例如用在包括經(jīng)由網(wǎng)絡(luò)鏈路耦合到任何網(wǎng)絡(luò)設(shè)備的任何無(wú)線(xiàn)臺(tái)站的系統(tǒng)中。此外,本發(fā)明并不限于任何一種類(lèi)型的網(wǎng)絡(luò)體系結(jié)構(gòu)和封裝方法,而是可以與其他網(wǎng)絡(luò)體系結(jié)構(gòu)/協(xié)議中的一種或其組合結(jié)合使用。
注意,發(fā)明人發(fā)現(xiàn)對(duì)于當(dāng)前可獲得的IEEE 802.11標(biāo)準(zhǔn),至少與G比特以太網(wǎng)一樣快的以太網(wǎng)提供了所需的等待時(shí)間。然而,本發(fā)明并不限于使用以太網(wǎng)作為臺(tái)站和無(wú)線(xiàn)設(shè)備之間的鏈路,而是可以使用G比特以太網(wǎng)或更快的鏈路。例如,可以使用無(wú)線(xiàn)網(wǎng)絡(luò)協(xié)議,該協(xié)議足夠慢,從而使得可以使用100MB以太網(wǎng)鏈路。另外,可以引入需要至少10GB以太網(wǎng)鏈路的更快的無(wú)線(xiàn)協(xié)議。所有這些都被包括在本發(fā)明的范圍內(nèi)。
這里提到的所有公開(kāi)、專(zhuān)利和專(zhuān)利申請(qǐng)都通過(guò)引用結(jié)合于此。
從而,盡管已經(jīng)描述了被認(rèn)為是本發(fā)明優(yōu)選實(shí)施例的實(shí)施例,但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,在不脫離本發(fā)明的精神的前提下可以對(duì)其進(jìn)行其他和進(jìn)一步的修改,并且所有這些變化和修改都落在本發(fā)明的范圍內(nèi)。例如,以上給出的任何規(guī)則僅僅代表可以使用的流程??梢韵蚩驁D中添加功能,從框圖中刪除功能,并且可以交換各功能塊之間的操作。對(duì)于在本發(fā)明的范圍內(nèi)描述的方法,可以向其添加步驟或者從其刪除步驟。
權(quán)利要求
1.一種用于在無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站處的無(wú)線(xiàn)發(fā)送或無(wú)線(xiàn)接收期間,通過(guò)耦合所述臺(tái)站到包括存儲(chǔ)器的網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)鏈路,流式傳輸來(lái)自或去往所述網(wǎng)絡(luò)設(shè)備存儲(chǔ)器的數(shù)據(jù)的方法,所述方法包括接受信息,該信息在發(fā)送情形中描述從何處取回包括要無(wú)線(xiàn)發(fā)送的分組的至少一些數(shù)據(jù)的數(shù)據(jù)元素,或者在接收情形中描述將包括來(lái)自無(wú)線(xiàn)接收到的分組的至少一些數(shù)據(jù)的數(shù)據(jù)元素寫(xiě)到何處,所接受的信息包括定義所述網(wǎng)絡(luò)存儲(chǔ)器中用于所述數(shù)據(jù)元素的存儲(chǔ)器位置和數(shù)據(jù)量的信息,所接受的信息在發(fā)送情形中還包括指定要執(zhí)行的任何加密的信息,并且在接收情形中還包括指定要執(zhí)行的任何解密的信息;在發(fā)送情形中建立所述要無(wú)線(xiàn)發(fā)送的分組的數(shù)據(jù)元素的DMA傳送,在接收情形中建立所述來(lái)自無(wú)線(xiàn)接收到的分組的數(shù)據(jù)元素的DMA傳送,所述建立使用定義信息,所述建立在發(fā)送情形中包括指定要執(zhí)行的任何加密,并且在接收情形中包括指定要執(zhí)行的任何解密;以及在發(fā)送情形中將所述定義信息轉(zhuǎn)換為第一類(lèi)型分組以通過(guò)所述網(wǎng)絡(luò)鏈路傳輸;經(jīng)由所述網(wǎng)絡(luò)鏈路將所述第一類(lèi)型分組發(fā)送到所述網(wǎng)絡(luò)設(shè)備,在所述網(wǎng)絡(luò)設(shè)備處,所述第一類(lèi)型分組被解釋來(lái)根據(jù)所述定義信息發(fā)送來(lái)自所述網(wǎng)絡(luò)設(shè)備存儲(chǔ)器的數(shù)據(jù)元素,包括對(duì)信息加密;響應(yīng)于發(fā)送所述第一類(lèi)型分組,接收第二類(lèi)型分組,所述第二類(lèi)型分組包括按照指定加密的所述數(shù)據(jù)元素;將所述第二類(lèi)型分組轉(zhuǎn)換為所述數(shù)據(jù)元素;以及將所述數(shù)據(jù)元素并入到分組中以用于發(fā)送,或者,在接收情形中從所述無(wú)線(xiàn)接收到的分組中提取出所述數(shù)據(jù)元素;轉(zhuǎn)換所述定義信息,并將所述數(shù)據(jù)元素封裝到所述第二類(lèi)型分組中,以通過(guò)所述網(wǎng)絡(luò)鏈路傳輸要被寫(xiě)入到所述網(wǎng)絡(luò)設(shè)備存儲(chǔ)器中的所述數(shù)據(jù)元素;以及將所述第二類(lèi)型分組發(fā)送到所述網(wǎng)絡(luò)設(shè)備,在所述網(wǎng)絡(luò)設(shè)備處,所述第二類(lèi)型分組被解釋來(lái)使得所述被封裝數(shù)據(jù)根據(jù)所述定義信息被寫(xiě)入到所述網(wǎng)絡(luò)設(shè)備存儲(chǔ)器中,從而使在發(fā)送情形中,包括任何加密在內(nèi)的通過(guò)所述網(wǎng)絡(luò)鏈路傳送并入到所述要無(wú)線(xiàn)發(fā)送的分組中的數(shù)據(jù)元素在發(fā)送期間實(shí)時(shí)發(fā)生,而在接收情形中,包括任何解密在內(nèi)的對(duì)所述來(lái)自無(wú)線(xiàn)接收到的分組的數(shù)據(jù)元素的傳送在接收期間實(shí)時(shí)發(fā)生,并且從而使對(duì)所述數(shù)據(jù)元素的任何加密在通過(guò)所述網(wǎng)絡(luò)鏈路傳送具有所述數(shù)據(jù)元素的分組之前發(fā)生,而任何解密在通過(guò)所述網(wǎng)絡(luò)鏈路傳送具有所述數(shù)據(jù)元素的分組之后發(fā)生。
2.如權(quán)利要求1所述的方法,其中所述網(wǎng)絡(luò)設(shè)備是包括存儲(chǔ)器的網(wǎng)絡(luò)交換機(jī),在無(wú)線(xiàn)發(fā)送期間數(shù)據(jù)從所述存儲(chǔ)器流式傳輸,或者在無(wú)線(xiàn)接收期間數(shù)據(jù)流逝傳輸?shù)剿龃鎯?chǔ)器。
3.一種用于通過(guò)網(wǎng)絡(luò)鏈路耦合到無(wú)線(xiàn)網(wǎng)絡(luò)中的無(wú)線(xiàn)臺(tái)站的包括存儲(chǔ)器的網(wǎng)絡(luò)設(shè)備中,在所述臺(tái)站處的無(wú)線(xiàn)發(fā)送或無(wú)線(xiàn)接收期間,通過(guò)所述網(wǎng)絡(luò)鏈路流式傳輸來(lái)自或去往所述網(wǎng)絡(luò)設(shè)備存儲(chǔ)器的數(shù)據(jù)的方法,所述方法包括通過(guò)所述網(wǎng)絡(luò)鏈路將信息發(fā)送到所述無(wú)線(xiàn)臺(tái)站,該信息在發(fā)送情形中描述從何處取回包括要無(wú)線(xiàn)發(fā)送的分組的至少一些數(shù)據(jù)的數(shù)據(jù)元素,或者在接收情形中描述將包括來(lái)自無(wú)線(xiàn)接收到的分組的至少一些數(shù)據(jù)的數(shù)據(jù)元素寫(xiě)到何處,所接受的信息包括定義所述網(wǎng)絡(luò)設(shè)備存儲(chǔ)器中用于所述數(shù)據(jù)元素的存儲(chǔ)器位置和數(shù)據(jù)量的信息;所接受的信息在發(fā)送情形中描述如何對(duì)要無(wú)線(xiàn)發(fā)送的分組的至少一些數(shù)據(jù)加密,或者在接收情形中描述如何對(duì)來(lái)自無(wú)線(xiàn)接收到的分組的至少一些數(shù)據(jù)解密;以及在要發(fā)送的分組的數(shù)據(jù)的情形中,響應(yīng)于接收到第一類(lèi)型分組經(jīng)由所述網(wǎng)絡(luò)鏈路接收來(lái)自所述無(wú)線(xiàn)臺(tái)站的第一類(lèi)型分組,所述第一種類(lèi)分組包括描述從何處取回所述數(shù)據(jù)元素和如何加密的信息;從所述存儲(chǔ)器取回所述數(shù)據(jù)元素;形成包括所取回的數(shù)據(jù)的第二類(lèi)型分組,包括所請(qǐng)求的加密數(shù)據(jù);以及響應(yīng)于所述接收將所述第二類(lèi)型分組發(fā)送到所述無(wú)線(xiàn)臺(tái)站,或者,在來(lái)自接收到的分組的數(shù)據(jù)的情形中接收來(lái)自所述無(wú)線(xiàn)臺(tái)站的第二類(lèi)型分組,所述第二類(lèi)型分組封裝所述數(shù)據(jù)元素,并且包括描述向何處寫(xiě)入所述數(shù)據(jù)元素和如何對(duì)所述數(shù)據(jù)元素解密的信息;從所述第二類(lèi)型分組中提取出所封裝的數(shù)據(jù),包括對(duì)所述數(shù)據(jù)元素解密;根據(jù)所接收到的第二種類(lèi)的分組中的信息將所提取出的數(shù)據(jù)寫(xiě)入到所述存儲(chǔ)器中,從而使在發(fā)送情形中,包括任何加密在內(nèi)的通過(guò)所述網(wǎng)絡(luò)鏈路傳送并入到要無(wú)線(xiàn)發(fā)送的分組中的數(shù)據(jù)在發(fā)送期間實(shí)時(shí)發(fā)生,而在接收情形中,包括任何解密在內(nèi)的通過(guò)所述網(wǎng)絡(luò)鏈路傳送來(lái)自無(wú)線(xiàn)接收到的分組的數(shù)據(jù)在接收期間實(shí)時(shí)發(fā)生。
4.如權(quán)利要求3所述的方法,其中所述網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)交換機(jī)。
5.一種用于無(wú)線(xiàn)發(fā)送信息分組的方法,所述方法包括在發(fā)送期間通過(guò)網(wǎng)絡(luò)鏈路流式傳輸包括所述分組的至少一些內(nèi)容的數(shù)據(jù)元素,所述流式傳輸包括在通過(guò)所述網(wǎng)絡(luò)鏈路傳送之前實(shí)時(shí)加密所述數(shù)據(jù);以及發(fā)送所述信息分組。
6.如權(quán)利要求5所述的方法,其中所述發(fā)送是由無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站執(zhí)行,并且所述流式傳輸是從通過(guò)所述網(wǎng)絡(luò)鏈路耦合到所述臺(tái)站的網(wǎng)絡(luò)設(shè)備去往所述臺(tái)站。
7.如權(quán)利要求6所述的方法,其中所述網(wǎng)絡(luò)設(shè)備是包括存儲(chǔ)器的網(wǎng)絡(luò)交換機(jī),在無(wú)線(xiàn)發(fā)送期間數(shù)據(jù)所述數(shù)據(jù)從從所述存儲(chǔ)器流式傳輸。
8.如權(quán)利要求6所述的方法,其中所述網(wǎng)絡(luò)設(shè)備包括存儲(chǔ)器,在無(wú)線(xiàn)發(fā)送期間所述數(shù)據(jù)從所述存儲(chǔ)器流式傳輸,所述方法還包括形成對(duì)所述數(shù)據(jù)元素的DMA請(qǐng)求和加密信息;將所形成的DMA請(qǐng)求和所述加密信息轉(zhuǎn)換為第一分組,以通過(guò)所述網(wǎng)絡(luò)鏈路傳輸;通過(guò)所述網(wǎng)絡(luò)鏈路將所述第一分組發(fā)送到所述網(wǎng)絡(luò)設(shè)備;通過(guò)所述網(wǎng)絡(luò)鏈路接收來(lái)自所述網(wǎng)絡(luò)設(shè)備的第二分組,所述第二分組包含根據(jù)所述加密信息加密的所述數(shù)據(jù)元素;以及以來(lái)自所述第二分組的所述數(shù)據(jù)元素對(duì)所形成的DMA請(qǐng)求作出響應(yīng),從而使利用所述第二分組流式傳輸所述數(shù)據(jù)的數(shù)據(jù)元素,并且使所述加密在流式傳輸期間實(shí)時(shí)發(fā)生。
9.如權(quán)利要求8所述的方法,還包括從所述網(wǎng)絡(luò)設(shè)備接收關(guān)于要無(wú)線(xiàn)發(fā)送的數(shù)據(jù)駐留在所述網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器中何處的信息。
10.一種用于無(wú)線(xiàn)接收信息分組的方法,所述方法包括無(wú)線(xiàn)接收信息分組;在接收期間通過(guò)網(wǎng)絡(luò)鏈路流式傳輸包括所述分組的至少一些內(nèi)容的數(shù)據(jù)元素;以及在所述流式傳輸期間實(shí)時(shí)對(duì)所述數(shù)據(jù)元素解密,所述解密在通過(guò)所述網(wǎng)絡(luò)鏈路傳送之后發(fā)生。
11.如權(quán)利要求10所述的方法,其中所述接收由無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站執(zhí)行,并且所述流式傳輸是從所述臺(tái)站去往通過(guò)所述網(wǎng)絡(luò)鏈路耦合到所述臺(tái)站的網(wǎng)絡(luò)設(shè)備。
12.如權(quán)利要求11所述的方法,其中所述網(wǎng)絡(luò)設(shè)備是包括存儲(chǔ)器的網(wǎng)絡(luò)交換機(jī),在無(wú)線(xiàn)接收期間數(shù)據(jù)流式傳輸?shù)剿龃鎯?chǔ)器。
13.如權(quán)利要求11所述的方法,其中所述網(wǎng)絡(luò)設(shè)備包括存儲(chǔ)器,在無(wú)線(xiàn)發(fā)送期間數(shù)據(jù)流式傳輸?shù)剿龃鎯?chǔ)器,所述方法還包括形成用于寫(xiě)入所述數(shù)據(jù)元素的DMA請(qǐng)求和加密信息;將所形成的DMA請(qǐng)求和加密信息轉(zhuǎn)換為第一分組,以通過(guò)所述網(wǎng)絡(luò)鏈路傳輸;通過(guò)所述網(wǎng)絡(luò)鏈路將所述第一分組發(fā)送到所述網(wǎng)絡(luò)設(shè)備;將根據(jù)所述加密信息加密的所述數(shù)據(jù)元素封裝到第二分組中,以通過(guò)所述網(wǎng)絡(luò)鏈路傳輸?shù)剿鼍W(wǎng)絡(luò)設(shè)備;以及通過(guò)所述網(wǎng)絡(luò)鏈路將所述第二分組發(fā)送到所述網(wǎng)絡(luò)設(shè)備,以根據(jù)所形成的DMA請(qǐng)求寫(xiě)入到所述網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器中,從而使利用所述第二分組流式傳輸所述數(shù)據(jù)的數(shù)據(jù)元素。
14.如權(quán)利要求13所述的方法,還包括從所述網(wǎng)絡(luò)設(shè)備接收關(guān)于無(wú)線(xiàn)接收到的數(shù)據(jù)要寫(xiě)入到所述網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器中何處的信息,從而使利用所接收的信息形成所述DMA請(qǐng)求。
15.如權(quán)利要求1-2中任何一個(gè)所述的方法,其中建立所述DMA傳送是建立多個(gè)數(shù)據(jù)元素的分散/聚集DMA傳送的一部分。
16.如權(quán)利要求3-4中任何一個(gè)所述的方法,其中關(guān)于從何處取回?cái)?shù)據(jù)元素或者將數(shù)據(jù)元素寫(xiě)到何處的信息被用于建立DMA傳送,并且其中建立所述DMA傳送是建立多個(gè)數(shù)據(jù)元素的分散/聚集DMA傳送的一部分。
17.如權(quán)利要求1-4、6-9、11-16中任何一個(gè)所述的方法,其中所述網(wǎng)絡(luò)鏈路是G比特以太網(wǎng)鏈路,或者至少與G比特以太網(wǎng)鏈路一樣快的以太網(wǎng)鏈路。
18.如權(quán)利要求1-4、6-9、11-17中任何一個(gè)所述的方法,其中所述臺(tái)站是所述無(wú)線(xiàn)網(wǎng)絡(luò)的接入點(diǎn)。
19.如權(quán)利要求1-4、6-9、11-18中任何一個(gè)所述的方法,其中所述無(wú)線(xiàn)網(wǎng)絡(luò)遵從IEEE 802.11標(biāo)準(zhǔn)或其衍生標(biāo)準(zhǔn)之一。
20.如權(quán)利要求19所述的方法,其中所述分組是802.11MAC分組。
21.如權(quán)利要求8、9、13或14中任何一個(gè)所述的方法,其中所述網(wǎng)絡(luò)鏈路是G比特以太網(wǎng)鏈路,或者至少與G比特以太網(wǎng)鏈路一樣快的以太網(wǎng)鏈路,并且所述網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)交換機(jī),所述無(wú)線(xiàn)網(wǎng)絡(luò)是遵從IEEE802.11標(biāo)準(zhǔn)或其衍生標(biāo)準(zhǔn)之一的網(wǎng)絡(luò),所述第一和第二分組分別是第一類(lèi)型和第二類(lèi)型的以太網(wǎng)分組。
22.一種可在無(wú)線(xiàn)網(wǎng)絡(luò)中工作的無(wú)線(xiàn)臺(tái)站中的裝置,所述裝置包括本地存儲(chǔ)器,其能夠接收描述獲得包括要無(wú)線(xiàn)發(fā)送的分組的至少一些數(shù)據(jù)的數(shù)據(jù)元素的位置的信息,所述位置位于通過(guò)網(wǎng)絡(luò)鏈路耦合到所述無(wú)線(xiàn)臺(tái)站的網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器中;耦合到所述本地存儲(chǔ)器的分組/DMA引擎,所述分組/DMA引擎能夠建立所述要無(wú)線(xiàn)發(fā)送的分組的數(shù)據(jù)的DMA傳送,所述建立利用所述存儲(chǔ)器中的接收到的信息,并且形成定義所述網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器中的一組至少一個(gè)位置以及定義密碼信息的信息;以及耦合到所述分組/DMA引擎的網(wǎng)絡(luò)接口,所述網(wǎng)絡(luò)接口包括網(wǎng)絡(luò)DMA引擎,所述網(wǎng)絡(luò)DMA引擎能夠接受對(duì)數(shù)據(jù)傳送的DMA請(qǐng)求,并且能夠?qū)⒍x信息轉(zhuǎn)換為第一類(lèi)型分組,并致使所述網(wǎng)絡(luò)接口通過(guò)所述網(wǎng)絡(luò)接口耦合到的網(wǎng)絡(luò)鏈路發(fā)送所述第一種類(lèi)分組,從而使兼容的網(wǎng)絡(luò)設(shè)備可以解釋并取回由所述定義信息定義的數(shù)據(jù),包括解釋所述密碼信息并相應(yīng)地對(duì)所述數(shù)據(jù)加密,所述網(wǎng)絡(luò)接口還能夠識(shí)別并向所述網(wǎng)絡(luò)DMA引擎提供通過(guò)所述網(wǎng)絡(luò)鏈路接收到的第二類(lèi)型分組,所述第二類(lèi)型分組包括由定義信息定義的數(shù)據(jù),所述網(wǎng)絡(luò)DMA引擎還能夠?qū)⑺峁┑牡诙?lèi)型分組轉(zhuǎn)換為其中包括的數(shù)據(jù),從而使在所述臺(tái)站耦合到第一網(wǎng)絡(luò)并且通過(guò)所述第一網(wǎng)絡(luò)從也耦合到所述第一網(wǎng)絡(luò)的第一網(wǎng)絡(luò)設(shè)備接收到所述第二類(lèi)型的第一分組的情形中,所述接收第二類(lèi)型的第一分組是響應(yīng)于發(fā)送第一種類(lèi)的第一分組而進(jìn)行的,并且所述發(fā)送第一分組是所述網(wǎng)絡(luò)DMA引擎接受第一DMA請(qǐng)求的結(jié)果,所述第一DMA請(qǐng)求定義要從所述第一網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器取回的數(shù)據(jù),并且定義要執(zhí)行的任何加密,所述網(wǎng)絡(luò)DMA引擎以在所述第一DMA請(qǐng)求中定義的數(shù)據(jù)來(lái)對(duì)所述第一DMA請(qǐng)求作出響應(yīng),并且從而使通過(guò)所述第一網(wǎng)絡(luò)傳送并入到要無(wú)線(xiàn)發(fā)送的分組中的數(shù)據(jù)可以在發(fā)送期間實(shí)時(shí)發(fā)生,包括在通過(guò)所述第一網(wǎng)絡(luò)傳送之前進(jìn)行加密。
23.如權(quán)利要求22所述的裝置,其中所述本地存儲(chǔ)器還能夠接收描述將來(lái)自無(wú)線(xiàn)接收到的分組的數(shù)據(jù)元素的寫(xiě)到的位置的信息,所述位置位于通過(guò)所述網(wǎng)絡(luò)鏈路耦合到所述無(wú)線(xiàn)臺(tái)站的所述網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器中,其中所述分組/DMA引擎利用所述本地存儲(chǔ)器中的接收到的信息還能夠建立包括所述無(wú)線(xiàn)接收到的分組的至少一些內(nèi)容的數(shù)據(jù)元素的DMA傳送,所述建立包括定義描述如何對(duì)接收到的數(shù)據(jù)解密的密碼信息,其中所述網(wǎng)絡(luò)DMA引擎還能夠形成第二類(lèi)型分組,所述第二類(lèi)型分組包括由DMA請(qǐng)求中的定義信息定義的數(shù)據(jù)元素,并且包括由所述網(wǎng)絡(luò)DMA引擎接受的密碼信息,并且其中所述網(wǎng)絡(luò)接口還能夠發(fā)送所形成的第二類(lèi)型分組,從而使在所述臺(tái)站耦合到所述第一網(wǎng)絡(luò)并且所述第一網(wǎng)絡(luò)設(shè)備也耦合到所述第一網(wǎng)絡(luò)的情形中,作為所述網(wǎng)絡(luò)DMA引擎接受第二DMA請(qǐng)求的結(jié)果,第二類(lèi)型的第二分組通過(guò)所述第一網(wǎng)絡(luò)被發(fā)送到所述第一網(wǎng)絡(luò)設(shè)備,所述第二DMA請(qǐng)求定義了要被發(fā)送到所述第一網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器的數(shù)據(jù),包括如何對(duì)數(shù)據(jù)解密,并且從而使通過(guò)所述網(wǎng)絡(luò)鏈路傳送來(lái)自無(wú)線(xiàn)接收到的分組的數(shù)據(jù)在接收期間實(shí)時(shí)發(fā)生,其中任何實(shí)時(shí)解密在通過(guò)所述網(wǎng)絡(luò)鏈路傳送之后發(fā)生。
24.如權(quán)利要求22所述的裝置,所述裝置還包括耦合到主機(jī)總線(xiàn)子系統(tǒng)的主機(jī)處理器;和耦合到所述主機(jī)子系統(tǒng)的主機(jī)DMA控制器,其中所述分組/DMA引擎也耦合到所述主機(jī)總線(xiàn)子系統(tǒng),并且能夠與所述主機(jī)DMA控制器進(jìn)行通信,從而使所述分組/DMA引擎建立DMA傳送包括所述分組/DMA引擎指示所述主機(jī)DMA控制器建立所述DMA傳送,并且從而使所述網(wǎng)絡(luò)DMA引擎對(duì)所述主機(jī)DMA控制器表現(xiàn)為存儲(chǔ)器接口,其中所述本地存儲(chǔ)器還能夠接收將來(lái)自無(wú)線(xiàn)接收到的分組的數(shù)據(jù)元素存儲(chǔ)到的位置的信息,所述位置位于通過(guò)所述網(wǎng)絡(luò)鏈路耦合到所述無(wú)線(xiàn)臺(tái)站的所述網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器中,其中所述分組/DMA引擎利用所述本地存儲(chǔ)器中的接收到的信息還能夠建立包括所述無(wú)線(xiàn)接收到的分組的至少一些內(nèi)容的數(shù)據(jù)元素的DMA傳送,其中所述網(wǎng)絡(luò)DMA引擎還能夠形成第二類(lèi)型分組,所述第二類(lèi)型分組包括由DMA請(qǐng)求中的定義信息定義的數(shù)據(jù)元素,并且其中所述網(wǎng)絡(luò)接口還能夠發(fā)送所形成的第二類(lèi)型分組。
25.如權(quán)利要求24所述的裝置,其中所述分組/DMA引擎包括用來(lái)建立多個(gè)數(shù)據(jù)元素的傳送的分散/聚集DMA控制器。
26.如權(quán)利要求22-25中任何一個(gè)所述的裝置,其中所述網(wǎng)絡(luò)設(shè)備是包括存儲(chǔ)器的網(wǎng)絡(luò)交換機(jī),在無(wú)線(xiàn)發(fā)送期間數(shù)據(jù)從所述存儲(chǔ)器流式傳輸。
27.如權(quán)利要求22-26中任何一個(gè)所述的裝置,其中所述網(wǎng)絡(luò)鏈路是G比特以太網(wǎng)鏈路,或者至少與G比特以太網(wǎng)鏈路一樣快的以太網(wǎng)鏈路。
28.一種無(wú)線(xiàn)發(fā)送信息分組的裝置,所述裝置包括用于無(wú)線(xiàn)發(fā)送信息分組的裝置;以及用于在發(fā)送期間通過(guò)網(wǎng)絡(luò)鏈路流式傳輸包括所述分組的至少一些內(nèi)容的數(shù)據(jù)元素的裝置,其中所述流式傳輸包括在通過(guò)所述網(wǎng)絡(luò)鏈路傳送之前實(shí)時(shí)對(duì)所述數(shù)據(jù)加密。
29.如權(quán)利要求28所述的裝置,其中所述發(fā)送在無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站中執(zhí)行,并且所述流式傳輸是來(lái)自于通過(guò)所述網(wǎng)絡(luò)鏈路耦合到所述無(wú)線(xiàn)臺(tái)站的網(wǎng)絡(luò)設(shè)備。
30.一種無(wú)線(xiàn)接收信息分組的裝置,所述裝置包括用于無(wú)線(xiàn)接收信息分組的裝置;用于在發(fā)送期間通過(guò)網(wǎng)絡(luò)鏈路流式傳輸包括接收到的分組的至少一些內(nèi)容的數(shù)據(jù)元素的裝置;以及用于在所述流式傳輸期間實(shí)時(shí)對(duì)所述數(shù)據(jù)元素進(jìn)行解密的裝置,所述解密在通過(guò)所述網(wǎng)絡(luò)鏈路傳送之后進(jìn)行。
31.如權(quán)利要求30所述的裝置,其中所述接收在無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站中執(zhí)行,并且所述流式傳輸是去往通過(guò)所述網(wǎng)絡(luò)鏈路耦合到所述無(wú)線(xiàn)臺(tái)站的網(wǎng)絡(luò)設(shè)備。
32.如權(quán)利要求22-27、29或31中任何一個(gè)所述的裝置,其中所述臺(tái)站是所述無(wú)線(xiàn)網(wǎng)絡(luò)的接入點(diǎn)。
33.如權(quán)利要求22-32中任何一個(gè)所述的裝置,其中所述無(wú)線(xiàn)網(wǎng)絡(luò)遵從IEEE 802.11標(biāo)準(zhǔn)或其衍生標(biāo)準(zhǔn)之一。
34.如權(quán)利要求22-27中任何一個(gè)所述的裝置,其中所述無(wú)線(xiàn)網(wǎng)絡(luò)遵從IEEE 802.11標(biāo)準(zhǔn)或其衍生標(biāo)準(zhǔn)之一,并且要無(wú)線(xiàn)發(fā)送的分組是802.11 MAC分組。
35.一種承載指示機(jī)器執(zhí)行用于無(wú)線(xiàn)發(fā)送信息分組的方法的一組機(jī)器可讀指令的載體介質(zhì),所述方法包括在發(fā)送期間通過(guò)網(wǎng)絡(luò)鏈路流式傳輸包括所述分組的至少一些內(nèi)容的數(shù)據(jù)元素,所述流式傳輸包括在通過(guò)所述網(wǎng)絡(luò)鏈路傳送之前實(shí)時(shí)對(duì)所述數(shù)據(jù)加密。
36.如權(quán)利要求35所述的載體介質(zhì),其中所述發(fā)送在無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站中執(zhí)行,并且所述流式傳輸是來(lái)自通過(guò)所述網(wǎng)絡(luò)鏈路耦合到所述無(wú)線(xiàn)臺(tái)站的網(wǎng)絡(luò)設(shè)備。
37.一種承載指示機(jī)器執(zhí)行用于無(wú)線(xiàn)接收信息分組的方法的一組機(jī)器可讀指令的載體介質(zhì),所述方法包括在發(fā)送期間通過(guò)網(wǎng)絡(luò)鏈路流式傳輸包括接收到的分組的至少一些內(nèi)容的數(shù)據(jù)元素;以及在所述流式傳輸期間實(shí)時(shí)對(duì)所述數(shù)據(jù)元素進(jìn)行解密,所述解密在通過(guò)網(wǎng)絡(luò)鏈路傳送之后進(jìn)行。
38.如權(quán)利要求37所述的載體介質(zhì),其中所述接收在無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站中執(zhí)行,并且所述流式傳輸是去往通過(guò)所述網(wǎng)絡(luò)鏈路耦合到所述無(wú)線(xiàn)臺(tái)站的網(wǎng)絡(luò)設(shè)備。
全文摘要
本發(fā)明公開(kāi)了一種無(wú)線(xiàn)發(fā)送或接收信息分組的方法,和一種無(wú)線(xiàn)發(fā)送或接收信息分組的裝置。在接收情形中,該方法包括在接收期間通過(guò)網(wǎng)絡(luò)鏈路流式傳輸包括接收到的分組的至少一些內(nèi)容的數(shù)據(jù)元素,包括在通過(guò)網(wǎng)絡(luò)鏈路傳送之后,在流式傳輸期間對(duì)數(shù)據(jù)元素進(jìn)行實(shí)時(shí)解密。發(fā)送和接收是由無(wú)線(xiàn)網(wǎng)絡(luò)的臺(tái)站(300)執(zhí)行的,并且流式傳輸是從通過(guò)網(wǎng)絡(luò)鏈路耦合到臺(tái)站的網(wǎng)絡(luò)設(shè)備(329)去往臺(tái)站的,或者從臺(tái)站去往該網(wǎng)絡(luò)設(shè)備的。
文檔編號(hào)H04L12/28GK1879435SQ200480032985
公開(kāi)日2006年12月13日 申請(qǐng)日期2004年7月19日 優(yōu)先權(quán)日2003年11月26日
發(fā)明者馬克·克里斯徹爾, 菲利普·J·雷恩, 邁克爾·J·韋布 申請(qǐng)人:思科技術(shù)公司