今天海翎光電的小編為大家介紹一下BGP的相關(guān)基礎(chǔ)知識(shí),文章淺顯易懂,適合對(duì)BGP完全沒(méi)有了解的同學(xué)。
BGP(邊界網(wǎng)關(guān)協(xié)議)是將互聯(lián)網(wǎng)聯(lián)合在一起的路由協(xié)議,海翎光電的小編將解釋在哪些情況下我們需要 BGP 以及它是如何工作的。在您繼續(xù)閱讀之前,我應(yīng)該告訴您“忘記”迄今為止您對(duì)RIP、OSPF和EIGRP等路由協(xié)議的了解……這三種路由協(xié)議有一個(gè)共同點(diǎn):它們都是 IGP(內(nèi)部網(wǎng)關(guān)協(xié)議)。我們只在我們的自治系統(tǒng)中使用它們,但它們不可擴(kuò)展以用于像 Internet 這樣大的網(wǎng)絡(luò)。 RIP、OSPF 和 EIGRP 都不同,但它們有一個(gè)共同點(diǎn)……它們都想找到到達(dá)目的地的最短路徑。當(dāng)我們查看 Internet 時(shí),我們并不關(guān)心找到最短路徑,而是能夠操縱流量路徑更為重要,我們目前在 Internet 上使用的路由協(xié)議只有一種,即 BGP。
為什么需要BGP? 讓我們先看一些場(chǎng)景,以便了解為什么以及何時(shí)需要 BGP:

現(xiàn)在幾乎所有東西都連接到互聯(lián)網(wǎng),在上圖中,我們有一個(gè)連接到 ISP(Internet 服務(wù)提供商)的客戶網(wǎng)絡(luò),我們的 ISP 正在確保我們可以訪問(wèn) Internet,我們的 ISP 為我們提供了一個(gè)可用于訪問(wèn) Internet 的公共 IP 地址。為了確保客戶方 LAN 上的每個(gè)人都可以訪問(wèn) Internet,我們使用NAT/PAT(網(wǎng)絡(luò)/端口地址轉(zhuǎn)換)將我們的內(nèi)部私有 IP 地址轉(zhuǎn)換為這個(gè)單一的公共 IP 地址。當(dāng)您只有需要訪問(wèn) Internet 的客戶端時(shí),此方案非常適合。在我們的客戶 LAN 上,我們只需要一個(gè)指向 ISP 路由器的默認(rèn)路由,我們就完成了。對(duì)于這種情況,我們不需要 BGP...

也許客戶有幾個(gè)需要從 Internet 訪問(wèn)的服務(wù)器……也許是郵件服務(wù)器或網(wǎng)絡(luò)服務(wù)器,我們可以使用端口映射并將正確的端口轉(zhuǎn)發(fā)到這些服務(wù)器,因此我們?nèi)匀恢恍枰粋€(gè) IP 地址,另一種選擇是從我們的 ISP 獲取更多公共 IP 地址,并使用這些地址來(lái)配置不同的服務(wù)器。對(duì)于這種情況,我們?nèi)匀徊恍枰?BGP……

如果我想要更多的冗余怎么辦?出現(xiàn)單點(diǎn)故障并不是一個(gè)好主意,我們可以在客戶端添加另一個(gè)路由器并將其連接到 ISP,可以將主鏈接用于所有流量,并使用另一個(gè)鏈接作為備份,這種情況我們還是不需要BGP,可以用默認(rèn)路由解決: 1、在客戶主路由器上面配置低優(yōu)先級(jí)的默認(rèn)路由; 2、在客戶的備路由器上面配置高優(yōu)先級(jí)的默認(rèn)路由; 這將確保您的 IGP 使用主鏈路發(fā)送所有流量,一旦鏈路出現(xiàn)故障,您的 IGP 將確保所有流量都沿備用鏈路發(fā)送,你可以考慮一下......我們可以在這兩個(gè)鏈接之間做任何負(fù)載平衡嗎?會(huì)很難么? 除非出現(xiàn)故障,否則您的 IGP 將沿主鏈路發(fā)送所有流量,而不會(huì)沿備用鏈路發(fā)送任何流量。您可以使用相同的度量發(fā)布默認(rèn)路由,擁有 50/50% 的負(fù)載分擔(dān)。如果我想在主鏈路上發(fā)送 80% 的出向流量,在備用鏈路上發(fā)送 20% 怎么辦?上面的方法不會(huì)實(shí)現(xiàn)此需求,但使用 BGP 是可能的。

