肖軍弼,孟祥澤+,田愛寶,陳 松
(1.中國石油大學(華東) 計算機與科學技術學院,山東 青島 266580; 2.中國石油大學(華東) 信息化建設處,山東 青島 266580)
近年來,互聯網業務不斷擴大,物聯網、云計算等新興領域快速發展,網絡業務的繁雜和傳統網絡架構的短板為網絡服務的運行和維護帶來了巨大難題[1]。為解決傳統網絡中故障恢復時間過長的問題,探索新的網絡架構及運行模式,給業務提供優質可靠的運行環境。研究重點利用SDN(software defined networking)[2]架構的強大管控優勢,收集鏈路信息,快速定位鏈路故障,并改進故障恢復的方法,減少故障恢復所需時間并提高網絡的服務質量[3]。相比于傳統網絡中生成樹協議STP(spanning tree protocol)或快速生成樹協議RSTP(rapid spanning tree protocol)[4]復雜、僵化的恢復方案,能夠實時監控網絡狀態,并在第一時間對故障進行自愈操作,保障業務的正常運行,降低故障恢復時間,提高網絡通信安全和服務質量。本文的主要內容包含如下兩個方面:
(1)針對SDN網絡中流表數量過多、冗余鏈路計算復雜的問題,本文研究UGLA算法,將拓撲中的環路劃分成單獨的環路域,環路域內部依靠MPLS標簽匹配基礎流表轉發,實現故障恢復主備份路徑策略,降低交換機中的流表數量。
(2)為保障業務的服務質量,在劃分出環路域的基礎之上,對環路域之間的邏輯鏈路進行鏈路評估,計算域間最優轉發路徑,結合環路域內部的基礎轉發流表,保證故障恢復通信的低丟包率、低延遲、高轉發速率,保障業務正常運行。
由于涉及整個網絡的協調,傳統的分布式網絡難以捕獲細粒度狀態,而現代網絡的動態特性又使得獲取網絡拓撲信息尤為困難。因此,科學有效管理網絡的重要性日益凸顯,獲取準確的網絡拓撲對于網絡交換機、體系結構和協議的設計至關重要[5]。
Zhangchao W等[6]針對分布式網絡結構難以捕獲的問題,通過簡單網絡管理協議(simple network management protocol,SNMP)監控網絡設備的性能,解決了由于不同廠商生產的底層設備產生的兼容性問題,實現設備的集中統一管理。趙偉等[7]采用LLDP協議(link layer discovery protocol,LLDP)為與其直接相鄰的設備提供鄰居信息,解決了利用MIB生成網絡拓撲存在誤差的問題,增強了拓撲鏈路狀態獲取的實時性。Huang H等[8]將BFD檢測狀態與OpenFlow組表相結合,一旦BFD協議檢測到鏈路故障,OpenFlow協議就會根據故障狀態執行相應的動作,但該方法缺乏對故障主動檢測能力。
Zhao G等[9,10]在SDN架構中利用控制器的集中控制功能,可以準確發現故障點,根據故障節點所在位置,進行重路由,繞過故障節點,但該方法存在故障流量匹配項過多,不易處理的問題。針對網絡規模擴大,故障標記不易區分的問題,黃睿等[11,12]將大規模網絡根據接入、匯聚和核心劃分出不同的區域,區域內采用不同的恢復策略,鏈路故障時通過重路由方式恢復,鏈路擁塞時通過QoS降低數據丟包率。為降低控制器重新計算轉發路徑的時間,居建濤等[13]在SDN網絡中計算出數據流轉發節點的備份路徑,同時在鏈路故障時切換流表優先級,實現快速繞行轉發。該方法提前計算好轉發路徑,以主備份形式存儲于交換機中,降低了中斷時間。為了進一步降低中斷時間,Van Adrichem N.L.M等[14,15]制定傳輸策略,數據流在鏈路上正常傳輸時不做處理,當鏈路發生故障時,OpenFlow故障恢復組表自動切換到備份路徑轉發,此過程不需要控制器參與,解決了故障恢復過程中通信中斷的問題,但主備份路徑需要提前規劃,需要一個最優的路徑計算方法來制定轉發策略。
基于上述分析,目前的故障恢復研究盡管已經取得了諸多成就,但在檢測精度、故障分類和故障恢復質量上仍存在問題。本文采用SDN架構實施對SDN網絡的故障恢復,當鏈路出現故障時,采用OpenFlow協議的故障恢復組表功能,結合BFD和LLDP兩種鏈路檢測協議進行檢測鏈路故障,實現對故障位置的精確定位。在故障類型分類部分采用分域治之的方式,將大規模網絡分解成可實現故障恢復的環路,在環路內實施主備份策略,對故障流量精確分類。故障恢復部分采用OpenFlow組表和SDN控制器聯合恢復的方法,將已發出的數據包做回溯轉發,減少丟包率,然后利用控制器修改流表優先級,實現控制器和OpenFlow聯合恢復流量轉發,降低故障流量轉發延時,提高網絡健壯性。
作為SDN網絡架構的特性,控制和數據平面分離解決了網絡中彈性不足和可擴展性差等問題,交換機轉發依賴于控制器正確和及時的配置。本文基于SDN的集中控制方法,研究并實現一種網絡拓撲環路計算方法無向圖環路算法(undirected graph loop algorithm,UGLA),將網絡中的環路融合,提前計算轉發路徑并下發到交換機中,轉發策略分為環路內轉發策略和環路間轉發策略。通過將轉發策略分為域內轉發和域間轉發,極大降低了匹配項的復雜度,減少流表數量,提高交換機處理速率。
在當前網絡架構中,一般情況下網絡鏈路中都存在鏈路冗余。UGLA分域算法將當前網絡拓撲中的環路作為最小轉發單元,稱為環路域。通過計算域與域之間的轉發路徑,簡化了復雜網絡,提高了計算效率。本文引入了最短路徑算法,計算一個拓撲中的所有環路,每個環路中包含的節點是組成最小環的必要節點。判斷環路的基本思想如下,在一個圖G中,若存在環路,則環路中的所有頂點的度大于或等于2。
步驟1 度為1的節點不能夠產生環路,首先刪除圖中所有度為1的節點和該節點所連接的邊,如果產生新的度為1的節點,則繼續刪除,刪除的節點按連接關系加入到轉發域中。
步驟2 選擇一個度為2的節點作為起始節點開始計算最小環路,度為2的節點至多只有一個環路。
步驟3 檢查剩余節點的度,若剩余圖中的所有節點的度都大于2,則將剩余的節點融合至一個環路域內。
步驟4 若剩余圖中的所有節點的度存在等于2的,則以選擇的節點作為起始節點,斷掉兩條邊中的一條,以該條邊的對端頂點作為目的節點,計算最短路徑。若最短路徑存在,說明該最短路徑能夠形成一個最小環路,可以進行環路融合;若不存在最短路徑,說明該節點只作為中間轉發節點,只要鄰居節點的度為2,就將該節點的鄰居節點遞歸方式加入到同一轉發域中。計算完成后刪除該起始節點,并清除環路中的度為2的節點,重復步驟2到步驟4,直到所有節點都被訪問。
步驟5 在環路域間建立連接,一個節點可以屬于多個不同的域,而域與域之間是否能夠建立連接,取決于域內節點所包含域的集合是否包含對端域。
基于以上步驟,我們設計了一種基于最小環路的UGLA融合算法,如算法1所示。

