用於在IPv6網絡中實現路由優化和位置私密性的方法和設備的製作方法
2023-05-03 13:39:36 1
專利名稱:用於在IPv6網絡中實現路由優化和位置私密性的方法和設備的製作方法
技術領域:
本發明涉及移動IP網絡技術。更具體地說,本發明涉及用於在移動IP環境中實現路由優化而同時保持位置私密性的機制。
背景技術:
移動IP是允許膝上型計算機或其他移動計算機單元(在這裡被稱為「移動節點」)在各種位置處的各種子網之間漫遊而同時保持網際網路和/或WAN連通性的協議。沒有移動IP或相關協議,移動節點在穿過各種子網漫遊時不能保持連接。這是因為任何節點在網際網路上通信所需要的IP位址是位置特定的。每個IP位址都具有規定節點駐留在其上的具體子網的欄位。如果用戶希望攜帶被正常地依附在一個節點上的計算機並用其進行漫遊以使得計算機穿過不同的子網,則計算機不能使用其歸屬IP位址。結果,跨國旅行的商業人士不能僅用他/她的計算機漫遊穿越地理上完全不同的網段或無線節點而同時保持對網際網路的連接。這在可攜式計算裝置的時代裡是不可接受的情況。
為了解決這一問題,開發和實現了移動IP協議。在C.Perkins,Ed.的1996年10月的網絡工作組(Network Working Group)RFC 2002中描述了移動IP的一種實現方式。在Prentice Hall出版的由J.Solomon所著的課本「Mobile IP Unplugged」中也描述了移動IP。所有這些參考文獻都被通過引用全部合併於此。
在移動IPv4中實現的移動IP過程和環境如圖1所示。如圖1所示,移動IP環境2包括網際網路(或WAN)4,移動節點6在該網際網路(或WAN)4上可以通過歸屬代理(agent)8和外地代理10的中介進行通信。通常,歸屬代理和外地代理是路由器或執行由軟體、硬體和/或固件所實現的適當的移動IP功能的其他網絡連接裝置。插入到其歸屬網段的特定移動節點(例如膝上型計算機)通過其指定的歸屬代理與網際網路連接。當移動節點漫遊時,其通過可用的外地代理經由網際網路進行通信。假定認為,存在很多在地理上完全不同的位置處的可用外地代理以允許通過移動IP協議的廣泛延伸的網際網路連接。要注意的是移動節點可以直接向其歸屬代理註冊。
如圖1所示,移動節點6正常地駐留在(或「基於」)網段12上,網段12允許其網絡實體通過歸屬代理8(表示為R2的適當配置的路由器)在網際網路4上進行通信。要注意的是歸屬代理8不必直接連接到網際網路。例如,如圖1所示,它可以通過另一路由器(在該情況中為路由器R1)而被連接。路由器R1可以依次將一個或多個其他的路由器(例如路由器R3)與網際網路連接。
現在,假設移動節點6被從其歸屬地網段12上移除並漫遊到遠程網段14。網段14可以包括諸如PC 16之類的各種其他節點。網段14上的節點通過兼用作外地代理10的路由器與網際網路進行通信。移動節點6可以通過形成移動IP協議一部分的各種請求和公告(advertisement)而識別外地代理10。當移動節點6與網段14接合時,外地代理10將註冊請求中繼給歸屬代理8(如虛線「註冊」所示)。然後歸屬代理和外地代理可以協商移動節點依附到外地代理10的條件。例如,依附可以被限制在一段時間內,例如兩小時。當協商被成功地完成時,歸屬代理8更新內部的「移動綁定表」,該表規定了與移動節點6的身份相關聯的轉交地址(例如搭配的轉交地址或外地代理的IP位址)。此外,外地代理10更新內部的「訪問者表」,該表規定了移動節點地址、歸屬代理地址等。實際上,移動節點的歸屬地IP位址(與段12相關聯)被更換為外地代理的IP位址(與段14相關聯)。
現在,假設移動節點6希望從其新位置發送消息到通信節點18。然後來自移動節點的消息根據標準網際網路協議被分組,並且被通過外地代理10在網際網路4上傳輸並被轉發給通信節點18(如虛線「來自MN的分組」所示)。如果通信節點18希望發送消息到移動節點(不管是因為答覆來自移動節點的消息還是因為任何其他原因),則它將該消息發送給子網12上的移動節點6的IP位址。然後該消息的分組被在網際網路4上傳輸並被轉發給路由器R1,最後被轉發給歸屬代理8,如虛線(「到MN(1)的分組」)所示。歸屬代理8從其移動綁定表中得知到移動節點6不再依附在網段12上。然後歸屬代理8根據移動IP協議對來自通信節點18的分組(這些分組去往在網段12上的移動節點6)進行封裝,並將這些封裝後的分組轉發給用於移動節點6的「轉交」地址,如虛線(「到MN(2)的分組」)所示。轉交地址例如可以是外地代理10的IP位址。然後外地代理10剝去封裝並將消息轉發給在子網14上的移動節點6。由歸屬代理和外地代理所實現的分組轉發機制經常被稱為「隧道傳輸(tunneling)」。
由D.Johnson等人在2004年6月所發表的題目為「Mobility Support inIPv6」的RFC 3775公開了一種使節點在IPv6中漫遊時保持可達的協議。該RFC定義了歸屬代理(HA)、移動節點(MN)和通信節點(CN)的實體,並且描述了關於IPv6環境的移動IP註冊過程。該草案被通過引用合併於此。
為了優化分組被通過其從通信節點路由到移動節點的路由,希望使通信節點能夠直接與移動節點進行通信。這一般用兩種不同的方法來實現,如RFC 3775「Mobility Support in IPv6」所述。首先,可以由通信節點在通信節點和移動節點之間建立隧道。其次,移動節點可以發送綁定更新消息到通信節點,以使通信節點能夠直接將分組發送給移動節點。
如上所述,RFC 3775「Mobility Support in IPv6」規定了一種用於執行移動節點和通信節點之間的路由優化的方法。在所公開的路由優化過程期間,移動節點將其轉交地址(即外地網上的位置)通過綁定更新消息提供給通信節點。與在移動IPv4中通過外地代理而執行的註冊過程相比,在移動IPv6中,通過移動節點的共同定位(co-locate)的轉交地址而執行註冊。換句話說,轉交地址與移動節點相關聯,而不是與分離實體相關聯。這使得通信節點能夠直接將數據分組發送給移動節點,而不是將流量路由到歸屬代理。雖然這是路由優化所希望的,但是該方法不保護移動節點的位置私密性。
一般來說,服務提供商希望為其客戶提供最佳服務。因此,路由優化是希望的特徵,它使得數據流量能夠以高效的方式被傳輸。因此,希望從移動節點和通信節點之間的流量路由中去除歸屬代理。然而,向通信節點公開移動節點的位置對它們的客戶來說是不可接受的私密性的損失。
考慮到上述方面,如果能夠實現路由優化而不犧牲位置私密性則是有益的。而且,如果這樣的優化方案能夠在移動IPv6環境中應用並且與其他版本的移動IP兼容也是有益的。
發明內容
本發明使得在保持節點的位置私密性的同時實現了路由優化。這部分地通過分布式的結構來實現。以這種方式,諸如支持移動IP的移動節點之類的節點的轉交地址和位置對與該節點通信的通信節點隱藏。
根據本發明的一個方面,通過起區域控制器作用的本地移動錨而執行註冊,當節點在與本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。在初始註冊過程期間,註冊請求被本地移動錨轉發給歸屬代理。創建歸屬代理與本地移動錨之間的隧道以使得分組能夠被歸屬代理轉發給本地移動錨。另外,創建移動綁定表條目,以使得產生節點與節點的轉交地址之間的綁定。隨後,如果在服務提供商網絡邊緣處的網關路由器不在節點的轉交地址的佔據範圍內,則其可以向歸屬代理查詢節點的轉交地址。
根據本發明的另一方面,可以通過接入路由器代表節點形成註冊請求。例如,接入路由器可以是第一跳路由器。接入路由器和本地移動錨可以被分開實現。或者,接入路由器和本地移動錨可以在一個裝置中被實現。換句話說,本地移動錨可以是第一跳路由器。
根據本發明的另一方面,當節點在與本地移動錨相關聯的區域內移動時,第二註冊請求被發送給本地移動錨以進行處理。本地移動錨用先前在初始認證期間所獲得的(例如從中央伺服器獲得的)認證信息認證節點。重要的是要注意到第二註冊請求不被轉發給歸屬代理。以這種方式,在註冊過程期間實現優化。當本地移動錨在接入路由器中被實現時,註冊分組可以被轉發給歸屬代理,其中本地移動錨不充當區域控制器。
根據本發明的另一方面,當節點移入與第二本地移動錨相關聯的第二區域並移出與第一本地移動錨相關聯的第一區域時,第二註冊請求被通過第二本地移動錨發送給歸屬代理,其中所述第二本地移動錨是區域控制器,當節點在與第二本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。另外,創建歸屬代理和第二本地移動錨之間的隧道以使分組被歸屬代理轉發給第二本地移動錨。
根據本發明的另一方面,通知第一本地移動錨節點移到了與第二本地移動錨相關聯的區域。這例如可以由歸屬代理來完成。然後可以產生第一本地移動錨和第二本地移動錨之間的隧道,從而使傳輸中的分組能夠被從第一本地移動錨路由到第二本地移動錨。
根據本發明的另一方面,到通信節點和來自通信節點的分組被通過在服務提供商網絡邊緣處的網關路由器而隧道傳輸。由於與通信節點通信的節點可能與多個通信節點通信,因此使用恰當的隧道將分組從節點傳輸到通信節點是很重要的。因此,當分組被節點發送給通信節點時,本地移動錨識別在本地移動錨和網關路由器之間的雙向隧道,該隧道既與節點對應,又與通信節點對應。然後數據分組可以被通過在本地移動錨和網關路由器之間的識別出的雙向隧道而轉發。
根據本發明的另一方面,當在服務提供商網絡邊緣處的網關路由器從通信節點接收到去往節點的分組時,網關路由器確定其是否具有用於節點的轉交地址。如果沒有,則網關路由器將轉交地址位置請求發送給與節點相關聯的歸屬代理,以請求與節點相關聯的轉交地址。作為響應,網關路由器接收到與節點相關聯的轉交地址和指示本地移動錨的路由路徑,去往節點的分組被通過該本地移動錨而隧道傳輸。當節點在區域間移動,移到另一本地移動錨時,先前的本地移動錨通知網關路由器節點移到了與新的本地移動錨相關聯的區域。例如,通知可以在網關路由器將去往節點的數據分組發送給先前的本地移動錨時被發送給網關路由器。然後響應於通知消息在網關路由器和第二本地移動錨之間產生隧道。已經被路由到第一本地移動錨的去往節點的數據分組被通過在第一本地移動錨和第二本地移動錨之間的隧道路由到第二本地移動錨。新接收的去往節點的分組隨後被網關路由器路由到第二本地移動錨。
根據本發明的另一方面,如果網關路由器沒有用於移動節點的轉交地址,則其將分組像其他分組那樣轉發/路由,並且將轉交地址位置請求消息發送給本地移動錨。如果本地移動錨知道移動節點的位置,則其更新網關路由器。然後網關路由器開始將分組隧道傳輸到從本地移動錨所接收的地址。要注意的是該地址可以是歸屬代理的地址(如果移動節點處於休眠狀態),或者移動節點的轉交地址(如果移動節點是活躍的並且拋錨在接入路由器處)。如果本地移動錨不知道移動節點的位置,則本地移動錨開始對移動節點的尋呼。具體地說,當本地移動錨從網關路由器接收到轉交地址位置請求時,本地移動錨將尋呼消息發送給適當的接入路由器,該接入路由器叫醒移動節點。然後移動節點向歸屬代理進行註冊,歸屬代理創建綁定條目和到移動節點的主機路由(例如隧道),並通知本地移動錨移動節點通過接入路由器向歸屬代理進行了註冊。
根據本發明的另一方面,本發明涉及可被操作用來代表節點執行和/或發起代理註冊而同時實現路由優化和位置私密性的系統。該系統包括一個或多個處理器和一個或多個存儲器。這些存儲器和處理器中的至少一個適於提供上述方法操作中的至少一些。在另一實施例中,本發明涉及執行所公開的方法的電腦程式產品。該電腦程式產品至少具有一個計算機可讀介質和存儲在所述至少一個計算機可讀介質上的電腦程式指令,所述至少一個計算機可讀介質被配置為至少執行上述方法操作中的一些。
在本發明下面的說明書和附圖中,將更詳細地介紹本發明的這些特徵和其他特徵,說明書和附圖通過例示本發明的原理而對其進行說明。
圖1示出了移動IP網段和相關環境;圖2示出了可以實現本發明的系統;圖3的事務流程圖示出了根據本發明一個實施例代表節點執行代理註冊的方法;圖4的事務流程圖示出了根據本發明一個實施例在通信節點和一節點之間路由流量的方法;圖5的事務流程圖示出了根據本發明一個實施例當節點在特定區域內移動時,執行節點的代理註冊的方法;圖6的事務流程圖示出了根據本發明一個實施例在節點在所述區域內移動之後,將流量從通信節點路由到所述節點的方法;圖7的事務流程圖示出了根據本發明一個實施例當節點在區域間移動時,執行節點的代理註冊的方法;圖8的事務流程圖示出了根據本發明一個實施例在節點在區域間移動之後,將流量從通信節點路由到所述節點的方法;以及圖9是可以實現本發明實施例的路由器的圖示。
具體實施例方式
現在將詳細參考本發明的具體實施例。在附圖中示出了該實施例的示例。雖然將結合該具體實施例描述本發明,但是要了解到這並不是希望將本發明限制為一個實施例。相反,希望覆蓋如所附權利要求所限定的可以被包括在本發明的精神和範圍之內的替換物、修改和等同物。在下面的描述中,敘述了很多具體細節以提供對本發明的全面理解。在沒有這些具體細節中的一些或者全部的情況下,也可以實施本發明。在其他示例中,沒有詳細地描述公知的過程操作以避免不必要地模糊本發明。
不幸的是,一些節點未配置有移動IP軟體。由於節點可能不支持移動IP,因此在網絡內改變其位置的節點不能向其歸屬代理髮起註冊。為了克服移動IP客戶端軟體的缺乏所帶來的限制,可以代表節點執行代理移動IP支持(即代理註冊,proxy registration)。當實現代理移動IP時,通過代表所述節點的代理節點來執行註冊。
根據一個實施例,本發明通過代表節點而執行的代理註冊支持路由優化。雖然節點可以支持移動IP,但是不必啟用移動IP。類似地,通信節點可以是支持移動IP的依附到接入路由器的移動節點。在下面的描述中,所述節點被描述為支持移動IP的移動節點。然而,該示例僅僅是說明性的,並且所述節點和通信節點不必配置有移動IP軟體。
所公開的實施例可以在IPv6網絡中應用,也可在移動IPv6環境中應用。以這種方式,可以抽取移動IPv6的好處。然而,重要的是要注意到所描述的實施例在支持其他版本的IP和移動IP的環境中可以同樣適用。
圖2示出了可以實現本發明的系統202。如圖2所示,分布式的結構使得當節點在網內或網間漫遊時能夠實現路由優化而同時保持節點的位置私密性。該分布式的結構包括一個或多個接入路由器(AR),包括AR2204和AR3 206。根據一個實施例,接入路由器204和206是第一跳路由器。另外,提供了一個或多個本地移動錨(anchor) (LMA),LMA1208和LMA2 210。每個本地移動錨都是區域控制器,當節點在與該本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。換句話說,每個本地移動錨在節點位於與該本地移動錨相關聯的區域內時充當所述節點的歸屬代理。因此,雖然當節點214在網區間漫遊時,歸屬代理212被聯繫,但是當節點214(例如移動節點)在特定的網區內移動時,歸屬代理212不必被聯繫。以這種方式,優化了註冊過程。重要的是要注意到雖然接入路由器和本地移動錨被說明為分離實體,但是接入路由器和本地移動錨可以被實現在一起,以使得每個接入路由器—本地移動錨組合被實現在單個網絡設備(例如路由器)中。
在初始註冊過程中,可以將歸屬代理212指派給移動節點214以建立移動節點—歸屬代理映射216。移動節點的初始認證可以通過諸如AAA伺服器218之類的中央伺服器來完成。然後AAA伺服器218可以將相關的認證信息提供給歸屬代理212以使得歸屬代理212能夠認證該移動節點。然後歸屬代理212可以將信息提供給本地移動錨,以使得當移動節點214在與本地移動錨相關聯的區域內漫遊時,本地移動錨能夠認證移動節點214。
根據一個實施例,集於中心的伺服器提供認證服務和/或授權服務。當認證確定實體是「誰」時,授權確定允許用戶執行或訪問的服務。因此,可以採用通常所說的「AAA」或3A伺服器的一類伺服器。AAA代表認證、授權和記帳。可以實現諸如遠程認證撥入用戶服務(RADIUS)、TACACS+和Diameter之類的各種協議以提供這樣的伺服器。注意到將記帳信息提供給伺服器的歸屬代理或外地代理必須提供AAA伺服器協議所需格式的通信。RFC 2138描述了RADIUS協議,並被通過引用合併於此。類似地,RFC 1492描述了TACACS,在http://www.ietf.org/internet-drafts/draft-grant-tacacs-02.txt可得到的網際網路草案「The TACACS+Protocol Version 1.78」描述了TACACS+。RFC 3588描述了Diameter基礎協議(Base Protocol)。這些文獻中的每一篇都被通過引用合併於此。
當移動節點214在與本地移動錨相關聯的單個網區內漫遊時,經由本地移動錨執行註冊。然而,當移動節點214在與兩個不同的本地移動錨相關聯的兩個不同網區中的接入路由器之間漫遊時,歸屬代理被更新以使其知道新的本地移動錨。另外,通知相關的本地移動錨以使得新的本地移動錨接收相關的認證信息,並且前一本地移動錨知道將已經在運輸中的流量轉發給新的本地移動錨。
通信節點218在服務提供商網絡的邊緣處經由網關路由器(BR)220連接到服務提供商網絡。網關路由器220可以用各種節點的歸屬子網配置,這將使得網關路由器220能夠確定特定節點是在漫遊還是在其歸屬網絡中。另外,子網信息可以使網關路由器220能夠確定與節點(例如移動節點)214相對應的歸屬代理212。為了與移動節點214通信,通信節點218發送去往移動節點214的分組(例如在其歸屬地址)。重要的是要注意到雖然通信節點可能知道移動節點的歸屬地址,但是通信節點將不會知道移動節點的轉交地址。相反,在從通信節點218接收到去往移動節點的歸屬地址的數據分組之後,網關路由器220將通過查詢歸屬代理212來確定移動節點214的位置(例如轉交地址),其中歸屬代理212支持具有規定歸屬地址的移動節點。因此,網關路由器220將接收移動節點的位置(例如轉交地址),而同時保護轉交地址並因此保護移動節點的網絡位置,以免通信節點218知道。另外,網關路由器220將被告知路由路徑(例如本地移動錨地址),從而使網關路由器220能夠將分組從通信節點218路由到移動節點214。因此,移動節點214和通信節點218仍不知道路由優化。
圖3的事務流程圖示出了根據本發明一個實施例代表節點執行代理註冊的方法。如圖所示,由節點(例如移動節點)302、接入路由器304、AAA伺服器306、本地移動錨308和歸屬代理310所執行的過程用相應的垂直線表示。在該示例中,在312認證會話。例如,在點到點協議(PPP)認證期間,認證可以包括提供安全性關聯和會話證書(例如用戶名和密碼)。
在網絡工作組1999年1月的RFC 2486中提出了一種用於識別用戶的標準化方法,該方法被通過引用合併於此,該方法提出了網絡訪問標識符(NAI),即在點到點協議(PPP)認證期間由客戶端所提交的用戶ID的句法。因此,當基於NAI認證客戶端時,可以分配IP位址供客戶端使用。因此,在一個實施例中,用網絡訪問標識符(NAI)擴展來識別節點。
當接入路由器接收到認證請求時,其檢查會話證書(例如用戶名和密碼),並用安全性關聯認證節點。然而,接入路由器可能沒有用於節點的會話證書和/或安全性關聯。因此,在314,接入路由器可以聯繫本地移動錨以認證會話。由於本地移動錨可能還沒有用於節點的會話證書或安全性關聯,因此其可能將請求轉發給諸如AAA伺服器之類的中央伺服器,如316所示。另外,使得節點能夠被認證的認證信息(例如安全性關聯和會話證書)此時可以由AAA伺服器提供給本地移動錨。這使得當節點在其向歸屬代理進行了註冊的區域內移動時,本地移動錨能夠隨後認證該節點。
當AAA伺服器在316接收到包括安全性關聯的認證請求時,AAA伺服器在318用安全性關聯認證節點。AAA伺服器確定是否存在節點到歸屬代理的映射。如果不存在映射,則一歸屬代理被指派給該節點。然後在320,AAA伺服器將指示認證是否成功的認證答覆發送給接入路由器。如果一個歸屬代理被最近指派給節點,則認證答覆可以包括歸屬代理地址。當接入路由器接收到認證答覆時,其可以隨後在321將認證答覆提供給節點。
另外,在322,AAA伺服器將與節點相關聯的策略提供給歸屬代理。AAA伺服器還將密鑰提供給歸屬代理以用於認證節點。所述策略可以包括多種信息,這些信息包括節點能夠從其接收通信的TP地址和/或節點能夠向其發送通信的IP位址。另外,所述策略可以指示不能向其發送通信或者不能從其接收通信的那些IP位址。所述策略可以包括對節點可用的服務類型。
由於節點可能沒有指派給它的IP位址,因此可以在324將IP位址分配給節點。例如,IP位址可以是IPv6地址。可以代表節點用IP位址或不用IP位址形成註冊請求。
接入路由器在326形成包括IP位址的註冊請求(例如綁定更新),並在328將該註冊請求發送給本地移動錨。當本地移動錨接收到該註冊請求時,它在330將該註冊請求轉發給歸屬代理。
當歸屬代理接收到註冊請求時,它在332用先前提供給它的密鑰認證節點。另外,創建歸屬代理和本地移動錨之間的雙向隧道,並產生用於節點的路由表條目,該路由表條目指示去往節點的所有分組應該被經由雙向隧道路由到本地移動錨。移動綁定表條目使節點與其轉交地址關聯。隨後,在服務提供商網絡邊緣的網關路由器可以向歸屬代理查詢節點的轉交地址以及路由信息。
在334,歸屬代理形成註冊答覆(例如綁定確認)並將其發送給本地移動錨。註冊答覆可以包括與節點相關聯的策略以及用於認證節點的密鑰。因此,一旦本地移動錨接收到密鑰,它就可以隨後在節點在與本地移動錨相關聯的區域內漫遊時認證節點。
當本地移動錨接收到註冊答覆時,其存儲密鑰和相關聯的策略。另外,在336,它創建本地移動錨和接入路由器之間的隧道,並創建用於將分組經由隧道路由到接入路由器的節點的相應路由表條目。
然後在338,本地移動錨將註冊答覆發送給接入路由器。註冊答覆可以包括與節點相關聯的策略,以使接入路由器能夠過濾由節點所發送的分組或發送給節點的分組。然後在340,接入路由器創建接入路由器和本地移動錨之間的隧道。
重要的是要注意到在上述示例中,在執行註冊之前認證用戶。然而,認證證書可以被嵌入在註冊消息中。因此,認證可以與註冊一起被執行,而不是如上述那樣被分開執行。因此,在執行了註冊之後,認證答覆可以在342由接入路由器發送給節點。
圖4的事務流程圖示出了根據本發明一個實施例在通信節點和一節點之間路由流量的方法。如圖所示,由在服務提供商網絡邊緣的網關路由器402和通信節點404所執行的步驟用垂直線表示。當通信節點404在406將去往節點的數據分組發送給網關路由器402時,網關路由器確定其是否具有用於該節點的轉交地址。如果網關路由器沒有用於該節點的轉交地址,則網關路由器在408將請求與該節點相關聯的轉交地址的轉交地址位置請求發送給歸屬代理。另外,在410,由網關路由器從通信節點所接收的數據分組被轉發給歸屬代理直到建立了路由優化,以使得數據分組可以直接在網關路由器和本地移動錨之間傳輸。然後由歸屬代理所接收的數據分組在412被轉發給本地移動錨,接下來在414被轉發給接入路由器,從而防止接入路由器的身份被通信節點發現。然後在416,由接入路由器將數據分組轉發給移動節點。因此,由網關路由器所接收的數據分組被經由歸屬代理轉發直到建立了路由優化,以使得數據分組可以直接在網關路由器和本地移動錨之間傳輸。
當歸屬代理從請求來自歸屬代理的與節點相關聯的轉交地址的網關路由器接收到轉交地址位置請求時,歸屬代理在418將轉交地址和標識本地移動錨的路由路徑提供給網關路由器,從而使網關路由器能夠將去往節點的數據分組和從通信節點所接收的數據分組轉發給本地移動錨。在一些以其他版本的IP實現的實施例中,轉交地址可以標識本地移動錨或第一跳路由器(例如接入路由器),而不是節點。根據該信息,可以建立網關路由器和本地移動錨之間的雙向隧道。另外,與節點相關聯的策略可以由歸屬代理提供給網關路由器,從而使網關路由器能夠應用該策略以過濾由通信節點發送給該節點的分組或由該節點發送給通信節點的分組。
一旦網關路由器接收了轉交地址和路由路徑,就可以通過從數據路徑中去除歸屬代理而實現路由優化。如圖所示,當去往所述節點的數據分組在420由網關路由器接收到時,網關路由器在422將數據分組隧道傳輸到本地移動錨。然後在424,本地移動錨將數據分組隧道傳輸到接入路由器,從而防止接入路由器的身份被通信節點發現。然後在426,數據分組由接入路由器轉發給該節點。
重要的是要注意到由於路由優化,歸屬代理被從數據路徑中去除。然而,當數據分組在沒有執行路由優化時被發送到該節點時,數據分組繼續被轉發給歸屬代理。然後歸屬代理根據傳統過程將分組路由到位於其轉交地址的節點。
類似地,在節點將分組發送給通信節點時執行路由優化。具體地說,在428,將分組反向隧道傳輸到本地移動錨。然後在430,接入路由器將分組隧道傳輸到本地移動錨。當本地移動錨從節點接收到去往通信節點的數據分組時,它需要識別將數據分組隧道傳輸到通信節點的適當隧道。換句話說,所述節點可以與多個通信節點通信。因此,需要識別合適的隧道。因此本地移動錨識別本地移動錨和網關路由器之間的雙向隧道,其中所述雙向隧道既與所述節點相關聯,又與通信節點相關聯。然後在432,本地移動錨經由本地移動錨和網關路由器之間的適當的雙向隧道轉發數據分組。然後在434,網關路由器將數據分組發送給通信節點。以這種方式,通過從數據路徑中去除歸屬代理而實現路由優化。
圖5的事務流程圖示出了根據本發明一個實施例當節點在與本地移動錨相關聯的區域內漫遊時,執行節點註冊的方法。由第二接入路由器(AR2)所執行的過程用垂直線502表示。如圖所示,在504,節點通過提交其安全性關聯和會話證書而被第二接入路由器認證。例如,這可以在PPP認證期間執行。在506,第二接入路由器將會話證書轉發給本地移動錨。由於本地移動錨先前已獲得了節點的安全性關聯和會話證書,因此其現在可以在508獨立地認證節點。然後在510,本地移動錨可以通知第二接入路由器會話已經被認證。然後在511,認證答覆可以由第二接入路由器發送到節點。
然後第二接入路由器代表節點形成第二註冊請求,並在512將包括安全性關聯的註冊請求發送給本地移動錨。本地移動錨處理註冊請求以確定節點是否被通過應用先前獲得的安全性關聯而被成功地認證。在成功認證之後,在514建立本地移動錨和第二接入路由器之間的雙向隧道。另外,創建路由表條目以使得用於節點的路由路徑被與雙向隧道關聯。然後本地移動錨形成註冊答覆,並在516將其發送給第二接入路由器,此時創建了從第二接入路由器到本地移動錨的隧道。如圖所示,第二註冊請求不被轉發給歸屬代理。此外,重要的是要注意到當節點在與單個本地移動錨相關聯的特定區域內移動時,網關路由器不必被通知。
由於節點從第一接入路由器漫遊,因此可能希望在518清除(clear)第一接入路由器和本地移動錨之間的雙向隧道。當然,希望將已經在傳輸中的流量轉發給節點。這可以通過已經被建立的第一接入路由器和本地移動錨之間的隧道來完成。或者,可能希望在第一接入路由器和第二接入路由器之間產生臨時的雙向隧道,從而使傳輸中的流量由第一接入路由器轉發給第二接入路由器。
在上述示例中,在執行註冊之前認證用戶。然而,認證證書可以被嵌入在註冊消息中。因此,認證可以與註冊一起被執行,而不是如上述那樣被分開執行。因此,在執行了註冊之後,認證答覆可以在520由第二接入路由器發送給節點。
圖6的事務流程圖示出了根據本發明一個實施例在節點在與本地移動錨相關聯的區域內移動之後,將流量從通信節點路由到所述節點的方法。如圖所示,當通信節點在602將數據分組發送給網關路由器時,網關路由器在604經由本地移動錨和網關路由器之間的雙向隧道將數據分組轉發給本地移動錨。在606,由本地移動錨所接收並去往節點的數據分組被通過建立在本地移動錨和第二接入路由器之間的隧道轉發給第二接入路由器。然後在608,數據分組被第二接入路由器路由到節點。
圖7的事務流程圖示出了根據本發明一個實施例當節點在與兩個不同的本地移動錨相關聯的區域之間移動時,執行節點的代理註冊的方法。在該示例中,節點漫遊到與第二本地移動錨(LMA2)704相關聯的另一區域中的第三接入路由器(AR3)702。在706,節點通過提供其會話證書(例如用戶名和密碼)被第三接入路由器認證。在708,第三接入路由器將會話證書轉發給第二本地移動錨。此時,第二本地移動錨獲得節點的AAA和會話證書以及節點的歸屬代理映射。第二本地移動錨用會話證書認證節點。為了獲得會話證書,本地移動錨可以聯繫AAA伺服器。在710,指示節點已被認證的認證答覆由第二本地移動錨發送給第三接入路由器。該答覆分組也可以標識歸屬代理地址以及安全性關聯。然後在711,認證答覆可以由第三接入路由器發送給節點。
一旦認證了會話,就可以代表節點形成第二註冊請求。根據一個實施例,第三接入路由器在712形成包括安全性關聯的第二註冊請求,並且當節點移入與第二本地移動錨相關聯的區域並移出與第一本地移動錨相關聯的區域時,第三接入路由器在714將第二註冊請求經由第二本地移動錨發送給歸屬代理,其中第二本地移動錨是區域控制器,當節點在與第二本地移動錨相關聯的區域內移動時,經由該區域控制器執行註冊。然後在716,第二本地移動錨將註冊請求轉發給歸屬代理。歸屬代理用安全性關聯認證節點,並且創建移動綁定表條目以產生節點和轉交地址之間的綁定。另外,在718,創建用於節點的路由表條目以產生歸屬代理和第二本地移動錨之間的隧道。
然後通知第一本地移動錨節點移到了與第二本地移動錨相關聯的區域。具體地說,在一個實施例中,在720,歸屬代理將指示節點移到了與第二本地移動錨相關聯的區域的通知發送給第一本地移動錨。或者,歸屬代理可以通知第二本地移動錨,以使得第二本地移動錨用信號通知第一本地移動錨節點移到了與第二本地移動錨相關聯的區域。為了使第一本地移動錨能夠將已經在傳輸中的分組路由到第二本地移動錨,在722,響應於通知而產生第一本地移動錨和第二本地移動錨之間的隧道。然後創建用於節點的路由表條目以使得經由隧道路由去往節點的分組。
在724,歸屬代理形成註冊答覆並將其發送給第二本地移動錨。註冊答覆可以包括與節點相關聯的策略,從而使第二本地移動錨能夠根據建立的策略過濾分組。在726,第二本地移動錨接受註冊,並且產生第二本地移動錨和第三接入路由器之間的雙向隧道,從而使分組能夠被第二本地移動錨路由到第三接入路由器。然後創建相應的路由表條目以使得去往節點的分組能夠被第二本地移動錨路由到第三接入路由器。然後在728,第二本地移動錨將註冊答覆(和相關的策略)轉發給第三接入路由器。隨後第三接入路由器可以應用該策略以過濾發送給節點的分組和從節點所發送的分組。然後在730,第三接入路由器創建路由表條目和相關的第三接入路由器與第二本地移動錨之間的隧道。
在上述示例中,在執行註冊之前認證用戶。然而,認證證書可以被嵌入在註冊信息中。因此,認證可以與註冊一起被執行,而不是如上述那樣被分開執行。因此,在執行了註冊之後,認證答覆可以在732被第三接入路由器發送給節點。
圖8的事務流程圖示出了根據本發明一個實施例在節點在區域之間移動之後,將流量從通信節點路由到所述節點的方法。如圖所示,當去往節點的數據分組在802由網關路由器從通信節點接收到時,傳輸中的數據分組在804被網關路由器轉發給第一本地移動錨直到執行了路由優化,以使得在806通知網關路由器節點移到了與第二本地移動錨相關聯的區域。具體地說,當在第一本地移動錨接收到來自網關路由器的去往節點的數據分組時,第一本地移動錨通知網關路由器節點移到了與第二本地移動錨相關聯的區域。例如,這可以通過綁定更新消息來實現,該綁定更新消息指示去往節點的數據分組將被轉發給本地移動錨。或者,第一本地移動錨可以簡單地通知網關路由器清除其路由緩存。然後如上所述,網關路由器將為了該路由信息而聯繫歸屬代理(例如使用轉交地址位置請求)。然後在網關路由器和第二本地移動錨之間建立隧道,並且由網關路由器創建用於節點的路由表條目,以使得利用所建立的隧道路由分組。在808,由第一本地移動錨所接收的分組被經由先前所建立的臨時隧道轉發給第二本地移動錨。第二本地移動錨在810將數據分組轉發給第三接入路由器,該第三接入路由器在812將數據分組轉發給節點。
一旦建立了路由優化,由網關路由器在814所接收的數據分組在816被用先前建立的第一本地移動錨和第二本地移動錨之間的隧道經由第二本地移動錨而路由。因此,隨後被網關路由器轉發的去往節點的數據分組將經由第二本地移動錨而被路由,而已經在傳輸中的數據分組將繼續經由第一本地移動錨而被路由。換句話說,已經在傳輸中的去往節點的數據分組將被從第一本地移動錨路由到第二本地移動錨直到建立了路由優化,以使得建立網關路由器和第二本地移動錨之間的雙向隧道。隨後在818,數據分組被第二本地移動錨轉發給第三接入路由器。在820,第三接入路由器將數據分組轉發給節點。
在一些情況中,移動節點可能進入休眠(dormant)模式。在這種情況中,移動節點近乎處於關斷模式——只有無線電起作用。移動節點通知接入路由器移動節點正在轉換或已經轉換成休眠模式。該通知包括第2層信息,並可能包括諸如IP位址、NAI、歸屬代理地址等的第3層信息。
接入路由器通知移動節點的歸屬代理移動節點正在進入休眠模式或已經進入休眠模式。歸屬代理清除用於移動節點的綁定和用於移動節點的主機路由(如果它們存在於歸屬代理處)。然後歸屬代理告知本地移動錨關於MN的狀態(即移動節點處於休眠模式或正在轉換成休眠模式),並指示該消息來自特定的接入路由器。
本地移動錨更新其內部狀態以指示移動節點處於休眠模式,也可以指示移動節點位於接入路由器的尋呼區中(在本地移動錨需要叫醒移動節點的情況中)。
如果移動節點在處於休眠模式期間移到另一第二接入路由器,並且該第二接入路由器與第一接入路由器位於相同的尋呼區中,則什麼也不發生並且不必通知歸屬代理/本地移動錨。
如果移動節點移到位於不同尋呼區中的另一第三接入路由器,則移動節點通知該第三接入路由器其正在轉換或已經轉換成休眠模式。第三接入路由器通知歸屬代理關於該狀態轉換(像第一接入路由器最初所做的那樣)。雖然歸屬代理沒有任何用於移動節點的綁定/路由,但是其通知本地移動錨移動節點處於休眠模式並且位於與第三接入路由器相關聯的區域中。然後本地移動錨更新其內部狀態以包括移動節點的位置。
現在,通信節點將流量發送給MN,流量在提供商網絡的邊緣處被網關路由器攔截。網關路由器正常地轉發流量並產生被發送給本地移動錨的關於網絡節點位置的轉交地址位置查詢。網關路由器可以抑制(dampen)這樣的請求(例如如果它被配置為周期性地發送這些請求則周期性地發送這些請求,並且/或者僅對某些規定的移動節點發送這些請求)。
如果移動節點處於休眠模式,則分組被轉發給沒有用於移動節點的路由的歸屬代理。歸屬代理臨時緩衝這些分組(例如將這些分組轉發到存儲分組的緩衝管理器)。從網關路由器接收到查詢的本地移動錨將尋呼消息發送給第三接入路由器,第三接入路由器叫醒移動節點。移動節點向歸屬代理進行註冊,歸屬代理創建綁定條目和到移動節點的主機路由(例如隧道),並且通過第三接入路由器通知本地移動錨移動節點向歸屬代理進行了註冊。
如果網關路由器從本地移動錨接收到第三接入路由器的地址,則網關路由器隨後將分組隧道傳輸到第三接入路由器。可選地,由於移動節點處於休眠模式,所以本地移動錨就將歸屬代理地址返回給網關路由器。在該情況中,網關路由器開始將分組隧道傳輸到在網關路由器/HA隧道(用網關路由器地址作為隧道的源地址)上的歸屬代理。這些分組可以被緩衝,如上所述。
當移動節點向歸屬代理進行註冊時,歸屬代理將緩衝的分組轉發給移動節點。從網關路由器隧道傳輸到歸屬代理的緩衝的分組被去隧道化(detunnel)並被轉發(再次隧道傳輸)給移動節點。當分組被去隧道化時,歸屬代理知道了網關路由器地址,並且通知網關路由器直接將分組轉發/隧道傳輸到移動節點(如果該移動節點具有通過策略而啟用的路由優化)。以這種方式,從網關路由器到歸屬代理的隧道傳輸讓歸屬代理知道當移動節點變得活躍(active)時,要通知誰(例如適當的網關路由器)進行路由優化。
本發明也可以被實施為計算機可讀介質上的計算機可讀代碼。計算機可讀介質是能夠存儲數據的任何數據存儲裝置,這些數據隨後可以被計算機系統讀取。計算機可讀介質的示例包括只讀存儲器、隨機存取存儲器、CD-ROM、磁帶和光數據存儲裝置。
本發明的設備(例如節點、移動節點、歸屬代理、網關路由器、本地移動錨或接入路由器)可以根據需要而具體構建,或者可以是由存儲在存儲器中的電腦程式選擇性地激活或再配置的通用可編程機器。在這裡所示出的過程本質上並不涉及任何特定的路由器或其他設備。在優選實施例中,本發明的任何歸屬代理、網關路由器、本地移動錨或接入路由器都可以是被具體地配置的路由器,例如可以從San Jose,California的CiscoSystems,Inc.得到的被特別配置的路由器型號2500、2600、3600、4000、4500、4700、7200和7500。用於這些機器中的一些機器的一般結構將在下面給出的描述中出現。
一般來說,本發明的代理註冊技術可以在軟體和/或硬體上被實現。例如,它可以在實現在作業系統核中、在分離的用戶過程中、在被綁定到網絡應用程式中的庫程序包中、在被具體地構建的機器上或者在網絡接口卡上。在本發明的特定實施例中,本發明的技術是在諸如作業系統之類的軟體中或者在作業系統上運行的應用程式中被實現的。
本發明的軟體代理註冊系統或軟體/硬體混合代理註冊系統被優選地在通用可編程機器上實現,該通用可編程機器由存儲在存儲器中的電腦程式選擇性地激活或再配置。這樣的可編程機器可以是被設計用來處理網絡流量的網絡裝置。這樣的網絡裝置一般具有多個網絡接口,例如包括幀中繼、ISDN和無線接口。這樣的網絡裝置的特定示例包括路由器和交換機。例如,本發明的註冊機構可以是被特別配置的路由器,例如可以從San Jose,California的Cisco Systems,Inc.得到的被特別配置的路由器型號350、1100、1200、1400、1600、2500、2600、3200、3600、4500、4700、7200、7500和12000。用於這些機器中的一些機器的的一般結構將在下面給出的描述中出現。在可替換的實施例中,代理註冊系統可以在諸如個人計算機或工作站之類的通用網絡主機上被實現。此外,本發明至少可以在用於網絡裝置或通用計算裝置的卡(例如接口卡)上被部分地實現。
現在參考圖9,適於實現本發明的路由器1110包括主中央處理單元(CPU)1162、接口1168和總線1115(例如PCI總線)。當CPU 1162在適當的軟體或固件的控制下動作時,它負責諸如路由表計算和網絡管理之類的路由器任務。它也可以負責更新移動綁定表和訪問者表、映射表等。它優選地在包括作業系統(例如Cisco Systems,Inc.的網際網路作業系統(IOS))和任何適當的應用程式軟體的軟體的控制下實現所有這些功能。CPU 1162可以包括一個或多個處理器1163,例如來自微處理器的摩託羅拉族或來自微處理器的MIPS族的處理器。在可替換的實施例中,處理器1163的硬體被特別設計以控制路由器1110的操作。在特定實施例中,存儲器1161(例如非易失性RAM和/或ROM)也形成CPU 1162的一部分。然而,存在很多種可以使存儲器耦合到系統的不同方法。
接口1168通常被作為接口卡(有時被稱為「線路卡」)而提供。一般來說,它們控制數據分組在網上的發送和接收,並且有時支持其他與路由器1110一起使用的外圍設備。在可以提供的接口中有乙太網接口、幀中繼接口、線纜接口、DSL接口、令牌環接口等。另外,可以提供各種甚高速接口,例如快速令牌環接口、無線接口、乙太網接口、吉比特乙太網接口、ATM接口、HSSI接口、POS接口、FDDI接口等。一般來說,這些接口可以包括適合與適當的介質進行通信的埠。在一些情況中,它們也可以包括獨立的處理器,並且在一些示例中包括易失性RAM。獨立的處理器可以控制通信密集任務,例如分組交換、媒體控制和管理。通過為通信密集任務提供單獨的處理器,這些接口使得主微處理器1162可以有效地執行路由計算、網絡診斷、安全功能等。
雖然圖9所示的系統是本發明一個特定的路由器,但是其決不是可以實現本發明的唯一路由器體系結構。例如,經常使用具有處理通信和路由計算的單個處理器的體系結構。此外,也可以與路由器一起使用其他類型的接口和媒體。
不管網絡裝置的配置如何,它都可以採用一個或多個存儲器或存儲器模塊(包括存儲器1161),存儲器或存儲器模塊被配置為存儲用於通用網絡操作以及用於這裡所描述的漫遊、代理註冊和路由功能的機制的程序指令。程序指令例如可以控制作業系統和/或一個或多個應用程式的操作。一個或多個存儲器也可以被配置為存儲表,例如移動綁定表、註冊表、路由和關聯表等。
因為這樣的信息和程序指令可以被用來實現這裡所描述的系統/方法,所以本發明涉及機器可讀介質,這些機器可讀介質包括用於執行這裡所描述的各種操作的程序指令、狀態信息等。機器可讀介質的的示例包括但不限於磁介質,例如硬碟、軟盤和磁帶;光介質,例如CD-ROM盤;磁光介質,例如軟光碟;以及被特別配置以存儲和執行程序指令的硬體裝置,例如只讀存儲器裝置(ROM)和隨機存儲存儲器(RAM)。本發明也可以在在適當的介質上傳播的載波中被實施,這些介質例如是無線電波、光線路、電線路等。程序指令的示例不僅包括由編譯器所產生的機器代碼,還包括包含更高級別代碼的文件,計算機使用解釋器可以執行所述代碼。
雖然為了理解清楚的目的較詳細地描述了上述發明,但是要明白可以在所附權利要求的範圍內進行某些改變和修改。例如,所公開的實體僅僅是說明性的,因此可以用其他實體或其組合代表節點來建立代理註冊。另外,雖然所公開的實施例支持網關路由器對歸屬代理的查詢,但是其他實施例允許將諸如轉交地址之類的信息提供給網關路由器,而不需要網關路由器查詢歸屬代理。重要的是也要注意到雖然根據移動IP協議描述所述實施例,但是可以用其他協議來實現上述實施例中給出的註冊過程。這樣,可以用除了歸屬代理之外的伺服器來發起和控制註冊過程。因此,所述實施例應該被視為說明性而非限制性的,並且本發明不應被限於這裡所給出的細節,而是應該由隨後的權利要求和其等同物的全部範圍來限定。
權利要求
1.一種支持代表節點向歸屬代理進行代理註冊的方法,包括代表所述節點形成註冊請求;將所述註冊請求通過第一本地移動錨發送給所述歸屬代理,其中所述第一本地移動錨是區域控制器,當所述節點在與所述第一本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊;由所述第一本地移動錨將所述註冊請求轉發給所述歸屬代理;以及在所述歸屬代理處創建移動綁定表條目,以使得產生所述節點和所述節點的轉交地址之間的綁定,從而使在服務提供商網絡邊緣處的網關路由器能夠從所述歸屬代理獲得所述節點的轉交地址。
2.如權利要求1所述的方法,還包括將使所述節點能夠被認證的認證信息提供給所述所述第一本地移動錨。
3.如權利要求2所述的方法,其中所述認證信息包括安全性關聯。
4.如權利要求1所述的方法,還包括在所述歸屬代理處創建路由表條目,以使得由所述歸屬代理接收的去往所述節點的分組被轉發給所述第一本地移動錨。
5.如權利要求1所述的方法,還包括從在服務提供商網絡邊緣處的網關路由器接收對所述節點的轉交地址的查詢。
6.如權利要求5所述的方法,其中所述轉交地址標識第一跳路由器。
7.如權利要求5所述的方法,其中所述轉交地址不標識第一跳路由器。
8.如權利要求1所述的方法,其中所述第一本地移動錨在所述節點位於與所述第一本地移動錨相關聯的所述區域內時為所述節點充當歸屬代理。
9.如權利要求1所述的方法,其中所述節點不支持移動IP。
10.如權利要求1所述的方法,還包括代表所述節點形成第二註冊請求;當所述節點在與所述第一本地移動錨相關聯的所述區域內移動時,將所述第二註冊請求發送給所述第一本地移動錨,從而使所述第一本地移動錨能夠處理所述第二註冊請求;以及當所述節點移入與第二本地移動錨相關聯的第二區域並移出與所述第一本地移動錨相關聯的第一區域時,將所述第二註冊請求通過所述第二本地移動錨發送給所述歸屬代理,其中所述第二本地移動錨是區域控制器,當所述節點在與所述第二本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。
11.如權利要求10所述的方法,還包括在所述歸屬代理處創建路由表條目,以使得分組在所述節點移入與所述第二本地移動錨相關聯的第二區域時被路由到所述第二本地移動錨。
12.如權利要求10所述的方法,其中所述第一本地移動錨在所述節點位於與所述第一本地移動錨相關聯的區域內時為所述節點充當歸屬代理,並且其中所述第二本地移動錨在所述節點位於與所述第二本地移動錨相關聯的區域內時為所述節點充當歸屬代理。
13.如權利要求1所述的方法,還包括代表所述節點形成第二註冊請求;當所述節點在與所述第一本地移動錨相關聯的區域內移動時,將所述第二註冊請求發送給所述第一本地移動錨,從而使所述第一本地移動錨能夠處理所述第二註冊請求;以及在所述第一本地移動錨處創建路由表條目,以使得產生第二接入路由器和所述第一本地移動錨之間的隧道。
14.如權利要求13所述的方法,其中所述第一本地移動錨在所述節點位於與所述第一本地移動錨相關聯的區域內時為所述節點充當歸屬代理。
15.如權利要求1所述的方法,還包括代表所述節點形成第二註冊請求;當所述節點移入與第二本地移動錨相關聯的第二區域並移出與所述第一本地移動錨相關聯的第一區域時,將所述第二註冊請求通過所述第二本地移動錨發送給所述歸屬代理,其中所述第二本地移動錨是區域控制器,當所述節點在與所述第二本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。由所述第二本地移動錨將所述註冊請求轉發給所述歸屬代理;以及在所述歸屬代理處創建路由表條目,以使得產生所述歸屬代理和所述第二本地移動錨之間的隧道。
16.如權利要求15所述的方法,其中所述第二本地移動錨在所述節點位於與所述第二本地移動錨相關聯的區域內時為所述節點充當歸屬代理。
17.如權利要求15所述的方法,還包括通知所述第一本地移動錨所述節點移到了與所述第二本地移動錨相關聯的區域。
18.如權利要求17所述的方法,還包括響應於所述通知,在所述第一本地移動錨和所述第二本地移動錨之間產生隧道。
19.如權利要求17所述的方法,還包括當在所述第一本地移動錨處從網關路由器接收到去往所述節點的數據分組時,通知所述網關路由器所述節點移到了與所述第二本地移動錨相關聯的區域。
20.如權利要求19所述的方法,其中隨後被所述網關路由器轉發的去往所述節點的數據分組將被通過所述第二本地移動錨路由,而傳輸中的數據分組將繼續被通過所述第一本地移動錨路由。
21.如權利要求20所述的方法,其中所述傳輸中的數據分組被通過在所述第一本地移動錨和所述第二本地移動錨之間的隧道路由。
22.如權利要求19所述的方法,還包括其中已經被路由到所述第一本地移動錨的去往所述節點的數據分組被通過在所述第一本地移動錨和所述第二本地移動錨之間的隧道路由到所述第二本地移動錨。
23.如權利要求19所述的方法,還包括將去往所述節點的分組路由到所述第二本地移動錨。
24.如權利要求1所述的方法,其中在接入路由器處執行代表所述節點形成註冊請求的步驟。
25.如權利要求24所述的方法,其中所述註冊請求具有轉交地址欄位,該轉交地址欄位包括與所述第一本地移動錨或所述接入路由器相關聯的IP位址。
26.如權利要求24所述的方法,其中所述接入路由器是第一跳路由器。
27.如權利要求24所述的方法,其中所述第一本地移動錨是區域控制器,當所述節點在與所述第一本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。
28.如權利要求27所述的方法,其中所述第一本地移動錨在所述節點在與所述第一本地移動錨相關聯的區域內移動時為所述節點充當歸屬代理。
29.如權利要求24所述的方法,其中所述第一本地移動錨在所述節點在與所述第一本地移動錨相關聯的區域內移動時為所述節點充當歸屬代理。
30.如權利要求1所述的方法,其中所述節點不支持移動IP。
31.如權利要求1所述的方法,其中所述網關路由器是在服務提供商網絡邊緣處的路由器。
32.如權利要求31所述的方法,其中與多個節點相關聯的多個子網被配置在所述網關路由器上。
33.如權利要求24所述的方法,其中所述第一本地移動錨是所述接入路由器。
34.如權利要求24所述的方法,還包括在所述歸屬代理處從所述網關路由器接收轉交地址位置請求,所述轉交地址位置請求從所述歸屬代理處請求與所述節點相關聯的轉交地址。
35.如權利要求34所述的方法,其中當從通信節點接收到數據分組時,由所述網關路由器發送所述轉交地址位置請求。
36.如權利要求24所述的方法,還包括將所述轉交地址和標識所述第一本地移動錨的路由路徑提供給所述網關路由器,從而使所述網關路由器能夠將去往所述節點並從通信節點接收的數據分組轉發給所述第一本地移動錨。
37.如權利要求36所述的方法,還包括將與所述節點相關聯的策略從所述歸屬代理提供給所述網關路由器,從而使所述網關路由器能夠應用該策略以過濾發送給所述節點或由所述節點發送的分組。
38.如權利要求36所述的方法,還包括在所述第一本地移動錨處接收數據分組;以及將所述數據分組從所述第一本地移動錨轉發給所述接入路由器,從而防止所述接入路由器的身份被發現。
39.如權利要求38所述的方法,其中通過從所述數據路徑中去除所述歸屬代理而實現路由優化。
40.如權利要求34所述的方法,還包括將由所述網關路由器接收的數據分組轉發給所述歸屬代理直到建立了路由優化,以使得數據分組可以直接在所述網關路由器和所述第一本地移動錨之間傳輸。
41.如權利要求34所述的方法,其中當所述網關路由器從通信節點接收到數據分組時,由所述網關路由器發送所述轉交地址位置請求。
42.如權利要求34所述的方法,其中當所述網關路由器沒有用於所述節點的轉交地址時,由所述網關路由器發送所述轉交地址位置請求。
43.如權利要求34所述的方法,還包括將所述轉交地址和標識所述第一本地移動錨的路由路徑提供給所述網關路由器,從而使所述網關路由器能夠將從所述通信節點接收到的數據分組轉發給所述第一本地移動錨。
44.如權利要求43所述的方法,還包括在所述第一本地移動錨處從所述網關路由器接收數據分組;以及將所述數據分組從所述第一本地移動錨轉發給所述接入路由器,從而防止所述接入路由器的身份被所述通信節點發現。
45.如權利要求44所述的方法,其中通過從所述數據路徑中去除所述歸屬代理而實現路由優化。
46.如權利要求24所述的方法,還包括從所述節點接收導向通信節點的數據分組;在所述第一本地移動錨處識別所述第一本地移動錨和網關路由器之間的雙向隧道,所述雙向隧道與所述節點和所述通信節點相對應;以及通過所述第一本地移動錨和所述網關路由器之間的雙向隧道轉發所述數據分組。
47.如權利要求24所述的方法,還包括在第二接入路由器處代表所述節點形成第二註冊請求;將所述註冊請求發送給所述第一本地移動錨;在所述第一本地移動錨處處理所述註冊請求,以使得在所述第一本地移動錨和所述第二接入路由器之間建立雙向隧道;以及將註冊答覆從所述第一本地移動錨發送給所述第二接入路由器,其中所述第二註冊請求不被轉發給所述歸屬代理。
48.如權利要求47所述的方法,還包括創建路由表條目,以使得用於所述節點的路由路徑與所述雙向隧道關聯。
49.如權利要求47所述的方法,還包括清除在所述第一接入路由器和所述第一本地移動錨之間的雙向隧道。
50.如權利要求47所述的方法,還包括在所述第一接入路由器和所述第二接入路由器之間產生臨時的雙向隧道,從而使傳輸中的流量能夠被所述第一接入路由器轉發給所述第二接入路由器。
51.如權利要求47所述的方法,其中由所述第一本地移動錨接收並去往所述節點的數據分組被轉發給所述第二接入路由器。
52.如權利要求24所述的方法,還包括在第三接入路由器處形成第二註冊請求;將所述第二註冊請求發送給第二本地移動錨,其中每個本地移動錨都是區域控制器,當所述節點在與所述本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊;將所述第二註冊請求轉發給所述歸屬代理;在所述歸屬代理處處理所述第二註冊請求,以使得所述節點與所述第二本地移動錨關聯;以及在所述第二本地移動錨和所述第三接入路由器之間創建雙向隧道,從而使分組被所述第二本地移動錨路由到所述第三接入路由器。
53.如權利要求52所述的方法,還包括通知所述第一本地移動錨所述節點移到了與所述第二本地移動錨相關聯的區域;以及在所述第一本地移動錨和所述第二本地移動錨之間創建隧道,從而使傳輸中的分組被從所述第一本地移動錨路由到所述第二本地移動錨。
54.如權利要求53所述的方法,其中通知是由所述第二本地移動錨執行的。
55.如權利要求54所述的方法,其中由所述第二本地移動錨執行的通知是在由所述歸屬代理髮起之後執行的。
56.如權利要求53所述的方法,其中通知是由所述歸屬代理執行的。
57.如權利要求53所述的方法,還包括當通信節點發送去往所述節點的數據分組時,在所述第一本地移動錨處從網關路由器接收數據分組;將綁定更新從所述第一本地移動錨發送給所述網關路由器,所述綁定更新指示去往所述節點的數據分組將被發送給所述第二本地移動錨,而不是所述第一本地移動錨;以及將去往所述節點的數據分組從所述第一本地移動錨路由到所述第二本地移動錨直到建立了路由優化,以使得建立了所述網關路由器和所述第二本地移動錨之間的雙向隧道。
58.一種在位於服務提供商網絡邊緣處的網關路由器中,將分組從通信節點發送到一節點的方法,包括從所述通信節點接收分組;將轉交地址位置請求發送給與所述節點相關聯的歸屬代理,所述轉交地址位置請求請求與所述節點相關聯的轉交地址;以及接收與所述節點相關聯的轉交地址和指示本地移動錨的路由路徑,去往所述節點的分組將被通過所述本地移動錨而隧道傳輸。
59.如權利要求58所述的方法,還包括從第一本地移動錨接收所述節點移到了與第二本地移動錨相關聯的區域的通知消息。
60.如權利要求58所述的方法,還包括從第一本地移動錨接收清除其路由緩存的通知消息;以及將請求發送給所述歸屬代理以請求所述節點的轉交地址。
61.如權利要求59所述的方法,還包括在所述第一本地移動錨和所述第二本地移動錨之間產生隧道。
62.如權利要求59所述的方法,還包括其中當在所述第一本地移動錨處從所述網關路由器接收到去往所述節點的數據分組時,接收到所述通知消息。
63.如權利要求61所述的方法,還包括其中已經被路由到所述第一本地移動錨的去往所述節點的數據分組被通過在所述第一本地移動錨和所述第二本地移動錨之間的隧道路由到所述第二本地移動錨。
64.如權利要求59所述的方法,還包括將去往所述節點的分組路由到所述第二本地移動錨。
65.一種在第一本地移動錨中向支持移動IP的歸屬代理註冊節點的方法,所述第一本地移動錨是區域控制器,當所述節點在與所述第一本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊,所述方法包括向所述歸屬代理註冊所述節點,以使得所述歸屬代理創建路由表條目,所述路由表條目通過所述第一本地移動錨路由去往所述節點的分組;從所述歸屬代理接收所述節點移到了與第二本地移動錨相關聯的區域的通知,所述第二本地移動錨是區域控制器,當所述節點在與所述第二本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊;以及在所述第一本地移動錨處創建路由表條目,以使得去往所述節點的分組被所述第一本地移動錨路由到所述第二本地移動錨。
66.如權利要求65所述的方法,還包括在所述歸屬代理處創建路由表條目,以使得去往所述節點的分組被路由到所述第二本地移動錨。
67.一種支持代表節點向伺服器進行代理註冊的方法,包括代表所述節點形成第一註冊請求;將所述第一註冊請求通過第一本地移動錨發送給所述伺服器,其中所述第一本地移動錨是區域控制器,當所述節點在與所述第一本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊;代表所述節點形成第二註冊請求;當所述節點在與所述第一本地移動錨相關聯的區域內移動時,將所述第二註冊請求發送給所述第一本地移動錨;以及當所述節點移入與第二本地移動錨相關聯的第二區域並移出與所述第一本地移動錨相關聯的第一區域時,將所述第二註冊請求通過所述第二本地移動錨發送給所述伺服器,其中所述第二本地移動錨是區域控制器,當所述節點在與所述第二本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。
68.如權利要求67所述的方法,其中所述伺服器是支持移動IP的歸屬代理。
全文摘要
本發明公開了利用支持移動IP的歸屬代理代表節點執行代理註冊的方法和設備。代表節點形成第一註冊請求,並通過第一本地移動錨發送給歸屬代理,其中第一本地移動錨是區域控制器,當節點在與第一本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。當節點在區域內或區域間移動時,節點被再註冊。具體地說,當節點在與第一本地移動錨相關聯的區域內移動時,形成第二註冊請求並發送給第一本地移動錨。當節點移入與第二本地移動錨相關聯的第二區域並移出與第一本地移動錨相關聯的第一區域時,形成第二註冊請求並通過第二本地移動錨發送給歸屬代理,其中第二本地移動錨是區域控制器,當節點在與第二本地移動錨相關聯的區域內移動時,通過該區域控制器執行註冊。
文檔編號H04L29/06GK1989754SQ200580024922
公開日2007年6月27日 申請日期2005年7月22日 優先權日2004年7月23日
發明者阿爾派什·帕特爾, 肯特·萊翁, 戈帕爾·多梅提 申請人:思科技術公司