一、BGP 含義
Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議,協(xié)議優(yōu)先級(jí)為 255,目前所使用的版本為 v4。邊界網(wǎng)關(guān)路由協(xié)議,EGP 網(wǎng)關(guān)協(xié)議,適用于大型路由網(wǎng)絡(luò)結(jié)構(gòu),以 AS 為一個(gè)節(jié)點(diǎn),每個(gè) AS 有唯一確定的 AS-ID 用于標(biāo)識(shí)。
二、BGP 版本
① 2006 年定義單播 IPV4 網(wǎng)絡(luò) MP-BGP
② MP-BGP 在 IPv6 單播網(wǎng)絡(luò)上的應(yīng)用稱為 BGP4+
③ 在 IPv4 組播網(wǎng)絡(luò)上的應(yīng)用稱為 MBGP(Multicast BGP)
三、BGP 分類 ① IBGP:
Internal Border Gateway Protocol ,內(nèi)部邊界網(wǎng)關(guān)協(xié)議,用于在 AS 內(nèi)部的 BGP協(xié)議
② EBGP:
External Border Gateway Protocol,外部邊界網(wǎng)關(guān)協(xié)議,用于在 AS 之間的 BGP協(xié)議,默認(rèn)數(shù)據(jù)包中的 TTL 值為 1 跳,鄰居建立使用直連端口建立,通常兩個(gè) AS 之間是不存在 IGP 路由協(xié)議的,所以 AS 之間使用直連鏈路建立鄰居
四、BGP 特性 BGP 路由具有以下特點(diǎn):
① 可靠的路由更新機(jī)制② 豐富的 Metric 度量方法③ 從設(shè)計(jì)上避免了環(huán)路的發(fā)生④ 為路由附帶屬性信息⑤ 支持 CIDR⑥ 豐富的路由過(guò)濾和路由策略⑦ 支持認(rèn)證⑧ 默認(rèn)不使用附載分擔(dān)
01、可靠的路由更新機(jī)制
BGP 使用 TCP 進(jìn)行路由更新,保證路由傳遞的可靠性,源端口號(hào)隨機(jī),目的端口號(hào)為179。
02、豐富的 Metric 度量方法
BGP 使用 TCP 進(jìn)行路由更新,保證路由傳遞的可靠性,源端口號(hào)隨機(jī),目的端口號(hào)為179。
03、從設(shè)計(jì)上避免了環(huán)路
IBGP 使用水平分割,EBGP 使用 AS-Path 屬性。
04、為路由附帶屬性信息
路由信息攜帶不同的 BGP 路由屬性,為 BGP 選路提供了多種多樣的方式。
05、支持 CIDR、手動(dòng)聚合
BGP 支持無(wú)類域間(CIDR)路由,支持手工匯總和自動(dòng)匯總。
(1)、自動(dòng)聚合:
默認(rèn)情況下,自動(dòng)聚合時(shí)關(guān)閉的。自動(dòng)匯總不會(huì)自動(dòng)匯總 BGP 鄰居發(fā)送的路由以及使用 Network 命令通告的路由,只能聚合自身 import 注入的路由條目。當(dāng)開(kāi)啟自動(dòng)聚合后,BGP 路由默認(rèn)會(huì)以主類路由進(jìn)行聚合。此時(shí)聚合路由的屬性為 Aggregate 屬性使用以下命令進(jìn)行自動(dòng)聚合:[H******-bgp]summary automaticR1:? [H*****-bgp]network 1.1.1.1 32? 只引入 loo2 到 loo4? 啟用路由聚合
(2)、手動(dòng)匯總:
BGP 手動(dòng)路由聚合時(shí),可以手動(dòng)控制聚合路由的掩碼長(zhǎng)度,修改聚合路由屬性等,手動(dòng)路由聚合又有 兩種方式:
① network 靜態(tài)路由② aggregate 宣告③ network 靜態(tài)路由:
首先創(chuàng)建靜態(tài)路由將網(wǎng)段聚合并指向 null0,BGP 采用 network 方式通告出去,由于直連優(yōu)先級(jí)高于靜態(tài),優(yōu)先選擇直連的下一跳接口,當(dāng)直連網(wǎng)段出現(xiàn)問(wèn)題,匹配靜態(tài)送往 Null0。 在 R1 上配置靜態(tài)路由:[Huawei]ip route-static 172.16.0.0 255.255.0.0 NULL 0preference 254 使用 network 宣告出去:[Huawei-bgp]network 172.16.0.0 16
④ aggregate 宣告
直接在 BGP 試圖下進(jìn)行匯總
使用以下命令進(jìn)行 aggregate 匯總:
[H****-bgp]aggregate 172.16.0.0 255.255.0.0 detail-suppressed
注 1:
默認(rèn)聚合路由只繼承 Community 屬性和起源屬性(如果明細(xì)都為 i,則為 i,有一個(gè)為?,則為?)
注 2:
默認(rèn)聚合后的路由不會(huì)攜帶任何的 AS-path 屬性,為了防止環(huán)路,如果想要攜帶 AS-path 屬性,后面增加命令 as-set,此時(shí)匯總路由會(huì)繼承所有明細(xì)路由的 AS 號(hào),為無(wú)序的AS 號(hào),如果增加了 AS-SET 之后,聚合路由會(huì)將明細(xì)路由的 AS-Path 放入 AS-SET 屬性中,如果明細(xì)路由消失或?qū)傩孕薷亩紩?huì)造成聚合路由的抖動(dòng)增加;如果明細(xì)路由的AS-PATH id 完全一致,此時(shí)聚合路由的 AS-PATH 類型為 AS-Sequence
注 3:
如果不加 detail-suppressed,會(huì)將明細(xì)路由和匯總路由全部發(fā)送出去,使用detail-suppressed 命令只通告匯總路由,此時(shí)匯總路由的屬性為ATOMIC_Aggregate,用于通告下游的路由器成員信息被抑制,此時(shí)的匯總路由不會(huì)攜帶 Community 屬性
注 4:
為了讓聚合后的路由繼承明細(xì)路由的路由屬性,聚合命令后面增加attribute-policy 1,此時(shí)在定義 Route-policy,規(guī)劃屬性值
注 5:
origin-policy 的作用,定義 route-policy,當(dāng)滿足 if 條件中的路由條目時(shí),聚合路由才會(huì)生效,如果定義的路由消失,則聚合路由為 ATOMIC_Aggregate
注 6:
suppress-policy 的作用是用于過(guò)濾掉某些明細(xì)路由,定義 route-policy,當(dāng)滿足 if 條件中的路由條目,明細(xì)路由就會(huì)被過(guò)濾掉,如果只抑制了一部分明細(xì)路由,屬性依舊為 Aggregate;如過(guò)抑制了全部的明細(xì)路由,屬性為 ATOMIC_Aggregate
注 7:
同 IGP 路由手動(dòng)聚合對(duì)比,BGP 路由聚合,默認(rèn)明細(xì)匯總都發(fā)布,IGP 只發(fā)布匯總路由;匯總之后 IGP 不會(huì)自動(dòng)生成一條指向 Null0 的路由,而 BGP 路由匯總之后會(huì)自動(dòng)生成一條指向 Null0 的匯總路由
(3)、默認(rèn)路由發(fā)布
在 peer 對(duì)等體的時(shí)候,可以使用命令發(fā)布默認(rèn)路由給對(duì)端鄰居:[H******-bgp]peer 192.168.1.1 default-route-advertise
五、豐富的路由過(guò)濾和路由策略
BGP 攜帶了大量的屬性信息,并支持 13 種選路規(guī)則。
六、支持認(rèn)證
BGP 支持 MD5 認(rèn)證方式,如果是 MD5 方式,路由器會(huì)根據(jù) BGP 報(bào)文的某些字段和密鑰計(jì)算出一個(gè) 128bit 的散列值,然后將 BGP 報(bào)文連同散列值發(fā)送給鄰居。鄰居路由器收到以后,
會(huì)在本地基于收到的 BGP 報(bào)文和相同的密鑰在進(jìn)行一次 HASH 運(yùn)算。
如果計(jì)算出的散列值與接收到的散列值相同,則認(rèn)證通過(guò)。
使用以下命令進(jìn)行密碼認(rèn)證:
[H******-bgp]peer 192.168.1.1 password cipher h******/h*****
七、默認(rèn)不使用附載分擔(dān)
BGP 默認(rèn)不使用附載分擔(dān),即使存在多條路徑也會(huì)使用選路規(guī)則選出一條“最優(yōu)路由”將其放入路由表中。開(kāi)啟附載分擔(dān)方式:① 選路規(guī)則前 9 條一模一樣(AS ID 順序也一樣),可以使用命令 maximumload-balancing bgp 進(jìn)行附載分擔(dān),當(dāng)比較到下一跳的 IGP 開(kāi)銷值一樣時(shí),會(huì)進(jìn)行流量的負(fù)載分擔(dān)② 當(dāng) BGP 路由中的下一跳地址在 IGP 路由表中存在附載分擔(dān),此時(shí)流量會(huì)附載分擔(dān)③ 使用屬性值對(duì)多個(gè)目標(biāo)流量對(duì)半分流實(shí)現(xiàn)附載分擔(dān)
八、EBGP 特性EBGP 默認(rèn)存在以下特性:
① 在通告給 EBGP 鄰居時(shí)會(huì)將 NEXT_Hop 屬性設(shè)置為自身的接口 IP 地址② 將 Local_PREF 值清空③ 將 MED 數(shù)值除 0③ 在 AS_PATH 屬性中增加自己的 AS-ID
九、擴(kuò)展性強(qiáng)
BGP 擴(kuò)展性強(qiáng),在承載多協(xié)議路由時(shí),在 MP NLRI 中增加屬性值(TLV)進(jìn)行擴(kuò)展。
上面海翎光電的小編介紹了BGP的含義、BGP版本、BGP分類、BGP 特性等,接下來(lái)咱們繼續(xù)這個(gè)話題。
BGP收斂狀態(tài)BGP 收斂主要經(jīng)過(guò)以下幾種狀態(tài):
① Idle 初始狀態(tài)
② Connect 連接狀態(tài)
③ Active 失敗等待狀態(tài)
④ Open Sent 協(xié)商狀態(tài)
⑤ Open confirm 連接確立狀態(tài)
⑥ Established 確定建立狀態(tài)

① Idle 初始狀態(tài)
BGP 初始狀態(tài)。在 Idle 狀態(tài)下,BGP 拒絕鄰居發(fā)送的連接請(qǐng)求。只有在收到本設(shè)備的Start 事件后,BGP 才開(kāi)始嘗試和其它 BGP 對(duì)等體進(jìn)行 TCP 連接,并轉(zhuǎn)至 Connect狀態(tài)。Start 事件是由一個(gè)操作者配置一個(gè) BGP 過(guò)程,或者重置一個(gè)已經(jīng)存在的過(guò)程或者路由器軟件重置 BGP 過(guò)程引起的。
② Connect 連接狀態(tài)
連接狀態(tài),雙方配置命令后,誰(shuí)先配置完成誰(shuí)先主動(dòng)發(fā)起建立 TCP,源端口隨機(jī),目標(biāo)端口 179,在 Connect 狀態(tài)下,BGP 啟動(dòng)連接重傳定時(shí)器,等待 TCP 完成連接
建立狀態(tài):
? 如果 TCP 連接成功,那么 BGP 向?qū)Φ润w發(fā)送 Open 報(bào)文,并轉(zhuǎn)至 OpenSent 狀態(tài)? 如果對(duì)方無(wú)響應(yīng),則 5S 后發(fā)送第二份組播報(bào)文,依舊沒(méi)有響應(yīng),等待大約 25S 時(shí)候周期后開(kāi)始下一輪的 TCP 報(bào)文發(fā)送,對(duì)方一直無(wú)響應(yīng),則停留在 Connect(對(duì)端沒(méi)有去往本端的路由)? 如果對(duì)方回應(yīng)拒絕建立 TCP 連接,則不在繼續(xù)發(fā)送 TCP 報(bào)文,在大約 25S 后進(jìn)入Active 狀態(tài)
注:
如果控制 TCP 的主動(dòng)端和被動(dòng)端可以使用命令 peer listen-only,此時(shí)設(shè)備只偵聽(tīng)對(duì)端,而不主動(dòng)建立;或者控制主動(dòng)端的連接端口地址
③ Active 失敗等待狀態(tài)
失敗等待狀態(tài),huawei 設(shè)備依舊為主動(dòng)建立連接,Active 狀態(tài)一個(gè)時(shí)間周期(大約25S)只發(fā)送一次 TCP 報(bào)文。
建立狀態(tài):
? 如果建立成功,進(jìn)入 OPENSENT 狀態(tài)? 如果收到拒絕建立 TCP 報(bào)文(沒(méi)有啟用 BGP),則一個(gè)時(shí)間周期只發(fā)送一次,并停留在此狀態(tài)? 如果對(duì)方無(wú)響應(yīng)(無(wú)本端路由,比如進(jìn)入 Active 狀態(tài),對(duì)端路由撤銷掉了),一個(gè)時(shí)間周期后回到 Connect 狀態(tài)
④ Open Sent 協(xié)商狀態(tài)
協(xié)商狀態(tài),TCP 連接建立成功后,發(fā)送 open 報(bào)文后,進(jìn)入 OPENSENT 狀態(tài),開(kāi)始等待對(duì)端接收對(duì)端的 Open 報(bào)文? 根據(jù) Open 報(bào)文中的 AS 號(hào)、版本號(hào)、認(rèn)證碼等進(jìn)行檢查。當(dāng)接收到對(duì)端的 Open報(bào)文后,發(fā)現(xiàn) Open 報(bào)文無(wú)誤,會(huì)立刻發(fā)送 Keep alive 報(bào)文,并進(jìn)入下一狀態(tài) 。
建立狀態(tài):
? 如果發(fā)現(xiàn)收到的 Open 報(bào)文有錯(cuò)誤,那么 BGP 發(fā)送 Notification 報(bào)文給對(duì)等體,并轉(zhuǎn)至 Idle 狀態(tài)OPEN 檢測(cè)不通過(guò)的原因:
① Version 不相同② Route ID 沖突③ TTL 跳數(shù)④ 源 IP 與 Peer 地址不一樣
注:BGP Hold-Timer 時(shí)間不一致不影響鄰居的建立
⑤ Open confirm 連接確立狀態(tài)
等待對(duì)端的 keep alive 報(bào)文,當(dāng)收到對(duì)端的 keep alive,進(jìn)入下一狀態(tài)。
⑥ Established 確定建立狀態(tài)
當(dāng)成功接收對(duì)端 Keep Alive 報(bào)文后,進(jìn)入 Established 狀態(tài),是一種穩(wěn)態(tài),并周期的發(fā)送 Keep Alive 報(bào)文。
BGP表
BGP 協(xié)議中,連接一旦建立,BGP Speaker 將把自己產(chǎn)生的所有 BGP 路由通告給對(duì)等體,有多條路徑時(shí),BGP Speaker 只會(huì)選最優(yōu)的給自己使用放入 IP 路由表中,BGPSpeaker 只會(huì)選最優(yōu)的給鄰居對(duì)等體。
BGP 一共包含三張表:
① 鄰居表② IP 路由表③ BGP 路由表
① 鄰居表
用來(lái)查看當(dāng)前的鄰居,使用 display bgp peer 查看:

