0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

圖解BGP協(xié)議:路由選擇與網(wǎng)絡(luò)安全

SDNLAB ? 來源:SDNLAB ? 2023-03-17 09:45 ? 次閱讀

一張紙上的A、 B 兩個(gè)點(diǎn),很容易就可以找到最佳連線方式,但如果 A 點(diǎn)是計(jì)算機(jī),而 B 點(diǎn)是地球另一端的網(wǎng)站,如何從這紛亂復(fù)雜的線路中,找到最佳路徑呢?

4066fb04-c44b-11ed-bfe3-dac502259ad0.png

在這種情況下,BGP(邊界網(wǎng)關(guān)協(xié)議)可根據(jù)可達(dá)性和路由信息,權(quán)衡最新網(wǎng)絡(luò)狀況,從而找到最佳路徑。

4072e22a-c44b-11ed-bfe3-dac502259ad0.png

BGP是一種路由協(xié)議,它定義了在AS(自治系統(tǒng))之間交換路由信息的方法。BGP 管理數(shù)據(jù)包如何在構(gòu)成互聯(lián)網(wǎng)的大型網(wǎng)絡(luò)之間傳輸,并使互聯(lián)網(wǎng)能夠高效運(yùn)行。

在深入了解BGP之前,我們先來認(rèn)識(shí)幾個(gè)基礎(chǔ)概念。

01

什么是路由協(xié)議?

路由協(xié)議是一種指定數(shù)據(jù)包轉(zhuǎn)送方式的協(xié)議?;ヂ?lián)網(wǎng)由錯(cuò)綜復(fù)雜的網(wǎng)絡(luò)構(gòu)成,因此需要適當(dāng)?shù)靥峁昂侠淼囊龑?dǎo)”,這個(gè)過程稱為路由。

40975790-c44b-11ed-bfe3-dac502259ad0.png

| 路由圖解

路由是將計(jì)算機(jī)發(fā)送的數(shù)據(jù)(數(shù)據(jù)包)正確傳輸?shù)侥康挠?jì)算機(jī)的過程。

40b49116-c44b-11ed-bfe3-dac502259ad0.png

為了進(jìn)行路由選擇,需要在路由器中設(shè)置路由信息(路由表)。用于指示的信息稱為路由表,路由表包含“最終目的地”和“下一跳IP地址”。路由表的設(shè)置本身可以手動(dòng)完成,但是路由信息每天都在變化。因此,需要一種機(jī)制來自動(dòng)配置。這里使用的就是路由協(xié)議。

40bf8dbe-c44b-11ed-bfe3-dac502259ad0.png

| 路由表工作示意圖

路由協(xié)議可以大致分為以下兩種類型:

IGP ( Interior Gateway Protocol ):內(nèi)部網(wǎng)關(guān)協(xié)議,在一個(gè)AS內(nèi)部所使用的一種路由協(xié)議。一個(gè)AS內(nèi)部也可以有多個(gè)路由器管理多個(gè)網(wǎng)絡(luò),各個(gè)路由器之間需要路由信息以知道子網(wǎng)絡(luò)的可達(dá)信息。IGP就是用來管理這些路由。代表的實(shí)現(xiàn)協(xié)議有RIP和OSPF。

EGP ( Exterior Gateway Protocol ):外部網(wǎng)關(guān)協(xié)議,在多個(gè)AS之間使用的一種路由協(xié)議,BGP是EGP的代表協(xié)議。

02

什么是AS?

AS(自治系統(tǒng),Autonomous System)是構(gòu)成互聯(lián)網(wǎng)的網(wǎng)絡(luò)單元。一個(gè)自治系統(tǒng)(AS)是一個(gè)有權(quán)自主地決定在本系統(tǒng)中應(yīng)采用何種路由協(xié)議的小型單位。這個(gè)網(wǎng)絡(luò)單位可以是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)也可以是一個(gè)由一個(gè)或多個(gè)普通的網(wǎng)絡(luò)管理員來控制的網(wǎng)絡(luò)群體,它是一個(gè)單獨(dú)的可管理的網(wǎng)絡(luò)單元(例如一所大學(xué),一個(gè)企業(yè)或者一個(gè)公司個(gè)體)。它可以是一個(gè)路由器直接連接到一個(gè)LAN上,同時(shí)連到Internet上,也可以是一個(gè)由企業(yè)骨干網(wǎng)互連的多個(gè)局域網(wǎng)。

40dd953e-c44b-11ed-bfe3-dac502259ad0.png

| 互聯(lián)網(wǎng)拓?fù)?/p>

每個(gè) AS 都會(huì)被分配一個(gè)稱為 ASN(自治系統(tǒng)編號(hào))的唯一編號(hào)。區(qū)域互聯(lián)網(wǎng)注冊(cè)機(jī)構(gòu)(Regional Internet Registry,RIR),是管理世界上某特定地區(qū)Internet資源的組織。Internet資源包括IP地址(包含IPv4和IPv6)和使用在BGP路由中的自治系統(tǒng)號(hào)(Autonomous System number)。每個(gè) AS 控制一組連接的路由前綴,代表一個(gè) IP 地址范圍。當(dāng)流量到達(dá) ASN 時(shí),它決定了網(wǎng)絡(luò)內(nèi)部的路由策略。

40f91eda-c44b-11ed-bfe3-dac502259ad0.png

| AS(自治系統(tǒng))

在一個(gè)AS中的所有路由器必須相互連接,運(yùn)行相同的路由協(xié)議,同時(shí)分配同一個(gè)ASN。截至 2021 年 1 月,全球有近 100000 個(gè) ASN,其中約 29% 位于美國(guó)。

