歐陽煒昊,王 晶
(湖南大眾傳媒職業技術學院,湖南 長沙 410100)
隨著信息技術的迅猛發展,網絡通信在當今社會中扮演著不可或缺的角色[1-3]。軟件定義網絡(Software Defined Network,SDN)作為一種創新性的網絡架構,將網絡控制平面與數據平面分離,為網絡管理提供了靈活性和可編程性的新范式[4-5]。然而SDN 網絡的高度靈活性也帶來了一系列挑戰,其中流量優化與擁塞控制問題是急需解決的關鍵問題之一[6-7]。
文章深入探討SDN 網絡的架構與原理,并在此基礎上提出一種創新的流量優化與擁塞控制方法,以應對SDN 網絡中由于流量波動和拓撲變化引發的性能問題。文章采用基于強化學習的方法來提高網絡的自適應性和性能優化能力。強化學習是一種具備學習和適應能力的人工智能技術,能實現對網絡動態環境的實時感知和智能決策,從而應對網絡流量的動態變化和擁塞狀況。同時,使用Mininet 平臺進行測試與評估,以驗證所提方法的有效性。
本研究旨在為SDN 網絡中的流量優化與擁塞控制問題提供一種創新的解決思路,為未來智能化網絡的設計和應用提供有益的參考,以期為網絡技術領域的研究與應用提供新的理論支撐和實用經驗。
SDN 網絡架構的核心理念是將網絡控制平面與數據平面分離,由控制平面、數據平面、控制器、北向接口以及南向接口等組成,具體如圖1 所示。

圖1 SDN 基本架構
第一,控制平面。控制平面是網絡的大腦,負責制定和管理網絡策略、路由、流量工程等。在SDN 中,控制平面是通過1 個單獨的控制器來實現的。該控制器使用開放接口與網絡設備進行通信。
第二,數據平面。數據平面負責實際的數據傳輸,即網絡中的數據包在設備之間的流動。在SDN中,數據平面的任務是根據控制平面的指令,進行流表項的匹配和數據包的轉發。
第三,控制器。控制器是SDN 架構的關鍵組件,提供1 個中央控制點,通過與網絡設備之間的通信向數據平面傳遞指令。常見的SDN 控制器包括OpenDaylight、ONOS 和Floodlight 等。
第四,北向接口。北向接口是控制器與應用程序進行通信的接口,允許應用程序通過控制器來管理和配置網絡。
第五,南向接口。南向接口是控制器與網絡設備進行通信的接口,允許控制器向設備下發指令。常見的南向接口協議包括OpenFlow、NETCONF 等。
SDN 網絡的靈活性和可編程性為網絡管理提供了新的范式。然而,由于網絡環境復雜多變,傳統的靜態流量管理方法已無法滿足實時性和效率性的要求。因此,引入強化學習技術成為解決SDN 網絡中流量優化與擁塞控制問題的一種前瞻性途徑。文章將深入探討基于強化學習的方法,力求通過智能決策和實時調整來優化網絡流量分配。
強化學習是一種通過智能體與環境的交互學習,以最大化累積獎勵的機器學習范式[8-9]。其核心思想是智能體在不斷與環境進行交互的過程中,通過學習合適的決策策略,以獲得最大的長期回報。強化學習由狀態、動作、獎勵、智能體以及環境組成,基本原理如圖2所示。

