與機(jī)器學(xué)習(xí)的融合——利用機(jī)器學(xué)習(xí)推進(jìn)SDN的發(fā)展
在如今信息爆炸的時(shí)代,有很多企業(yè),團(tuán)體利用機(jī)器學(xué)習(xí)技術(shù)在各個(gè)領(lǐng)域都取得了一定的成就。比如Amazon,淘寶這類電商網(wǎng)站使用的基于推薦算法的推薦系統(tǒng);Google翻譯等機(jī)器翻譯系統(tǒng)所用的深度學(xué)習(xí),NLP技術(shù)等。 SDN出現(xiàn)的一個(gè)原因之一,是對靈活性的需求,那么,機(jī)器學(xué)習(xí)又能為SDN帶來什么?
機(jī)器學(xué)習(xí)要解決什么?
機(jī)器學(xué)習(xí),是人工智能中與算法緊密相關(guān)的一個(gè)領(lǐng)域,目的是讓機(jī)器不斷地像人類一般學(xué)習(xí),對輸入的數(shù)據(jù)進(jìn)行判斷,認(rèn)知乃至預(yù)測未來的數(shù)據(jù)。
機(jī)器學(xué)習(xí),對于諸如金融領(lǐng)域的欺詐偵測,監(jiān)控領(lǐng)域的機(jī)器視覺,經(jīng)濟(jì)領(lǐng)域的市場優(yōu)化,股票分析中都有重要意義。
簡單地舉一個(gè)例子:郵政系統(tǒng)中的手寫識別。不同的人,寫同樣的字有無數(shù)種寫法。但是郵政系統(tǒng)是不可能100%依靠人力去處理信件,這樣很蠢,效率很低。因此,郵政系統(tǒng)有必要引入基于機(jī)器的處理手段,目前的手段就是基于機(jī)器學(xué)習(xí)的手寫識別系統(tǒng)。
現(xiàn)在是一個(gè)到處都充斥著海量數(shù)據(jù)的時(shí)代,隨著IoT的進(jìn)一步發(fā)展和大量傳感器的使用,必定會(huì)產(chǎn)生大量數(shù)據(jù),機(jī)器學(xué)習(xí)的首要任務(wù)就是從這些海量數(shù)據(jù)中發(fā)掘出有利的部分。
機(jī)器學(xué)習(xí)算法有哪些?
如果從學(xué)習(xí)方式來說,機(jī)器學(xué)習(xí)算法可以分為無監(jiān)督學(xué)習(xí)、監(jiān)督學(xué)習(xí),半監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。
一般的監(jiān)督學(xué)習(xí)算法都必須通過輸入數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練是這類算法的使用中的比較重要的過程。使用時(shí),監(jiān)督學(xué)習(xí)算法需要構(gòu)建一個(gè)學(xué)習(xí)過程,將預(yù)測結(jié)果和訓(xùn)練數(shù)據(jù)的結(jié)果進(jìn)行比較,并不斷調(diào)整模型,去達(dá)到一個(gè)預(yù)期的準(zhǔn)確率。
監(jiān)督學(xué)習(xí)算法具體代表有剛才說到的k鄰近算法,還有決策樹、神經(jīng)網(wǎng)絡(luò)等。
無監(jiān)督學(xué)習(xí)更具有挑戰(zhàn)性。無監(jiān)督學(xué)習(xí)中,輸入的數(shù)據(jù)并不像之前的kNN算法中一般已經(jīng)被標(biāo)識,無監(jiān)督學(xué)習(xí)算法就是要從無標(biāo)識的數(shù)據(jù)中推斷出數(shù)據(jù)中的一些內(nèi)在結(jié)構(gòu),簡單地說就是找規(guī)律。 無監(jiān)督學(xué)習(xí)算法主要用在聚類等方面。具體代表有k-means算法,PCA等算法。
半監(jiān)督學(xué)習(xí)是前兩種的結(jié)合,它利用少量已經(jīng)標(biāo)識的樣本和大量未標(biāo)識的樣本進(jìn)行訓(xùn)練和分類。它會(huì)先對未標(biāo)識的數(shù)據(jù)進(jìn)行建模,再在此基礎(chǔ)上對已經(jīng)標(biāo)識的數(shù)據(jù)進(jìn)行預(yù)測。具體代表有圖論算法,半監(jiān)督支持向量機(jī)SVMs等。
強(qiáng)化學(xué)習(xí)主要運(yùn)用在機(jī)器人控制之類的控制系統(tǒng)上。輸入的數(shù)據(jù)會(huì)刺激模型并使模型做出反應(yīng),不像監(jiān)督學(xué)習(xí),輸入的數(shù)據(jù)只用來檢查模型對錯(cuò),輸入的數(shù)據(jù)直接反饋到模型,要求模型必須對此立即做出調(diào)整。 具體的代表有Q-Learning和 Temporal difference learning
與機(jī)器學(xué)習(xí)相關(guān)的還有個(gè)相當(dāng)有趣的遺傳算法,又稱進(jìn)化算法。通過借鑒進(jìn)化論的一種啟發(fā)式搜索算法。這個(gè)算法就是把要解決的問題模擬成生物進(jìn)化的過程,通過交叉、變異、復(fù)制等產(chǎn)生下一代的解,淘汰適應(yīng)度底的個(gè)體,留下適應(yīng)度高的個(gè)體。遺傳算法可以用在游戲中的AI,比如被玩家射擊時(shí)會(huì)自動(dòng)閃避,會(huì)根據(jù)玩家的行為做出反應(yīng),與玩家對抗。
機(jī)器學(xué)習(xí)能為SDN帶來什么?
機(jī)器學(xué)習(xí)作為一種手段,可以被廣泛地運(yùn)用到不同的領(lǐng)域中。對于SDN也一樣,如果我們能巧妙地運(yùn)用機(jī)器學(xué)習(xí)技術(shù),必定推動(dòng)SDN的發(fā)展。
在某些需要為用戶提供更好的服務(wù)質(zhì)量的場合中,需要及時(shí)識別出一些關(guān)鍵應(yīng)用(比如各種各樣的物聯(lián)網(wǎng)設(shè)備、VoIP等)的數(shù)據(jù)包。由于這些應(yīng)用可能采用了隨機(jī)的端口、數(shù)據(jù)被加密等各種原因,服務(wù)提供者可以采用機(jī)器學(xué)習(xí)的方式及時(shí)識別那些關(guān)鍵數(shù)據(jù)包,并根據(jù)實(shí)時(shí)的網(wǎng)絡(luò)狀況設(shè)置合適的QoS以滿足應(yīng)用程序?qū)挼男枰@脵C(jī)器學(xué)習(xí)技術(shù),可以對流量進(jìn)行特征分類,從而識別出某些不合法的行為,比如DDOS攻擊。
如果采取了合適的測量方式再配合合適的機(jī)器學(xué)習(xí)算法,網(wǎng)絡(luò)流量分類的性能可以有比較高的提升,比如通過端口識別應(yīng)用程序,但如果應(yīng)用程序采用了隨機(jī)端口或端口公用,這種分類方式就會(huì)無能為力。這時(shí)就可以通過機(jī)器學(xué)習(xí)對包的長度、連接特征、數(shù)據(jù)包的方向甚至是數(shù)據(jù)包上下文信息進(jìn)行有效的分類。
DPI(即深度報(bào)文檢測)算是安全領(lǐng)域中的一個(gè)關(guān)鍵技術(shù)點(diǎn)。一方面,針對日益變化的攻擊手段,傳統(tǒng)的防火墻無法滿足如今針對Web應(yīng)用層的攻擊的防護(hù)需求,這時(shí)就需要通過深度報(bào)文檢測進(jìn)行防護(hù)。另一方面,像前面所述的有關(guān)根據(jù)應(yīng)用流量特征識別去改善服務(wù)質(zhì)量一樣,DPI也可以起到同樣的作用:通過對業(yè)務(wù)應(yīng)用的協(xié)議交互過程進(jìn)行跟蹤,并對報(bào)文中有意義的部分進(jìn)行深度識別。 DPI技術(shù)并不像傳統(tǒng)的防火墻一樣基于策略匹配查詢來進(jìn)行入侵檢測和流量控制。DPI需要通過建立特征庫,依靠協(xié)議解析、報(bào)文的特征提取等手段進(jìn)行分析。在這種情況下,可以采取機(jī)器學(xué)習(xí)算法(比如無監(jiān)督聚類算法)構(gòu)建一個(gè)特征庫,為不同應(yīng)用的數(shù)據(jù)包建立一個(gè)個(gè)分類,再通過協(xié)議確認(rèn)、協(xié)議切分、協(xié)議域切分等各種手段提取特征,最后通過機(jī)器學(xué)習(xí)算法(如半監(jiān)督學(xué)習(xí)中的分類方法)最終得出結(jié)論,判斷應(yīng)用程序的行為是否合法,是否存在欺詐行為等等。最后還可以采取決策樹或遺傳算法等進(jìn)行自動(dòng)反饋,對外界程序的各種行為進(jìn)行反饋(比如中間人攻擊中的丟掉后續(xù)報(bào)文、發(fā)送雙向TCP Reset中斷連接),以達(dá)到最大程度的自動(dòng)化和智能化。
與物聯(lián)網(wǎng)的融合——SDN助力物聯(lián)網(wǎng)往更高更遠(yuǎn)邁進(jìn)
物聯(lián)網(wǎng),作為一股技術(shù)潮流,擁有非凡的潛力,盡管如今有很多對物聯(lián)網(wǎng)的炒作,但仍低估了其經(jīng)濟(jì)影響力。物聯(lián)網(wǎng),看上去和SDN關(guān)系不大,但是,在筆者看來,兩者的結(jié)合絕對會(huì)推動(dòng)物聯(lián)網(wǎng)的進(jìn)一步發(fā)展。
物聯(lián)網(wǎng)現(xiàn)狀:
物聯(lián)網(wǎng),這個(gè)概念越來越多出現(xiàn)在媒體上,占據(jù)著新聞?lì)^條。但似乎這一概念并沒有擴(kuò)散到市場和公眾視野中。
在麥肯錫研究院的一份名為《物聯(lián)網(wǎng):超越市場炒作以外的價(jià)值》的報(bào)告中,他們認(rèn)為,到2025年物聯(lián)網(wǎng)對經(jīng)濟(jì)的影響力甚至可以達(dá)到11.1萬億美元。
物聯(lián)網(wǎng),包含一系列可以聯(lián)網(wǎng)的各種傳感器和驅(qū)動(dòng)裝置,通過各種網(wǎng)絡(luò)技術(shù)互相連接并互相影響。在物聯(lián)網(wǎng)中,不僅是機(jī)器與機(jī)器,人與機(jī)器、人與人間都有廣泛的通訊和交流,也就是把任何物和人都連接在一起。
IBM很早就提出了“智慧地球”的概念,即把感應(yīng)器嵌入到電網(wǎng)、鐵路、橋梁、公路等各種物體中并組成連接,并與互聯(lián)網(wǎng)整合。
在可以預(yù)見的未來,大量傳感器和執(zhí)行控制的驅(qū)動(dòng)設(shè)備將會(huì)大量被使用,它們收集外界的信息,轉(zhuǎn)化為數(shù)據(jù),在設(shè)備和人間互相傳輸。現(xiàn)有的技術(shù)正為降低實(shí)現(xiàn)成本而努力,但是如何處理大量要聯(lián)網(wǎng)的設(shè)備將會(huì)成為一個(gè)無法避免的問題。
有預(yù)測估計(jì),到2020年,全球物聯(lián)網(wǎng)設(shè)備的數(shù)量將達(dá)到250億臺左右。如果只用傳統(tǒng)的網(wǎng)絡(luò)技術(shù),難以適應(yīng)如此多和各種不同的需求,如果全部設(shè)備都接入物聯(lián)網(wǎng),那么單單是IP地址的數(shù)量就已經(jīng)不夠了。雖然IPv6已經(jīng)在慢慢地應(yīng)用,但顯然傳統(tǒng)網(wǎng)絡(luò)架構(gòu)并不滿足物聯(lián)網(wǎng)對靈活性的需求。
物聯(lián)網(wǎng)技術(shù):
物聯(lián)網(wǎng)設(shè)備有很多種類型,現(xiàn)在已經(jīng)有很多產(chǎn)品都跨入物聯(lián)網(wǎng)的范疇,比如數(shù)碼相機(jī)等消費(fèi)電子產(chǎn)品,咖啡機(jī)、洗衣機(jī)等家用電器,煙霧探測器、嬰兒監(jiān)視器等安全產(chǎn)品,機(jī)器人、血壓計(jì)、心率探測、智能手環(huán)等各種設(shè)備。
對于創(chuàng)客來說,可以用于開發(fā)物聯(lián)網(wǎng)的非開源/開源硬件也很多,比如Arduino,樹莓派,intel Edison等等。這些硬件從尺寸上有大有小,層次也各有不同。比如Arduino,其核心為一塊Atmel AVR單片機(jī)(8-bit ATmega328)其運(yùn)行頻率僅20MHz,無操作系統(tǒng),功耗相當(dāng)?shù)停兄泴?shí)時(shí)的特性,適合用于數(shù)據(jù)采集和控制。而樹莓派,有著一顆700MHz運(yùn)行頻率的ARM11處理器,支持完整的系統(tǒng),可以用于復(fù)雜的分析、處理工作。
下圖分別為Arduino UNO和樹莓派:
單單兩款開源硬件已經(jīng)有如此大的差別,更不要說市場上其他各種類型的硬件了。至于不同硬件接入互聯(lián)網(wǎng)或與互聯(lián)網(wǎng)交互的方式就更多變化了。 硬件可以通過以太網(wǎng)線,可以通過WiFi,通過藍(lán)牙,ZigBee,RFID傳輸數(shù)據(jù),又可以使用MQTT,HTTP,CoAP等各種協(xié)議,而且隨著攜帶物聯(lián)網(wǎng)芯片的物品的不斷產(chǎn)生和消失,幾乎不可能僅靠靜態(tài)的設(shè)置來配置網(wǎng)絡(luò),物聯(lián)網(wǎng)需要一個(gè)敏捷,靈活的網(wǎng)絡(luò)。
SDN與物聯(lián)網(wǎng)該如何融合?
對于物聯(lián)網(wǎng)來說,如果能充分利用SDN中的某些特殊功能,將會(huì)有利于物聯(lián)網(wǎng)的發(fā)展。
把特定的網(wǎng)絡(luò)應(yīng)用功能有序地組合起來,讓流量通過這些服務(wù)功能就構(gòu)成了服務(wù)鏈,讓數(shù)據(jù)能經(jīng)過各種各樣的服務(wù)組件,保證安全、快速和穩(wěn)定的網(wǎng)絡(luò)服務(wù)(就好像穿過一個(gè)治安不好的城市時(shí),不用去了解這座城市哪里安全哪里危險(xiǎn),只要讓坐在警車?yán)铮尵熳o(hù)航就可以去到目的地)。
物聯(lián)網(wǎng)設(shè)備各種各樣,可能會(huì)有各種不同的需求,比如VPN,負(fù)載均衡等,通過SDN技術(shù),靈活、敏捷、安全地把流量轉(zhuǎn)到服務(wù)鏈上處理,相比傳統(tǒng)的網(wǎng)絡(luò)服務(wù)鏈,基于SDN的服務(wù)鏈與網(wǎng)絡(luò)拓?fù)涞鸟詈隙雀停渲酶母泳哂徐`活性,因此,當(dāng)物聯(lián)網(wǎng)設(shè)備越來越多時(shí),使用SDN服務(wù)鏈將有效地緩解配置變更、服務(wù)鏈擴(kuò)容和服務(wù)管理所帶來的壓力。
借助服務(wù)鏈,對于運(yùn)營商來說,更加容易根據(jù)不同客戶的需求或根據(jù)不同設(shè)備的特性設(shè)定不同的配置或策略。
前面舉的Arduino和樹莓派的兩個(gè)例子,可以看到物聯(lián)網(wǎng)設(shè)備的差別之大,對于物聯(lián)網(wǎng)設(shè)備的外接傳感器或數(shù)據(jù)收集器,一個(gè)溫度傳感器和一個(gè)監(jiān)控?cái)z像頭,它們產(chǎn)生的數(shù)據(jù)規(guī)模和數(shù)據(jù)上傳的頻率也有所不同,一個(gè)控制溫度傳感器的Arduino主板,可能每1分鐘就會(huì)發(fā)送一次監(jiān)控?cái)?shù)據(jù),而對于一個(gè)自帶儲(chǔ)存卡的樹莓派,它從攝像頭收集回來的數(shù)據(jù)可能會(huì)被暫時(shí)存在本地文件系統(tǒng)中,每隔3小時(shí)發(fā)送一次。從上面兩個(gè)例子來看,物聯(lián)網(wǎng)設(shè)備發(fā)送數(shù)據(jù)存在著頻率和規(guī)模的區(qū)別,當(dāng)設(shè)備較少時(shí),固定的QoS配置可能還能滿足用戶的需求,但是物聯(lián)網(wǎng)設(shè)備數(shù)量上升速度之快,是任何保守的策略都無法應(yīng)對的。 如果這時(shí)采用SDN技術(shù)實(shí)現(xiàn)動(dòng)態(tài)負(fù)載管理和QoS配置,服務(wù)提供商可以監(jiān)控并協(xié)調(diào)帶寬的變化,不僅能提高帶寬的使用效率,也能為用戶提供更好的服務(wù)。再比如使用基于機(jī)器學(xué)習(xí)的流量分類技術(shù),建立特征庫,通過對比實(shí)時(shí)流量特征和特征庫,實(shí)現(xiàn)帶寬調(diào)度的自動(dòng)化、智能化,對于服務(wù)提供商來說也許是一個(gè)不錯(cuò)的功能。通過SDN技術(shù),服務(wù)提供商有能力在面對呈指數(shù)級增長的設(shè)備時(shí)處理得得心應(yīng)手。
安全隱患是阻礙物聯(lián)網(wǎng)發(fā)展的一個(gè)因素,沒人會(huì)愿意讓自己的健康數(shù)據(jù)透過智能手環(huán)傳輸數(shù)據(jù)時(shí)的漏洞被泄露出去,也沒有人愿意讓自己的家庭安保數(shù)據(jù)被人截獲,因此根據(jù)不同用戶的使用場景,對于物聯(lián)網(wǎng)通訊會(huì)有不同的安全需求。SDN/NFV技術(shù)方便了運(yùn)營商根據(jù)不同用戶而實(shí)施不同的安全策略,而在更改策略時(shí)也會(huì)輕松得多。
后記:
機(jī)器學(xué)習(xí),作為人工智能呢一個(gè)重要分支,也不過是一個(gè)工具,一個(gè)手段。它究竟能為SDN的發(fā)展起到怎樣的作用,還是得靠用戶能怎樣運(yùn)用,根據(jù)實(shí)際情況采用合適的算法以達(dá)到事半功倍。 物聯(lián)網(wǎng),不一定需要SDN,但是,如果我們讓SDN技術(shù)與物聯(lián)網(wǎng)相融合,無論如何,物聯(lián)網(wǎng)肯定能從SDN的發(fā)展中得到好處,SDN對于物聯(lián)網(wǎng)的未來發(fā)展有重要意義,我們也會(huì)不留遺力地推動(dòng)SDN的發(fā)展并推動(dòng)SDN與物聯(lián)網(wǎng)的融合。
參考資料:
《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》 熊剛,孟姣,曹自剛,王勇,郭莉,方濱興.網(wǎng)絡(luò)流量分類研究進(jìn)展與展望[J].集成技術(shù),2012,1(1):32-42
http://www.sdnlab.com/14017.html
http://www.sdnlab.com/community/m/article/101
www.netcracker.com/blog/sdn/nfv-and-network-management-bring-big-benefits-to-the-iot.html www.networkworld.com/article/2601926/sdn/sdn-vital-to-iot.html
作者簡介:何智剛,2015至今,現(xiàn)為廣東的一名在校高三學(xué)生,在學(xué)習(xí)之余,主要研究Docker,OpenStack,SDN,對各種領(lǐng)域都有所涉獵,目標(biāo)是邁向full stack。