412d6596-c44b-11ed-bfe3-dac502259ad0.png

為了使各個(gè)AS相互連接并在它們之間進(jìn)行通信,需要使用EGP,BGP是EGP的代表協(xié)議。

41365fc0-c44b-11ed-bfe3-dac502259ad0.png

| BGP 簡(jiǎn)化版

上圖展示了一個(gè)簡(jiǎn)化版的 BGP。在此版本中,互聯(lián)網(wǎng)上有 6 個(gè)自治系統(tǒng)。如果 AS1 需要向 AS3 路由一個(gè)數(shù)據(jù)包,它有兩種不同的選擇:

AS2 → AS3或AS6 → AS5 → AS4 → AS3

在這個(gè)簡(jiǎn)化的模型中,可以很簡(jiǎn)單直接地作出決策。AS2 路由所需的躍點(diǎn)比 AS6 路由要少,因此它是最快、最高效的路由。

那么現(xiàn)在假設(shè)有成百上千個(gè) AS,而且躍點(diǎn)數(shù)只是路線選擇算法中的一部分,最終決策就變得非常困難。而這就是BGP 路由的實(shí)際情況。

看到這里,我們?cè)倩仡櫼幌翨GP的概念,是不是就容易理解了!

41489bd6-c44b-11ed-bfe3-dac502259ad0.png

打個(gè)比方,如果我們將 BGP 比作互聯(lián)網(wǎng)的郵政服務(wù),那么AS就相當(dāng)于各郵政分局,AS中的內(nèi)部路由器就好比郵箱。一個(gè)城鎮(zhèn)可能有數(shù)百個(gè)郵箱,但郵箱中的所有郵件都必須先經(jīng)過本地郵政分局,然后再運(yùn)送到另一個(gè)目的地。也就是路由器將出站流量路由到AS,然后使用 BGP 路由將這些流量傳輸?shù)狡淠康牡亍?/p>

但在這個(gè)比喻里,還存在一些偏頗。

AS與郵局不同,它們并非都屬于同一個(gè)組織。事實(shí)上,AS往往屬于互相競(jìng)爭(zhēng)的公司。因此,BGP 路由有時(shí)會(huì)將業(yè)務(wù)因素考慮在內(nèi)。AS往往會(huì)互相收取費(fèi)用來傳輸通過其網(wǎng)絡(luò)的流量,相關(guān)價(jià)格也會(huì)成為最終選擇哪條路由的考慮因素之一。

03

互聯(lián)網(wǎng)流量路由簡(jiǎn)史

在互聯(lián)網(wǎng)早期,只有少數(shù)網(wǎng)絡(luò)需要相互連接。那時(shí),網(wǎng)絡(luò)節(jié)點(diǎn)之間的路由是靜態(tài)的,即路由器上的路由表是預(yù)先配置的,不考慮動(dòng)態(tài)變化。設(shè)置路由所需要做的就是定義網(wǎng)絡(luò)節(jié)點(diǎn)并根據(jù)需要在它們之間建立連接。

然而,互聯(lián)網(wǎng)迅速發(fā)展,網(wǎng)絡(luò)越來越多,這時(shí)候就需要一個(gè)更加動(dòng)態(tài)的路由系統(tǒng)。EGP(外部網(wǎng)關(guān)協(xié)議)的發(fā)明就是為了完成這項(xiàng)工作。1982 年,來自BBN Technologies 的Eric C. Rosen定義了 EGP。

EGP 是一種基于樹狀分層拓?fù)浣Y(jié)構(gòu)的簡(jiǎn)單路由協(xié)議,用于在自治系統(tǒng)網(wǎng)絡(luò)中的兩個(gè)相鄰網(wǎng)關(guān)主機(jī)之間交換路由信息。

4163872a-c44b-11ed-bfe3-dac502259ad0.png

| EGP路由協(xié)議

EGP具有三個(gè)主要功能:

建立一組鄰居

檢查鄰居的可用性

通知鄰居其自治系統(tǒng)內(nèi)的可達(dá)網(wǎng)絡(luò)

隨著互聯(lián)網(wǎng)上自治系統(tǒng)數(shù)量的增長(zhǎng),EGP 的缺點(diǎn)也開始暴露。EGP 僅支持樹狀拓?fù)?,阻礙了可擴(kuò)展性,并且難以有效地連接新網(wǎng)絡(luò)。需要定義一個(gè)更具可擴(kuò)展性并提供更高級(jí)功能的外部路由協(xié)議。

41776eca-c44b-11ed-bfe3-dac502259ad0.png

| 樹狀拓?fù)鋠s網(wǎng)狀拓?fù)?/p>

1989 年 6 月,新路由協(xié)議的第一個(gè)版本正式確定。它的名字叫 BGP,代表邊界網(wǎng)關(guān)協(xié)議。

當(dāng)時(shí),思科的 Kirk Lougheed 和 Len Bosack 以及 IBM 的 Yakov Rekhter 利用在EGP上獲得的經(jīng)驗(yàn)編寫了一個(gè)新協(xié)議。他們?cè)诓徒砑埳蠈懴逻@個(gè)新協(xié)議。出于這個(gè)原因,BGP有時(shí)被稱為Two-Napkin Protoco。

41e43546-c44b-11ed-bfe3-dac502259ad0.png

| 寫在餐巾紙上的BGP注釋

與其前身 EGP 相比,BGP 支持網(wǎng)狀拓?fù)?,使多路徑路由成為可能。BGP 用于路由 AS 到 AS的流量。

420a07f8-c44b-11ed-bfe3-dac502259ad0.png

