網絡的可靠性、冗余性自從網絡誕生以來就是一個不曾停止過討論的話題,最近阿里云發布了云骨干網這一產品,引起了業界的廣泛討論,突然覺得在廣域網領域有一些事情發生,比如基于阿里云骨干網的SD-WAN的StartUP就是一個不錯的想法。說到SD-WAN,感覺其就是在網絡可靠性與建設成本之間的Trade off,當然也會有一些靈活性在里面。
本文主要和大家分享的是從分層角度HACK網絡,首先跟隨小編一起來了解一下什么是網絡分層。
網絡分層簡介
網絡分層就是將網絡節點所要完成的數據的發送或轉發、打包或拆包,控制信息的加載或拆出等工作,分別由不同的硬件和軟件模塊去完成。這樣可以將往來通信和網絡互連這一復雜的問題變得較為簡單。
網絡層次介紹
七層模型
OSI(Open System Interconnection,開放系統互連)七層網絡模型稱為開放式系統互聯參考模型 ,是一個邏輯上的定義,一個規范,它把網絡從邏輯上分為了7層。每一層都有相關、相對應的物理設備,比如路由器(網絡層),交換機(數據鏈路層)。OSI 七層模型是一種框架性的設計方法 ,建立七層模型的主要目的是為解決異種網絡互連時所遇到的兼容性問題,其最主要的功能就是幫助不同類型的主機實現數據傳輸。它的最大優點是將服務、接口和協議這三個概念明確地區分開來,通過七個層次化的結構模型使不同的系統不同的網絡之間實現可靠的通訊。
分層的益處
建立七層模型的主要目的是為解決異種網絡互連時所遇到的兼容性問題。它的最大優點是將服務、接口和協議這三個概念明確地區分開來:服務說明某一層為上一層提供一些什么功能,接口說明上一層如何使用下層的服務,而協議涉及如何實現本層的服務;這樣各層之間具有很強的獨立性,互連網絡中各實體采用什么樣的協議是沒有限制的,只要向上提供相同的服務并且不改變相鄰層的接口就可以了。網絡七層的劃分也是為了使網絡的不同功能模塊(不同層次)分擔起不同的職責,益處如下:
1、減輕問題的復雜程度,一旦網絡發生故障,可迅速定位故障所處層次,便于查找和糾錯。
2、在各層分別定義標準接口,使具備相同對等層的不同網絡設備能實現互操作,各層之間則相對獨立,一種高層協議可放在多種低層協議上運行
3、能有效刺激網絡技術革新,因為每次更新都可以在小范圍內進行,不需對整個網絡動大手術
從分層角度HACK網絡
1、地溝
首先我們的討論的網絡的負一層:地溝,一般運營商做網絡可靠性保護時都要求主備鏈路不能同溝同纜,這里的同溝就是指的這一層,千萬不要小看這一層,這可是黨的特權,不是你想挖就能挖的,一般也是最耗時的一層。站在這一層去看可靠性的一般都是土豪,比如我們做城域網或者長傳波分的環路保護,在兩個節點之間至少要挖兩條溝,導致成本直接是Double的。作為普通的用戶,在這一層能做的事情也就有限了,甚至可以忽略。0X01物理層
這里的物理層主要就是光纖了,光纖都是放在地溝里面的,受限于上面地溝這一層,因此用戶能做的事情類似。
2、數據鏈路層
這里拿以太網舉例,從最初HUB的工作原理來講直接就是廣播(當然還有輔助的CSMA/CD),看上去像一個粗人的玩法,但是在特殊的場景也是一種比較有效的方法,比如在電信領域,有些廠家為了滿足50ms的倒換時間,也是簡單粗暴的直接把數據包發送兩份通過不同的路徑傳送到核心網來保證切換時的低延時,個人認為這也是對廣播的一次應用,當然你也可以說這是一種帶寬換時間的做法。
還有就是在VR游戲領域,為了獲取實時性的低延時,現場攝像頭采集的畫面信息、各個背包機的位置更新、手柄的信息等都是通過廣播來通信的,一方面是有多對一或者一對多的互通需求,另一方面就是通過廣播來提高網絡的可靠性。當然這里提到應用場景,可能網工覺得這是瞎搞,不符合網絡的規則,可是我想說的是誰讓業務需求這么奇葩呢,網絡本來就是為應用服務的,只能是不管白貓黑貓,能夠抓住老鼠的貓就是好貓。
這里說的主要是思路,如果你有這樣的業務需求,可以往這個方向去考慮。
3、網絡層
網絡主要是IP,這里也是網工的主戰場,大部分的網絡冗余性都是在這里實現,那些牛X的動態路由協議也在這里施展拳腳。除了路由協議自己實現的主備或者負載的冗余技術,這里簡單提幾個小的TIPs。比如大家都知道路由是遞歸查詢的,利用遞歸我們可以解決一些棘手的問題,比如有些廠家的PBR僅支持多個下一跳的負載或者主備,我們可以把下一跳遞歸到靜態路由,通過調用靜態路由的特性來實現相關功能(負載或者主備或者BFD檢測等)。
還有在163類似的骨干網中使用的虛擬下一跳技術,也是使用了路由的遞歸查詢來實現網絡冗余。還有就是上層對下層的復用,比如多個IP網絡復用同一個以太網網絡,具體到端口就是一個物理端口配置使用多個IP地址,再擴展一下就是同一個以太網段使用不同的IP地址網段來滿足特定的需求。
4、傳輸層
這里就是”類F5”的天下了,通過前置負載均衡調度來實現應用級別的網絡可靠性。當然“類F5”還有其他的功能,舉個例子,大家玩Openstack的都知道Neutron模塊所實現的Floating IP僅支持IP級別的公私網映射,但是大家都知道IPv4是很珍貴的,特別是在天朝,一般公司很少有幾個C以上級別的地址。但是我們可以通過在Horizon配置負載均衡來實現端口級別的映射,只需添加一臺Real Server來代替內網主機就可以了,這也算是一個Trade off吧,風險自行評估,各位新老司機量力而行。
當然傳輸層對網絡層的復用應該就是端口級別的復用了,應用比較廣泛的就是NAT映射,這個大家應該都玩的比較溜,不再展開。各種OVERLAY的技術也在此應用,大部分都是UDP封裝IP或UDP直接封裝以太網(VXALN),這應該算是下層對上層的復用?
這里從網絡分層的角度列舉了每層可以Hack的技術,可以每層單獨使用,也可以組合使用,比如網絡層無法解決的問題可以轉嫁到傳輸層或者數據鏈路層,物理層無法解決的問題也可以轉網絡層。
-
網絡分層
+關注
關注
1文章
6瀏覽量
9076
發布評論請先 登錄
巧妙解決路由器網絡分層問題
關于網絡分層結構的介紹
網絡協議osi的分層
利用指定群首設計自組網分層路由協議
認知Mesh網絡的動態分層圖路由模型及路由策略
路由器網絡分層問題分析
網絡安全分層控制方案
無線傳感器網絡分層路由協議HRPNC
基于分層身份的網絡密鑰協商協議
干貨| PCB分層教程秒懂

評論