HCIP —— BGP 基礎 (下)

BGP 的狀態機

--- 建立對等體之間的TCP會話:指定建立對等體的對象

六種狀態機

Idle狀態

Idle 等待狀態(相當于OSPF的down狀態)--- 采用TCP單播建鄰

Idle 狀態下,啟動BGP協議后必須指定建立對等體的目標之后,才能進入下一個狀態(依靠IGP協議:靜態、直連等

Connect 狀態

Connect 狀態下,BGP對等體之間開始建立TCP會話連接

Opensent 狀態

如果TCP會話建立成功則進入到OpenSent狀態。

Active 狀態

如果TCP會話建立失敗則進入Active狀態(嘗試狀態)。

OpenConfirm 狀態

如果認可對等體發過來的Open報文中的參數,首先會回復一個Keepalive報文用來確認Open報文中的參數已近被我認可,并且進入OpenConfirm 狀態。

OpenSent 狀態

如果TCP會話(三次握手)建立成功則進入OpenSent 狀態,在OpenSent狀態下,開始發送Open報文去建立BGP對等體關系

Established 狀態

如果收到對等體發送Keepalive報文,則進入Established狀態。

BGP的工作過程

  1. 基于IGP(靜態、直連、RIP、OSPF...)協議實現路由可達,原因:BGP需要建立TCP會話(單播)
  2. 必須指定鄰居關系,鄰居之間進行單播傳輸通過三次握手,來建立TCP會話通道。之后所有的BGP通信都將基于TCP會話通道來傳輸。并且依靠TCP提供傳輸的可靠性。
  3. 使用Open報文和Keepalive報文來進行鄰居關系的建立Open報文用來建鄰使用的參數,Keepalive報文用于Open報文參數的確認。最終完成對等體關系的建立。生成鄰居表,存儲BGP對等體關系信息
  4. 建立鄰居關系后,使用Update報文來共享路由條目信息。信息中將攜帶目標網絡號,掩碼及路徑屬性;之后,將發送以及收集到的路由信息記錄在一張表中 --- BGP表
  5. 之后,會將BGP表中的最優的路由信息通過路徑屬性選擇的結果)加載到路由表中。
  6. 收斂完成后,將使用Keepalive報文進行對等體之間的周期保活,默認的保活時間為 180 S (hold time), 發送周期為 60 S
  7. 如果這個過程中出現任何問題,都將使用Notification報文進行 告警
  8. 如果拓撲結構出現突變(增加/刪除),則將使用Update報文來進行觸發更新,并通告給其他的對等體。

BGP的機制

BGP的路由黑洞

存在問題:控制層面的可達數據層面實際不可達

IGP內部沒有運行BGP的設備,當訪問BGP網段流量來到這些設備之后,由于控制層面可達,數據層面不可達(因為這些設備沒有運行BGP,沒有BGP的網段的路由信息),那么將丟棄這些流量。

解決方法:

  1. 所有設備均運行BGP
  2. 重發布
  3. MPLS (Multi-Protocol Label?Switching?多標簽交換協議)--- 最早用來專門解決BGP路由黑洞,運用MPLS - VPN 廣泛。

原理:MPLS是根據標簽來轉發的,而不是路由條目。只要邊界路由器上有BGP路由,接下來路由傳播在內部路由器走MPLS,通過標簽轉發,即使路由有黑洞,也可以通,因為我內部走的是標簽。

同步機制? --- 當設備學習到一條BGP路由時,如果本地的IGP路由不可達,則將視該BGP路由無效。? 首先 可以先通告命令 查看路由條目:display ip routing-table 。? ---- 默認關閉的

BGP的防環 --- 水平分割

EBGP的水平分割

BGP 為了解決EBGP路由環路的問題,設計了一個AS - PATH的屬性,設備在發出AS 時會攜帶本AS的AS號,當路由信息攜帶該AS號,那么對應該AS的設備不會接受該路由

同時AS - PATH 屬性也是BGP的一個選路依據,當其他屬性一致時,會選擇AS - PATH屬性 更短的路徑。

IBGP的水平分割

當運行BGP的設備 從IBGP對等體處學習到一條IBGP路由,那么將不再轉發給其他的IBGP對等體。

