日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

HCIP---BGP ---邊界網(wǎng)關(guān)協(xié)議

作者:Newcomer_L 更新時間: 2022-07-21 編程語言

BGP ---邊界網(wǎng)關(guān)協(xié)議

IGP:內(nèi)部網(wǎng)關(guān)協(xié)議

EGP:外部網(wǎng)關(guān)協(xié)議(不僅僅有BGP)

BGP:

AS ---自治系統(tǒng)---由單一機構(gòu)或組織管理的一些列IP網(wǎng)絡(luò)及其設(shè)備的集合

1,網(wǎng)絡(luò)范圍太大,協(xié)議跑不過來,需要進行劃分;

2,自治管理

為了方便區(qū)分和標定不同的AS,我們給每個自治系統(tǒng)設(shè)計了一個編號

AS號---16位二進制構(gòu)成---0 -65535;其中0和65535為保留值,不用,所以,AS號真正的取值范圍為1 -65534;我們將64512 - 65534AS號稱為私有AS號

因為傳統(tǒng)的AS號存在不夠用的問題,所以目前也存在拓展版的AS號---32位構(gòu)成---目前絕大多數(shù)設(shè)備已經(jīng)支持拓展版的AS號

EGP協(xié)議在之前還存在一款協(xié)議---EGP,但是由于其功能有限,后來在其基礎(chǔ)上進行優(yōu)化和改進,生成了現(xiàn)在的BGP協(xié)議。目前AS之間使用最廣泛的協(xié)議就是BGP協(xié)議。

在目前IPV4環(huán)境下,使用最廣泛發(fā)BGP版本是BGPV4。目前市場上已經(jīng)存在BGPV4+。BGPV4+又可以稱為MP-BGP ---可以支持多種地址族的應(yīng)用

在沒有BGP協(xié)議的情況下,僅使用重發(fā)布技術(shù),也可以實現(xiàn)AS之間的路由信息的共享。但是,之所以不采用這種方案,其原因如下:

  1. 重發(fā)布技術(shù)本省存在缺陷

---在多點重發(fā)布中,因為種子度量值問題,必然造成選路不佳

2,ASBR設(shè)備的歸屬問題

BGP之間傳遞路由信息的方式一定是和RIP類似,通過傳遞路由條目信息來實現(xiàn)(只需要學(xué)習本地IGP和BGP)

之所以不使用拓撲信息主要因為:

  1. 拓撲信息資源占用量太大,而BGP需要傳遞的數(shù)量是巨大的。
  2. 傳遞拓撲信息將暴露本AS內(nèi)部的拓撲連接情況。

BGP ---無類別的路徑矢量型協(xié)議

距離矢量---在距離矢量型協(xié)議中,距離是開銷的體現(xiàn),將跳數(shù)作為開銷值的評判標準。將一個路由器看作是一個單位計算距離。

距離矢量是算法的概念,因為IGP協(xié)議本身需要通過算法來計算出未知網(wǎng)段的路由信息。

路徑矢量---是將一個AS看作一個整體路徑矢量不牽扯算法,因為BGP僅僅是將IGP計算出來的路由信息發(fā)送到其他AS之中,相當于僅將現(xiàn)成的路由進行傳遞而不需要計算。

IGP?---選路佳,收斂快,占用資源少

BGP協(xié)議的關(guān)注點:

1,可控性---AS之間需要傳遞大量的路由信息,所謂可控,就是可以更方便的干涉選路,更容易做路由策略

為了保證可控型,BGP舍棄了開銷值。取而代之的是BGP給每條路由信息附加了很多路徑屬性。之后,可以通過這些屬性來進行選路。因為多種屬性的存在,將導(dǎo)致我們的選路變的更加的靈活和方便。使得BGP協(xié)議具有強大的可操控型。

因為BGP協(xié)議需要傳遞大量的路由信息,所以,其本身不可能存

在周期更新機制。BGP僅存在觸發(fā)更新

2,可靠性---需要保證數(shù)據(jù)傳輸?shù)目煽?/span>BGP為了保證傳輸?shù)?/span>

可靠性,其傳輸層協(xié)議直接選擇使用TCP協(xié)議。使用TCP的179

號端口進行工作。

IGP協(xié)議不選擇使用TCP的原因

1,TCP傳輸效率較低?

2,TCP傳輸占用資源較大

3,TCP協(xié)議只能實現(xiàn)單播,所以,無法通過組播或者廣播的形式發(fā)送,則將導(dǎo)致IGP協(xié)議無法自動發(fā)現(xiàn)鄰居關(guān)系,只能手工指定

因為BGP選擇使用的是TCP協(xié)議,所以,BGP需要手工建立鄰居關(guān)系

BGP因為傳輸層使用的是TCP協(xié)議,所以,只要在TCP協(xié)議可以正常建立會話的基礎(chǔ)上就可以完成BGP的建鄰工作

BGP支持非直連建鄰(網(wǎng)絡(luò)可達)---BGP的非直連建鄰建立在IGP(靜態(tài))之上在BGP中,我們將鄰居關(guān)系稱為對等體關(guān)系。

