雙協議棧數據傳輸的方法和設備的製作方法
2023-10-06 11:07:34 1
專利名稱:雙協議棧數據傳輸的方法和設備的製作方法
技術領域:
本發明涉及通信領域,尤其涉及一種雙協議棧數據傳輸的方法和設備。
背景技術:
IPv6(Internet Protocol Version 6,網際網路協議版本6)是網絡層協議的第 二代標準協議,也被稱為IPNG(IP Next Generation,下一代網際網路),是IETF (Internet Engineering Task Force, Internet工程任務組)設計的 一套規範,是IPv4 (Internet Protocol Version 4,網際網路協議版本4)的升級版本。 域名系統(DNS, Domain Name System)是一禾中用於TCP(TransmissionControl Protocol傳輸控制協議)/IP(Internet Protocol,網際網路協議)應用程式的分布式數據 庫,提供域名與IP位址之間的轉換。通過域名系統,用戶進行某些應用時,可以直接使用便 於記憶的、有意義的域名,而由網絡中的域名系統將域名解析為正確的IP位址。現有技術 中,DNS協議中使用A記錄存儲IPv4地址和域名的對應關係(RFC(Request For Comment, 請求註解)1035),使用AAAA記錄IPv6地址和域名的對應關係(RFC 3596)。
現有IP網絡中的主機,無論是使用IPv4或者IPv6進行通信,都需要將IP位址綁 定到SOCKET (套接字),然後通過本地SOCKET與對端SOCKET建立連接進行通信。SOCKET 是一組編程接口 (API),介於傳輸層與應用層之間,屏蔽傳輸層差異,向應用層提供統一的 編程接口。應用層可以直接通過對SOCKET接口函數的調用完成數據在IP網絡的傳輸。如 圖1所示SOCKET在TCP/IP協議棧中的位置。 現有技術中同時支持IPv4/IPv6通信的主機具有IPv4/IPv6協議棧,需要分別建 立IPv4socket與IPv6socket支持IPv4/IPv6通信,IPv4socket與IPv6socket之間沒有 共享資源,也不會互相影響。 但是,相互獨立的協議棧實現方案資源佔用過多,如果一個應用在IPv4上和IPv6 上同時使用,則需要同時佔用IPv4socket與IPv6socket的資源。
發明內容
本發明提供了一種雙協議棧數據傳輸的方法和設備,以實現IPv4上和IPv6使用 同一 socket進行數據傳輸,節省網絡資源。 本發明提供了一種雙協議棧數據傳輸的方法,應用於使用網際網路協議版本4IPv4
和網際網路協議版本6IPv6進行數據通信的設備,該方法包括以下步驟 所述設備使用配置的socket函數建立IPv4和IPv6共同使用的socket ; 所述設備通過所述socket與對端設備建立IPv4和IPv6連接; 所述設備與對端設備依據策略通過IPv4或者IPv6連接傳輸數據。 所述設備與對端設備依據策略通過IPv4或者IPv6連接傳輸數據之後, 所述設備與對端設備分別檢測與對端設備的IPv4連接狀態或者IPv6連接狀態; 當所述設備或者對端設備檢測到用於傳輸數據的連接故障時,切換到另一連接繼續數據傳輸。 所述設備通過所述socket與對端設備建立IPv4和IPv6連接包括
所述設備通過所述socket與所述對端設備交互IPv4和IPv6握手報文,建立與所 述對端設備的IPv4和IPv6連接,其中,所述IPv6握手報文的擴展頭中攜帶IPv4地址與 IPv6地址的對應關係。 當所述設備或者對端設備檢測到用於傳輸數據的連接故障時,切換到另一連接繼 續數據傳輸包括 當所述設備與對端設備之間發送傳輸控制協議TCP應用數據時,若檢測到用於傳
輸數據的連接故障,根據對端IPv4地址與IPv6地址的對應關係獲取與對端的另一連接,並
使用所述用於傳輸數據的連接的同一套序列號繼續進行數據傳輸。 所述策略具體為使用握手過程中響應速度較快的連接進行數據傳輸。 所述設備通過所述socket與對端設備建立IPv4和IPv6連接包括 所述設備通過所述socket與所述對端設備交互IPv4和IPv6數據報文,建立與所
述對端設備的IPv4和IPv6連接,其中,所述IPv6數據報文的擴展頭中攜帶IPv4地址與
IPv6地址的對應關係。 當所述設備或者對端設備檢測到用於傳輸數據的連接故障時,切換到另一連接繼 續數據傳輸包括 若檢測到用於傳輸數據的連接故障,根據對端IPv4地址與IPv6地址的對應關係
獲取與對端的另一連接,切換到所述另一連接繼續數據傳輸。 所述策略具體為使用數據報文的響應速度較快的連接進行數據傳輸。 所述設備使用配置的socket函數建立IPv4和IPv6共同使用的socket之前,還
包括 所述設備在socket函數中同時配置IPv4/IPv6地址,建立被IPv4和IPv6共同使 用的socket函數。 本發明提供一種雙協議棧數據傳輸的設備,使用IPv4和Pv6網絡進行數據通信, 該設備包括 socket建立單元,用於使用配置的socket函數建立IPv4和IPv6共同使用的 socket ; 連接單元,與所述socket建立單元連接,用於通過所述socket與對端設備建立 IPv4和IPv6連接; 數據傳輸單元,與所述連接單元連接,用於與對端設備依據策略通過IPv4或者 IPv6連接傳輸數據。
還包括 故障切換單元,與所述數據傳輸單元連接,用於檢測與對端設備的IPv4連接狀態 或者IPv6連接狀態,當檢測到用於傳輸數據的連接故障時,切換到另一連接繼續數據傳 輸。
所述連接單元還用於 通過所述socket與所述對端設備交互IPv4和IPv6握手報文,建立與所述對端設 備的IPv4和IPv6連接,其中,所述IPv6握手報文的擴展頭中攜帶IPv4地址與IPv6地址的對應關係。 所述故障切換單元還用於 當所述設備與對端設備之間發送傳輸控制協議TCP應用數據時,若檢測到用於傳
輸數據的連接故障,根據對端IPv4地址與IPv6地址的對應關係獲取與對端的另一連接,並
使用所述用於傳輸數據的連接的同一套序列號繼續進行數據傳輸。 所述策略具體為使用握手過程中響應速度較快的連接進行數據傳輸。 所述連接單元還用於 通過所述socket與所述對端設備交互IPv4和IPv6數據報文,建立與所述對端設 備的IPv4和IPv6連接,其中,所述IPv6數據報文的擴展頭中攜帶IPv4地址與IPv6地址 的對應關係。 所述故障切換單元還用於 若檢測到用於傳輸數據的連接故障,根據對端IPv4地址與IPv6地址的對應關係
獲取與對端的另一連接,切換到所述另一連接繼續數據傳輸。 所述策略具體為使用數據報文的響應速度較快的連接進行數據傳輸。
還包括 配置單元,與所述socket建立單元連接,用於在socket函數中同時配置IPv4/ IPv6地址,建立被IPv4和IPv6共同使用的socket函數。
與現有技術相比,本發明至少具有以下優點 網絡設備建立被IPv4/IPv6共同使用的socket,根據該socket與對端設備建立 IPv4/IPv6連接並進行數據傳輸,節省socket對資源的佔用。
圖1是現有技術中SOCKET在TCP/IP協議棧中的位置示意圖; 圖2是本發明提供的雙協議棧數據傳輸的方法的流程示意圖; 圖3是本發明應用場景提供的雙協議棧數據傳輸的方法的流程示意圖; 圖4是圖3所示場景中握手過程報文交互流程示意圖; 圖5是序列號在握手過程前後的使用過程示意圖; 圖6是本發明提供的雙協議棧數據傳輸的設備的結構示意圖。
具體實施例方式
本發明的核心思想是設備建立可以被IPv4和IPv6共同使用的socket,使用該 socket與對端設備建立IPv4和IPv6的應用連接,進行IPv4/IPv6通信,並實現IPv4/IPv6 通信的相互備份。 本發明提供一種雙協議棧數據傳輸的方法,應用於使用IPv4和IPv6進行數據通 信的設備,如圖2所示,該方法包括以下步驟 步驟201 ,所述設備使用配置的socket函數建立IPv4和IPv6共同使用的 socket ; 步驟202,所述設備通過所述socket與對端設備建立IPv4和IPv6連接;
步驟203,所述設備與對端設備依據策略通過IPv4或者IPv6連接傳輸數據。
6
下面結合具體應用場景詳細介紹本發明提供的雙協議棧數據傳輸的方法。
本發明應用場景中,socket提供socket 函數,通過對socket 函數的配置, 在其iFamily參數中增加AF_INET46,當使用此參數建立socket時,需要在bind、 acc印t、 connect等函數中,同時添加IPv4/IPv6地址,從而可以通過配置後的socket函數建立可 以被IPv4/IPv6共同使用的socket。 本發明應用場景提供的雙協議棧數據傳輸的方法的流程如圖3所示,包括6個部 分 1、IPv4握手過程。 2、 IPv6握手過程。IPv4/IPv6握手完成先後由握手報文的響應速度決定,圖3中 以IPv4先建立為例。 3 、數據傳輸過程中,客戶端發起的網絡層檢測。 4、數據傳輸過程中,伺服器端發起的網絡層檢測。 5 、業務完成後,IPv4拆連接過程。 6、 IPv6拆連接過程。 下面對上述過程進行進一步詳細介紹。 首先介紹IP v4和IPv6握手過程,該握手過程報文交互流程如圖4所示。其中, 客戶端和伺服器分別使用一個socket (圖4中用單一 socket ID表示),客戶端的socket 對應客戶端的IPv4addr (address,地址)Clientv4和IPv6addr :Clientv6,伺服器的 socket X寸應月艮務器的IPv4addr (address, t也址)Srvv4 (Serverv4)禾口 IPv6addr :Srvv 6(Serverv6)。客戶端向伺服器分別發送IPv4和IPv6的握手請求報文SYN(Synchronize, 同步)報文,伺服器返回SYN/ACK) (Acknowledge,響應)報文,客戶端再向伺服器發送ACK 報文。 IPv4/IPv6連接建立的先後由客戶端發送的握手請求報文的響應速度決定,圖3 中以IPv4先建立握手連接為例。其中,在IPv6ACK報文擴展頭中攜帶客戶端IPv4/IPv6連 接信息,伺服器解析並獲取該信息,獲知客戶端IPv4/IPv6地址的對應關係。同樣的,客戶 端解析並獲取伺服器的IPv6報文,獲取伺服器IPv4/IPv6地址的對應關係。
具體的,IPv6報文的擴展頭定義如下 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
|Distination Header| Hdr Ext Len | +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ +
| . .
. Options . . .
| +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
其中的option定義如下 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ _________ IBind46Type|Opt Data Len |Option Data
+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ _________ Option Data為IPv4/IPv6地址對。 握手階段完成後,客戶端與伺服器之間依據配置的策略進行數據傳輸。優選的,以 先完成握手過程的網絡進行數據傳輸,當然也可以根據實際需要靈活配置,例如配置為優 先使用IPv6進行數據傳輸。 進行數據傳輸的過程中,客戶端與伺服器之間通過相互收發心跳報文檢測IPv4 或者IPv6連接狀態,具體結合圖3所示,客戶端與伺服器之間分別相互收發IPv4與IPv6的 心跳報文,如果在預設時間內沒有接收到對端發送的心跳報文,則判斷對應的網絡連接故 障。其中,如果是TCP應用,socket使用TCP ALIVE報文作為心跳報文檢測網絡連接狀態, 當一個網絡故障時,直接切換到另一網絡。如果是其它應用,socket可選使用TCPALIVE報 文或UDP報文進行狀態監視。客戶端與伺服器之間也可以只對沒有進行數據傳輸的IP連 接進行心跳報文檢測,例如通過IPv6連接傳輸數據時,客戶端與伺服器通過IPv4連接相互 收發心跳報文判斷IPv4連接的狀態,而根據是否通過IPv6連接接收到數據傳輸的響應判 斷IPv6連接的狀態。 本發明應用場景中,可選的,當一個網絡故障切換到另一網絡進行通信後,依然對
故障的網絡連接進行檢測,一旦可用後,使用心跳報文保持連接,作為另一網絡連接的備
份,並優選較快網絡連接繼續傳送數據。在最開始建立連接時,如果某一網絡連接不可用,
也啟動定期檢測,先使用另一網絡連接通信,待兩個網絡連接都正常後互為備份。 如圖5所示,如果是TCP應用,握手階段完成之前,socket收發IPv4和IPv6數據
時使用相互獨立的兩套序列號。握手階段完成之後,socket收發數據使用同一套序列號,不
再區分IPv4/IPv6協議棧。該序列號在握手過程前後的使用過程如圖5所示,其中假設主動
連接方(客戶端)IPv4起始序列號為a、IPv6起始序列號為d,偵聽方(伺服器)IPv4起始
序列號為b、 IPv6起始序列號為c。客戶端使用的序列號a、 d分別屬於相互獨立的兩套序
列號,握手完成後客戶端使用其中的一套序列號進行IPv4或者IPv6通信,不再區分IPv4/
IPv6協議棧,如圖5中在握手完成後使用原IPv6通信所使用的序列號繼續進行通信。客戶
端與伺服器之間的Ke印alive機制具體為發送方發送seq比正常少1的序號,接收端收到
後認為序號不正確,對此回應正確的序列號,利用此機制完成連接保活。 本發明應用場景中,握手階段完成後的數據發送使用IPv4或是IPv6協議棧由建
立握手過程中的響應速度決定,優先使用響應速度快的協議棧。 客戶端與伺服器之間的數據傳輸完成後,斷開相互的IPv4/IPv6連接,執行IPv4 拆連接過程和IPv6拆連接過程。 本發明應用場景中,以客戶端為例,客戶端上的應用程式通過socket API建立連 接之前,首先通過DNS分別查詢到目的主機的IPv4/IPv6地址,或者手工輸入IPv4/IPv6地 址,然後再調用上述socketAPI接口 ,建立與目的主機之間的IPv4/IPv6連接。在通過IPv4/ IPv6連接傳輸數據的過程中,如果IPv4/IPv6中的一個網絡故障,應用程式並不需要知道, 可以直接繼續傳送數據。 下面結合另一具體應用場景介紹本發明提供的雙協議棧數據傳輸的方法,以設備 之間的UDP應用連接為例,該方法的流程包括5個部分
1、IPv4連接過程。
8
2、 IPv6連接過程。
3 、數據傳輸過程中的網絡層檢測。
4、業務完成後,IPv4拆連接過程。
5、 IPv6拆連接過程。 下面結合上述5個部分對本發明提供的方法進行介紹。 其中,IPv4或者IPv6連接過程建立的方式可以根據需要靈活設置,例如,設備向 對端設備發送IP"數據報文與IPv6數據報文,若接收到對端設備對數據報文的響應,則建 立連接。其中的數據報文可以是僅攜帶數據報文的報文頭的空報文,不攜帶實際數據。IPv6 數據報文的報文頭中攜帶IPv4/IPv6地址的對應關係。 連接建立後,設備與對端設備通過IPv4或者IPv6連接與對端傳輸UDP應用數據。 優選的,以數據報文的響應速度較快的連接進行數據傳輸。 IPv4或者IPv6連接的狀態檢測通過設備與對端設備之間交互UDP報文實現,或者 使用上一應用場景中所述的TCP ALIVE報文進行狀態監視,心跳報文(TCP ALIVE報文或者 UDP報文)的選擇可以根據實際需要靈活確定。 當進行數據傳輸的連接故障後,需要切換到另一連接繼續數據傳輸。例如,設備初 始與對端設備通過IPv4連接傳輸數據時,若IPv4連接故障,則切換到IPv6連接繼續傳輸 數據,UDP應用數據的傳輸不涉及序列號的調整。 數據傳輸結束後,根據需要可以拆連接,結束與對端設備的IPv4連接以及IPv6連 接。 通過採用本發明提供的方法,網絡設備建立被IPv4/IPv6共同使用的socket,根 據該socket與對端設備建立IPv4/IPv6連接,其中IPv6握手報文的擴展頭中攜帶IPv4/ IPv6的地址對應關係,進一步根據預先配置通過IPv4或者IPv6網絡與對端設備進行數據 傳輸,並相互備份,節省資源。 本發明提供一種雙協議棧數據傳輸的設備,使用IPv4和Pv6網絡進行數據通信, 如圖6所示,該設備包括 socket建立單元ll,用於使用配置的socket函數建立IPv4和IPv6共同使用的 socket ; 連接單元12,與所述socket建立單元11連接,用於通過所述socket與對端設備 建立IPv4和IPv6連接; 數據傳輸單元13,與所述連接單元12連接,用於與對端設備依據策略通過IPv4或 者IPv6連接傳輸數據。
該設備還包括 故障切換單元14,與所述數據傳輸單元13連接,用於檢測與對端設備的IPv4連 接狀態或者IPv6連接狀態,當檢測到用於傳輸數據的連接故障時,切換到另一連接繼續數 據傳輸。具體的,所述故障切換單元14還用於當所述設備與對端設備之間發送傳輸控制 協議TCP應用數據時,若檢測到用於傳輸數據的連接故障,根據對端IPv4地址與IPv6地址 的對應關係獲取與對端的另一連接,並使用所述用於傳輸數據的連接的同一套序列號繼續 進行數據傳輸。所述故障切換單元14還用於若檢測到用於傳輸數據的連接故障,根據對 端IPv4地址與IPv6地址的對應關係獲取與對端的另一連接,切換到所述另一連接繼續數據傳輸。 具體的,所述連接單元12還用於通過所述socket與所述對端設備交互IPv4和 IPv6握手報文,建立與所述對端設備的IPv4和IPv6連接,其中,所述IPv6握手報文的擴展 頭中攜帶IPv4地址與IPv6地址的對應關係。 所述策略具體為使用握手過程中響應速度較快的連接進行數據傳輸,所述數據傳 輸單元13使用握手過程中響應速度較快的連接進行數據傳輸。 具體的,所述連接單元12還用於通過所述socket與所述對端設備交互IPv4和 IPv6數據報文,建立與所述對端設備的IPv4和IPv6連接,其中,所述IPv6數據報文的擴展 頭中攜帶IPv4地址與IPv6地址的對應關係。 所述策略具體為使用數據報文的響應速度較快的連接進行數據傳輸。
本發明提供的設備還包括 配置單元15,與所述socket建立單元11連接,用於在socket函數中同時配置 IPv4/IPv6地址,建立被IPv4和IPv6共同使用的socket函數。 通過採用本發明提供的設備,網絡設備建立被IPv4/IPv6共同使用的socket,根 據該socket與對端設備建立IPv4/IPv6連接,其中IPv6握手報文的擴展頭中攜帶IPv4/ IPv6的地址對應關係,進一步根據預先配置通過IPv4或者IPv6網絡與對端設備進行數據 傳輸,並相互備份,節省資源。 通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可藉助 軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更 佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的 部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若 幹指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發 明各個實施例所述的方法。 本領域技術人員可以理解附圖只是一個優選實施例的示意圖,附圖中的模塊或流 程並不一定是實施本發明所必須的。 本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分 布於實施例的裝置中,也可以進行相應變化位於不同於本實施例的一個或多個裝置中。上 述實施例的模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。 以上公開的僅為本發明的幾個具體實施例,但是,本發明並非局限於此,任何本領 域的技術人員能思之的變化都應落入本發明的保護範圍。
10
權利要求
一種雙協議棧數據傳輸的方法,應用於使用網際網路協議版本4IPv4和網際網路協議版本6IPv6進行數據通信的設備,其特徵在於,該方法包括以下步驟所述設備使用配置的socket函數建立IPv4和IPv6共同使用的socket;所述設備通過所述socket與對端設備建立IPv4和IPv6連接;所述設備與對端設備依據策略通過IPv4或者IPv6連接傳輸數據。
2. 如權利要求1所述的方法,其特徵在於,所述設備與對端設備依據策略通過IPv4或 者IPv6連接傳輸數據之後,所述設備與對端設備分別檢測與對端設備的IPv4連接狀態或者IPv6連接狀態; 當所述設備或者對端設備檢測到用於傳輸數據的連接故障時,切換到另一連接繼續數 據傳輸。
3. 如權利要求1或2所述的方法,其特徵在於,所述設備通過所述socket與對端設備 建立IPv4和IPv6連接包括所述設備通過所述socket與所述對端設備交互IPv4和IPv6握手報文,建立與所述對 端設備的IPv4和IPv6連接,其中,所述IPv6握手報文的擴展頭中攜帶IPv4地址與IPv6 地址的對應關係。
4. 如權利要求3所述的方法,其特徵在於,當所述設備或者對端設備檢測到用於傳輸 數據的連接故障時,切換到另一連接繼續數據傳輸包括當所述設備與對端設備之間發送傳輸控制協議TCP應用數據時,若檢測到用於傳輸數 據的連接故障,根據對端IPv4地址與IPv6地址的對應關係獲取與對端的另一連接,並使用 所述用於傳輸數據的連接的同 一套序列號繼續進行數據傳輸。
5. 如權利要求3所述的方法,其特徵在於,所述策略具體為使用握手過程中響應速度 較快的連接進行數據傳輸。
6. 如權利要求1或2所述的方法,其特徵在於,所述設備通過所述socket與對端設備 建立IPv4和IPv6連接包括所述設備通過所述socket與所述對端設備交互IPv4和IPv6數據報文,建立與所述對 端設備的IPv4和IPv6連接,其中,所述IPv6數據報文的擴展頭中攜帶IPv4地址與IPv6 地址的對應關係。
7. 如權利要求6所述的方法,其特徵在於,當所述設備或者對端設備檢測到用於傳輸 數據的連接故障時,切換到另一連接繼續數據傳輸包括若檢測到用於傳輸數據的連接故障,根據對端IPv4地址與IPv6地址的對應關係獲取 與對端的另一連接,切換到所述另一連接繼續數據傳輸。
8. 如權利要求6所述的方法,其特徵在於,所述策略具體為使用數據報文的響應速度 較快的連接進行數據傳輸。
9. 如權利要求1所述的方法,其特徵在於,所述設備使用配置的socket函數建立IPv4 和IPv6共同使用的socket之前,還包括所述設備在socket函數中同時配置IPv4/IPv6地址,建立被IPv4和IPv6共同使用的 socket函數。
10. —種雙協議棧數據傳輸的設備,使用IPv4和Pv6網絡進行數據通信,其特徵在於, 該設備包括socket建立單元,用於使用配置的socket函數建立IPv4和IPv6共同使用的socket ; 連接單元,與所述socket建立單元連接,用於通過所述socket與對端設備建立IPv4 和IPv6連接;數據傳輸單元,與所述連接單元連接,用於與對端設備依據策略通過IPv4或者IPv6連 接傳輸數據。
11. 如權利要求IO所述的設備,其特徵在於,還包括故障切換單元,與所述數據傳輸單元連接,用於檢測與對端設備的IPv4連接狀態或者 IPv6連接狀態,當檢測到用於傳輸數據的連接故障時,切換到另一連接繼續數據傳輸。
12. 如權利要求10或11所述的設備,其特徵在於,所述連接單元還用於 通過所述socket與所述對端設備交互IPv4和IPv6握手報文,建立與所述對端設備的IPv4和IPv6連接,其中,所述IPv6握手報文的擴展頭中攜帶IPv4地址與IPv6地址的對應 關係。
13. 如權利要求12所述的設備,其特徵在於,所述故障切換單元還用於 當所述設備與對端設備之間發送傳輸控制協議TCP應用數據時,若檢測到用於傳輸數據的連接故障,根據對端IPv4地址與IPv6地址的對應關係獲取與對端的另一連接,並使用 所述用於傳輸數據的連接的同 一套序列號繼續進行數據傳輸。
14. 如權利要求12所述的設備,其特徵在於,所述策略具體為使用握手過程中響應速 度較快的連接進行數據傳輸。
15. 如權利要求10或11所述的設備,其特徵在於,所述連接單元還用於 通過所述socket與所述對端設備交互IPv4和IPv6數據報文,建立與所述對端設備的IPv4和IPv6連接,其中,所述IPv6數據報文的擴展頭中攜帶IPv4地址與IPv6地址的對應 關係。
16. 如權利要求15所述的設備,其特徵在於,所述故障切換單元還用於 若檢測到用於傳輸數據的連接故障,根據對端IPv4地址與IPv6地址的對應關係獲取與對端的另一連接,切換到所述另一連接繼續數據傳輸。
17. 如權利要求15所述的設備,其特徵在於,所述策略具體為使用數據報文的響應速 度較快的連接進行數據傳輸。
18. 如權利要求IO所述的設備,其特徵在於,還包括配置單元,與所述socket建立單元連接,用於在socket函數中同時配置IPv4/IPv6地 址,建立被IPv4和IPv6共同使用的socket函數。
全文摘要
本發明提供一種雙協議棧數據傳輸的方法和設備,該方法包括設備使用配置的socket函數建立IPv4和IPv6共同使用的socket;所述設備通過所述socket與對端設備建立IPv4和IPv6連接;所述設備與對端設備依據策略通過IPv4或者IPv6連接傳輸數據。本發明實現了IPv4和IPv6使用同一socket進行數據傳輸,節省資源。
文檔編號H04L29/12GK101789981SQ20101012683
公開日2010年7月28日 申請日期2010年3月18日 優先權日2010年3月18日
發明者孫凱, 林濤 申請人:杭州華三通信技術有限公司