算法1: 拓撲分域算法 輸入: 拓撲圖信息G(V,E) 輸出: 域集合Domain (1)function E(V) (2) ifV.length == 1 then (3) return[e1,…,en]; //與節點V相連的邊 (4) else (5) return[e];//與節點v1,v2相連的邊 (6) end if (7)end function (8)function D(V) (9) result ← 0 (10) result ← result +E(V) (11) returnresult;//節點的度 (12)end function (13)function PRE-TREATED(G(V,E)) (14) result ← G(V,E) (15) for allv ∈ result.V do (16) if D(v) == 1 then (17) result → V.delete(v) (18) result → E.delete(E(v)) (19) end if (20) end for (21) returnresult (22)end function (23)function UGLA(G(V,E)) (24) Domain ← {} (25) V’ ← [];//已訪問節點 (26) whileV’.length < V.length do (27) v ← V.get(1) (28) if D(v) == 2 then (29) E.delete(E(v,v.dst)) (30) path=Dijkstra(v,v.dst) (31) end if (32) ifpath != 0 then (33) Domain.add(name,path.V) (34) V’.add(path.V) (35) end if (36) end while (37) returnDomain (38)end function
為了更直觀展示算法工作流程,下面將使用一個簡單的示例對上述過程加以詳細的說明。在圖1所示的拓撲中,總共有14臺交換機設備,根據圖中的連接關系可以得出該拓撲圖具有環路,進行環路融合。該拓撲圖大致可以分為5個域,分別是{S1,S2}組成的轉發域Group1;{S3,S4,S5}組成的環路域Loop1;{S4,S5,S6,S7}組成的環路域Loop2;{S8,S9,S10}組成的轉發域Group2;{S11,S12,S13,S14}組成的環路域Loop3。下面按照5個域生成的計算步驟進行詳細的說明。