BGP Speaker 之間建立對(duì)等體的模式有兩種:

IBGP(Internal BGP)是指在相同AS內(nèi)建立的BGP連接

EBGP是指在不同AS之間建立的BGP連接

在一個(gè) AS 內(nèi),可以自由使用其他路由協(xié)議,如 OSPF、EIGRP 和 IS-IS。

4260db82-c44b-11ed-bfe3-dac502259ad0.png

| IBGP與EBGP示意圖

BGP 旨在互聯(lián)網(wǎng)上的自治系統(tǒng)之間交換路由和可達(dá)性信息,是當(dāng)今互聯(lián)網(wǎng)運(yùn)作方式不可或缺的一部分。沒有BGP,不同的網(wǎng)絡(luò)將無法通信或共享有關(guān)路由的信息,從而無法將數(shù)據(jù)高效、安全地從一個(gè)地方發(fā)送到另一個(gè)地方。

ISP(互聯(lián)網(wǎng)提供商)、大型組織和云提供商使用BGP 來連接彼此的的網(wǎng)絡(luò),以及與互聯(lián)網(wǎng)的其余部分連接起來。BGP 還用于確保流量盡可能高效的路由,從而減少延遲并提高性能。BGP 基于TCP/IP,在OSI傳輸層(第 4 層)上運(yùn)行以控制網(wǎng)絡(luò)層(第 3 層)。

04

BGP 路由的工作原理

BGP報(bào)文

BGP報(bào)文由BGP報(bào)文頭和具體報(bào)文內(nèi)容兩部分組成。BGP的運(yùn)行是通過消息驅(qū)動(dòng)的,共有5種消息類型,這些消息有相同的報(bào)文頭。這些消息通過TCP協(xié)議進(jìn)行傳播(端口號(hào)是179)。消息最長(zhǎng)為4096字節(jié),最短為19字節(jié)(只包含報(bào)文頭)。

1. Open報(bào)文用于對(duì)等體參數(shù)協(xié)商;

2. Keepalive報(bào)文用于維護(hù)對(duì)等體鄰居;

3. Update報(bào)文用于通告可達(dá)路由和不可達(dá)路由;

4. Notification報(bào)文 用于錯(cuò)誤信息通告,斷開對(duì)等體鄰居;

5. Route-refresh報(bào)文 用于請(qǐng)求對(duì)等體重新發(fā)送路由信息。

BGP報(bào)文頭包括三部分,總長(zhǎng)19字節(jié)。各個(gè)部分的格式和功能如下:

4273ee48-c44b-11ed-bfe3-dac502259ad0.png

Marker:占16字節(jié),用于檢查BGP對(duì)等體的同步信息是否完整,以及用于BGP驗(yàn)證的計(jì)算。不使用驗(yàn)證時(shí)所有比特均為1(十六進(jìn)制則全“FF”)。

Length:占2個(gè)字節(jié)(無符號(hào)位),BGP消息總長(zhǎng)度(包括報(bào)文頭在內(nèi)),以字節(jié)為單位。長(zhǎng)度范圍是19~4096。

Type:占1個(gè)字節(jié)(無符號(hào)位),BGP消息的類型。Type有5個(gè)可選值,表示BGP報(bào)文頭后面所接的5類報(bào)文(其中,前四種消息是在RFC4271中定義的,而Type5的消息則是在RFC2918中定義的)

自治系統(tǒng)通信

當(dāng)兩個(gè) AS 相互通信時(shí),它們會(huì)彼此交換各自的網(wǎng)絡(luò)信息,包括 IP 地址范圍、子網(wǎng)掩碼和其他網(wǎng)絡(luò)相關(guān)數(shù)據(jù)等詳細(xì)信息。BGP 決策機(jī)制對(duì)所有數(shù)據(jù)進(jìn)行分析,并將其中一個(gè)對(duì)等體設(shè)置為下一站,以轉(zhuǎn)發(fā)去往某個(gè)目的地的報(bào)文。每個(gè)對(duì)等體管理一個(gè)表,其中包含它知道的每個(gè)網(wǎng)絡(luò)的所有路由,并將該信息傳播到其相鄰的自治系統(tǒng)。

通過這種方式,BGP 允許 AS 從其相鄰AS 收集所有路由信息,并進(jìn)一步“通告”這些信息。每個(gè)對(duì)等體都在其自己的自治系統(tǒng)內(nèi)部傳輸信息。

428a2c76-c44b-11ed-bfe3-dac502259ad0.png

就像在現(xiàn)實(shí)生活中一樣,通常有多條路線可以到達(dá)給定的目的地。BGP 類似于導(dǎo)航系統(tǒng),負(fù)責(zé)根據(jù)收集到的信息和組織的路由策略確定最合適的路由,該路由策略基于成本、可靠性、速度和其他因素。

路由更新

一旦建立了路由表,就需要定期更新,以便網(wǎng)絡(luò)中的任何變化都能反映在路由表中。這個(gè)過程被稱為路由更新,它涉及在兩個(gè) AS 之間來回發(fā)送消息,以保持它們各自的路由表的最新狀態(tài)。

BGP 路徑屬性

除了交換有關(guān)網(wǎng)絡(luò)的信息外,BGP 還使用路徑屬性來確定從一個(gè)AS發(fā)送數(shù)據(jù)包到另一個(gè)AS時(shí)應(yīng)該走哪條路由。這些屬性包括跳數(shù)、延遲和傳輸成本等。通過考慮這些因素,BGP 可確保數(shù)據(jù)包沿著最有效的路由發(fā)送。

05

BGP的主要功能