① Peer Rcv:對(duì)端 IP② V:版本③ AS:對(duì)端 AS 號(hào)④ MsgRcvd:收到了幾條 BGP 消息⑤ MsgSent:發(fā)出了幾條 BGP 消息⑥ OutQ:等待發(fā)送指定對(duì)等體的消息⑦ State:狀態(tài)⑧ Pref Rcv:從鄰居學(xué)到多少 BGP 路由條數(shù)
② IP 路由表
全局路由表,包含目前可用的 BGP 路由
③ BGP 路由表BGP 路由表發(fā)送原則:
① IBGP 路由,只發(fā)送給 EBGP 對(duì)等體② EBGP 路由,發(fā)布給所有 EBGP 和 IBGP 對(duì)等體③ 只將最優(yōu)路由發(fā)布給對(duì)等體④ 只發(fā)送增量更新的 BGP 路由
BGP 路由表無(wú)效:
① 下一跳不可達(dá)(不加入到 IP 路由表中)② IGP 同步開(kāi)啟,無(wú)相應(yīng)的 IGP 路由(不加入 IP 路由表中)③ 存在相同的 IGP 路由(不加入 IP 路由表中)④ AS ID 相同(不接受此 BGP 路由)⑤ Cluster List 中包含本 RR 的簇 ID(不接受此 BGP 路由)⑥ Originator ID 和本路由器的 Router ID 相同(不接受此 BGP 路由)⑦ 使用 BGP 命令 bgp-rib-only(最優(yōu) BGP 路由不會(huì)放入 IP 路由表中)