圖2 強化學習的基本原理
第一,狀態。狀態用于描述環境特定時間的信息,用于定義問題,記狀態集合為S。
第二,動作。動作是智能體在特定狀態下采取的決策或行為,記動作集合為A。
第三,獎勵。獎勵是環境根據智能體的動作和狀態給予的反饋信號,用于評估動作的好壞。獎勵通常用函數R(s,a)表示,其中s為狀態,a為動作。
第四,智能體。智能體是執行動作并與環境交互的決策實體,其目標是通過學習獲得最大累積獎勵。智能體的策略決定了在特定狀態下選擇哪個動作。
第五,環境。環境是智能體所處的外部系統,用于接收智能體的動作,并根據這些動作改變其狀態,從而產生相應的獎勵。
強化學習的基本目標是找到1 個最優的策略,使智能體在特定狀態下采取特定動作,從而最大化長期累積獎勵,用價值函數表示為
式中:V(s)表示狀態s的狀態值函數;Q(s,a)表示狀態s采取動作a的預期累積獎勵;Rt表示t時刻的即時獎勵;γ表示用于平衡當前獎勵和未來獎勵權重的折扣因子;E(·)表示數學期望;St=s表示狀態St取值為s的情況;At=a表示動作At取值為a的情況。
通過調整智能體的策略以最大化狀態值函數或動作值函數,強化學習算法能夠實現智能體在復雜環境中的優化決策學習。
在流量優化與擁塞控制的研究中,采用強化學習的方法來調整網絡中的流量分配,以達到優化網絡性能的目的,采用的強化學習框架由4 部分組成。
第一,狀態表示與特征提取。網絡狀態St通過包括網絡拓撲和流量信息等多方面特征的函數f進行建模,從而全面地反映當前網絡環境。
第二,動作空間與策略,用公式表示為
式中:{a1,a2,…,am}表示智能體可選的執行動作的集合;策略函數π(·)表示在給定狀態St下選擇動作At的概率分布。
第三,獎勵函數。獎勵函數通過網絡性能指標等因素,量化智能體在狀態St下選擇動作At后所獲得的即時獎勵。
第四,價值函數。通過計算狀態價值函數來表示在狀態St下的預期累積獎勵,并通過式(1)和式(2)進行計算。
強化學習方法會根據網絡狀態St的特征采取相應的動作At,當網絡拓撲結構存在問題時,智能體會根據當前狀態下各路徑的動作值,選擇具有最大值的動作,即調整流量分配,以實現網絡中路徑的動態調整,公式為
式中:arg max 表示某個函數取得最大值時的參數值。式(5)表示在給定狀態St下,選擇使動作值函數Q(St,a)達到最大的動作a,即智能體在某個狀態下采取的最優動作。當狀態特征為流量信息時,智能體通過激活函數Soft(·)調整策略,根據動作值的概率分布選擇適應當前擁塞情況的動作,實現流量在網絡中的靈活調整,公式為
當狀態特征表現為網絡性能指標時,基于網絡性能指標等因素計算即時獎勵,以量化智能體在當前狀態下選擇動作后的效果。
為驗證所提方法的有效性,文章采用Mininet 仿真工具構建仿真環境[10]。網絡拓撲參數如表1 所示。

表1 網絡拓撲參數
表1 列出了Mininet 仿真環境中的網絡拓撲參數值,其中節點數表示網絡中的交換機和主機連接點的數量;連接數表示網絡中的鏈路數量;帶寬表示鏈路的帶寬容量;拓撲類型選用樹狀拓撲,以模擬實際網絡環境;控制器數表示SDN 網絡中的控制器數量;SDN 應用數表示網絡中應用的SDN 網絡架構數量。
實驗過程包括以下幾個步驟。
第一步,環境搭建。使用Mininet 工具構建網絡仿真環境,設定節點數、連接數、帶寬以及延遲等參數。
第二步,數據采集。在仿真環境中運行基于強化學習的流量優化與擁塞控制方法,通過監測網絡狀態、動作選擇、獎勵等信息,采集實驗數據。
第三步,性能評估。通過對比實驗前后網絡的性能指標,如吞吐量、延遲、擁塞情況等,評估強化學習方法對網絡性能的影響。其中,吞吐量表示網絡的數據傳輸能力,平均延遲表示數據傳輸的延時,擁塞情況用于反映網絡中是否存在擁塞現象。實驗結果如表2 所示。

表2 實驗結果
通過實驗結果對比可知,基于強化學習的流量優化與擁塞控制方法能夠有效提升網絡性能。利用該方法后,網絡吞吐量提升至95 Mb/s,平均延遲降低至10 ms,擁塞情況顯著減少。由此可知,文章所提方法在實驗環境中取得了顯著的性能優化效果。
文章提出一種基于強化學習的流量優化與擁塞控制方法,并通過實驗證實了該方法的有效性,為SDN 網絡中的性能提升提供了一種新的解決思路。在網絡拓撲參數固定的情況下,實驗結果表明,所提方法在吞吐量、延遲等方面均取得了顯著改善。通過動態調整流量分配和擁塞感知調整策略,強化學習方法成功地提高了SDN 網絡的自適應性和智能化水平。該研究為SDN 網絡中流量優化與擁塞控制問題的解決提供了新的理論支持和實用經驗,具有一定的理論和應用價值。未來的研究方向可在進一步優化強化學習算法、擴展網絡拓撲結構等方面展開,以更好地適應不同場景下的網絡環境。