1、前言
雲計算在中國發展越來越快,企業逐步開始將業務遷移到公有雲中,方便運維,節省成本。公有雲最複雜的地方是網路,客戶對網路的需求千奇百怪,造成網路環境極其複雜,稍有不慎,就會出現網路連通性問題。因此大部分雲計算廠商機房網路型別的運營商接入均為 bgp 多線路,保證線路質量。公有雲中網路安全也是非常重要,例如ddos攻擊,網域名稱未備案封堵系統。我在工作中接觸到了bgp高仿和網域名稱未備案封堵系統,今天總結一下自己對bgp網路的理解,涉及的內容有什麼是bgp,bgp用來解決什麼問題,雲計算廠商中bgp機房有啥優勢,bgp高防如何做到引流和回注,網域名稱未備案系統是怎麼實現的。
2、bgp網路介紹
目前中國境內主要分為網通、電信、移動、聯通、教育網、科技網、衛通等網路,由於這些公司獨立運作,造成國內長久以來整個網際網路處於無法快速互聯互通的局面,如何將各個as自製系統連通起來,就需要搭建bgp網路。
在介紹bgp協議之前,先介紹幾個概念:
(1) as(autonomous system):自治系統,指在乙個(有時是多個)組織管轄下的所有ip網路和路由器的全體,它們對網際網路執行共同的路由策略。也就是說,對於網際網路來說,乙個as是乙個獨立的整體網路。而bgp實現的網路自治也是指各個as自治。每個as有自己唯一的編號。
(2)igp(interior gateway protocol):內部閘道器協議,在乙個as內部所使用的一種路由協議。乙個as內部也可以有多個路由器管理多個網路。各個路由器之間需要路由資訊以知道子網路的可達資訊。igp就是用來管理這些路由。代表的實現有rip和ospf。
(3)egp(exterior gateway protocol):外部閘道器協議,在多個as之間使用的一種路由協議,現在已經淘汰,被bgp取而代之。
bgp(border gateway protocol)主要用於網際網路as(自治系統)之間的互聯,bgp的最主要功能在於控制路由的傳播和選擇最佳路徑。全國各大網路運營商多數都是通過bgp協議與自身的as號來實現多線互聯的。使用bgp協議互聯後,網路運營商的所有骨幹路由裝置將會判斷到idc機房ip段的最佳路由,以保證不同網路運營商使用者的高速訪問。
動態bgp多線網路,路由表項是通過相互連線的路由器之間交換彼此路由資訊,然後按照一定的演算法優化出來的,而這些路由資訊是在一定時間間隙裡不斷更新,以適應不斷變化的網路,以隨時獲得最優的尋路效果。為了實現ip分組的高效尋路,ietf制定了多種尋路協議。也就是說,當靜態bgp中的網路結構發生變化,運營商是無法在第一時間自動調整網路設定以保障使用者的體驗度。而動態bgp可根據設定的尋路協議第一時間自動優化網路結構,以保持客戶使用的網路持續穩定、高效。所以,動態bgp網路被稱為真正意義上的bgp。
知乎上有乙個非常=通俗易懂的例子講解為什麼需要bgp網路,
3、bgp流量引流和回注
雲計算廠商需要保證客戶網路的正常,通常會為單個公網ip提供數g的防護能力,當超過預設的閾值,公網ip備遷移到黑洞中,進行封堵。這樣導致使用者的服務不可訪問了,客戶為了正常訪問服務,就需要接入bgp高防,防護能力高達數百g,來保護服務正常。高防的費用是非常高的,通常雲廠商自己搭建高防系統,通過bgp協議將流量引流到高防清洗系統,將異常流量清洗掉,將正常流量回注給客戶。參考華為的ddos防護系統:
4、搭建bgp引流和回注
使用linux下開源的quagga開源搭建基於bgp協議的路由器,quagga守護程序負責bgp的服務叫bgpd。關於如何使用quagga搭建乙個bgp路由器,可以參考:
路由器a和路由器b使用100.100.0.0/30子網來連線到對方。
技術實現目前可以使用intel開源的dpdk網路開發包快速開發,使用kni新建乙個虛擬網絡卡,配置好與上層互動機建立bgp,然後通過虛擬網路將流量引入,分析流量過後,使用回注口將報文使用二層mac送回到交換機。關於dpdk的介紹可以參考:
BGP學習總結
bgp學習總結 bgp是目前使用的唯一的自治系統間的路由協議,它是一種向量路由協議,基於tcp的179號埠,它採用單播增量更新的方式更新路由,與其他的路由協議不同的是,bgp只要tcp可達,就可以建立對等體關係,bgp需要手工顯式的指定對等體關係。一 常見術語 1 bgp的發言者 傳送bgp訊息的路...
網路協議 BGP
bgp報文 直連建立鄰居時需要注意 建立ibgp鄰居時要保證下一跳可達,處於邊界的ibgp鄰居需要將下一跳指向自己,這樣才能建立ibgp 用環回口建鄰居時需要注意 需要修改更新源,預設更新源是物理口,你需要修改自己環迴口,建立ibgp鄰居時要保證下一跳可達,處於邊界的ibgp鄰居需要將下一跳指向自己...
BGP屬性總結
bgp與igp區別 igp追求速度 bgp沒有追求速度的包袱,不需要有很強的演算法 bgp特性 追求 穩定性強 操控性強 可靠性強 承載性強 可靠性 tcp承載協議報文,tcp開銷大,慢對bgp沒有影響 穩定性 不觸發更新,不週期更新,只做增量更新,使用環境本身就是穩定態 承載性 一定不能使用鏈路狀...