專利名稱:一種多點可達隧道通信的方法
技術領域:
本發(fā)明涉及通信領域,尤其涉及一種多點可達隧道通信的方法。
背景技術:
目前VPN已經(jīng)得到了越來越多的應用。作為VPN的一種解決方案,隧道(Tunnel)技術有著廣泛的應用。目前隧道技術已經(jīng)由點到點演化到點到多點的方式。
多點可達的隧道技術如圖1所示如圖所示,Tunnel是一個虛擬的點到多點的連接。接入設備R1、R2,R3分別將Net1,Net2,Net3三個私網(wǎng)接入骨干網(wǎng)。R1,R2,R3各自有多點可達的Tunne1接口,假設他們的IP地址分別是pri_ip1,pri_ip2和pri_ip3,各自有一個骨干網(wǎng)可達的共網(wǎng)地址分別是g_ip1,g_ip2和g_ip3。從一個設備的一個Tunnel要到達不同的Tunnel對端,就要用不同的目的地址來封裝,需要有如下的映射表表1設備、隧道和地址對應關系表
當骨干網(wǎng)由ISP等服務商提供,各個接入設備連接骨干網(wǎng)的地址也是ISP分配的。而為了節(jié)省投資,往往用戶只申請動態(tài)的IP地址。這樣每次連接的地址可能是不同的,無法靜態(tài)配置。如何得到這樣的映射表,需要提供特殊的解決方案。
現(xiàn)有的一種解決方案就是在這一組Tunnel隧道中,要求有一個必須分配固定的IP地址,作為Server,其他的可以分配動態(tài)的IP地址,作為Client。由于Server的地址是預先可以知道的,Client會主動把自己本次上線得到的動態(tài)IP地址等信息發(fā)送給Server;Server在把匯總得到的這些信息匯總成表1形式的映射表,再發(fā)送給各個Client,所有的節(jié)點就都有了這張映射關系表。
有時作為一個小企業(yè),為節(jié)省投資,可能連一個固定的IP地址也沒有申請,所有VPN節(jié)點都沒有固定IP地址,都無法感知對方的存在,這樣上面的C/S方案也無法應用。
發(fā)明內(nèi)容
本發(fā)明的目的就是要提出一種方法,解決沒有已知的固定IP地址時,無法建立多點隧道的問題。
為此,本發(fā)明采用如下方案一種多點可達隧道通信的方法,適用于多個私網(wǎng)接入的虛擬專用網(wǎng),所述的多個私網(wǎng)通過接入設備連接于骨干網(wǎng),所述的接入設備帶有多點可達隧道接口,通過隧道接口的私網(wǎng)地址和公網(wǎng)地址對應關系表的標識,完成報文在接入設備間的傳輸;其中當所述的公網(wǎng)地址為非固定IP地址時,將所述的接入設備設置在一個組播組內(nèi),在接入設備間傳送報文時,以該組播地址為目的地址發(fā)送或接收報文。
所述的方法,接入設備間傳送報文時,包括以下步驟a、發(fā)送方接入設備查看其對應關系表中公網(wǎng)地址,若為固定公網(wǎng)地址,則直接以該地址為目的地址發(fā)送報文;若為非固定公網(wǎng)地址,則進入步驟b;b、發(fā)送方接入設備將目的地址設置為組播地址,發(fā)送報文。
所述的步驟b中,該報文中包括發(fā)送方接入設備的IP地址和公網(wǎng)地址及接收方的私網(wǎng)地址。
所述的方法,還包括步驟c、接收方接入設備收到該報文,根據(jù)該報文中的信息更新其對應關系表。
所述的方法,還包括組播組的其他接入設備接收該報文的步驟,該些接入設備接收到該報文,根據(jù)該報文中的信息更新其對應關系表。
所述的方法,還包括步驟d、接收方接入設備向發(fā)送方接入設備發(fā)送一響應報文,其中包括接收方接入設備的公網(wǎng)地址。
所述的方法,還包括步驟f、發(fā)送方接入設備接收該響應報文,并根據(jù)該信息更新發(fā)送方接入設備的對應關系表。
當該對應關系表更新后,以更新后的對應關系表中的公網(wǎng)地址為目的地址來發(fā)送或者接收報文。
所述的報文可以是數(shù)據(jù)報文或者請求報文。
所述的報文,采用ARP協(xié)議的格式。
本發(fā)明技術方案大大簡化了VPN的配置管理,同時在沒有固定IP地址的情況下依然可以構建VPN。
圖1是現(xiàn)有技術中多點可達隧道技術組網(wǎng)圖;圖2是本發(fā)明接入設備間傳送數(shù)據(jù)報文的流程圖;圖3是一個多點可達隧道的Tunnel ARP報文的示意圖。
具體實施例方式
下面結合說明書附圖來說明本發(fā)明的具體實施方式
。
本解決方案有一個前提,就是要求提供VPN接入的骨干網(wǎng)支持IP組播。由于目前基于組播的應用越來越多,大部分廠商提供的設備實際上都支持組播應用。
本解決方案的系統(tǒng)構成包括如圖1所示網(wǎng)絡,以3個接入設備為例。其中接入設備R1、R2,R3分別將Net1,Net2,Net3三個私網(wǎng)接入骨干網(wǎng)。R1,R2,R3各自有多點Tunnel接口,假設他們的IP地址分別是pri_ip1,pri_ip2和pri_ip3,各自有一個骨干網(wǎng)可達的共網(wǎng)地址分別是g_ip1,g_ip2和g_ip3,具體見表1。
我們可以稱一個VPN中所有的接入設備為一個鄰接組(Peer Group),它們彼此之間構成鄰居關系,如R1、R2都是R3的Tunnel3上的鄰居(Peer)。所有的這些Tennel上的鄰居所組成的連接多點可達的隧道連接。
圖1中一個簡單的數(shù)據(jù)傳輸過程可描述如下當Net1有數(shù)據(jù)要傳送給Net2時,通過私網(wǎng)路由,數(shù)據(jù)報文發(fā)送給R1,R1根據(jù)自己的路由將報文發(fā)給Tunnel1接口;Tunnel1接口要根據(jù)路由表中的下一跳(Next Hop)地址pri_ip2,將數(shù)據(jù)用公網(wǎng)地址進行封裝,封裝的源IP地址為g_ip1,目的IP地址為g_ip2;這個報文再次查找公網(wǎng)路由,發(fā)送到R2;R2收到這個報文后,解封裝,還原出原來的數(shù)據(jù)報文,再根據(jù)私網(wǎng)路由,發(fā)送給Net2。
在上述的過程中,要實現(xiàn)正確封裝,就要建立一個公私網(wǎng)的映射表,如表2所示表2 Tunnel的發(fā)送端要維護的一個公私網(wǎng)地址映射表(鄰接表)
當骨干網(wǎng)支持組播時,可以考慮采用組播的方式來實現(xiàn)。其工作原理類似于Ethernet上的ARP方式。如圖2所示,是一個接入設備間傳送數(shù)據(jù)報文的流程示意圖,從圖中可以看出,工作步驟如下1、將一個VPN的所有接入設備加入一個預先設定好的組播組G1。它們可以向這個組地址發(fā)送報文,也可以從這個組地址接收報文;2、當一個接入設備R1要向R2發(fā)送報文時,它檢查表2,如果知道pri_ip2對應的共網(wǎng)地址,則以該地址為目的地址發(fā)送數(shù)據(jù),如果發(fā)現(xiàn)不知道pri_ip2對應的共網(wǎng)地址,這時,它用組播地址G1作為目的地址,發(fā)送一個請求(Request)報文,報文內(nèi)攜帶pri_ip2,以及自己的pri_ip1、g_ip1等信息,向全網(wǎng)查詢pri_ip2對應的g_ip2;3、該組播報文經(jīng)過骨干網(wǎng)的轉(zhuǎn)發(fā),最終會到達所有加入了這個組的VPN節(jié)點;4、當R2收到這個報文后,確認自己是該請求數(shù)據(jù)報文的pri_ip2,會記錄下這個信息,加入自己如表2形式的映射表中。同時,由于它已經(jīng)從request報文中知道了R1的公網(wǎng)地址g_ip1和私網(wǎng)地址pri_ip1,它會向R1回一個單播封裝的響應(Reponse)報文,報文內(nèi)攜帶pri_ip2和g_ip2等信息;5、其他不相關的節(jié)點收到這個請求后,發(fā)現(xiàn)不是請求自己的地址映射,它們只會記錄R1的映射信息pri_ip1和g_ip1,不做其他處理;6、當R1收到了來自R2的這個Response報文后,他就知道了pri_ip2和g_ip2的對應關系,更新自己的如表2形式的映射關系表;7、此后,R1就可以通過Tunnel向R2發(fā)送數(shù)據(jù)了。
上述的Request和Response報文可以采用ARP協(xié)議的格式和含義,我們稱之為Tunnel ARP報文,具體格式如下
如圖3所示,是一個多點可達隧道的Tunnel ARP報文的示意圖,從圖中可見,該硬件類型和協(xié)議類型的叫法實際上是沿用ARP上的名稱,在這里硬件類型指承載協(xié)議(Delivery Protocol)的協(xié)議類型,在IP over IP的情況下就是0x0800,表示IP;協(xié)議類型指負載協(xié)議(Payload Protocol)的協(xié)議類型,在IP over IP的情況下也是0x0800;地址的長度這里指IPv4的地址長度,32bit即4字節(jié);OP表示操作類型,1表示請求,2表示應答;最后4個字段,硬件地址就是指公網(wǎng)地址g_ip,協(xié)議地址就是指Tunnel上的私網(wǎng)地址pri_ip。在IP over IP的情況下,DeliverHeader實際上就是IP頭,在發(fā)送Request時,目的IP地址就用預先指定著組地址G,源IP地址就是發(fā)送端與Tunnel的私網(wǎng)地址對應的一個公網(wǎng)地址。
為了加快建立映射表的過程,每一個接入設備的Tunnel在配置好以后,就向組地址G發(fā)送免費Tunnel ARP報文ARP Response,宣布自己的存在,以定期刷新其鄰居的映射表。
上述工作過程還可以采用另外的工作方式,即當一個接入設備的Tunnel配置好以后,定期向組地址G發(fā)送免費GRE ARP報文ARP Response,以定期刷新其映射表。當一個Tunnel在規(guī)定時間內(nèi)沒有收到其鄰居的刷新報文,就認為鄰居超時,從映射表中刪除這一映射關系。
組播方式的好處是只需要預先配置一個組播組G就可以了,而且實際上也為所有的Tunnel之間通訊提供了一種廣播的機制,效率高,并且為在支持RIP、OSPF等動態(tài)路由協(xié)議提供了方便。例如OSPF協(xié)議采用組播方式建立OSPF鄰居時,可以直接將ospf的組播協(xié)議報文封裝在組播組G中,其效果等同于一個Ethernet那樣的廣播的網(wǎng)絡。
作為一種VPN的解決方案,當連接骨干網(wǎng)的IP地址是固定的情況下,本方法同樣適用。這樣做還可以簡化配置,只需配置一個組地址,而無須為每個VPN節(jié)點手工配置映射表。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求書的保護范圍為準。
權利要求
1.一種多點可達隧道通信的方法,適用于多個私網(wǎng)接入的虛擬專用網(wǎng),所述的多個私網(wǎng)通過接入設備連接于骨干網(wǎng),所述的接入設備帶有多點可達隧道接口,通過隧道接口的私網(wǎng)地址和公網(wǎng)地址對應關系表的標識,完成報文在接入設備間的傳輸;其特征在于當所述的公網(wǎng)地址為非固定IP地址時,將所述的接入設備設置在一個組播組內(nèi),在接入設備間傳送報文時,以該組播地址為目的地址發(fā)送或接收報文。
2.如權利要求1所述的方法,其特征在于接入設備間傳送報文時,包括以下步驟a、發(fā)送方接入設備查看其對應關系表中公網(wǎng)地址,若為固定公網(wǎng)地址,則直接以該地址為目的地址發(fā)送報文;若為非固定公網(wǎng)地址,則進入步驟b;b、發(fā)送方接入設備將目的地址設置為組播地址,發(fā)送報文。
3.如權利要求2所述的方法,其特征在于所述的步驟b中,該報文中包括發(fā)送方接入設備的IP地址和公網(wǎng)地址及接收方的私網(wǎng)地址。
4.如權利要求3所述的方法,其特征在于還包括步驟c、接收方接入設備收到該報文,根據(jù)該報文中的信息更新其對應關系表。
5.如權利要求3所述的方法,其特征在于還包括組播組的其他接入設備接收該報文的步驟,該些接入設備接收到該報文,根據(jù)該報文中的信息更新其對應關系表。
6.如權利要求4或5所述的方法,其特征在于還包括步驟d、接收方接入設備向發(fā)送方接入設備發(fā)送一響應報文,其中包括接收方接入設備的公網(wǎng)地址。
7.如權利要求6所述的方法,其特征在于還包括步驟f、發(fā)送方接入設備接收該響應報文,并根據(jù)該信息更新發(fā)送方接入設備的對應關系表。
8.如權利要求7所述的方法,其特征在于當該對應關系表更新后,以更新后的對應關系表中的公網(wǎng)地址為目的地址來發(fā)送或者接收報文。
9.如權利要求2-5任意一項所述的方法,其特征在于所述的報文可以是數(shù)據(jù)報文或者請求報文。
10.如權利要求2-5任意一項所述的方法,其特征在于所述的報文,采用ARP協(xié)議的格式。
全文摘要
本發(fā)明涉及一種多點可達隧道通信的方法。一種多點可達隧道通信的方法,適用于多個私網(wǎng)接入的虛擬專用網(wǎng),所述的多個私網(wǎng)通過接入設備連接于骨干網(wǎng),所述的接入設備帶有多點可達隧道接口,通過隧道接口的私網(wǎng)地址和公網(wǎng)地址對應關系表的標識,完成數(shù)據(jù)報文在接入設備間的傳輸;其特征在于當所述的公網(wǎng)地址為非固定IP地址時,將所述的接入設備設置在一個組播組內(nèi),在接入設備間傳輸數(shù)據(jù)報文時,以該組播地址為目的地址發(fā)送或接收數(shù)據(jù)報文。本發(fā)明技術方案大大簡化了VPN的配置管理,同時在沒有固定'地址的情況下依然可以構建VPN。
文檔編號H04L12/56GK1595884SQ0315686
公開日2005年3月16日 申請日期2003年9月10日 優(yōu)先權日2003年9月10日
發(fā)明者王颶 申請人:華為技術有限公司