圖1 初始拓撲結構
首先根據步驟1,先檢查圖中所有度為1的節點,當前拓撲圖中度為1的節點為S1,刪除掉該節點和邊,新產生了一個度為1的節點S2,繼續刪除S2節點和其直連的邊,并將S1和S2加入到一個轉發域Group1中,形成轉發域Group1,拓撲圖如圖2所示。

圖2 融合轉發域Group1
在刪除掉度為1的節點和邊后,拓撲圖中不存在度為1的節點,下面將開始計算環路。選擇度為2的節點作為起始節點開始計算包含該節點的最小環路,當前選擇節點S3作為起始節點。根據步驟2~步驟4刪除S3-S5的連接,通過最短路徑算法求取S3-S5的最短路徑,最終求得路徑S3-S4-S5為最小路徑,因此將{S3,S4,S5}加入到一個環路域中,生成環路域Loop1,拓撲圖如圖3所示。

圖3 融合環路域Loop1
刪除節點S3和環路域中度為2的節點,進行循環步驟2~步驟4的處理。選擇S4初始節點,經過計算將{S4,S5,S6,S7}加入同一環路域,生成環路域Loop2,拓撲圖如圖4所示。

圖4 融合環路域Loop2
刪除初始節點S4,清理掉該環路域中度為2的節點{S5,56},由于清除完成后S7度為1,將S7清除并保留與S7直連節點S8的度進行下面的計算。以S9為初始節點,斷掉S9-S8的鄰邊,計算S9-S8的最短路徑。經過計算,S9到S8不存在最短路徑,說明未形成環路,將S9刪除,并同步刪除新產生度為1的節點{S8,S10},至此{S8,S9,S10}加入到轉發域中,產生轉發域Group2,生成的拓撲圖如圖5所示。

圖5 融合轉發域Group2
前面的步驟已訪問了S1-S10,剩下的{S11,S12,S13,S14}所有節點的度都大于2,因此將這些節點加入到同一個環路域中,生成環路域Loop3。通過各個域之間建立連接關系,轉發域Group1通過S2與環路域Loop1中的S3直連,Loop1中的{S4,S5}與Loop2中的{S4,S5}相交,轉發域Group2通過S8與環路域Loop2的S7直連,通過S10與環路域Loop3的S11直連。通過以上關系建立網絡鏈路連接,最終拓撲圖如圖6所示。

圖6 最終域間邏輯拓撲
通過融合的環路域和轉發域可以簡化拓撲結構,方便流量調度,其最重要的一個優勢是簡化了流表數量。對于轉發域來說,轉發域中的節點只能組成一條鏈路,域間轉發時,在域中傳輸每臺設備只需要兩條流表,用來控制發送和接收數據的轉發;域內轉發時,每臺設備需要一條流表匹配目的節點,實現域內轉發。對于環路域來說,每個環路域至少包含兩條轉發路徑,可以將這兩條路徑作為主備份路徑安裝進交換機,在鏈路故障時進行故障恢復,域間轉發時,設備中的匹配方式通過域名匹配,需要兩條流表控制轉發出口。
綜上所述,交換機流表數量與交換機設備所屬于的域成正比,單域設備只有一種轉發方式,總共兩條流表;多域設備需要按域轉發,一條發送一條接收,因此流表數量是域數量的兩倍。在用到所有設備的情況下,流表數量與設備數量之間的關系如下
普通流表數量=N*2*流數量 分域流表數量=N*2+域數量*2*流數量
以示例拓撲為例,總共有14臺設備,分成了5個環路域,流表數量變化如圖7所示。

