• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于OpenFlow的互聯(lián)網(wǎng)視頻組播轉(zhuǎn)單播SDN研究

      2019-08-15 10:44:24王麗娜侯健敏鄭良立周天皓周浩然
      實(shí)驗(yàn)室研究與探索 2019年7期
      關(guān)鍵詞:發(fā)送者單播流表

      王麗娜,侯健敏,鄭良立,劉 炎,周天皓,周浩然

      (1.南京信息工程大學(xué) a.電子與信息工程學(xué)院;b.自動(dòng)化學(xué)院,南京 210044;2.東方明珠新媒體集團(tuán)有限公司,上海 200233)

      0 引 言

      依托于信息技術(shù)的發(fā)展,高清網(wǎng)絡(luò)電視等OTT網(wǎng)絡(luò)視頻業(yè)務(wù)越來越普及[1]。將視頻流從視頻源(視頻頭端)傳送到客戶端,有兩種傳輸方式可以選擇。一是通過組播傳送,這種傳送方式效率高[2-3],客戶端數(shù)量的增加幾乎不會(huì)增加視頻頭端服務(wù)器的壓力,適合支持超大規(guī)模用戶和實(shí)時(shí)視頻直播的場景。二是通過單播傳送,這種傳送方式可以支持更豐富的視頻業(yè)務(wù),例如視頻回看、視頻點(diǎn)播等。但是隨著客戶端數(shù)量的增長,視頻頭端服務(wù)器的壓力會(huì)直線上升,因此每臺視頻頭端服務(wù)器只能支持有限數(shù)量的客戶端。

      實(shí)際情況中,目前Internet骨干網(wǎng)并不支持組播,而考慮到效率等因素,視頻頭端服務(wù)器多是以組播的方式輸出視頻流。因此將組播轉(zhuǎn)換為單播的需求應(yīng)運(yùn)而生。當(dāng)前廣泛采用通用服務(wù)器將組播轉(zhuǎn)換為單播。這種轉(zhuǎn)換方式成本較高,而且對服務(wù)器性能要求很高,單臺服務(wù)器一般僅能同時(shí)轉(zhuǎn)換幾十路視頻流。此外,服務(wù)器CPU的處理延時(shí)不穩(wěn)定極易造成轉(zhuǎn)換后的視頻丟幀、卡頓、花屏等。

      軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)是一種新型的網(wǎng)絡(luò)架構(gòu),將網(wǎng)絡(luò)設(shè)備控制平面和轉(zhuǎn)發(fā)平面分離[4-8]。控制平面專注于復(fù)雜的控制邏輯,轉(zhuǎn)發(fā)平面根據(jù)從控制平面獲取的信息,通過應(yīng)用專用芯片(Application Specific Integrated Card,ASIC)高速轉(zhuǎn)發(fā)。本文通過CLI命令行的方式,通過Openflow協(xié)議直接把相關(guān)配置下發(fā)到轉(zhuǎn)發(fā)層面的SDN交換機(jī)中[9-11],將組播轉(zhuǎn)換為單播,并驗(yàn)證了方案的可行性。

      1 相關(guān)技術(shù)

      1.1 SDN技術(shù)

      SDN技術(shù)將網(wǎng)絡(luò)控制平面和轉(zhuǎn)發(fā)層面完全分離??刂茖用娓鶕?jù)業(yè)務(wù)邏輯下發(fā)指定的信令,而轉(zhuǎn)發(fā)層面則僅需根據(jù)這些信令進(jìn)行線速轉(zhuǎn)發(fā),提供了網(wǎng)絡(luò)的靈活性和可擴(kuò)展性。控制器可以事先將流表下發(fā)到SDN交換機(jī),通過控制器控制SDN交換機(jī)實(shí)現(xiàn)將組播轉(zhuǎn)換為單播,然后SDN交換機(jī)則使用ASIC直接修改接收到的IP數(shù)據(jù)包的包頭相關(guān)部分,并把數(shù)據(jù)包從指定端口轉(zhuǎn)發(fā)出去,極大地降低了網(wǎng)絡(luò)延時(shí)和抖動(dòng)。由于這種轉(zhuǎn)發(fā)基本不依賴SDN交換機(jī)的CPU,因此可以同時(shí)對多路組播視頻流進(jìn)行轉(zhuǎn)換,具有效率高、靈活性高、可擴(kuò)展性好等優(yōu)勢。

      1.2 Open vSwitch

      Open vSwitch(OVS)是運(yùn)行在虛擬化平臺(例如KVM,Xen)上的虛擬交換機(jī)。在虛擬化平臺上,OVS 可以為動(dòng)態(tài)變化的端點(diǎn)提供2層交換功能,控制虛擬網(wǎng)絡(luò)中的訪問策略、網(wǎng)絡(luò)隔離、流量監(jiān)控等。OVS安裝在主流的Linux操作系統(tǒng)中,用戶可以選擇直接安裝編譯好的軟件包,或者下載源碼進(jìn)行編譯安裝。OVS開發(fā)的目的為了支持OpenFlow協(xié)議,也能給虛擬化平臺上運(yùn)行的虛擬機(jī)實(shí)例提供一套純軟件實(shí)現(xiàn)的路由交換協(xié)議棧[12-13]。

      1.3 OpenFlow協(xié)議

      OpenFlow是當(dāng)前最為流行的控制器和SDN交換機(jī)之間的通信協(xié)議[14]。在SDN交換機(jī)的運(yùn)行過程中,其數(shù)據(jù)轉(zhuǎn)發(fā)的依據(jù)就是流表(Flow Table)。OpenFlow用于管理交換機(jī)流表。ovs-ofctl是OVS提供的命令行工具。在沒有配置OpenFlow控制器的模式下,用戶可以使用ovs-ofctl命令通過OpenFlow協(xié)議去連接OVS,創(chuàng)建、修改或刪除OVS中的流表,并對OVS的運(yùn)行狀況進(jìn)行動(dòng)態(tài)監(jiān)控。

      1.4 流表

      流表是OpenFlow對網(wǎng)絡(luò)設(shè)備數(shù)據(jù)轉(zhuǎn)發(fā)功能的一種抽象。OpenFlow交換機(jī)依賴流表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。OpenFlow流表由許多流表項(xiàng)構(gòu)成,在流表項(xiàng)中整合了網(wǎng)絡(luò)中各個(gè)層次的網(wǎng)絡(luò)配置信息[15]。

      流表項(xiàng)由頭域、計(jì)數(shù)器和操作構(gòu)成,如圖1所示。

      圖1 流表項(xiàng)構(gòu)成

      圖1中,頭域可以匹配2到4層的尋址信息(MAC,IP,Port)等,計(jì)數(shù)器用來計(jì)數(shù)流表項(xiàng)的統(tǒng)計(jì)數(shù)據(jù),方便流量監(jiān)管。操作表明了與該流表項(xiàng)匹配的數(shù)據(jù)包應(yīng)該執(zhí)行的操作,主要包括轉(zhuǎn)發(fā)數(shù)據(jù)包到端口;轉(zhuǎn)發(fā)數(shù)據(jù)包到控制器;丟棄數(shù)據(jù)包;送到正常的處理流程。

      1.5 組播和單播

      組播指在發(fā)送者和多個(gè)接收者之間實(shí)現(xiàn)點(diǎn)對多點(diǎn)的網(wǎng)絡(luò)連接[16]。一臺發(fā)送者給多個(gè)接收者同時(shí)傳輸相同的數(shù)據(jù),發(fā)送者只需發(fā)送一份數(shù)據(jù),在傳輸?shù)倪^程中由網(wǎng)絡(luò)設(shè)備根據(jù)需要將數(shù)據(jù)復(fù)制,分發(fā)給多個(gè)接收者。因此無論有多少接收者都不會(huì)增加發(fā)送者的負(fù)載,傳輸效率大大提高。組播一般使用UDP協(xié)議傳播,多個(gè)接收者接收到數(shù)據(jù)的時(shí)間基本相同,特別適合對實(shí)時(shí)性要求較高的業(yè)務(wù)場景。例如電子教室、視頻直播、網(wǎng)絡(luò)聊天室、遠(yuǎn)程視頻會(huì)議系統(tǒng)等網(wǎng)絡(luò)應(yīng)用。由于Internet骨干網(wǎng)并不支持組播,當(dāng)Internet骨干網(wǎng)絡(luò)中的用戶有特定業(yè)務(wù)需求時(shí),傳送組播一般需要通過專線,成本昂貴。

      單播指在發(fā)送者和接收者之間實(shí)現(xiàn)點(diǎn)對點(diǎn)的網(wǎng)絡(luò)連接。一臺發(fā)送者對應(yīng)一個(gè)接收者傳輸數(shù)據(jù)。單播的優(yōu)點(diǎn)主要有服務(wù)器及時(shí)響應(yīng)客戶機(jī)的請求;服務(wù)器針對每個(gè)客戶不同請求發(fā)送不同數(shù)據(jù),提供了個(gè)性化服務(wù),適用于接收者需要和發(fā)送者互動(dòng)的業(yè)務(wù)場景。例如視頻點(diǎn)播等。由于單播是點(diǎn)對點(diǎn)連接,因此當(dāng)接收者很多時(shí),即使這些接收者接收的數(shù)據(jù)完全相同,發(fā)送者也必須將一份數(shù)據(jù)復(fù)制成多份,一對一發(fā)送給接收者??梢姲l(fā)送者的負(fù)載會(huì)隨著接收者數(shù)量的增加線性增長。

      2 實(shí)驗(yàn)

      2.1 網(wǎng)絡(luò)結(jié)構(gòu)

      實(shí)驗(yàn)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

      圖2 網(wǎng)絡(luò)結(jié)構(gòu)

      實(shí)驗(yàn)中,核心交換機(jī)一端連接著組播網(wǎng)絡(luò),組播網(wǎng)絡(luò)中的組播源(視頻編碼器)持續(xù)地向網(wǎng)絡(luò)中發(fā)送組播視頻流;核心交換機(jī)上還連接著單播網(wǎng)絡(luò),該網(wǎng)絡(luò)中沒有運(yùn)行組播路由協(xié)議,只能轉(zhuǎn)發(fā)單播報(bào)文。客戶端通過接入交換機(jī)連接到單播網(wǎng)絡(luò)中。

      為簡化實(shí)驗(yàn)網(wǎng)絡(luò)結(jié)構(gòu),實(shí)驗(yàn)中的單播網(wǎng)絡(luò)用一臺接入交換機(jī)模擬,客戶端用一臺裝有Wireshark抓包軟件和VLC視頻播放軟件的個(gè)人電腦模擬。將核心交換機(jī)直接接入一個(gè)有組播源的組播網(wǎng)絡(luò),再配置核心交換機(jī)和SDN交換機(jī)直連的端口加入組播組233.27.204.89,使得該接口能收到組播地址為233.27.204.89和端口號為5000的視頻流,并轉(zhuǎn)發(fā)給SDN交換機(jī)20號端口(即eth-0-20)。SDN交換機(jī)上配置流表把接收到的組播轉(zhuǎn)換為單播,將目的單播地址修改為10.61.2.12,并重新從SDN交換機(jī)20號端口轉(zhuǎn)發(fā)回網(wǎng)絡(luò),之后經(jīng)過單播網(wǎng)絡(luò)逐跳路由至IP為10.61.2.12的個(gè)人電腦上,通過個(gè)人電腦上的VLC軟件就可以觀看到實(shí)時(shí)的視頻畫面了。

      2.2 添加流表命令

      流表配置命令如下:

      ovs-ofctl add-flow br0 in_port=20,dl_type=0x0800,nw_proto=17,nw_dst=233.27.204.89,tp_dst=5000,actions=mod_dl_dst:94:d4:69:0e:82:c2,mod_nw_dst:10.61.2.12,mod_tp_dst:3000,output:20 -O openflow13 在SDN交換機(jī)的OVS虛擬網(wǎng)橋br0上增加一條支持OpenFlow1.3協(xié)議的流表。從SDN交換機(jī)20號端口進(jìn)入,以太網(wǎng)類型為0x0800、目的地址為233.27.204.89和目的端口為5000的UDP數(shù)據(jù)包。一旦數(shù)據(jù)包匹配這些參數(shù),SDN交換機(jī)將該數(shù)據(jù)包的目的MAC地址修改為94:d4:69:0e:82:c2,目的IP地址修改為10.61.2.12,目的端口修改為3000,之后該數(shù)據(jù)包從SDN交換機(jī)20號端口輸出到網(wǎng)絡(luò)中。

      2.3 SecureCRT驗(yàn)證流表

      應(yīng)用軟件SecureCRT遠(yuǎn)程登錄到SDN交換機(jī)上,SDN交換機(jī)管理地址是124.108.10.2。對SDN交換機(jī)下發(fā)流表,如圖3所示。紅色框內(nèi)為配置的流表命令,使用OpenFlow1.3協(xié)議。

      圖3 流表配置命令

      流表命令配置完成后,執(zhí)行查看流表命令ovs-ofctl dump-flows br0 -O openflow13。圖3中可以看到n_ packets=635,該值不為0,且不斷增長,表明有持續(xù)的數(shù)據(jù)包匹配這條流表。

      查看SDN交換機(jī)20號端口信息的命令如圖4紅色框區(qū)域所示。圖4中,顯示SDN交換機(jī)eth-0-20端口收到59501141個(gè)包,輸出182129338個(gè)包。圖4中的端口計(jì)數(shù)進(jìn)一步說明SDN交換機(jī)在開始進(jìn)行把組播轉(zhuǎn)換為單播的業(yè)務(wù)。

      圖4 查看交換機(jī)20端口配置

      3 實(shí)驗(yàn)分析

      VLC Media player是一款自由、開源的跨平臺多媒體播放器及框架,它能夠高效地將IP視頻流解碼還原成視頻圖像。本實(shí)驗(yàn)在地址為10.61.2.12的主機(jī)上通過VLC軟件播放單播數(shù)據(jù)流。同時(shí)應(yīng)用Wireshark軟件進(jìn)行抓包分析,進(jìn)一步驗(yàn)證已經(jīng)將IP組播視頻流轉(zhuǎn)換為IP單播視頻流。

      3.1 VLC Media player播放視頻數(shù)據(jù)流

      應(yīng)用VLC Media player解碼IP單播視頻流。運(yùn)行VLC Media player,在媒體選項(xiàng)卡上選擇“打開網(wǎng)絡(luò)串流”。選擇網(wǎng)絡(luò)選項(xiàng)卡,輸入網(wǎng)絡(luò)URL:udp://@10.61.2.12:3000,如圖5所示。

      圖5 VLC Media player軟件界面

      點(diǎn)擊播放按鈕后,主窗口播放轉(zhuǎn)換后的單播視頻流,如圖6所示。

      圖6 VLC Media player播放轉(zhuǎn)換后的單播視頻流

      圖6中,VLC 中接收到的視頻流目的地址是10.61.2.12,而組播網(wǎng)絡(luò)是以組播的方式傳送視頻流,目的地址是233.27.204.89。單播視頻流的播放說明SDN交換機(jī)已經(jīng)將組播視頻流轉(zhuǎn)換為了單播視頻流。實(shí)例可以連續(xù)播放中國國際電視臺(China Global Television Network,CGTN)的視頻節(jié)目,表示組播數(shù)據(jù)正常轉(zhuǎn)換為單播數(shù)據(jù)播放,說明實(shí)現(xiàn)組播轉(zhuǎn)單播的實(shí)驗(yàn)成功。

      3.2 Wireshark抓包分析

      轉(zhuǎn)換后的單播數(shù)據(jù),可以使用Wireshark工具進(jìn)行抓包分析。設(shè)置過濾器只捕獲主機(jī)10.61.2.12的數(shù)據(jù)包,捕獲的數(shù)據(jù)包如圖7所示。

      圖7 Wireshark捕獲的數(shù)據(jù)包

      圖7中,可見數(shù)據(jù)包的地址已經(jīng)被修改為10.61.2.12這樣的單播地址。并且發(fā)現(xiàn)向網(wǎng)絡(luò)發(fā)送該視頻流的編碼器(組播源)的地址是61.8.171.24。取樣分析黃色柜區(qū)域所對應(yīng)的一個(gè)數(shù)據(jù)包,數(shù)據(jù)包詳細(xì)分析見圖8。

      圖8 單播數(shù)據(jù)包分析

      從圖8分析出數(shù)據(jù)包總共有1358字節(jié)數(shù)據(jù)量,使用UDP協(xié)議作為傳輸層協(xié)議。結(jié)合圖3和圖8可以看出,編碼器通過組播發(fā)送視頻流,使用的組播地址為233.27.204.89,目標(biāo)端口為5000。經(jīng)過SDN交換機(jī)之后,匹配了SDN交換機(jī)上配置的流表(圖3中流表的n_ packets字段不為0且持續(xù)增長),IP組播視頻流的目標(biāo)地址被替換為10.61.2.12,目標(biāo)端口被修改為3000,源地址和源端口保持不變。轉(zhuǎn)換后的單播視頻流經(jīng)過單播IP網(wǎng)絡(luò)的路由轉(zhuǎn)發(fā),最后到達(dá)測試主機(jī)10.61.2.12,并被Wireshark工具捕獲。

      4 結(jié) 語

      隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,當(dāng)前基于互聯(lián)網(wǎng)的視頻業(yè)務(wù)已經(jīng)成為人們獲取多媒體信息的重要平臺。為提高傳輸效率,高清視頻業(yè)務(wù)采用組播傳輸更合理,但I(xiàn)nternet骨干網(wǎng)不提供組播服務(wù),必須建設(shè)單獨(dú)的專線來傳輸組播。投資成本高且建設(shè)周期較長。組播和單播的轉(zhuǎn)換需求應(yīng)運(yùn)而生。運(yùn)用SDN交換機(jī)將組播轉(zhuǎn)換成單播,不僅性能穩(wěn)定,可靠性高,而且成本相對較低,具有重要的實(shí)際意義和廣闊的應(yīng)用前景。

      猜你喜歡
      發(fā)送者單播流表
      高空通信平臺非正交廣播與單播復(fù)用容量研究
      網(wǎng)絡(luò)表情符號的作用
      表情符號的使用角度對親密度感知的影響
      論《聊齋志異》夢境敘事
      蒲松齡研究(2020年3期)2020-10-28 01:38:41
      基于時(shí)序與集合的SDN流表更新策略
      基于緩存策略的OpenFlow流表存儲(chǔ)優(yōu)化方案研究
      電子測試(2018年21期)2018-11-08 03:09:34
      簡析yangUI流表控制
      軟件定義網(wǎng)絡(luò)中一種兩步式多級流表構(gòu)建算法
      城市車輛網(wǎng)絡(luò)單播路由協(xié)議:審查、分類和開放問題研究
      汽車文摘(2014年12期)2014-12-15 22:25:34
      IP互動(dòng)電視快速頻道切換的解決方案與實(shí)現(xiàn)
      天津科技(2014年6期)2014-08-08 01:00:31
      景德镇市| 日土县| 锡林郭勒盟| 长子县| 青岛市| 若羌县| 那坡县| 鄱阳县| 宝山区| 集贤县| 白沙| 无棣县| 木里| 开平市| 衡南县| 铜陵市| 梓潼县| 乌审旗| 定远县| 义乌市| 元谋县| 龙游县| 江西省| 瑞丽市| 盘锦市| 建德市| 调兵山市| 镇平县| 临泽县| 泊头市| 阿图什市| 利辛县| 梅河口市| 梁河县| 保山市| 额尔古纳市| 陕西省| 嘉峪关市| 凤山县| 高碑店市| 克拉玛依市|