?? rfc1771.txt
字號:
| Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| My Autonomous System |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Hold Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opt Parm Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Optional Parameters |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Version(版本):
1字節無符號整數指示消息的協議版本號。當前的BGP版本號是4。
My Autonomous System(我的自治系統):
2字節無符號整數指示發送者自治系統號。
Hold Time(保持時間):
2字節的無符號整數指示了發送者期望的Hold計時器的秒數。在接收OPEN消息后,
BGP發言者必須使用配置的Hold計時器和收到的Hold計時器來計算Hold計時器的值。
Hold計時器必須要末是0要末最少3秒。應用可以根據Hold計時器來拒絕連接。計算好的
值指示了在連續的KEEPALIVE和/或UPDATE消息之間可以流逝的最大秒數。
BGP Identifier (BGP標示符):
4字節無符號整數指示了BGP發言者的標示符。給定的BGP發言者設置BGP標示符為IP
地址。在啟動的時候決定BGP表示符,對每一個本地端口和每一個對端是一樣的。
Optional Parameters Length(可選參數長度):
1字節無符號整數指示可選參數域的字節總長度。如果這個域是0,說明沒有可選參
數。
Optional Parameters(可選參數):
這個域包含了可選參數清單,每一個參數編碼為<參數類型,參數長度,參數值>
三元組。
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
| Parm. Type | Parm. Length | Parameter Value (variable)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
參數類型是1個字節明確指示了參數的類型。參數長度1子節包含參數值的字節長
度。參數值是變長域根據參數類型有不同的解釋。
本文檔定義了下列可選參數:
a)認證消息(參數類型1):
選參數用來認證BGP對端。參數值包含1字節認證編碼后面是變長的認證數據。
0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+
| Auth. Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Authentication Data |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Authentication Code(認證編碼):
1字節無符號整數指示了使用的認證機制。當指定認證機制的時候,需要說明三件
事情:
-認證編碼的值用來指示認證機制,
-認證數據的格式和含義,
-Marker標示域計算值的算法。
注意可以使用另外的認證機制在建立傳輸層連接時。
Authentication Data(認證數據):
這個域的格式和含義取決于認證編碼。
OPEN消息的最小長度是29字節(包括消息頭)。
4.3 UPDATE消息格式
UPDATE消息用來發送路由信息到BGP對端。UPDATE消息報內的信息可以被用來構造AS之
間的關系描述。通過應用以下討論的規則,路由環路和別的異常可以測出并清除出AS間路由。
UPDATE消息用來廣播一條可用路由到對端,或者撤銷多條不可用路由(見3。1)。UPDATE
消息可以同時廣播可用路由并撤銷多個不可用路由。UPDATE消息總是包括定長消息頭,同時
可選的包括下面的域:
+-----------------------------------------------------+
| Unfeasible Routes Length (2 octets) |
+-----------------------------------------------------+
| Withdrawn Routes (variable) |
+-----------------------------------------------------+
| Total Path Attribute Length (2 octets) |
+-----------------------------------------------------+
| Path Attributes (variable) |
+-----------------------------------------------------+
| Network Layer Reachability Information (variable) |
+-----------------------------------------------------+
Unfeasible Routes Length(不可用路由長度):
2字節無符號整數指示了撤銷路由的字節總長度。這個值必須保證網絡層可達信息
域的長度被確定。
0說明沒有撤銷路由, UPDATE消息內部沒有撤銷路由。
Withdrawn Routes(撤銷路由):
可變長路由域包括一系列的IP前綴說明撤銷服務的路由。每一個IP前綴編碼為〈長
度,前綴〉二元組,如下描述:
+---------------------------+
| Length (1 octet) |
+---------------------------+
| Prefix (variable) |
+---------------------------+
使用和含義如下:
a) Length(長度):
長度指示了IP前綴的比特數。0長度指示了匹配所有IP地址的前綴(前綴本身
為0字節)
b) Prefix(前綴):
前綴包含了IP地址前綴后面是填充比特保證域結尾符合字節邊界。注意填充比
特的值無意義。
Total Path Attribute Length(總的路徑屬性長度):
2字節無符號整數值時路徑屬性域字節總長度。值必須使下文中網絡層可達域的長
度能夠被探測到。
值0指示在UPDATE消息中沒有網絡層可達信息域。
Path Attributes(路徑屬性):
在每一個UPDATE消息中有變長的路徑屬性序列。每一個路徑屬性是<屬性類型,
屬性長度,屬性值>變長三元組
屬性類型是2字節域包括了屬性標志字節和屬性類型碼字節。
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Attr. Flags |Attr. Type Code|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
屬性標志字節第一高位比特(比特0)是可選比特。定義了屬性是否是可選的
(設為1)或者是公認的(設為0)。
屬性標志字節第二高位比特(比特1)是轉發比特。定義一個可選的屬性是否
是轉發的(如果設置為1)或者不是轉發的(設為0)。公認屬性的轉發位必須設為
1。(參看部分5討論轉發屬性)。
屬性標志字節的第三比特(比特2)是部分比特。定義是否包括在可選轉發屬
性內的信息是部分的(設置為1)或者是完整的(設置為0)。公認屬性和可選非轉
發的部分位必須是0。
屬性標志字節的第四比特(比特3)是擴展長度比特。定義了是否屬性長度是1
字節(如果設置為0)或者是2字節(如果設置為1)。僅僅當屬性值超過255字節的
時候,擴展長度可以使用。
屬性標志字節低字節順序4比特沒有被使用。必須填0(接收不處理)。
屬性類型編碼字節包含了屬性類型碼。當前定義的屬性類型碼在部分5討論。
如果屬性標志字節的擴展長度比特被設置為0,路徑屬性的第三個字節包含了
屬性數據的字節長度。
如果屬性標志字節的擴展長度比特設置為1,那末路徑屬性的第三和第四個字
節包含了屬性數據的字節長度。
路徑屬性剩下的字節代表屬性值應該通過屬性標識和屬性類型碼翻譯。支持的
屬性類型碼,它們的屬性值和使用如下定義:
a) ORIGIN (類型碼 1):
ORIGIN是公認強制屬性定義了路徑信息的來源。本數據字節假定如下值:
值 含義
0 IGP – 網絡層可達信息和來源AS同內部
1 EGP – 網絡層可達信息通過EGP學習
2 INCOMPLETE – 通過別的方式學習網絡層可達信息
它的使用在5.1.1定義。
b) AS_PATH (類型編碼2):
AS-PATH是公認強制屬性由一系列AS路徑段組成。每一個AS路徑段表示為三元
組<路徑段類型,路徑段長度,路徑段值>。
路徑段類型是1字節長度域有下列定義值。
值 段類型
1 AS_SET: 在UPDATE消息中的路由經過的AS的無序集
2 AS_SEQUENCE: 在UPDATE消息中的路由經過的AS的有序集
路徑段長度是1字節長度的域包含了在路徑段值域的AS的數量。
路徑段值域包含了一個或者多個AS號,每一個編碼為2字節長度的域。
屬性的使用定義在5.1.2。
c) NEXT_HOP (類型碼3):
公認強制屬性定義了作為到達UPDATE消息網絡層可達域地址所用的下一跳的
邊界路由器的IP地址
屬性的使用定義在5.1.3。
d) MULTI_EXIT_DISC (類型碼4):
可選非轉發屬性4自解非負整數。屬性值可以被BGP發言者決策過程在相鄰自治
系統中區分多個出口。
它的使用在5.1.4.定義。
e) LOCAL_PREF (類型編碼 5):
LOCAL-PREF是公認自決屬性4自解非負整數。BGP發言者使用它通知別的BGP在
自己的自治系統中源發言者廣播路由的優先程度。使用屬性在5。1。5中描述。
f) ATOMIC_AGGREGATE (類型編碼6)
ATOMIC-AGGREGATE是公認自決屬性長度為0。BGP發言者使用它通知別的BGP法
顏真本的選擇了一條更不特殊的路由而不是選擇了一條更特殊的包括在內的路由。
使用這個屬性描述在5。1。6。
g) AGGREGATOR (類型編碼7)
AGGREGATOR是可選轉發屬性長度為6。屬性包含了形成聚合路由最后的AS號碼(編
碼為2字節),后面是形成聚合路由的BGP發言者的IP地址(編碼為4字節)。使用
這個屬性描述在5。1。7。
Network Layer Reachability Information(網絡層可達信息):
這個變長域包含了IP地址前綴的清單。網絡層可達信息的字節長度不是明確編
碼的,但是可以計算如下:
UPDATE消息長度-23-總的路徑屬性長度-不可用路由長度。
其中UPDATE消息長度是定長BGP消息頭的編碼值,總的路徑屬性長度和不可用
路由長度是作為部分UPDATE消息的編碼值。23是定長的BGP消息頭,總的路徑屬性
長度域和不可用路由長度域的組合長度。
可達信息編碼時作為一個或者多個二元組格式為〈長度,前綴〉,它們的域描
述如下:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -