【雜記-淺談BGP邊界網關協議】

BGP邊界網關協議

  • 一、BGP邊界網關協議概述
  • 二、BGP的特點及與IGP的區別
  • 三、BGP的路由屬性
  • 四、BGP協議中使用的報文

一、BGP邊界網關協議概述

1、BGP,Border Gateway Protocol,即邊界網關協議,是一種在自治系統(AS)之間交換網絡層可達性信息的路由選擇協議。每個AS通常由一個或多個網絡組成,并由單一的技術管理機構管理,使用相同的選路策略。BGP協議運行在TCP之上,端口號為179,保證了協議的可靠性。
2、BGP路由器之間建立TCP連接,并通過四次握手的流程建立BGP會話,一旦會話建立,路由器就開始交換路由信息。
3、BGP的路由更新是觸發式的,只有在路由發生變化時才發送。BGP路由器維護兩張重要的表格:鄰居表和路由表。鄰居表記錄了與哪些其他BGP路由器建立了會話,而路由表則包含了從鄰居學習到的所有路由信息。

二、BGP的特點及與IGP的區別

特點
1、適用范圍:BGP用于AS之間,而IGP用于AS內部。
2、路由更新機制:BGP使用觸發更新,只在路由發生變化時發送更新,而IGP通常使用周期性更新。
3、路由選擇依據:BGP依賴于一系列復雜的路徑屬性進行路由選擇,而IGP通常使用成本或度量值。
4、策略控制能力:BGP提供了豐富的策略控制功能,而IGP通常不具備這樣的能力。
BGP與IGP的區別
交換不同自治系統間的路由信息,它不同于內部網關協議(IGP),如RIP或OSPF,后者主要關注單個自治系統內的路由選擇。BGP的設計使其能夠處理像因特網這樣規模的網絡,能夠妥善處理不相關路由域間的多路連接問題。

三、BGP的路由屬性

BGP路由屬性提供了關于路由信息的額外信息,幫助路由器在復雜的自治系統(AS)間環境中做出更為精確的路由決策。通過配置BGP路由屬性來實現對路由控制的細化。
BGP屬性可分為四大類:公認必遵屬性、公認可遵屬性、可選傳遞屬性和可選非傳遞屬性。
公認必遵屬性
公認必遵屬性是所有BGP路由器都必須識別并在Update消息中必須存在的屬性,包括Origin、AS_Path和Next_Hop三個屬性。
1、Origin屬性:Origin屬性用來定義路徑信息的來源,它有三種類型:IGP、EGP和Incomplete。IGP具有最高的優先級,代表通過network命令注入到BGP路由表的路由信息;EGP次之,代表通過EGP得到的路由信息;Incomplete優先級最低,代表通過其他方式學習到的路由信息。
2、AS_Path屬性:AS_Path屬性記錄了路由到達目的地所經過的所有AS號碼的序列。BGP使用AS_Path屬性作為路由更新的一個重要部分,以確保在Internet上的路由沒有環路,AS_Path越短的路由,其優先級越高。
2、Next_Hop屬性:Next_Hop屬性是指定路由的下一跳地址,它指明了數據包應該投遞到的下一個IP地址。在EBGP會話中,BGP會將Next_Hop設為自身的IP地址,而在IBGP會話中,Next_Hop通常保持不變。
公認可遵屬性
公認可遵屬性是所有路由器都能識別,但不一定在所有BGP路由器中都必須遵守的屬性。這類屬性包括Local_Pref和Atomic_Aggregate。
1、Local_Pref屬性:Local_Pref屬性表示本地偏好,用于在同等條件下,優先選擇本地生成的路由。Local_Pref的值越大,就越優先。
2、Atomic_Aggregate屬性:Atomic_Aggregate屬性用于告知下游路由器,由于路由聚合,某些路徑信息已經丟失。
可選傳遞屬性
可選傳遞屬性是所有BGP路由器都能識別,并且所有BGP路由器都應該在接收到這些屬性時保留并傳遞給其他BGP路由器的屬性。這類屬性包括Community和Aggregator。
1、Community屬性:Community屬性用于標記具有共同特征的路由,可用于路由策略的實現。
2、Aggregator屬性:Aggregator屬性用于標識聚合路由的發起者和聚合的范圍。
可選非傳遞屬性
可選非傳遞屬性是只有部分BGP路由器能識別,且不會被所有BGP路由器接收或傳遞的屬性。這類屬性包括MED、Cluster_List和Originator_ID。
1、MED屬性:MED屬性用于在AS之間傳遞路由選擇信息,它代表了路由的成本或優先級。MED值越小,路由越優先。
2、Cluster_List和Originator_ID屬性:Cluster_List屬性記錄了路由經過的反射器簇ID,而Originator_ID屬性表示路由的發起者的Router ID。這兩個屬性在路由反射器場景中特別有用。

