SDN相比傳統網絡具有很多優點,比如控制與轉發分離,這種思想打破了傳統設備供應商的綁定,提高了新業務的部署速度,可以從整個網絡層面對流量進行優化等等。在SDN網絡中,不管是開發人員還是用戶,都可以更多的發揮自己的想象,而不用再受各種RFC的強力約束。
一、傳統網絡發展及特點
從1969年ARPA NET運行算起,傳統網絡已經發展了半個世紀,網絡按照OSI的模型分成7層,通常所見最多的是二層和三層。二層就是二層交換機構成的網絡,在這個網絡中交換機學習mac地址和端口的對應關系,通過匹配二層報文的mac地址決定如何轉發。一般在一個二層網絡中,由于廣播風暴的原因,管理的設備不應超過百臺,否則會導致網路不穩定和網絡性能的下降。三層就是由路由設備連接不同網段構成的網絡,跨網段的通信都需要路由,而路由器就通過記錄IP地址和端口的對應關系連通不同的網段。不管是IPv4還是IPv6,我們能夠在世界范圍內使用internet,底層都是由二層網絡和三層網絡構成的堅實基礎。
傳統網絡從一開始就是一個分布式的網絡,沒有中心的控制節點,網路中的各個設備之間通過口口相傳的方式學習網絡的可達信息,由每臺設備自己決定要如何轉發,這直接導致了沒有整體觀念,不能從整個網絡的角度對流量進行調控。由于是口口相傳,就必須使用大家都會的語言,這就是網絡協議。各個設備供應商不能自己隨便開發協議,否則不同廠商各執己見,網絡還是不通。這樣全球性的組織就誕生了,比如IETF,而RFC就是網絡協議的法律,相當于國際法,各個設備供應商遵從國際法行事,就基本保證了整個網絡世界的正常運行。設備提供商就相當于不同的國家,與現實中一樣,法律為了適應時代的發展也在不斷的修訂補充,而各個國家基于自己利益的考慮,不斷搶占對自己更有利的山頭,想盡辦法規避其他國家主導的法律對自己的約束,傳統網絡就在博弈中不斷前進。這種由通用法律約束的發展方式,就限制了網絡運營商新業務的部署速度。網絡運營商負責對用戶提供網絡接入功能,用戶的需求千差萬別,一旦原有基礎網絡無法滿足新需求,就需要上升到協議制定修改的層面,各個設備提供商開始提出各種方案交由IETF裁決,形成新的法律,再由設備提供商實現,重新升級基礎網絡內的所有設備以支持新業務的部署。這個過程想想就覺得漫長,一般都要經過至少半年,甚至幾年的時間。
從傳統網絡的部署方式能看出來,傳統網絡新業務部署是補丁式的,因為網絡中新老設備并存,新業務必須兼容老業務,新的協議基本上都是在原有協議上進行擴展,這就大大限制的設備提供商的想象力。
傳統網絡的協議為了適應各種不同的需求場景,發展也越來越復雜,想必有傳統網絡開發和維護經驗的同學都有深刻體會吧。單說部署一個傳統的網絡,就涉及到ARP、STP、OSPF、ISIS、RIP、BGP、組播等多種協議,如果涉及VPN,又有L2VPN、L3VPN,其中又會有VPLS、PWE3、VLL、MPLS、LDP、BGP VPN擴展,而部署方式又有Martini、Kompella、Option A、Option B、Option C、跨域C&C.....,是不是看著就暈?并且由于法律的不完善,RFC中常常存在一些沒有明確的地方,這導致了各提供商的實現中存在些許差異,而如果你將要部署的網路中存在多個提供商的設備,那么這些差異很可能在將來某個時候爆發網絡問題。傳統網絡的運維工程師都是經過長年累月的學習和經驗積累成長起來的。
雖然數量眾多并且復雜,但是傳統網絡協議也有他的優點,協議本身做到了和設備提供商無關,如果理解了一個協議,那么運維工程師之間交流不會有問題,運用此協議構建的網絡都可以維護。各設備提供商的最大的差異主要集中在操作界面上。
二、SDN網絡的發展及特點
當前的SDN網絡一般都是如下形式:有一個控制器(或集群),他負責收集整個網絡的拓撲、流量等信息,計算流量轉發路徑,通過openflow協議將轉發表項下發給交換機,交換機按照表項執行轉發動作。和控制器對應,執行轉發動作的交換機一般稱為轉發器。控制面從傳統網絡的單個設備上剝離,集中到了控制器上,轉發面由轉發器構成。
網絡部署有兩種形式:一種是underlay的網絡,這種網絡中,所有的轉發行為都由控制器決定,控制器通過OpenFlow協議或者定制的BGP協議將轉發表項下發給轉發器,轉發器僅僅執行動作,沒有單獨的控制面。另一種是overlay的網絡,這種網絡的轉發器一般都是傳統設備,不支持OpenFlow,或者私有定制協議不能部署。這時就要用到隧道技術,基礎網絡還是傳統網絡形式,通過路由協議打通各個節點,但是在服務器接入點,采用隧道技術將數據報文進行封裝或者解封裝。對傳統網絡來說見到的就是普通的數據報文,轉發即可。隧道技術實際上就是報文的馬甲,迷惑網絡設備,讓設備以為是自己人,但是實際上報文的心是虛擬化的心。現在一般采用VxLan、GRE、NVGRE等隧道技術。而這些也是新增的協議,也需要升級現有網絡設備才能支持。穿馬甲雖然能夠在不進行大的改造的情況下增加新的功能,但無疑會降低網路性能,underlay方式一定是SDN網絡的終極形式。
SDN網絡的控制面,不再是口口相傳,而是集中智能,從更高的層次看整個網絡,通過軟件來控制網絡行為。這里的軟件已經不再由設備供應商綁定設備提供,而是用戶可以自己實現。SDN網絡唯一標準化的是控制器與轉發器的通信接口,就是OpenFlow,不是傳統意義上的網絡控制協議,只是一個接口,控制器和轉發器按接口實現即可,至于控制器要如何控制,轉發器要如何轉發,都是一片空白。SDN打開了一扇通往奇境的大門。
ovs已經成為轉發器實現事實上的標準,而控制器則是百家爭鳴,有ODL、ONOS、AC、Ryu等。各種控制器的實現也有不小的差異,控制原理也都不同,這就對運維人員帶來了挑戰。在傳統網絡時代懂得了協議就懂得了網絡,而在SDN時代,控制器才是網絡的核心,只有弄懂控制器實現原理,才能懂得網絡。
在現階段,OpenFlow作為接口,網絡上傳遞的報文還是按照傳統網絡時代定義的格式進行封裝,而控制器現階段能做的也僅是對報文封裝的字段進行修改。而下一階段,當P4或者華為的POF作為接口時,網絡將徹底變革,用戶不僅可以控制轉發行為,還能按需定義報文封裝格式,而不再局限于mac、ip等等。雖然更靈活,但是各個局域網絡的實現可能都不相同,對網絡運維人員來說可能會更困難,換一個網絡可能就需要學習一套新的規則。但是這也真正體現軟件定義的魅力,控制器的控制形式勢必會更加多種多樣,網絡也會進入一個新的輪回。
三、從ping的流程看傳統網絡與SDN網絡:
1.傳統網絡
如上圖拓撲,網絡中間有三臺設備構成基礎網絡,兩個客戶端屬于不同的網絡,兩個客戶端要互訪。
基礎網絡構建步驟如下:
1)由于客戶端處于不同網段,因此需要路由設備,可以用CE2作為路由設備,或者CE1、2、3均作為路由設備,這里將三臺均作為路由設備,CE1、2、3之間三層通信。
2)CE1作為CLIENT1的網關設備;CE3作為CLIENT2的網關設備,網關代答ARP。
3)CE1、CE2、CE3之間通過靜態路由或者路由協議學習 192.168.10 和192.168.20 網段的路由。
路由通路的建立主要關注兩個字段:路由前綴和下一跳。在傳統路由器上,通過命令行可以很直觀的看到各種信息之間的關聯。

上面是典型的接口信息表顯示,可以看到接口以及接口IP、狀態信息Shell
上面是典型的路由表結構,從路由表中可以看到路由匹配項及下一跳、出接口信息。要構建192.168.10.2 到192.168.20.2的通路,實際上需要讓CE1知道20網段的下一跳是10.1.1.2,CE2要知道20網段的下一跳是20.1.1.2,這樣單向通路就建立起來了,再建反向通路即可。
傳統網絡的打通,需要在途經的每一臺設備上進行配置,需要自己規劃整個網絡的拓撲、端口的IP地址、路由協議等等,在網絡構建和維護過程中都需要人工持續不斷的干預。雖然如此,但是傳統網絡中仍然有一定的智能,路由協議在配置好后,一定程度上不再需要做過多的干預。比如CE1、2、3組成的骨干網在配置好動態協議后,后續再增加同網段的新客戶端,是不需要修改配置的。但是如果要部署新業務,如VPN等,就需要對整網配置進行修改。在傳統網絡中,ping的處理流程如下:
1)在CLIENT1上ping CLIENT2
2)CLIENT1在通過ARP獲取到網關MAC后,構造ICMP request報文發往CE1
3)在CE1上解析ICMP報文,通過目的IP地址在路由表查找匹配表項,找到出接口發往CE2
4)CE2做同樣的事情,將報文發往CE3,CE3發往CLIENT2
5)CLIENT2構造應答報文發往,目的IP填192.168.10.2,發往CE3,通過路由查找過程,報文到達CLIENT1在這個過程中,接收->查找->轉發的一系列動作是設備的內部實現,對用戶來說是黑盒,實際上“查找”就是IP的在路由表中的匹配過程。
2.SDN網絡
以純underlay的SDN網絡舉例,如下圖所示拓撲:

控制器通過ovs上報的packetin消息觸發處理流程,計算好路徑后,通過openflow下發給所有轉發器,打通鏈路,主機之間能夠互通。轉發器上沒有控制面,之間也沒有交互,轉發器最基本動作就是對收到的報文上報控制器,一切的邏輯行為都由控制器負責。
在轉發器上,需要把物理口綁定到OVS上,OVS才能進行管理,所以在OVS上查看接口信息如下:

這條流表是用來將報文上送控制器的。在主機v1之間ping v2后,查看流表信息:

多了兩條流表,第一條是匹配從2口進入ovs的報文,如果報文的目的mac是v2,從ovs 1口出;第二條是匹配從1口進入ovs的報文,如果報文的目的mac是v1,從ovs2口出。可以看到這里的port已經變成了數字,要查看編號和名字的對應關系,需要通過其他的表:
可以看到在SDN網絡中的匹配和動作行為比傳統網絡要豐富的多,不僅僅是匹配前綴,轉發下一跳那么簡單了。但是SDN網絡設備的用戶界面信息表現不直觀,相比傳統網絡還有很大的提升空間。在此網絡中,ping的處理流程如下:
1) 在V1上ping V2
2) V1通過ARP獲取請求網關MAC
3) ARP報文在OVS1上匹配流表,上送控制器
4) 控制器進行ARP代答,構造ARP應答報文通過OVS1發給V1
5) V1在獲取到mac后,構造ICMP request報文發往V2
6) OVS1在收到ICMP報文后,依然不知道如何處理,繼續上送控制器
7) 控制器根據報文信息,計算轉發路徑,向轉發路徑上的所有轉發器下發流表
8) 控制器將首包通過OVS1發給OVS2,由于OVS2、OVS3上已經有可以匹配的流表,因此報文會一直送到V2上
9) V2的應答流程如上類似,差別在于反向的流表已經提前下發,V2的應答報文不會再上送控制器在SDN網絡中,對于控制器如何計算、下發什么樣的流表是沒有統一標準的,只要能正確處理主機之間的報文即可。在上面的例子中,所實現的控制器與通常的不同,由于僅存在兩臺主機,因此對于三層報文,沒有通過匹配IP的方式進行轉發,ARP的應答也并不是應答的網關mac,而是直接將目的主機的mac進行了應答,因此,雖然是三層互通,但是通過控制器,也可以做到流表直接匹配mac轉發,而不需要IP。從這也可以看到SDN的靈活性。
四、總結
傳統網絡已經經過半個世紀的發展,凝聚了無數人的智慧和心血,但是由于天生的缺陷,導致在很多場景上心有余而力不足,并且越來越復雜。SDN雖然誕生沒多久,但是已經表現出非常強的生命力。傳統網絡在安全、可靠性、可維護性和性能上還有很大的優勢,但是隨著SDN相關設備的發展,這種優勢必然會越來越弱,而SDN依靠自己的優勢,一定會不斷占領傳統網絡的領地。而在SDN內部,overlay網絡相比underlay網絡,簡化不足,復雜有余,在傳統網絡的基礎上疊加虛擬化,比傳統網絡更復雜。overlay之于underlay,就好比ipv4之于ipv6,要從根本上解決問題,underlay必然是最終的選擇。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:SDN網絡與傳統網絡對比
本文網址:http://www.guhuozai8.cn/html/consultation/10839419297.html