心跳檢測在數(shù)據(jù)中心網(wǎng)絡(luò)里應(yīng)用非常廣泛。首先,幾乎所有的動態(tài)協(xié)議都離不開心跳檢測,比如:OSPF動態(tài)路由協(xié)議要使用心跳檢測來維持鄰居關(guān)系,當(dāng)連續(xù)幾個心跳間隔時間收不到對端鄰居發(fā)過來的Hello報文時,OSPF鄰居狀態(tài)就要進(jìn)行切換;STP環(huán)網(wǎng)協(xié)議要使用心跳檢測來維護(hù)端口角色關(guān)系,當(dāng)因環(huán)路通過STP協(xié)議將部分端口阻塞時,當(dāng)連續(xù)收不到STP BPDU報文時,STP協(xié)議會將阻塞端口放開,還有DLDP、BGP、VRRP等等,只要有狀態(tài)機(jī)的協(xié)議都需要用到心跳檢測。其次,在數(shù)據(jù)中心網(wǎng)絡(luò)層面,采用心跳對網(wǎng)絡(luò)轉(zhuǎn)發(fā)狀態(tài)進(jìn)行監(jiān)控。比如:在整個網(wǎng)絡(luò)中部署PING工具,或者通過網(wǎng)管軟件對所有網(wǎng)絡(luò)設(shè)備可達(dá)性進(jìn)行檢測。這些心跳檢測多是通過周期性地發(fā)送PING或者Tracert報文判斷網(wǎng)絡(luò)可達(dá)性,如果發(fā)現(xiàn)不可達(dá)執(zhí)行相應(yīng)的動作,或是網(wǎng)絡(luò)切換,或是業(yè)務(wù)層面的切換甚至是數(shù)據(jù)中心之間的切換。有時也可以用TCP報文或者UDP報文進(jìn)行檢測,雖然心跳檢測報文內(nèi)容不同,目的都一樣,就是為了及時發(fā)現(xiàn)網(wǎng)絡(luò)異常,執(zhí)行相應(yīng)的應(yīng)對策略。第三,在網(wǎng)絡(luò)設(shè)備內(nèi)部為了維持一些功能的正常也使用了心跳檢測,通過心跳檢測判斷設(shè)備內(nèi)部功能運(yùn)行狀態(tài)。比如:堆疊環(huán)境中采用的MAD檢測,這個MAD協(xié)議通過與BFD、LACP、ARP動態(tài)協(xié)議聯(lián)動,達(dá)到監(jiān)控堆疊環(huán)境正常與否的目的,這些動態(tài)協(xié)議會通過心跳檢測維持相應(yīng)的鄰居狀態(tài),MAD協(xié)議也通過這些心跳檢測實(shí)現(xiàn)堆疊環(huán)境的監(jiān)控;在框式的交換機(jī)或路由器中,在板卡之間也通過周期性的發(fā)送心跳檢測,判斷板卡是否在位,當(dāng)發(fā)現(xiàn)板卡沒有回應(yīng)時,就要考慮將板卡進(jìn)行隔離,以便及時消除板卡故障對業(yè)務(wù)造成的長時間影響,類似的心跳檢測應(yīng)用還有很多。由此可見,心跳檢測在網(wǎng)絡(luò)設(shè)備內(nèi)部和網(wǎng)絡(luò)中使用都非常廣泛,是一種使用頻率最高的最為實(shí)用的技術(shù)。
心跳檢測技術(shù)很簡單,這也是其使用最為廣泛的原因。心跳檢測的構(gòu)成元素有幾個:通過定時器確定發(fā)包間隔,根據(jù)定時器周期性發(fā)送心跳報文。根據(jù)協(xié)議特點(diǎn)確定檢測超時的時長,即在超時時間內(nèi)沒有收到心跳檢測報文,即認(rèn)為狀態(tài)發(fā)生變化。簡單講就是發(fā)包間隔和發(fā)包次數(shù),再利用心跳報文完成檢測。在實(shí)際應(yīng)用中,不同協(xié)議和應(yīng)用對時間的要求有不同要求,這就使得不同協(xié)議使用心跳檢測的發(fā)包間隔和次數(shù)并不同,有些協(xié)議心跳間隔達(dá)到毫秒級,而有的協(xié)議心跳間隔有分鐘級,有的協(xié)議心跳連續(xù)發(fā)送三個報文即認(rèn)為超時,而有的協(xié)議心跳要連續(xù)發(fā)送十幾個才認(rèn)為超時。很多時候發(fā)包間隔和發(fā)包次數(shù)都是可以手工調(diào)整,要根據(jù)實(shí)際網(wǎng)絡(luò)情況,配置適合自己網(wǎng)絡(luò)的數(shù)值,這時往往需要豐富的網(wǎng)絡(luò)經(jīng)驗,采用將參數(shù)設(shè)置適當(dāng),這對于網(wǎng)絡(luò)穩(wěn)定性非常關(guān)鍵。比如:在一個復(fù)雜的網(wǎng)絡(luò)環(huán)境中,將OSPF的Hello心跳設(shè)置為1秒發(fā)送一次,3秒超時也許就不是一個合適參數(shù),這樣當(dāng)網(wǎng)絡(luò)稍有動蕩時,OSPF就會發(fā)生震蕩,引起路由的震蕩,對業(yè)務(wù)造成影響,此時可以適當(dāng)將OSPF的心跳時間調(diào)長,提升OSPF協(xié)議穩(wěn)定性。另外,心跳檢測使用的定時器的精度也影響到檢測的準(zhǔn)確性,一般網(wǎng)絡(luò)設(shè)備采用的都是軟件定時器,這個定時器是通過設(shè)備內(nèi)部的時鐘主頻計算得來的,這個時間精度是有誤差的,一般的網(wǎng)絡(luò)設(shè)備運(yùn)行一年的時間偏差可能達(dá)到十幾個小時,這樣依賴時鐘的定時器就會有誤差,從而影響到心跳超時的判斷,在設(shè)定心跳檢測超時時間時也要考慮這個因素,以免心跳監(jiān)測出現(xiàn)誤判。心跳檢測在發(fā)現(xiàn)異常時直到狀態(tài)發(fā)生變化時需要時間,這個時間長短雖然是可以設(shè)置的,但如果設(shè)置的過短容易引起誤判。而且,即便再短,實(shí)際上網(wǎng)絡(luò)已經(jīng)出現(xiàn)了異常,比如STP心跳檢測發(fā)現(xiàn)環(huán)路已經(jīng)消除,需要將阻塞端口放開,這個需要超時時間,在這段時間內(nèi)網(wǎng)絡(luò)業(yè)務(wù)是有影響的,所以在心跳檢測超時時間還未到的這段時間里,網(wǎng)絡(luò)業(yè)務(wù)是會受到影響的,所以心跳檢測是一種有損技術(shù),影響的大小與超時設(shè)置有關(guān)。
心跳檢測技術(shù)簡單實(shí)用,在傳統(tǒng)的數(shù)據(jù)中心網(wǎng)絡(luò)中已經(jīng)使用的極其頻繁和廣泛,心跳檢測技術(shù)也是實(shí)現(xiàn)數(shù)據(jù)中心容災(zāi)備份的基礎(chǔ)。利用心跳檢測作為數(shù)據(jù)中心容災(zāi)監(jiān)控手段,當(dāng)出現(xiàn)超時的時候,及時啟動容災(zāi)的備份數(shù)據(jù)中心運(yùn)行,避免業(yè)務(wù)長時間受到影響??焖佟?zhǔn)確,高效的心跳檢測是實(shí)現(xiàn)數(shù)據(jù)中心網(wǎng)絡(luò)穩(wěn)定的基礎(chǔ),通過對不同物理位置故障節(jié)點(diǎn)的檢測并采取有效的措施,以保障數(shù)據(jù)中心的正常運(yùn)作與用戶業(yè)務(wù)的連續(xù)性。隨著云計算、大數(shù)據(jù)、虛擬化的應(yīng)用,數(shù)據(jù)中心網(wǎng)絡(luò)也變得異常復(fù)雜,通過簡單心跳檢測判斷有時過于武斷,出錯的可能性增大,所以新一代數(shù)據(jù)中心心跳檢測技術(shù)也引入了神經(jīng)網(wǎng)絡(luò)、模擬綜合判斷等方法,利用這些新技術(shù)綜合判斷,增加心跳檢測判斷的準(zhǔn)確性。