BGP第二日

上圖為今日所用拓撲 ,其中R1和R4,R3和R5為EBGP鄰居,R1和R3為IBGP鄰居,AS200區域做OSPF動態路由

一.BGP建立鄰居的六種狀態

1.idle?? ???????

空閑狀態:建立鄰居最初的狀態

2.Connect??????

?連接狀態:在這個狀態下會嘗試建立TCP連接

3.Active?

? 活躍狀態:TCP建立連接失敗會進入這個狀態,一直失敗則一直在這個狀態,若建立成功則由Active->OpenSent狀態

4.OpenSent

Open報文發送狀態:在TCP建立連接成功后會進入這個狀態,這個狀態下雙方會發送Open報文以嘗試建立鄰居關系

5.OpenConfirm?

?Open報文確認狀態:收到對方的Open報文后就進入這個狀態了,這個狀態下會向對方發送KeepAlive保活報文以維持鄰居關系

6.Established?

?建立狀態:收到對方的KeepAlive保活報文后進入的狀態,在這個狀態下鄰居關系達到完滿

二.流量黑洞

出現原因:

當路由下一跳地址非直連的網段ip地址就有可能出現流量黑洞,其原因是路由表是按照目的地址尋址的,當路由下一跳非直連網段ip時,下一跳所在路由器不一定有目的ip的路由條目,這時就會將路由數據傳到Null口,形成流量黑洞。

在IBGP中,若兩臺建立IBGP路由器之間有沒有配置IBGP的路由設備時,就會出現流量黑洞問題,雖然兩臺IBGP路由器學習了對方所搬運的路由,但是由于中間路由器沒有所搬運路由的路由信息,所以外部AS設備無法相互連接。

解決方案:

1.配置靜態路由:

在中間路由器R2中配置兩條靜態路由:

[R2]ip route-s 10.10.4.4 32 192.168.12.1
[R2]ip route-s 10.10.5.5 32 192.168.23.3

有了這兩條靜態路由,中間設備就有了目的IP地址為外部AS區域的路由信息,就可以繼續路由轉發了。這種方法看似完美,實際工作中外部AS區域路由何其之多,BGP搬運多少條路由中間設備均要配置多少條靜態路由,何其繁瑣,實不可取。

2.在ospf中引入外部BGP路由:

[R1]ospf 1
[R1-ospf-1]import-route bgp
[R3]ospf 1
[R3-ospf-1]import-route bgp

這樣ASBR就會生成五類LSA通告全區域外部AS某一IP的路由信息了,這樣做也是看似合理,因為BGP搬運的路由條數龐大,OSPF所引入BGP路由條數也很龐大,會產生大量的五類LSA,對ASBR設備壓力非常大,雖然可以用第五類路由聚合技術緩解壓力,但治標不治本,且BGP所引出的問題最終還是想在BGP中解決。(將五層問題轉換成三層問題這種解決方法會傷了五層高傲的心的)

3.IGBP全互聯

既然問題是由兩臺IBGP路由器之間有非IBGP路由器導致的,那我們直接讓非IBGP路由器成為IBGP路由器不就成了?

[R1]bgp 200
[R1-bgp]peer 192.168.12.2 as 200
[R1-bgp]peer 192.168.12.2 next-hop-local    #IBGP鄰居間傳路由時不會修改下一跳
[R2]bgp 200
[R2-bgp]peer 192.168.12.1 as 200
[R2-bgp]peer 192.168.23.3 as 200
[R3]bgp 200
[R3-bgp]peer 192.168.23.2 as 200
[R3-bgp]peer 192.168.23.2 next-hop-local 

這樣R2就有從IBGP鄰居那邊學來的外部AS區域路由了,看似又是很完美但是圖示僅僅一臺中間設備就要建立3次IBGP鄰居,若總共有N臺路由器則要建立N*(N-1)/2次IBGP鄰居了,工程量不可謂不大,因此,也不可取。

先賣個關子,先不“引玉”,講講別的先。

?三.BGP通告原則

1.BGP路由器會將自己狀態碼為“*>”的路由給狀態為“Established”的鄰居

2.從EBGP那邊搬運的路由會傳遞給所有鄰居

3.從IBGP那邊搬運的路由不會傳遞給別的IBGP鄰居

由于第三條規則,引出了下面我們要講的內容。

四.IBGP水平分割??? ps:也叫內內不相傳

出現原因:

在同一個AS中,若有三臺及以上的IBGP鄰居存在,則有可能產生路由環路(互相來回傳遞從EBGP鄰居那邊搬運來的路由),為了防止這種現象的出現,出現了IBGP水平分割的規則

打開一扇門,就關閉一扇窗

IBGP水平分割解決了IBGP路由環路問題,可卻導致AS內部BGP無法傳遞

解決方案:

1)IBGP全互聯???????

2)Route Reflector?? 路由反射器

3)BGP聯盟??? (已基本淘汰)

4)OSPF 引入BGP

5)靜態路由

五.路由反射器

1.Role:

1)RR? :Router Reflector

2)Client

3)Non-Client

2.路由反射器反射規則

1)從Non-Client設備上搬運的路由,會傳遞給EBGP鄰居,會反射給Client設備,但是不會反射給其它Non-Client設備??????? (非非不反射規則)

2)從Client設備上搬運的路由,會傳遞給EBGP鄰居,會反射給Non-Client設備和Client設備

3)從EBGP鄰居設備上搬運的路由,會反射給Client設備、Non-Client設備

3.隱患

路由反射器突破了IBGP的水平分割,但也面臨著路由環路的風險

4.解決方案:

在BGP報文內加入兩個字段:

Origin-id:始發id,集群內部Client與RR間防環

Cluster_id:簇列表,集群間防環

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43895.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43895.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43895.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 基礎常用基礎命令(CentOS7)-CSDN

常用查找端口命令 ps -ef | grep 端口號殺死對應端口 命令 kill -9 端口號Tomcat 執行 命令 并 打印日志 ./startup.sh && tail -f ../logs/catalina.out解壓 對應文件命令 tar xf 相應文件重命名相應文件 重命名單個文件:將原文件名稱作為源路徑 mv ol…

第一關:Linux基礎知識

Linux基礎知識目錄 前言LinuxInternStudio 關卡1. InternStudio開發機介紹2. SSH及端口映射2.1 什么是SSH?2.2 如何使用SSH遠程連接開發機?2.2.1 使用密碼進行SSH遠程連接2.2.2 配置SSH密鑰進行SSH遠程連接2.2.3 使用VScode進行SSH遠程連接 2.3. 端口映射…

Linux C embed development (personal rveiew)

1. 如何快速去bring up bcm 的wifi chipset a. 首先的確認 編譯的BSP profile b. 其次要先用 default 的kernel config 去編譯 c. 現在我們的一些 PCIE/GPIO/driver 總線的設置 都在dts 中,有錯就去改dts 2. BCM 的板子bring up 注意事項 a. fw: bcm…

攻防世界 Web_python_template_injection(flask模版注入)

學習文章:https://www.freebuf.com/column/187845.html https://blog.csdn.net/weixin_54515836/article/details/113778233 flask的渲染方法有render_template和render_template_string兩種。 render_template()是用來渲染一個指定的文件的。使用如下 return re…

自學第十五天----深入理解函數上

1. 函數是什么? 維基百科中對函數的定義: 子程序 在計算機科學中,子程序(英語:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一個大型程序中的某部分代碼…

python怎么求因數

要想做到python語言求因數方法,首先要明白其中的原理: 1、對由123456789這九個數字組成的9位數進行分解質因數。 2、1234576982x3x3x7x13x23x29x113,所以他的值因數是113。 3、總共有362880種可能,從中找出值因數中最小的數字和…

一節課說明一類奧數題系列——約數與倍數

小學奧數-約數與倍數 約數和倍數:若整數 a 能夠被 b 整除,a 叫做 b 的倍數,b 就叫做 a 的約數。 公約數:幾個數公有的約數,叫做這幾個數的公約數;其中最大的一個叫做這幾 個數的最大公約數。a,b兩數的最…

學生宿舍反限電插座控制功能

石家莊光大遠通電氣有限公司反限電插座功能的技術防止學生通過半波整流進行防止學生改變負載特性(阻性變為非阻性)的防止學生通過可控硅調壓技術(進行功率調整達到使用目的)惡性負載限制次數設置:管理部門可以根據實際要求設定每個宿舍違規次數。達到本次數。系統自動鎖定&…

【LeetCode】快樂數

目錄 一、題目二、解法完整代碼 一、題目 編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」 定義為: 對于一個正整數,每一次將該數替換為它每個位置上的數字的平方和。 然后重復這個過程直到這個數變為 1,也可能是 無限循環 但始終變…

Linux:Ubuntu18.04下開機自啟動QT圖形化界面

Linux:Ubuntu18.04下開機自啟動QT圖形化界面 Chapter1 Linux:Ubuntu18.04下開機自啟動QT圖形化界面一、創建rc.local文件二、建立rc-local.service文件三、啟動服務查看啟動狀態四、重啟 Chapter2 將QT應用作為開機自啟動(Linux系統&#xff…

代碼能力弱,編程思維幾乎沒有,有些勉強能看懂,讓自己敲,一臉懵逼?

最近有幾個人問我,說自己代碼能力弱,編程思維幾乎也沒有,簡單的代碼,勉強能看懂,讓自己敲,就一臉懵逼,下一步該怎么學習? 10幾年前,這些問題,就像是一道道難以…

Redis數據結構和持久化

數據類型 String&#xff1a;Map<String,String> 命令格式 set key value(相同的key會覆蓋&#xff09; get key incr key decr key setex key seconds value seconds秒后失效 ttl key del key setnx ke value(if not exist) 應用場景 計數器 比如&#xff1a;訪問次…

1招搞定maven打包空間不足問題

目錄 一、工具應用問題 二 、使用效果 三、使用方法 四、練習手段 一、工具應用問題 使用maven的package功能打包失敗&#xff0c;報錯“Java heap space”錯誤。 二 、使用效果 修改IDEA中maven內存使用大小后&#xff0c;打包成功。 三、使用方法 點擊菜單“File->Set…

C++ 例外處理 try throw catch

例外處理 程式中可能會發生的錯誤有三種&#xff0c;分別是語法錯誤(syntax error) 、執行期間錯誤(runtime error) 及語意錯誤(semantic error) &#xff0c;其中編譯器會直接檢查出語法錯誤&#xff0c;如果含有語法錯誤的程式無法過編譯&#xff0c;例如 $ g u06.cpp u06.c…

【PythonRS】基于Python分塊處理大型遙感影像的方法

RSer工作時不可避免會用到大型的遙感影像,由于分辨率過高、區域過大、波段信息過多等原因,都會導致數據非常的大。這個時候我們在進行一些簡單的操作,如計算NDVI、二值化、分類等時,計算機的內存都會溢出。因此今天跟大家分享一下我平時分塊的方法,中間如何計算就按照自己…

Docker 使用基礎(3)—容器

&#x1f3ac;慕斯主頁&#xff1a;修仙—別有洞天 ??今日夜電波&#xff1a;秒針を噛む—ずっと真夜中でいいのに。 0:34━━━━━━?&#x1f49f;──────── 4:20 &#x1f504; ?? ? …

let/const/var的區別及理解

在JavaScript中&#xff0c;let、const 和 var 是用來聲明變量的關鍵字&#xff0c;但它們之間在作用域、變量提升、重復聲明等方面存在區別&#xff0c;詳細情況如下: 1. let、const、var 的區別 (1) 塊級作用域 let 和 const&#xff1a;具有塊級作用域&#xff0c;由 {} 包…

百數教學秘籍:三步走,輕松規劃你的自動化計劃任務

通過設定任務計劃&#xff0c;用戶可以輕松安排指定的功能插件或數據助手在特定時間自動執行&#xff0c;有效提高工作效率&#xff0c;還確保了數據的及時更新和處理。任務計劃在應用啟動時自動啟動并在后臺運行&#xff0c;無需用戶持續監控&#xff0c;為用戶帶來極大的便利…

oracle哪些后臺進程不能殺?

oracle 有很多的后臺進程&#xff0c;在遇到特殊情況的時候如鎖表&#xff0c;如果等待的是一個后臺進程&#xff0c;那這時就需要考量是不是能殺掉這個后臺進程&#xff1f;殺掉這個后臺進程會不會引起實例崩潰&#xff1f;本著實踐出真知&#xff0c;本文針對oracle 11g&…

游戲開黑語音-使用云服務器部署teamspeak服務(系統Ubuntu 20.04 LTS)

目錄 前置物品服務器調整及部署1.重裝系統2.換源3.下載teamspeak服務端并部署 連接服務器參考 前置物品 一臺云服務器&#xff08;系統&#xff1a;Ubuntu 20.04 LTS) 服務器調整及部署 1.重裝系統 在騰訊云官網的主機控制臺內&#xff0c;選擇重裝系統 (由于之前為了快點和…