在網絡工程師的平常工做中,咱們常常和各類網絡協議,不一樣廠家的網絡設備打交道。從你們熟知的RIP,OSPF,ISIS以及互聯網無處不在的BGP等等。配置和優化以上協議已經成爲網絡從業者的屢見不鮮。
而在業餘時間,咱們認真好學,積極充電。學習Cisco,Juniper,華爲等廠商的認證課程。
但是,自從IGRP至1980代發明以來,這些路由協議就沒有怎麼改變過。頂多在原來的基礎上,新增了部分功能,例如RIP,OSPF,IS-IS支持IPv6,BGP支持新的family協議族等。python
換句話說,在突飛猛進,萬象更替的今天,做爲網絡工程師的咱們,仍然用着30前發明的技術!程序員
誠然,有朋友會解釋道,現現在的網絡技術也在逐步升級,例如SDN技術的引入。但其實SDN只是一種新的解決方案,它解決了自動化集中控制的問題,優化了轉發和控制層面。其對現現在的網絡技術體系並非替代性的,顛覆性的。算法
假設有一天,這些傳統的路由協議都消失了,取而代之的是咱們徹底沒有接觸過的新技術,網工的飯碗豈不是丟了?
想一想就細思極恐。編程
做爲一名在網絡行業浸淫多年的資深工程師,我我的也不但願看到有這麼一天。
可是很不幸,時代的腳步沒有人可以阻止。在地球的另一端,一家社交媒體公司正在悄然改變這一切。服務器
它就是今天的主角:Facebook網絡
由於某些緣由,你們平時對Facebook知之甚少。因此在這裏有必要稍稍介紹下Facebook。架構
Facebook 是一家主打網絡社交平臺的公司,它相似於咱們平時使用的QQ空間,人人網等其餘社交平臺。併發
不知道大家是否看過一部電影,全名《社交網絡》(THe Social Network)。它就是講述了Facebook CEO扎克伯格被女朋友甩了之後,如何藉助別人的點子建立了Facebook帝國,並發展壯大的過程。
本篇文章對於Facebook如何建立,咱們並不感興趣。可是你們須要注意的是,CEO扎克伯格天才般的碼農技能吸引了一大批志同道合的牛叉碼農。他們堅信代碼改變世界。運維
爲了讓你們有個更直觀的瞭解Facebook的體量,讓咱們來看看下面幾組數據(截止2017第三季度)。ide
在如此規模用戶量背後,是全球範圍的數據中心,以及跨越各個大洲的國際骨幹網在支持着數億人天天的社交動做。天然而然,網絡設計規劃以及平常運維也是成爲公司業務的關鍵。
由於體量巨大,Facebook極其容易遭遇平時你們不太可能遇到的各類協議上的擴展性問題。有些問題對普通企業來講,發生的機率爲0.00000001%。可是在Facebook內發生的機率就是100%。
由於不斷增長的用戶量和數據量,現在的網絡協議逐漸跟不上Facebook內部不斷產生的新應用。存在以下問題:
基於以上幾點,Facebook放棄了修改已有協議,轉而編寫一套適合本身的全新的路由平臺系統,那就是今天的Open/R。
上圖爲Open/R的宏觀總體架構。
各個部件功能以下:
仔細一看,這不是和日常的OSPF, ISIS同樣嗎?對外經過Hello發現鄰居,創建鄰接關係。對內經過Shortest Path算法算出最優路徑,而後下發FIB。
沒錯,Open/R設計之初,就充分吸取學習現有路由協議的優秀機制,並加以利用。可是同時,它也引入以下衆多功能:
然而,最主要也是最重要的功能,是極強的擴展性。
今天你看到的是這些功能,可是隨着業務發展須要,Facebook能夠隨時添加新模塊進入此係統。並且-----Open/R開源了!!!
其實今天的討論重點,不是在Facebook 的Open/R,而是藉着Open/R,和你們聊聊關於網絡工程師的將來,關於咱們本身!
不知道你們看完Facebook Open/R介紹之後,想到了什麼,有什麼樣的思考。
我說說我看到Open/R之後,個人感覺吧。
首當其衝,若是本身再不轉變,就要失業了。
做爲一名網絡工程師,咱們賴以生存的技能就是網絡技術,更深一層來講,深入理解網絡各個網絡協議之間的運行機制,以及如何規劃並實施。
可是正如我開篇提出的問題,假如這些協議在某一天都消失了怎麼辦?
取而代之的是像Open/R這樣的新網絡系統。曾經熟知的OSPF區域類型,BGP 的policy,協議timer等通通派不上用場。一切一切都是被碼農們提早預設好,系統循序漸進運行就能夠。若是遇到系統故障,做爲網絡工程師的咱們也插不上手,由於代碼故障還須要代碼來解決。
若是你們只是以爲,Facebook離我很遙遠,並且Open R目前只有Facebook以及零星幾個合做夥伴在部署。那就大錯特錯了。
首先,由於Open/R的開源,其餘存在相似協議擴展性困擾的公司就會藉着Open/R的設計思路和原理,開發出符合自身的路由平臺。這個趨勢不是誰可以阻擋的,包括設備製造商。
相似的例子爲虛擬化,包括Cisco或者Juniper原來是藉着硬件設備外加軟件系統來盈利。可是在虛擬化面前,不得不推出虛擬化的路由交換平臺,放棄部分硬件設備的利潤。
仍是那句話,在科技進步的潮流面前,沒有誰可以阻擋。
而此次潮流的最終受益者----是程序員。
在科幻世界裏面,有這麼一個方式叫作「高維打低維」。大概解釋爲:高維空間的生物打擊低維空間的生物,易如反掌。
而在現實生活中,這種正在發生在咱們身邊。農耕時代敵不過工業時代,工業時代的產物又敵不過互聯網時代。一樣,在互聯網應用發展迅猛的今天,程序員如雨後春筍,一切問題,均可以用代碼解決。所以從某種層面上來講,程序員們站在了更高的維度。而做爲網工的咱們,則是低維。
翻開如今的博客,公衆號。大大小小的文章都是關於程序員的,貌似做爲網絡工程師的咱們,已經成爲過氣明星,只能在街邊小劇場路演。
那麼咱們應該怎麼辦,繼續生活在象牙塔內,內心暗暗仇視日夜加班的碼農麼?No No No,咱們不只不能仇視,還應該和他們成爲朋友,合做雙贏纔是將來。
有句話說得好,與其坐以待斃,不如融入其中。
總結一句話:夯實網絡基礎知識,同時大力發展寫代碼能力,成爲程序員的一份子。進可攻,退可守。
畢竟,程序員再強,他們對於網絡技術知識的理解仍是不如職業的網絡工程師,因此夯實網絡基礎知識很是重要。只要練好看家本領,才能開疆擴土。
同時,做爲網工的咱們,應該大力學習編程,進入程序員的領域Get新技能,把本身變成程序員,跟上時代的步伐,纔不會被時代所拋棄。
最後,以一句略帶危機感的話語,結束這篇文章:
做爲一名網工,但願你們換個角度看待當下。網絡並不只僅是OSPF,ISIS,BGP。也並不只僅是多少個CCIE。也許在地球的某個地方,破壞性的創新正在侵蝕咱們熟知的領域,最終引領咱們走向陌生。
----END-----