BGPメッセージとは
BGPのピア同士は、TCPポート179のセッション上で4種類のメッセージをやり取りします。すべてのメッセージは共通の19バイトのヘッダーで始まり、ヘッダーのTypeフィールドでメッセージの種類を識別します。本記事では各メッセージの構造を解説し、IOS XR(XRd)の検証環境で取得したパケットキャプチャーで実際の中身を確認します。BGPの基本的な仕組みはBGP(Border Gateway Protocol)を参照してください。
| Type | メッセージ | 役割 |
|---|---|---|
| 1 | OPEN | セッション確立後に最初に送り、AS番号やHold Time、対応する機能(Capability)を伝える。 |
| 2 | UPDATE | 経路の広告と取り消し(Withdraw)を行う。 |
| 3 | NOTIFICATION | エラーを通知し、セッションを切断する。 |
| 4 | KEEPALIVE | セッションを維持するために定期的に送る。 |
共通ヘッダー
| フィールド | サイズ | 説明 |
|---|---|---|
| Marker | 16バイト | すべてのビットが1の固定値。メッセージの区切りを検出するために使われる。 |
| Length | 2バイト | ヘッダーを含むメッセージ全体の長さ(バイト)。最小は19(KEEPALIVE)、最大は4096。 |
| Type | 1バイト | メッセージの種類(1〜4)。 |
OPENメッセージ
TCPセッションが確立すると、双方が最初にOPENメッセージを送ります。相手のOPENを受け入れられる場合はKEEPALIVEを返し、セッションがEstablishedになります。
| フィールド | サイズ | 説明 |
|---|---|---|
| Version | 1バイト | BGPのバージョン。現在は4。 |
| My Autonomous System | 2バイト | 送信元のAS番号。4バイトAS番号を使う場合はここに23456(AS_TRANS)を入れ、実際の番号はCapabilityで伝える。 |
| Hold Time | 2バイト | この時間(秒)の間にKEEPALIVEもUPDATEも受信しなければセッションを切断する。双方が提示した値の小さいほうが採用される。Ciscoの既定値は180。 |
| BGP Identifier | 4バイト | 送信元のBGP Router ID。 |
| Opt Parm Len | 1バイト | Optional Parametersの長さ(バイト)。 |
| Optional Parameters | 可変長 | 対応する機能(Capability)を列挙する。 |
Optional Parametersには、そのルータが対応する機能をCapability(RFC 5492)として列挙します。代表的なものは次のとおりです。
| Capability | コード | 説明 |
|---|---|---|
| Multiprotocol Extensions | 1 | 扱えるアドレスファミリー(AFI / SAFI)。IPv4ユニキャストはAFI 1 / SAFI 1。 |
| Route Refresh | 2 | 再設定なしでピアに経路の再送を要求できる。 |
| Extended Next Hop Encoding | 5 | IPv4経路のネクストホップにIPv6アドレスを使える。 |
| 4-octet AS Number | 65 | 4バイトAS番号に対応していることと、自身の実際のAS番号を伝える。 |
UPDATEメッセージ
UPDATEメッセージは経路情報を運びます。1つのUPDATEで、取り消す経路(Withdrawn Routes)と、同じパス属性を持つ新しい経路(NLRI)をまとめて伝えられます。
| フィールド | サイズ | 説明 |
|---|---|---|
| Withdrawn Routes Length | 2バイト | Withdrawn Routesの長さ(バイト)。 |
| Withdrawn Routes | 可変長 | 取り消す経路のプレフィックス一覧。 |
| Total Path Attribute Length | 2バイト | Path Attributesの長さ(バイト)。 |
| Path Attributes | 可変長 | 後続のNLRIに共通するパス属性(ORIGIN、AS_PATH、NEXT_HOPなど)。 |
| NLRI | 可変長 | 広告する経路のプレフィックス一覧(Network Layer Reachability Information)。 |
パス属性の種類と役割はBGPパス属性とベストパス選択で解説します。
経路の広告と取り消し(Withdraw)
UPDATEメッセージは、経路を広告するときと取り消すときの両方で使われます。
| 用途 | Withdrawn Routes | Path Attributes / NLRI |
|---|---|---|
| 経路の広告 | 空 | 広告するプレフィックスとそのパス属性が入る |
| 経路の取り消し(Withdraw) | 取り消すプレフィックスが入る | 空 |
インタフェースのダウンなどで広告していた経路が使えなくなると、ルータはその経路をWithdrawn Routesに入れたUPDATEをピアに送ります。取り消しにはパス属性が不要なため、Total Path Attribute Lengthが0でNLRIも空のUPDATEになります。受信したルータは該当する経路をBGPテーブルから削除し、さらに自身のピアへ取り消しを伝えるため、取り消しはASを越えて連鎖的に伝播します。
KEEPALIVEメッセージ
KEEPALIVEメッセージは共通ヘッダーだけで構成され、長さは19バイトです。Hold Timeの3分の1の間隔(Ciscoの既定値では60秒ごと)で送られ、Hold Timeの間にKEEPALIVEもUPDATEも届かなければ相手はセッションを切断します。相手のOPENを受け入れたことを伝える際にも使われます。
NOTIFICATIONメッセージ
NOTIFICATIONメッセージはエラーを検出したときに送られ、送信後にTCPセッションが閉じられます。
| Error code | 意味 | 主なサブコード |
|---|---|---|
| 1 | Message Header Error | 接続の非同期、不正なメッセージ長、不正なメッセージタイプ |
| 2 | OPEN Message Error | 非対応のバージョン、不正なピアAS、不正なBGP Identifier、受け入れられないHold Time |
| 3 | UPDATE Message Error | 不正な属性リスト、必須属性の欠落、不正なNEXT_HOP、不正なAS_PATHなど |
| 4 | Hold Timer Expired | Hold Timeの間に何も受信しなかった |
| 5 | Finite State Machine Error | 状態遷移上ありえないメッセージを受信した |
| 6 | Cease | 上記以外の理由による切断。管理者によるshutdownやリセット、最大プレフィックス数の超過など(RFC 4486) |
実機での検証
BGP(Border Gateway Protocol)と同じ、3つのASにIOS XR(XRd)のルータ4台を配置した検証環境を使います。R1 - R2間がiBGP、R2 - R3、R3 - R4間がeBGPで、各ルータはLoopback1のネットワーク(192.168.N.0/24)をBGPに広告しています。
R2 - R3間(eBGP)のリンクでTCPポート179のパケットをキャプチャーしながら、次の操作を行いました。
| 操作 | 目的 |
|---|---|
R2でclear bgp 10.2.3.3 | セッションの切断と再確立(NOTIFICATION / OPEN / KEEPALIVE / UPDATE) |
R4でinterface Loopback1をshutdown | 192.168.4.0/24の取り消し(Withdraw) |
R4でinterface Loopback1をno shutdown | 192.168.4.0/24の再広告 |
以下はWiresharkに付属するtsharkで表示したパケット一覧で、4種類のメッセージと経路の取り消しがすべて含まれています。
1 0.000000 10.2.3.2 → 10.2.3.3 BGP 75 NOTIFICATION Message
2 0.000266 10.2.3.2 → 10.2.3.3 TCP 54 179 → 19652 [FIN, ACK] Seq=22 Ack=1 Win=32559 Len=0
3 0.003450 10.2.3.3 → 10.2.3.2 TCP 54 19652 → 179 [ACK] Seq=1 Ack=23 Win=32595 Len=0
4 0.005387 10.2.3.3 → 10.2.3.2 TCP 54 19652 → 179 [FIN, ACK] Seq=1 Ack=23 Win=32595 Len=0
5 0.007794 10.2.3.2 → 10.2.3.3 TCP 54 179 → 19652 [ACK] Seq=23 Ack=2 Win=32559 Len=0
6 0.798224 10.2.3.2 → 10.2.3.3 TCP 62 61661 → 179 [SYN] Seq=0 Win=32768 Len=0 MSS=1240 WS=1
7 0.802226 10.2.3.3 → 10.2.3.2 TCP 62 179 → 61661 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1240 WS=1
8 0.805094 10.2.3.2 → 10.2.3.3 TCP 54 61661 → 179 [ACK] Seq=1 Ack=1 Win=32768 Len=0
9 0.806853 10.2.3.2 → 10.2.3.3 BGP 129 OPEN Message
10 0.875909 10.2.3.3 → 10.2.3.2 TCP 54 179 → 61661 [RST, ACK] Seq=1 Ack=1 Win=16384 Len=0
11 30.000920 10.2.3.2 → 10.2.3.3 TCP 54 179 → 19652 [RST, ACK] Seq=23 Ack=2 Win=32559 Len=0
12 38.840964 10.2.3.3 → 10.2.3.2 TCP 62 35164 → 179 [SYN] Seq=0 Win=32768 Len=0 MSS=1240 WS=1
13 38.845366 10.2.3.2 → 10.2.3.3 TCP 62 179 → 35164 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1240 WS=1
14 38.848041 10.2.3.3 → 10.2.3.2 TCP 54 35164 → 179 [ACK] Seq=1 Ack=1 Win=32768 Len=0
15 38.849087 10.2.3.3 → 10.2.3.2 BGP 129 OPEN Message
16 40.850179 10.2.3.3 → 10.2.3.2 TCP 129 [TCP Retransmission] 35164 → 179 [PSH, ACK] Seq=1 Ack=1 Win=32768 Len=75
17 40.855228 10.2.3.2 → 10.2.3.3 TCP 54 179 → 35164 [ACK] Seq=1 Ack=76 Win=32768 Len=0
18 40.855434 10.2.3.2 → 10.2.3.3 BGP 148 OPEN Message, KEEPALIVE Message
19 40.859768 10.2.3.3 → 10.2.3.2 BGP 73 KEEPALIVE Message
20 40.895317 10.2.3.2 → 10.2.3.3 BGP 190 UPDATE Message, UPDATE Message, UPDATE Message
21 40.898045 10.2.3.3 → 10.2.3.2 BGP 194 UPDATE Message, UPDATE Message, UPDATE Message
22 41.101392 10.2.3.2 → 10.2.3.3 TCP 54 179 → 35164 [ACK] Seq=231 Ack=235 Win=32609 Len=0
23 70.889654 10.2.3.3 → 10.2.3.2 BGP 187 UPDATE Message, UPDATE Message, KEEPALIVE Message
24 71.093729 10.2.3.2 → 10.2.3.3 TCP 54 179 → 35164 [ACK] Seq=231 Ack=368 Win=32476 Len=0
25 81.452121 10.2.3.3 → 10.2.3.2 BGP 81 UPDATE Message
26 81.655926 10.2.3.2 → 10.2.3.3 TCP 54 179 → 35164 [ACK] Seq=231 Ack=395 Win=32449 Len=0
27 100.896608 10.2.3.2 → 10.2.3.3 BGP 73 KEEPALIVE Message
28 101.100919 10.2.3.3 → 10.2.3.2 TCP 54 35164 → 179 [ACK] Seq=395 Ack=250 Win=32519 Len=0
29 129.985465 10.2.3.3 → 10.2.3.2 BGP 111 UPDATE Message
30 130.188911 10.2.3.2 → 10.2.3.3 TCP 54 179 → 35164 [ACK] Seq=250 Ack=452 Win=32392 Len=0
31 160.897052 10.2.3.2 → 10.2.3.3 BGP 73 KEEPALIVE Message
32 161.101276 10.2.3.3 → 10.2.3.2 TCP 54 35164 → 179 [ACK] Seq=452 Ack=269 Win=32500 Len=0
33 189.986189 10.2.3.3 → 10.2.3.2 BGP 73 KEEPALIVE Message
34 190.189786 10.2.3.2 → 10.2.3.3 TCP 54 179 → 35164 [ACK] Seq=269 Ack=471 Win=32373 Len=0| No. | 内容 |
|---|---|
| 1〜5 | clear bgpによりR2がNOTIFICATIONを送信し、TCPセッションを閉じる。 |
| 6〜10 | R2が直ちに再接続を試みるが、リセット直後のR3はRSTで拒否する。 |
| 12〜17 | 約38秒後、R3側からのTCP3ウェイハンドシェイクが成立し、R3がOPENを送る(No.16はACKが返らなかったためのTCP再送)。 |
| 18〜19 | R2がOPENとKEEPALIVEを返し、R3もKEEPALIVEを返してセッションがEstablishedになる。 |
| 20〜21 | 双方がUPDATEで経路を広告する。末尾は初期広告の完了を示すEnd-of-RIBマーカー。 |
| 23 | R3が、R2から受け取った経路をAS_PATHに自身のAS番号を追加して広告し返す(R2は自ASを検出して破棄)。 |
| 25 | R4のLoopback1をshutdownしたことにより、R3が192.168.4.0/24の取り消しをUPDATEで通知する。 |
| 29 | R4のLoopback1を戻したことにより、R3が192.168.4.0/24を再度広告する。 |
| 27、31、33 | 各ルータが60秒ごとにKEEPALIVEを送り、セッションを維持する。 |
OPENメッセージの中身
No.15でR3が送ったOPENメッセージです。ヘッダーのTypeが1、Versionが4、AS番号が65002、Hold Timeが180秒、BGP Identifierが10.0.0.3で、Optional ParametersにMultiprotocol Extensions、Route Refresh、4-octet AS Number、Extended Next Hop EncodingのCapabilityが含まれています。
Border Gateway Protocol - OPEN Message
Marker: ffffffffffffffffffffffffffffffff
Length: 75
Type: OPEN Message (1)
Version: 4
My AS: 65002
Hold Time: 180
BGP Identifier: 10.0.0.3
Optional Parameters Length: 46
Optional Parameters
Optional Parameter: Capability
Parameter Type: Capability (2)
Parameter Length: 6
Capability: Multiprotocol extensions capability
Type: Multiprotocol extensions capability (1)
Length: 4
AFI: IPv4 (1)
Reserved: 00
SAFI: Unicast (1)
Optional Parameter: Capability
Parameter Type: Capability (2)
Parameter Length: 2
Capability: Route Refresh Capability (Cisco)
Type: Route Refresh Capability (Cisco) (128)
Length: 0
Optional Parameter: Capability
Parameter Type: Capability (2)
Parameter Length: 2
Capability: Route refresh capability
Type: Route refresh capability (2)
Length: 0
Optional Parameter: Capability
Parameter Type: Capability (2)
Parameter Length: 6
Capability: Support for 4-octet AS number capability
Type: Support for 4-octet AS number capability (65)
Length: 4
AS Number: 65002
Optional Parameter: Capability
Parameter Type: Capability (2)
Parameter Length: 20
Capability: Extended Next Hop Encoding
Type: Extended Next Hop Encoding (5)
Length: 18
AFI: IPv4 (1)
SAFI: Unicast (1)
Next hop AFI: IPv6 (2)
AFI: IPv4 (1)
SAFI: Multicast (2)
Next hop AFI: IPv6 (2)
AFI: IPv4 (1)
SAFI: Labeled VPN Unicast (128)
Next hop AFI: IPv6 (2)同じパケットのバイト列を見ると、ffが16個続くMarkerのあと、Length00 4b(75バイト)、Type01、Version04、AS番号fd ea(65002)、Hold Time00 b4(180)、BGP Identifier0a 00 00 03(10.0.0.3)、Opt Parm Len2e(46)と、構造どおりに並んでいることがわかります。
0020 03 02 89 5c 00 b3 c2 27 be e7 08 e5 d1 36 50 18 ...\...'.....6P.
0030 80 00 40 7b 00 00 ff ff ff ff ff ff ff ff ff ff ..@{............
0040 ff ff ff ff ff ff 00 4b 01 04 fd ea 00 b4 0a 00 .......K........
0050 00 03 2e 02 06 01 04 00 01 00 01 02 02 80 00 02 ................
0060 02 02 00 02 06 41 04 00 00 fd ea 02 14 05 12 00 .....A..........
0070 01 00 01 00 02 00 01 00 02 00 02 00 01 00 80 00 ................
0080 02 .KEEPALIVEメッセージの中身
No.19でR3がOPENを受理したときのKEEPALIVEです。共通ヘッダーだけの19バイトです。
このNo.19(KEEPALIVE)だけを抜き出したもの(bgp-no19.pcap) をダウンロードBorder Gateway Protocol - KEEPALIVE Message
Marker: ffffffffffffffffffffffffffffffff
Length: 19
Type: KEEPALIVE Message (4)UPDATEメッセージの中身(経路の広告)
No.21のTCPセグメントには3つのUPDATEが含まれています。1つ目はR3が192.168.3.0/24を広告するもので、パス属性としてORIGIN、AS_PATH、MULTI_EXIT_DISCが付いています。
Border Gateway Protocol - UPDATE Message
Marker: ffffffffffffffffffffffffffffffff
Length: 60
Type: UPDATE Message (2)
Withdrawn Routes Length: 0
Total Path Attribute Length: 37
Path attributes
Path Attribute - MP_REACH_NLRI
Flags: 0x90, Optional, Extended-Length, Non-transitive, Complete
1... .... = Optional: Set
.0.. .... = Transitive: Not set
..0. .... = Partial: Not set
...1 .... = Extended-Length: Set
.... 0000 = Unused: 0x0
Type Code: MP_REACH_NLRI (14)
Length: 13
Address family identifier (AFI): IPv4 (1)
Subsequent address family identifier (SAFI): Unicast (1)
Next hop: 10.2.3.3
IPv4 Address: 10.2.3.3
Number of Subnetwork points of attachment (SNPA): 0
Network Layer Reachability Information (NLRI)
192.168.3.0/24
MP Reach NLRI prefix length: 24
MP Reach NLRI IPv4 prefix: 192.168.3.0
Path Attribute - ORIGIN: IGP
Flags: 0x40, Transitive, Well-known, Complete
0... .... = Optional: Not set
.1.. .... = Transitive: Set
..0. .... = Partial: Not set
...0 .... = Extended-Length: Not set
.... 0000 = Unused: 0x0
Type Code: ORIGIN (1)
Length: 1
Origin: IGP (0)
Path Attribute - AS_PATH: 65002
Flags: 0x40, Transitive, Well-known, Complete
0... .... = Optional: Not set
.1.. .... = Transitive: Set
..0. .... = Partial: Not set
...0 .... = Extended-Length: Not set
.... 0000 = Unused: 0x0
Type Code: AS_PATH (2)
Length: 6
AS Path segment: 65002
Segment type: AS_SEQUENCE (2)
Segment length (number of ASN): 1
AS4: 65002
Path Attribute - MULTI_EXIT_DISC: 0
Flags: 0x80, Optional, Non-transitive, Complete
1... .... = Optional: Set
.0.. .... = Transitive: Not set
..0. .... = Partial: Not set
...0 .... = Extended-Length: Not set
.... 0000 = Unused: 0x0
Type Code: MULTI_EXIT_DISC (4)
Length: 4
Multiple exit discriminator: 0MP_REACH_NLRI属性(RFC 4760)の中に格納されています。RFC 4271の基本形では、ネクストホップはNEXT_HOP属性、プレフィックスはNLRIフィールドに入ります。3つ目のUPDATEは属性もNLRIも持たない23バイトのEnd-of-RIBマーカーで、初期広告の完了を示しています。
Border Gateway Protocol - UPDATE Message
Marker: ffffffffffffffffffffffffffffffff
Length: 23
Type: UPDATE Message (2)
Withdrawn Routes Length: 0
Total Path Attribute Length: 0UPDATEメッセージの中身(経路の取り消し)
R4でLoopback1をshutdownすると、192.168.4.0/24が広告できなくなります。
RP/0/RP0/CPU0:R4#show running-config interface Loopback1
Sat Sep 5 04:13:22.993 UTC
interface Loopback1
description advertised network 192.168.4.0/24
ipv4 address 192.168.4.1 255.255.255.0
shutdown
!この取り消しは、R4 → R3 → R2 → R1と伝播します。R2 - R3間ではNo.25のUPDATEとして観測されました。Withdrawn Routesに192.168.4.0/24が入り、Total Path Attribute Lengthは0で、パス属性もNLRIも持ちません。
Border Gateway Protocol - UPDATE Message
Marker: ffffffffffffffffffffffffffffffff
Length: 27
Type: UPDATE Message (2)
Withdrawn Routes Length: 4
Withdrawn Routes
192.168.4.0/24
Withdrawn route prefix length: 24
Withdrawn prefix: 192.168.4.0
Total Path Attribute Length: 0バイト列で見ると、Length00 1b(27バイト)、Type02(UPDATE)に続いて、Withdrawn Routes Length00 04、プレフィックス長18(24)、プレフィックスc0 a8 04 00(192.168.4.0)、Total Path Attribute Length00 00と並んでいます。
0020 03 02 89 5c 00 b3 c2 27 c0 56 08 e5 d2 1c 50 18 ...\...'.V....P.
0030 7f 1a 64 23 00 00 ff ff ff ff ff ff ff ff ff ff ..d#............
0040 ff ff ff ff ff ff 00 1b 02 00 04 18 c0 a8 04 00 ................
0050 00 .取り消し前のR2のBGPテーブルには4経路がありました。
RP/0/RP0/CPU0:R2#show bgp
<snip>
Status codes: s suppressed, d damped, h history, * valid, > best
i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i192.168.1.0/24 10.0.0.1 0 100 0 i
*> 192.168.2.0/24 0.0.0.0 0 32768 i
*> 192.168.3.0/24 10.2.3.3 0 0 65002 i
*> 192.168.4.0/24 10.2.3.3 0 65002 65003 i
Processed 4 prefixes, 4 paths取り消し後は192.168.4.0/24が消えて3経路になっています。
RP/0/RP0/CPU0:R2#show bgp
<snip>
Status codes: s suppressed, d damped, h history, * valid, > best
i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i192.168.1.0/24 10.0.0.1 0 100 0 i
*> 192.168.2.0/24 0.0.0.0 0 32768 i
*> 192.168.3.0/24 10.2.3.3 0 0 65002 i
Processed 3 prefixes, 3 pathsAS 65001の奥にあるR1のルーティングテーブルからも、同じ経路が削除されています。
RP/0/RP0/CPU0:R1#show route bgp
Sat Sep 5 04:13:44.000 UTC
B 192.168.2.0/24 [200/0] via 10.0.0.2, 01:02:47
B 192.168.3.0/24 [200/0] via 10.2.3.3, 00:01:14R4でLoopback1をno shutdownに戻すと、No.29のUPDATEで192.168.4.0/24が再び広告され、R1のルーティングテーブルにも復活します。
RP/0/RP0/CPU0:R1#show route bgp
Sat Sep 5 04:15:06.708 UTC
B 192.168.2.0/24 [200/0] via 10.0.0.2, 01:04:09
B 192.168.3.0/24 [200/0] via 10.2.3.3, 00:02:37
B 192.168.4.0/24 [200/0] via 10.2.3.3, 00:01:08R3のshow bgp neighborでは、R2に対して広告した回数と取り消した回数がカウントされています。
RP/0/RP0/CPU0:R3#show bgp neighbor 10.2.3.2 | include Prefix advertised
Sat Sep 5 04:14:46.469 UTC
Prefix advertised 5, suppressed 0, withdrawn 1NOTIFICATIONメッセージの中身
No.1でR2が送ったNOTIFICATIONです。clear bgpによる切断なので、Error codeは6(Cease)、サブコードは4(Administratively Reset)です。
Border Gateway Protocol - NOTIFICATION Message
Marker: ffffffffffffffffffffffffffffffff
Length: 21
Type: NOTIFICATION Message (3)
Major error Code: Cease (6)
Minor error Code (Cease): Administratively Reset (4)メッセージカウンタの確認
show bgp neighborでは、ピアと交換したメッセージ数や、OPENで交換したCapability、Hold TimeとKEEPALIVE間隔を確認できます。
RP/0/RP0/CPU0:R2#show bgp neighbor 10.2.3.3
Sat Sep 5 04:14:33.229 UTC
BGP neighbor is 10.2.3.3
Remote AS 65002, local AS 65001, external link
Description: eBGP to R3
Remote router ID 10.0.0.3
BGP state = Established, up for 00:02:04
Previous State: Idle
Last Received Message: Update
NSR State: None
Last read 00:00:35, Last read before reset 00:03:04
Hold time is 180, keepalive interval is 60 seconds
Configured hold time: 180, keepalive: 60, min acceptable hold time: 3
Precedence: internet
Non-stop routing is enabled
Enforcing first AS is enabled
Multi-protocol capability received
Neighbor capabilities:
Route refresh: advertised (old + new) and received (old + new)
4-byte AS: advertised and received
Address family IPv4 Unicast: advertised and received
Received 79 messages, 0 notifications, 0 in queue
Sent 77 messages, 1 notifications, 0 in queue
Minimum time between advertisement runs is 30 secs検証Config
R1 config(r1_bgp-message.cfg) をダウンロード
R2 config(r2_bgp-message.cfg) をダウンロード
R3 config(r3_bgp-message.cfg) をダウンロード
R4 config(r4_bgp-message.cfg) をダウンロード
検証環境およびshow結果
show route / show bgp / show bgp <prefix>(4プレフィックス分) / show bgp summary / show bgp neighbor の出力をルータごとにまとめています。
R1 show出力(r1_bgp-message_show.txt) をダウンロード
R2 show出力(r2_bgp-message_show.txt) をダウンロード
R3 show出力(r3_bgp-message_show.txt) をダウンロード
R4 show出力(r4_bgp-message_show.txt) をダウンロード
参考
| 資料 | タイトル | 概要 |
|---|---|---|
| IANA | Border Gateway Protocol (BGP) Parameters | メッセージタイプ、パス属性、Capabilityコード、NOTIFICATIONのエラーコード / サブコードなど、BGPで使われる番号の割り当て一覧。 |
| RFC 4271 | A Border Gateway Protocol 4 (BGP-4) | BGP-4の基本仕様。各メッセージの形式を定義。 |
| RFC 5492 | Capabilities Advertisement with BGP-4 | OPENメッセージのCapabilityを定義。 |
| RFC 4486 | Subcodes for BGP Cease Notification Message | NOTIFICATIONのCeaseサブコードを定義。 |
| RFC 4724 | Graceful Restart Mechanism for BGP | End-of-RIBマーカーを定義。 |
| RFC 4760 | Multiprotocol Extensions for BGP-4 | MP_REACH_NLRI / MP_UNREACH_NLRI属性を定義。 |