8.2. Description of FSM (FSMの説明)
8.2. Description of FSM (FSMの説明)
8.2.1. FSM Definition (FSM定義)
BGPは、設定された各ピアに対して個別のFSMを維持しなければなりません(MUST)。潜在的な接続でペアリングされた各BGPピアは、idle状態に留まるように設定されていない限り、またはpassiveに留まるように設定されていない限り、相互に接続を試みます。この議論の目的上、TCP接続のアクティブまたは接続側(最初のTCP SYNパケットを送信するTCP接続の側)は、outgoingと呼ばれます。パッシブまたはリスニング側(最初のSYN/ACKの送信者)は、incoming接続と呼ばれます。(以下で使用される用語activeとpassiveの情報については、セクション8.2.1.1を参照してください。)
BGP実装は、着信接続を試みようとするのに加えて、着信接続のためにTCPポート179に接続してリッスンしなければなりません(MUST)。各着信接続に対して、状態機械がインスタンス化されなければなりません(MUST)。着信接続の相手側のピアのアイデンティティは既知であるが、BGP識別子は不明である期間が存在します。この間、同じ設定されたピアリングに対して着信接続と発信接続の両方が存在する可能性があります。これは接続衝突と呼ばれます(セクション6.8参照)。
BGP実装は、各設定されたピアリングに対して最大1つのFSMと、ピアがまだ識別されていない各着信TCP接続に対して1つのFSMを持ちます。各FSMは正確に1つのTCP接続に対応します。
接続が異なるIPアドレスのペアを使用するように設定されている場合、ピアのペア間に複数の接続が存在する可能性があります。これは、同じピアへの複数の「設定されたピアリング」と呼ばれます。
8.2.1.1. Terms "active" and "passive" (用語「active」と「passive」)
activeとpassiveという用語は、インターネットオペレーターの語彙に約10年間存在し、有用であることが証明されています。activeとpassiveという語は、TCP接続またはピアに適用されるときにわずかに異なる意味を持ちます。上記の定義と以下の状態機械に従って、任意の1つのTCP接続には1つのactive側と1つのpassive側のみがあります。BGPスピーカーがactiveとして設定されている場合、最終的に確立される接続のactive側またはpassive側のいずれかになる可能性があります。TCP接続が完了すると、どちらの端がactiveでどちらがpassiveであったかは関係ありません。唯一の違いは、TCP接続のどちら側がポート番号179を持つかです。
8.2.1.2. FSM and Collision Detection (FSMと衝突検出)
BGP接続ごとに1つのFSMがあります。接続がどのピアに関連付けられているかを判断する前に接続衝突が発生した場合、1つのピアに対して2つの接続が存在する可能性があります。接続衝突が解決された後(セクション6.8参照)、クローズされた接続のFSMは廃棄されるべきです(SHOULD)。
8.2.1.3. FSM and Optional Session Attributes (FSMとオプションセッション属性)
オプションのセッション属性は、フラグ(TRUEまたはFALSE)として機能する属性またはオプションのタイマーのいずれかを指定します。フラグとして機能するオプション属性の場合、オプションのセッション属性がシステムでTRUEに設定できる場合、対応するBGP FSMアクションをサポートしなければなりません(must)。たとえば、BGP実装で次のオプションを設定できる場合:AutoStartとPassiveTcpEstablishment、イベント3、4、および5をサポートしなければなりません(must)。オプションのセッション属性をTRUEに設定できない場合、そのオプションセットをサポートするイベントをサポートする必要はありません。
各オプションタイマー(DelayOpenTimerとIdleHoldTimer)には、次の属性のグループがあります:
- サポートを示すフラグ、
- タイマーに設定される時間
- タイマー。
2つのオプションタイマーは、この形式を示しています:
- DelayOpenTimer: DelayOpen、DelayOpenTime、DelayOpenTimer
- IdleHoldTimer: DampPeerOscillations、IdleHoldTime、IdleHoldTimer
オプションタイマーのサポートを示すフラグ(DelayOpenまたはDampPeerOscillations)をTRUEに設定できない場合、そのオプションをサポートするタイマーとイベントをサポートする必要はありません。
8.2.1.4. FSM Event Numbers (FSMイベント番号)
この状態機械の説明で使用されるイベント番号(1-28)は、BGP状態機械の動作を指定するのに役立ちます。実装は、ネットワーク管理情報を提供するためにこれらの番号を使用してもかまいません(MAY)。FSMまたはFSMイベントの正確な形式は、各実装に固有です。
8.2.1.5. FSM Actions that are Implementation Dependent (実装依存のFSMアクション)
特定のポイントで、BGP FSMはBGP初期化が発生すること、またはBGPリソースが削除されることを指定します。BGP FSMおよび関連リソースの初期化は、BGP実装のポリシー部分に依存します。これらのアクションの詳細は、FSM文書の範囲外です。