圖7 流表數量對比
隨著流數量的增加,分域流表數量增加的速度遠遠低于普通流表數量,當前拓撲環境下,當流數量達到8條時,流表數量較普通SDN下發流表數量減少了50%以上,達到了減少交換機流表數量的目的。
隨著用戶數量的不斷增加,網絡業務類型和業務流量不斷增長,導致當前網絡呈現高冗余性。物理網絡上端到端具有多條可達路徑,如何在該網絡上制定合理的調度策略,以實現網絡業務的正常運行并保證服務質量,是當前網絡管理工作中的一項重大挑戰。本文在進行環路融合后,引入路徑評估方法,在下發轉發配置前評估所有轉發路徑,選擇最優轉發路徑進行轉發流量,保障網絡業務的服務質量。
在環路融合后,每個環路域或轉發域融合成一個節點,域與域之間通過邏輯鏈路連接,每段鏈路具有兩個權值,包含域中節點的數量和域中鏈路轉發的鏈路帶寬。通過計算一條轉發路徑,使鏈路帶寬滿足業務需求并且經過的域節點數量最少,提高業務的服務質量。
我們假定一條流從源設備到目的設備經過了多個域,設這條路徑為p,該路徑包含了多個域節點,每個域流向下一個域所經過的節點數量為hi;域與域之間通過鏈路連接,每條鏈路具有兩個帶寬值,帶寬總容量為ci,鏈路已使用帶寬為bi,存儲方式如式(1)~式(3)
H=[h1,h2,…,hi,…,hn]
(1)
C=[c1,c2,…,ci,…,cn]
(2)
B=[b1,b2,…,bi,…,bn]
(3)
其中,下標n表示域的總數,h1表示流經過的融合域1流向融合域2所經過的設備節點數量,即轉發跳數。ci、bi分別表示域鏈路上的帶寬總容量和已使用的帶寬。根據轉發策略的不同,每條流可能經過的域數量不同,因此該數組為可變長數組。
通過參數f(src,dst,band)表示一條流的需求,從源端交換機src轉發到目的交換機dst,業務所需帶寬是band。算法先用深度優先探索(depth-first-search,DFS)進行全路徑計算,提取出所有可達路徑。遍歷路徑上的每條鏈路,檢查鏈路剩余帶寬是否滿足業務需求,剩余帶寬的計算方式見式(4)。滿足帶寬需求的轉發路徑將會保留下來,進行之后的篩選,不滿足需求的路徑會被排除
R=[r1,r2,…,ri,…,rn]=C-B
(4)
全路徑算法選出所有可達路徑,經過計算帶寬余量后,會留下符合標準的一條或多條轉發路徑。每條轉發路徑都包含以下數組,H數組記錄了路徑經過每個域的跳數,C數組記錄了轉發路徑上鏈路帶寬的總量,B數組記錄了轉發路徑上已使用的鏈路帶寬,數組長度與路徑長度相等。首先計算路徑的所有跳數,使用式(5)。選擇滿足需求路徑中Hop最小的鏈路作為轉發鏈路,然后挑選一條域相交數量較少的鏈路作為備份鏈路
(5)
經過計算Hop值后,有可能會產生Hop值相同的鏈路,需要計算鏈路的容納度和平滑度,選擇最優的鏈路作為轉發路徑。鏈路容納度是一條轉發路徑中鏈路剩余帶寬的最小值,計算方法如式(6)
Contain=min{ri} (ri∈R)
(6)
選擇容納度最大的鏈路,使該轉發路徑具有更多的帶寬資源來容納數據,防止突發流量對鏈路的影響。最后如果鏈路的容納度也相同就需要進行最終的鏈路平滑度計算,保證轉發路徑中鏈路的帶寬均勻分布,減少來自不同節點轉發數據產生的擁塞。具體步驟如下。
步驟1 當前鏈路已經計算出了鏈路的容納度,首先需要計算轉發路徑的各個鏈路剩余帶寬與容納度的差值,獲取與路徑對應的一組鏈路差值對比數據。對于路徑p上的一條鏈路,其容納度為Contain,每段鏈路的差值公式為di,計算方式如式(7)
di=ri-Contain
(7)
步驟2 根據計算出的鏈路差值數據,計算差值的平滑度,可根據式(8)計算一個評估值Smooth,評估參數Smooth值越小說明該鏈路的帶寬分布更加均勻,不會因某一個節點出現擁塞而影響所有鏈路的轉發,能夠為業務提供更加穩定的服務
(8)
通過最終的平滑度公式可以計算出一條波動性較小的轉發路徑,業務在該路徑上傳輸流量時能夠避免一些因突發流量造成的鏈路擁塞問題,達到了業務保障的效果,提高了業務的服務質量。
為了直觀展示該流程,本文在模擬網絡環境下,將UGLA算法和鏈路評估引入到故障恢復技術中,并與傳統的SDN故障恢復技術和基于OpenFlow組表恢復方法進行對比,以此對本文提出的策略進行測試評估。
本綜合實驗以Floodlight開源控制器[16]作為控制核心,用于檢測鏈路故障和計算下發故障恢復策略。網絡拓撲如圖8所示,整體網絡由13臺設備組成,為了更好地展現故障恢復性能,拓撲結構設計成多環路鏈接,提高鏈路冗余度。

