why:
為了系統的高可靠性,一般采用兩台機器同時完成一項功能。比如數據庫服務器,平常只有一台機器對外提供服務,另一台機器作為熱備;當這台機器出現故障時,自動動態切換到另一台熱備的機器。
而為了快速切換主備,可以考慮使用VIP技術(Virtual IP Address,VIP就是一個未分配給真實機器的IP),具體操作如下:
在一個高效的主備環境下。主機器除使用自己的IP外,還可以使用一個VIP,進行訪問。在服務提供時,僅僅暴露VIP。如果主機器出現異常,就可以快速將VIP關聯到備機器上。這樣服務使用者就可以無感知的一直使用VIP獲得穩定的服務。
what:
VIP是依賴TCP/IP協議族中的ARP協議實現的。在網絡通信中,IP只是一個邏輯地址,在以太網中實際用來信息傳輸的物理地址是設備的MAC地址。每台主機(設備)都有一個ARP高速緩存,該緩存中存儲了同一網絡中IP地址和MAC地址的映射關系。發送數據時,主機(設備)會先從該緩存中獲得目的IP地址對應的真實的MAC地址,然后向該MAC地址發送數據。操作系統是自定維護這個緩存的。
栗子:
一台機器上的ARP緩存;

當主機宕機后,ARP緩存會變成這樣:

ARP緩存變更的原因:當218備機發現217故障后,會向網絡中發ARP數據包(告訴:219對於的mac地址變更為00:21:5A:AB:E8)。這樣所有收到通知的機器都會更新自己的ARP緩存,那么后續發給219的數據,就會發到MAC地址是E8的機器上,即218上面。
ARP協議見:
