肖漫漫,劉驥琛,李艷麗,馬 迎
(中國人民大學(xué) 信息技術(shù)中心, 北京 100872)
近年來,隨著大數(shù)據(jù)、人工智能、IPv6、在線視頻、移動互聯(lián)網(wǎng)等業(yè)務(wù)的快速發(fā)展,網(wǎng)絡(luò)流量變得復(fù)雜多樣,應(yīng)用種類也越來越多,互聯(lián)網(wǎng)的帶寬資源越來越豐富,企業(yè)對網(wǎng)絡(luò)的彈性、靈活性和QoS(quality of service)的需求也越來越高。因此業(yè)界提出了軟件定義廣域網(wǎng)(SD-WAN, software-defined wide area network),通過部署SD-WAN,可將網(wǎng)絡(luò)資源虛擬化,降低流量成本,提高帶寬利用率,加速網(wǎng)絡(luò)服務(wù)分發(fā)效率[1],實現(xiàn)廣域網(wǎng)自動網(wǎng)絡(luò)部署和流量調(diào)度。為保障SD-WAN可靠性及利用率,SD-WAN通過部署多鏈路備份方案,同時接入專線、互聯(lián)網(wǎng)、LTE/衛(wèi)星線路,利用overlay技術(shù)將不同線路混合捆綁,從而實現(xiàn)多鏈路間的流量調(diào)度和復(fù)雜服務(wù)質(zhì)量[2]。而目前業(yè)界部署的SD-WAN多鏈路間的流量調(diào)度方案均為基于IPv4協(xié)議棧技術(shù),支持IPv4/IPv6的雙棧流量調(diào)度還沒有統(tǒng)一的解決方案。
另一方面,分段路由(SR, segment routing)技術(shù)以及與軟件定義網(wǎng)絡(luò)(SDN, software defined network)結(jié)合受到了人們的青睞。分段路由支持無狀態(tài)源路由,可以減輕控制器和中間節(jié)點的開銷,對路徑的管理和控制也十分靈活[3],因此也有一些工作研究了如何基于分段路由技術(shù)解決SDN中的流量調(diào)度問題[4-7]。其中文獻[4]將流量路徑進行分解,在考慮2段段列表的情況下,開發(fā)了離線和在線的流量調(diào)度優(yōu)化算法。文獻[5]提出了一種基于分段路由路徑變量的數(shù)據(jù)結(jié)構(gòu),通過記錄經(jīng)過節(jié)點和可能的下一跳節(jié)點,達到流量調(diào)度時減小消耗計算資源的目的。文獻[6]分析了基于分段路由技術(shù)的網(wǎng)絡(luò)流量模型,考慮在流轉(zhuǎn)發(fā)時使用單路徑而不是會加大計算資源消耗的等價多路徑模型。文獻[7]提出了一種SDN網(wǎng)絡(luò)中基于分段路由的多路徑流量調(diào)度算法,該算法在進行路徑權(quán)重計算后,根據(jù)路徑權(quán)重選擇最優(yōu)路徑,并基于分段路由技術(shù)構(gòu)造分段流表下發(fā)到邊緣交換機。但以上所述流量調(diào)度算法僅針對IPv4流量,還不能解決雙棧流量的調(diào)度問題。
SRv6是一種基于IPv6數(shù)據(jù)平面實現(xiàn)的分段路由協(xié)議的網(wǎng)絡(luò)架構(gòu),分段路由技術(shù)[8]通過將報文轉(zhuǎn)發(fā)路徑切割為不同的分段,并在路徑的起始點往報文中插入分段信息指導(dǎo)報文轉(zhuǎn)發(fā)。這樣的路徑分段通過SID(段標(biāo)識符, segment identifier)來標(biāo)識。路徑的起始節(jié)點把這些路徑分段組合起來形成段序列(segment list),指引報文按照段列表在網(wǎng)絡(luò)上將數(shù)據(jù)包進行轉(zhuǎn)發(fā)。為在IPv6報文中實現(xiàn)SRv6轉(zhuǎn)發(fā),依據(jù)IPv6原有的路由擴展報文頭定義了SRv6擴展報文頭SRH(段路由擴展報文頭, segment routing header)[9],SRH通過攜帶段列表等信息顯式地指定一條SRv6路徑。由于對雙棧流量進行了調(diào)度,與文獻[4-7]針對IPv4的流量調(diào)度研究中壓入SID信息引導(dǎo)流量轉(zhuǎn)發(fā)的方式不同,通過在恢復(fù)路徑中壓入SRH信息引導(dǎo)流量轉(zhuǎn)發(fā),進而通過在處理節(jié)點指定行為指令對流量報文進行處理,最終實現(xiàn)流量調(diào)度。在IETF的SRv6 Network Programming[10]文稿中定義了很多SRv6段端節(jié)點(Endpoint)行為的指令,SRv6常見指令功能介紹如表1所示。
表1 SRv6 Endpoint常見指令功能Table 1 Function of SRv6 Endpoint
快速重路由(FRR, fast reroute)技術(shù)是指在鏈路故障發(fā)生時,能夠快速切換到備份路由路徑的機制[11]?;贔RR技術(shù),當(dāng)鏈路狀態(tài)失效無法正常傳輸流量數(shù)據(jù)時, SD-WAN控制器會對備份路徑進行動態(tài)計算,并將計算好的備份路徑轉(zhuǎn)發(fā)規(guī)則部署到相應(yīng)的網(wǎng)絡(luò)設(shè)備上,以調(diào)度中斷的流量。
基于以上2種技術(shù)原理,由于網(wǎng)絡(luò)發(fā)生故障時和故障恢復(fù)后會產(chǎn)生環(huán)路現(xiàn)象,而SRv6通過創(chuàng)建無環(huán)的SRv6 段列表就可以有效地消除網(wǎng)絡(luò)環(huán)路[12],因此分段路由技術(shù)結(jié)合FRR技術(shù)也越來越多地被用來解決鏈路失效時的路徑恢復(fù)問題[13-15]。其中文獻[13] 分別針對單鏈路失效和多鏈路失效提出基于分段路由的快速重路由技術(shù),2種算法都是在檢測到鏈路失效后,計算出拼接路徑,并通過分段路由技術(shù)引導(dǎo)業(yè)務(wù)流量的恢復(fù)路徑。文獻[14]提出基于分段路由的主動式鏈路故障恢復(fù)策略,該策略利用分段路由的方法,通過將鏈路信息壓入數(shù)據(jù)包頭部進行數(shù)據(jù)包的轉(zhuǎn)發(fā),從而達到鏈路恢復(fù)時減少網(wǎng)絡(luò)設(shè)備消耗流表項資源的目的。
在多園區(qū)網(wǎng)絡(luò)中,各園區(qū)保留獨立的園區(qū)接入廣域網(wǎng)的出口鏈路,而當(dāng)園區(qū)網(wǎng)絡(luò)支持雙協(xié)議棧架構(gòu)時,各園區(qū)接入廣域網(wǎng)出口多部署IPv4/IPv6雙鏈路,多園區(qū)雙棧網(wǎng)絡(luò)拓撲可以歸結(jié)為如圖1所示拓撲模型。
圖1 多園區(qū)雙棧網(wǎng)絡(luò)拓撲模型Fig. 1 Topology of dual stack in muti-brunches
如圖1所示,園區(qū)A任意主機Ha和園區(qū)B任意主機Hb分別通過雙棧鏈路接入廣域網(wǎng),在任意園區(qū)IPv4和IPv6鏈路有效狀態(tài)下,Ha發(fā)往Hb的IPv4流量傳輸路徑為Ha->Ra0->Ra4->WAN->Rb4->Rb0->Hb、IPv6流量傳輸路徑為Ha->Ra0->Ra6->WAN->Rb6->Rb0->Hb。假設(shè)園區(qū)A IPv4鏈路出現(xiàn)故障,即Ra4->WAN鏈路失效,此時需在Ra4節(jié)點進行快速重路由,按照現(xiàn)有拓撲結(jié)構(gòu),恢復(fù)路徑應(yīng)為Ra4->Ra6->WAN。但是當(dāng)IPv4數(shù)據(jù)流到達節(jié)點Ra6時,由于沒有匹配的路由轉(zhuǎn)發(fā)表,最終會導(dǎo)致數(shù)據(jù)包的丟失。同理,當(dāng)園區(qū)A IPv6鏈路出現(xiàn)故障時,當(dāng)IPv6數(shù)據(jù)流到達節(jié)點Ra4時,仍會面對數(shù)據(jù)包丟失的問題。
針對上述應(yīng)用場景提出DSTS算法,該算法在SD-WAN的基礎(chǔ)上,通過觸發(fā)SD-WAN控制器為雙棧數(shù)據(jù)流重新計算一條路徑,實現(xiàn)路由快速恢復(fù),并分為路徑編碼算法和報文處理算法2部分實現(xiàn)雙棧流量調(diào)度,進而達到雙棧業(yè)務(wù)流量快速恢復(fù)的效果。
將計算流量路徑描述為單源最短路徑模型,其數(shù)學(xué)模型描述為帶權(quán)有向圖G(N,A),定義節(jié)點s∈N為源節(jié)點,其他節(jié)點為非源節(jié)點,路徑長度為該路徑所包含鏈路長度之和。計算單源最短路徑問題就是找出源節(jié)點s到每一個非源節(jié)點j的有向最短路徑,由于流量轉(zhuǎn)發(fā)設(shè)計僅支持單路徑,進一步將原優(yōu)化模型轉(zhuǎn)換為一個整數(shù)線性規(guī)劃(ILP, inter linear programming)模型,即優(yōu)化目標(biāo)是恢復(fù)單源路徑長度。該模型用到的變量如表2所示。
表2 符號含義Table 2 Notation meaning
優(yōu)化目標(biāo)函數(shù)
Minimize∑(i,j)∈Acijxij,
(1)
s.t.
∑{j:(i,j)∈A}xij-∑{j:(j,i)∈A}xij=1,i,j∈A且i=s,
(2)
∑{j:(i,j)∈A}xij-∑{j:(j,i)∈A}xij=-1,i,j∈A且i=t,
(3)
∑{j:(i,j)∈A}xij-∑{j:(j,i)∈A}xij=0,i,j∈A且i≠s,t,
(4)
0≤xij≤1,i,j∈A,
(5)
∑{j:(i,j)∈A}xij≤1,i,j∈A且i≠s,t,
(6)
∑{j:(j,i)∈A}xij≤1,i,j∈A且i≠s,t,
(7)
目標(biāo)函數(shù)是最小化單源恢復(fù)路徑長度,公式(1)表示i,j為鏈路(i,j)的上下游節(jié)點,如果鏈路(i,j)是在業(yè)務(wù)最短路徑上,則為1,否則為0。公式(2)(3)(4)表示鏈路流量守恒,若限制數(shù)據(jù)流轉(zhuǎn)發(fā)僅支持單路徑,則遵守式(2)(4)。公式(5)表示如果鏈路(i,j)在最短路徑上,則值為0,否則為1。公式(6)(7)可防止產(chǎn)生環(huán)路。
優(yōu)化目標(biāo)函數(shù)求解算法流程如下:
1)SD-WAN控制器記錄有向圖G(N,A),記錄各鏈路權(quán)重cij,并采用Dijkstra算法計算最短路徑并保存。
2)當(dāng)出現(xiàn)鏈路故障時,更新失效鏈路權(quán)重cst=0,控制器刪除故障節(jié)點和失效鏈路,更新網(wǎng)絡(luò)拓撲為G(N,A′)。
3)重復(fù)步驟1) ,根據(jù)更新后的網(wǎng)絡(luò)拓撲,采用最短路徑算法重新計算最優(yōu)路徑并保存。
在快速重路由的應(yīng)用基礎(chǔ)上,基于SRv6提出雙棧流量調(diào)度算法。設(shè)計思路是在園區(qū)網(wǎng)絡(luò)拓撲中單協(xié)議棧出口鏈路失效的場景下,對于受影響的業(yè)務(wù)流量,SD-WAN控制器分別以失效鏈路2端的上下游節(jié)點為源節(jié)點和目的節(jié)點計算一條恢復(fù)路徑,通過路徑編碼算法計算出并壓入SRH的內(nèi)容、通過報文處理算法計算出雙棧流量的報文轉(zhuǎn)發(fā)方式,進而將業(yè)務(wù)流量繞過失效鏈路引導(dǎo)至下游節(jié)點?;赟Rv6的雙棧流量調(diào)度算法如表3所示。
表3 DSTS算法Table 3 Algorithm of DSTS
在該場景下,SD-WAN控制器監(jiān)控整個網(wǎng)絡(luò)拓撲狀態(tài),當(dāng)鏈路失效后,控制器更新網(wǎng)絡(luò)拓撲,將失效鏈路刪除,進而根據(jù)最短路徑算法計算出恢復(fù)路徑。如圖2所示,當(dāng)鏈路Ra4->WAN鏈路失效時,園區(qū)間IPv4流量會切換到重新計算的恢復(fù)路徑Ha->Ra0->Ra4->Ra6->Rb6->Rb4->Rb0->Hb。假設(shè)園區(qū)網(wǎng)絡(luò)內(nèi)所有網(wǎng)絡(luò)節(jié)點均支持SRv6,可以把節(jié)點Ra4作為入口節(jié)點、節(jié)點Rb4作為出口節(jié)點。SD-WAN控制器監(jiān)控整個網(wǎng)絡(luò)拓撲狀態(tài),當(dāng)鏈路失效后,控制器更新網(wǎng)絡(luò)拓撲,將失效鏈路刪除,在園區(qū)出口Ra4節(jié)點通過Segment List引導(dǎo)流量繞過失效鏈路,并通過SRv6作為underlay技術(shù)穿越廣域網(wǎng),在出口節(jié)點(即故障鏈路的下游節(jié)點)彈出所有路徑分段并恢復(fù)原始報文進行轉(zhuǎn)發(fā),保證雙棧流量通過快速重路由生成的替代路由進行轉(zhuǎn)發(fā)。采用基于編碼算法的方式進行路徑編碼,以此確定段列表壓入哪些Segment。
圖2 DSTS算法拓撲Fig. 2 Topology of DSTS algorithm
針對圖2所示場景的恢復(fù)路徑,設(shè)計的DSTS算法包括路徑編碼算法和報文處理算法2部分,算法偽代碼描述分別如表4、表5所示,表6為報文處理算法使用的符號及其含義。
表4 路徑編碼算法Table 4 Algorithm of path coding
表5 報文處理算法Table 5 Algorithm of packet
表6 報文處理算法符號及其含義Table 6 Notation meanings of algorithm 2
表4描述了圖2場景所示的恢復(fù)路徑編碼算法。針對不同協(xié)議流量類型,在該網(wǎng)絡(luò)拓撲中,每條鏈路的權(quán)重值cij是不均等的,采用逆向遍歷解法。從失效鏈路下游節(jié)點開始,其中恢復(fù)路徑源節(jié)點S(即圖2中Ra4)為失效鏈路上游節(jié)點、目的節(jié)點T(即圖2中Rb4)為失效鏈路下游節(jié)點,節(jié)點X為恢復(fù)路徑的中間節(jié)點。逆向遍歷恢復(fù)路徑直到找到節(jié)點X使其路徑權(quán)重和滿足公式(8),CTX為節(jié)點T到節(jié)點X的路徑權(quán)重和,而CXT為節(jié)點X到節(jié)點T的路徑權(quán)重和,Y為X下一跳節(jié)點,其他變量同理。
(8)
若X節(jié)點與源節(jié)點重合,則壓入目的節(jié)點Segment,若X節(jié)點與源節(jié)點不重合,則壓入該節(jié)點與目的節(jié)點Segment,之后各節(jié)點依據(jù)表5所示的報文處理算法進行報文調(diào)度,最終遵循路由協(xié)議在網(wǎng)絡(luò)中進行最短路徑轉(zhuǎn)發(fā),圖6為報文處理處理算法的符號及含義。
通過上述解決方案,可以基于SRv6實現(xiàn)受影響的廣域網(wǎng)雙棧流量的快速恢復(fù),該方案主要解決了在單協(xié)議棧廣域網(wǎng)鏈路失效的網(wǎng)絡(luò)場景下,基于繞過失效鏈路的原則,以失效鏈路的上游節(jié)點作為源節(jié)點針對受影響數(shù)據(jù)流計算一條恢復(fù)路徑,并利用路徑編碼算法得到Segment List壓入數(shù)據(jù)包首部,進而依據(jù)報文處理算法對數(shù)據(jù)流報文及其轉(zhuǎn)發(fā)方式進行處理,然后通過Segment的引導(dǎo)將受影響的數(shù)據(jù)流通過恢復(fù)路徑調(diào)度至失效鏈路的下游節(jié)點,以此實現(xiàn)在盡可能減少網(wǎng)絡(luò)重新配置的前提下,數(shù)據(jù)流仍沿著原有廣域網(wǎng)鏈路進行傳輸。
通過實驗環(huán)境下的仿真與驗證,得出該方案可以解決SD-WAN單協(xié)議棧鏈路失效時的雙棧流量調(diào)度問題,采用仿真平臺mininet搭建測試拓撲,使用iproute2進行節(jié)點配置,控制器基于Python2.7開發(fā)實現(xiàn),實驗平臺選擇Ubuntu18.04(Linux內(nèi)核4.15.0),流量發(fā)生和性能測試工具采用Iperf和Wireshark軟件。
場景仿真網(wǎng)絡(luò)拓撲如圖3所示。
圖3 “園區(qū)IPv4出口鏈路失效場景”仿真拓撲Fig. 3 Simulation topology of IPv4 link failure scenario
如圖3所示,“園區(qū)IPv4出口鏈路失效場景”的仿真拓撲由Ha和Hb2臺主機、6臺路由器和10條鏈接通過運行生成在mininet中,其中2臺主機、6臺路由器均支持IPv4/IPv6雙協(xié)議棧,10條鏈接中除Ra4和Rb4鏈接構(gòu)成IPv4廣域網(wǎng)鏈路、Ra6和Rb6鏈接構(gòu)成IPv6廣域網(wǎng)鏈路外,其他均為雙棧鏈路。
在該仿真場景中,斷開Ra4和Rb4之間鏈接,Ha執(zhí)行至Hb的Ping命令,數(shù)據(jù)包在Ra4處進行SRv6的T.Encaps壓入Segment,通過仿真IPv6廣域網(wǎng)后,向Ra6發(fā)送,并轉(zhuǎn)發(fā)至Rb4進行END.DX4處理彈出Segment,還原為IPv4報文,向Hb進行轉(zhuǎn)發(fā),Hb收到來自Ha的ICMP-Echo-Request,向Ha發(fā)送ICMP-Echo-Reply。同理,Reply報文按相反方向進行處理轉(zhuǎn)發(fā),Ra4收到ICMP-Echo-Reply,即收到正確的Ping回復(fù)。通過在Ra4、Rb4進行Wireshark抓包分析驗證了恢復(fù)路徑的可行性,并驗證了恢復(fù)路徑流量引導(dǎo)和報文處理,實現(xiàn)了流量調(diào)度的目標(biāo)。
為驗證恢復(fù)路徑網(wǎng)絡(luò)轉(zhuǎn)發(fā)的性能,在Ha和Hb之間通過iperf對網(wǎng)絡(luò)進行測速,如圖4測量結(jié)果顯示鏈路失效時,基于SRv6的恢復(fù)路徑的網(wǎng)絡(luò)吞吐率約為19Gbps,滿足中型企業(yè)園區(qū)間的網(wǎng)絡(luò)需求。
圖4 “園區(qū)IPv4出口鏈路失效場景”iperf吞吐率Fig. 4 Throughput of IPv4 link failure scenario
場景仿真網(wǎng)絡(luò)拓撲如圖5所示。
圖5 “園區(qū)IPv6出口鏈路失效場景”仿真拓撲Fig. 5 Simulation topology of IPv6 link failure scenario
在該仿真拓撲中,仿真網(wǎng)絡(luò)節(jié)點設(shè)備與圖3相同,在該仿真場景中,斷開Ra6和Rb6之間鏈接,Ha執(zhí)行至Hb的Ping命令,數(shù)據(jù)包在Ra6處進行SRv6的T.Encaps壓入Segment,轉(zhuǎn)發(fā)至Ra4節(jié)點后,通過6over4隧道封裝,最外層以IPv4報文頭向Rb4發(fā)送,通過仿真IPv4廣域網(wǎng)后,在Rb4節(jié)點對6over4報文頭解封裝,還原為SRv6報文,轉(zhuǎn)發(fā)至Rb6后進行END.DX4彈出Segment,還原為IPv4報文,向Hb進行轉(zhuǎn)發(fā),Hb收到來自Ha的ICMP-Echo-Request請求,向Ha發(fā)送ICMP-Echo-Reply,即收到正確的Ping回復(fù)。通過在Ra6、Rb6進行Wireshark抓包分析驗證了恢復(fù)路徑的可行性,并驗證了恢復(fù)路徑流量引導(dǎo)和報文處理的處理流程實現(xiàn)了流量調(diào)度的預(yù)期目標(biāo)。
為驗證恢復(fù)路徑網(wǎng)絡(luò)轉(zhuǎn)發(fā)的性能,在Ha和Hb之間通過iperf對網(wǎng)絡(luò)進行測速,如圖6測量結(jié)果顯示鏈路失效時,基于SRv6的恢復(fù)路徑的網(wǎng)絡(luò)吞吐率約為1.4Gbps,保障了單協(xié)議棧鏈路失效時企業(yè)園區(qū)間的雙棧網(wǎng)絡(luò)需求。
圖6 “園區(qū)IPv6出口鏈路失效場景”iperf吞吐率Fig. 6 Throughput of IPv6 link failure scenario
在Mininet系統(tǒng)仿真實驗中,不同路徑和處理方式的報文轉(zhuǎn)發(fā)或封裝轉(zhuǎn)發(fā)吞吐率如圖7所示、數(shù)據(jù)包往返時延如圖8所示、流量丟包率如圖9所示,仿真數(shù)據(jù)分析得出如下結(jié)論:
圖7 不同方式下iperf吞吐率對比Fig. 7 Throughput comparison of different forward method
圖8 不同方式下往返時延對比Fig. 8 RTT comparison of different forward method
圖9 不同方式下丟包率對比Fig. 9 Packet loss rate comparison of different forward method
1)鏈路失效時恢復(fù)路徑只使用SRv6處理報文的轉(zhuǎn)發(fā)速率與鏈路正常時IPv6路由轉(zhuǎn)發(fā)的吞吐率接近,而鏈路失效時恢復(fù)路徑通過SRv6over4處理轉(zhuǎn)發(fā)的吞吐率低于另2種方式,但也基本滿足中型企業(yè)園區(qū)的網(wǎng)絡(luò)需求。
2)鏈路失效時恢復(fù)路徑的3種報文處理方式的往返時延差異不大,經(jīng)SRv6處理報文的往返時延與鏈路正常時IPv6路由轉(zhuǎn)發(fā)的往返時延非常接近,甚至略優(yōu),而通過SRv6over4處理轉(zhuǎn)發(fā)的往返時延稍大于其他兩種,但平均值在0.25 ms以下,在合理范圍內(nèi)。
3)鏈路失效恢復(fù)路徑的3種報文處理方式的丟包率均為0,測試數(shù)據(jù)表明單協(xié)議棧鏈路失效時,恢復(fù)路徑的流量引導(dǎo)和報文處理達到了流量調(diào)度的目的,提高了雙棧SD-WAN鏈路的服務(wù)質(zhì)量。
由于報文處理流程會導(dǎo)致數(shù)據(jù)流報文IP報頭長度增加,可能存在報文長度超過路徑最大傳輸單元(PMTU, path maximum transfer unit)的問題,進而導(dǎo)致報文在傳輸中被分片,大幅影響傳輸速率。因此,可以在網(wǎng)絡(luò)接入層對MTU進行適當(dāng)限制,或通過G-SRv6(SRv6頭壓縮, Generalized-SRv6)[15]技術(shù)對SID長度進行壓縮,以減小處理后的報文長度。
針對現(xiàn)有園區(qū)SD-WAN網(wǎng)絡(luò)架構(gòu)下,單協(xié)議棧廣域網(wǎng)鏈路失效時園區(qū)雙棧流量的互聯(lián)互通問題,提出了一種SD-WAN架構(gòu)下基于SRv6的雙棧流量調(diào)度算法,該算法基于快速重路由機制,結(jié)合SRv6技術(shù)分為路徑編碼算法和報文處理算法兩部分實現(xiàn)。在鏈路失效時,通過快速重路由機制確定恢復(fù)路徑,在恢復(fù)路徑的基礎(chǔ)上,首先通過路徑編碼算法得出數(shù)據(jù)流添加Segment的類型,引導(dǎo)數(shù)據(jù)流在恢復(fù)路徑正確轉(zhuǎn)發(fā)傳輸,然后在網(wǎng)絡(luò)各節(jié)點根據(jù)數(shù)據(jù)流報文信息利用報文處理算法確定報文的轉(zhuǎn)發(fā)方式,最終保證雙棧流量通過快速重路由生成的替代路由進行轉(zhuǎn)發(fā)。最終,在Mininet中運行仿真實驗,并使用Iperf工具進行性能測試,實驗仿真結(jié)果表明,提出的DSTS算法實現(xiàn)了鏈路失效時的雙棧流量調(diào)度,增加了企業(yè)園區(qū)廣域網(wǎng)的冗余度和可靠性,提升了企業(yè)帶寬利用率和服務(wù)質(zhì)量。