BGP 為互聯(lián)網(wǎng)的運(yùn)行提供了關(guān)鍵功能,包括維護(hù)路由信息、選擇最短路由、在路由錯(cuò)誤的情況下提供冗余、通過身份驗(yàn)證提供安全性和促進(jìn)不同網(wǎng)絡(luò)類型之間的通信等。

路由故障時(shí)提供冗余:如果 BGP 檢測(cè)到主路徑無法正常工作,它將自動(dòng)通過備用路徑重新路由流量。

檢測(cè)路由路徑環(huán)路:BGP 可以使用一組稱為 BGP 決策過程的算法來檢測(cè)和消除路由路徑中的環(huán)路。這有助于確保數(shù)據(jù)包沿著盡可能最有效的路線發(fā)送,而不會(huì)浪費(fèi)帶寬或走不必要的彎路。

防止惡意攻擊:BGP 可以通過驗(yàn)證 BGP 消息是否來自合法自治系統(tǒng),以過濾掉惡意的流量。

提供安全保障:BGP 使用預(yù)配置的密碼或密鑰對(duì)路由器之間的消息進(jìn)行身份驗(yàn)證。這有助于確保只有授權(quán)實(shí)體才能交換信息并防止惡意行為者破壞流量。

控制交通流量:BGP 使 ISP 能夠通過指定將數(shù)據(jù)包從一個(gè)網(wǎng)絡(luò)發(fā)送到另一個(gè)網(wǎng)絡(luò)時(shí)采用的路由來控制流量如何通過其網(wǎng)絡(luò)。

促進(jìn)網(wǎng)絡(luò)交流:BGP 允許網(wǎng)絡(luò)之間的通信,例如 IPv4 和 IPv6。這有助于確保所有設(shè)備都可以相互通信,無論它們位于哪種類型的網(wǎng)絡(luò)上。

06

BGP如何選擇最佳路徑?

上文提到了BGP可選擇兩個(gè)對(duì)等體之間的最佳路徑,那最佳路徑究竟是怎么選出來的呢?

權(quán)重:選擇權(quán)重最大的路線。權(quán)重值越大,對(duì)該路徑的偏好越高。

本地優(yōu)先級(jí):如果有多條權(quán)重相同的路由,則選擇本地優(yōu)先級(jí)最高的路由。

Origin:優(yōu)先選擇由本地路由器發(fā)起的路由,本地路由的下一跳是 0.0.0.0。

AS路徑:如果AS路徑長(zhǎng)度相同,則優(yōu)先選擇具有最低MED (多出口鑒別器)的路徑。

eBGP over iBGP:首選eBGP。eBGP的管理距離是 20,而iBGP的是 200。

IGP指標(biāo):優(yōu)先選擇下一跳IGP最低的。

外部路徑:如果兩條路徑都是外部路徑,首先選擇最舊的路徑。

Router ID :選擇Router ID最小的路徑。

集群列表:如果多條路徑具有相同的路由器ID,則選擇最小長(zhǎng)度。

鄰居地址:從最低鄰居地址開始選擇,此地址為BGP鄰居配置中使用的IP地址。

07

BGP的局限性

雖然BGP被廣泛使用,但是它也有以下局限性:

普適性問題

>傳播延遲

BGP在處理路由變更時(shí)需要時(shí)間來計(jì)算新的最短路徑,并需要將新路由信息通知給其他路由器。這會(huì)導(dǎo)致路由切換的延遲時(shí)間較長(zhǎng),可能會(huì)影響網(wǎng)絡(luò)性能。

>不穩(wěn)定

如果配置不正確,BGP 會(huì)導(dǎo)致不穩(wěn)定。如果路由設(shè)置不當(dāng),可能會(huì)導(dǎo)致數(shù)據(jù)包路由效率低下,從而導(dǎo)致性能下降和潛在的中斷。

>難以擴(kuò)展

BGP是一個(gè)復(fù)雜的協(xié)議,需要大量的配置和維護(hù)工作。BGP 在處理大量路由器或同時(shí)路由大量數(shù)據(jù)時(shí),無法很好地?cái)U(kuò)展。

安全問題

BGP還有一個(gè)很大的問題在于,默認(rèn)情況下BGP 不嵌入任何安全協(xié)議,并且依賴于網(wǎng)絡(luò)運(yùn)營(yíng)商來保護(hù)他們的系統(tǒng)。自 2000 年代初以來, BGP劫持和泄漏事件一直是人們關(guān)注的焦點(diǎn)。

42b3e930-c44b-11ed-bfe3-dac502259ad0.png

BGP路由泄露:路由泄漏是一種在現(xiàn)網(wǎng)中比較常見的路由事件,一般出現(xiàn)于ISP的錯(cuò)誤配置,對(duì)外宣告了本不應(yīng)該由該AS宣告的IP前綴路由,它能夠造成 BGP 路由發(fā)生嚴(yán)重錯(cuò)誤、進(jìn)而導(dǎo)致互聯(lián)網(wǎng)部分中斷或擁塞。

BGP路由劫持:整個(gè)BGP協(xié)議是建立在信任原則之上的。

BGP 假設(shè)每個(gè) AS 對(duì)其擁有的IP地址和共享的路由信息都是真實(shí)的,這個(gè)原理使得它很容易受到惡意攻擊。BGP 劫持是通過破壞使用BGP 維護(hù)的互聯(lián)網(wǎng)路由表來非法接管IP 地址組,惡意重新路由互聯(lián)網(wǎng)流量。

42bc3bb2-c44b-11ed-bfe3-dac502259ad0.gif

| BGP路由劫持

