BGP網絡學習總結


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網絡,https://zhuanlan.zhihu.com/p/25433049

3、BGP流量引流和回注

  雲計算廠商需要保證客戶網絡的正常,通常會為單個公網IP提供數G的防護能力,當超過默認的閾值,公網IP備遷移到黑洞中,進行封堵。這樣導致用戶的服務不可訪問了,客戶為了正常訪問服務,就需要接入BGP高防,防護能力高達數百G,來保護服務正常。高防的費用是非常高的,通常雲廠商自己搭建高防系統,通過BGP協議將流量引流到高防清洗系統,將異常流量清洗掉,將正常流量回注給客戶。參考華為的DDos防護系統http://forum.huawei.com/enterprise/thread-388785-1-1.html

4、搭建BGP引流和回注

  使用Linux下開源的Quagga開源搭建基於BGP協議的路由器,Quagga守護進程負責BGP的服務叫bgpd。關於如何使用Quagga搭建一個BGP路由器,可以參考:

https://linux.cn/article-4609-1.html

路由器A和路由器B使用100.100.0.0/30子網來連接到對方。

  技術實現目前可以使用Intel開源的DPDK網絡開發包快速開發,使用KNI新建一個虛擬網卡,配置好與上層交互機建立BGP,然后通過虛擬網絡將流量引入,分析流量過后,使用回注口將報文使用二層MAC送回到交換機。關於DPDK的介紹可以參考:https://www.jianshu.com/p/0ff8cb4deaef


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM