百度SDN實(shí)踐與思考

編者按:2015中國(guó)SDN/NFV大會(huì)在北京召開,本次大會(huì)圍繞SDN/NFV展開討論,來自運(yùn)營(yíng)商、服務(wù)提供商等業(yè)界巨頭紛紛參與此次大會(huì)。百度公司系統(tǒng)部副總監(jiān)張誠(chéng)發(fā)表了題為《百度SDN實(shí)踐與思考》的演講。

謝謝大家!謝謝組委會(huì)的組織!今天因?yàn)闀r(shí)間比較的有限,我講的信息稍微多一些,時(shí)間上提醒我一下。今天跟大家分享的主題是“百度SDN實(shí)踐與思考”,更多的是在過往七八年的時(shí)間,百度在SDN的嘗試,以及在工程上的一些經(jīng)驗(yàn)。

第一,我們?yōu)槭裁醋鯯DN?我們的需求是什么?這個(gè)和傳統(tǒng)的電信企業(yè)不太一樣。

第一我管他叫還記得那年的青蔥歲月,百度那個(gè)時(shí)候規(guī)模沒有這么大,當(dāng)時(shí)頭疼的兩個(gè)問題,我們4-7層用的都是商用交換機(jī),在前端有前端的服務(wù),有協(xié)議上的互通,我們業(yè)務(wù)向前迭代,商用的產(chǎn)品對(duì)我們來講是黑盒子,廠商給我們的開發(fā)時(shí)間趕不上互聯(lián)發(fā)展。

在那個(gè)時(shí)候開始很多的互聯(lián)網(wǎng)的黑客比較喜歡攻擊百度,那個(gè)時(shí)候我們有攻擊流量,我們?cè)趺搭A(yù)防,我們能不能把黑盒子功能抽出控制層面,然后我們開發(fā)迭代一些,我們有LVS的組織,我們想把流量分流出來進(jìn)行分析,那個(gè)時(shí)候不是那么堅(jiān)持,只是立項(xiàng)在調(diào)研開發(fā)。

然后之后我們聽了一個(gè)名字,就是SDN網(wǎng)絡(luò),我覺得我們可以開始干了,在2009年的時(shí)候,百度的第一個(gè)產(chǎn)品,BVS以及我們BCS,就是把流量按照七比三分出來,進(jìn)行緩沖預(yù)防。

以前大部分的開發(fā)適應(yīng)我們的基礎(chǔ)設(shè)施,因?yàn)樗墓こ探ㄔO(shè)周期相對(duì)比較長(zhǎng),你的產(chǎn)品的設(shè)計(jì)開發(fā)更多的適應(yīng)硬件的平臺(tái),如果我們?cè)跀?shù)據(jù)中心基礎(chǔ)層面,把控制層面剝離出來變成管理層,會(huì)使我們硬件發(fā)展變化一步,這樣對(duì)軟件開發(fā)有更多的好處,對(duì)我們互聯(lián)網(wǎng)公司,我們網(wǎng)絡(luò)平臺(tái)不能直接的給公司帶來利潤(rùn)或者商業(yè)的價(jià)值,對(duì)網(wǎng)絡(luò)基礎(chǔ)平臺(tái),對(duì)業(yè)務(wù)最大的好處是快速的支撐業(yè)務(wù)的發(fā)展和迭代。

但是當(dāng)我們嘗試做的時(shí)候,發(fā)現(xiàn)那個(gè)時(shí)候從2010到現(xiàn)在是中國(guó)互聯(lián)網(wǎng)規(guī)模和信息爆炸的時(shí)候,服務(wù)器的快速的增長(zhǎng),他的擴(kuò)張,我們跟不上硬件設(shè)施的發(fā)展,我們就沒有辦法控制了,我們回到價(jià)值的層面,在硬件基礎(chǔ)設(shè)施平臺(tái)上哪些東西需要抽象。按照SDN進(jìn)行軟件的管理,按照硬件工業(yè)的這種發(fā)展不斷的進(jìn)行快速標(biāo)準(zhǔn)的擴(kuò)張。

最后我提出一個(gè)整個(gè)SDN在百度的思路是自我認(rèn)知-不斷否定-提升,談不上某一個(gè)階段對(duì)錯(cuò),只有適合不適合。

第二,我們做SDN網(wǎng)絡(luò)架構(gòu)設(shè)計(jì),做重構(gòu),但是我不提倡重構(gòu),他和軟件開發(fā)不一樣,他軟件重構(gòu)代價(jià)小很多,涉及硬件的,如果你重構(gòu)的話你的成本非常大,另外你的周期非常的長(zhǎng),所以我認(rèn)為,作為我們架構(gòu)師或者我們基礎(chǔ)設(shè)施的管理者,具備這樣的素質(zhì),你在不同的階段否定自己,但是你的重構(gòu)應(yīng)該是彈性可擴(kuò)張的。

百度走過的路的時(shí)間緯度不一樣,我們走的路不一定是自己最正確的方向,所以大家選擇適合自己的方向是最好的。

百度為什么做SDN?主要是規(guī)模和效率的驅(qū)動(dòng),隨著數(shù)據(jù)量的擴(kuò)張,大概五六年前,中文有效的網(wǎng)絡(luò)一百五六十億的網(wǎng)頁,現(xiàn)在超過了一千億,現(xiàn)在百度面對(duì)數(shù)百萬的要求,以及上線變更批量下線的要求,我們針對(duì)管理規(guī)模上的驅(qū)動(dòng)。在SDN的一個(gè)架構(gòu)在這個(gè)架構(gòu)上面百度SDN的產(chǎn)品和系統(tǒng)開發(fā),分成縱向三塊的領(lǐng)域,右邊我們更多的是在軟件定義一些軟件的功能。我們嘗試用軟件定義網(wǎng)絡(luò)上的元器件,比如說流量檢測(cè)、網(wǎng)絡(luò)功能轉(zhuǎn)發(fā)調(diào)度的設(shè)備,我們很多的產(chǎn)品在右邊兩個(gè),最下面的是硬件,現(xiàn)在在百度,我們自己做了一個(gè)抽象層。我們今天做很多硬件上面最頭疼的事情,我們面對(duì)不同的硬件的結(jié)構(gòu),這個(gè)跟我們互聯(lián)網(wǎng)公司軟件迭代的思路不相匹配,我們做了一個(gè)抽象層,他的意思就是說,對(duì)于下面的硬件,無論是硬件對(duì)上層開發(fā)是唯一的,他是一個(gè)翻譯層,在我們自己研發(fā)的層面上,我們?cè)诎俣人麜?huì)去把我在硬件的芯片上,無論是你什么芯片等等的,對(duì)于我的OS來講,我上層系統(tǒng)級(jí)的開發(fā)是整個(gè)層面都適配。

你想生產(chǎn)這樣的產(chǎn)品要根據(jù)我們的規(guī)則產(chǎn)生,另外傳輸?shù)膶用妫且粋€(gè)很好的例子,SDN能給我們解決什么?其實(shí)對(duì)于百度來講,給我解決最大的問題不要再糾結(jié)。因?yàn)槲矣浀米钤缁ヂ?lián)網(wǎng)公司,異地同傳對(duì)于互聯(lián)網(wǎng)公司我們運(yùn)維和工程的人員大量的是網(wǎng)絡(luò)出身,或者寫編程出身的,轉(zhuǎn)身做網(wǎng)絡(luò)系統(tǒng),運(yùn)維產(chǎn)生的割裂,你要有人運(yùn)維網(wǎng)絡(luò)系統(tǒng),所以在2008、2009、2010年我們使用其他技術(shù),我們把傳輸和ED的網(wǎng)定義在一起,我們可以一個(gè)光纖分到很多的光波達(dá)到他的數(shù)據(jù)共享。

