13. NFV要來(lái)了

博主這個(gè)關(guān)于SDN&NFV的博客已經(jīng)寫(xiě)了有一年了,竟然一直在寫(xiě)SDN,從來(lái)沒(méi)有寫(xiě)過(guò)NFV。今天博主終于打算開(kāi)始寫(xiě)第一篇關(guān)于NFV的文章,主要是因?yàn)椴┲饔X(jué)著NFV已經(jīng)箭在弦上,離落地不遠(yuǎn)了。關(guān)于NFV的文章有很多,但國(guó)內(nèi)外都是軟文居多,看了也不知道在說(shuō)什么,主要是因?yàn)閷?shí)在沒(méi)有什么干貨可寫(xiě),于是就只能堆砌概念了。在博主看來(lái),讓NFV落地的種種條件直到最近這半年才基本成熟。估計(jì)再過(guò)半年或者一年市場(chǎng)上就會(huì)出現(xiàn)比較靠譜的NFV解決方案,等明年這個(gè)時(shí)候可能就會(huì)有比較有說(shuō)服力的案例出現(xiàn)了。

博主就不花筆墨科普NFV了,目前為止博主見(jiàn)到的最好的解釋NFV以及NFV和SDN關(guān)系的文章是sigcomm 2014的OpenNF,特別是它的前兩章,博主建議做SDN和NFV的兄弟們都讀一下。 這篇文章的結(jié)論之一是沒(méi)有SDN,NFV是玩兒不轉(zhuǎn)的。但這僅僅是故事的一部分,博主今天會(huì)把我眼中那些決定NFV落地的關(guān)鍵因素搭個(gè)框架出來(lái),細(xì)節(jié)會(huì)在之后的文章陸續(xù)展開(kāi)。

需求

NFV (Network Function Virtualization,網(wǎng)絡(luò)功能虛擬化),如果非要用一句話解釋就是:把在傳統(tǒng)網(wǎng)絡(luò)中只在專門硬件上跑著的功能放到虛擬機(jī)里跑,比較典型的例子是把防火墻跑在虛擬機(jī)上。這樣做有很多好處:省錢;升級(jí)虛擬機(jī)比升級(jí)硬件方便;根據(jù)業(yè)務(wù)需求彈性部署;易于管理等等??傊切┲鳈C(jī)虛擬化的好處對(duì)于NFV同樣適用。對(duì)NFV最大的需求來(lái)自兩類大金主:運(yùn)營(yíng)商和云。

運(yùn)營(yíng)商會(huì)在網(wǎng)絡(luò)中部署各種各樣的middlebox (Network Function的又一種說(shuō)法,真不明白人們?yōu)槭裁椿ň幵觳煌拿~來(lái)描述同一個(gè)東西...),middlebox種類之繁雜讓博主一度目瞪口呆,sigcomm 2012的APLOMB說(shuō)運(yùn)營(yíng)商管理的middlebox的數(shù)量比他們管理的路由器加交換機(jī)的總和還多。面對(duì)如此龐雜的middlebox,運(yùn)營(yíng)商對(duì)于NFV的需求也最為旺盛。

對(duì)于NFV的另外一個(gè)需求大戶是云,特別是在多租戶大行其道的今天。每一個(gè)租戶都要在自己的網(wǎng)絡(luò)入口部署防火墻和負(fù)載均衡。云服務(wù)提供商不可能為每一個(gè)租戶購(gòu)買專門的硬件設(shè)備來(lái)完成這些功能。把這些功能跑在虛擬機(jī)里幾乎是唯一的選擇。

對(duì)NFV的需求如此強(qiáng)烈,為什么遲遲沒(méi)有落地呢?因?yàn)橐恍╆P(guān)鍵的技術(shù)問(wèn)題直到最近才有比較靠譜的解決方案。

技術(shù)

