邊緣網絡雙棧接入下主機間互訪優化中的隧道選擇方法
2023-05-03 01:41:46 1
專利名稱:邊緣網絡雙棧接入下主機間互訪優化中的隧道選擇方法
技術領域:
邊緣網絡雙棧接入下主機間互訪優化中的隧道選擇方法屬於網際網路技術領域,是 一種隧道過渡技術。
背景技術:
隨著IPv6技術的快速發展、逐步成熟和廣泛應用,IPv6網絡規模逐步擴大,然而 大量網際網路應用和服務仍然只適用於IPv4網絡。將這些應用和服務從IPv4到IPv6網絡 進行移植是一項長期而又艱巨的任務,因此,IPv4和IPv6網絡將長期共存,其IPv4/v6的 過渡將具有長期性和複雜性。在IPv4/IPv6互連的網絡中,存在一些IPv6邊緣網絡,其接 入端是IPv4私有網絡。邊緣網絡雙棧接入是一種隧道過渡技術,它實現了私有IPv4網絡或主機穿越 IPv6接入網訪問IPv4Internet。如圖1所示,來自私有IPv4網絡/主機發往IPv4Internet 的分組首先在CPE進行封裝IPv6報頭,源端IPv6地址是CPE的IPv6地址,目的端IPv6地 址是 CGN 的 IPv6 地址。通過 IPv4-over-IPv6 隧道後到達 Carri er Grade NAT (CGN), CGN 將分組解封裝,根據CPE IPv6地址+源端私有IPv4地址+埠查詢NAT映射表是否有對 應選項,若沒有查到則CGN分配一個公有IPv4地址和埠來建立表項,若找到則直接將分 組中的源端私有IPv4地址和埠改為公有的,然後將分組發往IPMInternet。邊緣網絡雙棧接入技術能夠更好的協調部署IPv6所需的成本以及利益。寬帶服 務供應商使用邊緣網絡雙棧接入技術結合兩種熟知的技術IP in IP(IPv4-in-IPv6)和 NAT,在客戶間共享IPv4地址,具有良好的發展前景。與本發明相關的現有技術(華為公司提出的邊緣網絡雙棧接入下主機間互訪優 化方案)該方案是邊緣網絡雙棧接入下引入CPE與CGN間的協商方法,以減輕網絡的負擔, 同時減輕CGN的流量負擔。如圖1所示的邊緣網絡雙棧接入場景,CPE1和CPE2向CGN進 行註冊,表明它們支持該優化方案。CGN收到信息後保存CPE1和CPE2的狀態信息。主機 HI向H2發送分組,該分組首先到達CPE1,然後通過CPE1與CGN的隧道發往CGN ;CGN收到 分組後,將分組進行解封裝,再根據CPE2的註冊信息進行封裝,封裝後的分組通過CGN與 CPE2的隧道發往CPE2。CPE2收到來自CGN的分組後,直接解封裝然後將分組發往本地私 有IPv4網絡。同時,CGN打通CPE間隧道,使發往H2的分組能直接通過CPE1封裝後發往 CPE2,CPE2收到分組後解封裝發往本地私有IPv4網絡。該技術存在缺點網絡中應用具有多樣性,每種隧道類型都具有各自的優缺點,都 有各自的適用範圍,這就要求CPE支持多種隧道(如GRE、L2Tpv3、IP-in-IP、LDP-based MPLS等),而該方案CPE之間只能通過固定的一個隧道類型進行連接;並且網絡中CPE也具 有多樣性,所支持的隧道類型也都不一樣,所以該技術方案具有局限性。
發明內容
本發明是在現有方案的基礎上增加一個隧道選擇方法。默認所有的CPE都是能支 持2-3種隧道機制。如果要進行連接的2個CPE支持的隧道類型沒有相同的,則CPE1通過 CPE1與CGN之間的隧道給CGN傳輸數據,該隧道的類型是由CPE向CGN註冊時,CGN返回給 CPE的隧道類型信息決定,然後由CGN通過CGN與CPE2之間的隧道將數據發送給CPE2 ;如 果有一種以上共同支持的隧道機制,則根據隧道優先級(以CPE1的優先級為準)選定隧道 類型,再通過選定的隧道進行數據傳輸(這是本方案的主體部分)。本發明的方法特徵在於是在由兩個互訪的主機、與所述兩個互訪的主機分別對應 的IPv6網客戶接入設備CPE、IPv6網、與所述兩個客戶接入設備CPE經所述IPv6網相連的電 信等級的網絡地址解碼器CGN、以及IPv4網構成的網絡環境中依次按以下步驟實現的。步驟(1),第一客戶接入設備CPE(l)和第二客戶接入設備CPE(2)分別向所述電信 等級的網絡地址解碼器CGN註冊,其步驟如下步驟(1. 1),所述第一客戶接入設備CPE(l)和第二客戶接入設備CPE(2)分別向所 述電信等級的網絡地址解碼器CGN發送包括所支持的隧道類型Tunnel Type以及此類型對 應的優先級Tunnel DPI在內的信息,表示支持路徑優化;步驟(1. 2),所述電信等級的網絡地址解碼器CGN在收到步驟(1. 1)中所述的信息 後,把提取的包括CPE IPv6Address, CPE隧道類型以及CPE隧道對應的優先級保存在權能 Capability表中,同時把選定的所述兩個客戶接入設備各自與所述電信等級的網絡地址譯 碼器CGN之間的CGN隧道類型信息以及對應的CPE地址信息發送給所述的兩個客戶接入設 備 CPE ;步驟(1. 3),所述兩個客戶接入設備接收信息後,更新自己的轉發Forward表;步驟(2),第一主機(HI)向所述第一客戶接入設備CPE(l)發送通向第二主機 (H2)的分組,源端地址為所述第一主機(HI)的私有IPv4地址,目的端地址為所述第二主機 (H2)的公有IPv4地址;步驟(3),在步驟(2)中所述的分組到達所述第一客戶接入設備CPE(l)後,通過 默認路由把所述分組發往所述電信等級的網絡地址解碼器CGN,先把所述分組封裝上IPv6 頭,以所述第一客戶接入設備的IPv6地址為源端地址,以所述電信等級的網絡地址解碼器 CGN的IPv6地址為目的端地址,再根據所述CGN隧道類型對應的隧道,把所述分組封裝後發 往所述電信等級的網絡地址解碼器CGN ;步驟(4),所述電信等級的網絡地址解碼器CGN收到步驟(3)發來的分組後,把所 述分組解封裝再根據預留的網絡地址轉換用的本地地址映射表將所述源端私有地址和端 口改為公有地址和埠 ;目的端公有地址和埠改為私有IPv4地址和埠再封裝上IPv6 頭,以所述電信等級的網絡地址解碼器CGN的IPv6地址為源端地址,以所述第二客戶接入 設備CPE(2)的IPv6地址為目的端地址,再根據在所述第二客戶接入設備CPE (2)在註冊時 由所述電信等級的網絡地址解碼器CGN發送的CGN隧道類型對應的隧道把該分組進行封 裝,然後發往所述第二客戶接入設備CPE (2);步驟(5),所述第二客戶接入設備收到步驟(4)中來自所述電信等級的網絡地址 解碼器CGN發來的分組後,直接解封裝,再根據包頭中第二主機(H2)的私有IPv4地址,把 分組通過本地私有IPv4網絡發往所述第二主機(H2);
步驟(6),在執行步驟(4)的同時,若所述電信等級的網絡地址解碼器CGN中的 權能Capability表中已有所述兩個客戶接入設備都支持路徑優化方案,並共同支持一種 隧道類型,且對於所述第一客戶接入設備CPE(l)而言,沒有其他共同支持的隧道類型比所 述共同支持的隧道類型具有更高的優先級,則所述電信等級的網絡地址解碼器CGN向作 為源端的第一客戶接入責備CPE(l)發送打通所述兩個客戶接入設備間的隧道信息包括 CPE(2) IPv6地址,CPE(2)隧道類型在內的轉發隧道信息。用於作為源端的第一客戶接入 設備CPE(l)更新所述轉發forward表,同時向作為目的端的第二客戶接入設備CPE(2)發 送到達所述第一客戶接入設備CPE(l)的轉發隨到信息,其中包括所述第一主機(HI)的 IPv4公有地址,CPE (1) IPv6地址和CPE (1)的隧道類型,用於所述第二客戶接入設備CPE (2) 更新轉發forward表;步驟(7)在執行步驟⑵時,若所述第一客戶接入設備CPE(l)查詢本地轉發 Forward表,發現目的公有地址和埠有對應的CPE (2)的IPv6地址,且有約定的通往所述 第二客戶接入設備CPE(2)的隧道類型進行數據傳送,再根據本地地址映射表把要發的分 組的私有IPv4地址和埠改為公有地址和埠,再為所述分組封裝IPv6頭,以所述第二客 戶接入設備CPE(2)的IPv6地址為目的地址,再根據約定的發往CPE (2)的隧道類型對所述 分組進行隧道封裝,再轉發;步驟(8),所述第二客戶接入設備CPE(2)收到來自步驟(7)中所述第一客戶接入 設備CPE (1)的分組後,解封裝,再根據本地地址映射表獎所述分組的目的地址和埠改為 私有地址和埠,發往本地IPv4網絡。網絡中存在多種多樣的應用,每個應用適用於不同類型的隧道機制,如GRE、 L2Tpv3,IP-in-IP,LDP-based MPLS等。為了更好地支持各種應用,要求整個網絡能支持多 種隧道機制,並且能自發地選擇最優化的隧道機制進行數據傳輸。本方案解決了多種隧道 機制並存,如何選擇更適合的隧道類型進行數據傳輸的問題,更好地支持了網絡應用的多 樣性。
圖1.邊緣網絡雙棧接入的場景拓撲圖;圖2.邊緣網絡雙棧接入下主機間互訪優化中的隧道選擇方法中的各節點的關係 圖;圖3.邊緣網絡雙棧接入下主機間互訪優化中的隧道選擇方法中的數據包傳輸的 示意圖;圖4.邊緣網絡雙棧接入下主機間互訪優化中的隧道選擇方法數據包傳輸的流程 圖;圖5.實施案例中數據包傳輸的流程圖。
具體實施例方式CPE向CGN註冊,CGN獲得CPE1與CPE2的隧道信息,生成capability表,同時 回復forward信息給CPE1,使之更新forward表;回復地址分配信息給CPE,使之更新本 地地址映射表,如圖5。當私有IPv4地址為192. 168. 1. 2的主機HI向公有IPv4地址為166. 111.8. 56(該地址是由CGN對應的DHCPv6分配的)的主機H2發送數據,數據包封裝上 目的端與源端地址信息後發送給CPE1 (IPv6地址=1:0:0:0:0:0:0:1) 0 CPE1查找forward 表(非陰影部分,陰影部分為下一個步驟後更新的信息),根據轉發forward表對數據包進 行封裝,封裝上源端與目的端IPv6地址(CPE1與CGN地址)以及埠後,再封裝上GRE報頭 發送給CGN,如圖5。CGN收到封裝包,解封裝,查找forward表,再封裝、轉發給CPE2,CPE2 解封裝後,查找本地地址映射表後,封裝上源端與目的端地址信息發送給H2。CGN轉發包的 同時,查找Capability表,確定CPE1與CPE2之間所用的隧道類型後,將該forward信息發 送給CPE1與CPE2,使之更新forward表,即圖5中陰影部分。 當下一個包經過CPE1時,CPE1查詢forward表,發現發到H2的包可以直接發送 給CPE2,並可用GRE隧道進行封裝、CPE1先根據本地地址映射表將數據包的源地址與埠 換成HI公有地址與埠,再將數據包封裝上源端與目的端IPv6地址(即CPE1與CPE2的 IPv6地址),再封裝上GRE報文頭後,通過GRE隧道發送給CPE2,CPE2接收後,進行GRE解 封裝,再查找本地地址映射表,根據表的信息,將數據包封裝上源端與目的端IPv4地址,轉 發給H2,如圖5。
權利要求
邊緣網絡雙棧接入下主機間互訪優化中的隧道選擇方法,其特徵在於是在由兩個互訪的主機、與所述兩個互訪的主機分別對應的IPv6網客戶接入設備CPE、IPv6網、與所述兩個客戶接入設備CPE經所述IPv6網相連的電信等級的網絡地址解碼器CGN、以及IPv4網構成的網絡環境中依次按以下步驟實現的。步驟(1),第一客戶接入設備CPE(1)和第二客戶接入設備CPE(2)分別向所述電信等級的網絡地址解碼器CGN註冊,其步驟如下步驟(1.1),所述第一客戶接入設備CPE(1)和第二客戶接入設備CPE(2)分別向所述電信等級的網絡地址解碼器CGN發送包括所支持的隧道類型Tunnel Type以及此類型對應的優先級Tunnel DPI在內的信息,表示支持路徑優化;步驟(1.2),所述電信等級的網絡地址解碼器CGN在收到步驟(1.1)中所述的信息後,把提取的包括CPE IPv6Address、CPE隧道類型以及CPE隧道對應的優先級保存在權能Capability表中,同時把選定的所述兩個客戶接入設備各自與所述電信等級的網絡地址解碼器CGN之間的CGN隧道類型信息以及對應的CPE地址信息發送給所述的兩個客戶接入設備CPE;步驟(1.3),所述兩個客戶接入設備接收信息後,更新自己的轉發Forward表;步驟(2),第一主機(H1)向所述第一客戶接入設備CPE(1)發送通向第二主機(H2)的分組,源端地址為所述第一主機(H1)的私有IPv4地址,目的端地址為所述第二主機(H2)的公有IPv4地址;步驟(3),在步驟(2)中所述的分組到達所述第一客戶接入設備CPE(1)後,通過默認路由把所述分組發往所述電信等級的網絡地址解碼器CGN,先把所述分組封裝上IPv6頭,以所述第一客戶接入設備的IPv6地址為源端地址,以所述電信等級的網絡地址解碼器CGN的IPv6地址為目的端地址,再根據所述CGN隧道類型對應的隧道,把所述分組封裝後發往所述電信等級的網絡地址解碼器CGN;步驟(4),所述電信等級的網絡地址解碼器CGN收到步驟(3)發來的分組後,把所述分組解封裝再根據預留的網絡地址轉換用的本地地址映射表將所述源端私有地址和埠改為公有地址和埠;目的端公有地址和埠改為私有IPv4地址和埠再封裝上IPv6頭,以所述電信等級的網絡地址解碼器CGN的IPv6地址為源端地址,以所述第二客戶接入設備CPE(2)的IPv6地址為目的端地址,再根據在所述第二客戶接入設備CPE(2)在註冊時由所述電信等級的網絡地址解碼器CGN發送的CGN隧道類型對應的隧道把該分組進行封裝,然後發往所述第二客戶接入設備CPE(2);步驟(5),所述第二客戶接入設備收到步驟(4)中來自所述電信等級的網絡地址解碼器CGN發來的分組後,直接解封裝,再根據包頭中第二主機(H2)的私有IPv4地址,把分組通過本地私有IPv4網絡發往所述第二主機(H2);步驟(6),在執行步驟(4)的同時,若所述電信等級的網絡地址解碼器CGN中的權能Capability表中已有所述兩個客戶接入設備都支持路徑優化方案,並共同支持一種隧道類型,且對於所述第一客戶接入設備CPE(1)而言,沒有其他共同支持的隧道類型比所述共同支持的隧道類型具有更高的優先級,則所述電信等級的網絡地址解碼器CGN向作為源端的第一客戶接入責備CPE(1)發送打通所述兩個客戶接入設備間的隧道信息包括CPE(2)IPv6地址,CPE(2)隧道類型在內的轉發隧道信息。用於作為源端的第一客戶接入設備CPE(1)更新所述轉發forward表,同時向作為目的端的第二客戶接入設備CPE(2)發送到達所述第一客戶接入設備CPE(1)的轉發隨到信息,其中包括所述第一主機(H1)的IPv4公有地址,CPE(1)IPv6地址和CPE(1)的隧道類型,用於所述第二客戶接入設備CPE(2)更新轉發forward表;步驟(7)在執行步驟(2)時,若所述第一客戶接入設備CPE(1)查詢本地轉發Forward表,發現目的公有地址和埠有對應的CPE(2)的IPv6地址,且有約定的通往所述第二客戶接入設備CPE(2)的隧道類型進行數據傳送,再根據本地地址映射表把要發的分組的私有IPv4地址和埠改為公有地址和埠,再為所述分組封裝IPv6頭,以所述第二客戶接入設備CPE(2)的IPv6地址為目的地址,再根據約定的發往CPE(2)的隧道類型對所述分組進行隧道封裝,再轉發;步驟(8),所述第二客戶接入設備CPE(2)收到來自步驟(7)中所述第一客戶接入設備CPE(1)的分組後,解封裝,再根據本地地址映射表獎所述分組的目的地址和埠改為私有地址和埠,發往本地IPv4網絡。
全文摘要
邊緣網絡雙棧接入下主機間互訪優化中的隧道選擇方法,屬於網際網路技術領域,其特徵在於,在邊緣網絡雙棧接入下引入的CPE與CGN間的協商機制,增加一個隧道選擇機制,在所有CPE都支持2-3中隧道機制,並且CGN根據各CPE的IPv6地址、CPE支持的隧道類型及其優先權等級,向各CPE反饋CGN隧道信息的條件下,由CGN維護邊緣網絡雙棧接入下隧道類型等信息並且在隧道協商機制中使用的隧道由CGN確認後發送給作為源端的CPE。本發明解決了在多種隧道機制並存時,如何選擇更合適的隧道類型進行數據傳輸的問題,更好地支持了網絡應用的多樣化。
文檔編號H04L12/28GK101977250SQ20101053094
公開日2011年2月16日 申請日期2010年10月29日 優先權日2010年10月29日
發明者崔勇, 陳小孩 申請人:清華大學