圖8 實驗測試拓撲
通過Mininet[17]構建了一個13臺交換機組成的網絡,鏈路上具有2 ms延遲效果,用于模擬物理設備間的通信延遲,每段鏈路都有不同的帶寬值,用于驗證帶寬在路徑選擇中的作用。
首先通過網絡分域計算當前拓撲中的環路,并計算出每個域的最小帶寬和總節點數量,這兩個數值將作為鏈路評估所使用的參數。根據UGLA計算方法所得的環路域如圖9所示,經過計算精簡了當前拓撲結構。

圖9 環域融合邏輯拓撲
根據當前的環路域拓撲結構,生成域內轉發流表,保證每個域內的流量能夠正常通行。例如,在Loop1域中下發基礎流表后,交換機{S1,S2,S3,S4,S5}能夠處理帶有Loop1標簽的MPLS流量,使該流量在當前環路域中沿順時針或逆時針轉發。
經過基礎流表的配置,最后只缺少匹配具體數據流的流表,用于流量的流入和流出,鏈路評估算法正是用來生成該數據流的流表。假定一條數據流為S1發送至S12,帶寬需求是10 M。算法為了選擇一條轉發路徑,首先要確定該數據流的基本屬性,其源地址是S1,屬于環路域Loop1,目的地址是S12,屬于環路域Loop7。根據環路域拓撲上的參數,計算出滿足當前需求的路徑總共有4條,分別是{Loop1,Loop2,Loop6,Loop7}、{Loop1,Loop3,Loop6,Loop7}、{Loop1,Loop2,Loop4,Loop6,Loop7}、{Loop1,Loop3,Loop5,Loop6,Loop7}。
經過篩選,最終決策出{Loop1,Loop2,Loop6,Loop7}作為該數據流的主要轉發路徑,{Loop1,Loop3,Loop6,Loop7}作為備份轉發路徑,最終生成流表下發至交換機中。
本文設計了兩個應用場景,利用基于SDN的故障恢復來處理域內故障和域間故障。計算出主要轉發路徑為{Loop1,Loop2,Loop6,Loop7},確定物理拓撲中數據流的正常傳輸路徑為{S1,S4,S7,S6,S11,S12}。
當發生域內故障時,例如域Loop1內的{S1,S4}和Loop2內的{S5,S6}都發生斷路,系統啟動域內故障恢復功能,此時不需要控制器參與調控,交換機會自動切換到域內備份路徑,并告知控制器故障點位置。經過域內故障恢復策略,此時的數據流轉發路徑變更為{S1,SS,S3,S5,S9,S10,S13,S12},故障恢復轉發路徑如圖10所示。

圖10 域內故障恢復
由于環路域Loop1中的{S1,S4}出現故障,數據流從備份路徑{S1,S2,S3,S5}轉發到環路域Loop2的S5,S5同時屬于環路域1、2、3、6,S5將標簽剝離至Loop6。由于Loop6中的{S5,S6}發生了斷路,因此環路域Loop6的轉發路徑由{S5,S6}切換至{S5,S9,S10}。
通過域內故障恢復處理,能夠完成對域內故障的數據流量轉發,在增加少量延遲的代價上,實現故障反應快、轉發丟包率低的效果。
當發生域間故障時,例如Loop2中的{S4,S5}和{S7,S8}出現斷路,導致環路域Loop2與Loop6的連接中斷,出現這種情況時,需要控制器參與故障的恢復,以實現降低延遲的效果,故障恢復轉發路徑如圖11所示。