EBGP對等體關(guān)系---如果建立對等體的兩臺路由器位于不同的AS中,則他們的關(guān)系被稱為EBGP對等體關(guān)系。

IBGP對等體關(guān)系---如果建立對等體的兩臺路由器位于同一個的AS中,則他們的關(guān)系被稱為IBGP對等體關(guān)系。

因為,EBGP對等體之間一般使用直連建鄰,所以,EBGP對等體之間發(fā)送的數(shù)據(jù)包中的TTL值我們將其設(shè)置為1。如果遇到EBGP對等體之間需要進行非直連建鄰,則需要手工修改TTL?值。IBGP對等體關(guān)系在AS內(nèi)部一般都是非直連建鄰,所以TTL值設(shè)置為255

  1. AS-BY-AS---在BGP當中,我們將一個AS看作一個整體。

BGP協(xié)議是不支持負載均衡的。----在BGP當中,如果到達同一個目標網(wǎng)段存在多條路徑可以走時,BGP將會根據(jù)其中的路徑屬性來選擇一條最優(yōu)的加載到路由表中,而不會進行負載均衡。

  1. BGP的數(shù)據(jù)包

BGP協(xié)議所有數(shù)據(jù)包的傳輸?shù)目煽啃跃蒚CP協(xié)議來保證。所有BGP數(shù)據(jù)包均基于TCP建立的會話通道發(fā)送。

OSPF的Hello ---可以周期性的發(fā)現(xiàn),建立和保活鄰居關(guān)系

在BGP中,發(fā)現(xiàn)鄰居關(guān)系的過程變?yōu)橛扇?/span>手工指定。主要因為TCP協(xié)議需要建立會話通道,之后才會基于通道發(fā)送數(shù)據(jù)包

open包---建立BGP對等體關(guān)系。----鄰居關(guān)系的建立無非就是參數(shù)協(xié)商的過程。BGP建立鄰居關(guān)系需要通過OPEN包來攜帶參數(shù),進行比對協(xié)商

AS號---在創(chuàng)建鄰居關(guān)系時需要指定鄰居所在的AS號,這個參數(shù)將被攜帶在OPEN報文中發(fā)送給對方,對方將比對這個AS號和本地所在的AS號是否一致,如果一致,則可以正常建立鄰居關(guān)系。

認證---BGP建鄰也可以做認證,做認證后將攜帶認證口令,認證口令雙方需要比對,一致則可以正常建立鄰居關(guān)系

ROUTE-ID----區(qū)分和標定路由器的。也是由32位二進制構(gòu)成,按照IP地址的格式來表示。----1,手工配置;2,自動獲取先看設(shè)備是否存在環(huán)回接口,如果存在則將選擇環(huán)回接口中IP地址最大的地址作為RID,如果沒有環(huán)回接口,則將在物理接口中選擇IP地址最大的作為RID)這個RID將在OPEN包中攜帶,發(fā)送到對端之后,對端將檢測這個RID,如果和本地的RID不同,則將可以正常的建立鄰居關(guān)系。

手工建立鄰居關(guān)系時所指定的建鄰的IP地址必須和收到的open?包中的源IP地址相同才能正常建立鄰居關(guān)系。否則,鄰居關(guān)系將建立失敗

Holdtime---保活時間---默認時間為180S,在保活時間內(nèi),如果沒有收到對方發(fā)送的keeplive包或者update包,則將斷開BGP鄰居關(guān)系這個參數(shù)在open報文中將被攜帶,但是,雙方不一致不會影響鄰居關(guān)系的建立,但是在執(zhí)行時,這個時間必須是一致的,則將采用雙方中較小的保活時間來使用。路由器是否支持刷新功能也將成為OPEN報文中所攜帶的一個協(xié)商參數(shù)。

keeplive包---周期保活---周期發(fā)送時間等于保活時間的1/3。默認保活時間180S,則默認的周期發(fā)送時間為60S。

除了保活之外,keeplive包還將在open報文協(xié)商參數(shù)時臨時充當確認包的作用

TCP協(xié)議進行確認的目的是為了保證數(shù)據(jù)傳輸?shù)目煽啃裕?keeplive報文確認的目的是為了確認認可對方發(fā)送的open報文中的參數(shù)

update包---更新包---攜帶需要傳遞的路由信息的數(shù)據(jù)包。表示一

條路由條目信息,需要攜帶的參數(shù)主要就是目標網(wǎng)絡(luò)號和子網(wǎng)掩碼信

息,以及路徑屬性。

在更新包中,存在一個撤銷路由條目字段,在這個字段下的路由條目將需要對端刪除,而不再需要通過帶毒傳輸?shù)姆绞絹肀磉_。

notification包---BGP中設(shè)計的一個告警機制。

Route-refresh包---用于改變路由策略變更后請求對等體重新發(fā)送路由

信息。(前提條件是雙方均支持路由刷新功能才行。)

  1. BGP的狀態(tài)機

BGP的狀態(tài)機描述的是BGP對等體建立過程中狀態(tài)的變化。因為BGP這個協(xié)議可以將鄰居建立過程和路由收發(fā)過程分開進行

BGP的狀態(tài)機---6種

?