四、BGP協議中使用的報文

1、OPEN:用于建立BGP會話。
2、UPDATE:用于發送網絡可達性信息。
3、KEEPALIVE:用于保持BGP會話的活動狀態。
4、NOTIFICATION:用于報告錯誤情況。
5、ROUTE-REFRESH:用于請求重新發送路由信息。

1、路徑矢量協議:BGP在發送路由更新時,會攜帶沿途的AS信息,形成AS路徑。
2、路由聚合:BGP支持路由聚合,可以合并多個網絡前綴到一個聚合的路由中,減少路由表的大小。
3、路由衰減:BGP提供了防止路由振蕩的機制,當一段時間未收到某個鄰居的路由更新時,會逐漸降低對該鄰居的依賴。
4、策略控制:BGP允許網絡管理員通過一系列屬性來控制路由的選擇和傳播,如AS_PATH、LOCAL_PREF、MED等。
5、支持多種自治系統:BGP不僅支持IPv4單播路由,還支持IPv6等多種協議。

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

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

相關文章

Websocket實現方式二——注解方式

添加Websocket依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>根據ServerEndpoint注解注冊Websocket Configuration public class AgentWsConfig …

多項式回歸(Linear Regression)原理詳解及Python代碼示例

多項式回歸原理詳解 多項式回歸&#xff08;Polynomial Regression&#xff09;是線性回歸&#xff08;Linear Regression&#xff09;的一種擴展形式。它通過在輸入變量上添加高次項來擬合非線性關系。雖然多項式回歸本質上還是線性模型&#xff0c;但它允許模型在輸入特征的多…

if action和Switch之間該怎么選擇?

1. Switch 2. If及If Action Subsystem 3.結論 元素很多&#xff0c;用switch 元素少&#xff0c;用if或switch 如果...很多&#xff0c;用if

職業技能大賽引領下大數據專業實訓教學的改革研究

隨著信息化時代的加速發展&#xff0c;大數據專業作為新興的熱門領域&#xff0c;正日益成為高等職業教育體系中不可或缺的一部分&#xff0c;其承擔著為社會培養大批具有高素質應用技能的大數據技術人才的重任。職業技能大賽作為檢驗和提升學生技能水平的有效平臺&#xff0c;…

web學習筆記(六十九)vue2

1. vue2創建腳手架項目 &#xff08;1&#xff09;在cmd窗口輸入npm install -g vue/cli命令行&#xff0c;快速搭建腳手架。 &#xff08;2&#xff09; 創建vue2項目 &#xff08;3&#xff09; 選擇配置項目&#xff0c;最下面的選項是自己重新配置&#xff0c;第一次創建v…

使用mmdetection遇到的一些問題總結

【問題1】 No module named ‘mmcv._ext’ 應該安裝mmcv-full 而不是mmcv 【問題2】cannot import name ‘Config‘ from ‘mmcv‘ 原因是mmcv的版本太高兩種解決方案&#xff1a;1&#xff09;降低mmcv版本。2&#xff09;將 from mmcv import Config, DictAction 修改為 fro…

android 4大組件用法

在Android開發中&#xff0c;應用程序的主要組件包括Activity、Service、Broadcast Receiver和Content Provider。這些組件共同組成了Android應用的基本構架。以下是每個組件的詳細用法&#xff1a; 1. Activity Activity是Android應用的主要組成部分&#xff0c;代表一個用戶…

中電金信:向“新”而行—探索AI在保險領域的創新應用

大模型的應用已經滲透到各個領域&#xff0c;并展現出驚人的潛力。在自然語言處理方面&#xff0c;大模型用于機器翻譯、文本摘要、問答系統等&#xff1b;在計算機視覺領域&#xff0c;應用于圖像識別、目標檢測、視頻分析等&#xff1b;此外&#xff0c;大模型也應用于語音識…

使用nvm管理node版本及pnpm安裝

文章目錄 GithubWindows 環境Mac/Linux 使用腳本進行安裝或更新Mac/Linux 環境變量nvm 常用命令npm 常用命令npm 安裝 pnpmNode 歷史版本 Github https://github.com/nvm-sh/nvm Windows 環境 https://nvm.uihtm.com/nvm.html Mac/Linux 使用腳本進行安裝或更新 curl -o- …