① >為最佳路由,存在多條路徑時(shí),BGP 會(huì)選擇最佳路由放入路由表并傳遞給鄰居② *為最優(yōu)化路由,表示當(dāng)前路由有效,當(dāng)沒(méi)有*標(biāo)明此路 由不是最優(yōu)③ i 為 IBGP 鄰居學(xué)到的路由條目,如果位空表示本地產(chǎn)生或 EBGP 學(xué)到的路由
審核編輯:湯梓紅
-
交換機(jī)
+關(guān)注
關(guān)注
23文章
2926瀏覽量
104796 -
BGP
+關(guān)注
關(guān)注
0文章
88瀏覽量
16168 -
邊界網(wǎng)關(guān)協(xié)議
+關(guān)注
關(guān)注
0文章
4瀏覽量
1695
發(fā)布評(píng)論請(qǐng)先 登錄
動(dòng)態(tài)BGP與靜態(tài)BGP的區(qū)別?
STM32學(xué)習(xí)筆記(1)——STM32基礎(chǔ)知識(shí) 精選資料推薦
單片機(jī)基礎(chǔ)知識(shí)學(xué)習(xí)筆記分享
FreeRTOS任務(wù)的基礎(chǔ)知識(shí)學(xué)習(xí)筆記
C語(yǔ)言基礎(chǔ)知識(shí)匯總
FPGA開(kāi)發(fā)經(jīng)驗(yàn)與技巧_基礎(chǔ)知識(shí)學(xué)習(xí)篇(1)
使用Eclipse基礎(chǔ)知識(shí)
Verilog_HDL基礎(chǔ)知識(shí)非常好的學(xué)習(xí)教程 (1)
51單片機(jī)的基礎(chǔ)知識(shí)學(xué)習(xí)筆記資料免費(fèi)下載
機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)詳細(xì)說(shuō)明
51單片機(jī)學(xué)習(xí) 基礎(chǔ)知識(shí)總結(jié)
單片機(jī)基礎(chǔ)知識(shí)學(xué)習(xí)筆記
經(jīng)典設(shè)計(jì)經(jīng)驗(yàn)筆記,電子工程師必備基礎(chǔ)知識(shí)
BGP基礎(chǔ)知識(shí)學(xué)習(xí)筆記
評(píng)論