攻擊者可以操縱 BGP 路由表,讓受到攻擊的路由器通告尚未分配給它的前綴。如果這些虛假通告表明有比合法路徑更好的路徑可用,流量就可能會(huì)被定向到該路徑,導(dǎo)致惡意服務(wù)器竊取憑據(jù)、下載惡意軟件并執(zhí)行其他破壞性活動(dòng)。而最終用戶始終以為他們?cè)L問的是合法站點(diǎn)。

在某些情況下,BGP 路由劫持可能使攻擊者能夠訪問未加密的數(shù)據(jù)流或用于繞過 IP 屏蔽列表來發(fā)起未經(jīng)請(qǐng)求的活動(dòng),如垃圾郵件等。

BGP DoS:這種惡意攻擊主要針對(duì) BGP 路由協(xié)議。在這種攻擊中,網(wǎng)絡(luò)犯罪分子向受害系統(tǒng)發(fā)送意外或不需要的 BGP 流量,這會(huì)耗盡受害者的所有可用資源,從而無法處理有效的 BGP 流量。

BGP 威脅事件

多年來,BGP 經(jīng)歷了無數(shù)次安全事件。

2017 年 8 月,由于谷歌錯(cuò)誤泄露了 BGP 通告,日本經(jīng)歷了全國(guó)范圍的中斷。同年 10 月,巴西的 Twitter 和 Google 等服務(wù)因另一起 BGP 泄漏事件而中斷。2017 年 11 月,互聯(lián)網(wǎng)骨干網(wǎng)提供商 Level 3 經(jīng)歷了一次路由器配置錯(cuò)誤,導(dǎo)致了嚴(yán)重的路由泄漏,最終直接影響了康卡斯特,并在此過程中關(guān)閉了美國(guó)大片地區(qū)的互聯(lián)網(wǎng)。

2018 年 4 月,惡意黑客公布了一些屬于 AWS 的 IP 前綴,一些試圖登錄加密貨幣網(wǎng)站的用戶被重定向到黑客所創(chuàng)造的虛假網(wǎng)頁之中,導(dǎo)致了超過 160000 美元的損失。

2021 年 10 月 4 日。Facebook 及其子公司經(jīng)歷了一次影響全球用戶的重大中斷。中斷的原因被追溯到 BGP 故障,導(dǎo)致流量路由中斷。這導(dǎo)致許多用戶無法訪問他們的帳戶或使用 Facebook 及其子公司提供的任何服務(wù)。中斷持續(xù)了幾個(gè)小時(shí)才得到解決,并使該組織損失了 6000 萬美元的收入。

435cc30c-c44b-11ed-bfe3-dac502259ad0.png

| 來源:騰訊安全應(yīng)急響應(yīng)中心(TSRC)

這些事件都說明了BGP協(xié)議在互聯(lián)網(wǎng)中的重要性,同時(shí)也提醒我們BGP安全方面的風(fēng)險(xiǎn)。

08

如何防范BGP威脅?

為了充分防范 BGP 威脅,有必要采取適當(dāng)?shù)膶?duì)策和保護(hù)措施。

IP前綴過濾

大多數(shù)網(wǎng)絡(luò)應(yīng)該只在必要時(shí)接受IP段前綴聲明,并且只應(yīng)將其IP前綴聲明到某些網(wǎng)絡(luò),而不是整個(gè)互聯(lián)網(wǎng)。這樣做有助于防止意外的路由劫持,并可能使AS不接受偽造的IP前綴聲明。但是,這在實(shí)踐中很難實(shí)施。

BGP劫持檢測(cè)

劫持檢測(cè)可以采取多種形式?;€性能的變化,例如更大的延遲、錯(cuò)誤的流量或性能的普遍下降是可能表明某種形式的劫持的初步跡象。此外,監(jiān)控通告以及記錄路線的可用性和停機(jī)時(shí)間是發(fā)現(xiàn)劫持的重要方面。

更復(fù)雜的系統(tǒng)還可以分析來自鄰居的公告 AS 以查看被劫持的前綴是否包含在公告中,可以識(shí)別前綴不匹配,并使用路徑分析來確保正確的路由。

全路由認(rèn)證安全機(jī)制

2017年10月,國(guó)際互聯(lián)網(wǎng)工程任務(wù)組(IETF)和美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)、美國(guó)國(guó)土安全部(DHS)等機(jī)構(gòu)共同啟動(dòng)了一個(gè)名為安全域間路由(SIDR)的聯(lián)合項(xiàng)目,明確提出應(yīng)對(duì) BGP 協(xié)議進(jìn)行保護(hù)以抵御BGP路由攻擊威脅?!癝IDR ”項(xiàng)目主要分為三個(gè)基本組成部分:資源公鑰基礎(chǔ)設(shè)施 (RPKI)、BGP 源路由驗(yàn)證(ROV)和 BGP 路徑驗(yàn)證 (BGPSec)。

>RPKI

RPKI是一種專門為路由來源身份驗(yàn)證開發(fā)的加密系統(tǒng)。RPKI 使用被稱為路由源授權(quán)(Route Origin Authorization, ROA)的加密簽名記錄。其基本思想是構(gòu)建一個(gè)PKI(公鑰基礎(chǔ)設(shè)施)來完成對(duì)IP地址前綴和AS號(hào)的所有權(quán)和使用權(quán)的認(rèn)證。

RPKI 允許網(wǎng)絡(luò)運(yùn)營(yíng)商通過使用私鑰和公鑰系統(tǒng)對(duì)BGP中的路由通告進(jìn)行數(shù)字加密和簽名。信息可以使用私鑰加密和簽名,并且只能使用匹配的公鑰解密或驗(yàn)證其簽名。數(shù)字簽名信息保證了在路由系統(tǒng)中看到的路由通告可以被驗(yàn)證并且是真實(shí)的。

