成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

人人都想了解的BGP,路由策略這樣處理

網絡 路由交換
路由協議,套用IT里面的術語,實際上就是分布式數據庫系統,它包含了節點間的數據傳遞和節點內的數據處理。對于BGP來說,節點間基于TCP(端口179)的連接,在這個基礎上,可以構建AS間的EBGP,AS內的IBGP,IBGP有full mesh,BGP路由反射器等,這些都是BGP節點之間的連接方式,這次看看BGP router內部是如何處理數據。

作者簡介:肖宏輝,畢業于中科院研究生院,8年的工作經驗,其中6年云計算開發經驗,OpenStack社區積極活躍,有超過300個commit和超過30000行代碼的貢獻。目前關注SDN/NFV等虛擬網絡技術。本文所有觀點僅代表作者個人觀點,與作者現在或者之前所在的公司無關。

路由協議,套用IT里面的術語,實際上就是分布式數據庫系統,它包含了節點間的數據傳遞和節點內的數據處理。對于BGP來說,節點間基于TCP(端口179)的連接,在這個基礎上,可以構建AS間的EBGP,AS內的IBGP,IBGP有full mesh,BGP路由反射器等,這些都是BGP節點之間的連接方式,這次看看BGP router內部是如何處理數據。 

[[212997]]

BGP是一種path vector路由協議,對比其他類的路由協議,path vector隨路由攜帶的輔助信息更多,處理也稍微復雜一些。BGP內部處理流程簡單的畫了一下,如下所示,各家的實際實現可能略有不同,但應該大同小異。 

在看這個處理流程前,先看看一些相關概念。

Path Attribute(PA)

Path對應的就是route,那顧名思義,這是BGP Route的一些參數屬性。Path Attribute是BGP的基礎組成元素,它貫穿了整個BGP 路由處理的過程。

首先,BGP節點間傳遞的BGP message就是由NLRI(Network Layer Reachability Information)和PA組成。這個可以從BGP Update Message看出來。如果只考慮IP路由,那么NLRI就是IP prefix。 

其次,BGP policy engine的處理是圍繞著Path Attribute展開的。第三,BGP best path selection,是根據PA做的算法。

Path attribute分為4類:

  • Well-known Mandatory: 所有的BGP router必須識別這個屬性,并且所有的BGP Message必須包含這個屬性
  • Well-known Discretionary: 所有的BGP router必須識別這個屬性,BGP Message可以不包含這個屬性
  • Optional Transitive: BGP router可以不識別這個屬性,如果不識別直接無視這個屬性
  • Optional Non-transitive: BGP router可以不識別這個屬性,如果不識別要將這條BGP Message丟棄

常見的BGP Path Attribute如下表所示: 

這里NEXT_HOP也屬于Path Attribute,BGP處理過程中可以修改NEXT_HOP。EBGP router默認會修改NEXT_HOP為自己,IBGP router默認不會修改NEXT_HOP,這在上一篇講過。

Routing Information Base(RIB)

RIB其實是設備商的術語?;蛟S不太恰當,但是Global RIB可以對應操作系統里面的路由表。Global RIB和路由表都決定IP packet的三層轉發的路徑。RIB除了存放路由條目,還保存一些路由協議相關的輔助信息。除了Global RIB,每個路由協議都有自己的RIB,這樣,路由協議可以將一些生(Raw)數據與真正應用的數據進行隔離。BGP維護幾個RIB,包括了:

  • BGP Adjacent In RIB:保存所有接收到的BGP Message,這里可能存在多條BGP Message指向同一個目的IP prefix
  • BGP Local RIB:保存經過處理和運算得到的***BGP Message,對于同一個目的IP prefix,只存在一條***的BGP Message
  • BGP Adjacent out RIB:保存將要發送給BGP Peer的BGP Message

BGP協議收發的數據不會直接寫到Global RIB里,而是放到了BGP自己的RIB里面,在適當的時候寫入Global RIB,前面說過,這樣可以實現數據隔離,有選擇的將BGP數據寫入主路由表。BGP的三個RIB保存著不同處理階段的BGP Message,為不同階段的操作提供數據。接下來過一下BGP路由處理過程。

Route Processing

1. BGP Adjacent in RIB 

這一步比較簡單,來者不拒,所有收到的BGP Message都存到了BGP Adjacent in RIB

2.Input Policy 

nput policy會完成兩部分工作,filtering和manipulation。

Filtering會根據Path Attribute過濾BGP Message,這里需要注意兩個內置的過濾,一個是判斷當前的AS是否在BGP Message的AS_PATH中,如果在的話,那么這是一條之前已經經過當前AS的Message,這條Message會被過濾。另一個會判斷BGP Message里的NEXT_HOP是否可達,如果不可達,那么這條Message會被標成Invalid,也會被過濾。除了內置的過濾,用戶(對,就是網工)和控制程序也可以添加過濾規則,例如通過route-map,access-list,distribution-list等。

Manipulation會修改BGP Message的Path Attribute,這樣可以控制后面的步驟,例如Best path selection。舉個例子,BGP Router從兩個鄰居收到同一個IP Prefix的BGP Message,那么可以通過修改某一個鄰居的BGP Message的PA,使得其中一條BGP Message在下一步中勝出。

3.Best path Selection 

Local Route是本地的并且希望通過從BGP發布出去的路由。例如思科的設備,通過network命令可以發布本地路由,也可以通過redistribution,將IGP的路由重分布到BGP。這些Local Route都將轉換成了BGP Message,和經過Input policy過濾和修改過的BGP Message,一起參與Best Path Selection。

Best Path Selection是一個根據Path Attribute運算,從指向同一個目的IP prefix的,多條BGP Message中選出一條***的過程。這個過程不復雜,但是比較繁瑣,相應的介紹也很多了,限于篇幅我就不展開了,感興趣可以看看思科的文檔BGP Best Path Selection Algorithm。

4.BGP Local RIB 

Best Path Selection能確保指向同一個IP prefix只有一條(其實也可以多條,取決于multipath)***的BGP Message,這些BGP Message會存到BGP Local RIB。接下來的處理會分兩條路徑。

***個是寫入到Global RIB,也就是全局路由表。當路由器中,沒有其他的路由協議生成了指向相同目的IP prefix的路由,或者有的話,該路由協議的Administrative Distance(AD)大于BGP的AD值,那么這個時候BGP Local RIB的路由才會寫入到Global RIB。EBGP的AD值是20,小于大部分路由協議,IBGP的AD值是200,大于大部分路由協議。

第二個是輸出到Output Policy,進而發往其他的BGP Peer。

這兩個路徑互不影響,就算BGP沒有競爭過其他路由協議,沒有將路由寫到全局路由表,也不影響路由傳遞給其他的BGP Peer。

5.Output Policy 

與Input Policy類似,這里也做filtering和manipulation。

Filtering會根據Path Attribute過濾BGP Message,可以自己定義,也有BGP程序自帶的過濾。還是以AS_PATH為例,如果目的BGP Peer的AS在BGP Message的AS_PATH中,那么這條BGP Message不會生成對應的發往該BGP Peer的BGP Message。

Manipulation會修改BGP Message的Path Attribute,例如修改MED值,進而生成發往BGP Peer的BGP Message。

經過Output Policy之后,一條BGP Message,會生成針對每一個可以送達的BGP Peer的,多條BGP Message。雖然來自同一個BGP Message,但是這里的每個BGP Message里面包含的Path Attribute可能因為定義策略不一樣。

6.BGP Adjacent out RIB

人人都想了解的BGP,路由策略這樣處理

類似于***步,這部分也簡單,生成好的BGP Message發往對端的BGP Peer。

***

以上就是BGP路由處理過程,可以看出都是圍繞Path Attribute。如果說BGP基于TCP傳輸,給BGP router間的傳輸帶來可靠性,那么Path Attribute給BGP的應用帶來了靈活性。

責任編輯:未麗燕 來源: SDNLAB
相關推薦

2015-05-15 10:09:09

程序員

2019-05-16 08:31:43

物聯網物聯網開發IOT

2017-03-16 13:03:28

智能技術人工智能機器視覺

2020-04-02 13:17:24

開發團隊技術

2015-02-10 09:32:20

BGP路由器

2010-07-12 16:07:14

BGP路由協議

2010-07-05 16:28:18

BGP路由協議

2015-08-17 10:50:34

2019-12-04 07:57:22

6G5G網絡

2010-06-10 16:16:42

BGP路由協議

2010-06-18 15:03:12

BGP路由協議

2010-06-25 15:07:10

BGP路由協議

2011-08-23 09:54:26

路由BGP

2013-10-24 09:43:39

路由器

2009-12-22 14:22:14

BGP路由

2010-08-05 13:11:52

2021-02-23 09:28:48

大數據數據分析

2010-06-18 14:18:44

BGP路由協議

2025-05-22 10:21:57

網絡ITBGP

2011-03-14 17:26:29

BGP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久国产一区二区三区四区 | 欧美xxxx色视频在线观看免费 | 亚洲欧美成人在线 | 波多野结衣一二三区 | 91精品国产一区 | 国产一区www | 欧美二区乱c黑人 | 日韩精品一区二区三区免费视频 | 久久久久久黄 | 伊人影院在线观看 | 日韩一区二区三区四区五区 | 精品亚洲一区二区三区四区五区 | 亚洲精品视频一区二区三区 | 国户精品久久久久久久久久久不卡 | 亚洲一区二区三区免费观看 | 亚洲天天干| 国产福利在线 | 亚洲第一成年免费网站 | 日本精品视频一区二区 | 一级aaaaaa毛片免费同男同女 | 日韩aⅴ视频 | h视频免费在线观看 | 永久看片 | 久久久久一区 | 亚洲一区二区三区四区五区午夜 | 91五月天 | 久草在线在线精品观看 | 99久久免费精品视频 | 欧美福利 | 成人视屏在线观看 | 久久精品电影 | 国产成人免费 | 久久国产精品免费一区二区三区 | 精品毛片 | 日韩精品在线观看网站 | 91精品久久久久久久久久 | 中文字幕av一区二区三区 | 91www在线观看| 国产成年人小视频 | 超碰精品在线 | 午夜影院在线播放 |