羅 可 曾 鵬 熊 兵 趙錦元
1(長(zhǎng)沙理工大學(xué)計(jì)算機(jī)與通信工程學(xué)院 長(zhǎng)沙 410114)
2(長(zhǎng)沙師范學(xué)院信息科學(xué)與工程學(xué)院 長(zhǎng)沙 410199)
軟件定義網(wǎng)絡(luò)(software-defined networking,SDN)作為一種新興網(wǎng)絡(luò)架構(gòu),將網(wǎng)絡(luò)控制功能從數(shù)據(jù)交換設(shè)備中解耦出來(lái),形成邏輯上集中的控制平面.SDN 控制平面負(fù)責(zé)構(gòu)建并維護(hù)全局網(wǎng)絡(luò)視圖,根據(jù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)制定流規(guī)則,并通過(guò)以O(shè)penFlow 為代表的南向接口協(xié)議下發(fā)到數(shù)據(jù)交換設(shè)備中,從而實(shí)現(xiàn)靈活高效的數(shù)據(jù)傳輸.基于OpenFlow 的SDN 技術(shù)有力地打破了傳統(tǒng)網(wǎng)絡(luò)的封閉和僵化問(wèn)題,大大提升了網(wǎng)絡(luò)的靈活性、可管控性和可編程能力,被普遍認(rèn)為是未來(lái)網(wǎng)絡(luò)最有發(fā)展前景的方向之一[1-2].經(jīng)過(guò)十來(lái)年的不斷發(fā)展與演進(jìn),SDN 技術(shù)已廣泛應(yīng)用于各種網(wǎng)絡(luò)場(chǎng)景,尤其是數(shù)據(jù)中心網(wǎng)絡(luò).軟件定義數(shù)據(jù)中心網(wǎng)絡(luò)(software-defined data center network,SDDCN)顯著簡(jiǎn)化了網(wǎng)絡(luò)功能管理,降低了部署成本,提高了數(shù)據(jù)傳輸效率,優(yōu)化了網(wǎng)絡(luò)應(yīng)用性能,為數(shù)據(jù)中心的優(yōu)化部署提供了新的技術(shù)方案[3-4].
數(shù)據(jù)中心作為承載海量數(shù)據(jù)處理的重要基礎(chǔ)設(shè)施,廣泛應(yīng)用于在線(xiàn)購(gòu)物、網(wǎng)絡(luò)電視、短視頻分享等數(shù)據(jù)密集型產(chǎn)業(yè),目前已進(jìn)入井噴式的高速建設(shè)和發(fā)展時(shí)期[5].然而,在數(shù)據(jù)中心規(guī)模飛速擴(kuò)張的同時(shí),能耗問(wèn)題已成為制約其可持續(xù)發(fā)展的瓶頸.在數(shù)據(jù)中心能耗中,網(wǎng)絡(luò)設(shè)備產(chǎn)生的能耗占比可達(dá)50%以上[6],主要由提供高速數(shù)據(jù)傳輸服務(wù)的交換機(jī)產(chǎn)生.在SD-DCN 網(wǎng)絡(luò)中,OpenFlow 交換機(jī)通常采用三態(tài)內(nèi)容可尋址存儲(chǔ)器(ternary content addressable memory,TCAM)存儲(chǔ)流表以支持快速通配查找,其查找能耗高(15~30 W/Mbit)[7-8],約為 靜態(tài)存儲(chǔ)器的50 倍[9].同時(shí),SD-DCN 網(wǎng)絡(luò)采用等價(jià)多路徑路由機(jī)制,將產(chǎn)生不少額外的流規(guī)則并存儲(chǔ)到TCAM 中,導(dǎo)致能耗問(wèn)題更加凸顯.因此,如何設(shè)置OpenFlow 交換機(jī)的TCAM容量,以平衡分組轉(zhuǎn)發(fā)時(shí)延和TCAM 查找能耗,是SD-DCN 實(shí)際部署需要解決的一個(gè)關(guān)鍵問(wèn)題.
目前已有不少研究工作關(guān)注OpenFlow 交換機(jī)的TCAM 能耗問(wèn)題.為降低TCAM 查找能耗,部分研究人員采用內(nèi)容可尋址存儲(chǔ)器(CAM)緩存流表中的活躍流[10-11],進(jìn)而直接轉(zhuǎn)發(fā)大多數(shù)分組,以大幅度減少TCAM 流表查找操作.然而,CAM 同樣采用并行查找方式,查找能耗仍高.也有研究者利用過(guò)濾器預(yù)測(cè)流表查找失敗情形[9],減少不必要的TCAM 查找操作,但只能過(guò)濾每條流的首個(gè)分組,節(jié)能效果極為有限.還有研究人員關(guān)注OpenFlow 交換機(jī)的TCAM 流表優(yōu)化模型[12-13],但卻主要關(guān)注流超時(shí)設(shè)置、流規(guī)則放置等問(wèn)題,缺乏對(duì)其最優(yōu)容量的考量.此外,許多工作關(guān)注OpenFlow 交換機(jī)的分組轉(zhuǎn)發(fā)時(shí)延,利用排隊(duì)論構(gòu)建OpenFlow 分組轉(zhuǎn)發(fā)性能模型[14-15],但卻同樣忽略了TCAM 容量對(duì)分組轉(zhuǎn)發(fā)時(shí)延的影響.
針對(duì)上述問(wèn)題,本文面向SD-DCN 網(wǎng)絡(luò)場(chǎng)景,擬提出一種OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型,以求解TCAM 最優(yōu)容量.為此,本文首先描述了一個(gè)典型的SD-DCN 網(wǎng)絡(luò)部署場(chǎng)景,分析其分組轉(zhuǎn)發(fā)過(guò)程和排隊(duì)特性,構(gòu)建OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型.然后,根據(jù)數(shù)據(jù)中心網(wǎng)絡(luò)中的流分布特性,建立TCAM 命中率模型,進(jìn)而求解OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延與TCAM容量的關(guān)系式.進(jìn)一步,結(jié)合TCAM 查找能耗,建立OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型,并設(shè)計(jì)對(duì)應(yīng)的優(yōu)化算法求解TCAM 最優(yōu)容量.最后,通過(guò)模擬實(shí)驗(yàn)評(píng)估本文所提OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型,并利用優(yōu)化算法求解不同參數(shù)配置下的TCAM 最優(yōu)容量.
本文的主要貢獻(xiàn)有4 個(gè)方面:
1)針對(duì)SD-DCN 網(wǎng)絡(luò)典型部署場(chǎng)景,在分析其分組到達(dá)和處理過(guò)程的基礎(chǔ)上,為OpenFlow 交換機(jī)構(gòu)建了多優(yōu)先級(jí)M/G/1 排隊(duì)模型,進(jìn)而建立了一種更準(zhǔn)確的OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型;
2)基于SD-DCN 網(wǎng)絡(luò)中的流量分布特性,為OpenFlow 交換機(jī)建立了TCAM 命中率模型,以求解OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延與TCAM 容量的關(guān)系式;
3)以分組轉(zhuǎn)發(fā)時(shí)延和能耗為優(yōu)化目標(biāo),建立OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型;
4)證明了優(yōu)化目標(biāo)函數(shù)的凸性質(zhì),進(jìn)而設(shè)計(jì)了優(yōu)化算法求解TCAM 最優(yōu)容量,為SD-DCN 實(shí)際部署提供有效指導(dǎo).
針對(duì)OpenFlow 交換機(jī)的TCAM 能耗問(wèn)題,部分研究人員設(shè)計(jì)了TCAM 流表節(jié)能查找方案.Congdon等人[10]根據(jù)網(wǎng)絡(luò)流量局部性,為交換機(jī)的每個(gè)端口設(shè)置CAM 緩存,存儲(chǔ)包簽名與流關(guān)鍵字之間的映射關(guān)系,以預(yù)測(cè)包分類(lèi)結(jié)果,使大部分分組繞過(guò)TCAM查找過(guò)程.然而,CAM 存儲(chǔ)器同樣采用并行查找方式,查找能耗仍高.針對(duì)OpenFlow 多流表的流水線(xiàn)查找模式,Wang 等人[11]利用馬爾可夫模型選取每個(gè)流表中的活躍表項(xiàng),并集中存放到流水線(xiàn)前的Pop 表中,使大部分分組查找命中Pop 表,以避免復(fù)雜的多流表查找過(guò)程.Kao 等人[9]提出了基于布魯姆過(guò)濾器的流表查找方案TSA-BF,通過(guò)優(yōu)化設(shè)計(jì)布魯姆過(guò)濾器以預(yù)測(cè)流表查找失敗情形,使新流分組繞過(guò)TCAM失敗查找操作.但該方案只能過(guò)濾每條流的首個(gè)分組,節(jié)能效果極為有限.
同時(shí),許多研究工作利用排隊(duì)論建立OpenFlow分組轉(zhuǎn)發(fā)時(shí)延模型.針對(duì)OpenFlow 交換機(jī)的分組處理過(guò)程和SDN 控制器的Packet-in 消息處理過(guò)程,Xiong等人[14]將其分別建模為MX/M/1 和M/G/1 排隊(duì)模型,Abbou 等人[15]則分別建模成M/H2/1 排隊(duì)模型和M/M/1排隊(duì)模型,Chilwan 和Jiang[16]分別建模成M/M/1/∞和M/M/1/K 排隊(duì)模型,進(jìn)而推導(dǎo)OpenFlow 平均分組轉(zhuǎn)發(fā)時(shí)延.針對(duì)多控制器部署場(chǎng)景,Zhao 等人[17]為SDN控制器集群和OpenFlow 交換機(jī)分別建立M/M/n 和M/G/1 排隊(duì)模型,分析平均分組轉(zhuǎn)發(fā)時(shí)延,并結(jié)合SDN控制器集群的部署成本,求解最優(yōu)控制器數(shù)量.然而,文獻(xiàn)[14-17]所述模型未考慮不同類(lèi)型網(wǎng)絡(luò)分組的優(yōu)先級(jí)差異.對(duì)此,Rahouti 等人[18]將SDN 網(wǎng)絡(luò)建模成帶反饋機(jī)制的雙隊(duì)列排隊(duì)系統(tǒng),將分組劃分成多個(gè)優(yōu)先級(jí)隊(duì)列,以提供差異化的QoS 服務(wù).Li 等人[19]為OpenFlow 虛擬交換機(jī)的分組轉(zhuǎn)發(fā)過(guò)程建立排隊(duì)系統(tǒng),以分析丟包率、流表查找失敗概率、分組轉(zhuǎn)發(fā)時(shí)延等關(guān)鍵性能指標(biāo),進(jìn)而利用多線(xiàn)程處理、優(yōu)先制隊(duì)列設(shè)置、分組調(diào)度策略和內(nèi)部緩存區(qū)設(shè)置等多種方法優(yōu)化分組轉(zhuǎn)發(fā)性能.然而,文獻(xiàn)[18-19]所述模型均未考慮TCAM 容量對(duì)OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延的影響.
進(jìn)一步,已有部分研究工作關(guān)注OpenFlow 交換機(jī)的TCAM 流表優(yōu)化模型.Metter 等人[20-21]建立基于M/M/∞排隊(duì)系統(tǒng)的流表解析模型,分析不同網(wǎng)絡(luò)流量特性下流超時(shí)時(shí)長(zhǎng)對(duì)Packet-in 發(fā)送消息速率和流表占用率的影響.進(jìn)一步,AlGhadhban 等人[12]為流安裝過(guò)程建立基于類(lèi)生滅過(guò)程的解析模型,分析流表匹配概率的影響因素,進(jìn)而推導(dǎo)不同流超時(shí)時(shí)長(zhǎng)下的流表容量.Zhang 等人[13]采用M/G/c/c 排隊(duì)系統(tǒng)分析流超時(shí)時(shí)長(zhǎng)對(duì)流規(guī)則的截?cái)鄷r(shí)間、冗余時(shí)間和安裝失敗率的影響,進(jìn)而提出自適應(yīng)流超時(shí)算法,以提高TCAM 流表資源利用率.然而,文獻(xiàn)[12-13,20-21]所述模型未考慮TCAM 容量?jī)?yōu)化設(shè)置問(wèn)題.對(duì)此,Shen等人[22]將流表項(xiàng)生命周期劃分為Packet-in 消息發(fā)送、控制器處理和流表項(xiàng)超時(shí)3 個(gè)階段,并分別建立M/M/1,M/M/1 和M/G/c/c 排隊(duì)模型,進(jìn)而提出流表空間估計(jì)模型,求解流安裝失敗概率約束下的TCAM最小容量.然而,該工作僅關(guān)注TCAM 容量對(duì)流安裝成功率的影響,卻沒(méi)有考慮流表命中率和分組轉(zhuǎn)發(fā)時(shí)延等關(guān)鍵性能指標(biāo).本文則考慮TCAM 容量對(duì)分組轉(zhuǎn)發(fā)時(shí)延和能耗的影響,建立OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型,求解TCAM 最優(yōu)容量,為SDDCN 實(shí)際部署提供參考依據(jù).
本節(jié)在描述SD-DCN 網(wǎng)絡(luò)典型部署場(chǎng)景的基礎(chǔ)上,為OpenFlow 交換機(jī)的分組處理過(guò)程構(gòu)建多優(yōu)先級(jí)M/G/1 排隊(duì)模型,進(jìn)而建立OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型.
隨著在線(xiàn)購(gòu)物、網(wǎng)絡(luò)電視、視頻分享、搜索引擎等數(shù)據(jù)密集型應(yīng)用的日益盛行,數(shù)據(jù)中心作為承載海量數(shù)據(jù)處理的重要基礎(chǔ)設(shè)施,其規(guī)模不斷擴(kuò)大,網(wǎng)絡(luò)通信量正快速增長(zhǎng)[23].傳統(tǒng)數(shù)據(jù)中心網(wǎng)絡(luò)因擴(kuò)展性差、缺乏靈活的管理,無(wú)法滿(mǎn)足數(shù)據(jù)處理業(yè)務(wù)中日益增長(zhǎng)的網(wǎng)絡(luò)需求.基于OpenFlow 的SDN 技術(shù)將控制邏輯與數(shù)據(jù)轉(zhuǎn)發(fā)相解耦,進(jìn)而對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行邏輯上集中的管理和控制,并為上層應(yīng)用提供統(tǒng)一的編程接口,大大提升了網(wǎng)絡(luò)的靈活性、開(kāi)放性和可管控能力,為構(gòu)建高性能數(shù)據(jù)中心網(wǎng)絡(luò)提供了新的解決思路.SD-DCN 具備動(dòng)態(tài)路由控制、服務(wù)質(zhì)量管理、安全智能連接等技術(shù)優(yōu)勢(shì),降低了數(shù)據(jù)中心網(wǎng)絡(luò)的部署成本,有助于構(gòu)建更加靈活高效的數(shù)據(jù)中心,已成為一種新的發(fā)展趨勢(shì)[24].
圖1 描述了一種典型的SD-DCN 網(wǎng)絡(luò)架構(gòu),分為基礎(chǔ)設(shè)施平面、數(shù)據(jù)平面、控制平面和應(yīng)用平面.基礎(chǔ)設(shè)施平面包含眾多服務(wù)器,提供強(qiáng)大的存儲(chǔ)和計(jì)算能力.數(shù)據(jù)平面大多采用fat-tree 拓?fù)浣Y(jié)構(gòu)組網(wǎng)[25-26],交換機(jī)自下而上分為邊緣交換機(jī)、匯聚交換機(jī)和核心交換機(jī),為眾多服務(wù)器提供高性能的網(wǎng)絡(luò)互聯(lián)和數(shù)據(jù)傳輸服務(wù).在數(shù)據(jù)平面中,每個(gè)交換機(jī)根據(jù)控制平面下發(fā)的流規(guī)則,快速轉(zhuǎn)發(fā)網(wǎng)絡(luò)分組.控制平面根據(jù)上層應(yīng)用需求,基于全局網(wǎng)絡(luò)視圖制定流規(guī)則,并通過(guò)以O(shè)penFlow 為代表的南向接口協(xié)議下發(fā)到各個(gè)交換機(jī)中,指導(dǎo)分組轉(zhuǎn)發(fā)行為.應(yīng)用平面基于控制平面提供的北向接口,實(shí)現(xiàn)服務(wù)編排、安全控制、QoS管理、資源調(diào)度等功能.
Fig.1 Network architecture of SD-DCN圖1 SD-DCN 網(wǎng)絡(luò)架構(gòu)
在圖1 所示的SD-DCN 網(wǎng)絡(luò)場(chǎng)景中,OpenFlow交換機(jī)根據(jù)SDN 控制器制定的流規(guī)則轉(zhuǎn)發(fā)分組.對(duì)于每個(gè)到達(dá)的分組,交換機(jī)從分組首部提取匹配字段,進(jìn)而查找流表.若查找成功,則依據(jù)流表項(xiàng)中給定的動(dòng)作集轉(zhuǎn)發(fā)分組.否則,交換機(jī)判定該分組屬于新流,將其首部信息或整個(gè)分組封裝成流安裝請(qǐng)求發(fā)送到控制器.控制器根據(jù)全局網(wǎng)絡(luò)視圖生成流規(guī)則,并下發(fā)到流傳輸路徑上的各個(gè)交換機(jī)中.交換機(jī)將流規(guī)則安裝至流表,并據(jù)此轉(zhuǎn)發(fā)該流后續(xù)到達(dá)的分組.
在SD-DCN 數(shù)據(jù)平面中,來(lái)自服務(wù)器的大量分組匯聚到OpenFlow 交換機(jī),形成隊(duì)列等待處理.OpenFlow交換機(jī)的分組排隊(duì)和處理過(guò)程如圖2 所示.對(duì)于到達(dá)的每個(gè)分組,交換機(jī)首先將其緩存到入端口隊(duì)列,然后逐個(gè)解析分組首部信息,提取關(guān)鍵字段,以計(jì)算流標(biāo)識(shí)符.再根據(jù)流標(biāo)識(shí)符查找OpenFlow 流表,以定位對(duì)應(yīng)的流表項(xiàng).若查找成功,交換機(jī)在ACL 應(yīng)用、計(jì)數(shù)器更新等一系列相互獨(dú)立的操作后,將分組發(fā)送到出端口等待轉(zhuǎn)發(fā);若查找失敗,交換機(jī)發(fā)送Packetin 消息給控制器,待收到相應(yīng)的Flow-mod 消息后,將其中的流規(guī)則安裝到TCAM 流表,并據(jù)此轉(zhuǎn)發(fā)該流后續(xù)到達(dá)的分組.控制器下發(fā)的Flow-mod 消息同樣以分組的形式到達(dá)交換機(jī),但優(yōu)先級(jí)高于數(shù)據(jù)分組,以保證分組轉(zhuǎn)發(fā)行為的一致性和高效性.
Fig.2 The queueing and processing of packet in the OpenFlow switch圖2 OpenFlow 交換機(jī)的分組排隊(duì)和處理過(guò)程
網(wǎng)絡(luò)測(cè)量結(jié)果表明:在數(shù)據(jù)中心等大規(guī)模網(wǎng)絡(luò)場(chǎng)景下,流量匯聚程度高,并發(fā)流數(shù)量龐大,趨于相互獨(dú)立[27-28].因此,OpenFlow 交換機(jī)的分組到達(dá)過(guò)程和流到達(dá)過(guò)程均可視為泊松過(guò)程[17,22].在Open-Flow 分組轉(zhuǎn)發(fā)過(guò)程中,所有新流的首個(gè)分組在Open-Flow 交換機(jī)中的處理步驟相同,且處理過(guò)程相互獨(dú)立.根據(jù)Burke 定理[29],交換機(jī)發(fā)送的Packet-in 消息流仍為泊松流.假設(shè)每臺(tái)交換機(jī)發(fā)送的Packet-in 消息流相互獨(dú)立,根據(jù)泊松流的可加性,匯聚到控制器的Packet-in 消息流可疊加為泊松流.控制器為每個(gè)Packet-in 消息獨(dú)立生成流規(guī)則后,以Flow-mod 消息的形式下發(fā)至流路徑上的各個(gè)交換機(jī).因此,Open-Flow 交換機(jī)的Flow-mod 消息到達(dá)過(guò)程同樣為泊松過(guò)程.假定控制器收到交換機(jī)Sk發(fā)送的Packet-in 消息后,生成流規(guī)則并下發(fā)Flow-mod 消息給交換機(jī)Si的概率為δik,則有δii=1.若交換機(jī)Sk的Packet-in 消息發(fā)送速率為 λ(in),控制器共管理K臺(tái)交換機(jī),則交換機(jī)Si的Flow-mod 消息到達(dá)速率如式(1)所示:
OpenFlow 交換機(jī)的分組處理過(guò)程可分解為首部解析、流表查找、計(jì)數(shù)器更新等相互獨(dú)立的步驟,不妨假設(shè)其共有M步.假設(shè)交換機(jī)Si中第j(1≤j≤M)步的處理時(shí)間Tij服從速率為μij的負(fù)指數(shù)分布,則其均值E(Tij)=1/μij,方差D(Tij)=1/.由于每個(gè)步驟相互獨(dú)立,因此交換機(jī)Si的分組處理時(shí)間Ti服從一般分布,其均值E(Ti)如式(2)所示:
因此,交換機(jī)Si的平均分組處理速率和分組處理時(shí)間方差分別如式(3)(4)所示:
基于以上排隊(duì)分析,本文將OpenFlow 交換機(jī)的分組處理過(guò)程建模為多優(yōu)先級(jí)M/G/1 排隊(duì)模型:1)交換機(jī)Si的Flow-mod 消息和分組到達(dá)過(guò)程為泊松過(guò)程,到達(dá)速率分別為;2)OpenFlow 交換機(jī)的入端口有Flow-mod 消息高優(yōu)先級(jí)隊(duì)列和分組低優(yōu)先級(jí)隊(duì)列,按非搶占式多優(yōu)先級(jí)調(diào)度策略依次處理;3)交換機(jī)Si的分組處理時(shí)間服從一般分布,分組處理速率和分組處理時(shí)間方差,分別如式(3)(4)所示.根據(jù)排隊(duì)論,可計(jì)算出Flow-mod 消息和分組在交換機(jī)中的平均逗留時(shí)間為,分別如式(5)(6)所示:
Fig.3 OpenFlow-based packet forwarding queueing system圖3 OpenFlow 分組轉(zhuǎn)發(fā)排隊(duì)系統(tǒng)
在上述OpenFlow 分組轉(zhuǎn)發(fā)排隊(duì)系統(tǒng)中,到達(dá)控制器的Packet-in 消息流相互獨(dú)立,其到達(dá)過(guò)程為泊松過(guò)程,且控制器對(duì)每個(gè)Packet-in 消息的處理過(guò)程相互獨(dú)立,處理時(shí)間可視為服從負(fù)指數(shù)分布[30-31].因此,可將控制器的Packet-in 消息處理過(guò)程建模為M/M/1 排隊(duì)模型,進(jìn)而可知Packet-in 消息在控制器中的平均逗留時(shí)間W(c)如式(8)所示:
根據(jù)上述OpenFlow 交換機(jī)的分組處理排隊(duì)模型和控制器的Packet-in 消息處理排隊(duì)模型,可推導(dǎo)出交換機(jī)Si的平均分組轉(zhuǎn)發(fā)時(shí)延.根據(jù)OpenFlow 分組轉(zhuǎn)發(fā)過(guò)程可知,交換機(jī)Si中的分組轉(zhuǎn)發(fā)過(guò)程可分為2 種情況:直接轉(zhuǎn)發(fā)和請(qǐng)求控制器安裝流規(guī)則的間接轉(zhuǎn)發(fā).分組直接轉(zhuǎn)發(fā)時(shí)延即為分組在交換機(jī)中的逗留時(shí)間.分組間接轉(zhuǎn)發(fā)時(shí)延包含分組在交換機(jī)中的逗留時(shí)間、Packet-in 消息在控制器中的逗留時(shí)間W(c)、Flow-mod 消息在 交換機(jī) 中的逗 留時(shí)間,以及Packet-in 消息和Flow-mod 消息在交換機(jī)到控制器之間的總傳輸時(shí)延.因此,交換機(jī)Si的平均分組轉(zhuǎn)發(fā)時(shí)延可表達(dá)如式(9)所示:
將式(5)(6)(8)代入式(9)可得,交換機(jī)Si的平均分組轉(zhuǎn)發(fā)時(shí)延Di如式(10)所示:
本節(jié)根據(jù)SD-DCN 中的網(wǎng)絡(luò)流分布特性建立TCAM 命中率模型,進(jìn)而結(jié) 合 2.3 節(jié)所述 的OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型,建立OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型,以求解TCAM 最優(yōu)容量.
在分組交換網(wǎng)絡(luò)中,網(wǎng)絡(luò)流量存在明顯的局部性特點(diǎn),大部分分組集中分布在少數(shù)流中[32].以數(shù)據(jù)中心網(wǎng)絡(luò)為例,眾多測(cè)量研究結(jié)果表明:20%的top流占據(jù)分組總數(shù)的80%以上[33].根據(jù)網(wǎng)絡(luò)流量局部性,眾多研究利用Zipf 分布刻畫(huà)網(wǎng)絡(luò)流中的分組數(shù)量分布特性[34-37].假設(shè)網(wǎng)絡(luò)中有N條流,則可按照流大小即流的分組數(shù)量依次遞減排序?yàn)椋╢1,f2,…,fN).根據(jù)Zipf 分布可知,流fr的分組數(shù)量Q(r)與其大小排名r(r=1,2,…,N)存在式(11)所示的冪律關(guān)系.
其中C和α均為大于0 的常數(shù),α表示分組在網(wǎng)絡(luò)流中分布的傾斜程度.假設(shè)OpenFlow 交換機(jī)的TCAM容量為n條流表項(xiàng),且存儲(chǔ)所有網(wǎng)絡(luò)流中排名靠前的n條流,則TCAM 命中率h(n)如式(12)所示:
Fig.4 Estimated relationship between TCAM hit rate and TCAM capacity圖4 TCAM 命中率與TCAM 容量的估計(jì)關(guān)系
從圖4 中可看出:α越大,相同容量下的TCAM命中率越高,即相同數(shù)量top 流所占據(jù)的分組比例越高,網(wǎng)絡(luò)流量局部性越明顯.當(dāng)TCAM 容量為4 000條流表項(xiàng),即可存儲(chǔ)前20%的流時(shí),若α=0.95,則TCAM 命中率可達(dá)81.05%,與數(shù)據(jù)中心網(wǎng)絡(luò)中的流量測(cè)量結(jié)果基本一致.
在OpenFlow 分組轉(zhuǎn)發(fā)過(guò)程中,每個(gè)到達(dá)交換機(jī)的分組都需要查找TCAM 流表,進(jìn)而實(shí)現(xiàn)分組轉(zhuǎn)發(fā)處理.根據(jù)2.3 節(jié)所述的OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型和3.1 節(jié)所述的TCAM 命中率模型可知:TCAM 容量越大,存儲(chǔ)的流規(guī)則越多,TCAM 命中率越高,即TCAM 流表查找成功的分組占比越大,平均分組轉(zhuǎn)發(fā)時(shí)延越小.因此,平均分組轉(zhuǎn)發(fā)時(shí)延與TCAM 容量呈負(fù)相關(guān)關(guān)系.由于TCAM 采用并行匹配方式查找整個(gè)流表,查找能耗基本上與其容量成正比,假定分組轉(zhuǎn)發(fā)過(guò)程中的其他能耗固定,則分組轉(zhuǎn)發(fā)能耗可視為與TCAM 容量呈正線(xiàn)性相關(guān)關(guān)系.因此,可將TCAM 容量作為決策變量,以分組轉(zhuǎn)發(fā)時(shí)延和能耗為優(yōu)化目標(biāo),建立能效聯(lián)合優(yōu)化模型求解TCAM 最優(yōu)容量.
對(duì)于TCAM 容量為n的OpenFlow 交換機(jī),根據(jù)式(12)所示的TCAM 命中率,定義TCAM 流表命中失敗概率q(n)=1-h(n).進(jìn)而結(jié)合式(10),可求出交換機(jī)的平均分組轉(zhuǎn)發(fā)時(shí)延D(n):
同時(shí),根據(jù)式(12)給出的TCAM 命中率,可建立OpenFlow 交換機(jī)的分組轉(zhuǎn)發(fā)能耗模型.假定每條TCAM 流表項(xiàng)的平均查找能耗為e1,由于TCAM 容量為n條流表項(xiàng),且采用并行查找方式,因此每個(gè)分組的TCAM 查找能耗為ne1.若分組轉(zhuǎn)發(fā)過(guò)程中的其他處理能耗為e0,則交換機(jī)的平均分組轉(zhuǎn)發(fā)能耗E(n)如式(15)所示:
以式(13)和式(15)分別給出的平均分組轉(zhuǎn)發(fā)時(shí)延和能耗為優(yōu)化目標(biāo),可建立式(16)所示的Open-Flow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型,求解TCAM 最優(yōu)容量.
其中約束條件為
式(16)優(yōu)化模型包含3 個(gè)約束條件:1)平均分組轉(zhuǎn)發(fā)時(shí)延D(n)不能超過(guò)QoS 規(guī)定的最大時(shí)延Dmax;2)平均分組轉(zhuǎn)發(fā)能耗E(n)不能超過(guò)上限值Emax;3)TCAM 容量n為正整數(shù).
OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型是一個(gè)不等式約束下的多目標(biāo)優(yōu)化模型.在該模型中,以TCAM 容量n為決策變量,平均分組轉(zhuǎn)發(fā)時(shí)延D(n)可通過(guò)定理1 證明具有單調(diào)遞減性,平均分組轉(zhuǎn)發(fā)能耗E(n)顯然單調(diào)遞增.而約束條件限定了D(n)和E(n)的最大值,即決定了TCAM 容量的最小值nmin和最大值nmax,進(jìn)而可求得D(n)和E(n)的最小值分別為Dmin=D(nmax)和Emin=E(nmin).
定理1.對(duì)于式(13)中的平均分組轉(zhuǎn)發(fā)時(shí)延D(n),若其參 數(shù)均為 正,且ρ(m)+ρ(p)=ρ(s)<1,ρ(c)=λ(c)/μ(c)<1,則D(n)具有單調(diào)遞減性,即D′(n)<0.
證明.對(duì)于式(13),不妨假設(shè)n為連續(xù)自變量,利用復(fù)合函數(shù)求導(dǎo)法,可得D(n)的一階導(dǎo)數(shù):
進(jìn)而可知1-a1q(n)>0.由于ρ(m)+ρ(p)=ρ(s)<1,則有1-a1q(n)-ρ(p)=1-ρ(s)>0.帶入式(20)(21)中可得
加之各項(xiàng)參數(shù)為正,因此式(19)等號(hào)右邊的每項(xiàng)均為正,進(jìn)而可得D′(q(n))>0.對(duì)q(n)求導(dǎo)有
將上述結(jié)論帶入式(18)可知:D′(n)<0.
證畢.
此時(shí),可將優(yōu)化目標(biāo)D(n)和E(n)分別進(jìn)行歸一化處理,進(jìn)而利用線(xiàn)性加權(quán)法將式(16)中的多目標(biāo)優(yōu)化函數(shù)轉(zhuǎn)換成單目標(biāo)優(yōu)化函數(shù)f(n):
其中ω為OpenFlow 平均分組轉(zhuǎn)發(fā)時(shí)延所占的權(quán)重.該函數(shù)具有凸性質(zhì),如定理2 所證.
定理2.對(duì)于式(27)所示的目標(biāo)函數(shù),若其參數(shù)均為正,且ρ(s)<1,ρ(c)<1,則該函數(shù)具有凸性質(zhì),即f′′(n)>0.
證明.對(duì)f(n)二階求導(dǎo)有
其中g(shù)(q(n))和g′(q(n))分別如式(20)和式(21)所示.根據(jù)定理1 的證明過(guò)程可知
根據(jù)定理1 的證明 過(guò)程可 知1-a1q(n)>0,μ(c)-a0q(n)>0,g(q(n))>0,g'(q(n))<0.加之各項(xiàng)參數(shù)均為正,則式(29)等號(hào)右邊的每項(xiàng)均為正,進(jìn)而可知D′′(q(n))>0.同時(shí),根據(jù)定理1 的證明過(guò)程可知D′(q(n))>0.代入式(28)可得f′′(n)>0.
證畢.
由于目標(biāo)函數(shù)f(n)具有凸性質(zhì),因此可利用二分法在整數(shù)范圍[nmin,nmax]內(nèi)搜索TCAM 最優(yōu)容量nopt,使f(n)取最小值.算法1 給出了OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型的求解算法.
算法1.OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化算法.
輸入:1)網(wǎng)絡(luò)拓?fù)湫畔(V,E);2)OpenFlow 交換機(jī)的分組到達(dá)速率λ(p),每個(gè)步驟j的處理速率,控制器的Packet-in 處理速率μ(c);3)平均每條TCAM 流表項(xiàng)的查找能耗e1,分組轉(zhuǎn)發(fā)過(guò)程中其他處理步驟的能耗之和e0,分組轉(zhuǎn)發(fā)能耗上限Emax;4)QoS 允許的分組轉(zhuǎn)發(fā)時(shí)延上限D(zhuǎn)max.
輸出:交換機(jī)的TCAM 最優(yōu)容量nopt.
算法1 分為3 個(gè)步驟:1)計(jì)算中間參數(shù),包括交換機(jī)處理速率μ(s)(行①),交換機(jī)Sk發(fā)送的Packet-in消息觸發(fā)控制器下發(fā)Flow-mod 消息到交換機(jī)Si的概率δik(行②);2)確定TCAM 容量n的整數(shù)范圍[nmin,nmax](行⑥⑦);3)二分查找TCAM 容量的最優(yōu)值nopt(行⑧~?).
本節(jié)首先通過(guò)模擬實(shí)驗(yàn)評(píng)估本文所提OpenFlow分組轉(zhuǎn)發(fā)時(shí)延模型的準(zhǔn)確性,然后采用數(shù)值分析方法分析不同因素對(duì)分組轉(zhuǎn)發(fā)時(shí)延的影響,進(jìn)而求解不同參數(shù)下的TCAM 最優(yōu)容量.
實(shí)驗(yàn)采用Mininet 平臺(tái)模擬典型的Fat-tree 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[22],SDN 控制器共管理10 臺(tái)OpenFlow 交換機(jī),包含2 臺(tái)核心交換機(jī)、4 臺(tái)匯聚交換機(jī)、4 臺(tái)邊緣交換機(jī).其中,SDN 控制器采用OpenDaylight,Open-Flow 交換機(jī)采用Open vSwitch v2.13.在模擬實(shí)驗(yàn)中,利用OFsuite 性能測(cè)試工具測(cè)得控制器的Packet-in 消息處理速率為21 kmsg/s,每臺(tái)交換機(jī)的分組處理速率為20 kpkt/s.同時(shí),將交換機(jī)的流表容量設(shè)置為8 000條流表項(xiàng),流超時(shí)間隔為10 s.實(shí)驗(yàn)利用Iperf 工具為每臺(tái)交換機(jī)模擬產(chǎn)生不同速率的網(wǎng)絡(luò)流量,其中新流分組占比約為10%,進(jìn)而測(cè)得平均分組轉(zhuǎn)發(fā)時(shí)延如圖5 所示.同時(shí),將上述參數(shù)代入本文所提的Open-Flow 分組轉(zhuǎn)發(fā)時(shí)延模型和現(xiàn)有模型,其中控制器均采用M/M/1 模型,OpenFlow 交換機(jī)分別采用多優(yōu)先級(jí)M/G/1 模型、M/G/1 模型[17]、Mk/M/1 模型[14],進(jìn)而計(jì)算出平均分組轉(zhuǎn)發(fā)時(shí)延的估計(jì)值如圖5 所示.
Fig.5 Comparison of delay models with different packet arrival rates圖5 不同分組到達(dá)速率下的時(shí)延模型對(duì)比
從圖5 中可以看出:與現(xiàn)有模型相比,本文所提基于多優(yōu)先級(jí)M/G/1 的OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型具有更接近于測(cè)量值的估計(jì)時(shí)延.OpenFlow 交換機(jī)的分組處理過(guò)程包含多個(gè)相互獨(dú)立的步驟,而Mk/M/1 模型將分組處理時(shí)間簡(jiǎn)單地看作服從泊松分布,故其估計(jì)時(shí)延與測(cè)量值相差較大.M/G/1 模型可較為準(zhǔn)確地估計(jì)OpenFlow 交換機(jī)的分組處理時(shí)間,但在分組到達(dá)速率較大時(shí),其估計(jì)時(shí)延明顯較小.這是因?yàn)樵撃P椭豢紤]到達(dá)OpenFlow 交換機(jī)的數(shù)據(jù)分組,而忽略了控制器下發(fā)的消息分組.多優(yōu)先級(jí)M/G/1 模型則著重考慮了Flow-mod 消息的分組處理時(shí)延,因而其分組轉(zhuǎn)發(fā)時(shí)延估計(jì)值更接近于測(cè)量值.
實(shí)驗(yàn)采用4.1 節(jié)所述參數(shù),將OpenFlow 交換機(jī)的分組到達(dá)速率設(shè)為10 kpkt/s,并不斷調(diào)整OpenFlow 交換機(jī)的流表容量值,可測(cè)得平均分組轉(zhuǎn)發(fā)時(shí)延如圖6所示.同時(shí),將上述參數(shù)代入本文所提的OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型和現(xiàn)有模型,計(jì)算出平均分組轉(zhuǎn)發(fā)時(shí)延的估計(jì)值如圖6 所示.
Fig.6 Comparison of delay models with different flow table capacities圖6 不同流表容量下的時(shí)延模型對(duì)比
從圖6 中可以看出:本文所提OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型的估計(jì)時(shí)延比現(xiàn)有模型更接近于測(cè)量時(shí)延.現(xiàn)有模型由于忽略了流表容量對(duì)分組轉(zhuǎn)發(fā)時(shí)延的影響,其分組轉(zhuǎn)發(fā)時(shí)延始終保持不變,估計(jì)不準(zhǔn)確.與此形成對(duì)照的是,隨著流表容量的不斷增大,本文所提模型的分組轉(zhuǎn)發(fā)時(shí)延估計(jì)值逐步降低,并趨于穩(wěn)定,與測(cè)量值接近.這是因?yàn)榻粨Q機(jī)的流表命中率隨流表容量的增大而升高,進(jìn)而導(dǎo)致發(fā)送給控制器的Packet-in 消息逐漸減少,其估計(jì)時(shí)延逐步接近于M/G/1 模型.特別地,當(dāng)交換機(jī)的流表容量小于3 000條流表項(xiàng)時(shí),模擬實(shí)驗(yàn)中的控制器負(fù)載過(guò)大,將會(huì)丟棄部分Packet-in 消息,導(dǎo)致分組轉(zhuǎn)發(fā)時(shí)延測(cè)量值急劇升高.此時(shí),對(duì)于OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型,由于流表命中率過(guò)低,控制器的Packet-in 消息到達(dá)速率高于其處理速率,導(dǎo)致模型失效.
進(jìn)一步,實(shí)驗(yàn)采用數(shù)值分析方法研究平均分組轉(zhuǎn)發(fā)時(shí)延的主要影響因素.實(shí)驗(yàn)參數(shù)設(shè)定為:假定分組在網(wǎng)絡(luò)流中的分布傾斜程度α=0.95,每臺(tái)OpenFlow 交換機(jī)的分組到達(dá)速率λ(p)=10 kpkt/s,分組處理過(guò)程分為10 個(gè)步驟,且每個(gè)步驟的處理速率相同,分組處理速率μ(s)=20 kpkt/s.同時(shí),SDN 控制器的Packet-in 消息處理速率μ(c)=21 kmsg/s,每臺(tái)控制器管理10 臺(tái)OpenFlow 交換機(jī).
實(shí)驗(yàn)設(shè)置不同的TCAM 容量,可得到平均分組轉(zhuǎn)發(fā)時(shí)延與分組到達(dá)速率之間的關(guān)系如圖7 所示.從圖7 可看出:當(dāng)TCAM 容量一定時(shí),分組到達(dá)速率越高,交換機(jī)和控制器的負(fù)載越大,平均分組轉(zhuǎn)發(fā)時(shí)延越高.同時(shí),當(dāng)分組到達(dá)速率一定時(shí),交換機(jī)的TCAM容量越大,流表命中率越高,Packet-in 消息的發(fā)送速率越低,其在控制器中的逗留時(shí)間越短,平均分組轉(zhuǎn)發(fā)時(shí)延越低.此外,TCAM 容量越大,允許的分組到達(dá)速率越高.具體而言,當(dāng)交換機(jī)的TCAM 容量n分別為4 000,6 000,8 000,10 000 條流表項(xiàng)時(shí),平均分組轉(zhuǎn)發(fā)時(shí)延在分組到達(dá)速率λ(p)分別超過(guò)10 kpkt/s,11.6 kpkt/s,12.8 kpkt/s,13.8 kpkt/s 時(shí)急劇上升,且允許的最大分組到達(dá)速率分別為10.7 kpkt/s,12.6 kpkt/s,14.3 kpkt/s,15.3 kpkt/s.
Fig.7 Relationship between average packet forwarding delay and packet arrival rate圖7 平均分組轉(zhuǎn)發(fā)時(shí)延與分組到達(dá)速率的關(guān)系
實(shí)驗(yàn)設(shè)置不同的TCAM 容量,可得到平均分組轉(zhuǎn)發(fā)時(shí)延與分組處理速率之間的關(guān)系,如圖8 所示.從圖8 可看出:當(dāng)TCAM 容量一定時(shí),分組處理速率越高,分組在交換機(jī)中的逗留時(shí)間越短,平均分組轉(zhuǎn)發(fā)時(shí)延越低;同時(shí),當(dāng)分組處理速率一定時(shí),交換機(jī)的TCAM 容量越大,流表命中率越高,發(fā)送給控制器的Packet-in 消息越少,相應(yīng)收到的Flow-mod 消息也越少,平均分組轉(zhuǎn)發(fā)時(shí)延越低.此外,TCAM 容量越大,交換機(jī)的分組處理速率需求越低.具體而言,當(dāng)交換機(jī)的TCAM 容量n分別為4 000,6 000,8 000,10 000條流表項(xiàng)時(shí),平均分組轉(zhuǎn)發(fā)時(shí)延在分組處理速率μ(s)分別小于16 kpkt/s,14.5 kpkt/s,13.7 kpkt/s,13.2 kpkt/s時(shí)急劇上升,且交換機(jī)允許的最小分組處理速率分別為14.3 kpkt/s,13.4 kpkt/s,12.7 kpkt/s,12.1 kpkt/s.
Fig.8 Relationship between average packet forwarding delay and packet processing rate圖8 平均分組轉(zhuǎn)發(fā)時(shí)延與分組處理速率的關(guān)系
實(shí)驗(yàn)設(shè)置不同的TCAM 容量,可得到平均分組轉(zhuǎn)發(fā)時(shí)延與Packet-in 消息處理速率之間的關(guān)系如圖9 所示.從圖9 中可看出:當(dāng)TCAM 容量一定時(shí),Packet-in 消息處理速率越高,其在控制器中的逗留時(shí)間越短,平均分組轉(zhuǎn)發(fā)時(shí)延越低.同時(shí),當(dāng)Packet-in消息處理速率一定時(shí),交換機(jī)的TCAM 容量越大,流表容量越高,Packet-in 消息的發(fā)送速率越小,其在控制器中的逗留時(shí)間越短,平均分組轉(zhuǎn)發(fā)時(shí)延越低.此外,交換機(jī)的TCAM 容量越大,控制器允許的Packet-in消息處理速率越低.具體而言,當(dāng)交換機(jī)的TCAM 容量n分別為4 000,6 000,8 000,10 000 條流表項(xiàng)時(shí),平均分組轉(zhuǎn)發(fā)時(shí)延在Packet-in 消息處理速率μ(c)分別低于18 kmsg/s,15 kmsg/s,12 kmsg/s,8 kmsg/s 時(shí)急劇上升,且控制器允許的最低Packet-in 消息處理速率分別為18.9 kmsg/s,14.1 kmsg/s,10.6 kmsg/s,7.9 kmsg/s.
Fig.9 Relationship between average packet forwarding delay and Packet-in message processing rate圖9 平均分組轉(zhuǎn)發(fā)時(shí)延與Packet-in 消息處理速率的關(guān)系
對(duì)于OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型,不妨假設(shè)每條TCAM 流表項(xiàng)的平均查找能耗e1為1 個(gè)單位,其他處理步驟的能耗e0為3 000 個(gè)單位,分組轉(zhuǎn)發(fā)能耗上限為Emax為15 000 個(gè)單位,即最大TCAM容量為12 000 條流表項(xiàng).同時(shí),QoS 要求的最大分組轉(zhuǎn)發(fā)時(shí)延Dmax=1.5 ms.基于上述參數(shù)配置,將單目標(biāo)優(yōu)化函數(shù)f(n)中的權(quán)重ω設(shè)置不同值,進(jìn)而實(shí)現(xiàn)OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化算法,求解不同分組到達(dá)速率下的TCAM 最優(yōu)容量如圖10 所示.
Fig.10 Optimal TCAM capacity with different packet arrival rates圖10 不同分組到達(dá)速率下的TCAM 最優(yōu)容量
從圖10 中可看出:當(dāng)每個(gè)交換機(jī)的分組到達(dá)速率增加時(shí),TCAM 最優(yōu)容量將隨之增大,以提高TCAM命中率,保證Packet-in 消息發(fā)送速率不會(huì)過(guò)高,從而防止控制器過(guò)載,Packet-in 消息逗留時(shí)間過(guò)大.具體而言,當(dāng)交換機(jī)的分組到達(dá)速率λ(p)分別為5 kpkt/s,10 kpkt/s,15 kpkt/s,且權(quán)重ω=0.8 時(shí),TCAM 最優(yōu)容量nopt分別為1 400,4 600,10 800 條流表項(xiàng).當(dāng)分組到達(dá)速率超過(guò)16 kpkt/s 時(shí),交換機(jī)需要繼續(xù)增大TCAM容量,以保證分組轉(zhuǎn)發(fā)時(shí)延,但分組轉(zhuǎn)發(fā)能耗將會(huì)超出上限,因而無(wú)解.此外,當(dāng)分組到達(dá)速率一定時(shí),分組轉(zhuǎn)發(fā)時(shí)延的權(quán)重越高,TCAM 最優(yōu)容量越大,以使TCAM 命中率越高,平均分組轉(zhuǎn)發(fā)時(shí)延越小.
采用上述同樣的參數(shù)配置,并將交換機(jī)的分組到達(dá)速率λ(p)設(shè)為10 kpkt/s,進(jìn)而求解不同分組處理速率下的TCAM 最優(yōu)容量,如圖11 所示.從圖11 中可看出:當(dāng)交換機(jī)的分組處理速率升高時(shí),TCAM 最優(yōu)容量將隨之減小,并趨于穩(wěn)定.這是因?yàn)樵诒WC分組轉(zhuǎn)發(fā)時(shí)延的情況下,交換機(jī)的分組處理速率越高,需要的TCAM 容量越小.具體而言,當(dāng)交換機(jī)的分組處理速率μ(s)分別為14 kpkt/s,16 kpkt/s,18 kpkt/s,且權(quán)重ω=0.8 時(shí),TCAM 最優(yōu)容 量nopt分別為8 900,5 800,4 900 條流表項(xiàng).此外,當(dāng)交換機(jī)的分組處理速率低于12 kpkt/s 時(shí),由于逐步接近于分組到達(dá)速率,平均分組轉(zhuǎn)發(fā)時(shí)延將超出QoS 規(guī)定的上限,因而無(wú)解.
Fig.11 Optimal TCAM capacity with different packet processing rates圖11 不同分組處理速率下的TCAM 最優(yōu)容量
Fig.12 Optimal TCAM capacity with different Packet-in message processing rates圖12 不同Packet-in 消息處理速率下的TCAM 最優(yōu)容量
采用上述同樣的參數(shù)配置,并將交換機(jī)的分組處理速率μ(s)設(shè)為20 kpkt/s,進(jìn)而求解不同Packet-in消息處理速率下的TCAM 最優(yōu)容量,如圖12 所示.從圖12 中可看出:當(dāng)控制器的Packet-in 消息處理速率升高時(shí),TCAM 最優(yōu)容量將隨之降低,并趨于穩(wěn)定.這是因?yàn)榭刂破鞯腜acket-in 消息處理速率越高,其允許的Packet-in 消息到達(dá)速率越高,進(jìn)而交換機(jī)所需的TCAM 容量越少.具體而言,當(dāng)Packet-in 消息處理速率μ(c)分別為15 kmsg/s,25 kmsg/s,35 kmsg/s,且權(quán)重ω=0.8 時(shí),TCAM 最優(yōu)容量nopt分別為6 600,3 800,2 900 條流表項(xiàng).此外,當(dāng)Packet-in 消息處理速率小于7 kmsg/s 時(shí),交換機(jī)需要繼續(xù)增加TCAM 容量,以提高TCAM 命中率,保證平均分組轉(zhuǎn)發(fā)時(shí)延,但分組轉(zhuǎn)發(fā)能耗將會(huì)超出上限,因而無(wú)解.
本文針對(duì)SD-DCN 網(wǎng)絡(luò)場(chǎng)景,利用多優(yōu)先級(jí)M/G/1 排隊(duì)模型刻畫(huà)OpenFlow 交換機(jī)的分組處理過(guò)程,進(jìn)而構(gòu)建OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延模型.進(jìn)一步,基于網(wǎng)絡(luò)流分布特性建立TCAM 命中率模型,求解OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延與TCAM 容量的關(guān)系式.在此基礎(chǔ)上,結(jié)合TCAM 查找能耗,建立OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化模型,以求解TCAM 最優(yōu)容量.實(shí)驗(yàn)結(jié)果表明:與已有排隊(duì)模型相比,本文所提時(shí)延模型更能準(zhǔn)確估計(jì)SD-DCN 網(wǎng)絡(luò)場(chǎng)景下的OpenFlow分組轉(zhuǎn)發(fā)性能.同時(shí),數(shù)值分析結(jié)果表明:交換機(jī)的TCAM 容量和控制器的Packet-in 消息處理速率對(duì)OpenFlow 分組轉(zhuǎn)發(fā)時(shí)延有著關(guān)鍵性的影響,而交換機(jī)的分組到達(dá)速率和分組處理速率影響較弱.最后,通過(guò)OpenFlow 分組轉(zhuǎn)發(fā)能效聯(lián)合優(yōu)化算法,求解出不同參數(shù)配置下的TCAM 最優(yōu)容量,為SD-DCN 網(wǎng)絡(luò)的實(shí)際部署提供參考依據(jù).
作者貢獻(xiàn)聲明:羅可提出研究思路,并設(shè)計(jì)研究方案,以及修訂論文最終版本;曾鵬完善論文創(chuàng)新點(diǎn),并完成模型的建立和推導(dǎo),以及撰寫(xiě)論文初稿主要部分;熊兵設(shè)計(jì)了實(shí)驗(yàn)思路,以及審查和修改潤(rùn)色論文;趙錦元協(xié)助創(chuàng)新點(diǎn)推導(dǎo)和論文修改;所有作者都參與了實(shí)驗(yàn)分析和手稿撰寫(xiě).