44dbc764-c44b-11ed-bfe3-dac502259ad0.gif

| 使用RPKI的BGP

>BGPSec

不過RPKI和ROV,只能防范如BGP路由劫持中的起源AS欺騙的簡(jiǎn)單攻擊,像AS路徑篡改、BGP路由泄露等場(chǎng)景,則需要采用BGPSec方案。

BGPSec旨在補(bǔ)充BGP源路由驗(yàn)證的不足,當(dāng)它與ROV結(jié)合使用時(shí),可以防范各種針對(duì)BGP的路由劫持攻擊。在路由宣告過程中,路由器從它的鄰居AS收到的IP前綴路由宣告消息進(jìn)行簽名,簽名內(nèi)容作為路由消息的BGPSec_Path屬性傳播給其它鄰居AS,當(dāng)路由器接收到帶有BGPSec_Path屬性的IP前綴更新路由時(shí)通過檢查簽名判斷該路由的AS_Path路徑是否正確,若錯(cuò)誤的話直接丟棄,并不廣播給其鄰居AS。

09

BGP用在什么地方?

BGP用于多種類型的網(wǎng)絡(luò),包括:

互聯(lián)網(wǎng)服務(wù)提供商 (ISP):ISP 使用 BGP 在多個(gè)互聯(lián)網(wǎng)自治系統(tǒng)之間傳遞路由數(shù)據(jù)。這使得有效流量可在各種網(wǎng)絡(luò)和地理位置之間路由。

企業(yè)網(wǎng)絡(luò):在工業(yè)網(wǎng)絡(luò)中,BGP 還用于跨多個(gè)站點(diǎn)或區(qū)域交換路由數(shù)據(jù)。這可以在同一組織的各個(gè)部門內(nèi)實(shí)現(xiàn)有效的流量路由。

數(shù)據(jù)中心網(wǎng)絡(luò):BGP用于數(shù)據(jù)中心網(wǎng)絡(luò),在同一數(shù)據(jù)中心的不同部分之間或不同數(shù)據(jù)中心之間交換路由信息。這允許有效地路由流量并啟用負(fù)載平衡和故障轉(zhuǎn)移等功能。

服務(wù)提供商網(wǎng)絡(luò):服務(wù)提供商使用 BGP 在不同網(wǎng)絡(luò)之間進(jìn)行高效的流量路由并提供冗余。

域間路由:BGP是互聯(lián)網(wǎng)不同域之間使用的路由協(xié)議,它是唯一可以用來在不同自治系統(tǒng)之間交換路由信息的協(xié)議。

綜上所述,BGP廣泛應(yīng)用于互聯(lián)網(wǎng)服務(wù)提供商、企業(yè)網(wǎng)絡(luò)、數(shù)據(jù)中心網(wǎng)絡(luò)、服務(wù)提供商網(wǎng)絡(luò)等不同類型的網(wǎng)絡(luò),主要用于互聯(lián)網(wǎng)域間路由。

10

BGP 有其他替代方案嗎?

對(duì)于那些不想或不需要 BGP 提供的所有功能的人來說,有幾種選擇。其中最突出的是開放最短路徑優(yōu)先 (OSPF) 和增強(qiáng)型內(nèi)部網(wǎng)關(guān)路由協(xié)議 (EIGRP)。

OSPF

OSPF 用于在 IP 網(wǎng)絡(luò)中找到源和目標(biāo)之間的最佳路徑,是一種內(nèi)部網(wǎng)關(guān)協(xié)議 (IGP),可以在單個(gè)自治系統(tǒng)內(nèi)路由數(shù)據(jù)包。與其他 IGP 不同,OSPF 是一種鏈路狀態(tài)路由協(xié)議。換句話說,它依賴于鏈路狀態(tài)信息來計(jì)算路由路徑并做出路由決策。OSPF 基于 Dijkstra 算法來尋找兩點(diǎn)之間的最短路徑。

OSPF 相對(duì)于其他路由協(xié)議(包括 BGP)的主要優(yōu)勢(shì)之一是其高效的路徑選擇。此外,OSPF 比 BGP 具有更快的收斂時(shí)間,這意味著它可以快速檢測(cè)網(wǎng)絡(luò)中的變化并相應(yīng)地更新其路由表。然而,OSPF 需要比 BGP 更多的內(nèi)存和處理能力,因?yàn)樗枰谄渎酚杀碇写鎯?chǔ)有關(guān)鏈路的所有信息。

BGP 常用于 Internet 冗余、WAN 和 IaaS 環(huán)境。OSPF 主要用于 LAN 和數(shù)據(jù)中心,但偶爾也可用于 WAN 和 IaaS 環(huán)境。

450629aa-c44b-11ed-bfe3-dac502259ad0.png

| BGP 與OSPF 的應(yīng)用場(chǎng)景

不過BGP 與OSPF 在大多數(shù)情況下一起使用。在數(shù)據(jù)中心,OSPF 通常是網(wǎng)絡(luò)交換機(jī)和/或路由器之間內(nèi)部路由的通用協(xié)議。當(dāng)該流量需要傳輸?shù)搅硪粋€(gè)組織時(shí),就需要BGP 協(xié)議了。

EIGRP

EIGRP 由思科在 1990 年代開發(fā),最初僅限于在思科產(chǎn)品中使用。2013年前后,思科向IETF提出了EIGRP作為協(xié)議草案進(jìn)行審查,最終批準(zhǔn)成為官方標(biāo)準(zhǔn)。迄今為止,它仍處于 IETF 的草案模式。

與 BGP 不同,EIGRP 是一種內(nèi)部網(wǎng)關(guān)協(xié)議,它在組織完全管理的網(wǎng)絡(luò)中動(dòng)態(tài)路由數(shù)據(jù)流量,例如企業(yè)或政府。EIGRP 被視為混合協(xié)議,使用以下兩種協(xié)議類型的功能:

距離矢量路由,其中路由器定期發(fā)送消息,通知相鄰路由器網(wǎng)絡(luò)拓?fù)涞娜魏巫兓?/p>

鏈路狀態(tài)路由,發(fā)送消息通知每個(gè)路由器整個(gè)網(wǎng)絡(luò)拓?fù)洹?/p>

EIGRP 使用擴(kuò)散更新算法 (DUAL) 來計(jì)算網(wǎng)絡(luò)中到達(dá)目的地的最短路徑。該算法允許快速收斂時(shí)間,這意味著當(dāng)網(wǎng)絡(luò)發(fā)生變化時(shí),EIGRP 可以快速適應(yīng)并找到新的數(shù)據(jù)傳輸路徑。

與 BGP 相比,EIGRP 具有幾個(gè)優(yōu)點(diǎn)。它比 BGP 更容易配置和維護(hù),因?yàn)樗枰俚膮?shù)和更少的人工干預(yù)。它還可以更有效地使用帶寬和內(nèi)存等資源,更適合資源有限的網(wǎng)絡(luò)。而且它提供比 BGP 更快的收斂時(shí)間。

但EIGRP 也有一定的局限性。例如,雖然 EIGRP 同時(shí)支持 IPv4 和 IPv6 地址,但 BGP 同時(shí)支持 IPv4 和 IPv6 地址以及多個(gè)自治系統(tǒng),這使得BGP更適合具有復(fù)雜拓?fù)浣Y(jié)構(gòu)的大型網(wǎng)絡(luò)。此外,由于 EIGRP 是專有協(xié)議,它在其他供應(yīng)商設(shè)備上的實(shí)施可能具有挑戰(zhàn)性。

45276818-c44b-11ed-bfe3-dac502259ad0.png

| BGP 與EIGRP的對(duì)比

11

BGP在數(shù)據(jù)中心網(wǎng)絡(luò)中的應(yīng)用

下面介紹具體網(wǎng)絡(luò)架構(gòu)場(chǎng)景下的BGP。在DC1場(chǎng)景中,有五排機(jī)架,排列成Spine-Leaf的網(wǎng)絡(luò)架構(gòu)。推薦使用EBGP建立VXLAN Underlay網(wǎng)絡(luò)。每排機(jī)架采用EBGP時(shí)的網(wǎng)絡(luò)設(shè)計(jì)如下圖所示。每個(gè)主干或葉子交換機(jī)都有自己的 AS 編號(hào)。

455d78d6-c44b-11ed-bfe3-dac502259ad0.png

| DC1場(chǎng)景下運(yùn)行EBGP

EOR交換機(jī)部署DC2場(chǎng)景的EBGP設(shè)計(jì)如下圖所示。

459a281c-c44b-11ed-bfe3-dac502259ad0.png

| DC2場(chǎng)景下運(yùn)行EBGP

第一排機(jī)架可以分配AS號(hào)AS65000和AS65001,然后每臺(tái)設(shè)備的AS號(hào)依次遞增1。如果在DC中選擇IBGP進(jìn)行VXLAN Overlay路由交換,設(shè)計(jì)會(huì)很簡(jiǎn)單,因?yàn)橹恍枰獮镈C1中的所有設(shè)備分配相同的AS號(hào)。同樣的方法也可以用在DC2中,如下圖所示。

45a37f7a-c44b-11ed-bfe3-dac502259ad0.png

| DC1場(chǎng)景下運(yùn)行IBGP

45b9c866-c44b-11ed-bfe3-dac502259ad0.png

| DC2場(chǎng)景下運(yùn)行IBGP

12

未來發(fā)展

隨著IPv4地址的枯竭,未來的互聯(lián)網(wǎng)將越來越多地使用IPv6地址。因此,未來的BGP協(xié)議可能會(huì)更好地支持IPv6地址。此外,隨著自動(dòng)化技術(shù)的進(jìn)步,BGP協(xié)議可能會(huì)更加智能化和自動(dòng)化,以便更快速地適應(yīng)網(wǎng)絡(luò)變化。

總的來說,未來的BGP協(xié)議可能會(huì)更加智能、自動(dòng)化和安全,以適應(yīng)不斷變化的互聯(lián)網(wǎng)環(huán)境和用戶需求。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:圖解BGP協(xié)議:路由選擇與網(wǎng)絡(luò)安全