再往后發(fā)展,隨著我們很多大量異地的數(shù)據(jù)中心,距離傳輸超過一千公里,而且?guī)?60、320、400G很難滿足我們的要求,所以我們很難不建設(shè)這樣的網(wǎng)絡(luò),所以SDN做了很好的融合。

我們自有的光產(chǎn)品,通過廠商的聯(lián)合開發(fā),運(yùn)維拓展發(fā)展,我們可以把他剝離出來,并且和SDN做了一個(gè)融合,實(shí)現(xiàn)了統(tǒng)一的管理,這個(gè)我們做的不是很完善,我們?cè)趥鬏數(shù)膶用娌粩嗟呐L試,他的進(jìn)展嚴(yán)格落后我們IP上面。

通過SDN解決的方案,反過來促使我們產(chǎn)品級(jí)的開發(fā),和產(chǎn)品級(jí)的設(shè)計(jì)和我們硬件做一個(gè)結(jié)合。舉出一個(gè)簡(jiǎn)單的例子,有的做過產(chǎn)品,那個(gè)時(shí)候沒有做,很多的RD他很苦惱的,特別做高性能SPC,他很苦惱,你網(wǎng)絡(luò)的帶寬,為什么千兆,雙千兆,我們可以提供以太網(wǎng),或者我們可以提供40G的以太網(wǎng),當(dāng)你的基礎(chǔ)平臺(tái)不斷迭代的時(shí)候,你可以給產(chǎn)品提供一個(gè)很大的想象的空間。

接下來是百度基于網(wǎng)絡(luò)的架構(gòu),百度整個(gè)網(wǎng)絡(luò)架構(gòu)從2007到現(xiàn)在,經(jīng)歷了一個(gè)大版本的迭代,我簡(jiǎn)單的分享一下,從2007年到現(xiàn)在的話,最早我們做第一個(gè)版本的迭代,你的規(guī)模小的時(shí)候,我們把單用于,變成雙用于,就是把胖的網(wǎng)絡(luò)變成瘦的網(wǎng)絡(luò)。

可以提高他的擴(kuò)展性和穩(wěn)定性,我們把三層的結(jié)構(gòu)壓成二層的結(jié)構(gòu),大家知道互聯(lián)網(wǎng)數(shù)據(jù)中心,有內(nèi)外網(wǎng),那個(gè)時(shí)候我們用這種IPM的方式。把我們的內(nèi)網(wǎng)流量,外網(wǎng)流量還有管理網(wǎng)的流量,通過控制層面做一個(gè)分流終結(jié)。4.0我們把IP并入我們的網(wǎng)絡(luò),5.0把數(shù)據(jù)中心做一個(gè)大的池子,使我們對(duì)外提供服務(wù),未來基于開發(fā)者的公共的平臺(tái),包括百度的云平臺(tái)再我們同一套基礎(chǔ)設(shè)施,通過SDN的層面進(jìn)行很好流量安全的控制和分發(fā),時(shí)間的關(guān)系沒有辦法在每個(gè)幻燈片進(jìn)行細(xì)說。

后面舉幾個(gè)例子,一個(gè)在運(yùn)維管理上面的例子,第一,規(guī)模的問題的實(shí)踐,現(xiàn)在基于SDN,我們?cè)诎俣瓤梢宰龅杰浖溌窢顟B(tài)的監(jiān)控,但是SNMP他經(jīng)常會(huì)受到影響,你可以通過路由協(xié)議進(jìn)行很好的監(jiān)控。另外對(duì)于交換機(jī)你做到自己的研發(fā),你在OS芯片進(jìn)行監(jiān)控,包括溫度濕度感應(yīng)。

包括降低數(shù)據(jù)中心的POE,就是省電,現(xiàn)在大家沒有人用風(fēng)能,大家得用水塔智能,另外提高數(shù)據(jù)中心的溫度,你提高所有數(shù)據(jù)中心IT承載設(shè)備的溫度,這樣你可以探討數(shù)據(jù)中心POE的提升。

