轉(zhuǎn)載
項目背景
兩臺UDP SERVER,通過F5實現(xiàn)硬件的UDP負(fù)載均衡,發(fā)現(xiàn)UDP SERVER上會定期收到F5的UDP探測包,但是UDP SERVER并沒有對這些探測包做過任何響應(yīng),所以不明白F5是如何知道UDP SERVER是活的還是死的?
兩臺UDP SERVER
172.28.17.52
172.28.17.54
VIP
172.28.26.13
主備F5
172.28.26.251
172.28.26.252
當(dāng)把兩臺UDP SERVER都停掉之后,F(xiàn)5顯示如下:
紅色代表不可達(dá)
當(dāng)單獨啟動52的UDP SERVER后,F(xiàn)5顯示如下:
52的服務(wù)器上日志顯示一直在收包,ip是F5的
但是就程序而言,本身是并沒有對探測包做出任何響應(yīng)的,所以抓包看看
52的機(jī)器上只發(fā)現(xiàn)有F5來的探測包,并沒有發(fā)現(xiàn)有52回過去的響應(yīng)包
54上再抓包,54進(jìn)程停掉了
54進(jìn)程不在,F(xiàn)5依然是在持續(xù)的發(fā)探測包的,UDP,同時可以看出54給F5回了ICMP的包,destination unreachable,搞之F5設(shè)備,當(dāng)前機(jī)器不可達(dá),此時F5就知道了54不可達(dá),隨即更自己維護(hù)的節(jié)點狀態(tài)信息
那么ICMP報文的作用是什么呢?
ICMP協(xié)議主要用來檢測網(wǎng)絡(luò)通信故障和實現(xiàn)鏈路追蹤,最典型的應(yīng)用就是PING和tracerooute。
PING:
通過發(fā)送回送請求報文和回送回答報文來檢測源主機(jī)到目的主機(jī)的鏈路是否有問題,目的地是否可達(dá),以及通信的延遲情況。
traceroute:
通過發(fā)送探測報文來獲取鏈路地址信息。第一個探測報文TTL為1,到達(dá)第一個路由器時,TTL減1為0所以丟掉這個探測包,同時向源主機(jī)發(fā)回ICMP時間超過報文,這時源主機(jī)就獲得了第一個路由器的IP地址;接著源主機(jī)發(fā)送第二個探測報文,TTL增1為2,到達(dá)第一個路由器TTL減1為1并轉(zhuǎn)發(fā)探測包到第二個路由器,這時TTL減1為0,丟掉這個探測包并向源主機(jī)發(fā)回ICMP時間超過報文,源主機(jī)就獲得了第二個路由器的IP地址;以此類推,直到探測報文到達(dá)traceroute的目的地,這時源主機(jī)就獲得了到目的地的每一跳路由的IP地址。
由此不難看出為什么F5能知道后端real server的節(jié)點狀態(tài)了
本文章為轉(zhuǎn)載內(nèi)容,我們尊重原作者對文章享有的著作權(quán)。如有內(nèi)容錯誤或侵權(quán)問題,歡迎原作者聯(lián)系我們進(jìn)行內(nèi)容更正或刪除文章。
相關(guān)文章