BGPで交換されるメッセージは5種類あります。
タイプ | 名称 | 説明 |
1 | OPEN | BGPセッション開始時に交換されるメッセージ。自AS番号、ルータID、BGPVersionなどの情報が含まれます。 |
2 | UPDATE | BGPの経路情報の交換に使用されるメッセージ。経路の追加や削除が発生した場合に送信される。 |
3 | NOTIFICATION | BGPセッションの切断やエラーを検知した場合に送信されるメッセージ。 |
4 | KEEPALIVE | 生存確認を行うときに交換されるメッセージ。Ciscoでは通常60秒おきに定期的に送信されます。OSPFのHelloとは動作が違い、相手ルータがKeepaliveを受信したからといってそれに応答することはありません。 |
5 | ROUTE-REFRESH | 相手ルータに対し全ての経路情報を要求するメッセージ。 |
それぞれのメッセージフォーマットの先頭につく固定サイズのヘッダーです。
Marker
BGPコネクションに認証を使用する場合に使う。もし、認証を使用しない場合はすべて"1"が入る。
Length
ヘッダを含むメッセージ全体の長さをオクテット単位で定義されます。
フィールドの値は最小で19byte、最大で4096byte
Type
メッセージのタイプコードが定義されます。
1:OPEN
2:UPDATE
3:NOTIFICATION
4:KEEPALIVE
TCPセッションが確立された後に送られる最初のメッセージ。自AS番号、自ルータID、BGPバージョンなどが含まれる。
※クリックすると大きな画像で見れます
Version
BGPのバージョンが入ります。現在のBGPバージョンは"4"です。
My AS(My Autonomous System)
自AS番号が入ります。
Hold Time
生存確認タイマー値が定義されます。この時間を過ぎても相手ルータからKeepaliveが受信されなかった場合、NOTIFICATIONメッセージを送信しBGPセッションを切断します。デフォルトは180秒ですがお互いのHold Time値が異なった場合小さい方の時間を適用します。
BGP Identifier
相手ルータのBGP識別子が定義されます。通常BGPスピーカーは自分自身に割り当てられたIPアドレスをBGP識別子として使用する。この値はBGPの起動時に決定され、すべてのインターフェースとすべてのBGPピアに対して同じになります。
Opt Len (Optional Parameters Length)
オプションパラメーターフィールドの全体の長さを定義します。
この値が"0"だったらオプションパラメーターは存在しません。
Optional Parameters
さまざまなオプションを定義する場合に使用します。(IPv6、認証など)
BGPピア同士の経路情報の転送に使用します。
Unfeasible Routes Length
Withdrawn Routesフィールドの長さを定義します。"0"の場合はWithdrawn Routesが無いことを意味します。
Withdrawn Routes
利用不能となった経路情報を定義します。複数経路定義することも可能です。
Total Path Attribute Length
Path Attributeフィールドの長さを定義します。Init-bit。"0"の場合はNLRI(Network Layer Reachability Information)が無いことを意味します。
Path Attributes
パス属性という、BGPメトリックに関する情報を定義します。
NLRI(Network Layer Reachability Information)
利用可能な経路情報を定義します。新規に追加された経路情報はこのフィールドに定義されます。複数経路定義する事も可能です。
エラーが検出された時に送信されます。このメッセージが送信されたあとBGPピアが切断されます。
NOTIFICATION Messageを調査することで何が原因でエラーが発生したかを知ることが出来ます。
Error Code
エラーの種類を定義します。
Error Subcode
エラー通知のさらに詳細な内容を定義します。
Data
エラーに関するデータが含まれます。
エラーコードは以下のように定義されています。
Error Code | Error Subcode |
1.メッセージヘッダエラー | 1.接続が同期してない |
2.メッセージ長がおかしい | |
3.メッセージ種別がおかしい | |
2.OPENメッセージエラー | 1.サポートしていないバージョン番号 |
2.ピアASがおかしい | |
3.BGP識別子がおかしい | |
4.サポートしていないオプションパラメータ | |
5.認証に失敗 | |
6.ホールド時間が受け入れられなかった | |
7.サポートされていないCapability | |
3.UPDATEメッセージエラー | 1.属性リストの誤り |
2.属性が識別できない | |
3.属性が足りない | |
4.属性フラグのエラー | |
5.属性長エラー | |
6.無効なORIGIN属性 | |
7.ルーティングループ | |
8.無効なNEXT HOP属性 | |
9.OPTION属性エラー | |
10.無効なネットワークフィールド | |
11.ASパスの誤り | |
4.ホールド確認タイマのタイムアウト | - |
5.状態遷移エラー | - |
6.その他 | - |
相手ルータに対し全ての経路情報を要求するメッセージ(Route-REFRESH Message)を送ることによりBGPセッションを切断することなく、経路をリフレッシュする事が可能です。
AFI(Address Family Identifier)
アドレスファミリ識別子
1:IPv4
2:IPv6
Res.(Reserved field)
予約フィールド。値は全て"0"。
SAFI(Subsequent Address Family Identifier)
サブアドレスファミリ識別子
1:ユニキャスト
2:マルチキャスト
3:ユニキャストとマルチキャスト
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