專利名稱:通信裝置及其通信方法
技術領域:
本發(fā)明涉及用于在安全性方面改進連接到廣域網的專用網之間的通信的通信裝置和通信方法。
該申請要求日本專利2005-182540的優(yōu)先權,其內容在此引作參考。
背景技術:
傳統上,“以太網”(注冊商標)公知作為設置在公司從而相互間交互連接通信網(下文中稱為專用網)的一種類型的局域網,每一通信網經由專線與指定的通信終端交互連接,從而允許在專用網之間執(zhí)行通信。通常,專線防止通信中的竊聽和操控。因此,經由專線能夠在專用網之間的通信中建立安全性。
然而,建立專線的成本很高。因此,要求連接到廣域網(諸如互聯網)的專用網公開地連接許多通信終端,從而經由廣域網建立在專用網之間的通信中的安全性。為了滿足這一需要,使用被稱為“IPsec”(即,網際協議安全協議)的傳統技術。
IPsec是這樣一種技術通過經由廣域網與專用網連接的路由器來執(zhí)行通信,并且根據被稱為ESP(封裝安全凈荷)和IKE(互聯網密鑰交換)的通信協議對通信進行加密,因此避免了路由器之間傳輸的數據被竊聽和操控。具體地說,ESP提供用于根據指定的算法對路由器之間的認證和通信進行加密的通信協議,而IKE提供用于產生用于加密的密鑰信息的通信協議。
如上所述,通過與連接到廣域網的專用網相連接的路由器來執(zhí)行基于IPsec的通信,因此在路由器之間的通信中建立安全性。為了實現基于IPsec的通信,需要為路由器設置關于IPsec各種控制參數。一般來說,需要工程師或操作管理者(或數據中心管理者)手動設置路由器的控制參數。
路由器的設置需要大量控制參數。此外,因為具有不同控制參數的路由器無法執(zhí)行基于IPsec的通信,所以需要為執(zhí)行基于Ipsec的通信的所有路由器設置相同的控制參數。因此,對于操作管理者來說,對路由器執(zhí)行設置操作是非常麻煩的。當操作管理者在設置控制參數中出錯時,他們很難在大量控制參數中標識被誤設的參數。
已開發(fā)各種技術以使得控制參數的設置更加容易,并且避免設置錯誤。在日本未審查的專利申請公開第2004-104542和以下網址http//www.cisco.com/japanese/warp/public/3/jp/service/tac/105/dmvpn-j.shtml和http//www.nec.co.jp/press/ja/0411/2904.html中公開了示例。
前述技術的指教導是,控制參數被預先存儲在服務器上,服務器可由路由器訪問以在專用網和廣域網之間建立連接,存儲在服務器上的控制參數被下載和存儲到路由器上,從而可為路由器適當地設置相同的控制參數。
在前述技術中,當大量路由器同時在短時間段內做出對服務器的下載請求以下載控制參數時,服務器可能承受高處理負荷,由此導致完成控制參數的下載所需的時間增加。當在服務器中發(fā)生故障從而服務器不能接受下載請求時,路由器不能執(zhí)行基于IPsec的通信。
發(fā)明內容
本發(fā)明的目的地在于提供一種通信裝置和通信方法,在該通信裝置和通信方法中,通過經由廣域網設置控制參數來執(zhí)行加密通信,而不會導致在特定裝置中的處理負荷的集中(concentration)。
本發(fā)明關注一種通過多個通信裝置(例如一個路由器或多個路由器)在廣域網上執(zhí)行加密通信的通信系統,每一路由器包括管理表、設置處理部分、通信部分、更新處理部分以及公布處理部分。
管理表存儲多個條目,所述條目包括根據第一通信協議在第一通信裝置和第二通信裝置之間執(zhí)行加密通信的標識符和控制參數。設置處理部分將關于第一通信裝置和第二通信裝置的條目寫入管理表。通信控制部分根據不同于第一通信協議的第二通信協議來建立允許將存儲在管理表中的條目從第一通信裝置發(fā)送到第二通信裝置的第一連接。當請求時,通信控制部分根據第二通信協議建立實現從第三通信裝置接收發(fā)送到其的數據的第二連接。更新處理部分經由第二連接接收發(fā)送到其的至少一個條目,從而更新除了關于第一通信裝置的條目之外的存儲在管理表中的條目。公布處理部分經由第一連接周期性地發(fā)送存儲在管理表中的條目??蛇x地,當存儲在管理表中的條目被更新時,公布處理部分發(fā)送這些條目。
如上所述,關于第一通信裝置,響應于經由第二連接發(fā)送到其的條目,更新存儲在管理表中的條目,而不是第一通信裝置的條目。此外,經由第一連接把存儲在第一通信裝置的管理表中的條目周期性地發(fā)送到第二通信裝置??蛇x地,每當響應于經由第二連接發(fā)送到其的第三通信裝置的條目而更新條目時,更新的條目從第一通信裝置被發(fā)送到第二通信裝置。這樣實現了在廣域網上在多個通信裝置之間的相同條目的公布。
此外,通信控制部分基于對經由第一連接從第一通信裝置被發(fā)送到第二通信裝置的指定消息的響應來判斷第一連接是否有效,其中,當第一連接無效時,通信控制部分拆除第一連接,其后基于存儲在管理表中的條目重新建立新的連接。每一通信裝置還可包括定時器,當經由第二連接接收到的條目被寫入管理表時,更新處理部分可從定時器讀取寫入時間,從而條目可與表示寫入時間的時間數據關聯地被寫入管理表。當指定時間經過由所述時間數據表示的寫入時間時,可從管理表中刪除條目。這樣實現了管理表的自動更新,其中,在從寫入時間計數的指定時間過去之后,刪除舊的條目。
此外,當更新處理部分將新的條目寫入管理表時,就包括在所述新的條目中的標識符指定的新的通信裝置來建立第一連接。
結果,能夠避免在特定通信裝置的負荷的集中,而且能夠減少用于設置在通信裝置間執(zhí)行加密通信的通信裝置的控制參數的手動操作。
通過參照附圖對本發(fā)明這些和其它目的地、方面以及實施例進行詳細描述,其中圖1是示出包括專用網和連接到廣域網的專用網路由器的通信系統的整體結構的系統示圖;圖2是示出圖1中顯示的路由器的內部構成的框圖;圖3示出存儲在路由器的存儲部分中的管理表的數據格式的示例;圖4示出基于管理表的存儲內容產生的有效條目的數據格式;圖5是示出公布處理的流程圖,在所述公布處理中,一個路由器的管理表的存儲內容被公布給另一路由器;圖6A示出在四個路由器300A-300D之間建立的上行鏈路控制連接的示例;圖6B示出存儲在路由器300D的管理表中的上行鏈路控制連接的示例;圖6C示出存儲在路由器300C的管理表中的上行鏈路控制連接的示例;圖6D示出存儲在路由器300B的管理表中的上行鏈路控制連接的示例;圖6E示出存儲在路由器300A的管理表中的上行鏈路控制連接的示例;以及圖7是示出由路由器執(zhí)行的更新處理的流程圖。
具體實施例方式
參照附圖通過示例來更詳細地描述本發(fā)明。
通信系統圖1示出包括多個路由器的通信系統10,每一路由器表示根據本發(fā)明優(yōu)選實施例的通信裝置。圖1的通信網10包括廣域網100(例如互聯網)、專用網(由PNW表示每一個專用網)200A、200B、200C和200D,路由器300A、300B、300C和300D。路由器300(表示標號300A、300B、300C和300D)充當用于在專用網200(表示標號200A、200B、200C和200D)和廣域網100之間建立交互連接的路由器。本實施例使用互聯網作為廣域網100;然而,可使用用于在公眾使用的通信終端之間建立連接的其它類型的廣域網或其它類型的通信網。以四個專用網200經由四個獨立的路由器300分別連接到廣域網100這樣的方式來設計通信系統10。當然,無需將連接到廣域網100的專用網200的數量限制為4。簡言之,可按兩個或更多專用網經由特定路由器連接到單個廣域網的方式來設計通信系統10。
假定某個公司具有四個分支機構A、B、C和D,其中,基于以太網技術分別設置四個專用網200A、200B、200C和200D,其中,每一分支機構具有在通信終端(例如個人計算機)之間建立連接的內部網。為了方便,所述四個專用網200A至200D被共同地表示為專用網200。專用網200無需基于以太網來設計,可用令牌環(huán)來代替。簡言之,本實施例可使用具有經由路由器對廣域網的進行訪問的任意類型的通信網。
路由器300A至300D用于根據諸如TCP(即傳輸控制協議)的指定的通信協議在專用網200A至200D以及廣域網100之間執(zhí)行通信。為了方便,所述四個路由器300A至300D被共同地表示為路由器300。本實施例無需被限制為使用路由器300,其可由可在專用網200和廣域網100之間執(zhí)行通信、同時在專用網200的通信協議和廣域網100的通信協議之間執(zhí)行相互轉換的網關來替代。
用于圖1所示的通信系統10的每一路由器300是根據本發(fā)明的通信裝置的示例,并具有基于IPsec經由廣域網100執(zhí)行加密通信的功能。傳統上,為了通過路由器300基于IPsec實現加密通信,需要操作管理者為路由器300手動設置關于IKE或ESP的各種控制參數,或需要操作管理者經由特定服務器下載控制參數并將它們設置到路由器300。作為對照的是,按以下方式來設計本實施例的通信系統10,即,路由器300存儲根據指定的算法在執(zhí)行相互通知(下文中稱為公布)之前設置的控制參數,從而為所有路由器300設置相同的控制參數。下面將描述路由器300的構成和操作(其示出本發(fā)明的優(yōu)越特征)。
路由器圖2是示出路由器300的內部構成的框圖。
圖2的路由器300包括定時器310、通信接口320、存儲部分330、用戶接口340、設置處理部分350、通信控制部分360、更新處理部分370以及公布處理部分380。
定時器310是實時時鐘,具有產生表示來自通信控制部分360或更新處理部分370的請求的時間的時間數據的功能,所述時間數據被發(fā)送到通信控制部分360或更新處理部分370。
通信接口320包括連接到專用網200的第一NIC(即網絡接口卡或網絡適配器,未示出)和連接到廣域網100的第二NIC(未示出)。也就是說,通信接口320經由NIC將接收的數據傳遞到通信控制部分360,通信接口320還根據專用網200或廣域網100的目的地將從通信控制部分360傳送的數據發(fā)送到專用網200或廣域網100。
每一NIC包括存儲器(未示出),用于存儲作為用于在數據鏈路層直接標識NIC的通信地址的MAC(媒體訪問控制)地址。具體地說,當根據適用于數據鏈路層的通信協議將數據從專用網200發(fā)送到路由器300時,存儲在第一NIC的存儲器中的MAC地址被用作目的地地址;當根據數據鏈路層的通信協議將數據從廣域網100發(fā)送到路由器300時,存儲在第二NIC的存儲器中的MAC地址被用作目的地地址。
使用硬盤來構造存儲部分330以存儲管理表,針對各個路由器300將控制參數寫入所述管理表。
具體地說,管理表保持關于各個路由器300的數據記錄(以下稱作條目),每一數據記錄具有圖3所示的數據格式。如圖3所示,每一條目具有八項數據,即物理標識符、邏輯標識符、注冊時間、公布源標識符、密碼、控制參數、密鑰因子、最大基本數(maximumground number)和PNW標識符。
物理標識符用于以硬件的方式(即在低于數據鏈路層的層中)響應于條目而直接標識路由器300。具體地說,物理標識符是通過根據hash算法(例如被稱為“message digest 5”的MD5以及被稱為“secure hash algorithm-1”的SHA-1)對第二NIC的MAC地址(用于在路由器300和廣域網100之間建立連接)執(zhí)行計算而產生的指定長度(例如32比特)的數據。在本實施例中,物理標識符是32比特的數據,但并不限于此;因此,物理標識符的比特數量無需限于32。然而,當物理標識符的長度小于16比特時,存在對多個路由器產生相同物理標識符的可能性,并且其不能用于PNW標識符;因此,優(yōu)選地,物理標識符的長度被設置為16比特或更長。如上所述,在本實施例中,通過根據指定的hash算法對MAC地址執(zhí)行計算來產生物理標識符,但并非限于此;因此,可直接使用MAC地址作為物理標識符。
邏輯標識符用于在層次高于網絡層的高層協議中響應于條目來直接標識路由器300。具體地說,在本實施例中,邏輯標識符是IP地址,但不限于此;因此,可使用域名,而不是IP地址。
密碼被認為是用于響應于條目根據關于路由器300的指定的通信協議在通信中請求建立連接的認證數據。
注冊時間是表示條目被寫入管理表的時間的數據。在本實施例中,當由更新處理部分370寫入條目時,定時器310響應于來自更新處理部分370的請求而發(fā)送時間數據,從而該時間數據可被用作注冊時間。注冊時間由更新處理部分370用于刪除舊的條目,即在其中從寫入管理表的時間已經經過規(guī)定的時間的條目。
公布源標識符是條目的公布源的數據。在本實施例中,與發(fā)送源相應的路由器的邏輯標識符被用作公布源標識符,稍后將詳細描述。具體地說,公布源標識符用于防止在存儲在管理表中的條目通過公布處理部分380從原始路由器被發(fā)送到另一路由器之后條目被重新發(fā)送到原始路由器。在本實施例中,與條目的公布源相應的路由器的邏輯標識符被用作公布源標識符,但不限于此,因此,可使用路由器的物理標識符作為公布源標識符。
密鑰因子是用于計算高級共享密鑰(advance shared key)的數據,其由位于加密通信路徑的終端的路由器共享的。高級共享密鑰是用于使路由器根據IKE執(zhí)行認證的密碼。根據Diffie-Hellmann方法(一種密碼技術)來計算密鑰因子。具體地說,根據下面使用“X”(即大于指定的閾值的自然數,換句話說,由諸如mixed congruence方法的偽隨機數產生算法所產生的偽隨機數)的公式來產生密鑰因子,其中,符號“^”表示指數運算符,在用“p”(即通過RFC2049預先確定的質數)去除一個數之后,(模p)的計算產生的剩下的余數。
2^X(mod p)在本實施例中,數X和公式的計算結果被存儲作為關于每一條目的密鑰因子。在這兩種密鑰因子中,僅在數X被刪除的同時使用該公式的計算結果,從而僅當管理表的存儲內容被公布給其它路由器時公布所述計算結果。
最大基本數(maximum ground number)表示可關于條目由路由器開放的加密通信路徑的數量。例如,當最大基本數被設置為“2”時,表明兩條加密通信路徑可被開放。在下面的描述中,由每一路由器300關于每一條目將最大基本數設置為“2”;當然,最大基本數不必限于“2”。一般來說,隨著“開放的”加密通信路徑的數據增加,施加到路由器300的負載也增加。因此,優(yōu)選的是,響應于路由器300的處理能力而對最大基本數進行合適地設置。
PNW標識符是被分配給每一專用網以關于條目直接標識連接到路由器的專用網的標識符。在本實施例中,基于前述物理標識符來產生PNW標識符。具體地說,物理標識符的低位16比特被劃分為8個高位比特(整體表示為“H”)和8個低位比特(整體表示為“L”),從而PNW標識符被定義為“10.H.L.0/24”。例如,假定路由器300的物理標識符為“0xa010050f”(其中,頭“0x”說明后面的數以十六進制符號表示)。在此情況下,分配給專用網200A的PNW標識符是“10.5.15.0/24”。PNW標識符用于指定通過連接到廣域網100的路由器300經由加密通信路徑連接到廣域網100的專用網。
圖3示出的前述數據連同前述控制參數一起形成存儲在管理表中的每一條目。除了管理表之外,存儲部分330還存儲密碼,當在路由器300和廣域網100之間的通信中建立連接時,所述密碼允許服務提供商(即SP)對路由器300執(zhí)行認證。為此,路由器300被設計為在與業(yè)務提供商的通信中建立連接,從而能夠經由廣域網100進行它們之間的通信。
在圖2中,用戶接口340提供允許(管理路由器300的)操作管理者對管理表執(zhí)行初始化的與用戶關聯的接口。
具體地說,例如,用戶接口340連接到諸如串行控制臺的顯示器(未示出)和諸如鍵盤的手動輸入工具(未示出)。用戶接口340控制顯示器以使其顯示允許操作管理者執(zhí)行初始化的屏幕圖像;因此,看到屏幕圖像的操作管理者可操作手動輸入工具以輸入數據,其后,所述數據被傳遞到設置處理部分350。因此,在本實施例中,路由器300A的操作管理者操作手動輸入工具以輸入其前述邏輯標識符、密鑰因子、最大基本數、密碼和控制參數。此外,路由器300A的操作管理者還輸入用于另一路由器(即路由器300B、300C和300D中的任一)的邏輯標識符和密碼,其后,所述邏輯標識符和密碼被傳遞到設置處理部分350。
設置處理部分350具有如下兩種功能。
第一功能是初始化功能,其中,基于來自用戶接口340的數據產生初始條目(其在初始化期間被設置在管理表中);初始條目被寫入管理表;其后,其被傳遞到通信控制部分360。
具體地說,與當前設計的路由器結合的設置處理部分350因此初始地產生初始條目。也就是說,設置處理部分350基于第二NIC的MAC地址產生物理標識符,其中,物理標識符伴隨有基于該物理標識符而產生的PNW標識符、來自用戶接口340的邏輯標識符、密鑰因子、最大基本數、密碼以及控制參數,因此關于當前指定的路由器產生初始條目。設置處理部分350還產生用于另一路由器的初始條目,其包括來自用戶接口340的邏輯標識符和密碼。稍后將詳細描述。當通信控制部分360在通信中建立連接以將管理表的存儲內容公布給其它路由器時使用這些初始條目。
設置處理部分350的第二功能是有效條目設置功能,其中,基于存儲在管理表中的條目而產生描述實際用于根據IPsec的通信中的控制參數(即有效參數)的條目(下文中稱為有效條目),其后,響應于來自更新處理部分370的通知,其被傳遞到通信控制部分360。圖4示出前述有效條目的數據格式的示例,其包括目的地標識符、有效參數、高級共享密鑰和PNW標識符。
目的地標識符用于直接標識與加密通信路徑的目的地相應的路由器。有效參數與通信控制部分360實際使用以執(zhí)行與路由器的加密通信的控制參數對應。高級共享密鑰是當路由器根據IKE執(zhí)行認證時使用的密碼。PNW標識符用于直接標識連接到路由器的專用網。圖4的有效條目由設置處理部分350產生,其后如下所述被設置用于通信控制部分360。
也就是說,當設置處理部分350從更新處理部分370接收到宣告完成管理表的更新的通知時,其從管理表讀取在與除了當前指定的路由器之外的路由器相應的條目中的具有一組完整的數據項的另一路由器的條目。具體地說,包括在其它路由器中的邏輯標識符和PNW標識符被分別設置用于包括在有效條目中的目的地標識符和PNW標識符。如下描述有效參數的產生。
也就是說,設置處理部分350就每一項對包括在所述其它路由器的條目中的控制參數與包括在當前指定的路由器中的控制參數進行比較。這里,在其它路由器和當前指定的路由器之間彼此匹配的控制參數的值被設置用于有效參數的相應的項;條目的物理標識符的相對小的值被設置用于有效參數的相應的項。設置處理部分350還通過使用在包括在用于當前指定的路由器的條目中的密鑰因子和包括在其它路由器的條目中的指定的密鑰因子(即前述公式的計算結果)之中的非公開數據(即前述的數X),根據Diffie-Hellman方法來產生高級共享密鑰。
通信控制部分360具有如下四種功能。
第一功能是控制連接建立功能,用于基于前述初始條目根據不同于IPsec的指定的通信協議(例如TCP)在管理表的存儲內容(即存儲在管理表中的條目)的通信中建立連接。
具體地說,控制連接建立功能是這樣一種功能當前指定的路由器請求建立與預定的路由器(即預先由操作管理者選擇的路由器)的第一連接以執(zhí)行管理表的存儲內容的公布,并且當請求時,其還繼續(xù)建立與其它路由器的第二連接以因此接收條目。下文中,第一連接被稱作上行鏈路控制連接,第二連接被稱作下行鏈路控制連接。下行鏈路控制連接可被看作由另一路由器請求的上行鏈路控制連接。例如,上行鏈路控制連接和下行鏈路控制連接可被看作通過三次握手根據TCP的數據通信中的連接。
通信控制部分360的第二功能為通過判斷上行鏈路控制連接是否有效,有效性被指示給公布處理部分380,并且來自公布處理部分380的條目經由上行鏈路控制連接被輸出。
通信控制部分360的第三功能為經由上行鏈路控制連接接收的條目被傳遞到更新處理部分370,從而更新管理表的存儲內容。
通信控制部分360的第四功能為加密通信路徑建立功能,其中,基于前述有效條目根據IPsec來建立加密通信。
更新處理部分370具有特定功能,其中,基于來自通信控制部分360的條目,其更新管理表的存儲內容,其后更新的完成被指示給設置處理部分350和公布處理部分380兩者。
具體地說,當從通信控制部分360接收每一條目時,更新處理部分370判斷接收的條目是否與當前指定的路由器有關,即接收的條目是否包括當前指定的路由器的物理標識符和邏輯標識符。如果接收的條目與當前指定的路由器有關,則更新處理部分370丟棄關于當前指定的路由器的條目。如果接收的條目與當前指定的路由器無關,則更新處理部分370關于接收的條目將定時器310的時間數據設置為注冊時間。此外,更新處理部分370將充當傳輸源的路由器的邏輯標識符設置為接收的條目的公布標識符,接收的條目的公布標識符其后被寫入管理表。當接收到的物理標識符和邏輯標識符與已經被存儲在管理表中的物理標識符和邏輯標識符匹配時,更新處理部分370在已經存儲的條目上寫入(從通信控制部分360)接收的條目。此外,更新處理部分370具有自動刪除功能,其中,當從注冊時間經過指定的時間時,從管理表中自動刪除其中時間數據被設置為注冊時間并且已被寫入管理表的條目。
公布處理部分380具有公布功能,其中,當從通信控制部分360接收到上行鏈路控制連接被建立并且有效的通知時,或當從更新處理部分370接收到管理表的存儲內容已經被更新的通知時,管理表的存儲內容經由上行鏈路控制連接而被公布。
具體地說,當從通信控制部分360接收到通知時,或當從更新處理部分370接收到通知時,公布處理部分380從管理表順序讀取條目,從而選擇其公布標識符不同于與上行鏈路控制連接的目的地的相應的路由器的邏輯標識符的條目,并且選擇的條目被傳送到通信控制部分360,其后經由上行鏈路控制連接而被傳輸。其公布標識符匹配于與上行鏈路控制連接的目的地相應的路由器的邏輯標識符的條目不被傳輸的原因是這些條目從與上行鏈路控制連接的目的地相應的路由器被原始地發(fā)送,因此如果發(fā)送的話,則其是無用的。當公布處理部分380將關于當前指定的路由器的條目傳遞到通信控制部分360時,其從包括在條目中的密鑰因子中刪除未開放的數據。
操作接下來,將參照附圖描述表示本實施例的通信裝置的技術特征的路由器300的操作。下面的描述的前提是路由器300的管理表預先存儲關于當前指定的路由器的初始條目以及包括其它路由器的邏輯標識符和密碼的另一初始條目。
具體地說,路由器300A的管理表存儲路由器300A和300D的初始條目;路由器300B的管理表存儲路由器300B和300A的初始條目;路由器300C的管理表存儲路由器300C和300B的初始條目;以及路由器300D的管理表存儲路由器300D和300C的初始條目。在每一路由器300中,設置處理部分350預先在通信控制部分360中設置前述初始條目。
(1)公布處理將關于公布處理(即條目公布操作)進行描述,其中,當前指定的路由器的管理表的存儲內容被公布給其它路由器。
圖5是示出根據本發(fā)明的公布處理的流程圖。
在步驟SA100,通信控制部分360基于前述初始條目指定公布目的地,當前指定的路由器的管理表的存儲內容被傳遞到該公布目的地。具體地說,通信控制部分360在由設置處理部分350設置的初始條目中選擇其邏輯標識符不同于當前指定的路由器的邏輯標識符的初始條目,因此指定由選擇的初始條目指定的路由器為公布目的地。
在本實施例中,路由器300A和300D的初始條目被設置到路由器300A的通信控制部分360,因此,其指定路由器300D作為公布目的地。相似地,路由器300B的通信控制部分360指定路由器300A作為公布目的地;路由器300C的通信控制部分360指定路由器300B作為公布目的地,路由器300D的通信控制部分360指定路由器300C作為公布目的地。
當如上所述指定公布目的地時,流程進入步驟SA110,其中,通信控制部分360繼續(xù)建立到公布目的地的上行鏈路控制連接。
具體地說,通信控制部分360產生請求建立連接的消息(下文中稱為SYN消息),其中包括在指定公布目的地的初始條目中的邏輯標識符被寫入為目的地地址,包括在初始條目中的密碼被寫入消息區(qū)域,其后被傳輸。由于路由器300D被指定作為路由器300A的公布目的地,因此路由器300A將SYN消息發(fā)送到路由器300D。
路由器300D的通信控制部分360經由廣域網100接收SYN消息。其后,路由器300D將SYN/ACK消息發(fā)送回發(fā)送源(即路由器300A)因此,可建立從路由器300A到達路由器300D的上行鏈路控制連接。相似地,路由器300B將SYN消息發(fā)送到路由器300A;路由器300C將SYN消息發(fā)送到路由器300B,并且路由器300D將SYN消息發(fā)送到路由器300C。因此,如圖6A所示,可在路由器300A-300D之間建立上行鏈路控制連接。這里從路由器300A到路由器300D的箭頭表示當路由器300A將SYN消息發(fā)送到路由器300D時建立的上行鏈路控制連接。使用虛線定義的塊指明管理表,每一管理表包括兩個大寫字母,其中一個指明相應的路由器的條目,另一個(圓括號中的)指明僅包括關于每一路由器由操作管理者設置的初始條目中的邏輯標識符和密碼的條目。
在圖5中,在完成步驟SA110之后,流程進入步驟SA120,其中,基于對公布目的地是否已發(fā)送回指定的響應消息(即SYN/ACK消息)的判斷,通信控制部分360判斷上行鏈路控制連接是否已經成功建立。具體地說,當從通信接口320接收到指定的響應消息時,通信控制部分360確定上行鏈路控制連接已經成功建立。本實施例被設計為通信控制部分360根據三次握手繼續(xù)建立上行鏈路控制連接;然而,本發(fā)明不必限于本實施例;因此,可把本實施例重新設計為通信控制部分360根據另一算法繼續(xù)建立上行鏈路控制連接。
當在步驟SA210的判斷為“否”時,換句話說,當通信控制部分360無法建立上行鏈路控制連接時,其通過在步驟SA180執(zhí)行“休眠命令”而處于空閑狀態(tài)到達指定時間;其后,流程返回步驟SA110,從而在此重復前述步驟。
當在步驟SA120的判斷為“是”時,換句話說,當通信控制部分360建立上行鏈路控制連接時,在步驟SA130,通信控制部分360經由上行鏈路控制連接(其在步驟SA110被建立)發(fā)送指定的消息(即保持生存(keep-alive)消息)。此外,定時器310開始計算時間。在步驟SA140,通信控制部分360判斷在從發(fā)送保持生存消息的定時經過超時長度的時間之前是否接收到對該保持生存消息響應的響應消息(例如ACK)。由于本實施例被設計為公布目的地發(fā)送回SYN/ACK消息,因此在步驟SA120,該判斷返回“是”,從而執(zhí)行前述步驟SA130。下面描述公布目的地發(fā)送回響應于通信控制部分360在步驟SA130發(fā)送的保持生存消息的ACK消息。
當在步驟SA140的判斷為“否”時,流程進入步驟SA170,其中,通信控制部分360拆除上行鏈路控制連接,其后在指定時間內處于空閑狀態(tài)。其后,通信控制部分360在前述步驟SA110之后重復前述步驟。當在步驟SA140的判斷為“是”時,通信控制部分360將該事實的通知發(fā)送到公布處理部分380。由于本實施例被設計為公布目的地發(fā)送回響應于保持生存消息的響應消息,因此在步驟SA140的判斷返回“是”,從而通信控制部分360將前述通知發(fā)送到公布處理部分380。
當接收到前述通知時,公布處理部分380在步驟SA150執(zhí)行公布處理部分,其中,管理表的存儲內容經由上行鏈路控制連接被公布。
具體地說,公布處理部分380讀取存儲在管理表中的條目,并對包括在條目中的公布源標識符和與公布目的地相應的邏輯標識符進行比較。其公布源標識符與對應于公布目的地的路由器的邏輯標識符不匹配的條目被有選擇地傳遞到通信控制部分360,其后經由上行鏈路控制連接被發(fā)送。
由于路由器300A的管理表預先存儲關于路由器300A和300D的兩個初始條目,并且沒有公布源標識符被設置用于這些初始條目,因此路由器300A的公布處理部分380將它們傳遞到通信控制部分360。結果,兩個初始條目經由上行鏈路控制連接從路由器300A被發(fā)送到路由器300D。
其后,流程進入步驟SA160,其中,路由器300判斷公布處理的完成是否已經經由用戶接口340被指定。當步驟SA160的判斷為“否”時,流程返回到步驟SA130,從而重復下面的步驟。
(2)更新處理接下來,將就當接收到從另一路由器發(fā)送到其的條目時、當前指定的路由器執(zhí)行的更新處理進行描述。下面關于當從路由器300A接收到兩個條目(即關于路由器300A的條目和關于路由器300D的條目)時路由器300D執(zhí)行的更新處理進行描述。
圖7是示出由路由器執(zhí)行的更新處理的流程圖。在步驟SB100,路由器300D的通信控制部分360經由通信接口320從另一路由器(即路由器300A)接收條目,路由器300D的通信控制部分360將它們傳遞到更新處理部分370。
在步驟SB110,更新處理部分370基于從通信控制部分360傳遞到其的條目根據下面的程序更新管理表的存儲內容。首先,更新處理部分370丟棄在步驟SB100接收的條目中的關于當前指定的路由器的條目(即包括當前指定的路由器的邏輯標識符或物理標識符的條目)。其后,更新處理部分370從定時器310獲得表示當前時間的時間數據,更新處理部分370以時間數據來代替其余條目的注冊時間,并將與其余條目的發(fā)送源相應的路由器的邏輯標識符寫入公布源標識符,其后將其余條目寫入管理表。
由于路由器300D從路由器300A接收關于路由器300A和300D的條目,因此僅關于路由器300A的條目被附加地寫入路由器300D的管理表。結果,路由器300D的管理表的存儲內容變?yōu)閳D6B所示的那些。
在圖7中,當完成路由器300D的管理表的存儲內容的更新時,更新處理部分370將通知發(fā)送到公布處理部分380和設置處理部分350,從而在步驟SB120,公布處理部分380執(zhí)行關于管理表的更新的存儲內容的公布;設置處理部分350基于管理表的更新的存儲內容產生有效條目;其后有效條目設置在通信控制部分360中。也就是說,當更新管理表的存儲內容時,無論當根據保持生存消息確定關于上行鏈路控制連接的有效性時執(zhí)行的周期性公布如何,管理表的更新的存儲內容都自動地被公布。順便地,步驟SB120的公布處理與步驟SA160的公布處理的相似之處在于公布源標識符與關于上行鏈路控制連接的目的地(即公布目的地)的公布源標識符匹配的條目不被公布。
如圖6B所示,由于路由器300D的管理表的存儲內容被更新,因此公布處理部分380讀取關于路由器300A、300B和300D的三個條目,從而所述三個條目被發(fā)送到路由器300C。因此,路由器300C更新管理表的存儲內容,因此其變成圖6C中所示的那樣。
當路由器300C更新其管理表的存儲內容時,更新的存儲內容被公布到路由器300B。結果,關于路由器300A、300B、300C和300D的四個條目從路由器300C被發(fā)送到路由器300B。由于這樣的公布導致路由器300B更新管理表的存儲內容,因此其變成圖6D所示的那樣。
其后,路由器300B更新管理表的存儲內容,其后,其被公布到路由器300A。因此,路由器300A的存儲內容變成圖6E所示的那樣。
其后,路由器300A的管理表的存儲內容被從路由器300A公布到路由器300D;其后,路由器300D的管理表的存儲內容被從路由器300D公布到路由器300C。結果,相同的條目被存儲在所有路由器300A、300B、300C和300D的管理表中。
如上所述,所有路由器300最終具有在其管理表中的相同的存儲內容。這不會引起在基于條目產生的有效條目之間的沖突。具體地說,在路由器300A中產生的存儲在路由器300D的有效條目中的有效參數與在路由器300D中產生的存儲在路由器300的有效條目中的有效參數相同。
本實施例的優(yōu)點在于,每一路由器300的操作管理者簡單地請求設置控制參數和因此公布目的地。與傳統技術相比,這大大減少了將被設置的控制參數的數量。因此,可減少在操作管理者的負擔。
此外,本實施例不需要用于將控制參數下載到路由器300的服務器。因此,可避免由于服務器的提供而導致的麻煩。
變化本發(fā)明無需限于本實施例,而可進行如下所述適當地修改或改變。
(1)本實施例被設計為當基于當前指定的路由器的控制參數和其它路由器的控制參數產生有效參數時,由相對小的物理標識符指示的路由器的控制參數在當前指定的路由器和其它路由器之間彼此不同的控制參數中被給定優(yōu)先級??尚薷谋緦嵤├瑥亩上鄬Υ蟮奈锢順俗R符指示的路由器的控制參數被給予優(yōu)先級??蛇x地,控制參數可根據邏輯標識符或最大基本數而不是物理標識符而被選擇,其后被設置為有效參數。簡言之,需要在選擇控制參數時設置指定的規(guī)則,所述控制參數多個路由器之間彼此不同的控制參數中被給予優(yōu)先級;應該為每一路由器300設置這樣的指定規(guī)則應。
(2)本實施例被設計為在路由器300中通過對MAC地址執(zhí)行指定計算而產生的16比特數據被用于適合于低于數據鏈路層的層的物理標識符。即使物理標識符的長度大于十六比特,也很難完全防止就多個路由器來計算相同的物理標識符。關于就物理標識符而言不完全彼此匹配的多個路由器,當相同的低位16比特模式被包括在多個物理標識符中時,可能產生誤差,其中,相同的PNW標識符被分配給不同的專用網。為此,優(yōu)選地,當其包括相同低位16比特模式的物理標識符的多個條目被存儲在路由器300的管理表中時,由相對小的邏輯標識符指示的路由器的條目被設為無效并且不用于產生有效參數。此外,優(yōu)選的是,計算新的物理標識符,從而產生關于當前指定的路由器的新的條目,其條目被設為無效。
(3)本實施例被設計為操作管理者設置用于每一路由器的管理表的單個公布目的地。當然,操作管理者可設置兩個或更多公布目的地。此外,可建立與由被設置處理部分350設置的有效條目指定的路由器的新上行鏈路控制連接。
(4)本實施例被設計為適用于每一路由器的每一條目包括物理標識符,用于根據適用于低于數據鏈路層的較低層的通信協議直接標識每一路由器;以及邏輯標識符,用于根據適用于高于網絡層的較高層的通信協議直接標識每一路由器。當然,每一條目可僅包括物理標識符或邏輯標識符。這是因為當條目僅包括邏輯標識符時,可根據ARP(即地址解析協議)從邏輯標識符中標識每一路由器的MAC地址,因此允許基于MAC地址產生物理標識符。此外,當條目僅包括物理標識符時,可基于物理標識符重新生成MAC地址,因此允許根據RARP(即逆ARP)將IP地址(即邏輯標識符)分配給具有該MAC地址的路由器。
(5)本實施例被設計為除了物理標識符和邏輯標識符之外,每一條目包括注冊時間、公布源標識符、密碼、最大基本數、密鑰因子以及PNW標識符六項。關于當寫入管理表的時間經過指定時間時由更新處理部分370刪除的條目,條目無需包括注冊時間。關于不對用于請求建立上行鏈路控制連接的源執(zhí)行認證的條目,條目無需包括密碼。關于一次存儲在管理表中其后由公布處理部分380傳輸而不詢問條目的公布源的條目,該條目無需包括公布源標識符。關于默認值關于所有路由器被預先設置的條目,條目無需包括最大基本數和密鑰因子。此外,可基于物理標識符計算PNW標識符;因此條目無需包括PNW標識符。也就是說,本發(fā)明僅要求存儲在通信裝置的管理表中的每一條目包括物理標識符或邏輯標識符以及控制參數。
(6)本實施例被應用于路由器300,通過路由器300廣域網100和專用網200被連接在一起。當然,本發(fā)明無需應用于路由器300。也就是說,本發(fā)明可應用于諸如數據庫服務器和應用服務器之類的服務器,所述服務器經由廣域網100提供指定的服務,并可應用于諸如執(zhí)行與服務器的通信以接收服務的通信終端的其它類型的通信裝置。
(7)作為本發(fā)明通信裝置的示例,本實施例提供路由器300,包括定時器310、通信接口320、存儲部分330、用戶接口340、設置處理部分350、通信控制部分360、更新處理部分370以及公布處理部分380??砂淳哂谐洚斂刂破鞯腃PU以及定時器310、通信接口320、存儲部分330、用戶接口340的計算機的形式來重新設計路由器300,其中,存儲部分330存儲與前述圖5和圖7示出的流程的內容相應的程序以及管理表。也就是說,計算機通過使控制器執(zhí)行程序而充當本發(fā)明的通信裝置。
(8)前述程序可寫入諸如CD-ROM的計算機可讀存儲介質,其可被發(fā)放給公眾??蛇x地,前述程序可經由諸如互聯網的通信線路而被發(fā)放。也就是說,通用計算機可通過計算機可讀存儲介質或通過通信線路讀取前述程序,從而安裝它們,因此實現了本發(fā)明的通信裝置的前述功能。
權利要求
1.一種用于通過多個通信裝置在廣域網上執(zhí)行通信的通信系統,所述多個通信裝置的每一個包括管理表,用于存儲多個條目,所述多個條目包括用于根據第一通信協議在第一通信裝置和第二通信裝置之間執(zhí)行加密通信的標識符和控制參數;設置處理部分,用于將關于所述第一通信裝置的條目和關于所述第二通信裝置的條目寫入管理表;通信控制部分,根據不同于所述第一通信協議的第二通信協議,建立允許所述管理表的存儲內容被從所述第一通信裝置發(fā)送到所述第二通信裝置的第一連接,其中,當請求時,所述通信控制部分根據第二通信協議建立實現從第三通信裝置接收發(fā)送到其的數據的第二連接;更新處理部分,經由所述第二連接來接收發(fā)送到其的至少一個條目,從而更新所述管理表中除了關于所述第一通信裝置的條目之外的存儲內容;以及公布處理部分,經由所述第一連接周期性地發(fā)送所述管理表的存儲內容,或當所述管理表的存儲內容被更新時,發(fā)送所述管理表的存儲內容。
2.如權利要求1所述的通信系統,其中,所述通信控制部分基于對規(guī)定消息的響應判斷所述第一連接是否有效,其中所述規(guī)定消息經由所述第一連接被從所述第一通信裝置發(fā)送到所述第二通信裝置,其中,當所述第一連接無效時,所述通信控制部分拆除所述第一連接,其后基于所述管理表的存儲內容重新建立新的連接。
3.如權利要求1所述的通信系統,其中,每一通信裝置還包括定時器,其中,當經由所述第二連接接收的條目被寫入所述管理表時,所述更新處理部分從所述定時器讀取寫入時間,并且把所述條目與表示所述寫入時間的時間的數據相關聯地寫入所述管理表,當從由所述時間數據所表示的寫入時間經過規(guī)定時間時,從所述管理表中刪除所述條目。
4.如權利要求1所述的通信系統,其中,當所述更新處理部分將新的條目寫入所述管理表時,關于由包括在所述新的條目中的標識符指定的新的通信裝置來建立所述第一連接。
5.一種存儲有使一臺計算機通過多臺計算機在廣域網上執(zhí)行加密通信的程序的計算機可讀介質,所述程序包括以下步驟在管理表中設置包括標識符和控制參數的多個條目,從而允許根據第一通信協議在第一計算機和第二計算機之間執(zhí)行加密通信;根據不同于所述第一通信協議的第二通信協議,建立允許將所述管理表的存儲內容從所述第一計算機發(fā)送到所述第二計算機的第一連接;當請求時,根據所述第二通信協議,建立實現從第三計算機接收發(fā)送的數據的第二連接;響應于經由所述第二連接發(fā)送的至少一個條目,更新所述管理表中除了所述第一計算機的條目之外的存儲內容;以及經由所述第一連接周期性地發(fā)送所述管理表的存儲內容,或當所述管理表的存儲內容被更新時,經由所述第一連接發(fā)送所述管理表的存儲內容。
6.一種適用于通過多個路由器在廣域網上執(zhí)行的加密通信的通信方法,每一路由器包括存儲有包括標識符和控制參數的多個條目的管理表,所述通信方法包括以下步驟在第一路由器和第二路由器之間建立第一連接,從而關于存儲在所述管理表中的條目,在所述第一路由器和所述第二路由器之間執(zhí)行通信;當請求時,在所述第一路由器和第三路由器之間建立第二連接,從而關于存儲在所述管理表中的條目在所述第一路由器和所述第三路由器之間執(zhí)行通信;以及響應于經由所述第二連接的通信,更新存儲在所述管理表中的除了所述第一路由器的條目之外的條目。
7.如權利要求6所述的通信方法,還包括步驟經由所述第一連接發(fā)送更新的條目。
8.如權利要求6所述的通信方法,還包括步驟經由所述第一連接周期性地發(fā)送存儲在所述管理表中的條目。
全文摘要
通過路由器在廣域網(例如互聯網)上在專用網之間執(zhí)行加密通信,每一路由器包括用于存儲包括標識符和控制參數的條目的管理表。在路由器之間建立上行鏈路控制連接,從而在它們之間相互通信并更新管理表的存儲內容。更新的管理表的存儲內容被公布到其它路由器。可選地,管理表的存儲內容被周期性地公布到其它路由器。因此,操作管理者可減少在路由器的管理表中設置控制參數的手動操作。
文檔編號H04L12/66GK1885805SQ20061008650
公開日2006年12月27日 申請日期2006年6月16日 優(yōu)先權日2005年6月22日
發(fā)明者木村俊洋, 鈴木慎一 申請人:雅馬哈株式會社