IDLE ---空閑狀態(tài)---路由器啟動BGP進程之后,將先處于idle狀態(tài)。當你手工指定鄰居關(guān)系后,BGP將進入到一個檢查環(huán)節(jié),檢查指定的IP地址在本地路由表中是否可達如果可達,則將進入到下一個狀態(tài)---connect。

Connect---連接狀態(tài),該狀態(tài)完成TCP會話的建立。

如果TCP會話建立成功,則將進入到opensent狀態(tài),發(fā)送open報文

如果TCP會話建立失敗,則將進入ACTIVE狀態(tài),嘗試重新建立TCP?會話

在建立TCP會話過程中,因為雙方都會主動發(fā)起建立會話的過程,而最終建立的都是一個雙向的會話。所以,最終只需要保持一個會話通道即可。選擇方式是通過后續(xù)open報文中的RID進行比較,選擇保留RID大的設(shè)備發(fā)起的TCP會話。

Opensent---發(fā)出本地的open報文。收到對端發(fā)送的open報文,查看里面的參數(shù),之后,如果確認參數(shù)無誤。則將回復(fù)keeplive報文作為確認

Openconfirm---open報文確認狀態(tài)---對端也收到本地發(fā)送的open報文,之后根據(jù)里面的參數(shù)進行確認。如果確認無誤則將發(fā)送keeplive報文。本段收到對方發(fā)送的keeplive報文之后將進入下一個狀態(tài)

Established---建立狀態(tài)---標志著BGP對等體關(guān)系的建立

?

?

  1. BGP的工作過程

1,基于IGP協(xié)議實現(xiàn)IP可達?

2,指定鄰居關(guān)系,通過三次握手,建立TCP的會話通道。之后所有BGP的數(shù)據(jù)報都將基于TCP會話通道來進行傳遞。

3,使用open報文和keeolive報文進行鄰居關(guān)系的建立。之后將鄰居關(guān)

系收集到一張表中---鄰居表

4,通過update報文傳遞路由信息。傳遞的路由條目信息中主要包含目標網(wǎng)絡(luò)號,掩碼信息,以及各種路徑屬性。之后,設(shè)備會將所有自己發(fā)出的以及收到的路由信息記錄在一張表中---BGP表

5,之后將BGP表中的最優(yōu)路徑加載到路由表(依靠屬性選擇出最優(yōu)路徑)

6,收斂完成后,BGP將周期使用keeplive報文進行保活保活時間默認為180S周期發(fā)送時間默認為保活時間的1/3,即60S。?

7,若出現(xiàn)錯誤信息,將使用notification報文進行告警。?

8,若發(fā)生結(jié)構(gòu)突變,則將使用update報文進行觸發(fā)更

4,BGP的路由黑洞

?

由于BGP協(xié)議支持非直連建鄰,故可能出現(xiàn)BGP協(xié)議跨越未運行BGP協(xié)

議的路由器。導(dǎo)致BGP路由傳遞后,控制層面可達,但是數(shù)據(jù)層面,在經(jīng)

未運行BGP協(xié)議的路由器時無法通過。形成路由黑洞

  1. 在R3上將BGP協(xié)議的路由信息重發(fā)布到IGP當中。

2,直接在R4上運行BGP協(xié)議

3,MPLS

為了避免路由黑洞的情況產(chǎn)生,BGP提出了同步機制---即當一臺路由器從自己的IBGP對等體學(xué)習到一條BGP路由時,他將不能把他通告給自己的EBGP對等體,除非他又從IGP協(xié)議當中學(xué)習到這條路由。

5,BGP的防環(huán)

BGP使用的防環(huán)機制---水平分割機制

EBGP的水平分割---一種專門應(yīng)用EBGP對等體之間,用來解決EBGP對等體之間可能出現(xiàn)的環(huán)路問題。

BGP協(xié)議將在路由條目中記錄所經(jīng)過的AS編號----AS_PATH ---記錄AS路徑的一個屬性。(這個屬性除了可以完成EBGP的水平分割外,還可以作為選路的依據(jù)。)---接收到的BGP路由條目中,其中的AS_PATH屬性中,若存在本地的AS號,則將拒絕接受。

IBGP的水平分割---一種專門應(yīng)用在IBGP對等體之間,用來解決IBGP對等體之間可能出現(xiàn)的環(huán)路問題。

?

IBGP水平分割---當一個路由器從一個IBGP對等體處學(xué)習到某條BGP路由時,他將不能在將這條路由信息通告給其他的IBGP對等體關(guān)系。

?

因為IBGP水平分割的限制導(dǎo)致IBGP對等體之間的路由信息只能傳遞

一跳,在這情況下,可能會造成通信障礙

解決方案:

  1. 構(gòu)建全連的IBGP對等體關(guān)系---這樣的方法弊端在于
    1. 全連建鄰會導(dǎo)致資源消耗增加
    2. 可能會導(dǎo)致網(wǎng)絡(luò)的可拓展性降低

2,路由反射器

3,聯(lián)邦

6,BGP的基本配置

原文鏈接:https://blog.csdn.net/Newcomer_L/article/details/125898346

欄目分類
最近更新