網絡安全之BGP詳解

BGP;邊界網關協議

使用范圍;BGP范圍,在AS之間使用的協議。

協議的特點(算法):路徑矢量型,沒有算法。

協議是否傳遞網絡掩碼:傳遞網絡掩碼,支持VLSM,CIDR

協議消息數據包封裝:基于TCP封裝(可靠的),端口號:179

AS:自治系統,自治系統范圍:1-65535,分為公有AS(1-64512)和私有AS(64513-65535)

一、BGP協議特點:

1、BGP是一種路徑矢量型路由協議。

2、BGP協議版本,當前版本V4(或叫V4+) V1,V2,V3(有類別的路由協議,不傳遞網絡掩碼) V4(無類別,支持傳遞網絡掩碼,僅僅支持IPV4單播路由傳遞) V4+(支持IPV4單播路由、IPV6單播IPV4組播,IPV6組播【一般的路由協議沒辦法運行組播,運行組播的協議叫做PIM(叫做協議無關組播)是一個完全獨立的協議,和OSPF等常見的協議是完全不一樣的,因為單播和組播干的就不是同一個事,單播我們更關注數據要去哪(關注目標地址),而組播與單播相反,它更多關注的是源地址】,VPNV4,VPNV6等,除了IPV4單播路由之外的其他的都稱為MP-BGP——多協議BGP:注意的是,默認僅僅支持傳遞IPV4單播路由,傳遞其他方式路由時需要開啟(激活)? [BGP版本是從版本3和版本4開始直接使用的,跳過了V1,V2,它可以配置的版本只有V3和V4,因為BGP的很多東西都是直接繼承的EGP,而EGP當初有EGP1和EGP2,在BGP設計出來的時候直接從版本3開始的。現在很多廠商的設備允許BGP之后,默認允許的版本是V4,但是它具備V4+的功能,V4+就是V4的增強版,除了支持默認的V4的IPV4單播路由外,其他的相關路由都支持,只是默認沒有開啟,要做的話需要一條命令給激活]

3、更新地址:單播更新(因為BGP是基于TCP的,TCP第一步就是三次握手,三次握手不能與組播,廣播三次握手,所以只能是單播更新,不能是組播更新和廣播更新等)

4、更新方式:觸發更新,增量更新。觸發更新(網絡穩定時,BGP是不向外發送任何路由信息且是永久不發,只要不變就不發與OSPF不同,它沒有三十分鐘的鏈路狀態刷新,網絡改變時才向外發送的路由信息)。增量更新(網絡路由信息改變時,只發送路由信息改變了的路由信息,其他沒有改變的不發送,因為BGP中的屬性太多了,若是都重新完完全全的發一遍則費時費資源等)。

5、BGP協議中存在大量的屬性(是一種基于規則的路由協議)

6、BGP協議支持路由認證(幾乎所有的路由協議都支持路由認證,只是BGP的路由認證比較個性,一般的路由認證是在協議本身上實施,BGP的路由認證是做在TCP的可選項里,在TCP的可選項里設置了賬號密碼,所以BGP的路由認證是基于TCP的)

7、支持BGP路由聚合(匯總)

8、BGP是一種非常消耗資源的路由協議(因為BGP的路由量很大,而且每一條BGP中的屬性也很多。如何證明:比如一個路由器上只能運行一個BGP,而一個路由器運行OSPF可以運行多個OSPF,一個路由器上最多起31個OPSF。)

二、適合使用BGP的網絡環境

1、傳輸AS(就是運營商級別的網絡,也就是用戶通過運行商的這個AS去訪問連接這個AS的服務器)

2、多宿主(多出口的意思,比如說一個學校里很多學生老師的用戶,在上網時要接入到運行商,也就是進入到另一個不同的AS比如接入的電信的AS,但是不可能只接入電信這一家AS,還要接入其他的AS,比如移動,聯通等不同的AS,這種就叫做多宿主。一個網絡連接著多個出口,雖然一個學校連接著多出口,多個AS宿主,但是學校是可以不做AS,BGP的,這種對網絡的利用率很低,很多情況下,學校對于網絡的區域出口劃分不合理,對于重要的教學樓什么的地方連接的是穩定性高帶寬高的出口,等這個出口掛掉之后再走另一個出口,而對于宿舍一些地方連接的是帶寬低的出口,等這個出口掛掉之后再走另一個出口。簡而言之就是學校將自己的網絡劃成了好幾部分,某些網絡比較重要的時候,就走穩定的出口,穩定的出口掛了,再走別的,對于學校宿舍等對學校無所謂的地方就走一個帶寬低的出口,這個出口掛了再去走其他出口,這種就很不合理。合理的是我訪問的是誰就走誰的出口,比如訪問的服務器是放在電信的機房,而走的是移動或聯通的出口去訪問,這樣的速度勢必會很慢。正確的是我訪問的服務器機房在電信,就走電信出去,在聯通就走聯通出去等……為什么不做BGP,是因為BGP對設備性能的要求高之外,對工程師還有足夠的一個水平能夠支持和維護這樣大的一個路由條目數量)

3、需要對進入和離開的流量進行強大的策略控制時(使用BGP的最主要原因,不用IGP是因為IGP的屬性很少,來來回回就修改一個metric值。自動化程度越高的協議,它的路由控制越難)

BGP除了速度慢一點,沒有什么其他的缺點。

不適合使用BGP的條件:當自己對BGP知之甚少的時候不要使用BGP(說白點就是不懂BGP就不要使用BGP)除了這個之外能使用BGP就使用BGP最好。

三、BGP鄰居關系

IBGP:內部BGP鄰居

EBGP:外部BGP鄰居

如何區分BGP關系,建立鄰居的雙方都屬于同一個AS的就是IBGP,學到的路由叫做IBGP路由。如果建立鄰居的雙方不屬于同一個AS建立的鄰居關系就是EBGP,學到的路由叫做EBGP路由。

比如下圖的拓撲圖中,R1與R2建立的鄰居關系就是EBGP,R2與R3建立的鄰居關系就是IBGP。R1與R3建立的鄰居關系也是EBGP。在IBGP協議里鄰居關系建立或路由傳遞時,只能在直連之間傳遞(大多數用的組播更新,組播更新地址用的是224.0.0.X,而224.0.0.X的地址用的TTL值默認為1,所以不能跨網段傳遞路由,而BGP為什么行可以跨網段傳遞,是因為它是基于TCP的,TCP是要進行三次握手的,即只要兩個IP之間能相互通信,就能進行三次握手,能夠三次握手BGP就能傳路由,跟中間傳遞的路由器沒有關系,對于中間的路由器而言,它們只知道傳遞的是點對點的TCP數據包,而實質上這里面承載著BGP的路由信息)。

IBGP的防環機制:IBGP水平分割機制(IBGP只傳一條規則,通過一個IBGP鄰居學習的路由不能傳遞給其他的IBGP鄰居);next-hop、起源者屬性,簇ID列表。

未完待續……由于BGP的內容很多,每天盡量更新夠多的BGP詳細內容解釋。

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

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

相關文章

【15】編寫shell-安裝mysql

說明: 1、請注意mysql版本的壓縮包格式 2、請注意掛載data盤 3、請注意部署包和shell腳本放在同一個文件夾 4、實現shell腳本自動化部署mysql5.7.40版本 # !/bin/bash#****************************************************** # Author : 秋天楓葉35 # Last modified …

Spring Boot 中 對話 Redis

Redis 是一款開源的,使用 C 開發的高性能內存 Key/Value 數據庫,支持 String、Set、Hash、List、Stream 等等數據類型。它被廣泛用于緩存、消息隊列、實時分析、計數器和排行榜等場景。基本上是當代應用中必不可少的軟件! Spring Boot 對 Re…

oracle正則的使用

1、建表 create table person (first_name varchar2(20),last_name varchar2(20),email varchar2(40),zip varchar2(20)); insert into PERSON (first_name, last_name, email, zip) values (Steven, Chen, stevenhp.com, 123456); insert into PERSON (first_name, last_name…

ASP+ACCESS基于B2C電子商務網站設計

摘 要 運用ASP技術結合了Access數據庫原理,基于B/S模式我們開發了一個網上購物系統。在我們的系統中,顧客可以很方便的注冊成為會員,對商品進行瀏覽檢索,查看商品的詳細資料,然后根據各人的喜好購買心儀的商品。系統…

CCF20220901——如此編碼

CCF20220901——如此編碼 代碼如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n,m,cnt1,a[1000],c[1000]{1};cin>>n>>m;for(int i1;i<n;i){cin>>a[i];cnt*a[i];c[i]cnt;}int b[1000]{0};for(int i1;i<n;i)b[i](…

JPHS-JMIR Public Health and Surveillance

文章目錄 一、期刊簡介二、征稿信息三、期刊表現四、投稿須知五、投稿咨詢 一、期刊簡介 JMIR Public Health and Surveillance是一本多學科期刊&#xff0c;專注于公共衛生創新與技術的交叉領域&#xff0c;包括公共衛生信息學、監測&#xff08;監測系統和快速報告&#xff…

CCF20220601——歸一化處理

CCF20220601——歸一化處理 代碼如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n,a[1000],sum0;scanf("%d",&n);for(int i1;i<n;i){scanf("%d",&a[i]);suma[i];}double aver1.0,b0.0,d1.0;aversum/(n*1…

Java基礎(三)- 多線程、網絡通信、單元測試、反射、注解、動態代理

多線程基礎 線程&#xff1a;一個程序內部的一條執行流程&#xff0c;只有一條執行流程就是單線程 java.lang.Thread代表線程 主線程退出&#xff0c;子線程存在&#xff0c;進程不會退出 可以使用jconsole查看 創建線程 有多個方法可以創建線程 繼承Thread類 優點&#x…

【學習】實驗室服務器常用的Linux指令。

1. 下載GitHub代碼。 使用代碼&#xff1a; git clone https://github.com/Turoad/CLRNet.git2. 壓縮 / 解壓。 打包壓縮 是日常工作中備份文件的一種方式 在不同操作系統中&#xff0c;常用的打包壓縮方式是不同的選項 含義 Windows 常用 rarMac 常用 zipLinux 常用 tar.gz…

學碩都考11408的211院校!河北工業大學計算機考研考情分析!

河北工業大學&#xff08;Hebei University of Technology&#xff09;&#xff0c;簡稱河北工大&#xff0c;坐落于天津市&#xff0c;由河北省人民政府、天津市人民政府與中華人民共和國教育部共建&#xff0c; 隸屬于河北省&#xff0c;是國家“雙一流”建設高校、國家“211…

自動化測試在軟件開發生命周期中如何提高代碼質量?

自動化測試是一種在軟件開發生命周期中使用軟件工具來執行測試的方法&#xff0c;它可以大大提高代碼質量&#xff0c;減少開發過程中的錯誤和缺陷。本文將從零開始&#xff0c;詳細且規范地介紹如何使用自動化測試來提高代碼質量。 第一步&#xff1a;明確測試目標 在開始自…

webgl入門-繪制三角形

繪制三角形 前言 三角形是一個最簡單、最穩定的面&#xff0c;webgl 中的三維模型都是由三角面組成的。咱們這一篇就說一下三角形的繪制方法。 課堂目標 理解多點繪圖原理。可以繪制三角形&#xff0c;并將其組合成多邊形。 知識點 緩沖區對象點、線、面圖形 第一章 web…

Python高克勒-曼寧-斯特里克勒公式計算一維流量

&#x1f4dc;曼寧公式-用例 &#x1f4dc;Python流體數據統計模型和淺水滲流平流模型模擬 | &#x1f4dc;Python蒸發散物理問題(微積分-線性代數-拉普拉斯和傅立葉變換) ??Python計算一維流量 高克勒-曼寧-斯特里克勒公式公式基于一維&#xff08;橫截面平均&#xff09…

iPhone實況照片從Windows資源管理器復制的JPG+MOV無法正常還原到iPhone

背景&#xff1a; 之前使用的iPhone 15 Pro&#xff0c;使用的Windows資源管理器當中復制導出的實況照片&#xff0c;復制出來的格式例如IMG_0001.JPG, IMG_0001.MOV。之后手機就賣掉了。現在使用的iPhone 14 Pro Max&#xff0c;想要導回之前備份的實況照片。嘗試使用愛思助手…

Java18新特性

Java 18引入了若干新特性&#xff0c;以增強語言的功能性和性能。具體如下&#xff1a; 服務提供者接口&#xff08;Service Provider Interfaces, SPI&#xff09;&#xff1a;允許開發者為Java模塊系統定義服務加載機制&#xff0c;從而能夠更靈活地發現和加載服務實現。簡單…

supOS NEO科技普惠!永久免費!億元補貼

數字化轉型正在全球蓬勃發展&#xff0c;工業操作系統進入大規模推廣期&#xff01; 如果您正在被預算不足、技術團隊不強、數字化投入產出比等問題困擾&#xff0c;supOS NEO是您最好的選擇。 “讓supOS走進萬千工廠、千行百業&#xff01;讓全世界每個工廠都能用得上supOS&am…

MM模塊學習三 (創建采購申請)

采購信息記錄比較特殊既是主數據又是貨源 注&#xff1a;發票校驗是指把供應商提供的發票做到系統里面產生一張應付憑證。 1.決定采購需求 采購需求可以手工創建&#xff08;ME51N&#xff09;&#xff0c;也可以自動產生&#xff08;比如&#xff1a;MRP&#xff0c;以及比如…

Java——內部類

1.什么是內部類 在一個類的里面再定義一個類&#xff0c;新定義的這個類就是內部類 舉例&#xff1a;在Outer類的里面定義一個Inter類 class Outer{class Inter{} } 在這里Outer叫外部類&#xff0c;Inter叫內部類 內部類的應用場景 定義一個汽車類&#xff1a; 屬性&#xf…

CTFshow之文件上傳web入門151關-161關解密。包教包會!!!!

這段時間一直在搞文件上傳相關的知識&#xff0c;正好把ctf的題目做做寫寫給自字做個總結&#xff01; 不過有一個確定就是所有的測試全部是黑盒測試&#xff0c;無法從代碼層面和大家解釋&#xff0c;我找個時間把upload-labs靶場做一做給大家講講白盒的代碼審計 一、實驗準…

2024-5-23 石群電路-14

2024-5-23&#xff0c;星期四&#xff0c;22:20&#xff0c;天氣&#xff1a;晴&#xff0c;心情&#xff1a;晴。今天沒有什么重要的事情發生&#xff0c;心情一如既往的平靜&#xff0c;距離返校假期還有兩天~~~。 今天觀看了石群老師電路基礎課程的第23/24個視頻&#xff0…