閆馳
摘要:當前SND被廣泛應用到流量工程、安全監(jiān)測等領域,為了進一步提升SND應用的可靠性,對這一技術應用過程中表現出的技術難點進行研究。文章考慮到SND整體應用過程相對復雜,主要介紹了全網拓撲發(fā)現方法與鏈路時延測量方法。研究發(fā)現:NSCA-II節(jié)點選擇算法可以有效平衡測量節(jié)點與測量路徑間的制約關系,為網絡鏈路延時測量節(jié)點問題的解決提供有效的支持。通過在當前網絡體系發(fā)展過程中,能夠通過快速、完整獲取網絡結構,并對相關性能進行統(tǒng)計收集的方式,為SND研究發(fā)展提供助力,滿足當前人們對網絡體系可持續(xù)發(fā)展的實際需要。
關鍵詞:軟件定義網絡:拓撲發(fā)現:鏈路時延測量
中圖分類號:TP311.1
文獻標志碼:A
0 引言
SDN作為一種新型的網絡體系結構,在實際應用過程中,能夠將傳統(tǒng)網絡體系中的硬件、操作系統(tǒng)、網絡應用耦合到一起,實現網絡設備硬件的邏輯控制,更好地適應各種網絡變化的需要。在5G技術廣泛普及的背景下,網絡規(guī)模不斷擴大,網絡結構越發(fā)復雜,為滿足多樣化網絡設備、網絡應用的需要,軟件定義網絡(SDN)得到了廣泛的應用?,F階段,為了維護網絡的安全穩(wěn)定運行,在SDN應用過程中,確定目標網絡的拓撲,并對其進行時延測量,成了一項極為必要的工作。
1 軟件定義網絡( SND)全網拓撲發(fā)現方法
1.1 拓撲發(fā)現協議NewOFP+
現階段,拓撲發(fā)現主要由網絡實體發(fā)現與網絡鏈路發(fā)現組成,其中網絡實體發(fā)現在傳統(tǒng)網絡系統(tǒng)中,主要由互聯設備、主機、子網共同構成;在SND中則由控制器、轉發(fā)設備共同構成。而網絡鏈路發(fā)現主要是指網絡實體間的連接關系。現階段,拓撲發(fā)現大多存在著自動或者無需人工介入的特點,因此,在SND網絡體系中,拓撲發(fā)現主要指的是網絡鏈路發(fā)現[1]。在實際工作過程中,鏈路兩端的端口將Packet-in消息發(fā)送給控制器,在信息傳輸過程中,可以先對交換機記錄端口都向控制器端口發(fā)送P ack -in消息進行判斷,若已經發(fā)送信息,那么則不再向另一個端口轉發(fā)LLDP包,若沒有發(fā)送,則由一個端口發(fā)送消息[2]?,F階段,為了實現上述信息判斷算法,可以通過NewOFDP+為OpenFlow交換機添加哈希策略的方式,對端口是否已經向控制器發(fā)送Packet-in消息進行判定,在減少控制器需要處理的消息量的同時,減少鏈路重復測量問題出現的概率,實現不必要流量的減少,為控制器負擔的減輕提供有效的支持[3]。
1.2 添加鎖機制的NeWOFDP+
理想狀態(tài)下,經過上述處理后.NewOFDP+發(fā)送的Packet -in消息數已經被減少到每條鏈路發(fā)送一條,但考慮到網絡體系在運行過程中存在較強的復雜性與不確定性,因此,在實際應用過程中,仍存在部分鏈路兩端端口均會向控制器發(fā)送Packet - in消息的現象,這一情況的出現使得部分鏈路仍會在工作過程中出現重復測量的問題。對上述問題的出現原因進行分析可以了解,一方面,在進行哈希比較操作時,操作修改可能會同時進行,為了保證解決方案的順利制定,則需要操作在下一節(jié)討論中繼續(xù)進行;另一方面,在實際應用過程中,控制器到兩個不同交換機的端口時延相一致,并且這兩個端口間的鏈路寬帶對等,使得哈希表中記錄的轉發(fā)時間相等,但對文獻資料進行查閱后可以發(fā)現這種端口時延相一致的情況出現概率極低,因此,為了實現Packet-in消息處理工作效率的有效提升,可以通過添加鎖機制的NewOFDP+對哈希比較操作進行進一步優(yōu)化的方式,提高控制器的工作效率[4]。
為了保證每條鏈路僅能發(fā)送一條Packet -in消息,將哈希表添加到交換機系統(tǒng)中并對信息進行記錄,是一種不錯的方式,但經過理論實踐分析后發(fā)現,鏈路端口向控制器發(fā)送的Packet -in消息數量仍比網絡鏈路數更多,而這一情況出現的主要原因在于,哈希表比較、修改操作可能在同一時間進行[5]?,F階段,為了切實解決上述問題,可以通過為NewOFDP+添加鎖機制的方式,避免在鏈路一端端口已經向控制器發(fā)送Packet -in消息,但鏈路另一端端口在發(fā)送LLDP包前進行哈希表查詢的時間與修改操作進行時間相一致,進而導致端口關鍵字對應值不為1.出現端口分別向鏈路另一端端口發(fā)送Packet-out消息、向控制器轉發(fā)Packet - in消息的情況。具體來說,為NewOFDP+添加鎖機制這一操作可以令比較、修改這兩個操作均轉化為原子操作,即在網絡系統(tǒng)實際應用過程中,系統(tǒng)無法同時進行比較、修改這兩種操作,并且在此過程中,鎖機制為非公平鎖,這就使得修改操作的優(yōu)先級高于比較操作,在兩者同時出現時,修改操作可以搶占鎖,從而為Packet -in消息數量的減少提供支持[6]。
如表1所示,在實際應用后可以發(fā)現,搶占式的原子操作盡管可以使Packet -in消息數量減少,但同時會導致部分端口處理數據的時間加倍。也就是說,在系統(tǒng)沒有發(fā)生修改與比較操作同時出現問題時,信息仍按照正常的速率進行傳輸與處理,若兩者同時出現,則修改操作搶占鎖,進而導致信息傳輸處理所消耗的時間為正常處理時間的2倍。盡管這種情況的出現會使拓撲發(fā)生時間被延長,進而對適用網絡造成了限制,導致這種技術方法的適用范圍有所縮小,但這種技術方式可以有效減少控制器需要處理的Packet-in消息,從而實現控制器的“減負”,為控制器使用壽命的延長提供支持[7]。
2 軟件定義網絡( SND)鏈路時延測量方法
2.1 多目標鏈路時延測量節(jié)點選擇算法
現階段,鏈路時延測量技術主要可以被分成主動測量、被動測量兩部分內容,但考慮到軟件定義網絡存在著高度集中的特性,在SND鏈路中,試驗測量技術主要為主動測量技術。同時,考慮到發(fā)送探測包設備的不同,主動測量又可以被分成完全控制器測量、部分交換器測量兩種,在實際應用過程中,為了減輕控制器的工作負擔,部分交換器測量應用頻率更高。考慮到部分交換器測量已經被總結為GRAMI框架,并且這一框架主要由離線計算階段與在線測量階段共同構成,因此,在技術應用過程中,測量節(jié)點、規(guī)劃測量路徑的選擇情況會對時延測量任務的時效性、準確性之間產生明顯的影響。現階段,為了提升測量節(jié)點、規(guī)劃測量路徑選擇的有效性,可以利用NSCJA-II算法對多目標進行優(yōu)化,從而選擇最優(yōu)的測量節(jié)點,實現規(guī)劃測量路徑質量的有效提升[8]。
2.2 實驗與結果分析
為了切實了解NSGA-II算法是可以滿足SND全網拓撲發(fā)現及鏈路時延測量的需要,可以以Topology Zoo為試驗拓撲集,主要參數如表2所示,對NSCJA-II算法與改進后的貪婪近似算法實驗結果進行比較,了解NSCJA-II算法計算結果的合理性。經過實驗分析后可以發(fā)現.NSCA-II算法更能滿足當前的鏈路時延測量T-作的需要[9]。
2.3 網絡鏈路時延測量
GRAMO框架在實際應用過程中,可以將一廠-作分成離線計算、在線計算兩部分內容,在離線計算階段,可以使用NSGA-II算法選擇多目標時延測量節(jié)點,并實現節(jié)點位置的計算、測量鏈路的分配。而在在線測量階段,為了切實了解上述算法對測量節(jié)點部署、測量鏈路的分配效果,可以在Floodloghl+Mininet網絡仿真環(huán)境下,通過測量節(jié)點發(fā)送探測包的方式,對實際網絡鏈路時延情況進行測量。測量時的網絡狀態(tài)分別為:(1)網絡僅包含鏈路時延測量探測包:(2)網絡存在少量穩(wěn)定隨機流;(3)網絡存在大量隨機流。在第一種網絡狀態(tài)下,網絡處于空載狀態(tài),不存在其他數據流量的干擾,此時,從理論上看網絡鏈路時延測量值等于理論值。為驗證上述理論,對網絡鏈路時延情況進行模擬,可以發(fā)現實驗得到的結論與理論情況相一致。在第二種網絡狀態(tài)下時,考慮到顯示網絡在實際應用過程中可以依據網絡用途、范圍的不同,被分為工作、生活網絡,并且工作網絡一般情況下被定義成在一定范圍內的局域網,這種網絡的流量類型相對單一,并且很少會出現突發(fā)性的大流量問題:生活網絡出現大量各類流量的情況相對較多,并且網絡擁塞這種問題屬于大量流量中的一種較為極端的情況。在進行網絡存在少量穩(wěn)定隨機流這種現實網絡的時延測量時,為了提升測量的可靠性,可以通過向Peerl拓撲中注入少量穩(wěn)定隨機流的方式,實現對現實網絡狀況的有效仿真。并且為了提升鏈路的利用效率,可以將鏈路的傳播時延設為0.經過實驗分析可以發(fā)現,在仿真過程中,鏈路時延整體較為平穩(wěn),趨勢變化相對較小,比理論值高的鏈路數量極少,與網絡質保函用于鏈路實驗的探測包情況相類似,這一情況的存在說明當探測包到達交換機后,等待耗時極短,交換機處理效率相對較高,進而大部分鏈路的時延可以近似看成理論值。在第三種網絡狀態(tài)下,為了實現對現實網絡狀況的有效仿真,可以在測量過程中,向Peerl拓撲中注入大量的隨機流,然后再進行仿真實驗。為了提升鏈路的利用效率,可以將鏈路的傳播時延設為0,經過實驗分析可以發(fā)現,在仿真過程中,多數鏈路的時延比較小,僅有少部分的鏈路時延較為明顯,并且這些時延明顯的鏈路是鏈路利用率相對較高的鏈路,鏈路出現了網絡擁堵的狀況。這種情況出現的原因在于:網絡中存在大量隨機流,鏈路中各種流量較多,這些流量中包括進行時延測量的探測包,在流量到達交換機后,交換機無法在短時間內完成所有流量的處理工作,多余流量將會在交換機內排隊等候處理,探測包在等待列隊中等待轉發(fā),這一情況的出現使得鏈路時延包含了大量的排隊時延。通常情況下,若鏈路的利用率接近80%.那么鏈路就會出現擁堵,導致鏈路的時延增加[10]。
3 結語
總而言之,測量與監(jiān)測是保障網絡系統(tǒng)安全穩(wěn)定運行的根本,但由于當前計算機網絡結構復雜度的不斷提升,測量監(jiān)測工作的難度也在不斷增加,現階段,為了切實保證底層拓撲性能參數收集工作質量能夠滿足需要,精準掌握當前網絡的拓撲結構,了解網絡的性能狀態(tài),并以此為基礎,利用NSGA-II算法選擇多目標時延測量節(jié)點,加強SND數控分離與高度集中控制質量,可以在實現節(jié)點位置的計算、測量鏈路有效分配的基礎上,盡可能降低SND控制器集中控制引起的控制器負擔,保證網絡體系正常的運轉。
參考文獻
[1]李毛.SDN網絡測量及流量傳輸技術研究[D].長沙:湖南大學.2021.
[2]陳毅.SDN網絡中保障服務品質的虛擬鏈路技術研究[D].成都:電子科技大學.2020.
[3]曹洪運.SDN控制平面中負載均衡的遷移優(yōu)化研究[D].西安:西安工業(yè)大學.2019.
[4]王興.SDN數據中心網絡鏈路時延測量及流表管理方法研究[D].成都:電子科技大學,2018.
[5]楊澤衛(wèi),李呈.重構網絡:SDN架構與實現[M].北京:電子工業(yè)出版.2017.
[6]張恒,蔡志平,李陽.SDN網絡測量技術綜述[Jl.中國科學:信息科學,2018(3):293-314.
[7]王興.SDN數據中心網絡鏈路時延測量及流表管理方法研究[D].成都:電子科技大學,2018.
[8]陳毅.SDN網絡中保障服務品質的虛擬鏈路技術研究[D].成都:電子科技大學.2020.
[9]李毛.SDN網絡測量及流量傳輸技術研究[D].長沙:湖南大學.2021.
[10]蒲恒袆.SDN網絡管理系統(tǒng)的設計與實現[D].西安:西安電子科技大學.2021.
(編輯傅金睿)