一種隧道標識的轉換方法及裝置的制造方法
【專利摘要】本申請提供一種隧道標識的轉換方法及裝置,所述方法包括:接收來自VPN設備的控制報文,所述控制報文攜帶有所述VPN設備的IP地址和第一隧道標識;獲取所述VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小可用節點的節點標識;利用所述設備標識和所述節點標識獲得第二隧道標識;利用所述第二隧道標識替換所述控制報文中的第一隧道標識,并將所述控制報文轉發到客戶端上。應用本申請實施例,針對不同的VPN設備,即使為兩個客戶端指定的第一隧道標識相同,由于設備標識和節點標識均不同,得到的第二隧道標識也不同,從而負載均衡設備能夠區分兩個客戶端,可以保證客戶端的業務正常。
【專利說明】
一種隧道標識的轉換方法及裝置
技術領域
[0001] 本申請涉及網絡通信技術領域,尤其涉及一種隧道標識的轉換方法及裝置。
【背景技術】
[0002] VPN(Virtual Private Network,虛擬專用網絡)設備用于在公用網絡中建立專用 網絡,進行加密通訊。在實際應用中,為滿足多個客戶端并發在線的需求,需要使用多臺VPN 設備,當客戶端接入VPN業務時,將接入請求報文發送至負載均衡設備,負載均衡設備為客 戶端的接入請求報文分配VPN設備,并將該接入請求報文發送到分配的VPN設備上,該VPNS 備為該接入請求報文分配隧道標識,并將該隧道標識通過負載均衡設備返回給客戶端,負 載均衡設備將該隧道標識與VPN設備的設備信息IP(Internet Protocol網際協議)地址添 加到表項中,從而,負載均衡設備在接收到客戶端發送的攜帶有該隧道標識的業務報文時, 獲取該隧道標識對應的VPN設備的IP地址設備信息,并將該業務報文發送至該設備信息對 應的VPN設備上,VPN設備再將該業務報文轉發到服務器上,從而客戶端實現VPN業務的訪 問。
[0003] 但是,由于所有VPN設備上可分配的隧道標識的范圍均相同,兩個VPN設備可能為 兩個客戶端分配同一個隧道標識,而負載均衡設備只記錄最后一個VPN設備的設備信息與 隧道標識的對應關系,這樣,這兩個客戶端發送的業務報文均會被負載均衡設備發送至表 項中記錄的設備信息對應的VPN設備上,而導致其中一個客戶端的業務異常。
【發明內容】
[0004] 有鑒于此,本申請提供一種隧道標識的轉換方法及裝置,以解決現有訪問方式會 導致客戶端業務異常的問題。
[0005] 根據本申請實施例的第一方面,提供一種隧道標識的轉換方法,所述方法應用于 負載均衡設備上,所述方法包括:
[0006] 接收來自VPN設備的控制報文,所述控制報文攜帶有所述VPN設備的IP地址和第一 隧道標識;
[0007] 獲取所述VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小可用節點 的節點標識;
[0008] 利用所述設備標識和所述節點標識獲得第二隧道標識;
[0009] 利用所述第二隧道標識替換所述控制報文中的第一隧道標識,并將所述控制報文 轉發到客戶端上。
[0010] 根據本申請實施例的第二方面,提供一種隧道標識的轉換裝置,所述裝置應用于 負載均衡設備上,所述裝置包括:
[0011 ]接收單元,用于接收來自VPN設備的控制報文,所述控制報文攜帶有所述VPN設備 的IP地址和第一隧道標識;
[0012]獲取單元,用于獲取所述VPN設備的IP地址對應的設備標識,并根據預設規則獲取 最小可用節點的節點標識;
[0013] 獲得單元,用于利用所述設備標識和所述節點標識獲得第二隧道標識;
[0014] 替換單元,用于利用所述第二隧道標識替換所述控制報文中的第一隧道標識;
[0015] 轉發單元,用于將所述控制報文轉發到客戶端上。
[0016] 應用本申請實施例,負載均衡設備在接收到來自VPN設備的控制報文時,獲取控制 報文攜帶VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小可用節點的節點標 識,然后再利用該設備標識和該節點標識獲得第二隧道標識,并利用該第二隧道標識替換 該控制報文中攜帶的第一隧道標識,并將該控制報文轉發到客戶端上。基于上述實現方式, 由于負載均衡設備通過利用設備標識和節點標識獲得第二隧道標識,針對不同的VPN設備, 即使為兩個客戶端指定的第一隧道標識相同,由于設備標識和節點標識均不同,得到的第 二隧道標識也不同,從而,這兩客戶端能夠利用不同的第二隧道標識向負載均衡設備發送 業務報文,負載均衡設備可以通過不同的第二隧道標識,區分這兩客戶端對應的VPN設備的 IP地址和第一隧道標識,并用第一隧道標識替換第二隧道標識,并將業務報文發送到該VPN 設備的IP地址指向的VPN設備上,保證了客戶端的業務正常。
【附圖說明】
[0017] 圖1為本申請根據一示例性實施例示出的一種隧道標識的轉換應用場景圖;
[0018] 圖2為本申請根據一示例性實施例示出的一種隧道標識的轉換方法的實施例流程 圖;
[0019] 圖3為本申請根據一示例性實施例示出的一種負載均衡設備的硬件結構圖;
[0020] 圖4為本申請根據一示例性實施例示出的一種隧道標識的轉換裝置的實施例結構 圖。
【具體實施方式】
[0021] 這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及 附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例 中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附 權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0022] 在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。 在本申請和所附權利要求書中所使用的單數形式的"一種"、"所述"和"該"也旨在包括多數 形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語"和/或"是指并包 含一個或多個相關聯的列出項目的任何或所有可能組合。
[0023]應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這 些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離 本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第 一信息。取決于語境,如在此所使用的詞語"如果"可以被解釋成為"在……時"或"當…… 時"或"響應于確定"。
[0024]圖1為本申請根據一示例性實施例示出的一種隧道標識的轉換應用場景圖,圖1中 包括客戶端、負載均衡設備、多臺VPN設備(圖中列舉了3臺VPN設備)、服務器。其中,所述客 戶端可以是PC(Personal Computer,個人計算機)、手機、平板設備等,用于利用VPN設備為 其分配的隧道標識訪問服務器,以實現VPN業務訪問;所述負載均衡設備可以是防火墻,用 于將所有客戶端的流量調度到不同的VPN設備上,以減輕VPN設備的壓力;所述VPN設備的數 量可以根據客戶端的數量設置,用于為客戶端分配隧道標識,并將客戶端發送的攜帶有該 隧道標識的業務報文轉發至服務器。
[0025] 在現有技術中,例如,客戶端1和客戶端2需要接入VPN業務時,客戶端1和客戶端2 分別向負載均衡設備發送接入請求報文1和接入請求報文2,負載均衡設備利用負載均衡調 度算法為接入請求報文1和接入請求報文2分配VPN設備,假設接入請求報文1分配的是VPN 設備1,接入請求報文2分配的是VPN設備2,負載均衡設備將接入請求報文1轉發至VPN設備1 上,將接入請求報文2轉發至VPN設備2,VPN設備1和VPN設備2根據接收到的接入請求報文, 對接入請求報文中攜帶的客戶端的信息進行認證,在認證成功后,為客戶端分配隧道標識, 假設VPN設備1為客戶端1分配隧道標識1,VPN設備2為客戶端2也分配了隧道標識1,在向客 戶端做出應答(也可稱為控制報文)時,VPN設備1返回的應答先經過負載均衡設備,VPN設備 2返回的應答后經過負載均衡設備,從而負載均衡設備的表項中最終記錄的是隧道標識1與 VPN設備2的設備信息,在客戶端1和客戶端2接收到應答后,均會向負載均衡設備發送攜帶 隧道標識1的業務報文,負載均衡設備利用隧道標識1獲取到對應的VPN設備2的設備信息, 并將客戶端1和客戶端2的業務報文均轉發到VPN設備2上,由于所述客戶端1沒有在VPN設備 2上進行認證,所以當VPN設備2接收到客戶端1發送的業務報文時不會進行處理,導致客戶 端1的業務異常。
[0026] 在本申請實施例中,當負載均衡設備接收到VPN設備返回的應答(下面稱為控制報 文)時,首先獲取該VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小可用節點 的節點標識,通過利用設備標識和節點標識生成的隧道標識替換控制報文中的隧道標識, 以避免不同VPN設備為不同的客戶端分配相同隧道標識,導致客戶端業務異常的問題。
[0027] 圖2為本申請根據一示例性實施例示出的一種隧道標識的轉換方法的實施例流程 圖,在本申請實施例中,客戶端進行VPN業務訪問時,與VPN設備的交互是基于L2TP(Layer 2Tunneling Protocol,第二層隧道協議)進行的交互,由于L2TP支持兩端點間使用多隧道, 因此,客戶端可以利用隧道標識通過VPN設備進行VPN業務訪問。如圖2所示,該實施例應用 于負載均衡設備上,包括以下步驟:
[0028]步驟201:接收來自VPN設備的控制報文,該控制報文攜帶有VPN設備的IP地址和第 一隧道標識。
[0029]在執行步驟201之前,客戶端在接入VPN業務時,會向負載均衡設備發送接入請求, 負載均衡設備通過負載均衡調度算法(例如,加權輪詢調度算法)為該接入請求分配VPNS 備,然后將該接入請求發送到分配的VPN設備上,然后VPN設備為該客戶端的接入請求指定 一個可用的第一隧道標識,并將該第一隧道標識發送至負載均衡設備。
[0030] 由此可知,負載均衡設備會接收到來自VPN設備的控制報文,并且該控制報文中攜 帶有第一隧道標識和VPN設備的IP地址。其中,該控制報文的源IP地址為該VPN設備的IP地 址。
[0031] 針對VPN設備為該客戶端的接入請求指定一個可用的第一隧道標識的過程,在一 個例子中,該客戶端的接入請求中可以攜帶期望隧道標識,因此VPN設備可以先獲取接入請 求中攜帶的期望隧道標識,若該期望隧道標識指向的隧道不可用,則VPN設備重新指定一條 可以進行業務傳輸的隧道,該隧道的標識為第一隧道標識;若該期望隧道標識指向的隧道 可用,則VPN設備將該期望隧道標識作為第一隧道標識。在另一個例子中,VPN設備可以直接 為該客戶端的接入請求指定一個可用的第一隧道標識。
[0032]步驟202:獲取該VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小可 用節點的節點標識。
[0033]在執行步驟202之前,負載均衡設備可以從預設的VPN設備集群中獲取所有VPNS 備的數量,并利用該數量確定設備標識的標記位數,然后再針對每個VPN設備,根據改標記 位數為該VPN設備進行編號,并將該編號確定為該VPN設備的設備標識,最后將該VPN設備的 IP地址與該設備標識添加到地址與標識對應表中。
[0034]其中,預設的VPN設備集群指的是與負載均衡設備連接的所有VPN設備,并且VPNS 備集群中記錄有所有VPN設備的IP地址;VPN設備的設備標識可以數字,也可以是字符,也可 以是數字與字符的組合,下面以數字為例進行說明,例如,VPN設備集群中的VPN設備的數量 為7個,由于通常情況下,在計算機中存儲數字是以二進制形式進行存儲,因此可以確定設 備標識的標記位數為3,即,可以分別將7個VPN設備編號為000(數字0)、001(數字1)、010(數 字2)、011(數字3)、100(數字4)、101(數字5)、110(數字6),如表1所示,為一種示例性的地址 與標識對應表。
[0036] 表1
[0037] 針對獲取該VPN設備的IP地址對應的設備標識的過程,負載均衡設備可以利用該 VPN設備的IP地址查找地址與標識對應表,并獲取該VPN設備的IP地址對應的設備標識。如 表1所述,例如,VPN設備的IP地址為IP1,那么可以獲取到對應的設備標識為001。
[0038] 針對根據預設規則獲取最小可用節點的節點標識的過程,負載均衡設備可以從數 組鏈表中獲取最小可用節點的地址,再獲取該最小可用節點的地址指向的節點所記錄的節 點標識。
[0039] 針對從數組鏈表中獲取最小可用節點的地址的過程,負載均衡設備可以將數組鏈 表中的首節點所記錄的下一個可用節點的地址作為最小可用節點的地址,并利用該最小可 用節點所記錄的下一個可用節點的地址替換首節點所記錄的下一個可用節點的地址。
[0040] 其中,該數組鏈表包括N個節點,每個節點中記錄有本節點標識和下一個可用節點 的地址,所述N為預設數值的節點標識的標記位數次方,該節點標識可以是數組鏈表中節點 的數字編號,即數組鏈表的下標,由于計算機通常以二進制形式存儲數字,因此,預設數值 為2,數組鏈表的節點數為2的節點標識的標記位數次方,該節點標識的標記位數由第二隧 道標識的標記位數與設備標識的標記位數確定。
[0041 ]針對該節點標識的標記位數由第二隧道標識的標記位數與設備標識的標記位數 確定的過程,第二隧道標識由預設標記位數組成,該節點標識的標記位數為該預設標記位 數與設備標識的標記位數之差。其中,由于在L2TP協議中隧道標識由16為比特數組成,因此 該預設標記位數可以為16,例如,設備標識的標記位數為3,則該節點標識的標記位數為16-3 = 13〇
[0042] 下面以一個例子說明節點標識的獲取過程,例如,數組鏈表中的首節點所記錄的 可用節點的地址為第四個節點的地址,以及本節點標識為〇〇〇〇 〇〇〇〇 〇〇〇〇 〇(數字〇),那么 第四個節點的地址指向的節點所記錄的節點標識為〇〇〇〇 〇〇〇〇 0001 1(數字3),表示節點 標識1和節點標識2已經被用,目前最小可用節點的節點標識為0000 0000 0001 1,并且,負 載均衡設備會利用第四個節點所記錄的下一個可用節點的地址,即第五個節點的地址,替 換首節點所記錄的第四個節點的地址,當負載均衡設備下一次再獲取最小可用節點的節點 標識時,會獲取到第五個節點的節點標識0000 0000 0010 〇(數字4)。
[0043] 步驟203:利用該設備標識和該節點標識獲得第二隧道標識。
[0044] 具體地,負載均衡設備可以按照預設組合順序,將該設備標識與該節點標識進行 組合,得到第二隧道標識。
[0045] 其中,該預設組合順序可以是設備標識在前,節點標識在后,也可以是設備標識在 后,節點標識在前,這里并不做限定。
[0046] 下面以一個例子進行說明,例如,設備標識在前,節點標識在后,VPN設備1針對客 戶端1返回的控制報文1,VPN設備2針對客戶端2返回的控制報文2,控制報文1和控制報文2 攜帶的第一隧道標識均為0010 〇〇〇〇 0010 1101(數字45),假設針對控制報文1,負載均衡 設備獲取到最小可用節點的節點標識為〇〇〇〇 〇〇〇〇 0001 1,VPN設備1的設備標識為001;針 對控制報文2,獲取到最小可用節點的節點標識為0000 0000 0010 0,VPN設備2的設備標識 為010,從而,得到控制報文1的第二隧道標識為0010 〇〇〇〇 〇〇〇〇 0011,控制報文2的第二隧 道標識為0100 〇〇〇〇 〇〇〇〇 0100。
[0047] 由步驟201至步驟203描述可知,針對不同的VPN設備,即使指定的第一隧道標識相 同,由于其設備標識不同,以及獲取到的節點標識也不同,因此負載均衡設備利用設備標識 和節點標識獲得的第二隧道標識也就不同,這樣,即使兩個客戶端分配到了相同的第一隧 道標識,其對應的第二隧道標識不同,負載均衡設備同樣也可以區分不同的客戶端對應不 同的VPN設備。
[0048]步驟204:利用該第二隧道標識替換控制報文中的第一隧道標識,并將該控制報文 轉發到客戶端上。
[0049] 針對將控制報文轉發到客戶端上的過程,可以按照現有的轉發流程進行轉發,不 再贅述。客戶端在接收到控制報文時,可以利用第二隧道標識進行VPN業務訪問。
[0050] 負載均衡設備在用第二隧道標識替換第一隧道標識之前,可以將第一隧道標識、 第二隧道標識以及VPN設備的IP地址記錄到會話保持表項中,并且,負載均衡設備在將該控 制報文轉發到客戶端上之后,接收到來自該客戶端的業務報文(正向業務報文),該業務報 文攜帶有該第二隧道標識,可以利用該第二隧道標識查找會話保持表項,獲取對應的第一 隧道標識和VPN設備的IP地址,并利用該第一隧道標識替換該業務報文中的第二隧道標識, 并將該業務報文發送到該VPN設備的IP地址指向的VPN設備上,此外,VPN設備再將該正向業 務報文轉發到服務器上,服務器針對該正向業務報文向客戶端返回反向業務報文。與此同 時,當負載均衡設備接收到來自該VPN設備轉發的反向業務報文時,利用第一隧道標識和該 VPN設備的IP地址查找會話保持表項,獲取到對應的第二隧道標識,并用第二隧道標識替換 第一隧道標識,并將該反向業務報文轉發到該客戶端上。從而,保證了客戶端的業務正常。
[0051] 需要說明的是,通常情況下,客戶端向服務器發送的報文方向可以為"正向",服務 器根據接收到的正向報文返回的報文方向可以為"反向"。
[0052] 需要進一步說明的是,該數組鏈表中除了首節點之外,每個節點中還可以記錄上 一個可用節點的地址,并且在該節點被用之后,將已用標識添加到該節點中,以指示該節點 已被使用,當客戶端斷開VPN業務時,可以釋放數組鏈表中已用的節點標識,下面對釋放數 組鏈表的過程進行詳細說明,為了區分描述方便,已被使用的節點所記錄的前一個節點的 地址和后一個節點的地址,可以稱為該節點所記錄的上一個節點的地址和下一個節點的地 址。
[0053]當負載均衡設備接收到來自客戶端的下線報文時,獲取該下線報文攜帶的第二隧 道標識,并根據預設組合順序獲取相應的節點標識,并從已被使用的節點中獲取該節點標 識對應的節點,并刪除該節點所記錄的已用標識。然后判斷該節點所記錄的上一個節點的 地址指向的節點是否被用,若未被使用,則利用該上一個節點所記錄的下一個可用節點的 地址替換該節點所記錄的下一個節點的地址,并利用該節點的地址替換上一個節點所記錄 的下一個可用節點的地址;若已被使用,則針對該已被使用的節點,繼續判斷該已被使用的 節點所記錄的上一個節點的地址指向的節點是否被用,直到查找到未被使用的節點,并用 該未被使用的節點所記錄的下一個可用節點的地址替換該節點所記錄的下一個節點的地 址,并利用該節點的地址替換該未被使用的節點所記錄的下一個可用節點的地址。
[0054]基于步驟204描述可知,負載均衡設備通過釋放數組鏈表中已用的節點標識,可以 避免數組鏈表中的節點被用完,而無法獲得第二隧道標識。
[0055] 由上述實施例可知,負載均衡設備在接收到來自VPN設備的控制報文時,獲取控制 報文攜帶VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小可用節點的節點標 識,然后再利用該設備標識和該節點標識獲得第二隧道標識,并利用該第二隧道標識替換 該控制報文中攜帶的第一隧道標識,并將該控制報文轉發到客戶端上。基于上述實現方式, 由于負載均衡設備通過利用設備標識和節點標識獲得第二隧道標識,針對不同的VPN設備, 即使為兩個客戶端指定的第一隧道標識相同,由于設備標識和節點標識均不同,得到的第 二隧道標識也不同,從而,這兩客戶端能夠利用不同的第二隧道標識向負載均衡設備發送 業務報文,負載均衡設備可以通過不同的第二隧道標識,區分這兩客戶端對應的VPN設備的 IP地址和第一隧道標識,并用第一隧道標識替換第二隧道標識,并將業務報文發送到該VPN 設備的IP地址指向的VPN設備上,保證了客戶端的業務正常。
[0056] 與前述隧道標識的轉換方法的實施例相對應,本申請還提供了隧道標識的轉換裝 置的實施例。
[0057] 本申請隧道標識的轉換裝置的實施例可以應用在負載均衡設備上。裝置實施例可 以通過軟件實現,也可以通過硬件或者軟硬件結合的方式實現。以軟件實現為例,作為一個 邏輯意義上的裝置,是通過其所在設備的處理器將非易失性存儲器中對應的計算機程序指 令讀取到內存中運行形成的。從硬件層面而言,如圖3所示,為本申請根據一示例性實施例 示出的一種負載均衡設備的硬件結構圖,除了圖3所示的處理器、內存、網絡接口、以及非易 失性存儲器之外,實施例中裝置所在的設備通常根據該設備的實際功能,還可以包括其他 硬件,對此不再贅述。
[0058]圖4為本申請根據一示例性實施例示出的一種隧道標識的轉換裝置的實施例結構 圖,如圖4所示,該實施例應用于負載均衡設備上,該裝置包括:接收單元410、獲取單元420、 獲得單元430、替換單元440、轉發單元450。
[0059]其中,接收單元410,用于接收來自VPN設備的控制報文,所述控制報文攜帶有所述 VPN設備的IP地址和第一隧道標識;
[0060]獲取單元420,用于獲取所述VPN設備的IP地址對應的設備標識,并根據預設規則 獲取最小可用節點的節點標識;
[0061 ]獲得單元430,用于利用所述設備標識和所述節點標識獲得第二隧道標識;
[0062]替換單元440,用于利用所述第二隧道標識替換所述控制報文中的第一隧道標識; [0063]轉發單元450,用于將所述控制報文轉發到客戶端上。
[0064]在一個可選的實現方式中,獲取單元420,具體用于在獲取所述VPN設備的IP地址 對應的設備標識的過程中,利用所述VPN設備的IP地址查找地址與標識對應表;獲取所述 VPN設備的IP地址對應的設備標識。
[0065]在另一個可選的實現方式中,所述裝置還包括(圖4中未示出):對應表建立單元; [0066]所述對應表建立單元,用于從預設的VPN設備集群中獲取所有VPN設備的數量;利 用所述數量確定設備標識的標記位數;針對每個VPN設備,根據所述標記位數為所述VPNS 備進行編號,并將所述編號確定為所述VPN設備的設備標識;將所述VPN設備的IP地址與所 述設備標識添加到所述地址與標識對應表中。
[0067]在另一個可選的實現方式中,所述第二隧道標識由預設標記位數組成,所述節點 標識的標記位數為所述預設標記位數與所述設備標識的標記位數之差;獲取單元420,還具 體用于在根據預設規則獲取最小可用節點的節點標識的過程中,將數組鏈表中的首節點所 記錄的下一個可用節點的地址作為最小可用節點的地址;其中,所述數組鏈表包括N個節 點,每個節點中記錄有本節點標識和下一個可用節點的地址,所述N為預設數值的節點標識 的標記位數次方;獲取所述最小可用節點的地址指向的節點所記錄的節點標識,并將所述 節點標識確定為最小可用節點的節點標識;利用所述最小可用節點所記錄的下一個可用節 點的地址替換首節點所記錄的下一個可用節點的地址。
[0068]在另一個可選的實現方式中,獲得單元430,具體用于按照預設組合順序,將所述 設備標識與所述節點標識進行組合,得到第二隧道標識。
[0069] 在另一個可選的實現方式中,所述裝置還包括(圖4中未示出):
[0070] 記錄單元,用于在所述替換單元440利用所述第二隧道標識替換所述控制報文中 的第一隧道標識之前,將所述第一隧道標識、所述第二隧道標識以及所述VPN設備的IP地址 記錄到會話保持表項中;
[0071] 所述裝置還包括(圖4中未示出):
[0072]業務報文處理單元,用于在所述轉發單元450將所述控制報文轉發到客戶端上之 后,接收來自所述客戶端的業務報文,所述業務報文攜帶有第二隧道標識;利用所述第二隧 道標識查找所述會話保持表項,獲取對應的第一隧道標識和VPN設備的IP地址;利用所述第 一隧道標識替換所述業務報文中的第二隧道標識,并將所述業務報文發送至所述VPN設備 的IP地址指向的VPN設備上。
[0073] 上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的 實現過程,在此不再贅述。
[0074] 對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實 施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件 說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以 不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的 需要選擇其中的部分或者全部模塊來實現本申請方案的目的。本領域普通技術人員在不付 出創造性勞動的情況下,即可以理解并實施。
[0075]由上述實施例可知,負載均衡設備在接收到來自VPN設備的控制報文時,獲取控制 報文攜帶VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小可用節點的節點標 識,然后再利用該設備標識和該節點標識獲得第二隧道標識,并利用該第二隧道標識替換 該控制報文中攜帶的第一隧道標識,并將該控制報文轉發到客戶端上。基于上述實現方式, 由于負載均衡設備通過利用設備標識和節點標識獲得第二隧道標識,針對不同的VPN設備, 即使為兩個客戶端指定的第一隧道標識相同,由于設備標識和節點標識均不同,得到的第 二隧道標識也不同,從而,這兩客戶端能夠利用不同的第二隧道標識向負載均衡設備發送 業務報文,負載均衡設備可以通過不同的第二隧道標識,區分這兩客戶端對應的VPN設備的 IP地址和第一隧道標識,并用第一隧道標識替換第二隧道標識,并將業務報文發送到該VPN 設備的IP地址指向的VPN設備上,保證了客戶端的業務正常。
[0076]以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精 神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。
【主權項】
1. 一種隧道標識的轉換方法,其特征在于,所述方法應用于負載均衡設備上,所述方法 包括: 接收來自虛擬專用網絡VPN設備的控制報文,所述控制報文攜帶有所述VPN設備的網際 協議IP地址和第一隧道標識; 獲取所述VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小可用節點的節 點標識; 利用所述設備標識和所述節點標識獲得第二隧道標識; 利用所述第二隧道標識替換所述控制報文中的第一隧道標識,并將所述控制報文轉發 到客戶端上。2. 根據權利要求1所述的方法,其特征在于,所述獲取所述VPN設備的IP地址對應的設 備標識的過程,具體包括: 利用所述VPN設備的IP地址查找地址與標識對應表; 獲取所述VPN設備的IP地址對應的設備標識。3. 根據權利要求2所述的方法,其特征在于,針對建立所述地址與標識對應表的過程, 具體包括: 從預設的VPN設備集群中獲取所有VPN設備的數量; 利用所述數量確定設備標識的標記位數; 針對每個VPN設備,根據所述標記位數為所述VPN設備進行編號,并將所述編號確定為 所述VPN設備的設備標識;將所述VPN設備的IP地址與所述設備標識添加到所述地址與標識 對應表中。4. 根據權利要求3所述的方法,其特征在于,所述第二隧道標識由預設標記位數組成, 所述節點標識的標記位數為所述預設標記位數與所述設備標識的標記位數之差,所述根據 預設規則獲取最小可用節點的節點標識的過程,具體包括: 將數組鏈表中的首節點所記錄的下一個可用節點的地址作為最小可用節點的地址;其 中,所述數組鏈表包括N個節點,每個節點中記錄有本節點標識和下一個可用節點的地址, 所述N為預設數值的節點標識的標記位數次方; 獲取所述最小可用節點的地址指向的節點所記錄的節點標識,并將所述節點標識確定 為最小可用節點的節點標識; 利用所述最小可用節點所記錄的下一個可用節點的地址替換首節點所記錄的下一個 可用節點的地址。5. 根據權利要求1所述的方法,其特征在于,所述利用所述設備標識和所述節點標識獲 得第二隧道標識的過程,具體包括: 按照預設組合順序,將所述設備標識與所述節點標識進行組合,得到第二隧道標識。6. 根據權利要求1所述的方法,其特征在于,所述利用所述第二隧道標識替換所述控制 報文中的第一隧道標識之前,所述方法還包括: 將所述第一隧道標識、所述第二隧道標識以及所述VPN設備的IP地址記錄到會話保持 表項中; 所述將所述控制報文轉發到客戶端上之后,所述方法還包括: 接收來自所述客戶端的業務報文,所述業務報文攜帶有第二隧道標識; 利用所述第二隧道標識查找所述會話保持表項,獲取對應的第一隧道標識和VPN設備 的IP地址; 利用所述第一隧道標識替換所述業務報文中的第二隧道標識,并將所述業務報文發送 至所述VPN設備的IP地址指向的VPN設備上。7. -種隧道標識的轉換裝置,其特征在于,所述裝置應用于負載均衡設備上,所述裝置 包括: 接收單元,用于接收來自虛擬專用網絡VPN設備的控制報文,所述控制報文攜帶有所述 VPN設備的網際協議IP地址和第一隧道標識; 獲取單元,用于獲取所述VPN設備的IP地址對應的設備標識,并根據預設規則獲取最小 可用節點的節點標識; 獲得單元,用于利用所述設備標識和所述節點標識獲得第二隧道標識; 替換單元,用于利用所述第二隧道標識替換所述控制報文中的第一隧道標識; 轉發單元,用于將所述控制報文轉發到客戶端上。8. 根據權利要求7所述的裝置,其特征在于, 所述獲取單元,具體用于在獲取所述VPN設備的IP地址對應的設備標識的過程中,利用 所述VPN設備的IP地址查找地址與標識對應表;獲取所述VPN設備的IP地址對應的設備標 識。9. 根據權利要求8所述的裝置,其特征在于,所述裝置還包括:對應表建立單元; 所述對應表建立單元,用于從預設的VPN設備集群中獲取所有VPN設備的數量;利用所 述數量確定設備標識的標記位數;針對每個VPN設備,根據所述標記位數為所述VPN設備進 行編號,并將所述編號確定為所述VPN設備的設備標識;將所述VPN設備的IP地址與所述設 備標識添加到所述地址與標識對應表中。10. 根據權利要求9所述的裝置,其特征在于,所述第二隧道標識由預設標記位數組成, 所述節點標識的標記位數為所述預設標記位數與所述設備標識的標記位數之差; 所述獲取單元,還具體用于在根據預設規則獲取最小可用節點的節點標識的過程中, 將數組鏈表中的首節點所記錄的下一個可用節點的地址作為最小可用節點的地址;其中, 所述數組鏈表包括N個節點,每個節點中記錄有本節點標識和下一個可用節點的地址,所述 N為預設數值的節點標識的標記位數次方;獲取所述最小可用節點的地址指向的節點所記 錄的節點標識,并將所述節點標識確定為最小可用節點的節點標識;利用所述最小可用節 點所記錄的下一個可用節點的地址替換首節點所記錄的下一個可用節點的地址。11. 根據權利要求7所述的裝置,其特征在于,所述獲得單元,具體用于按照預設組合順 序,將所述設備標識與所述節點標識進行組合,得到第二隧道標識。12. 根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 記錄單元,用于在所述替換單元利用所述第二隧道標識替換所述控制報文中的第一隧 道標識之前,將所述第一隧道標識、所述第二隧道標識以及所述VPN設備的IP地址記錄到會 話保持表項中; 所述裝置還包括: 業務報文處理單元,用于在所述轉發單元將所述控制報文轉發到客戶端上之后,接收 來自所述客戶端的業務報文,所述業務報文攜帶有第二隧道標識;利用所述第二隧道標識
【文檔編號】H04L12/803GK106027356SQ201610523935
【公開日】2016年10月12日
【申請日】2016年7月4日
【發明人】鄭言, 丁金巖, 孫艷杰
【申請人】杭州迪普科技有限公司