專利名稱:基于分組的通信的地址跳躍的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及分組通信網(wǎng)絡(luò),更具體而言,本發(fā)明涉及基于分組的通信的地址跳躍(address hopping)。
背景技術(shù):
為了克服傳統(tǒng)電話網(wǎng)絡(luò)的諸多局限,顧客們?cè)絹碓蕉嗟赜没诜纸M的解決方案取而代之。然而,在帶來許多優(yōu)點(diǎn)的同時(shí),分組網(wǎng)絡(luò)與其它電話網(wǎng)絡(luò)相比對(duì)第三方干擾的防御可能較弱。為了在基于分組的呼叫期間提供安全性,人們提出并實(shí)現(xiàn)了加密技術(shù)。然而,對(duì)通信的加密會(huì)需要相對(duì)大量的處理能力。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了用于進(jìn)行地址跳躍以保障基于分組的通信的安全的技術(shù)。根據(jù)特定實(shí)施例,系統(tǒng)通過在通信會(huì)話期間修改分組的源和目的地地址,為基于分組的通信提供安全性。
根據(jù)一個(gè)實(shí)施例,一種用于保障分組流安全的方法接收分組流,所有分組都具有最初目的地地址和最初源地址。對(duì)于所述流中的每個(gè)分組,所述方法將最初目的地地址改變成多個(gè)修改后的目的地地址中所選擇的一個(gè)地址,其中所選擇的修改后的目的地地址中的每一個(gè)都可由遠(yuǎn)程設(shè)備解析成最初目的地地址。更具體而言,所述方法可以對(duì)所述流中的每個(gè)分組,將最初源地址改變成多個(gè)修改后的源地址中所選擇的一個(gè)地址,其中所選擇的修改后的源地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成最初源地址。
本發(fā)明的實(shí)施例提供了多種技術(shù)優(yōu)點(diǎn)。這些技術(shù)為基于分組的通信提供了高效實(shí)用的安全性,并可在對(duì)現(xiàn)有系統(tǒng)影響極小的情況下實(shí)現(xiàn)。在基于分組的通信期間,相關(guān)分組的源和目的地地址的變換將會(huì)大大限制第三方對(duì)通信進(jìn)行攔截和解釋(interpret)的能力。而且,地址跳躍方案提供了用于迷惑竊聽者的安全性而無需加密。這使得能夠保障基于分組的通信的安全,同時(shí)其處理開銷比基于加密的安全性方案所一般需要的處理開銷少得多。
另一個(gè)優(yōu)點(diǎn)在于,能夠?qū)崿F(xiàn)基于地址跳躍的安全性而不會(huì)影響現(xiàn)有系統(tǒng)。為了提供地址跳躍,可將翻譯模塊插入到現(xiàn)有元件之間。這些模塊對(duì)分組進(jìn)行處理、發(fā)送和接收,修改外出分組的地址以提供安全性,并將進(jìn)入分組的地址解析成其最初的源和/或目的地地址。這使得通過可能不安全的網(wǎng)絡(luò)的分組具有“安全的”地址,而通信會(huì)話的端點(diǎn)無需知道地址的改變。
根據(jù)以下附圖、描述和所附權(quán)利要求,本發(fā)明的其它技術(shù)優(yōu)點(diǎn)對(duì)本領(lǐng)域技術(shù)人員來說將會(huì)很清楚。而且,盡管已經(jīng)列舉了若干具體優(yōu)點(diǎn),但各個(gè)實(shí)施例可能包括所列舉的優(yōu)點(diǎn)中的全部或一些,或者不包括所述優(yōu)點(diǎn)。
為了更徹底地理解本發(fā)明及其優(yōu)點(diǎn),現(xiàn)在結(jié)合附圖來參照以下的詳細(xì)描述,在附圖中圖1示出了根據(jù)本發(fā)明的特定實(shí)施例,包括提供了地址跳躍的翻譯模塊的通信系統(tǒng);圖2是一個(gè)方框圖,示出了來自所述系統(tǒng)的示例性翻譯模塊的組件;圖3是一個(gè)流程圖,示出了用于執(zhí)行地址跳躍以保障分組通信會(huì)話的安全的方法;并且圖4是一個(gè)流程圖,示出了由翻譯模塊處理的用于接收和解析(resolve)分組地址的方法。
具體實(shí)施例方式
圖1示出了一個(gè)一般地用10表示的通信系統(tǒng),該系統(tǒng)包括支持基于分組的通信的元件,并且包括多個(gè)翻譯模塊(TM)12,所述翻譯模塊提供地址跳躍,以保障基于分組的通信的安全。在所示出的實(shí)施例中,系統(tǒng)10既包括傳統(tǒng)電話元件,又包括基于分組的通信設(shè)備。所述傳統(tǒng)電話元件包括電話14和公共交換電話網(wǎng)(PSTN)16,其中PSTN 16包括交換局(CO,central office)18和信號(hào)傳輸點(diǎn)(STP)20。支持基于分組的通信的組件包括呼叫代理(CA)22、媒體網(wǎng)關(guān)(MG)24、分組使能的電話設(shè)備26、互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)28和IP內(nèi)聯(lián)網(wǎng)30。一般而言,系統(tǒng)10的元件支持對(duì)用于傳送信息的鏈路的建立,所述信息例如是語音和/或數(shù)據(jù)。對(duì)于全部或部分地發(fā)生在基于分組的元件之間的通信,翻譯模塊12可以使用地址跳躍來掩蓋分組的源和/或目的地地址,以提供安全性。
電話14表示可連接到PSTN 16的電路交換用戶接口設(shè)備。例如,電話14可包括家用或商用設(shè)備,例如專用分支交換(PBX)設(shè)備。PSTN 16表示電路交換網(wǎng)絡(luò)中向用戶提供電話服務(wù)的部分。在所示出的實(shí)施例中,PSTN 16的每個(gè)區(qū)段(section)都包括交換局18和信號(hào)傳輸點(diǎn)20。交換局18為用戶提供對(duì)電話鏈路的管理和供應(yīng)。因此,電話14連接到交換局18以接收電話服務(wù)。信號(hào)傳輸點(diǎn)20支持使用適當(dāng)?shù)男帕顏斫⒑凸芾硗ㄐ沛溌?。例如,信?hào)傳輸點(diǎn)20可以生成和/或中繼去往和來自其它元件的7號(hào)信令系統(tǒng)(SS7)消息,以建立并控制通信。所示出的實(shí)施例包括兩個(gè)PSTN 16區(qū)段。這兩個(gè)區(qū)段表示電話網(wǎng)絡(luò)中地理上相距遙遠(yuǎn)的部分,例如位于兩個(gè)不同城市的電話設(shè)備。
為了支持基于分組的通信,系統(tǒng)10包括多種組件,包括呼叫代理22、網(wǎng)關(guān)24、設(shè)備26、網(wǎng)絡(luò)28和內(nèi)聯(lián)網(wǎng)30。呼叫代理22表示對(duì)設(shè)備間基于分組的通信會(huì)話進(jìn)行管理的硬件和/或控制邏輯。例如,呼叫代理22可處理信令以建立、控制和解除設(shè)備26間基于分組的語音通信會(huì)話。在所示出的實(shí)施例中,呼叫代理22還支持在基于分組的通信設(shè)備及電路交換通信設(shè)備之間建立鏈路。例如,響應(yīng)于接收自信號(hào)傳輸點(diǎn)20的SS7消息,呼叫代理22可指示在網(wǎng)關(guān)24之間建立基于分組的鏈路。
網(wǎng)關(guān)24表示將諸如PSTN 16之類的電路交換網(wǎng)絡(luò)與諸如網(wǎng)絡(luò)28之類的基于分組的網(wǎng)絡(luò)相連接的設(shè)備,包括控制邏輯。在所示出的實(shí)施例中,網(wǎng)關(guān)24耦合到交換局18,以用于在這些鏈路上進(jìn)行基于時(shí)分復(fù)用(TDM)的通信。網(wǎng)關(guān)24還耦合到網(wǎng)絡(luò)28,以在這些鏈路上提供基于分組的通信。因此,網(wǎng)關(guān)24可用于在電路交換和分組交換的設(shè)備之間建立鏈路,并對(duì)這些設(shè)備之間的通信進(jìn)行解釋。例如,網(wǎng)關(guān)24可將基于TDM的通信轉(zhuǎn)換成分組,或者進(jìn)行相反的轉(zhuǎn)換。
網(wǎng)絡(luò)28和內(nèi)聯(lián)網(wǎng)30可用于在系統(tǒng)10的各個(gè)元件之間傳輸分組。因此,網(wǎng)絡(luò)28和內(nèi)聯(lián)網(wǎng)30都表示用于傳輸分組的任意合適的設(shè)備集合和設(shè)置,例如路由器、網(wǎng)關(guān)和交換機(jī)。這些分組表示使用包括在分組之內(nèi)的目的地地址來傳遞的任意合適的信息段。根據(jù)特定實(shí)施例,內(nèi)聯(lián)網(wǎng)30包括“安全”設(shè)備,該安全設(shè)備對(duì)于第三方干擾而言是比較安全的;而網(wǎng)絡(luò)28表示“非安全”設(shè)備,例如因特網(wǎng)的部分,其可能受到第三方干擾。
為了向基于分組的通信提供安全性,系統(tǒng)10包括任意數(shù)量的翻譯模塊12。每個(gè)翻譯模塊12都表示支持地址跳躍以便掩蓋所傳送的分組的源和/或目的地地址的任意合適的硬件和/或控制邏輯。因此,進(jìn)行發(fā)送的翻譯模塊12可能改變分組的源和目的地地址,而進(jìn)行接收的翻譯模塊12將分組的修改后的源和目的地地址解析成所述分組最初的源和目的地地址。翻譯模塊12可以對(duì)單個(gè)分組或相關(guān)分組流執(zhí)行地址跳躍例程,而分組的有效載荷與該處理無關(guān)。因此,例如,翻譯模塊12可對(duì)信令分組、語音分組和/或數(shù)據(jù)分組執(zhí)行地址跳躍。
例如,考慮在標(biāo)簽為A的電話14(電話A)和標(biāo)簽為B的電話14(電話B)之間的語音電話呼叫。當(dāng)接收到從電話A所撥打的(去往電話B的)數(shù)字時(shí),交換局18通過信號(hào)傳輸點(diǎn)20,將諸如初始地址消息(IAM)之類適當(dāng)?shù)倪B接請(qǐng)求消息傳送到呼叫代理22。呼叫代理22分析并驗(yàn)證所述消息,如果所述消息有效,則將建立消息和確認(rèn)發(fā)送到適當(dāng)?shù)脑?。例如,呼叫代?2可將一個(gè)初始地址消息傳送到與電話B相關(guān)聯(lián)的信號(hào)傳輸點(diǎn)20,將一個(gè)創(chuàng)建連接消息(CRCx)發(fā)送到與電話A相關(guān)聯(lián)的網(wǎng)關(guān)24(網(wǎng)關(guān)A),將一個(gè)相應(yīng)的CRCx消息傳送到與電話B相關(guān)聯(lián)的網(wǎng)關(guān)24(網(wǎng)關(guān)B),將一個(gè)對(duì)摘機(jī)(off hook)通知的請(qǐng)求(RQNT:HU)傳送到網(wǎng)關(guān)B,并將一個(gè)地址完成消息(ACM)發(fā)送到最初的信號(hào)傳輸點(diǎn)20,證實(shí)這次建立嘗試(該ACM消息導(dǎo)致電話A接收到鈴聲)。當(dāng)電話B進(jìn)入摘機(jī)狀態(tài)時(shí),網(wǎng)關(guān)B通知呼叫代理22。作為響應(yīng),呼叫代理22將一個(gè)修改連接命令(MDCx)傳送到網(wǎng)關(guān)A和網(wǎng)關(guān)B,以在這些網(wǎng)關(guān)24之間建立鏈路。這就在網(wǎng)關(guān)A和網(wǎng)關(guān)B之間建立了一條基于分組的鏈路,用于在電話A和電話B之間傳送語音信息。
在本例中,系統(tǒng)10的元件通過網(wǎng)絡(luò)28既交換信令分組,又交換信息分組。翻譯模塊12可以使用地址跳躍,來保障這些分組中的一些或全部的安全。為了執(zhí)行地址跳躍,進(jìn)行發(fā)送的翻譯模塊12將分組的源和/或目的地地址修改成可被遠(yuǎn)程翻譯模塊12解析成該分組最初的源或目的地地址的值。例如,考慮從呼叫代理22傳送到網(wǎng)關(guān)A的信令消息。對(duì)此消息進(jìn)行編碼的分組一般將會(huì)具有用于呼叫代理22的源地址和用于網(wǎng)關(guān)A的目的地地址。當(dāng)從呼叫代理22接收到此分組時(shí),翻譯模塊C修改該分組的源和/或目的地地址,并將該分組轉(zhuǎn)發(fā)到翻譯模塊A。翻譯模塊A接收修改后的分組,并基于修改后的源和目的地地址來解析出最初的源和目的地地址。因此,翻譯模塊A修改源和目的地地址,以將呼叫代理22表示為源,并將網(wǎng)關(guān)A表示為目的地。
同樣,對(duì)于網(wǎng)關(guān)A和網(wǎng)關(guān)B之間的分組,翻譯模塊A和翻譯模塊B可以執(zhí)行類似的對(duì)分組地址的修改和解析。這些修改掩蓋了分組的發(fā)起和/或目的地地址,而源設(shè)備和目的地設(shè)備并不知道這個(gè)中間過程。然而,通過在任意數(shù)量的可用源和/或目的地地址當(dāng)中進(jìn)行跳躍,翻譯模塊12可以阻止針對(duì)特定地址的竊聽者。例如,考慮由網(wǎng)關(guān)A接收并轉(zhuǎn)換成分組以用于傳送到網(wǎng)關(guān)B的語音信息流。這些分組中的每一個(gè)都會(huì)具有一個(gè)最初源地址,例如與電話A相關(guān)聯(lián)的IP地址和端口;還會(huì)具有一個(gè)目的地地址,例如與電話B相關(guān)聯(lián)的IP地址和端口。為了對(duì)此分組流提供地址跳躍,翻譯模塊12可在任意數(shù)量的源和/或目的地地址之間變換。例如,對(duì)于連續(xù)的每個(gè)分組,翻譯模塊A都可以選擇與前一分組所用不同的源和/或目的地地址。
為了在地址跳躍期間選擇適當(dāng)?shù)脑春?或目的地地址,翻譯模塊12可以使用任意合適的技術(shù)。根據(jù)特定實(shí)施例,每個(gè)翻譯模塊12都具有任意數(shù)量的所分配的IP地址。例如,每個(gè)翻譯模塊12都可具有一個(gè)所分配的IP地址范圍。每個(gè)所分配的IP地址可由數(shù)千個(gè)可用端口中的一個(gè)端口來進(jìn)一步區(qū)分。例如,根據(jù)特定的IP協(xié)議,單個(gè)IP地址可容納約64,000個(gè)可使用的端口。因此,可用于翻譯模塊12的潛在的IP地址和端口的組合是很多的,即使只給予了少量的所分配的IP地址。
為了從潛在的地址當(dāng)中進(jìn)行選擇,翻譯模塊12可使用地址跳躍模式、預(yù)分配地址,和/或其它合適的地址翻譯技術(shù)。例如,翻譯模塊A可根據(jù)翻譯模塊A和翻譯模塊B都已知的模式,來修改一個(gè)分組流中的每個(gè)連續(xù)分組。因此,翻譯模塊B可將接收到的分組的地址解析成其最初地址。同樣,翻譯模塊B可將任意數(shù)量的可用地址映射到單一目的地地址。這樣,尋址到所映射的地址中任一地址的所接收的分組被解析成所述單一目的地地址。然而,盡管公開的是用于在可用地址當(dāng)中進(jìn)行選擇的特定技術(shù),但系統(tǒng)10也可使用任意合適的模式、公式、分配和/或其它技術(shù),以用于在可用的地址之間變換。
取決于所使用的特定技術(shù),翻譯模塊12可協(xié)商翻譯參數(shù)。例如,當(dāng)檢測(cè)到在網(wǎng)關(guān)A和網(wǎng)關(guān)B之間建立鏈路的請(qǐng)求時(shí),翻譯模塊A可與翻譯模塊B協(xié)商翻譯參數(shù)。為了防止對(duì)這些參數(shù)的干擾和/或攔截,翻譯模塊12可將協(xié)商期間所發(fā)送的消息加密。所協(xié)商的參數(shù)使得每個(gè)參與的翻譯模塊12可以在多個(gè)地址之間跳躍,并將修改后的地址解析成最初的源和/或目的地地址。例如,翻譯模塊A和翻譯模塊B可協(xié)商出一個(gè)公式或模式,該公式或模式規(guī)定是否變換源和/或目的地地址,控制變換這些地址的頻率,并使得可確定每個(gè)后續(xù)修改地址。而且,翻譯模塊12還可協(xié)商出用于對(duì)源和目的地地址進(jìn)行跳躍的不同的翻譯參數(shù)。例如,翻譯模塊A可使用第一種技術(shù)來改變網(wǎng)關(guān)A的源地址,而使用第二種技術(shù)來改變網(wǎng)關(guān)B的目的地地址。
因此,如前例所述,翻譯模塊12使用地址跳躍技術(shù)來增強(qiáng)基于分組的通信的安全性,與諸如加密之類的其它安全性技術(shù)相比,所述地址跳躍技術(shù)消耗較少量的處理能力。然而,盡管所示出的實(shí)施例和前面的描述針對(duì)的是包括單獨(dú)的提供地址跳躍的翻譯模塊12在內(nèi)的元件設(shè)置,但系統(tǒng)10也可將一個(gè)或多個(gè)翻譯模塊12的特征和功能中的一些或全部合并到任意合適的元件中。例如,呼叫代理22、網(wǎng)關(guān)24、設(shè)備26和/或其它適當(dāng)?shù)脑梢允褂萌魏芜m當(dāng)?shù)挠布?或軟件的組合,來提供翻譯模塊12的特征和功能中的一些或全部。而且,盡管所示出的實(shí)施例和所提供的例子針對(duì)的是在兩個(gè)電路交換通信設(shè)備之間提供鏈路的基于IP的語音通信,但本發(fā)明一般地適用于任意合適的基于分組的通信系統(tǒng)。
圖2是一個(gè)方框圖,示出了翻譯模塊12的示例性功能組件。在所示出的實(shí)施例中,翻譯模塊12包括控制器50、外部接口52、內(nèi)部接口54和存儲(chǔ)器56。一般而言,翻譯模塊12使用外部接口52和內(nèi)部接口54來接收和傳送分組,并可對(duì)這些分組的源和/或目的地地址進(jìn)行翻譯,以支持地址跳躍。
外部接口52和內(nèi)部接口54表示為接收和發(fā)送分組提供物理或虛擬端口的任意合適的硬件和/或邏輯。根據(jù)特定實(shí)施例,外部接口52鏈接到可能是非安全的網(wǎng)絡(luò),例如網(wǎng)絡(luò)28,以允許對(duì)分組的發(fā)送和接收,所述分組包括被改變了源和/或目的地地址以掩蓋其最初的源和/或目的地地址的分組。內(nèi)部接口54耦合到安全的設(shè)備和/或網(wǎng)絡(luò),例如網(wǎng)關(guān)24,并可用于對(duì)具有未經(jīng)修改的源和/或目的地地址的分組進(jìn)行發(fā)送和接收。
控制器50表示可用于修改分組內(nèi)的源和/或目的地地址以支持地址跳躍的任意合適的處理器、控制器和/或邏輯。為了支持控制器50的操作,翻譯模塊12包括存儲(chǔ)器56,存儲(chǔ)器56維護(hù)著進(jìn)入翻譯58、外出翻譯60和翻譯模塊數(shù)據(jù)62。進(jìn)入翻譯58包括翻譯模塊12在基于使用外部接口52而接收到的分組的源和目的地地址,識(shí)別和解析最初的源和/或目的地地址時(shí)所使用的信息。例如,對(duì)于預(yù)期含有分組的每個(gè)流,進(jìn)入翻譯58可包括經(jīng)協(xié)商的參數(shù)、狀態(tài)信息以及用于識(shí)別和解析地址的其它合適的數(shù)據(jù)。
同樣,外出翻譯60包括翻譯模塊12在對(duì)使用內(nèi)部接口54而接收到的分組的最初的源和/或目的地地址進(jìn)行修改時(shí)所使用的信息。根據(jù)特定實(shí)施例,外出翻譯60維護(hù)著經(jīng)協(xié)商的參數(shù)、狀態(tài)信息和用于任意數(shù)量的通信鏈路的其它合適的數(shù)據(jù)。
翻譯模塊數(shù)據(jù)62包括在翻譯模塊12的操作期間所使用的信息。例如,數(shù)據(jù)62可包括翻譯模塊12的操作參數(shù),例如私有加密密鑰、所分配的地址和翻譯方案。而且,數(shù)據(jù)62可包括對(duì)其它翻譯模塊12進(jìn)行描述的信息,例如公開加密密鑰、所分配的地址、翻譯方案和其它適當(dāng)?shù)男畔ⅰ?br>
在操作中,控制器50對(duì)使用外部接口52和內(nèi)部接口54而接收到的分組進(jìn)行監(jiān)視。對(duì)于使用外部接口52而接收到的每個(gè)分組,控制器50確定該分組是否具有經(jīng)修改的源和/或目的地地址。例如,控制器50可將源和/或目的地地址與進(jìn)入翻譯58中所維護(hù)的狀態(tài)信息相比較。根據(jù)特定實(shí)施例,所述狀態(tài)信息為每個(gè)預(yù)期的流維護(hù)著該流中要接收的下一分組的預(yù)期源和/或目的地地址。而且,為了適應(yīng)于分組丟失,所述狀態(tài)信息可維護(hù)每個(gè)流內(nèi)多個(gè)分組的預(yù)期源和/或目的地地址。因此,單個(gè)分組的丟失不會(huì)擾亂地址跳躍處理。如果接收到的分組與進(jìn)入翻譯58之一相匹配,則控制器50執(zhí)行適當(dāng)?shù)奶幚?,以解析出最初的源?或目的地地址,并將所述分組修改成其最初的形式。
除了監(jiān)視使用外部接口52而接收到的分組的源和目的地地址以外,控制器50還可監(jiān)視這些分組的內(nèi)容。例如,對(duì)于使用外部接口52而接收到的每個(gè)分組,控制器50可檢查該分組的內(nèi)容,以確定該分組是否表示一個(gè)新的通信流。例如,控制器50可檢測(cè)連接建立消息,并作為響應(yīng)而與其它翻譯模塊12協(xié)商地址跳躍方案。因此,使用外部接口52,控制器50還可與其它翻譯模塊12協(xié)商地址跳躍方案。例如,考慮一個(gè)從呼叫代理22傳送到網(wǎng)關(guān)A,請(qǐng)求網(wǎng)關(guān)A與網(wǎng)關(guān)B建立通信鏈路的分組。翻譯模塊A可檢測(cè)此連接請(qǐng)求,并作為響應(yīng)而與翻譯模塊B協(xié)商翻譯參數(shù)。這使得翻譯模塊A和翻譯模塊B可以先于網(wǎng)關(guān)A和網(wǎng)關(guān)B之間的通信而建立地址跳躍方案。
在操作期間,控制器50還監(jiān)視使用內(nèi)部接口54而接收到的分組。與其對(duì)于外部接口52的操作類似,控制器50可監(jiān)視每個(gè)接收到的分組,以識(shí)別要被翻譯的分組,并識(shí)別表示出與另一翻譯模塊12建立地址跳躍方案的潛在需求的分組。當(dāng)識(shí)別出要被翻譯的分組時(shí),翻譯模塊12為該分組確定合適的修改后的源和/或目的地地址,并更新該分組以反映所述修改后的源和/或目的地地址。例如,翻譯模塊12可訪問外出翻譯60以確定狀態(tài)信息和翻譯算法,從而確定適當(dāng)?shù)男薷暮蟮脑春?或目的地地址。此外,控制器50可監(jiān)視使用內(nèi)部接口54而接收到的分組,以確定何時(shí)為新的通信鏈路建立地址跳躍。例如,當(dāng)接收到去往當(dāng)前未建立地址跳躍的目的地地址的分組時(shí),翻譯模塊12可將該目的地地址與翻譯模塊數(shù)據(jù)62相比較,以識(shí)別地址跳躍對(duì)這些和其它相關(guān)分組來說是否適當(dāng)。如果是,則翻譯模塊12可與遠(yuǎn)程翻譯模塊12協(xié)商翻譯參數(shù)和其它合適的信息。
盡管所示出的實(shí)施例和前面的描述針對(duì)的是包括特定元件的翻譯模塊12的實(shí)施例,但系統(tǒng)10也可包括這樣的翻譯模塊12,其具有為基于分組的通信提供地址跳躍的任意合適的元件組合和設(shè)置。因此,由所示出的特定元件執(zhí)行的功能可被適當(dāng)?shù)胤珠_或組合,并且這些元件中的一些或全部元件的功能可由編碼在介質(zhì)中的邏輯來實(shí)現(xiàn)。而且,如前所述,翻譯模塊12的功能中的一些或全部可以分布到系統(tǒng)10的其它元件當(dāng)中。
圖3是一個(gè)流程圖,示出了翻譯模塊12在對(duì)使用內(nèi)部接口54而接收到的分組進(jìn)行監(jiān)視,并修改分組的源和目的地地址時(shí)的操作。翻譯模塊12在步驟100監(jiān)視接收到的分組,并在步驟102確定是否已接收到外出分組。例如,翻譯模塊12可監(jiān)視使用內(nèi)部接口54而從諸如網(wǎng)關(guān)24之類的其它設(shè)備接收到的分組。
當(dāng)檢測(cè)到適當(dāng)?shù)姆纸M時(shí),翻譯模塊12在步驟104確定該外出分組的目的地地址是否標(biāo)識(shí)了一個(gè)遠(yuǎn)程翻譯模塊12。例如,翻譯模塊12可將該目的地地址與外出翻譯60內(nèi)的信息和/或翻譯模塊數(shù)據(jù)62相比較。如果所述目的地地址并未標(biāo)識(shí)遠(yuǎn)程翻譯模塊12,則翻譯模塊12在步驟116使用外部接口52來傳送所述外出分組。然而,如果所述目的地地址標(biāo)識(shí)了遠(yuǎn)程翻譯模塊12,則翻譯模塊12確定是否已經(jīng)為與所述分組相關(guān)聯(lián)的流建立了翻譯算法,此確定是在步驟106做出的。例如,翻譯模塊12可訪問外出翻譯60,以確定是否已經(jīng)為所述通信流而與所述遠(yuǎn)程翻譯模塊12協(xié)商了翻譯算法,所述通信流是通過所接收的分組的源和目的地地址而識(shí)別出的。
如果還未建立翻譯算法,則翻譯模塊12在步驟108與所述遠(yuǎn)程翻譯模塊12協(xié)商翻譯算法,并在步驟110更新外出翻譯60內(nèi)所維護(hù)的翻譯數(shù)據(jù),以反映為所述分組流而協(xié)商的信息。
在確定了用于修改分組地址的適當(dāng)參數(shù)之后,翻譯模塊12在步驟112為所述流確定下一個(gè)修改后的源和目的地地址。例如,基于狀態(tài)信息和為所述流而建立的當(dāng)前翻譯算法,翻譯模塊12可計(jì)算所述分組的修改后的源和目的地地址。翻譯模塊12在步驟114改變所述外出分組的地址,并在步驟116傳送所述外出分組。
這樣,前面的流程圖示出了一種比較簡單的技術(shù),用于讓翻譯模塊12為一個(gè)或多個(gè)基于分組的通信流提供地址跳躍。然而,前面的流程圖和伴隨的描述僅說明了一種示例性操作方法,而系統(tǒng)10可包括使用任意合適的技術(shù)來提供地址跳躍的翻譯模塊12和/或其它合適的組件。因此,此流程圖中的許多步驟可以同時(shí)進(jìn)行和/或以與所示出的不同的順序進(jìn)行。此外,翻譯模塊12可使用具有更多步驟、更少步驟和/或不同步驟的方法,只要這些方法仍是適當(dāng)?shù)摹?br>
圖4是一個(gè)流程圖,示出了翻譯模塊12用于為通信流建立地址跳躍方案以及為所述流處理接收到的分組的操作。翻譯模塊12在步驟130與遠(yuǎn)程翻譯模塊12協(xié)商翻譯算法。例如,通過一個(gè)或多個(gè)所交換的分組,例如請(qǐng)求和確認(rèn),兩個(gè)翻譯模塊12可協(xié)商用于在與所述分組流相關(guān)聯(lián)的分組的地址跳躍期間使用的各種參數(shù)?;谶@些協(xié)商,翻譯模塊12在步驟132更新翻譯數(shù)據(jù),以反映為所述流而協(xié)商的信息。例如,翻譯模塊12可在進(jìn)入翻譯58內(nèi)生成一個(gè)包括翻譯參數(shù)、狀態(tài)信息和與所述分組流相關(guān)聯(lián)的其它合適數(shù)據(jù)在內(nèi)的條目。
使用此信息,翻譯模塊12在步驟134確定期望用于所述流的下一個(gè)修改后的源和目的地地址。此信息使得翻譯模塊12可以基于分組修改后的源和/或目的地地址,來識(shí)別與所述流相關(guān)聯(lián)的分組。而且,如前所述,翻譯模塊12可以為所述流內(nèi)所期望的若干即將到來的分組確定修改后的源和目的地地址。這就允許翻譯模塊12基于分組修改后的源和/或目的地地址來識(shí)別所述流內(nèi)的分組,而不管所述分組是亂序到達(dá)或存在一些分組丟失。
翻譯模塊12在步驟136監(jiān)視接收到的分組,并在步驟138確定是否已接收到進(jìn)入分組。如果是,則翻譯模塊12在步驟140確定所述進(jìn)入分組的目的地地址是否與所述分組流的下一個(gè)修改后的目的地地址相匹配。如果是,則翻譯模塊12在步驟142將所述進(jìn)入分組的地址改變?yōu)樽畛醯脑春湍康牡氐刂?,并在步驟144傳送所述進(jìn)入分組。這樣,前面的描述就提供了翻譯模塊12的一種示例性操作方法,用于為通信流中的分組解析出最初的源和目的地地址。
然而,與圖3所示的流程圖一樣,前面的流程圖和伴隨的描述僅說明了一種示例性操作方法,而系統(tǒng)10可包括使用任意合適的技術(shù)來處理分組以支持地址跳躍的翻譯模塊12。因此,此流程圖中的許多步驟可以同時(shí)進(jìn)行和/或以與所示出的不同的順序進(jìn)行。例如,盡管前面的流程圖示出了翻譯模塊12對(duì)于單一分組流的操作,但翻譯模塊12也可同時(shí)監(jiān)視并處理多個(gè)通信流的分組。因此,盡管提供了說明性的操作方法,但系統(tǒng)10可包括使用具有更多步驟、更少步驟和/或不同步驟的方法的翻譯模塊12,只要這些方法仍是適當(dāng)?shù)摹?br>
雖然已經(jīng)在若干實(shí)施例中對(duì)本發(fā)明進(jìn)行了描述,但本領(lǐng)域技術(shù)人員可想到多種變化和修改,本發(fā)明應(yīng)包含落入當(dāng)前所附權(quán)利要求的范圍之內(nèi)的這種變化和修改。
權(quán)利要求
1.一種用于保障基于分組的通信的安全的方法,包括接收包括多個(gè)分組的流,所有所述分組都具有最初目的地地址和最初源地址;以及對(duì)于所述分組中的每一個(gè),將所述最初目的地地址改變成分配給一個(gè)遠(yuǎn)程設(shè)備的多個(gè)修改后的目的地地址中所選擇的一個(gè)地址,其中所選擇的修改后的目的地地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成所述最初目的地地址。
2.如權(quán)利要求1所述的方法,其中,除了所述分組中的第一個(gè)以外,所述分組中的每一個(gè)與所述分組中的前一個(gè)相比,都被改變成所述修改后的目的地地址中一個(gè)不同的地址。
3.如權(quán)利要求1所述的方法,其中所述流中不多于10個(gè)連續(xù)分組被改變成所述修改后的目的地地址中的同一地址。
4.如權(quán)利要求1所述的方法,還包括,對(duì)于所述分組中的每一個(gè),將所述最初源地址改變成多個(gè)修改后的源地址中所選擇的一個(gè)地址,其中所選擇的修改后的源地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成所述最初源地址。
5.如權(quán)利要求1所述的方法,還包括從所述遠(yuǎn)程設(shè)備的可用目的地地址范圍中,隨機(jī)選擇所述分組的修改后的目的地地址。
6.如權(quán)利要求1所述的方法,還包括基于跳躍模式,從所述遠(yuǎn)程設(shè)備的可用目的地地址范圍中選擇所述分組的修改后的目的地地址。
7.如權(quán)利要求1所述的方法,其中所述最初目的地地址包括互聯(lián)網(wǎng)協(xié)議地址和端口,并且所述分組的修改后的目的地地址包括修改后的互聯(lián)網(wǎng)協(xié)議地址和修改后的端口。
8.如權(quán)利要求1所述的方法,其中所述流包括基于互聯(lián)網(wǎng)協(xié)議的語音通信會(huì)話。
9.如權(quán)利要求1所述的方法,還包括檢測(cè)所述流的開始;基于所述最初目的地地址,識(shí)別所述遠(yuǎn)程設(shè)備;以及與所述遠(yuǎn)程設(shè)備協(xié)商所述流的翻譯參數(shù),所述翻譯參數(shù)包括一個(gè)算法,該算法規(guī)定如何從所述修改后的目的地地址當(dāng)中進(jìn)行選擇。
10.一種用于保障基于分組的通信的安全的方法,包括與一個(gè)遠(yuǎn)程設(shè)備協(xié)商用于一個(gè)通信流的翻譯參數(shù),所述翻譯參數(shù)包括最初目的地地址、多個(gè)可用目的地地址、以及算法;根據(jù)所述算法,從所述可用目的地地址當(dāng)中確定一個(gè)修改后的目的地地址;接收具有所述修改后的目的地地址的分組;以及將所述分組改變成具有所述最初目的地地址。
11.如權(quán)利要求10所述的方法,其中所述翻譯參數(shù)還包括最初源地址和多個(gè)可用源地址;并且所述方法還包括根據(jù)所述算法,從所述可用源地址當(dāng)中確定一個(gè)修改后的源地址。
12.如權(quán)利要求11所述的方法,所述分組還具有所述修改后的源地址,所述方法還包括將所述分組改變?yōu)榫哂兴鲎畛踉吹刂贰?br>
13.如權(quán)利要求10所述的方法,其中所述算法包括一個(gè)跳躍模式,該跳躍模式規(guī)定如何從所述可用目的地地址當(dāng)中進(jìn)行選擇。
14.一種翻譯模塊,包括第一接口,其可用于接收包括多個(gè)分組的流,所有所述分組都具有最初目的地地址和最初源地址;控制器,其可用于對(duì)所述分組中的每一個(gè),將所述最初目的地地址改變成分配給一個(gè)遠(yuǎn)程設(shè)備的多個(gè)修改后的目的地地址中所選擇的一個(gè)地址,其中所選擇的修改后的目的地地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成所述最初目的地地址;以及第二接口,其可用于發(fā)送所述改變后的分組,以便由所述遠(yuǎn)程設(shè)備接收。
15.如權(quán)利要求14所述的翻譯模塊,其中,除了所述分組中的第一個(gè)以外,所述分組中的每一個(gè)與所述分組中的前一個(gè)相比,都被改變成所述修改后的目的地地址中一個(gè)不同的地址。
16.如權(quán)利要求14所述的翻譯模塊,其中所述控制器還可用于對(duì)所述分組中的每一個(gè),將所述最初源地址改變成多個(gè)修改后的源地址中所選擇的一個(gè)地址,其中所選擇的修改后的源地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成所述最初源地址。
17.如權(quán)利要求14所述的翻譯模塊,其中所述控制器還可用于基于跳躍模式,從所述遠(yuǎn)程設(shè)備的可用目的地地址范圍中選擇所述分組的修改后的目的地地址。
18.如權(quán)利要求14所述的翻譯模塊,其中所述最初目的地地址包括互聯(lián)網(wǎng)協(xié)議地址和端口,并且所述分組的修改后的目的地地址包括修改后的互聯(lián)網(wǎng)協(xié)議地址和修改后的端口。
19.如權(quán)利要求14所述的翻譯模塊,其中所述控制器還可用于檢測(cè)所述流的開始;基于所述最初目的地地址,識(shí)別所述遠(yuǎn)程設(shè)備;以及與所述遠(yuǎn)程設(shè)備協(xié)商所述流的翻譯參數(shù),所述翻譯參數(shù)包括一個(gè)算法,該算法規(guī)定如何從所述修改后的目的地地址當(dāng)中進(jìn)行選擇。
20.一種用于保障基于分組的通信的安全的邏輯,所述邏輯被編碼在介質(zhì)中,并且當(dāng)被執(zhí)行時(shí)可用于接收包括多個(gè)分組的流,所有所述分組都具有最初目的地地址和最初源地址;以及對(duì)于所述分組中的每一個(gè),將所述最初目的地地址改變成分配給一個(gè)遠(yuǎn)程設(shè)備的多個(gè)修改后的目的地地址中所選擇的一個(gè)地址,其中所選擇的修改后的目的地地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成所述最初目的地地址。
21.如權(quán)利要求20所述的邏輯,其中,除了所述分組中的第一個(gè)以外,所述分組中的每一個(gè)與所述分組中的前一個(gè)相比,都被改變成所述修改后的目的地地址中一個(gè)不同的地址。
22.如權(quán)利要求20所述的邏輯,還可用于對(duì)所述分組中的每一個(gè),將所述最初源地址改變成多個(gè)修改后的源地址中所選擇的一個(gè)地址,其中所選擇的修改后的源地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成所述最初源地址。
23.如權(quán)利要求20所述的邏輯,還可用于基于跳躍模式,從所述遠(yuǎn)程設(shè)備的可用目的地地址范圍中選擇所述分組的修改后的目的地地址。
24.如權(quán)利要求20所述的邏輯,其中所述最初目的地地址包括互聯(lián)網(wǎng)協(xié)議地址和端口,并且所述分組的修改后的目的地地址包括修改后的互聯(lián)網(wǎng)協(xié)議地址和修改后的端口。
25.如權(quán)利要求20所述的邏輯,還可用于檢測(cè)所述流的開始;基于所述最初目的地地址,識(shí)別所述遠(yuǎn)程設(shè)備;以及與所述遠(yuǎn)程設(shè)備協(xié)商所述流的翻譯參數(shù),所述翻譯參數(shù)包括一個(gè)算法,該算法規(guī)定如何從所述修改后的目的地地址當(dāng)中進(jìn)行選擇。
26.一種翻譯模塊,包括用于接收包括多個(gè)分組的流的裝置,所有所述分組都具有最初目的地地址和最初源地址;以及用于對(duì)所述分組中的每一個(gè),將所述最初目的地地址改變成分配給一個(gè)遠(yuǎn)程設(shè)備的多個(gè)修改后的目的地地址中所選擇的一個(gè)地址的裝置,其中所選擇的修改后的目的地地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成所述最初目的地地址。
27.一種用于保障基于分組的通信的安全的方法,包括檢測(cè)一個(gè)通信流的開始,所述通信流包括多個(gè)分組,所有所述分組都具有最初目的地地址和最初源地址;基于所述最初目的地地址,識(shí)別一個(gè)遠(yuǎn)程設(shè)備;與所述遠(yuǎn)程設(shè)備協(xié)商所述通信流的翻譯參數(shù),所述翻譯參數(shù)包括一個(gè)算法,該算法規(guī)定如何從多個(gè)修改后的目的地地址當(dāng)中進(jìn)行選擇;接收所述分組;以及對(duì)于所述分組中的每一個(gè),根據(jù)所述算法來選擇所述修改后的目的地地址中的一個(gè)地址,并將所述最初目的地地址改變成所選擇的修改后的目的地地址,其中所選擇的修改后的目的地地址中的每一個(gè)都可由所述遠(yuǎn)程設(shè)備解析成所述最初目的地地址,并且其中,除了所述分組中的第一個(gè)以外,所述分組中的每一個(gè)與所述分組中的前一個(gè)相比,都被改變成所述修改后的目的地地址中一個(gè)不同的地址。
全文摘要
本發(fā)明所提供的通信系統(tǒng)包括翻譯模塊,所述翻譯模塊提供地址跳躍以保障基于分組的通信的安全。進(jìn)行發(fā)送的翻譯模塊修改所傳送的分組的源和/或目的地地址,而進(jìn)行接收的翻譯模塊將每個(gè)修改后的源和/或目的地地址解析成所述分組的最初的源和目的地地址。
文檔編號(hào)H04M7/00GK1625879SQ03802921
公開日2005年6月8日 申請(qǐng)日期2003年2月4日 優(yōu)先權(quán)日2002年2月5日
發(fā)明者戴維·W·麥克丹尼爾 申請(qǐng)人:思科技術(shù)公司