一針見血,言簡意賅的總結
bgp+anycast就是不同服務器用了相同的ip地址
anycast 技術特點
bgp+anycast就是多個主機使用相同ip地址的一種技術,當報文發給該地址時,根據路由協議,選擇最近(跳數最少)的主機服務。
因此,當某台主機服務量大,或者被攻擊,到該主機的距離變長,使得報文被發送給另外的主機。
所以,bgp+anycast天然支持負載均衡和抵抗ddos攻擊
anycast 原理
-
Multicast(多播):它是指網絡中一個節點發出的信息被多個節點收到。實際上,在數據鏈路層和網絡層都有Multicast,通常所說的Multicast大多是針對IP的。這種技術用於多媒體應用、多用戶交互(如聊天室)、軟件分發等,相比與傳統的Unicast可以大大提高效率。在子網內實現 Multicast 較為簡單,跨越子網時需要路由器、網關等設備的支持。
-
Unicast(單播):在客戶端與媒體服務器之間需要建立一個單獨的數據通道,從一台服務器送出的每個數據包只能傳送給一個客戶機,這種傳送方式稱為單播。指網絡中從源向目的地轉發單播流量的過程。單播流量地址唯一。每個用戶必須分別對媒體服務器發送單獨的查詢,而媒體服務器必須向每個用戶發送所申請的數據包拷貝。這種巨大冗余首先造成服務器沉重的負擔,響應需要很長時間,甚至停止播放;管理人員也被迫購買硬件和帶寬來保證一定的服務質量。文字單播方式下,只有一個發送方和一個接收方。與之比較,組播是指單個發送方對應一組選定接收方。
-
Anycast中文稱為任意播。集Multicast和Unicast的特性於一身
- 從宏觀上來說,Anycast類似於Multicast,同一種類型的數據流同時存在多個接收者。
- 從微觀上來說,Anycast又有着Unicast的唯一性。每一個單獨的IP會話都能夠找到唯一的源主機和目標主機。
和BGP結合(使用BGP,可實現ip不沖突)
- 設置多個服務器IP為相同IP,如1.1.1.1
- 通過各個站點的BGP對互聯網宣告1.1.1.0/24的網段
- 以上步驟完成以后,互聯網路由表針對1.1.1.1/24會有三個不同的出口路由器,分別是北京,上海,廣州(舉例)
- 因為所有用戶都使用1.1.1.1作為他們的服務器,不同地區的用戶根據就近原則,選擇相應的主機。