解決方案? --- 在IBGP對等體直接構建全連的IBGP對等體關系

引起兩個問題:

1.增加拓撲的復雜性導致網絡的可拓展性差。

2.增大了資源的占用。

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

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

相關文章

yaml工作常用語法總結

文章目錄 yaml中的| 符號 和 > 符號yaml中的 - 符號工作中常遇到的問題- 命令行中有冒號加空格,導致yaml解析報錯 yaml中的| 符號 和 > 符號 在 YAML 中,| 符號表示標量塊(Scalar Block)的開始。它用于表示長文本塊或保持多…

代碼隨想錄算法訓練營第四十六天| 139 單詞拆分

目錄 139 單詞拆分 139 單詞拆分 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {vector<bool>dp(s.size() 1);//長度為i的字符串時能否成功拆分unordered_set<string>set(wordDict.begin(),wordDict.end());dp[0] t…

數據結構 | 查漏補缺之哈希表、最短路徑、二叉樹與森林的轉換

哈希表是什么&#xff1f; 或者說 設圖采用鄰接表的存儲結構&#xff0c;寫對圖的刪除頂點和刪除邊的算法步驟 刪除邊 刪除點 最短路徑問題 參考博文 迪杰斯特拉(Dijkstra)算法_dijkstra算法-CSDN博客 Dijkstra(迪杰斯特拉&#xff09;算法 定義一個點為源點&#xff0c;算源…

5G+AI開花結果,助力智慧安檢落地

“請帶包的乘客過機安檢&#xff01;”&#xff0c;深圳地鐵、騰訊共同打造的5GAI智慧安檢輔助系統亮相福田樞紐站&#xff0c;進一步解放了人力&#xff0c;提高安檢效率&#xff0c;為交通安全保駕護航&#xff0c;讓智慧出行成為現實。 傳統的安檢設備均為人工肉眼辨識&…

java面試題匯總-目錄

堅持記錄和總結一些面試過程中遇到的面試題&#xff0c;以及總結出自己的回答技巧。不用死記硬背也能完整的回答出來。會持續更新&#xff0c;歡迎提出問題和疑問&#xff0c;大家一起總結經驗。 1.Hashmap、Hashtable、ConcurrentHashMap原理 2.談談sql優化-mysql 3.ArrayList…

2023年9月13日 Go生態洞察:WASI支持在Go中的實現

&#x1f337;&#x1f341; 博主貓頭虎&#xff08;&#x1f405;&#x1f43e;&#xff09;帶您 Go to New World?&#x1f341; &#x1f984; 博客首頁——&#x1f405;&#x1f43e;貓頭虎的博客&#x1f390; &#x1f433; 《面試題大全專欄》 &#x1f995; 文章圖文…

21、命令執行

文章目錄 一、命令執行概述1.1 基本定義1.2 原理1.3 兩個條件1.4 命令執行漏洞產生的原因1.5 管道符號和通用命令符 二、遠程命令執行2.1 遠程命令執行相關函數2.2 遠程命令執行漏洞的利用 三、系統命令執行3.1 相關函數3.2 系統命令執行漏洞利用 四、命令執行漏洞防御 一、命令…

Vue筆記(三)深入組件

組件注冊 組件注冊有兩種方式&#xff1a; 全局注冊 可以使用Vue應用實例的.component()方法&#xff0c;讓組件在當前Vue應用中全局可用&#xff0c;.component()方法可以被鏈式調用。全局注冊的組件可以在此應用的任意組件的模版中使用。import { createApp } from vue imp…

阿里云生態離線數倉

1. 大數據開發治理平臺 DataWorks 功能齊全&#xff1a;10多年大數據建設沉淀完整的平臺&#xff0c;覆蓋數據開發治理的全生命周期 簡單易用&#xff1a;全圖形化界面&#xff0c;SQL為主的數據開發方式 安全穩定&#xff1a;雙11日千萬級任務穩定調度&#x…

一:C語言常見概念

一&#xff1a;C語言常見概念 1.認識C語言&#xff1a; ? C語言是人和計算機交流的語言 ? C語言是一門面向過程的語言&#xff0c;而C&#xff0c;Java&#xff0c;Python等是一門面向對象的語言 ? 軟件開發&#xff08;項目&#xff09;&#xff1a;面向過程面向對象 …

maven下載安裝與配置

文章目錄 1. Maven下載2. 配置settings.xml2.1 指定Maven的本地倉庫2.2 配置阿里云提供的鏡像倉庫2.3 配置 Maven 工程的基礎 JDK 版本 3. 配置環境變量3.1 檢查 JAVA_HOME 配置是否正確3.2 配置 MAVEN_HOME3.3 配置PATH3.4 驗證 1. Maven下載 【Maven官網地址】 【Maven下載…

微服務架構下的分布式事務

系統軟件為了實現一定的業務&#xff0c;會將現實中的人、事、物進行抽象表示&#xff0c;并將其映射為系統中的模型。 業務模型大致可以按以下來構建&#xff1a; 1、定義系統中應該存在哪些實體、實體上有哪些屬性。 2、定義實體之間的各種拓撲關系&#xff0c;如從屬、嵌套…

2023五岳杯量子計算挑戰賽數學建模思路+模型+代碼+論文

賽題思路&#xff1a;12月6日晚開賽后第一時間更新&#xff0c;獲取見文末名片 “五岳杯”量子計算挑戰賽&#xff0c;是國內專業的量子計算大賽&#xff0c;也是玻色量子首次聯合移動云、南方科技大學共同發起的一場“企校聯名”的國際競賽&#xff0c;旨在深度融合“量子計算…

Python處理Excel文件并與數據庫匹配做拼接

Python處理Excel文件并與數據庫匹配做拼接 需求&#xff1a;Python處理Excel中數據并于數據庫交互匹配得到賬號信息等其他操作 Python實現 import os import pandas as pd import pymssql import warnings import time# 提取速率函數 def extract_broadband_speed(speed):if…

【外觀模式】SpringBoot集成mail發送郵件

前言 發送郵件功能&#xff0c;借鑒 剛果商城&#xff0c;根據文檔及項目代碼實現。整理總結便有了此文&#xff0c;文章有不對的點&#xff0c;請聯系博主指出&#xff0c;請多多點贊收藏&#xff0c;您的支持是我最大的動力~ 發送郵件功能主要借助 mail、freemarker以及rocke…

Java 泛型相關知識

什么是泛型? Java 泛型(generics)是JDK5中引入的一種參數化類型特性。 為什么使用泛型,使用泛型的好處? 代碼更健壯(只要編譯期沒有警告,那么運行期就不會出現 ClassCastException)代碼更簡潔(不用強轉)代碼更靈活,復用什么是參數化類型: 把類型當參數一樣傳遞<…

C語言絕對值得一看的常識講解:柔性數組補充篇

今天突然看到一個比較特別的知識點——柔性數組。它是在C99中出現的一種特別的數組&#xff0c;具體是指結構體中的最后一個元素允許是未知大小的數組&#xff0c;這就叫做『柔性數組』成員。 目錄 1.柔性數組的定義 2.柔性數組的特點 3.柔性數組的使用舉例 4.柔性數組的優…

React基礎語法整理

安裝&#xff1a; yarn create react-app reatc-lesson --template typescript yarn create 創建一個react-app的應用 項目名稱 typescript 的模板react-app 官方地址 https://create-react-app.bootcss.com/docs/adding-typescriptreact 語法文檔 https://zh-hans.react.dev…

Vue筆記(一)基礎

VUE 官方文檔&#xff1a;https://cn.vuejs.org/ 創建VUE項目 前提&#xff1a;已安裝 16.0 或更高版本的 Node.js 進入要創建的目錄&#xff0c;執行命令&#xff1a;npm create vuelatest 安裝依賴&#xff0c;啟動&#xff1a; //進入項目目錄&#xff0c;運行命令安裝依賴…

基于Vue框架的電子商城購物平臺小程序的設計與開發

基于JavaWebSSMVue電子商城購物平臺小程序系統的設計和實現 源碼獲取入口KaiTi 報告/Ren務書Lun文目錄前言主要技術系統設計功能截圖訂閱經典源碼專欄Java項目精品實戰案例《500套》 源碼獲取 源碼獲取入口 KaiTi 報告/Ren務書 一、選題的目的和意義 自從微信推出了微信小程序…