名企架構師精講:Spring框架核心速覽

目錄 1. 課程概覽 2. 初識篇&#xff1a;Spring框架AOP&IOC案例詳解 課程內容3. 課程特色4.適用人群5. 你將收獲6. 學習建議 1. 課程概覽 本課程通過精選的兩篇深度文章和一套詳盡的視頻教程&#xff0c;全面而深入地解析并實踐了Spring框架的核心內容。 主要包含以下幾部…

VTable導出當前頁和導出所有頁數據

表格導出的是當前顯示的表格&#xff0c;如果是分頁表格想導出全部的數據話。有兩種方法可以實現 表格先顯示的全量數據&#xff0c;導出后再恢復當前頁。新建一個隱藏的表格實例顯示全量數據導出這個隱藏的表格實例。 下面是全量代碼&#xff1a; <template><div&…

快速創建條形熱力圖

Excel中的條件格式可以有效的凸顯數據特征&#xff0c;如下圖中B列所示。 現在需要使用圖表展現熱力條形圖&#xff0c;如下圖所示。由于顏色有多個過渡色&#xff0c;因此手工逐個設置數據條的顏色&#xff0c;基本上是不可能完成的任務&#xff0c;使用VBA代碼可以快速創建這…

git stash相關命令解釋

git stash 這個命令會保存你當前工作區和暫存區的所有更改到一個臨時的“stash”區域&#xff0c;然后使你的工作目錄和暫存區變得干凈&#xff08;即回到最近一次提交的狀態&#xff09;。 當你想要回到這個“stash”區域中的更改時&#xff0c;你可以使用 git stash list 來查…

SRE監控的四個黃金指標到底長啥樣?

一、監控的黃金信號 掌握系統運行狀態&#xff0c;了解組件、服務的可靠性和穩定性&#xff0c;需要借助監控系統收集指標、可視化數據&#xff0c;并在異常出現時進行操作提醒。那么監控的都要關注哪些呢&#xff1f;我們來了解一下監控的指標&#xff0c;即系統中衡量的最重…

【pytorch03】pytorch基本數據類型

問題&#xff1a;String類型在pytorch中如何表示&#xff1f; 很遺憾&#xff0c;pytorch不是完備的語言庫&#xff0c;而是面向數據計算的一個GPU加速庫&#xff0c;因此沒有內建對string的支持 我們會在做NLP的時候會遇到all string處理的問題&#xff0c;就比如說一句話&am…

華碩PRIME B450M-K主板開啟虛擬化

1.判斷電腦是否開啟了虛擬化 按下CtrlShiftESC打開任務管理器&#xff0c;切換到性能頁面&#xff0c;選擇查看CPU 如果在右下角看到虛擬化&#xff1a;已禁用&#xff0c;則沒有開啟虛擬化 2.進入BIOS 重啟或開機時&#xff0c;按下DEL或F2進入BIOS設置界面。 屏幕提示&am…

SAP系統中如何用事務碼圖形視圖尋找MD04增強開發實施點

在之前發布的文章中&#xff0c;介紹了善用事務碼的圖形視圖以觀察事務的執行流程以及如何在MD04中實施增強以改變生產訂單的顯示順序。本文結合兩者&#xff0c;介紹一下如何利用事務碼的圖形視圖找到增強開發的實施點。 在事務碼中輸入SE93&#xff0c;進入圖形視圖&#xf…

生命在于學習——Python人工智能原理(4.6)

在這里插一句話&#xff0c;我有兩個好兄弟的github項目&#xff0c;感興趣的可以去看一下&#xff0c;star一下&#xff0c;謝謝。 https://github.com/fliggyaa/fscanpoc https://github.com/R0A1NG/Botgate_bypass 四、Python的程序結構與函數 4.1 Python的分支結構 &…

如何將個人電腦做P2V備份到虛擬化平臺

背景&#xff1a;公司員工個人電腦綁定了商用軟件的license&#xff0c;現在員工離職&#xff0c;license又需要使用&#xff0c;電腦就一直被占用。 解決方法&#xff1a;利用VMware Vcenter Converter Standalone將此臺式電腦上載到公司虛擬化平臺上 具體做法&#xff0c;下…

sklearn-learn的安裝

官網&#xff1a;scikit-learn: machine learning in Python — scikit-learn 1.5.0 documentation 是 pip install scikit-learn 不是 pip install sklearn