基于華為ENSP的BGP的狀態機深入淺出

?本篇技術博文摘要 🌟

  • 本文章主要探討BGP狀態機如何控制BGP連接的建立與維護,以及BGP協議在運行過程中如何交換路由信息并確保網絡的穩定性

引言 📘

  • 在這個快速發展的技術時代,與時俱進是每個IT人的必修課。
  • 我是腎透側視攻城獅,一名什么都會一丟丟的網絡安全工程師,也是眾多技術社區的活躍成員以及多家大廠官方認可人員,希望能夠與各位在此共同成長。

1.BGP的狀態機

什么是BGP的狀態機?

  • OSPF的狀態機是在描述整個協議的完整工作過程,而BGP的狀態機僅描述的是對等體關系建立過程中的狀態變化。-----因為BGP將鄰居建立過程以及BGP路由收發過程完全隔離
  • IGP協議在啟動后,需要通過network命令激活接口,從而使接口具備處理IGP協議報文的能力。且network命令另一重含義就是發布路由,所以IGP協議無法將鄰居建立過程以及路由收發過程隔離。
  • 但是BGP協議在啟動后,每一個接口都具備處理BGP報文的能力,不需要其他任何操作,所以可以將鄰居建立過程以及路由收發過程進行分割。

BGP-Peer狀態表說明

image-20230323153930483

Idle----空閑狀態

  • 等待網絡管理員手工指定鄰居信息,IP地址以及AS號

  • 當指定鄰居信息后,會進入一個檢查環節,需要檢查手工指定的IP地址在本地路由表中是否可達,只有可達,才可以正常建立TCP會話,如果不可達,則鄰居關系建立失敗,停留在Idle狀態。

image-20230323153930483

Connect----連接狀態

  • 該狀態會開啟一個連接重傳定時器---32秒

    • 當該計時器時間超時,則本端重新發送一次TCP連接請求報文。在該時間段內沒有收到任何一個回復報文。

  • 如果此時本地判斷TCP狀態進入到establish狀態,則認為TCP連接建立成功,進入到opensent狀態。

  • 如果此時本地收到的是拒絕報文,則認為TCP連接建立失敗,進入到Active狀態。

  • 如果BGP在連接重傳定時器時間內,沒有收到對等體的響應,那么BGP會繼續嘗試與對等體建立TCP會話,并一直處于該狀態

Active----嘗試狀態

  • 第一次TCP會話建立失敗,則進入該狀態。

  • 如果建立成功,則進入opensent狀態;如果建立失敗,則停留在active狀態。

  • 使用在connect狀態開啟的連接重傳定時器來發送鏈接建立請求報文,當建立成功后,該計時器才會被關閉。

opensent狀態

  • 本地發送出open報文,同時也將收到對端發送的open報文,并予以回復。

  • 如果收到的open報文中的參數本端認可,則回復keepalive報文;否則回復notification報文。

  • 如果回復keepalive報文,則進入openconfirm狀態;如果回復notification報文,則進入idle狀態。

openconfirm狀態

  • 等待對等體對于本地發出的open報文參數的回復。

  • 如果收到的是keepalive報文,則認為BGP會話建立成功,進入到establish狀態。

  • 如果收到的是notification報文,則認為BGP會話建立失敗,斷開TCP連接,回到idle狀態。

Establish狀態----建立狀態

  • BGP會話建立的標志

  • 在該狀態可以發送除了open報文以外的所有BGP數據報文。

?BGP各個狀態表之間的聯動關系圖

2.BGP的工作過程

前提:不是BGP工作過程

  • 基于IGP、靜態、直連路由協議實現IP可達

啟動BGP協議,并指定鄰居關系。

  1. 鄰居之間使用單播進行數據傳輸,通過三次握手,建立TCP會話通道。

  2. 之后所有的數據通訊均基于TCP會話通道來傳輸,并由TCP協議來提供傳輸的可靠性機制

用open和keepalive報文進行鄰居之間參數的協商,以及對等體關系的建立

  1. open報文用來攜帶參數信息

  2. keepalive報文用來進行參數確認

  3. 最終生成BGP鄰居表

使用update報文來傳輸BGP路由信息

  • 信息中將攜帶前綴信息、前綴長度以及路徑屬性。
  1. 設備會將自己發送的以及收到的所有BGP路由信息記錄在BGP路由表中。

  2. 設備會對比不同路由表單,將其中最優的路由信息加載到全局路由表中。

路由收斂完成?

  • BGP對等體之間使用keepalive報文進行周期保活(可選)。默認為180S,可以設置為0關閉周期保活性質

如果出現報錯/結構突變

  • 出現錯誤,使用notification報文告警
  • 出現結構突變,使用update報文進行增量更新。

歡迎各位彥祖與熱巴暢游本人專欄與技術博客

你的三連是我最大的動力

以下圖片僅代表專欄特色 [點擊??指向的專欄名即可閃現]

??Cyberspace Security

???24 Network Security -LJS?

???Ungranted access vulnerability

??HCIP;H3C-SE;CCIP—LJS[華為、華三、思科高級網絡]

???MYSQL REDIS Advance operation

??RHCE-LJS[Linux高端騷操作實戰篇]?

??數據結構與算法[考研+實際工作應用+C程序設計]

??RHCSA-LJS[Linux初級及進階騷技能]

上節回顧

?

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

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

相關文章

Android 15中的16KB大頁有何優勢?

deepseek回答: Android 15引入的16KB大內存頁是系統性能優化的關鍵變革,其核心優勢體現在以下方面: ? 一、性能全面提升 系統整體加速 配置16KB頁面的設備整體性能提升5%-10%,通過減少內存管理開銷釋放更多資源用于應用運行。…

Gis數據的A*算法規劃航線

1.1 用到的技術棧geotools JTSJgrapht1.2 實現思路// 定義柵格網格參數private static final double CELL_SIZE_DEGREES 0.005;private static int gridWidth 0;//格子高度 index 1private static int gridHeight 0;//格子寬度// 1. 讀取GeoJSON文件File geoJsonFile new …

Spring Boot 默認使用 CGLIB,但CGLIB 無法代理 final 類或 final 方法

那么當這兩件事沖突時,Spring Boot 是怎么“解決”的呢?答案是:它不解決,也無法解決。當這種情況發生時,你的應用程序會直接啟動失敗。這不是 Spring Boot 的疏忽,而是由 CGLIB 的底層原理和 Java 語言的規…

cuda編程筆記(10)--memory access 優化

全局內存訪問優化(Coalesced Access) 什么是 Coalesced Access? 定義:一個 warp(32 個線程)在同一指令中訪問全局內存時,如果這些訪問請求可以合并成盡可能少的內存事務(通常是 32…

閑庭信步使用圖像驗證平臺加速FPGA的開發:第三十一課——車牌識別的FPGA實現(3)車牌字符分割預處理

(本系列只需要modelsim即可完成數字圖像的處理,每個工程都搭建了全自動化的仿真環境,只需要雙擊top_tb.bat文件就可以完成整個的仿真,大大降低了初學者的門檻!!!!如需要該系列的工程…

電子電氣架構 --- 汽車軟件全生命周期

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 簡單,單純,喜歡獨處,獨來獨往,不易合同頻過著接地氣的生活,除了生存溫飽問題之外,沒有什么過多的欲望,表面看起來很高冷,內心熱情,如果你身…

力扣面試150(41/150)

7.25 56. 合并區間 以數組 intervals 表示若干個區間的集合,其中單個區間為 intervals[i] [starti, endi] 。請你合并所有重疊的區間,并返回 一個不重疊的區間數組,該數組需恰好覆蓋輸入中的所有區間 。 我的思路: 左端點升序…

【隧道篇 / IPsec】(7.6) ? 01. 利用向導快速建立IPsec安全隧道 (點對點) ? FortiGate 防火墻

【簡介】相信很多人已經習慣利用導向快速創建VPN了,而且已經有部分嘗鮮者已經用上了FortiOS 7.6,但是會發現FortiOS 7.6下的VPN向導改變了很多,一時無法下手,下面我們來看看最常見的點對點是如何配置的。環境介紹在配置IPsec VPN之…

PLLIP核

。1 號紅色框內的速度等級代表著設備的速度 等級,保存默認就好;2 號紅色框內設置輸入頻率;3 號紅色框選擇 PLL 的工作模式。我們 開發板用的晶振是 50MHz 的,故在 2 號紅色框內我們填寫 50MHz;我們在 3 號紅色框內選正…

1.1 Deep learning?pytorch ?深度學習訓練出來的模型通常有效但無法解釋合理性? 如何 解釋?

DL 是什么,你如何理解DL模型? DL 對于我而言,就是人類試圖想通過數學語言描述人類學習過程的一門技術,或者說學科。 因此 DL 模型 相當于 數學 的 一個 funciton ,有輸入,通過function處理,得…

java實現在工具類中注入其他對象方式

方案1: Slf4j Component public class ChatdocApiClient {Value("${chatdoc.app-id}")private String appId;Value("${chatdoc.secret}")private String secret;Value("${chatdoc.domain}")private String domain;private final Rest…

electron中IPC 渲染進程與主進程通信方法解析

electron中ipcRenderer.invoke、ipcRenderer.on、ipcRenderer.send、ipcRenderer.sendSync作用與區別 IPC 渲染進程與主進程通信方法解析 ipcRenderer 的這幾個方法作用不完全相同,它們適用于不同的通信場景,核心區別在于通信方向、是否需要響應以及同步…

epoll_event 事件類型詳解

epoll_event 事件類型詳解 epoll_event 是 Linux epoll I/O 多路復用機制的核心結構體&#xff0c;其中的事件類型決定了 epoll 監控的行為和觸發條件。以下是各種事件類型的詳細解析&#xff1a; epoll_event 結構體 #include <sys/epoll.h>typedef union epoll_data {v…

設計自己的小傳輸協議 導論與概念

設計自己的小傳輸協議 導論與概念 1&#xff1a;聊一聊協議頭設計 ? 早在《TCP/IP詳解》中的第一句話中&#xff0c;我們就知道協議的含義是這樣的&#xff1a;協議是通信雙方共同遵守的一套規則&#xff0c;提供格式定義、語義解釋等&#xff0c;使不同設備或軟件能夠正確交…

iOS —— 天氣預報仿寫總結

在iOS中&#xff0c;最常見的網絡請求方式是NSURLSession&#xff0c;它是蘋果推薦的現代API&#xff0c;簡單安全且易于拓展。一次完整的網絡請求流程&#xff1a;構造 NSURL 對象創建 NSURLSessionDataTask發起請求&#xff08;resume&#xff09;在回調中解析數據回到主線程…

MySQL 8.4 Windows 版安裝記錄與步驟參考

導語&#xff1a; MySQL 作為廣泛使用的開源數據庫管理系統&#xff0c;是許多開發者和學習者的必備工具。最近有朋友詢問安裝過程&#xff0c;正好整理了 MySQL 8.4 在 Windows 系統下的安裝步驟和一些注意事項&#xff0c;分享給有需要的朋友做個參考。關于 MySQL&#xff1a…

七、搭建springCloudAlibaba2021.1版本分布式微服務-skywalking9.0鏈路追蹤

前言鏈路追蹤介紹 對于一個大型的幾十個&#xff0c;幾百個微服務構成的微服務架構系統&#xff0c;通常會遇到下面的一系列問題。 如何串聯整個調用鏈路&#xff0c;快速定位問題&#xff1f;如何澄清各個微服務之間的依賴關系&#xff1f;如何進行各個微服務接口的性能分析&a…

深入理解大語言模型生成參數:temperature、top\_k、top\_p 等全解析

在使用大語言模型&#xff08;如 GPT-4、LLaMA、ChatGLM 等&#xff09;進行文本生成任務時&#xff0c;很多開發者會面對各種“生成參數”&#xff0c;如 temperature、top_k、top_p、repetition_penalty 等。這些參數雖然看起來抽象&#xff0c;但掌握它們的意義和配置技巧&a…

vulhub Web Machine(N7)靶場攻略

下載地址&#xff1a; https://download.vulnhub.com/webmachine/Web-Machine-N7.ova 使用方法&#xff1a; 靶場下載好以后不用解壓&#xff0c;需要使用Oracle VirtualBox虛擬機打開&#xff0c;用VMware會報錯。安裝Oracle VirtualBox虛擬機時安裝地址不能隨便選擇&#…

【機器學習深度學習】模型微調:多久才算微調完成?——如何判斷微調收斂,何時終止訓練

目錄 前言 一、微調過程的目標&#xff1a;優化模型表現 二、微調需要多久&#xff1f; 微調時間無法確定 三、如何判斷微調何時收斂&#xff1f; 3.1 觀察Loss的下降趨勢 3.2 損失值趨于平穩&#xff0c;意味著收斂 如何識別收斂&#xff1f; 3.3 驗證Loss的波動&…