文章出處:【微信號(hào):SDNLAB,微信公眾號(hào):SDNLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    網(wǎng)絡(luò)安全隱患的分析

    網(wǎng)絡(luò)安全是整個(gè)網(wǎng)絡(luò)系統(tǒng)安全的前提。  平臺(tái)網(wǎng)絡(luò)安全風(fēng)險(xiǎn) 平臺(tái)網(wǎng)絡(luò)安全涉及到基于ISO/OSI
    發(fā)表于 10-25 10:21

    【§網(wǎng)絡(luò)安全技巧§】利用路由器的安全特性控制DDoS攻擊

    ,以便更好地維護(hù)網(wǎng)絡(luò)安全。當(dāng)前路由器提供了豐富的安全特征,通過這些安全特征,可以很大程度上控制DDoS攻擊的泛濫?! ?、源IP地址過濾  在ISP所有
    發(fā)表于 07-17 11:02

    動(dòng)態(tài)BGP與靜態(tài)BGP的區(qū)別

    點(diǎn)在IDC服務(wù)商的路由器上,這樣可以控制到各個(gè)運(yùn)營(yíng)商的路由優(yōu)先級(jí),當(dāng)某個(gè)運(yùn)營(yíng)商網(wǎng)絡(luò)質(zhì)量較差 或者出現(xiàn)網(wǎng)絡(luò)故障時(shí),可以動(dòng)態(tài)調(diào)整網(wǎng)絡(luò)出口,通過迂
    發(fā)表于 12-01 16:55

    網(wǎng)絡(luò)安全協(xié)議

    網(wǎng)絡(luò)安全協(xié)議.ppt 網(wǎng)絡(luò)安全協(xié)議TCP/IP協(xié)議棧中的安全SSL
    發(fā)表于 06-16 23:46 ?16次下載

    BGP路由協(xié)議

    BGP是外部路由協(xié)議,用來在AS之間傳遞路由信息是一種增強(qiáng)的距離矢量路由協(xié)議可靠的
    發(fā)表于 06-24 16:21 ?7次下載
    <b class='flag-5'>BGP</b><b class='flag-5'>路由</b><b class='flag-5'>協(xié)議</b>

    BGP路由監(jiān)測(cè)與分析研究

    針對(duì)IP 網(wǎng)絡(luò)普遍運(yùn)行主要路由協(xié)議BGP,從管理平面和控制平面探討了監(jiān)測(cè)方法,對(duì)各種網(wǎng)絡(luò)路由提出
    發(fā)表于 08-10 10:42 ?11次下載

    Zebra與BGP路由監(jiān)測(cè)的實(shí)現(xiàn)

    主要研究邊界網(wǎng)關(guān)協(xié)議BGP網(wǎng)絡(luò)拓?fù)鋭?dòng)態(tài)重構(gòu)及網(wǎng)絡(luò)穩(wěn)定性。通過路由軟件Zebra實(shí)現(xiàn)一個(gè)具有部分路由
    發(fā)表于 12-25 16:58 ?13次下載

    BGP協(xié)議路由選擇原則

    BGP(Border Gateway Protocol)是一種自治系統(tǒng)間的動(dòng)態(tài)路由發(fā)現(xiàn)協(xié)議,目前在互聯(lián)網(wǎng)中使用非常廣泛,BGP協(xié)議有非常豐富
    發(fā)表于 01-24 09:52 ?3175次閱讀

    基于BGP協(xié)議屬性的路由策略

    BGP 作為一種廣泛使用的邊界網(wǎng)關(guān)路由協(xié)議從設(shè)計(jì)上提供了強(qiáng)大的路由過濾能力與一般的訪問列表ACL 不同的是基于BGP屬性的
    發(fā)表于 07-07 15:31 ?11次下載
    基于<b class='flag-5'>BGP</b><b class='flag-5'>協(xié)議</b>屬性的<b class='flag-5'>路由</b>策略

    bgp路由協(xié)議路由屬性_BGP路由協(xié)議的優(yōu)勢(shì)

    BGP最新的版本是BGP第4版本(BGP4),它是在RFC4271中定義的;一個(gè)路由器只能屬于一個(gè)AS。AS的范圍從1-65535(64512-65535是私有AS號(hào)),RFC1930
    發(fā)表于 08-20 15:00 ?3725次閱讀
    <b class='flag-5'>bgp</b><b class='flag-5'>路由</b><b class='flag-5'>協(xié)議</b>的<b class='flag-5'>路由</b>屬性_<b class='flag-5'>BGP</b><b class='flag-5'>路由</b><b class='flag-5'>協(xié)議</b>的優(yōu)勢(shì)

    bgp路由協(xié)議的特點(diǎn)

    BGP使用TCP作為其傳輸層協(xié)議(監(jiān)聽端口號(hào)為179),提高了協(xié)議的可靠性。
    的頭像 發(fā)表于 08-22 11:28 ?2.7w次閱讀

    網(wǎng)絡(luò)安全基礎(chǔ)之網(wǎng)絡(luò)協(xié)議安全威脅的關(guān)系

    網(wǎng)絡(luò)安全基礎(chǔ)之網(wǎng)絡(luò)協(xié)議安全威脅的關(guān)系
    發(fā)表于 10-20 10:26 ?1次下載

    跟大家聊聊BGP與OSPF

    BGP和OSPF是兩種最常見的路由協(xié)議BGP在大型網(wǎng)絡(luò)中具有動(dòng)態(tài)路由優(yōu)勢(shì),而OSPF具有更高效
    的頭像 發(fā)表于 01-30 11:56 ?3632次閱讀

    BGP協(xié)議是什么

    BGP(Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)是互聯(lián)網(wǎng)上一個(gè)核心的去中心化自治路由協(xié)議,運(yùn)行在TCP協(xié)議之上,使用1
    的頭像 發(fā)表于 02-15 14:15 ?2337次閱讀

    揭秘!家用路由器如何保障你的網(wǎng)絡(luò)安全

    家用路由器保障網(wǎng)絡(luò)安全需選知名品牌和型號(hào),設(shè)置復(fù)雜密碼并開啟防火墻,定期更新固件,使用安全協(xié)議,合理規(guī)劃網(wǎng)絡(luò)布局,及時(shí)發(fā)現(xiàn)并處理異常。提高家
    的頭像 發(fā)表于 05-10 10:50 ?546次閱讀