網(wǎng)絡(luò)是數(shù)據(jù)中心最重要的組成部分。為了實現(xiàn)各種設(shè)備的互聯(lián)互通,并滿足多種業(yè)務(wù)需求,網(wǎng)絡(luò)技術(shù)也在不斷發(fā)展與完善。作為網(wǎng)絡(luò)協(xié)議發(fā)展歷史過程記錄的RFC文擋,從第一篇RFC開始,到現(xiàn)在已經(jīng)有了8000多篇,形成標準的大大小小以太網(wǎng)協(xié)議類型有數(shù)十種,這些協(xié)議分別應(yīng)用于不同的網(wǎng)絡(luò)場景。就算有這些網(wǎng)絡(luò)協(xié)議,也依然滿足不了現(xiàn)實業(yè)務(wù)的高速發(fā)展需求,所以出現(xiàn)了各種網(wǎng)絡(luò)封裝協(xié)議。比如:IPv4 over IPv6,MAC over IP,GER,MPLS等,通過增加報文封裝頭的方式賦予更多的含義。在這些網(wǎng)絡(luò)協(xié)議中,有這樣一類協(xié)議,它們需要和別的協(xié)議進行配合才能完成某些網(wǎng)絡(luò)動作,即網(wǎng)絡(luò)聯(lián)動協(xié)議。之所以將網(wǎng)絡(luò)聯(lián)動協(xié)議單獨拿出來說,是因為在數(shù)據(jù)中心網(wǎng)絡(luò)部署時,有時一般的網(wǎng)絡(luò)協(xié)議功能無法滿足業(yè)務(wù)要求時,采用多種協(xié)議聯(lián)動的方式或許可以很好地解決問題,而恰恰在眾多的網(wǎng)絡(luò)協(xié)議里,這些聯(lián)動協(xié)議卻很少有人關(guān)注,甚至被人遺忘在了角落里。其實網(wǎng)絡(luò)聯(lián)動可以解決很多網(wǎng)絡(luò)問題,尤其是涉及到網(wǎng)絡(luò)業(yè)務(wù)切換性能的應(yīng)用,聯(lián)動協(xié)議是解決這類問題的最好方式。那下面就來詳細講講這些聯(lián)動協(xié)議技術(shù),以便廣大的網(wǎng)絡(luò)技術(shù)工程師可以在日常的數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)計、運維中大膽使用,滿足更多業(yè)務(wù)應(yīng)用的部署要求。
HWPING
HWPING是一種網(wǎng)絡(luò)檢測工具,用以測量網(wǎng)絡(luò)上運行的各種協(xié)議的性能,可以實現(xiàn)比普通PING命令更多的功能。HWPING可以判斷目的主機是否可達,還可以測試DHCP、FTP、HTTP、SNMP等服務(wù)是否打開以及測試各種服務(wù)的響應(yīng)時間等。最重要的是HWPING可以和多種網(wǎng)絡(luò)協(xié)議進行聯(lián)動,根據(jù)事先定義好的HWPING檢測結(jié)果的判斷標準,來執(zhí)行相應(yīng)的網(wǎng)絡(luò)聯(lián)動協(xié)議動作。HWPING可以和靜態(tài)路由、接口備份、VRRP等幾個功能聯(lián)動。比如采用HWPING的ICMP探測與靜態(tài)路由聯(lián)動,就可以使用HWPING來周期性地向特定的目的IP地址發(fā)送ICMP報文,等待回應(yīng)。當對端的設(shè)備沒有在規(guī)定的時間內(nèi)回應(yīng)足夠的報文,HWPING就會與靜態(tài)路由聯(lián)動,調(diào)整路由。我們知道像OSPF/ISIS這些協(xié)議,Hello報文超時都要20多秒,而通過HWPING則沒有回應(yīng)就可以執(zhí)行聯(lián)動動作,比路由協(xié)議要快。還有VRRP也是,使用HWPING探測特定IP地址,沒有回應(yīng)就降低VRRP的優(yōu)先級,進行VRRP切換。不過HWPING已經(jīng)是一種古老的技術(shù),在如今的網(wǎng)絡(luò)環(huán)境中,靠HWPING的探測方式已經(jīng)比較少了。伴隨著各種新協(xié)議的出現(xiàn),HWPING逐漸退出了網(wǎng)絡(luò)世界。
BFD與路由
BFD協(xié)議也是一個用于檢測兩個轉(zhuǎn)發(fā)點之間故障的網(wǎng)絡(luò)協(xié)議,在RFC 5880中有詳細的描述。為什么說HWPING已過時,是因為像BFD協(xié)議可以提供毫秒級的檢測,精度要比HWPING高得多,實現(xiàn)BFD與上層路由協(xié)議的快速聯(lián)動,確保業(yè)務(wù)的永續(xù)性。一般網(wǎng)絡(luò)設(shè)備要部署B(yǎng)FD,對網(wǎng)絡(luò)設(shè)備的CPU有較高要求,一般只有用多核CPU技術(shù),或者多CPU方式才能滿足,也就是單獨用一個核或者CPU來處理BFD報文,確保BFD報文的快速處理。比如:設(shè)置BFD超時時間是100MS,連續(xù)三個包丟失就認為BFD失效,那么就是300MS,一般的網(wǎng)絡(luò)設(shè)備如果遇到攻擊或者業(yè)務(wù)繁忙的情況下,CPU處理報文的速度就會降低,處理一個報文花上幾百毫秒是很可能的,這樣就無法滿足BFD協(xié)議的要求,所以后來BFD協(xié)議又細分為快速BFD和普通BFD,只有快速BFD才能達到毫秒級的檢測,支持這種快速BFD檢測的設(shè)備一定是采用的多核CPU或者是多個CPU,用一個核或CPU單獨處理BFD協(xié)議。與BFD協(xié)議聯(lián)動最多的就是路由協(xié)議,幾乎所有的路由協(xié)議都支持與BFD協(xié)議聯(lián)動,根據(jù)BFD協(xié)議檢測的結(jié)果,來改變當前設(shè)備路由的學(xué)習情況。
MAD與端口
在虛擬化的網(wǎng)絡(luò)設(shè)備中,一般這樣的設(shè)備是由多臺物理設(shè)備虛擬的一臺設(shè)備。當設(shè)備分裂后,一下子相當于網(wǎng)絡(luò)中出現(xiàn)了多臺設(shè)備MAC、IP都一樣的設(shè)備,顯然這樣會影響業(yè)務(wù)的正常轉(zhuǎn)發(fā)。在這種情況下,MAD技術(shù)就可以發(fā)揮作用了。在虛擬化環(huán)境中部署MAD技術(shù),可以在設(shè)備發(fā)生分裂后,及時將備用設(shè)備的端口全部SHUTDOWN掉,這樣網(wǎng)絡(luò)中實際只保持有一臺設(shè)備轉(zhuǎn)發(fā),如果網(wǎng)絡(luò)流量不是很大的情況下,這樣即使分裂了,業(yè)務(wù)也不會受到影響。MAD一般是通過LACP協(xié)議報文內(nèi)容或者BFD協(xié)議報文內(nèi)容實現(xiàn)檢測。比如采用LACP方式,實際上是利用LACP協(xié)議的擴展特性,在LACP報文中攜帶Active-ID字段的TLV,當虛擬化設(shè)備分裂后,通過LACP報文交互就可以感知到不同Active-ID的存在,這樣就可以執(zhí)行MAD的動作,將備框設(shè)備的外連端口全部SHUTDOWN(堆疊端口除外),這是一種在虛擬化網(wǎng)絡(luò)環(huán)境中使用非常廣泛的協(xié)議聯(lián)動技術(shù)。
Monitor Link
Monitor Link是一種端口聯(lián)動的技術(shù),主要用于配合二層拓撲協(xié)議的組網(wǎng)應(yīng)用,通過監(jiān)控設(shè)備的上行端口,根據(jù)其UP/DOWN狀態(tài)的變化來觸發(fā)下行端口UP/DOWN狀態(tài)的變化。說白了就是將網(wǎng)絡(luò)設(shè)備上的兩個端口配置到一個Monitor Link組中,當其中的一個端口UP/DOWN時,組內(nèi)的其它端口同步進行UP/DOWN。這樣多端口同步UP或DOWN,可以加快二層網(wǎng)絡(luò)的流量切換,避免長時間的網(wǎng)絡(luò)斷流,尤其是在四臺以上口字型組網(wǎng)中,只有采用Monitor Link技術(shù),才能保證端口切換時,網(wǎng)絡(luò)不斷流量。Monitor Link是Smart Link協(xié)議的有力補充,經(jīng)常在Smart Link的組網(wǎng)環(huán)境中部署Monitor Link。
如果你覺得這些聯(lián)動協(xié)議還不夠,那你完全可以自己設(shè)計一種聯(lián)動協(xié)議,那么也許又是一篇RFC文檔,只要你的設(shè)計能解決一些其它聯(lián)動技術(shù)解決不了的問題,并且設(shè)計符合實際應(yīng)用,那就有可能被IETF所采納。網(wǎng)絡(luò)聯(lián)動協(xié)議技術(shù)實際上很簡單,就是兩種協(xié)議,一個檢測一個動作,因果的關(guān)系。正是因為這些聯(lián)動協(xié)議簡單實用,所以才在二、三層轉(zhuǎn)發(fā),端口,虛擬化等應(yīng)用中都有涉及。掌握這些網(wǎng)絡(luò)聯(lián)動協(xié)議,將使得你的數(shù)據(jù)中心網(wǎng)絡(luò)變得更加靈活。