NFV最大的技術(shù)難題是性能。還是拿防火墻來(lái)舉例:防火墻是有狀態(tài)的,它要追蹤每一個(gè)TCP鏈接并且根據(jù)規(guī)則做出判斷。人們?yōu)榉阑饓υO(shè)計(jì)專門的芯片就是為了能夠線速處理網(wǎng)絡(luò)流量。于是從2000左右開(kāi)始,硬件防火墻就一直統(tǒng)治著市場(chǎng)。如果把所有這些功能都放到虛擬機(jī),放到軟件上來(lái)做,就意味著中斷,數(shù)據(jù)拷貝,要達(dá)到線速非常困難。伴隨著基于DPDKSR-IOV的一系列方案的不斷完善,這個(gè)問(wèn)題得到了比較好的解決。解決思路就是用最少的中斷,尋址和數(shù)據(jù)拷貝將數(shù)據(jù)包搬運(yùn)于網(wǎng)卡和防火墻虛擬機(jī)之間。博主會(huì)寫(xiě)專門的文章比較這兩個(gè)技術(shù)流派,目前更傾向于認(rèn)為DPDK會(huì)得到更廣泛的應(yīng)用(事實(shí)上在大型互聯(lián)網(wǎng)企業(yè)里,基于的DPDK的應(yīng)用已經(jīng)走得很遠(yuǎn)了)。以SR-IOV為代表的網(wǎng)卡技術(shù)有兩個(gè)硬傷博主還沒(méi)想清楚怎么破:1) 沒(méi)有HA,一個(gè)網(wǎng)卡掛了,它所有的virtual function全掛。SR-IOV沒(méi)有bond的概念。2) 產(chǎn)品升級(jí)困難,唯一的方法就是換網(wǎng)卡,重新部署,重新配置。

NFV面臨的第二個(gè)難題是根據(jù)middlebox的功能和在網(wǎng)絡(luò)中的位置,高度動(dòng)態(tài)的計(jì)算路徑,將流量正確的轉(zhuǎn)發(fā)入/出middlebox。這個(gè)問(wèn)題伴隨著SDN的落地開(kāi)花,不少SDN廠家都有了比較靠譜的解決方案。

部署

直到上面的兩個(gè)技術(shù)問(wèn)題得到解決,談NFV的部署才有意義。NFV的部署其實(shí)和虛擬機(jī)的編排沒(méi)有太本質(zhì)的區(qū)別。最大的不同是需要為middlebox分配專屬的硬件資源,比如一個(gè)防火墻的CPU都應(yīng)該處于一個(gè)NUMA上。這些接口在過(guò)去半年里也終于被openstack支持了。

講到這里,大家也就明白為什么博主會(huì)認(rèn)為NFV離落地不遠(yuǎn)了:需求旺盛,技術(shù)難題已經(jīng)得到了比較好的解決,部署方式和現(xiàn)有的編排系統(tǒng)高度相似。NFV真的要來(lái)了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 摘要:從移動(dòng)互聯(lián)網(wǎng)時(shí)代背景出發(fā),對(duì)網(wǎng)絡(luò)功能虛擬化概念、網(wǎng)絡(luò)虛擬化演進(jìn)的必要性進(jìn)行分析,指出了移動(dòng)核心網(wǎng)虛擬化需求,...
    SDNLAB閱讀 941評(píng)論 0 4
  • 正文之前 華為是我的一個(gè)分叉口,如果我中了華為,那么考研就將成為過(guò)去,因?yàn)檠芯可娴牟灰欢ㄓ腥A為好,所以下面是我準(zhǔn)...
    張照博閱讀 1,143評(píng)論 0 11
  • 傍晚的時(shí)候 坐上了開(kāi)往青海的火車 哐當(dāng)哐當(dāng) 火車在曠野與丘陵之間穿行 一路向塞外 我寄出去一封未署名的信 而你在預(yù)...
    流浪在北京的蘋(píng)果閱讀 426評(píng)論 1 2
  • 下面就簡(jiǎn)單介紹下怎么使用Xcode 8自帶的Instruments中的Leaks檢測(cè)我們的程序有沒(méi)有內(nèi)存泄露和定位...
    蝸牛鍋閱讀 385評(píng)論 2 0
  • 不知道從哪天起 我愛(ài)上了一個(gè)看海的背影 我準(zhǔn)備了所有熱情 還有那惶惶不安的忐忑 我想要一個(gè)如你一般的人 如海天一色...
    韓小帥閱讀 245評(píng)論 0 2

友情鏈接更多精彩內(nèi)容