另外報(bào)警,我們把很多的日志存儲(chǔ),做反復(fù)的迭代,我相信在很多的場(chǎng)合,現(xiàn)在百度對(duì)于服務(wù)器的硬盤的預(yù)警,我們?cè)谀銢]有發(fā)生故障的時(shí)候,我預(yù)測(cè)你會(huì)發(fā)生故障,然后進(jìn)行批量的更換,這是人工的算法,如果沒有SDN的架構(gòu),你很難把日志剝離出來。

大家現(xiàn)在說數(shù)據(jù)量越多越好,不是的,是你的高效數(shù)據(jù)和格式統(tǒng)一的數(shù)據(jù)越多,你的結(jié)果會(huì)更有效。在服務(wù)器的上線,插網(wǎng)線自動(dòng)的安裝,每年交互幾千臺(tái)服務(wù)器。

另外擁塞的監(jiān)控,我們很多人基于SFLOW收集數(shù)據(jù),很少建立好的模型,剔除到你的沒有用的數(shù)據(jù)。

這是我們?cè)诠こ坍a(chǎn)品上的例子,這是基于X86+DPDK的軟件。這是我們百度自己研發(fā)的交換機(jī),OS是我們自己研發(fā)的,加上ODMBOX,我們所有的都是用在我們百度自研的交換機(jī)。我現(xiàn)在在ODL的實(shí)踐聯(lián)盟里面,這是一個(gè)方向,我們?cè)诓粩嗟膰L試,我們和騰訊阿里在這個(gè)事情上不斷的推進(jìn)。

另外我們基于ODL做搭建一個(gè)網(wǎng)絡(luò),我們通過我們自己已有的TOR架構(gòu)的網(wǎng)絡(luò),在流程自動(dòng)化的層面看他的互動(dòng)性和協(xié)作性,這種ODLOF做控制集以及傳統(tǒng)網(wǎng)絡(luò)互聯(lián),還有OFCONTROLLER研發(fā)。

最后這是我們對(duì)技術(shù)的展望,包括我們希望更多的看到我們的大流量,實(shí)際上基于大流量的芯片的檢測(cè),并且告訴應(yīng)用層做處理,我們不希望在系統(tǒng)的層面消耗過多的資源,另外我們也是想,我們更關(guān)注的是25、50、100G的演進(jìn),實(shí)際上他倡導(dǎo)的聯(lián)盟做的項(xiàng)目,把很多交換的芯片抽象到一個(gè)接口上面,使你的開發(fā)迭代更加的簡(jiǎn)單。

第三,說的抽象層,我跟大家倡議的,我們做這個(gè)聯(lián)盟非常好的,今天的芯片廠商非常的多,ODM廠商更多,我們都要面對(duì)很多廠商的硬件,比如,今天給我們廠商發(fā)這種標(biāo)準(zhǔn),他們按這個(gè)標(biāo)準(zhǔn)做的時(shí)候,使我們上層應(yīng)用操作更簡(jiǎn)單,迭代更快。

另外我們做4G層的產(chǎn)品,和共有業(yè)務(wù)相關(guān)的硬件級(jí)的產(chǎn)品和平臺(tái),和我們產(chǎn)品更好的結(jié)合,未來想開放更多的IPO的開發(fā),基于我們硬件平臺(tái)進(jìn)行他的開發(fā)創(chuàng)新,加快產(chǎn)品的迭代。

好的時(shí)間的關(guān)系,我今天的演講到這,謝謝大家!

本文來源2015?SDN/NFV大會(huì)會(huì)議速記稿,不代表本站觀點(diǎn)及立場(chǎng)。

想要獲得更多關(guān)于大會(huì)的即時(shí)信息請(qǐng)關(guān)注SDNLAB

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容