圖11 域間故障恢復
根據數據流主要轉發路徑,當數據流轉發到交換機S7時,交換機S7發現鏈路{S7,S6}出現故障,啟用故障恢復組表切換備份路徑回傳到S4并標記該流量為域Loop2故障流量。交換機S4發現鏈路{S4,S5}出現故障,且該數據流為故障流量,啟動域間故障恢復功能,將該數據流發回域Loop1內并打上域間故障的標記。鏈路評估計算所得的備份路徑開始工作,切換域轉發路徑為{Loop1,Loop3,Loop6,Loop7},此時轉發路徑為{S1,S4,S7,S4,S1,S2,S3,S5,S6,S11,S12}。
僅通過OpenFlow協議恢復會使當前轉發路徑每次都需要轉發到S4和S7交換機然后回溯,浪費網絡帶寬資源。本設計引入控制器協同工作,在S4上報故障的同時,控制器給S4的上游設備下發配置,匹配故障流量修改轉發路徑,引導流量不再經過S4和S7,減少網絡資源浪費。
當發生域內故障時,本文設計與其它故障恢復方法進行性能對比,鏈路傳輸速率如圖12所示。

圖12 域內故障恢復轉發速率對比
傳輸延遲對比如圖13所示。

圖13 域內故障恢復延遲對比
該數據表明,控制器恢復方式雖然會選擇最優轉發路徑,但是在故障時需要等待流表失效,才能進行路徑切換。OpenFlow方法恢復故障只在本地有效,所有流量必須轉發到故障點才能觸發故障恢復組表功能,延遲時間過長,且流表數量比控制器調度路徑更多。本文提出的恢復方式采取分域轉發,減少了流表數量,同時故障也只在域內處理。
當發生域間故障時,鏈路傳輸速率如圖14所示。

圖14 域間故障恢復轉發速率對比
傳輸延遲如圖15所示。

圖15 域間故障恢復傳輸延遲對比
該數據表明,OpenFlow組表恢復方式和本文提出的恢復策略均能很好恢復故障,并且加入了控制器的引導,在故障后降低了傳輸延遲。
綜上所述,相比于基于SDN控制器恢復的技術,故障反應時間更快,降低了故障恢復過程中的丟包率,流表數量更少,實現了故障即時恢復的需求;相比于基于OpenFlow協議恢復技術,降低了流表數量,通過交換機上報故障點使控制器能夠感知故障位置,控制器及時選擇最優路徑進行轉發流量,降低了傳輸延遲。本文提出的基于SDN的故障檢測及恢復技術實現了SDN網絡中故障流量的快速恢復,通過OpenFlow組表和控制器的協同工作以更低的延遲和丟包率傳輸故障流量,鏈路評估算法提升了故障流量的傳輸速率,整網的可靠性和可用性大大增強。
近年來,計算機技術蓬勃發展,互聯網業務不斷擴大,物聯網、云計算等新興領域逐步成長為大型行業。業務的增多導致網絡結構日趨復雜,為網絡管理人員帶來了繁瑣的維護工作。為實現控制器自動恢復網絡中出現的故障,減少網絡管理人員的維護工作,本文研究和設計的基于SDN的故障恢復方法,依靠控制器強大的管控優勢和可編程的開放性,針對鏈路故障實施故障恢復策略,保證冗余鏈路故障時,通信能夠正常進行。同時還加入了鏈路帶寬評估方法,計算最佳的域間轉發路徑,滿足鏈路故障時業務的帶寬需求,降低傳輸延遲,提高業務服務質量。
本文的方法優勢如下:
(1)保持傳輸通暢:本文充分利用了OpenFlow協議的特性,實現故障恢復的自動化切換機制,在恢復過程中確保通信不中斷。
(2)提高傳輸質量:本文充分利用了控制器在SDN架構中的核心控制功能,當鏈路出現故障時,控制器會介入恢復過程,提前將故障數據流引導至正常轉發路徑上,節約網絡資源、降低傳輸延遲。
(3)降低流表數量:本文使用UGLA對當前拓撲進行分域,流量的匹配僅通過MPLS標簽標識,極大降低了交換機中的流表數量,節約了交換機存儲資源和流表的匹配效率。