Sdn網(wǎng)絡(luò)mptcp子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法
【專利摘要】本發(fā)明公開了一種SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,包括步驟:擴(kuò)展802.11u協(xié)議和openflow協(xié)議為終端和控制器的協(xié)同支持;終端在進(jìn)行多路徑傳輸?shù)耐瑫r,將多路徑流和子流信息告知控制器,控制器根據(jù)子流的路由信息發(fā)現(xiàn)子流的共享路由;控制器通過openflow協(xié)議的定期獲取端口丟包信息,根據(jù)共享路由相應(yīng)端口的丟包信息獲得子流共享瓶頸信息;控制器將共享瓶頸子流信息發(fā)送至AP,AP將消息轉(zhuǎn)發(fā)至終端,終端通過在共享瓶頸子流發(fā)送TCP FIN報文對共享瓶頸子流進(jìn)行合并。本發(fā)明具有如下優(yōu)點(diǎn):在終端多條子流共享瓶頸路徑時,通過子流的合并確保公平性,并且降低終端維護(hù)多條子流的開銷。
【專利說明】
SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及互聯(lián)網(wǎng)端到端傳輸領(lǐng)域,特別設(shè)及到一種SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸 路徑的發(fā)現(xiàn)調(diào)整方法。
【背景技術(shù)】
[0002] 從終端角度看,隨著具備多個網(wǎng)絡(luò)接入能力的終端越來越普遍,WMPTCP為代表的 多路徑傳輸協(xié)議也越來越得到研究人員、運(yùn)營商和設(shè)備制造商的關(guān)注。MPTCP通過包級別的 調(diào)度將一個TCP的數(shù)據(jù)包分配給對應(yīng)不同路徑的子流來提高終端的傳輸性能。MPTCP給不同 子流分配了不同的序列號空間,W避免子流間數(shù)據(jù)包的亂序?qū)ψ恿鱾鬏數(shù)挠绊?。然而,由?MPTCP無法決定不同子流在網(wǎng)絡(luò)中的傳輸路徑,從而有可能出現(xiàn)不同子流共享瓶頸路徑的 情況。雖然MPTCP通過聯(lián)合擁塞控制機(jī)制進(jìn)行公平性控制和平衡負(fù)載,但是聯(lián)合擁塞控制降 低了窗口的收斂速度,同時增加了維護(hù)子流狀態(tài)信息的開銷。
[0003] 從終端和網(wǎng)絡(luò)協(xié)同的手段看,SDN(Software Defined Networking)--軟件定義 的網(wǎng)絡(luò)技術(shù)的出現(xiàn)為更有效地利用網(wǎng)絡(luò)資源、實(shí)現(xiàn)新的路由協(xié)議提供了基礎(chǔ)。利用SDN,可 W更好地對網(wǎng)絡(luò)中的路由和交換設(shè)備進(jìn)行管理,同時還可W動態(tài)地對數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑進(jìn) 行修改,實(shí)現(xiàn)新的路由策略。方便地獲得網(wǎng)絡(luò)的拓?fù)湫畔⒑蛽砣麪顩r信息。然而目前SDN控 制器與終端之間尚無統(tǒng)一有效的交互機(jī)制。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明旨在至少解決上述技術(shù)問題之一。
[0005] 為此,本發(fā)明的一個目的在于提出一種SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào) 整方法。
[0006] 為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例公開了一種SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑 的發(fā)現(xiàn)調(diào)整方法,包括W下步驟:
[0007] Sl:擴(kuò)展802. Ilu協(xié)議和openflow協(xié)議為終端和控制器的協(xié)同支持;
[000引S2:所述終端在進(jìn)行多路徑傳輸?shù)耐瑫r,通過擴(kuò)展的802. Ilu協(xié)議將多路徑流和子 流信息告知控制器,所述控制器根據(jù)子流的路由信息發(fā)現(xiàn)子流的共享路由;
[0009] S3:所述控制器通過openf low協(xié)議的0FPMP_P0RT_STATS消息定期獲取端口丟包信 息,根據(jù)共享路由相應(yīng)端口的丟包信息獲得子流共享瓶頸信息;
[0010] S4:所述控制器通過擴(kuò)展的openflow協(xié)議將共享瓶頸子流信息發(fā)送至AP,AP將消 息通過擴(kuò)展的802. Ilu協(xié)議轉(zhuǎn)發(fā)至終端,所述終端通過在所述共享瓶頸子流發(fā)送TCP FIN報 文W斷開連接的方式對所述共享瓶頸子流進(jìn)行合并。
[0011] 根據(jù)本發(fā)明實(shí)施例的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,在終端多 條子流共享瓶頸路徑時,通過子流的合并確保公平性,并且降低終端維護(hù)多條子流的開銷。
[0012] 另外,根據(jù)本發(fā)明上述實(shí)施例的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方 法,還可W具有如下附加的技術(shù)特征:
[0013] 進(jìn)一步地,所述步驟SI進(jìn)一步包括:SlOl :AP收到類型為控制器和終端通信的 802. Ilu數(shù)據(jù)包,將協(xié)議內(nèi)容重新封裝至類型為控制器和終端通信的openflow數(shù)據(jù)包并且 轉(zhuǎn)發(fā)給所述控制器;S102:AP收到類型為控制器和終端通信的openflow數(shù)據(jù)包,將協(xié)議內(nèi)容 重新封裝至類型為控制器和終端通信的802. Ilu數(shù)據(jù)包并且轉(zhuǎn)發(fā)給所述終端。
[0014] 進(jìn)一步地,所述步驟S2進(jìn)一步包括:S201:在所述終端完成子流建立之后,將子流 及其所屬流的表示信息通過擴(kuò)展的802. Ilu及openflow協(xié)議發(fā)送至所述控制器;S202:所述 控制器根據(jù)子流目的IP地址查詢路由模塊獲得子流所經(jīng)過路由器的IP集合;S203:所述控 制器對不同子流的路由IP集合進(jìn)行逐一匹配,找出共享路由IP。
[0015] 進(jìn)一步地,所述步驟S3進(jìn)一步包括:S301:所述控制器W固定時間間隔向所述共享 路由IP發(fā)送0FPMP_P0RT_STATS請求消息;S302:所述控制器從路由返回的消息中讀取tx_ dropped字段的內(nèi)容,如果tx_d;ropped字段增加,則判定共享路由的子流是共享瓶頸。
[0016] 進(jìn)一步地,所述步驟S4進(jìn)一步包括:S401:所述控制器根據(jù)共享瓶頸子流信息,將 共享瓶頸子流標(biāo)識及其所屬流的標(biāo)識通過擴(kuò)展的openflow協(xié)議及擴(kuò)展的802. Ilu協(xié)議發(fā)送 至所述終端;S402:所述終端根據(jù)所述共享瓶頸子流標(biāo)識,隨機(jī)選擇其中之一進(jìn)行保留,在 其它共享瓶頸子流上停止數(shù)據(jù)分配,并通過發(fā)送TCP FIN報文斷開子流連接。
[0017] 本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
[0018] 本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得 明顯和容易理解,其中:
[0019] 圖1是本發(fā)明一個實(shí)施例的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法的流 程圖;
[0020] 圖2是本發(fā)明一個實(shí)施例的網(wǎng)絡(luò)存在新的可達(dá)路徑的多路徑傳輸場景示意圖;
[0021] 圖3是本發(fā)明一個實(shí)施例的路徑發(fā)現(xiàn)和調(diào)整機(jī)制的仿真實(shí)驗(yàn)結(jié)果示意圖。
【具體實(shí)施方式】
[0022] 下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0023] 在本發(fā)明的描述中,需要理解的是,術(shù)語"中屯、"、"縱向橫向上"、"下"、 "前"、"后V'左'、"右V'豎曹'、"水甲V'頂'、"底V'胖V'外"等指示的方位或位置關(guān)系為 基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗 示所指的裝置或元件必須具有特定的方位、W特定的方位構(gòu)造和操作,因此不能理解為對 本發(fā)明的限制。此外,術(shù)語"第一"、"第二"僅用于描述目的,而不能理解為指示或暗示相對 重要性。
[0024] 在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語"安裝"、"相 連"、"連接"應(yīng)做廣義理解,例如,可W是固定連接,也可W是可拆卸連接,或一體地連接;可 W是機(jī)械連接,也可W是電連接;可W是直接相連,也可W通過中間媒介間接相連,可W是 兩個元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可W具體情況理解上述術(shù)語在本 發(fā)明中的具體含義。
[0025] 參照下面的描述和附圖,將清楚本發(fā)明的實(shí)施例的運(yùn)些和其他方面。在運(yùn)些描述 和附圖中,具體公開了本發(fā)明的實(shí)施例中的一些特定實(shí)施方式,來表示實(shí)施本發(fā)明的實(shí)施 例的原理的一些方式,但是應(yīng)當(dāng)理解,本發(fā)明的實(shí)施例的范圍不受此限制。相反,本發(fā)明的 實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0026] W下結(jié)合附圖描述根據(jù)本發(fā)明實(shí)施例的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn) 調(diào)整方法。
[0027] 請參考圖1,一種SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,包括W下步 驟:
[0028] Sl:擴(kuò)展802. Ilu協(xié)議和openflow協(xié)議為終端和控制器的協(xié)同支持。802. Ilu和 openflow協(xié)議同時增加新的協(xié)議類型字段W標(biāo)識控制器和終端之間的通信。AP根據(jù)收到的 報文類型,主要進(jìn)行如下操作:
[0029] SlOl=AP收到類型為控制器和終端通信的802. Ilu數(shù)據(jù)包,將協(xié)議內(nèi)容重新封裝至 類型為控制器和終端通信的openflow數(shù)據(jù)包并且轉(zhuǎn)發(fā)給控制器。
[0030] S102:AP收到類型為控制器和終端通信的openflow數(shù)據(jù)包,將協(xié)議內(nèi)容重新封裝 至類型為控制器和終端通信的802. Ilu數(shù)據(jù)包并且轉(zhuǎn)發(fā)給終端。
[0031 ] S2:終端在進(jìn)行多路徑傳輸?shù)耐瑫r,通過擴(kuò)展的802.1 Iu協(xié)議將多路徑流和子流信 息告知控制器,控制器根據(jù)子流的路由信息發(fā)現(xiàn)子流的共享路由。步驟S2進(jìn)一步包括:
[0032] S201:在終端完成子流建立之后,將子流及其所屬流的表示信息通過擴(kuò)展的 802. Ilu及openflow協(xié)議發(fā)送至控制器。
[0033] S202:控制器根據(jù)子流目的IP地址查詢路由模塊獲得子流所經(jīng)過路由器的IP集 么 n O
[0034] S203:控制器對不同子流的路由IP集合進(jìn)行逐一匹配,找出共享路由IP。
[0(X3日]S3:控制器通過openf low協(xié)議的0FPMP_P0RT_STATS消息定期獲取端口丟包信息, 根據(jù)共享路由相應(yīng)端口的丟包信息獲得子流共享瓶頸信息。步驟S3進(jìn)一步包括:
[0036] S301:控制器W固定時間間隔向共享路由IP發(fā)送0FPMP_P0RT_STATS請求消息;
[0037] S302:控制器從路由返回的消息中讀取tx_d;ropped字段的內(nèi)容,如果tx_d;ropped 字段增加,則判定共享路由的子流是共享瓶頸。
[0038] S4:控制器通過擴(kuò)展的openf low協(xié)議將共享瓶頸子流信息發(fā)送至AP,AP將消息通 過擴(kuò)展的802.1 Iu協(xié)議轉(zhuǎn)發(fā)至終端,終端通過在共享瓶頸子流發(fā)送TCP FIN報文W斷開連接 的方式對共享瓶頸子流進(jìn)行合并。步驟S4進(jìn)一步包括:
[0039] S401:控制器根據(jù)共享瓶頸子流信息,將共享瓶頸子流標(biāo)識及其所屬流的標(biāo)識通 過擴(kuò)展的openf low協(xié)議及擴(kuò)展的802.1 Iu協(xié)議發(fā)送至終端;
[0040] S402:終端根據(jù)共享瓶頸子流標(biāo)識,隨機(jī)選擇其中之一進(jìn)行保留,在其它共享瓶頸 子流上停止數(shù)據(jù)分配,并通過發(fā)送TCP FIN報文斷開子流連接。
[0041] 根據(jù)本發(fā)明實(shí)施例的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,在終端多 條子流共享瓶頸路徑時,通過子流的合并確保公平性,并且降低終端維護(hù)多條子流的開銷。
[0042] 為使本領(lǐng)域技術(shù)人員進(jìn)一步理解本專利,通過W下實(shí)施例進(jìn)行進(jìn)一步說明:
[0043] MPTCP流及子流標(biāo)識信息
[0044] MPTCP首先通過通信雙方之間一條可達(dá)路徑進(jìn)行連接建立時的S次握手,每次握 手?jǐn)?shù)據(jù)包中都包含MP_CAPABLE選項(xiàng)W標(biāo)識通信雙方都支持MPTCP。
[0045] MPTCP在本地有多個可用地址或者獲知對端有多個可用地址之后,通過MP_J0IN選 項(xiàng)建立新的子流連接并加入已有的MPTCP流。
[0046] 802. Ilu協(xié)議的擴(kuò)展
[0047] 終端通過擴(kuò)展的802. Ilu協(xié)議將新建立的MPTCP子流的五元組信息、用于標(biāo)識 MPTCP流的hash值信息告知控制器。
[004引具體地,80 2.11U協(xié)議的兩大主要構(gòu)成是ANQP和GAS。ANQP采用的是終端查詢AP已 有信息,AP應(yīng)答的方式,ANQP不適用終端向控制器發(fā)送查詢之外的消息內(nèi)容。GAS則是AP在 廣播帖中攜帶相應(yīng)的信息,不適用于控制器向終端點(diǎn)對點(diǎn)傳遞控制信息。
[0049] 擴(kuò)展802. Ilu協(xié)議的方式是新增PU細(xì)類型的協(xié)議。PU甜類型協(xié)議允許終端和AP之 間通過傳遞任意內(nèi)容的消息。具體格式如下:
[00日1]其中type字段標(biāo)識協(xié)議類型,0表示為PU細(xì)協(xié)議DSUbtype標(biāo)識協(xié)議的作用,0表示 用于MPTCP協(xié)議的共享瓶頸發(fā)現(xiàn)。Ieng化記錄了協(xié)議的長度adirection定義了傳輸方向,0 表示從終端發(fā)出,1表示發(fā)向終端D content中通過保存MPTCP的connect ion_id和子流標(biāo)識 信息。
[00日2] openf low協(xié)議的擴(kuò)展
[00 日 3]新增消息類型 0FPT_TERMINAL_C0NTR0LLER 二 36。
[00己4] struct ofp_termi打al_co打trollerl
[00己己] Ui打tl6_t Ie打gth;/本Le打gth of this e打try.本/
[00日6] uint8_t pad[2];/*Align to 64bits.*/
[00日7] uint64_t connection_id;
[00日引 uint32_t src_port;
[00日9] uint32_t dst_port;
[0060] uint32_t src_ip;
[0061 ] uint32_t dst_ip
[0062] };
[0063] 新增消息類型 0FPT_C0NTR0LLER_TERMINAL 二 37。
[0064] struct ofp_co打troller-termi打al_{
[006己] ui打tl6_t Ie打gth;/本Le打gth of this e打try.本/
[0066] uint8_t pad[2];/*Align to 64bits?本/
[0067] uint32_t src_portl;
[0068] uint32_t dst_portl;
[0069] uint32_t src_ipl;
[0070] uint32_t dst_ipl;
[0071 ] uint32_t src_port2;
[0072] uin1:32_t dst_po;rt2;
[0073] Uin口2_t src_ip2;
[0074] Uin口2_t dst_ip2
[0075] };
[0076] 實(shí)驗(yàn)驗(yàn)證
[0077] 為了對其中網(wǎng)絡(luò)存在新的可達(dá)路徑場景下,對本專利提出的共享瓶頸路徑發(fā)現(xiàn)和 調(diào)整機(jī)制進(jìn)行驗(yàn)證,在mininet仿真環(huán)境中構(gòu)造了如圖2所示的拓?fù)洹T趍ininet環(huán)境中控制 器直接通過tc命令讀取共享瓶頸的路由節(jié)點(diǎn)端口丟包情況,為了能夠看出控制器對共享瓶 頸路徑的發(fā)現(xiàn),發(fā)生丟包之后則通過openflow進(jìn)行路徑的調(diào)整。圖3是具體的仿真結(jié)果,從 中可W看出采用了本專利提出的方案完成了共享瓶頸路徑的發(fā)現(xiàn)。
[0078] 另外,本發(fā)明實(shí)施例的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法的其它構(gòu) 成W及作用對于本領(lǐng)域的技術(shù)人員而言都是已知的,為了減少冗余,不做寶述。
[0079] 在本說明書的描述中,參考術(shù)語"一個實(shí)施例"、"一些實(shí)施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不 一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可W在任何 的一個或多個實(shí)施例或示例中W合適的方式結(jié)合。
[0080] 盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可W理解:在不 脫離本發(fā)明的原理和宗旨的情況下可W對運(yùn)些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本 發(fā)明的范圍由權(quán)利要求及其等同限定。
【主權(quán)項(xiàng)】
1. 一種SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,其特征在于,包括以下步驟: S1:擴(kuò)展802. llu協(xié)議和openflow協(xié)議為終端和控制器的協(xié)同支持; S2:所述終端在進(jìn)行多路徑傳輸?shù)耐瑫r,通過擴(kuò)展的802.1 lu協(xié)議將多路徑流和子流信 息告知控制器,所述控制器根據(jù)子流的路由信息發(fā)現(xiàn)子流的共享路由; S3:所述控制器通過openf low協(xié)議的OFPMP_PORT_STATS消息定期獲取端口丟包信息, 根據(jù)共享路由相應(yīng)端口的丟包信息獲得子流共享瓶頸信息; S4:所述控制器通過擴(kuò)展的openflow協(xié)議將共享瓶頸子流信息發(fā)送至AP,AP將消息通 過擴(kuò)展的802.1 lu協(xié)議轉(zhuǎn)發(fā)至終端,所述終端通過在所述共享瓶頸子流發(fā)送TCP FIN報文以 斷開連接的方式對所述共享瓶頸子流進(jìn)行合并。2. 根據(jù)權(quán)利要求1所述的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,其特征在 于,所述步驟S1進(jìn)一步包括: S101:AP收到類型為控制器和終端通信的802. llu數(shù)據(jù)包,將協(xié)議內(nèi)容重新封裝至類型 為控制器和終端通信的openflow數(shù)據(jù)包并且轉(zhuǎn)發(fā)給所述控制器; S102:AP收到類型為控制器和終端通信的openflow數(shù)據(jù)包,將協(xié)議內(nèi)容重新封裝至類 型為控制器和終端通信的802. llu數(shù)據(jù)包并且轉(zhuǎn)發(fā)給所述終端。3. 根據(jù)權(quán)利要求1所述的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,其特征在 于,所述步驟S2進(jìn)一步包括: S201:在所述終端完成子流建立之后,將子流及其所屬流的表示信息通過擴(kuò)展的 802 · 1 lu及openf low協(xié)議發(fā)送至所述控制器; S202:所述控制器根據(jù)子流目的IP地址查詢路由模塊獲得子流所經(jīng)過路由器的IP集 合; S203:所述控制器對不同子流的路由IP集合進(jìn)行逐一匹配,找出共享路由IP。4. 根據(jù)權(quán)利要求3所述的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,其特征在 于,所述步驟S3進(jìn)一步包括: S301:所述控制器以固定時間間隔向所述共享路由IP發(fā)送OFPMP_PORT_STATS請求消 息; S302:所述控制器從路由返回的消息中讀取tx_dropped字段的內(nèi)容,如果tx_dropped 字段增加,則判定共享路由的子流是共享瓶頸。5. 根據(jù)權(quán)利要求4所述的SDN網(wǎng)絡(luò)MPTCP子流共享瓶頸路徑的發(fā)現(xiàn)調(diào)整方法,其特征在 于,所述步驟S4進(jìn)一步包括: S401:所述控制器根據(jù)共享瓶頸子流信息,將共享瓶頸子流標(biāo)識及其所屬流的標(biāo)識通 過擴(kuò)展的openf low協(xié)議及擴(kuò)展的802.1 lu協(xié)議發(fā)送至所述終端; S402:所述終端根據(jù)所述共享瓶頸子流標(biāo)識,隨機(jī)選擇其中之一進(jìn)行保留,在其它共享 瓶頸子流上停止數(shù)據(jù)分配,并通過發(fā)送TCP FIN報文斷開子流連接。
【文檔編號】H04L12/721GK105827527SQ201610143220
【公開日】2016年8月3日
【申請日】2016年3月14日
【發(fā)明人】吳茜, 江卓, 李賀武, 黃照祥, 馬克祥, 孟宏偉, 李丹
【申請人】清華大學(xué)