專利名稱:提供用于短程無線計算設(shè)備的安全網(wǎng)絡(luò)訪問的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)網(wǎng)絡(luò),以及更具體地說,涉及用于允許用短程無線計算設(shè)備無縫連接和漫游的方法、系統(tǒng)以及計算機(jī)程序指令。
背景技術(shù):
近年來,各種短程無線網(wǎng)絡(luò)通信技術(shù),特別是IEEE 802.11以及藍(lán)牙,已經(jīng)公開了允許便攜式設(shè)備(如膝上型電腦、蜂窩電話、個人數(shù)字助理或PDA等)彼此和與廣域網(wǎng)環(huán)境通信。(IEEE 802.11是用于無線局域網(wǎng)、或LAN、信令和協(xié)議、在1997年批準(zhǔn)的電氣和電子工程師學(xué)會的標(biāo)準(zhǔn)。802.11滿足跳頻擴(kuò)頻無線電通信、直接序列擴(kuò)頻無線電通信以及紅外傳輸。藍(lán)牙是用于短程無線連接的規(guī)范,目的在于統(tǒng)一遠(yuǎn)程通信和計算。有關(guān)這些規(guī)范的更多信息可分別在Internet的www.ieee.org和www.bluetooth.com上找到)。
該環(huán)境中的主機(jī)移動性問題在現(xiàn)有技術(shù)中是公知的,以及已經(jīng)闡述了幾種方案來解決該問題。在這些方案中有移動IP(因特網(wǎng)協(xié)議)、端對端TCP(傳輸控制協(xié)議)重新映射方法以及HAWAIT(已知的切換無線接入Internet體系結(jié)構(gòu))系統(tǒng)。現(xiàn)在將描述每一個這些方案以及根據(jù)位置獨(dú)立的信息包路由選擇以及安全訪問簡單地概述它們的限制或缺點。
在移動IP環(huán)境中,為每個設(shè)備指定靜態(tài)、全球IP地址。也為該設(shè)備在其本地網(wǎng)絡(luò)指定固定的本地代理(HA)。當(dāng)該設(shè)備漫游時,發(fā)生下述步驟(1)將該設(shè)備定位到遠(yuǎn)程網(wǎng)絡(luò)上的外地代理(FA)主機(jī)以及與其建立通信,并給FA提供HA身份;(2)FA啟動與HA的握手;(3)由HA接收指定給該客戶機(jī)的信息包,再使它們通向FA,然后將它們轉(zhuǎn)發(fā)給該設(shè)備;(4)由FA截取由客戶機(jī)生成的信息包,再使它們通向HA,然后將它們轉(zhuǎn)發(fā)給指定目的地。然而,已經(jīng)優(yōu)化移動IP以允許FA將信息包直接傳送給指定目的地而不是經(jīng)HA發(fā)送它們。
然而,移動IP具有多個缺點和限制。“嵌套IP(IP inside IP)”隧道效應(yīng)要求將另外的報頭資料增加到信息包中,以及它還要求至少重新計算新的IP報頭檢驗和(用于另外的IP報頭資料)。這些操作要求在HA和/或FA額外的存儲器訪問。在某些操作系上,檢驗和計算可能不是遞增的(因此可要求訪問IP報頭中的每個字節(jié))。在某些操作系統(tǒng)上,增加報頭資料要求將整個信息包拷貝到新的緩沖器,要求訪問信息包中的每個字節(jié)。HA和FA間的信息包隧道效應(yīng)也增加了信息包大小。這反過來增加帶寬消耗以及可能要求原始IP信息包的另外分段以及重組(實質(zhì)上引入了新的信息包丟失狀態(tài)。因此隧道效應(yīng)可引起性能惡化。另外,HA和FA間的隧道效應(yīng)引入了路由選擇無效,因為所有入站信息包必須在兩個主機(jī)間路由,即使當(dāng)信息包源以及目的地物理地位于相鄰網(wǎng)絡(luò)上。
移動IP也增加了客戶設(shè)備的負(fù)擔(dān)和限制??蛻魴C(jī)必須安裝另外的軟件以便能發(fā)現(xiàn)FA。每次允許特定的客戶機(jī)僅與一個FA通信。這意味著不提供分開多個FA中的負(fù)載。如果FA出故障,那么有關(guān)該客戶機(jī)的所有狀態(tài)信息均丟失,而且該客戶機(jī)必須重新建立所有它的網(wǎng)絡(luò)連接。另外,必須為所有客戶機(jī)指定公眾可路由的(全球)IP地址。在當(dāng)今Internet中,這些地址非常受限,因此這顯示出很大的局限性,特別是對具有許多移動員工的大公司。
由Alex Snoeren和Hari Balakrishnan提出的端對端TCP重新映射方案在他們的論文中描述過,2000年8月,Mobicom 2000論文集,名為“An End-to-End Approach to Host Mobility”。意識到移動IP的局限性,這些作者建議可通過將另外的機(jī)制增加到TCP上、允許將已建立的連接“重新映射”到客戶機(jī)的新IP地址上來實現(xiàn)無縫移動功能。用這種方式,當(dāng)客戶機(jī)漫游時,可免費(fèi)獲得新的IP地址,從而重新映射所有它的開放的連接。在該方案中,TCP/IP連接直接在漫游設(shè)備(具有其動態(tài)IP地址)以及服務(wù)器之間操作。無論何時設(shè)備漫游并獲得新的IP地址時,在TCP/IP鏈路上發(fā)送消息以便通知服務(wù)器設(shè)備地址已經(jīng)改變。
該方案也具有多個缺點。它要求改變所有客戶機(jī)和服務(wù)器上的TCP實現(xiàn),這是不太可能發(fā)生的事。必須修改知道該設(shè)備IP地址的應(yīng)用程序以便了解和處理當(dāng)設(shè)備漫游時發(fā)生的IP地址改變。該方案不能用于基于用戶數(shù)據(jù)報協(xié)議(UDP)/IP的通信。最后,該系統(tǒng)依賴于動態(tài)域名服務(wù)(DDNS)以便允許遠(yuǎn)程主機(jī)了解客戶機(jī)的當(dāng)前IP地址;不幸的是,DDNS還沒有被完全采納。
在2000年7月7日,R.Ramjee等的名為“IP micro-mobilitysupport using HAWAII”的Internet設(shè)計中,描述過HAwAII系統(tǒng),可在Internet的http//www.ietf.org上獲得。HAWAII是對移動IP的優(yōu)化以便允許用戶在單個管理域中更有效地漫游。當(dāng)用戶漫游到管理域中時,用普通方式與本地FA建立關(guān)聯(lián)。在管理域中,通過動態(tài)更新路由器以及主機(jī)路由選擇表來實現(xiàn)漫游以便FA能將信息包轉(zhuǎn)發(fā)給該設(shè)備或從該設(shè)備轉(zhuǎn)發(fā)。
與移動IP相比,該方案降低了FA-HA安裝和拆卸費(fèi)用,因為FA不頻繁地改變只要用戶正在由FA支持的管理域中漫游,它便保持不變。象移動IP,HAWAII技術(shù)能消除用于從客戶機(jī)發(fā)送的信息包的出站“三角”路由選擇(然而不是用于發(fā)送到該客戶機(jī)的信息包,因為經(jīng)Internet將客戶機(jī)的公共地址路由到HA)。
然而,HAWAII技術(shù)引入了更新路由器(這在許多管理域中也許是不可能的或不允許的)的另外的費(fèi)用。它也未消除與移動IP有關(guān)的計算性能、帶寬以及可靠性問題。
這些現(xiàn)有的用于主機(jī)移動性的方案也非常有限,因為它們不提供用于執(zhí)行有關(guān)(1)哪些用戶正在經(jīng)無線接入環(huán)境訪問有線網(wǎng)絡(luò)以及(2)那些用戶正在與哪些服務(wù)器通信的政策的機(jī)制。
現(xiàn)有的安全機(jī)制分為兩種一般的種類。第一種是鏈路層加密以及第二種是安全I(xiàn)P隧道效應(yīng)?,F(xiàn)在將描述每一種這些技術(shù)。
鏈路層加密用來確保不受阻礙地在無線網(wǎng)絡(luò)上傳送數(shù)據(jù)。在802.11環(huán)境中,定義WEP(無線對等效保密)以允許客戶機(jī)和無線接入點間加密。在典型的實現(xiàn)中,系統(tǒng)管理員定義提供給所有授權(quán)用戶的密鑰。用戶用該密鑰配置他們的客戶機(jī),然后將該密鑰提交給接入點以證明授權(quán)該設(shè)備訪問網(wǎng)絡(luò)。只要完成該握手,建立會話密鑰以便加密客戶機(jī)和接入點間后來的通信量;在無線卡中的硬件內(nèi)實現(xiàn)該加密。類似的機(jī)制存在于藍(lán)牙環(huán)境中。
該鏈路層安全技術(shù)具有幾個限制。首先,它是匿名的。即,接入點(以及網(wǎng)絡(luò))不能確定哪個用戶實際上正在使用網(wǎng)絡(luò)。因此,沒有辦法來實施基于用戶的過濾和路由選擇政策。另外,該技術(shù)很麻煩。WEP密鑰可以是1024位長,以及要求用戶輸入該信息很容易出錯。另外,沒有用于密鑰撤消的機(jī)制。只要該用戶具有密鑰,就不再能拒絕該用戶的網(wǎng)絡(luò)訪問。為防止先前授權(quán)的用戶獲得對網(wǎng)絡(luò)的訪問,管理員必須創(chuàng)建新密鑰,重新編程所有的接入點,以及通知所有當(dāng)前授權(quán)用戶更新他們的WEP密鑰。在大的計算中心中,這是不切實際的。
使用該鏈路層技術(shù)的一種替代方案包括在無線客戶機(jī)和連接到該接入點的某些路由器間構(gòu)造安全的IP隧道。已經(jīng)由3Com公司發(fā)布了這種方案(參見http//www.3com.com/news/releases/pr00/ju10500a.html)。在該具體的方案中,用戶將用戶名和密碼提供給路由器,路由器驗證該用戶。接著,在客戶機(jī)和路由器間建立MPPE(Microsoft點對點加密)鏈路。用這種方式,用戶能確保在無線網(wǎng)絡(luò)上加密所有信息包。
然而,該技術(shù)不能利用在無線接入硬件中提供的硬件加密能力,因為加密功能駐留在鏈路層上。另外,網(wǎng)絡(luò)管理員不能使用該機(jī)制來在網(wǎng)絡(luò)上實施訪問控制或過濾政策。雖然可將這種過濾集成到路由器本身中,還是沒有機(jī)制來確保所有客戶機(jī)與路由器建立安全隧道。通過直接將路由器導(dǎo)線連接到每個無線接入點(以便因此路由器能截取所有入站和出站通信量)來實現(xiàn)過濾方案是可能的。然而,該后一方案強(qiáng)加了顯著的配線負(fù)擔(dān),因此是不切實際的。
因此,需要的是一種用于支持主機(jī)移動性的、克服了現(xiàn)有技術(shù)的局限性的技術(shù)。
發(fā)明內(nèi)容
本發(fā)明是針對用于在短程無線計算網(wǎng)絡(luò)中支持主機(jī)移動性的方法、系統(tǒng)和計算機(jī)程序指令。所公開的路由選擇技術(shù)提供基礎(chǔ)路由選擇體系結(jié)構(gòu)的最大性能和吞吐量、最小化用于信息包的網(wǎng)絡(luò)等待時間,以及提供最大配置靈活性。另外,所公開的安全訪問技術(shù)允許提供安全、管制網(wǎng)絡(luò)環(huán)境,其中能很容易和有效地實施每個用戶訪問控制以及通信量過濾政策。使用這些技術(shù),客戶設(shè)備能使用恒定的設(shè)備地址無縫地穿過無線網(wǎng)絡(luò)(如建筑物內(nèi)的網(wǎng)絡(luò))。
根據(jù)本發(fā)明,每個網(wǎng)絡(luò)連接與本地代理偽裝器(HAM)關(guān)聯(lián)。漫游設(shè)備經(jīng)外地代理偽裝器(FAM)通信,反過來,外地代理偽裝器與用于每個有效連接的HAM通信。通過允許客戶設(shè)備使用用于每個它的有效連接的不同HAM,用于漫游設(shè)備的HAM可放置在非常接近建立連接時客戶機(jī)所處的物理位置。如果該連接是暫時的以及該用戶實際上不漫游同時該連接在進(jìn)行中,需要構(gòu)造現(xiàn)有技術(shù)中所需的這種顯而易見的路由選擇路徑該設(shè)備簡單地使用(附近的)HAM。實際上,大多數(shù)連接傾向于暫時的(例如,請求Internet),因此所公開的技術(shù)特別有利。對連接是長期(或期望是長期的)的情形,定義用于將HAM功能放在更集中的位置上的技術(shù)。
遞增地將連接狀態(tài)載入每個FAM中,同時FAM獲悉需要為其提供信息包路由選擇的新設(shè)備,從而進(jìn)一步改善整個系統(tǒng)性能。
定義有效和遞增切換處理技術(shù)。最終系統(tǒng)很容易升級,以及實現(xiàn)高性能。
為補(bǔ)充這些路由選擇技術(shù),公開的內(nèi)容是用于確保在短程無線網(wǎng)絡(luò)環(huán)境中用戶集中的鏈路層安全性的安全機(jī)制。公開的機(jī)制允許當(dāng)支持基于用戶的驗證時,使政策驅(qū)動的信息包過濾發(fā)生,以及同時利用由在每個端點的設(shè)備硬件提供的現(xiàn)有加密設(shè)施。
圖1描述在現(xiàn)有技術(shù)中使用的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)的格式;圖2描述由現(xiàn)有技術(shù)的NAT系統(tǒng)使用的轉(zhuǎn)換技術(shù);圖3描述根據(jù)本發(fā)明的優(yōu)選實施例的系統(tǒng)中的邏輯元件;圖4和5根據(jù)本發(fā)明的優(yōu)選實施例,分別描述外地地址偽裝器表以及本地地址偽裝器表的格式;圖6根據(jù)本發(fā)明的優(yōu)選實施例,提供描述邏輯功能的流程圖,通過邏輯功能,將由客戶機(jī)傳送的信息包遞送給目的地服務(wù)器;圖7根據(jù)本發(fā)明的優(yōu)選實施例,提供描述邏輯功能的流程圖,通過邏輯功能,將由服務(wù)器傳送的信息包遞送給客戶機(jī);圖8根據(jù)本發(fā)明的優(yōu)選實施例,描述由路由選擇協(xié)調(diào)器維護(hù)的連接表的格式;圖9根據(jù)本發(fā)明的優(yōu)選實施例,提供描述邏輯功能的流程圖,邏輯功能處理建立新連接;圖10根據(jù)本發(fā)明的優(yōu)選實施例,提供描述當(dāng)信息包到達(dá)可能正在現(xiàn)有連接上漫游或可能正在建立新連接的設(shè)備時調(diào)用的邏輯功能的流程圖;圖11提供描述可用作圖10的替代方案的邏輯功能的流程圖;圖12根據(jù)本發(fā)明的優(yōu)選實施例,提供描述邏輯功能的流程圖,通過邏輯功能,動態(tài)獲悉客戶設(shè)備的變化位置;圖13根據(jù)本發(fā)明的優(yōu)選實施例,提供描述邏輯功能的流程圖,邏輯功能用來防止指定用于客戶機(jī)的信息包被發(fā)送到客戶機(jī)不再與其關(guān)聯(lián)的路由選擇設(shè)備;圖14根據(jù)本發(fā)明的優(yōu)選實施例,描述可用來提供用戶驗證的安全管制環(huán)境以及過濾技術(shù);圖15根據(jù)本發(fā)明的優(yōu)選實施例,提供描述邏輯功能的流程圖,通過邏輯功能,可建立安全鏈路。
具體實施例方式
在下文中,將參考附圖更全面地描述本發(fā)明,其中示出了本發(fā)明的優(yōu)選實施例。相同的數(shù)字始終表示相同的元件。
下面,根據(jù)本發(fā)明的實施例,參考方法的流程圖描述、裝置(系統(tǒng))以及包含在一個或多個計算機(jī)可讀介質(zhì)上的計算機(jī)程序指令來描述本發(fā)明。正如對本領(lǐng)域的普通技術(shù)人員顯而易見的,這些流程圖僅是實現(xiàn)本發(fā)明的優(yōu)選實施例的說明性的方式,以及可對在此描述的邏輯功能做出改變(例如,通過在某些情況下改變所示的操作順序,通過組合操作等),而不脫離在此公開的發(fā)明原理。
本發(fā)明建立在使用本領(lǐng)域的技術(shù)人員公知的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)上。使用NAT允許用某些其他地址“偽裝”特定的客戶機(jī)網(wǎng)絡(luò)地址。這種能力通常用來使用較少量的公眾可見的地址,允許將企業(yè)通信網(wǎng)中的多個專用客戶機(jī)地址暴露給Internet。這降低了需要獲得的全球IP地址的數(shù)量,以及增強(qiáng)了網(wǎng)絡(luò)安全性。
為實現(xiàn)該偽裝,提供NAT的設(shè)備維護(hù)具有用于每個已建立的連接的一個條目的地址轉(zhuǎn)換表,如圖1所示。當(dāng)建立連接時(例如,發(fā)送TCP SYN消息),NAT主機(jī)在表中建立與客戶機(jī)和服務(wù)器主機(jī)地址和端口一致的條目。它還指定偽裝IP地址和端口,它們是用于使用期限的連接的客戶主機(jī)的“公有”視圖。(即,對與第一服務(wù)器通信的特定客戶機(jī)來說,可使用第一偽裝地址和端口,而對與不同服務(wù)器通信的相同客戶機(jī)來說,可使用不同偽裝地址和端口)。
NAT的操作如圖2所示。從在特定連接上的客戶機(jī)205(使用客戶機(jī)地址和端口號的源IP地址集,以及服務(wù)器地址和端口號的目的地IP地址集)發(fā)送210的任何出站信息包由NAT215轉(zhuǎn)發(fā)220,好象它們是由偽裝地址和偽裝端口號發(fā)送的一樣。因此服務(wù)器225相信它正與具有該偽裝地址和端口號的客戶機(jī)通信。因此,由NAT215轉(zhuǎn)發(fā)240來自偽裝地址和偽裝端口指定的服務(wù)器225的任何入站信息包230,好象將它們指定到客戶機(jī)205的真正客戶機(jī)地址和客戶機(jī)端口一樣。
現(xiàn)在參考圖3,圖3表示在本發(fā)明中描述的系統(tǒng)的邏輯元件(1)設(shè)備330,(2)本地地址偽裝器(HAM)310,(3)外地地址偽裝器(FAM)340,(4)漫游協(xié)調(diào)器320,(5)應(yīng)用服務(wù)器300?,F(xiàn)在將描述每一個這些元件,因為它與本發(fā)明有關(guān)。
與本發(fā)明一起使用的設(shè)備330(如膝上型電腦、手持電腦、PDA、便攜式電話等)均具有通信能力(最好是,短程無線通信能力)。通信能力可包括技術(shù)如802.11、藍(lán)牙、HomeRF、或類似的技術(shù)(也可能是未開發(fā)的)。網(wǎng)絡(luò)能力可內(nèi)置在該設(shè)備中,或用另一種方式獲得,包括但不局限于經(jīng)可拆卸卡(如PCMCIA、或個人計算機(jī)存儲卡國際協(xié)會卡),或附加適配器(即,加在USB或通用串行總線、端口或RS232端口上的可拆卸設(shè)備)。
發(fā)送到客戶設(shè)備330或從客戶設(shè)備330發(fā)送的所有信息包經(jīng)過FAM340。由FAM將設(shè)備的出站信息包350a轉(zhuǎn)發(fā)給目的地服務(wù)器300。另一方面,首先將來自服務(wù)器300的入站信息包發(fā)送360a給設(shè)備的HAM310,然后再轉(zhuǎn)發(fā)360b給FAM340,F(xiàn)AM340將它們發(fā)送360c給設(shè)備330。
在優(yōu)選實施例中,靜態(tài)地將HAM310指定到特定客戶設(shè)備和服務(wù)器間的每個連接(盡管設(shè)備HAM可改變,將在下面詳細(xì)描述)。為支持路由選擇,HAM采用HAM轉(zhuǎn)換記錄(下面將參考圖5描述)。在優(yōu)選實施例中,在網(wǎng)絡(luò)接入點、路由器或橋接器中實現(xiàn)HAM,盡管如下所述,它也可另外在中心服務(wù)器或其他主機(jī)中實現(xiàn)。
在優(yōu)選實施例中,F(xiàn)AM340是與設(shè)備通信的第一(非橋接)網(wǎng)絡(luò)元件。發(fā)送到該設(shè)備或從該設(shè)備發(fā)送的信息包必須經(jīng)過FAM。最好,在網(wǎng)絡(luò)接入點或LAN路由器中實現(xiàn)FAM。(在另外的實施例中,F(xiàn)AM能力可放在橋接器中,如果每一客戶機(jī)與FAM使能的橋接器通信)。當(dāng)設(shè)備漫游時,F(xiàn)AM改變。為支持路由選擇,F(xiàn)AM采用FAM轉(zhuǎn)換記錄(下面參考圖4描述)。最好,初始FAM也執(zhí)行用于該設(shè)備的HAM任務(wù),如下所述,盡管這并不是本發(fā)明所需要的。
應(yīng)用服務(wù)器300是與該設(shè)備正在通信的端點。這將在連接的持續(xù)時間內(nèi)保持不變。(另外,應(yīng)用服務(wù)器本身可以是與其自己的FAM和HAM有關(guān)的移動設(shè)備。這需要將靜態(tài)、公共的可路由地址用作用于已知服務(wù)的偽裝地址)。
漫游協(xié)調(diào)器320允許HAM和FAM連接以及發(fā)現(xiàn),以及連接移動(即,切換)。在優(yōu)選實施例中,在網(wǎng)絡(luò)連接到系統(tǒng)中的各個網(wǎng)絡(luò)接入點的服務(wù)器計算機(jī)中實現(xiàn)漫游協(xié)調(diào)器。
根據(jù)本發(fā)明,使用基于網(wǎng)絡(luò)地址轉(zhuǎn)換的原理的技術(shù),HAM和FAM允許位置獨(dú)立的信息包路由選擇。為此,HAM和FAM為它們支持的每個連接分別維護(hù)HAM轉(zhuǎn)換記錄和FAM轉(zhuǎn)換記錄。將HAM轉(zhuǎn)換記錄均存儲在HAM轉(zhuǎn)換表中,以及將FAM轉(zhuǎn)換記錄均存儲在FAM轉(zhuǎn)換表中,現(xiàn)在將對此進(jìn)行描述。
用在本發(fā)明的優(yōu)選實施例中的FAM轉(zhuǎn)換記錄的格式如圖4所示。FAM轉(zhuǎn)換表允許FAM將出站信息包重寫到來自客戶機(jī)的連接上,就象它們源于由HAM指定的偽裝地址和偽裝端口一樣。在從客戶機(jī)收到信息包后(見圖3的350a),使用客戶機(jī)(源)和服務(wù)器(目的地)地址和端口號(最好作為索引)來檢索相應(yīng)的FAM轉(zhuǎn)換記錄,以及用客戶機(jī)的實際地址和端口號代替在此存儲的偽裝地址和端口號(將在下面參考圖6詳細(xì)描述)。通過檢索具有匹配的FAM地址和端口號的存儲記錄(以及偽裝地址和端口號)、以及客戶機(jī)作為目的地代替FAM,F(xiàn)AM轉(zhuǎn)換記錄也允許FAM將入站信息包(見360c)轉(zhuǎn)發(fā)給客戶機(jī)地址和端口(下面將參考圖7更詳細(xì)地描述)。
注意當(dāng)如圖4、5和8所示的示例性表格式包括用于協(xié)議標(biāo)識符的條目時,該信息是可選的,以及僅在支持多協(xié)議(如TCP和UDP)的系統(tǒng)中需要。也應(yīng)當(dāng)理解這些表可包含比圖4、5和8所示的更多的字段,而不脫離本發(fā)明的原理。
用在本發(fā)明的優(yōu)選實施例中的HAM轉(zhuǎn)換記錄的格式如圖5所示。這些HAM轉(zhuǎn)換記錄允許HAM將入站信息包轉(zhuǎn)發(fā)給適當(dāng)?shù)腇AM,反過來,F(xiàn)AM能將這些信息包轉(zhuǎn)發(fā)給客戶機(jī)。在從服務(wù)器接收到入站信息包(見360a)后,HAM使用偽裝地址和端口號,以及檢索HAM轉(zhuǎn)換記錄誰的服務(wù)器地址和端口號與包含在信息包中的地址和端口號匹配。然后用偽裝地址和端口代替在此存儲的FAM地址和端口,以及將該信息包轉(zhuǎn)發(fā)(見360b)給該FAM。
盡管在圖5中未示出,HAM轉(zhuǎn)換記錄的另外的實施例可選地包括(1)與連接有關(guān)的實際客戶機(jī)地址和客戶機(jī)端口,當(dāng)HAM指定用于連接的偽裝地址和端口時,它們對HAM來說是已知的,和/或(2)在每個條目中的多個FAM地址和FAM端口。
在兩種情況下可出現(xiàn)多個FAM地址和端口。第一,當(dāng)客戶機(jī)正從一個FAM漫游到另一個時,可暫時將多個FAM與連接關(guān)聯(lián)。另外,客戶機(jī)可能能立即與多個網(wǎng)絡(luò)接入點或路由器通信,甚至是靜止時。因此,它可與多個接入點建立關(guān)系,并且經(jīng)過這些接入點將信息包發(fā)送到網(wǎng)絡(luò)或從網(wǎng)絡(luò)發(fā)送。因此,多個FAM可為特定連接存在,它們均能將信息包轉(zhuǎn)發(fā)給客戶機(jī)。當(dāng)不止一個FAM能用于路由選擇特定信息包時,使用不形成本發(fā)明部分的沖突判決技術(shù)(包括隨機(jī)選擇FAM),HAM可從可用的FAM中選擇。(最好,也可從連接路由選擇表中的條目了解多個FAM的存在,下面將參考圖8進(jìn)一步描述)。
圖6根據(jù)本發(fā)明的優(yōu)選實施例,描述表示如何從客戶機(jī)將信息包發(fā)送給服務(wù)器的流程圖。該處理與圖3的流程350a和350b一致。在塊600,客戶機(jī)發(fā)送其源為客戶機(jī)IP地址和端口以及其目的地是服務(wù)器IP地址和端口的IP信息包。該信息包可以是已經(jīng)建立的連接中的信息包或連接請求信息包(如TCP SYN,或UDP流中的第一信息包)。在延伸到客戶機(jī)的當(dāng)前FAM的鏈路上發(fā)送信息包。(將FAM的MAC地址放在信息包中作為目的地MAC地址。使用現(xiàn)有技術(shù),如地址分辨協(xié)議,或“ARP”,該MAC地址對客戶機(jī)來說是已知的。另外,可使用廣播MAC地址)。在塊610,F(xiàn)AM接收信息包并從信息包抽取源地址和端口和目的地地址和端口。在塊620,F(xiàn)AM訪問FAM轉(zhuǎn)換表以便檢索其客戶機(jī)和服務(wù)器地址和端口與從塊610抽取的源和目的地的地址和端口匹配的FAM轉(zhuǎn)換記錄(見圖4)。
在塊630,確定是否找到匹配的FAM轉(zhuǎn)換記錄。如果對塊630的回答為否,那么在塊670,F(xiàn)AM與路由選擇協(xié)調(diào)器聯(lián)系以便確定該客戶機(jī)和該服務(wù)器間的連接是否已經(jīng)存在,并為其建立FAM轉(zhuǎn)換記錄。(該處理在圖10中很詳細(xì)。)在判定塊675,確定是否創(chuàng)建了FAM轉(zhuǎn)換記錄。如果判定塊675的回答為否,那么該信息包表示(可能的)新連接,根據(jù)圖9來處理它(塊680)。(其中FAM將試圖也變?yōu)镠AM)。在塊690繼續(xù)該處理,在該塊,確定是否創(chuàng)建了FAM轉(zhuǎn)換記錄。如果判定塊690的回答為否,那么舍棄該信息包,以及在塊695終止該處理(在另外的實施例中,可取消在判定塊690的檢驗,在這種情況下,總是舍棄該信息包,同時在塊695直接終止該處理。同時該替代方案舍棄客戶機(jī)連接請求信息包,在客戶機(jī)中的協(xié)議實現(xiàn)通常檢測該去除的信息包并重新發(fā)送它。用適當(dāng)?shù)姆绞剑稍诹鞒虉D中出現(xiàn)的邏輯程序來自動處理重新發(fā)送的信息包。)如果判定塊630的回答為是(即,F(xiàn)AM已經(jīng)知道該連接),或如果判定塊675的回答為是(即,這是路由選擇協(xié)調(diào)器已經(jīng)知道的漫游設(shè)備以及其正好與該FAM接觸),或如果判定塊690的回答為是(即,這是用于該設(shè)備的新連接),那么已經(jīng)定位(或生成)用于該信息包的有效FAM轉(zhuǎn)換記錄??刂苽鬟f給塊640,在該塊,從FAM轉(zhuǎn)換記錄抽取偽裝地址和端口。在塊650,將這些地址作為源地址和端口插入(即取代)信息包,以及在塊660,在網(wǎng)絡(luò)上傳送重寫信息包。該處理在塊695終止。
用這種方式,將由客戶機(jī)傳送的信息包轉(zhuǎn)發(fā)給服務(wù)器以便服務(wù)器將源視為偽裝地址和端口,代替實際的客戶機(jī)地址和端口。此外,在本發(fā)明的FAM中的地址轉(zhuǎn)換技術(shù)能有效地處理這些出站信息包。
現(xiàn)在參考圖7,示出了根據(jù)本發(fā)明的優(yōu)選實施例,如何將由服務(wù)器發(fā)送的信息包遞送給客戶機(jī)的流程圖。這與圖3的流程360a、360b以及360c一致。在塊700,服務(wù)器傳送其源地址和端口識別服務(wù)器以及其目的地地址和端口是與連接有關(guān)的偽裝地址和端口的IP信息包。服務(wù)器使用偽裝地址和端口,因為由FAM重寫由客戶機(jī)生成的所有信息包(見圖6)以便使用該地址和端口,以及因此,服務(wù)器相信這是它正與其通信的客戶機(jī)的地址和端口。
在塊705,由HAM接收用于相應(yīng)連接的該信息包,以及HAM從信息包抽取源(服務(wù)器)以及目的地(偽裝)地址和端口。(如下面將參考圖9所描述的,HAM負(fù)責(zé)生成偽裝地址和端口,以便發(fā)送給偽裝地址和端口的信息包將經(jīng)正常的IP路由選擇裝置到達(dá)HAM)。在塊710,HAM檢索HAM轉(zhuǎn)換表以便定位與從信息包抽取的服務(wù)器地址和端口以及偽裝地址和端口匹配的HAM轉(zhuǎn)換記錄(見圖5)。在判定塊715,確定是否找到HAM轉(zhuǎn)換記錄。如果判定塊715的回答為否,那么HAM與服務(wù)器和客戶機(jī)間的連接無關(guān),因此,在塊785,舍棄該信息包。然后在塊795完成處理。
注意在許多錯誤情況下將優(yōu)選實施例的流程圖描述為簡單的舍棄信息包,錯誤情況通常與客戶機(jī)正在積極移動以及還沒有更新表以反映客戶機(jī)的新位置的情況一致。根據(jù)現(xiàn)有技術(shù),客戶機(jī)上的協(xié)議棧的上層通常將檢測舍棄的信息包以及提供補(bǔ)救措施。實現(xiàn)可選擇也記錄有關(guān)這些去除的信息包的信息。更具體地說,它可能期望當(dāng)正從塊715轉(zhuǎn)變到塊785時記錄信息,因為這種轉(zhuǎn)變應(yīng)當(dāng)不是典型發(fā)生的,可能代表拒絕服務(wù)攻擊。(或,如果它簡單地發(fā)生,由于客戶機(jī)故障或離開域,而沒有通知其HAM或其最近的FAM,或可能已經(jīng)發(fā)生引起刪除基于UDP的HAM轉(zhuǎn)換記錄的超時。)繼續(xù)圖7,如果判定塊715的回答為是,那么HAM知道該偽裝客戶機(jī),以及在判定塊720,確定檢索的HAM轉(zhuǎn)換記錄是否包含非零FAM地址和端口。(當(dāng)HAM還不知道哪個FAM當(dāng)前正在處理該偽裝客戶機(jī)時,HAM轉(zhuǎn)換記錄中的FAM信息為零。)如果判定塊720的回答為否(即,沒有指定的FAM),那么在塊725,根據(jù)圖12中的算法,從路由選擇協(xié)調(diào)器獲得FAM地址和端口。(根據(jù)圖10,最初由FAM提供FAM地址和端口給路由選擇協(xié)調(diào)器;見塊1010-1050。)在判定塊730,確定經(jīng)該處理是否獲得FAM地址和端口。如果判定塊730的回答為否,那么客戶機(jī)目前與任何FAM無關(guān)??刂苽鬟f給塊785,在該塊,舍棄信息包,以及在塊795完成該處理。
在另外的實施例中,HAM可選擇不執(zhí)行對路由選擇協(xié)調(diào)器的查詢,如在塊725所述,如果已經(jīng)在最近時間間隔內(nèi)在相同的連接上執(zhí)行過類似查詢(其中時間間隔可以是靜態(tài)配置值或可基于連接已經(jīng)多長時間沒有相關(guān)FAM來動態(tài)確定);在這種情況下,HAM進(jìn)入塊730,以及表現(xiàn)為象它沒有接收到來自路由選擇協(xié)調(diào)器的響應(yīng)一樣。當(dāng)頻繁通信量到達(dá)用于當(dāng)前不在服務(wù)區(qū)的客戶機(jī)的連接時,該另外的實施例降低了HAM和路由選擇協(xié)調(diào)器上的負(fù)載。
仍參考圖7,如果判定塊720的回答為是(即,在HAM轉(zhuǎn)換記錄中有非零FAM條目)或判定塊730的回答為是(即,從路由選擇協(xié)調(diào)器獲得FAM信息),那么HAM已經(jīng)定位有效的HAM轉(zhuǎn)換記錄以及非零FAM地址和端口。(當(dāng)在塊725經(jīng)路由選擇協(xié)調(diào)器識別FAM時,圖12的處理修改HAM轉(zhuǎn)換記錄以便記住該FAM信息便于以后使用。參見塊1250。)在塊735,HAM將目的地地址重寫成在HAM轉(zhuǎn)換記錄中找到的FAM地址和端口。在塊740,在網(wǎng)絡(luò)上發(fā)送重寫信息包,現(xiàn)在指定用于FAM。在塊745,F(xiàn)AM接收信息包并從信息包抽取服務(wù)器(源)地址和端口以及FAM(目的地)地址和端口。在塊750,F(xiàn)AM檢索它的FAM轉(zhuǎn)換表以便定位與在塊745中抽取的服務(wù)器地址和端口以及FAM地址和端口匹配的FAM轉(zhuǎn)換記錄。在判定塊755,確定是否找到匹配FAM轉(zhuǎn)換記錄。如果判定塊755的回答為否,那么客戶機(jī)不再與該FAM有關(guān),因此,舍棄信息包(塊790),以及在塊795完成該處理。
繼續(xù)圖7,如果判定塊755的回答為是,那么該客戶機(jī)仍然使用該FAM,以及在塊760,F(xiàn)AM將信息包目的地地址重寫成在FAM轉(zhuǎn)換記錄中找到的客戶機(jī)地址和端口。在塊765,在通向客戶機(jī)目的地的出站鏈路上發(fā)送重寫信息包。然后在塊790完成該處理。
用這種方式,服務(wù)器將通信量引導(dǎo)到偽裝地址,以及HAM和FAM配合以便將信息包路由到在其當(dāng)前位置的客戶機(jī)。如果客戶機(jī)已經(jīng)移動以致現(xiàn)在由不同于在前使用的FAM處理該連接,由HAM(與路由選擇協(xié)調(diào)器合作)自動和有效地定位新FAM。因此,通過應(yīng)用NAT技術(shù),最大化HAM和FAM的性能,以及消除由現(xiàn)有技術(shù)移動主機(jī)方案引入的另外的信息包損失、分段以及錯誤狀態(tài)。
當(dāng)建立連接(例如,在客戶機(jī)和服務(wù)器間發(fā)送TCP連接或UDP流上的第一信息包)時,執(zhí)行配置過程從而指定HAM以及指定初始FAM。(如在此所使用的,將UDP“連接”定義成在客戶機(jī)地址和端口以及服務(wù)器地址和端口間發(fā)送的UDP信息包序列;因為根據(jù)優(yōu)選實施例,UDP無連接,連接是隱含的,當(dāng)在某些超時周期內(nèi)連接上不發(fā)送通信量時結(jié)束)。當(dāng)用戶漫游網(wǎng)絡(luò)時,連接可能需要與位于用戶附近的不同F(xiàn)AM有關(guān)。這種漫游要求指定FAM、FAM知道用于連接的偽裝地址和端口(以便提供NAT服務(wù),如上參考圖7所述)、FAM指定用于該連接的地址和端口,以及通知FAM有關(guān)用于該連接的FAM地址和指定的端口。建立和維護(hù)HAM和FAM轉(zhuǎn)換記錄的內(nèi)容的這些交換由路由選擇協(xié)調(diào)器協(xié)調(diào)?,F(xiàn)在將參考圖8至13描述在連接配置和漫游所涉及的功能。
路由選擇協(xié)調(diào)器維護(hù)連接表,該連接表保存用于每個有效TCP或UDP連接的一個連接表記錄。圖8根據(jù)本發(fā)明的優(yōu)選實施例,描述連接表記錄的格式的例子。連接表記錄保存客戶機(jī)和服務(wù)器地址和端口、偽裝地址和端口,以及HAM的身份(如網(wǎng)絡(luò)地址)。另外,每個連接表記錄包括零個或更多的FAM記錄,每個包含F(xiàn)AM身份(如網(wǎng)絡(luò)地址)以及由FAM指定給該連接的地址和端口。連接記錄表可包括多個FAM記錄,一個用于客戶機(jī)當(dāng)前正用來在該連接上傳送信息包的每個FAM。(參考在前情況的討論,其中為特定連接提供不止一個FAM。)
圖9根據(jù)本發(fā)明的優(yōu)選實施例,提供描述當(dāng)信息包首先由客戶機(jī)傳送到服務(wù)器時如何建立連接的流程圖。(如圖6所示,當(dāng)FAM接收到由客戶機(jī)發(fā)送的信息包時,該過程發(fā)生,但FAM不能在它自己的FAM轉(zhuǎn)換表中或通過與路由選擇協(xié)調(diào)器聯(lián)系來定位FAM轉(zhuǎn)換記錄。)塊900確定哪個主機(jī)將用作用于該新連接的HAM。在優(yōu)選實施例中,該任務(wù)由最先接收和處理出站信息包的主機(jī)(即FAM)承擔(dān)。然而,在另外的實施例中,可能希望由路由選擇協(xié)調(diào)器或某些其他固定的主機(jī)承擔(dān)HAM任務(wù)。或者,可能使用動態(tài)系數(shù)來選擇另一主機(jī)(例如,可能定位較靠近用戶常用位置的主機(jī),用戶辦公室中,或位于用戶自己的管理域中),其中使用現(xiàn)有技術(shù)設(shè)置這些動態(tài)系數(shù)的值。(例如,MAC地址可能與存儲表中的用戶有關(guān),或在認(rèn)證或鏈路建立過程中可用發(fā)送的信息識別用戶。然后可使用用戶標(biāo)識來協(xié)商配置或優(yōu)先權(quán)表,其可包含可用在動態(tài)選擇過程中的條目。)根據(jù)認(rèn)證政策,例如,降低接入點上CPU或網(wǎng)絡(luò)負(fù)載,可發(fā)生指定除首先接收該連接的FAM外的HAM的該決定。另外,將長期連接移動到中心服務(wù)器以便減輕接入點故障或關(guān)閉所帶來的狀態(tài)丟失的風(fēng)險是很有利的?;谶B接使用的網(wǎng)絡(luò)端口,可做出該HAM指定政策;例如,與TELNET端口(端口23)的連接可自動傳遞到路由選擇協(xié)調(diào)器。
在判定塊910,確定指定的HAM主機(jī)是否是本地主機(jī)。如果判定塊910的回答為否,那么在塊980,通知指定的HAM主機(jī)用于連接的客戶機(jī)和服務(wù)器地址和端口;接收到該通知后,HAM主機(jī)執(zhí)行圖9的算法。在通知HAM主機(jī)后,在塊990終止處理。現(xiàn)在該重定向的HAM將變成用于客戶機(jī)的FAM,以及后來將從路由選擇協(xié)調(diào)器用通用方式了解用于客戶機(jī)的偽裝信息(根據(jù)圖10的算法)。
注意重定向主機(jī)的圖9的后來的調(diào)用也允許選擇不同的HAM主機(jī)。它必須保證在實現(xiàn)中的選擇政策將終止而不會遇到無限循環(huán)。(因為本發(fā)明的切換政策是全球管理的,不會發(fā)生無限循環(huán)。)如果判定塊910的回答為是,那么在塊920處理繼續(xù),其中本地HAM主機(jī)選擇用于客戶機(jī)和服務(wù)器間的連接的偽裝地址和端口。偽裝地址必須是根據(jù)現(xiàn)有技術(shù)的現(xiàn)有IP路由選擇技術(shù),可將信息包路由給該本地HAM主機(jī)的地址。端口不應(yīng)該由任何其他有效連接共享。(在優(yōu)選實施例中,由于現(xiàn)有連接的終止,在未經(jīng)過某一持續(xù)時間前,不會由新連接再用該端口。這消除了來自在前連接的失時效信息包可能偶然被路由到該新連接上的可能性。)最好,偽裝地址是HAM本身的公共地址,以便通過選擇唯一端口號必須提供唯一性。另外,HAM可具有多個公共地址,以及可從它們中指定端口號。該另外的方法提供另外的可升級性(因為大量地址和端口組合可用于指定,可支持更多連接)。另外,如果HAM是多處理主機(jī),使用多個偽裝地址允許為每個地址指定不同的處理器。
在塊930,HAM通知路由選擇協(xié)調(diào)器有關(guān)新連接(提供客戶機(jī)地址和端口、服務(wù)器地址和端口、偽裝地址和端口以及HAM身份)。在塊935,在接收到該通知后,路由選擇協(xié)調(diào)器建立用于該連接的連接表記錄(其中該記錄最初在其中沒有FAM記錄)。在塊940,HAM創(chuàng)建用于連接的HAM轉(zhuǎn)換記錄以及將該記錄插入本地HAM轉(zhuǎn)換表中。(如在前所提到的,優(yōu)選實施例的HAM轉(zhuǎn)換表記錄不包括主叫客戶機(jī)地址和端口,盡管在另外的實施例中,也可存儲該信息。)在該最新創(chuàng)建的記錄中,將FAM地址和端口設(shè)置為零。然后控制傳遞到塊950,在該塊950,本地HAM主機(jī)將其自身建立為用于連接的FAM(根據(jù)圖10的邏輯)。然后該處理在塊990終止。
現(xiàn)在參考圖10,示出了描述當(dāng)接入點(或路由器或橋接器)首先從連接的客戶機(jī)接收信息包時采用的優(yōu)選實施例步驟的流程圖,對該連接不存在FAM轉(zhuǎn)換記錄。這種情況可能出現(xiàn),例如,當(dāng)客戶機(jī)在已經(jīng)建立的使用不同F(xiàn)AM的連接上漫游和發(fā)送信息包時。如圖6所示,F(xiàn)AM必須接收有關(guān)偽裝地址和端口的信息以便創(chuàng)建FAM轉(zhuǎn)換記錄,然后用它來轉(zhuǎn)發(fā)信息包。因為已經(jīng)建立了連接,因此也已經(jīng)指定了HAM,以及偽裝地址和端口。對新連接也可發(fā)生這種情況(在從圖9調(diào)用圖10的情況中),以便設(shè)置初始FAM。
在塊1000,F(xiàn)AM分配用于客戶機(jī)和服務(wù)器間的該連接的FAM地址和端口號。分配的地址必須是可從任何可能的HAM路由到該FAM主機(jī)的網(wǎng)絡(luò)。FAM地址和端口組合不必已經(jīng)分配給FAM主機(jī)正充當(dāng)FAM或HAM的某些其他的連接。最好,F(xiàn)AM地址是FAM本身的地址,以便通過選擇唯一端口號必定提供唯一性。另外,F(xiàn)AM可具有多個地址,以及可從它們中指定端口號。該另外的方法提供另外的可升級性(因為大量地址和端口組合可用于指定,可支持更多連接)。另外,如果FAM是多處理主機(jī),使用多個FAM地址允許為每個地址指定不同的處理器。
將生成的FAM地址和端口組合發(fā)送到路由選擇協(xié)調(diào)器(然后到HAM,見圖7)。因為FAM地址和端口對該連接來說是唯一的,F(xiàn)AM能使用那個組合來唯一地識別應(yīng)用到指定用于客戶機(jī)的信息包的正確的FAM轉(zhuǎn)換記錄-從而使用那個客戶機(jī)地址和端口。在優(yōu)選實施例中,當(dāng)FAM訪問它的FAM轉(zhuǎn)換記錄時,核對服務(wù)器地址和端口以及FAM地址和端口,以便保證偽造的信息包不會被轉(zhuǎn)發(fā)給客戶機(jī)(盡管如果接收到的話,客戶機(jī)通常簡單地舍棄這些信息包)。然而,如果知道FAM地址是不變的,另一實施例可省略存儲和/或在它自己的FAM轉(zhuǎn)換表中比較FAM地址。
在塊1010,F(xiàn)AM向路由選擇協(xié)調(diào)器發(fā)送變?yōu)楫?dāng)前FAM的請求。該請求包括客戶機(jī)地址和端口、服務(wù)器地址和端口以及FAM身份,以及FAM地址和端口。(在圖6的塊610,由FAM從客戶機(jī)發(fā)送的信息包抽取客戶機(jī)地址和端口以及服務(wù)器地址和端口。)在塊1020,路由選擇協(xié)調(diào)器接收FAM請求并抽取它的參數(shù)。然后,路由選擇協(xié)調(diào)器在連接表內(nèi)搜索(塊1030)其客戶機(jī)地址和端口以及服務(wù)器地址和端口與由用于該連接的FAM提供的那些匹配的連接表記錄。在判定塊1040,確定是否找到匹配的連接表記錄。
繼續(xù)圖10,如果判定塊1040的回答為否,那么(根據(jù)本發(fā)明),這不是該客戶機(jī)和服務(wù)器間的現(xiàn)存的連接,以及將通知返回(塊1070)給FAM以表示拒絕該請求。在塊1080,F(xiàn)AM解除分配在其請求中提供的FAM地址和端口,以及在塊1090終止該處理。
仍參考圖10,如果判定塊1040的回答為是,那么路由選擇協(xié)調(diào)器將新的FAM記錄增加到連接表記錄中(塊1050)。該FAM記錄包括在塊1010發(fā)送的FAM請求中提供的FAM身份以及FAM地址和端口。如果已經(jīng)在連接表記錄中存在一個或多個FAM記錄,路由選擇協(xié)調(diào)器可以最適合于實現(xiàn)本發(fā)明的特定系統(tǒng)的順序插入該新FAM記錄。例如,可以FIFO(先入先出)順序或以基于政策如預(yù)測在不久的將來客戶機(jī)最可能使用哪個FAM的順序輸入新的FAM記錄(其中可使用不構(gòu)成本發(fā)明部分的歷史分析技術(shù)來確定該信息)。
在塊1060,路由選擇協(xié)調(diào)器將應(yīng)答發(fā)送給FAM并提供HAM身份(如它的網(wǎng)絡(luò)地址)以及與連接有關(guān)的偽裝地址和端口。在塊1065,F(xiàn)AM接收路由選擇協(xié)調(diào)器響應(yīng)并創(chuàng)建包含由路由選擇協(xié)調(diào)器提供的信息的FAM轉(zhuǎn)換記錄。然后在塊1090中止該處理。在接收到指定用于客戶機(jī)偽裝地址和端口的信息包后,HAM根據(jù)圖7的邏輯程序動態(tài)地了解該新的FAM,以及將自動地將該信息包轉(zhuǎn)發(fā)給適當(dāng)?shù)腇AM。
注意盡管圖9和10分別描述HAM指定和FAM轉(zhuǎn)換記錄創(chuàng)建過程的特定實施例,應(yīng)當(dāng)理解另外的實施例可不同地實現(xiàn)這些過程而不脫離在此公開的發(fā)明原理。例如,圖10的處理可按FAM和路由選擇協(xié)調(diào)器間的兩階段請求實現(xiàn)。在第一請求中,F(xiàn)AM查詢路由選擇協(xié)調(diào)器以便確定連接是否存在(即,HAM是否已經(jīng)將連接通知路由選擇協(xié)調(diào)器),以及在第二請求中,F(xiàn)AM提供FAM地址和端口以便指定給連接。用這種方式,F(xiàn)AM不需要分配FAM地址和端口,直到確定存在連接表記錄為止(從而消除塊1080的解除分配步驟)。
如圖6中所示(塊670),由FAM首先執(zhí)行圖10的處理以便確定連接是否已經(jīng)存在(以及,如果是的話,為其建立FAM轉(zhuǎn)換記錄);如果連接不存在(即,在塊675中的判定回答為否),執(zhí)行圖9的處理以便建立HAM(以及創(chuàng)建新的連接表記錄)。當(dāng)在圖9的處理前立即執(zhí)行圖10的處理時,另一實施例可優(yōu)化該順序。例如,只要確定對于FAM請求,連接表記錄不存在(即,在塊1040中的判定回答為否),那么路由選擇協(xié)調(diào)器能立即開始將FAM請求作為HAM建立請求處理;在這種情況下,請求的FAM變?yōu)橹付ㄓ糜谠撨B接的HAM。該另一處理在圖11中示出。塊1100、1110、1120、1130、1140、1150、1160、1165以及1190的順序與圖10的“正常”處理路徑相當(dāng)。然而,在判定塊1140(與塊1040)一致,如果路由選擇協(xié)調(diào)器確定不存在用于該連接的連接表記錄,控制進(jìn)入塊1170。當(dāng)路由選擇協(xié)調(diào)器確定因為這是新連接,請求變成FAM的主機(jī)實際上應(yīng)當(dāng)指定為用于該連接的HAM。提供的FAM地址和端口變?yōu)橛糜谠撨B接的偽裝地址和端口,以及創(chuàng)建連接表記錄。在塊1175,通知請求的FAM,它已經(jīng)變?yōu)橛糜谠撨B接的指定HAM。在塊1180,請求FAM(現(xiàn)在HAM)創(chuàng)建用于該連接的HAM轉(zhuǎn)換記錄。然后該處理從塊1185返回1100以便建立用于新注冊的連接的本地FAM轉(zhuǎn)換記錄。
在本發(fā)明的另一實施例中,圖10的處理可能是重新實現(xiàn)為FAM和HAM的直接通信。為使此發(fā)生,無論何時(根據(jù)圖9的處理)創(chuàng)建新的連接記錄時,路由選擇協(xié)調(diào)器必須廣播HAM的身份。在損害另外的網(wǎng)絡(luò)帶寬消耗以及HAM上另外的負(fù)擔(dān)的情況下,該方案降低了路由選擇協(xié)調(diào)器上的處理負(fù)擔(dān)。
現(xiàn)在參考圖12,示出了描述HAM如何檢索有關(guān)與連接有關(guān)的當(dāng)前FAM地址和端口的信息的流程圖。HAM已經(jīng)從服務(wù)器接收到信息包,以及需要知道信息包應(yīng)當(dāng)轉(zhuǎn)發(fā)給哪個FAM。(該處理由圖7的塊725調(diào)用,當(dāng)HAM具有與服務(wù)器地址和端口號以及偽裝地址和端口號匹配的FAM轉(zhuǎn)換記錄時,但將在那個記錄中的FAM地址和端口設(shè)置為零值。)在塊1200,HAM向路由選擇協(xié)調(diào)器發(fā)出請求。該請求包括偽裝地址和端口。(另外,如果HAM轉(zhuǎn)換記錄包括客戶機(jī)地址和端口,HAM可首先確定客戶機(jī)地址和端口用于出站信息包以及提供那個信息和服務(wù)器地址和端口代替或加在偽裝地址和端口上。)在塊1210,路由選擇協(xié)調(diào)器接收HAM請求以及從請求抽取參數(shù)。然后路由選擇協(xié)調(diào)器在連接表中查詢(塊1220)搜索其偽裝地址和端口(以及服務(wù)器地址和端口和客戶機(jī)地址和端口,如果提供該信息的話)與由HAM提供的那些匹配的連接表記錄。(最好,路由選擇協(xié)調(diào)器將偽裝地址和端口用作密鑰來索引其連接表,盡管也可使用服務(wù)器和客戶機(jī)信息。僅當(dāng)使用偽裝信息時,定位匹配記錄,路由選擇協(xié)調(diào)器最好將服務(wù)器地址和端口與抽取值校對。不匹配表示錯誤狀態(tài),如相當(dāng)延遲的信息包、應(yīng)答攻擊或欺騙性的信息包。)在判定塊1230,確定是否找到匹配的連接表記錄。
仍參考圖12,如果判定塊1230的回答為否,那么已經(jīng)出現(xiàn)錯誤,以及在塊1280,將錯誤消息返回給HAM。在塊1285,HAM接收錯誤響應(yīng)。該處理在塊1295完成。盡管在圖中未示出,應(yīng)當(dāng)理解HAM可任意地執(zhí)行各種操作來處理該錯誤。例如,根據(jù)圖9中的處理,它可能刪除與該連接一致的HAM轉(zhuǎn)換記錄以及將其自己重新建立為HAM。
繼續(xù)圖12,如果判定塊1230的回答為是(即,路由選擇協(xié)調(diào)器知道該連接),那么在塊1240,路由選擇協(xié)調(diào)器生成對HAM的應(yīng)答消息。該應(yīng)答消息包含F(xiàn)AM記錄列表,F(xiàn)AM記錄包含在連接表記錄中。在塊1250,HAM接收應(yīng)答消息以及更新HAM轉(zhuǎn)換記錄以反映接收的FAM地址和端口(若有的話)。然后在塊1295終止該處理。
最好,當(dāng)在塊1220的處理期間,路由選擇協(xié)調(diào)器找到不止一個FAM記錄時,在塊1240將所有這些條目發(fā)送到HAM。然后HAM可使用這些中的一個或所有(如基于特定的實現(xiàn)政策)來更新其HAM轉(zhuǎn)換記錄。另外,路由選擇協(xié)調(diào)器可使用選擇算法,如特定實現(xiàn)政策來選擇定位的FAM記錄的一些子集,以及在塊1240發(fā)送該子集。當(dāng)使用該另一技術(shù)時,路由選擇協(xié)調(diào)器能有選擇地控制將哪個(些)FAM暴露給HAM。
在優(yōu)選實施例中,HAM在“按需”、遞增基礎(chǔ)上(即,通過從圖7的塊720調(diào)用圖12的技術(shù))知道FAM地址和端口分配。然而,在本發(fā)明的另外的實施例中,路由選擇協(xié)調(diào)器可啟動(或“推動”)直接將FAM信息傳送到適當(dāng)?shù)腍AM。例如,在完成圖10中所示的處理后(其中在塊1050將新FAM記錄增加到連接表記錄,在圖9的塊930,在來自HAM的通知的基礎(chǔ)上已經(jīng)初始地創(chuàng)建連接表記錄),路由選擇協(xié)調(diào)器可能立即通知HAM有關(guān)新的FAM。在本發(fā)明的另外的實施例中,路由選擇協(xié)調(diào)器可緩沖FAM更新以及在單個通知中推動多個FAM更新;該通知可是單播、多播或廣播。在本發(fā)明的另外的實施例中,當(dāng)HAM請求用于特定連接的FAM信息時,路由選擇協(xié)調(diào)器可選擇在響應(yīng)中提供有關(guān)HAM管理的其他連接已經(jīng)發(fā)生的其他相關(guān)FAM更新的信息。
當(dāng)客戶機(jī)不再與FAM通信時,那個FAM必須保證將沒有未來的信息包由HAM路由到它,那些信息包確實將丟失(見圖7的塊790)。現(xiàn)在參考圖13,示出了描述當(dāng)客戶機(jī)終止其與FAM的通信時采用的步驟的優(yōu)選實施例的流程圖。該連接終止可能是顯而易見的(例如,由在通信鏈路層傳送的“終止”、“關(guān)閉”或“斷開”消息的形式引起的)或隱含的(例如,由當(dāng)一定時間間隔在鏈路上沒有通信發(fā)生時的超時引起的)。在塊1300,F(xiàn)AM將通知傳送給路由選擇協(xié)調(diào)器。該消息包含客戶機(jī)地址以及FAM身份。在塊1310,路由選擇協(xié)調(diào)器接收通知以及抽取所含的參數(shù)。在判定塊1320,確定是否有其客戶機(jī)地址與在FAM通知中給出的客戶機(jī)地址匹配以及與FAM記錄有關(guān)的任何連接表,F(xiàn)AM記錄的FAM標(biāo)識符與在FAM通知給出的FAM標(biāo)識符匹配。如果判定塊1320的回答為否,那么路由選擇協(xié)調(diào)器將不使用該FAM用于請求以便定位該客戶機(jī),以及在塊1390終止該處理。
繼續(xù)圖13,如果判定塊1320的回答為是,然后在塊1330,路由選擇協(xié)調(diào)器從連接表記錄刪除FAM記錄(其FAM標(biāo)識符與在FAM通知中的標(biāo)識符匹配)。在塊1340,路由選擇協(xié)調(diào)器最好將通知傳送給與連接表記錄有關(guān)的HAM。該通知包括偽裝地址和端口以及FAM地址和端口。(在另一實施例中,HAM轉(zhuǎn)換記錄存儲客戶機(jī)地址和端口,該通知可使用服務(wù)器地址和端口以及客戶機(jī)地址和端口代替,或加在偽裝信息上。)在塊1350,HAM接收該通知并抽取參數(shù)。然后HAM檢索(塊1360)與在通知中提供的偽裝地址和端口(以及服務(wù)器地址和端口以及客戶機(jī)地址和端口,如果提供的話)一致的HAM轉(zhuǎn)換記錄。在判定塊1370,確定HAM是否找到包含提供的FAM地址和端口的匹配的HAM轉(zhuǎn)換記錄。如果判定塊1370的回答為是,那么在塊1380,從檢索的HAM轉(zhuǎn)換記錄去除提供的FAM地址和端口(即,將這些字段設(shè)置為零)。然后控制返回判定塊1320。如果判定塊1370的回答為否,那么不需要對HAM轉(zhuǎn)換表進(jìn)行更新,以及控制返回塊1320。(應(yīng)當(dāng)理解在另外的實施例中,HAM可能采取另外的行動,如果對指定連接沒有找到HAM轉(zhuǎn)換記錄;例如,HAM可能請求路由選擇協(xié)調(diào)器從其連接表刪除相應(yīng)的連接表記錄。這種優(yōu)化的實現(xiàn)對本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。)用這種方式,當(dāng)客戶機(jī)與FAM斷開時,路由選擇協(xié)調(diào)器保證對于任何開放的客戶機(jī)連接,沒有HAM繼續(xù)將信息包轉(zhuǎn)發(fā)給那個FAM。
只要已經(jīng)將HAM指定給連接,那個HAM繼續(xù)路由用于那個連接的入站信息包,不管客戶機(jī)當(dāng)前正使用哪個FAM來發(fā)送出站信息包以及接收入站信息包。然而,在某些情況下,對轉(zhuǎn)移到不同主機(jī)(如不同接入點或路由選擇協(xié)調(diào)器)的HAM任務(wù)來說可能變?yōu)楸匾@?,如果HAM出故障或被移出,那么另一主機(jī)必須負(fù)責(zé)先前正由HAM處理的連接;當(dāng)連接特性改變以便它需要僅可由另一HAM提供的另外的CPU或網(wǎng)絡(luò)帶寬資源時,轉(zhuǎn)移也可是適當(dāng)?shù)?。為實現(xiàn)該轉(zhuǎn)移,新HAM執(zhí)行用于每個連接的下述步驟,對每一連接,假定HAM負(fù)責(zé)。
首先,新HAM“取代”偽裝IP地址,如果它還沒有這樣做的話。該IP地址取代保證傳送給偽裝IP地址的信息包將路由到新HAM主機(jī)。在現(xiàn)有技術(shù)中很好地建立了IP地址取代處理。(如果新HAM與舊HAM在相同的LAN上,僅僅需要傳送新ARP更新以便IP地址與新HAM的LAN地址關(guān)聯(lián);如果新HAM在不同的LAN上,那么必須更新路由選擇表)。
其次,建立用于連接的HAM轉(zhuǎn)換記錄。這是通過從與正轉(zhuǎn)移的連接一致的連接表記錄獲得必要的信息來完成的。新HAM轉(zhuǎn)換記錄必須包括FAM信息,如果FAM記錄與連接表記錄關(guān)聯(lián)的話。(圖9和10的算法可任意地用來從路由選擇協(xié)調(diào)器獲得所需信息。)第三以及最后,通過使用HAM轉(zhuǎn)換記錄,開始按用于連接的新HAM操作以便確定如何將信息包轉(zhuǎn)發(fā)給當(dāng)前FAM。
盡管在圖6-7以及9-13中的流程圖已經(jīng)按連續(xù)流操作示出,應(yīng)當(dāng)理解在另外的實施例中,這些步驟中的許多可并行發(fā)生。例如,使用異步通信,可使消息傳輸發(fā)生,從而允許發(fā)送者立即繼續(xù)處理,而不必等待響應(yīng)。當(dāng)發(fā)送通知時,這特別正確。
至此已經(jīng)描述過本發(fā)明,而不必提供用于識別正在發(fā)送和接收網(wǎng)絡(luò)通信量的特定用戶以及不必提供過濾對或由特定客戶機(jī)生成的通信量?,F(xiàn)在參考圖14,圖14描述實現(xiàn)本發(fā)明的受控網(wǎng)絡(luò)環(huán)境。將客戶機(jī)驗證模塊1405集成到客戶機(jī)1400中,以及將服務(wù)器驗證模塊1425集成到接入點1420中。當(dāng)客戶機(jī)首先與接入點通信時(以及如果在兩個鏈路端點不存在有效的會話密鑰),客戶機(jī)驗證模塊與服務(wù)器驗證模塊通信1415以便提供用戶驗證證書(例如,用戶名和密碼)。一旦驗證用戶1445后(通過驗證服務(wù)器1450,使用現(xiàn)有技術(shù)的技術(shù)),服務(wù)器驗證模塊以及客戶機(jī)驗證模塊與會話密鑰協(xié)商以允許鏈路層加密。在優(yōu)選實施例中,由服務(wù)器驗證模塊或可選地,由驗證服務(wù)器將該密鑰提供給客戶機(jī);然而,在另外的實施例中,接入點可將主密鑰(如WEP密鑰)遞送給客戶機(jī),以及客戶機(jī)和接入點后來可以標(biāo)準(zhǔn)方式使用主密鑰協(xié)商會話密鑰。用這種方式,根據(jù)用戶名和密碼驗證客戶機(jī),以及該驗證允許提供利用嵌入客戶機(jī)和接入點硬件1410、1430中的加密能力的鏈路層加密。
只要驗證產(chǎn)生,服務(wù)器驗證模塊通過安全信道將客戶機(jī)MAC地址、會話密鑰以及用戶名提供1455給路由選擇協(xié)調(diào)器1460,安全信道將它們存儲在查找表中。該查找表用來向客戶設(shè)備開始與其通信的任何一個新接入點提供會話密鑰,以及用來允許過濾模塊1435識別用于特定客戶設(shè)備的用戶,接著,確定應(yīng)用于那個用戶的適當(dāng)?shù)倪^濾政策。
仍參考圖14,將過濾模塊1435包括在接入點1420中以便它接收到或來自客戶機(jī)1400的入站和出站通信量。當(dāng)具有至今未見過的MAC地址的信息包到達(dá)該過濾模塊時,它向路由選擇協(xié)調(diào)器發(fā)出請求1465以便確定用戶身份以及獲得用于那個用戶的過濾政策列表。然后將這些政策應(yīng)用到適當(dāng)?shù)膲K入站和出站通信量。使用該技術(shù),本發(fā)明允許簡單和有效地實施訪問控制以及信息包過濾政策。
現(xiàn)在參考圖15,示出了根據(jù)本發(fā)明的優(yōu)選實施例,描述建立安全、受控鏈路采用的步驟的流程圖。在塊1500,確定客戶機(jī)不具有用于與特定接入點通信的有效鏈路層密鑰。該確定可發(fā)生,因為客戶機(jī)目前沒有密鑰,或接入點可告知客戶機(jī)當(dāng)前密鑰無效。在拒絕密鑰前,接入點可任意與路由選擇協(xié)調(diào)器通信以便確定用于客戶機(jī)MAC地址的當(dāng)前有效的會話密鑰。
在塊1510,調(diào)用客戶機(jī)驗證模塊以向服務(wù)器驗證模塊提供用戶證書。服務(wù)器驗證模塊接收這些證書(塊1520)并將它們提供給驗證服務(wù)器。在塊1530,服務(wù)器驗證模塊從驗證服務(wù)器接收響應(yīng)。在判定塊1540,確定驗證服務(wù)器響應(yīng)是否是肯定的。
如果判定塊1540的回答為否,那么在塊1590,服務(wù)器驗證模塊拒絕驗證以及在塊1595完成該處理而沒有建立鏈路密鑰。
如果判定塊1540的回答為是,那么在塊1550,服務(wù)器驗證模塊從客戶機(jī)接受驗證請求并向客戶機(jī)驗證模塊發(fā)送肯定響應(yīng)。在塊1560,在客戶機(jī)驗證模塊和服務(wù)器驗證模塊間協(xié)商會話密鑰(假定正執(zhí)行用于密鑰值的協(xié)商處理)。然后,將該處理分成兩個平行的支路,一個對應(yīng)客戶機(jī)的活動以及另一個對應(yīng)接入點的活動。在塊1570a,客戶機(jī)驗證模塊將協(xié)商的會話密鑰提供給客戶機(jī)加密硬件,反過來,客戶機(jī)加密硬件使用密鑰來加密和解密經(jīng)接入點發(fā)送的信息包。然后在塊1595終止客戶機(jī)端處理。在接入點,在塊1570b,服務(wù)器驗證模塊將協(xié)商的會話密鑰提供給服務(wù)器加密硬件,反過來,服務(wù)器加密硬件使用密鑰來加密和解密發(fā)送給客戶機(jī)的信息包。在塊1580b,服務(wù)器驗證模塊向路由選擇協(xié)調(diào)器提供存儲在查找表中的客戶機(jī)MAC地址、會話密鑰以及用戶名,在前已經(jīng)參考圖14的流程1455描述過查找表。然后在塊1595終止該處理。
在本發(fā)明的另外的實施例中,系統(tǒng)支持多種類型的連接,如在TCP和(如前所述)UDP上的那些連接。在這種情況下,在此描述過的許多傳輸必須也包括協(xié)議標(biāo)識符,以及表檢索除考慮地址和端口外還必須考慮到協(xié)議ID。對本領(lǐng)域的技術(shù)人員來說改變流程圖以提供多協(xié)議支持的這種類型的實現(xiàn)的方式是顯而易見的。
在本發(fā)明的另外的實施例中,應(yīng)當(dāng)理解實現(xiàn)可選擇散列或者編碼地址和端口組合。該編碼降低了信息的存儲大小,從而降低各種表的大小并提高檢索處理的性能。這些用于散列或編碼信息的方法在本領(lǐng)域是公知的,以及在本發(fā)明的環(huán)境中使用它們對本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。
如已經(jīng)例證過的,本發(fā)明提供優(yōu)于現(xiàn)有技術(shù)主機(jī)移動性方案的多個優(yōu)點。通過本發(fā)明,對操作系統(tǒng)、建網(wǎng)軟件以及客戶設(shè)備或服務(wù)器上的應(yīng)用程序均不需改變,以便提供位置獨(dú)立的信息包路由選擇和安全訪問。通過使用網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù),非常有效地提供用于漫游設(shè)備的信息包路由選擇,允許客戶設(shè)備使用單個設(shè)備地址,而不管它們當(dāng)前的位置。間接或三角的避免用于短期和/或非移動連接的路由選擇。雖然某些IP報頭信息重寫到正路由的信息包中,很容易和有效地完成IP檢驗和的重新計算(例如,通過僅執(zhí)行改變字段的逐位比較,這在本領(lǐng)域是公知的)。由于在每個連接基礎(chǔ)上執(zhí)行HAM分配而不是如現(xiàn)有技術(shù)中全球性地,易于負(fù)載平衡。如果需要的話,動態(tài)重新分配HAM以便進(jìn)一步優(yōu)化性能。動態(tài)地刪除和處理路由選擇元件的故障。對客戶機(jī)和服務(wù)器來說,連接切換是透明的??商峁┓植际胶图惺綄崿F(xiàn)(通過將HAM功能性分別放在接入點或路由選擇協(xié)調(diào)器中)。清楚地確定用戶身份,提供過濾發(fā)送到用戶和從用戶發(fā)送的信息包的能力。該用戶驗證保持使用客戶機(jī)和接入點上的現(xiàn)有的加密硬件來建立安全鏈路。
相關(guān)發(fā)明定義包括了接入點的集合的系統(tǒng),其中經(jīng)那些接入點和核心服務(wù)器將IP地址指定到設(shè)備上;用于保證IP地址保持不變的技術(shù),不管在某一時間點設(shè)備正使用哪個接入點;用于跟蹤設(shè)備當(dāng)前正使用的那個接入點的技術(shù);以及用于將用戶位置信息暴露給應(yīng)用程序的技術(shù)。本發(fā)明的實現(xiàn)可任意與相關(guān)發(fā)明的實現(xiàn)結(jié)合,其中在此定義的路由選擇協(xié)調(diào)器以及相關(guān)發(fā)明的核心服務(wù)器作為單個實體實現(xiàn),單個實體指定動態(tài)地址、處理用戶位置跟蹤等(在其核心任務(wù)中)以及將信息包路由到那些設(shè)備(在其路由選擇協(xié)調(diào)器任務(wù)中)。
上述優(yōu)選實施例的描述是為了描述本發(fā)明,而不應(yīng)當(dāng)視為對其的限制。盡管已經(jīng)描述了優(yōu)選實施例,對本領(lǐng)域的技術(shù)人員來說可能對該優(yōu)選實施例做出許多改變而本質(zhì)上沒有脫離在此公開的本發(fā)明的新穎教導(dǎo)和優(yōu)點是顯而易見的。因此,將所有這些改變視為在本發(fā)明的范圍內(nèi),本發(fā)明的范圍僅由此后提出的權(quán)利要求書(以及其等效)來限定。
權(quán)利要求
1.一種在短程無線網(wǎng)絡(luò)環(huán)境中允許安全網(wǎng)絡(luò)訪問的方法,包括步驟提供一個或多個便攜式客戶設(shè)備,每個客戶設(shè)備具有用于在短程無線網(wǎng)絡(luò)環(huán)境中通信的短程無線通信能力;網(wǎng)絡(luò)接入點從選擇的一個客戶設(shè)備接收通信;網(wǎng)絡(luò)接入點確定選擇的客戶設(shè)備不具有用于加密的有效會話密鑰;網(wǎng)絡(luò)接入點獲得用于選擇的客戶設(shè)備的用戶的用戶證書;網(wǎng)絡(luò)接入點通過與驗證服務(wù)器聯(lián)系來驗證用戶證書;當(dāng)驗證步驟成功完成時,建立有效會話密鑰;以及選擇的客戶設(shè)備以及網(wǎng)絡(luò)接入點使用建立的會話密鑰來加密在選擇的客戶設(shè)備以及網(wǎng)絡(luò)接入點間的鏈路上傳送的信息包。
2.如權(quán)利要求1所述的方法,其特征在于,使用建立的會話密鑰來加密信息包的步驟進(jìn)一步包括使用選擇的客戶設(shè)備和網(wǎng)絡(luò)接入點的硬件加密元件來執(zhí)行信息包加密的步驟。
3.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括將客戶媒體訪問控制(MAC)地址、建立的會話密鑰以及用戶標(biāo)識存儲在查找表中的步驟。
4.如權(quán)利要求3所述的方法,其特征在于,進(jìn)一步包括步驟過濾模塊查詢查找表,以獲得與特定MAC地址有關(guān)的用戶標(biāo)識;以及過濾模塊使用用戶標(biāo)識來過濾入站和出站信息包。
5.如權(quán)利要求3所述的方法,其特征在于,進(jìn)一步包括步驟當(dāng)特定客戶設(shè)備漫游到不同F(xiàn)AM時,查詢查找表以獲得與特定客戶設(shè)備的特定MAC地址有關(guān)的建立的會話密鑰;以及將獲得的會話密鑰提供給不同F(xiàn)AM。
6.一種用于在短程無線網(wǎng)絡(luò)環(huán)境中允許安全網(wǎng)絡(luò)訪問的系統(tǒng),包括一個或多個便攜式客戶設(shè)備,每個客戶設(shè)備具有用于在短程無線網(wǎng)絡(luò)環(huán)境中通信的短程無線通信能力;用于網(wǎng)絡(luò)接入點從選擇的一個客戶設(shè)備接收通信的裝置;用于網(wǎng)絡(luò)接入點確定選擇的客戶設(shè)備不具有用于加密的有效會話密鑰的裝置;用于網(wǎng)絡(luò)接入點獲得用于選擇的客戶設(shè)備的用戶的用戶證書的裝置;用于網(wǎng)絡(luò)接入點通過與驗證服務(wù)器聯(lián)系來驗證用戶證書的裝置;用于當(dāng)用于驗證的裝置成功完成時,建立有效會話密鑰的裝置;以及用于選擇的客戶設(shè)備以及網(wǎng)絡(luò)接入點使用建立的會話密鑰來加密在選擇的客戶設(shè)備以及網(wǎng)絡(luò)接入點間的鏈路上傳送的信息包的裝置。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,用于使用建立的會話密鑰來加密信息包的裝置進(jìn)一步包括使用選擇的客戶設(shè)備和網(wǎng)絡(luò)接入點的硬件加密元件來執(zhí)行信息包加密的裝置。
8.如權(quán)利要求6所述的系統(tǒng),其特征在于,進(jìn)一步包括將客戶媒體訪問控制(MAC)地址、建立的會話密鑰以及用戶標(biāo)識存儲在查找表中的裝置。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,進(jìn)一步包括用于過濾模塊查詢查找表,以獲得與特定MAC地址有關(guān)的用戶標(biāo)識的裝置;以及用于過濾模塊使用用戶標(biāo)識來過濾入站和出站信息包的裝置。
10.如權(quán)利要求8所述的系統(tǒng),其特征在于,進(jìn)一步包括用于當(dāng)特定客戶設(shè)備漫游到不同F(xiàn)AM時,查詢查找表以獲得與特定客戶設(shè)備的特定MAC地址有關(guān)的建立的會話密鑰的裝置;以及用于將獲得的會話密鑰提供給不同F(xiàn)AM的裝置。
11.包含在一個或多個計算機(jī)可讀媒介上的計算機(jī)程序指令,計算機(jī)程序指令適合于允許在短程無線網(wǎng)絡(luò)環(huán)境中安全網(wǎng)絡(luò)訪問,包括用于訪問一個或多個便攜式客戶設(shè)備的計算機(jī)程序指令,每個客戶設(shè)備具有用于在短程無線網(wǎng)絡(luò)環(huán)境中通信的短程無線通信能力;用于網(wǎng)絡(luò)接入點從選擇的一個客戶設(shè)備接收通信的計算機(jī)程序指令;用于網(wǎng)絡(luò)接入點確定選擇的客戶設(shè)備不具有用于加密的有效會話密鑰的計算機(jī)程序指令;用于網(wǎng)絡(luò)接入點獲得用于選擇的客戶設(shè)備的用戶的用戶證書的計算機(jī)程序指令;用于網(wǎng)絡(luò)接入點通過與驗證服務(wù)器聯(lián)系來驗證用戶證書的計算機(jī)程序指令;用于當(dāng)用于驗證的計算機(jī)程序指令成功完成時,建立有效會話密鑰的計算機(jī)程序指令;以及用于選擇的客戶設(shè)備以及網(wǎng)絡(luò)接入點使用建立的會話密鑰來加密在選擇的客戶設(shè)備以及網(wǎng)絡(luò)接入點間的鏈路上傳送的信息包的計算機(jī)程序指令。
12.如權(quán)利要求11所述的計算機(jī)程序指令,其特征在于,用于使用建立的會話密鑰來加密信息包的計算機(jī)程序指令進(jìn)一步包括使用選擇的客戶設(shè)備和網(wǎng)絡(luò)接入點的硬件加密元件來執(zhí)行信息包加密的計算機(jī)程序指令。
13.如權(quán)利要求11所述的計算機(jī)程序指令,其特征在于,進(jìn)一步包括用于將客戶媒體訪問控制(MAC)地址、建立的會話密鑰以及用戶標(biāo)識存儲在查找表中的計算機(jī)程序指令。
14.如權(quán)利要求13所述的計算機(jī)程序指令,其特征在于,進(jìn)一步包括用于過濾模塊查詢查找表,以獲得與特定MAC地址有關(guān)的用戶標(biāo)識的計算機(jī)程序指令;以及用于過濾模塊使用用戶標(biāo)識來過濾入站和出站信息包的計算機(jī)程序指令。
15.如權(quán)利要求13所述的計算機(jī)程序指令,其特征在于,進(jìn)一步包括用于當(dāng)特定客戶設(shè)備漫游到不同F(xiàn)AM時,查詢查找表以獲得與特定客戶設(shè)備的特定MAC地址有關(guān)的建立的會話密鑰的計算機(jī)程序指令;以及用于將獲得的會話密鑰提供給不同F(xiàn)AM的計算機(jī)程序指令。
全文摘要
本發(fā)明涉及用于在無線網(wǎng)絡(luò)環(huán)境(如在一個建筑物內(nèi))中提供位置獨(dú)立的信息包路由選擇和安全訪問、允許客戶設(shè)備在該環(huán)境中無縫漫游的方法、系統(tǒng)和計算機(jī)程序指令。安全訪問技術(shù)提供用戶集中的驗證以及允許政策驅(qū)動的信息包過濾。將客戶機(jī)驗證模塊(1405)集成在客戶機(jī)(1400)中,以及將服務(wù)器驗證模塊(1425)集成在接入點中??蛻魴C(jī)驗證模塊與服務(wù)器驗證模塊通信(1415)以便提供用戶驗證證書(如用戶名和密碼)。只要通過驗證服務(wù)器(1450)使用現(xiàn)有技術(shù)驗證該用戶(1445),服務(wù)器驗證模塊以及客戶機(jī)驗證模塊協(xié)商會話密鑰以便允許鏈路層加密。該鏈路層加密利用嵌入客戶機(jī)和接入點硬件(1410,1430)的加密能力。
文檔編號H04L29/06GK1489855SQ01815295
公開日2004年4月14日 申請日期2001年8月27日 優(yōu)先權(quán)日2000年9月8日
發(fā)明者桑蒂普·K·辛海爾, 艾杰·S·戈帕爾, S 戈帕爾, 桑蒂普 K 辛海爾 申請人:里費(fèi)杰公司