ネットワーク管理者は、サードパーティ製ソフトウェアを使用して、リソース公開キー インフラストラクチャ(RPKI)サーバをセットアップする必要があります。RPKI サーバは、公開キー証明書の実際の認証を処理します。特定の自律システムを発信元とする特定のプレフィックスまたはプレフィックス範囲を許可するように、サーバをセットアップします。
次に、管理者は、RPKI サーバへの TCP 接続を確立するようにルータを設定します。これは、 bgp rpki server コマンドを設定することで行います。このように設定したとき、またはルータを起動したとき、ルータは指定された IP アドレスおよびポート番号への TCP 接続を開きます。ルータは、RPKI-Router プロトコル(RTR)を使用して、1 つ以上のルータまたは
RPKI サーバからプレフィックスおよび許可された起点 AS 番号のリストをダウンロードします。したがって、ルータは、どの自律システムがどのルートをアドバタイズすることが許可されているか、つまりどの AS がルートの発信元となることができるかに関する情報をサーバから取得します。
TCP 接続の試行が失敗した場合、ルータは 1 分間に 1 回接続を再試行します。その間、BGP は起点検証を実行せずに動作します。
ルータとサーバの間で TCP セッションが確立されると、サーバは、通常、RPKI データベースに追加された新しいプレフィックスを含む差分更新をルータに送信します。ルータは、更新間隔ごとにサーバに対してクエリを行うこともあります。ルータは、シリアル
クエリまたはリセット クエリを送信してから、End of Data(EOD)メッセージを受信するまでの間に、シリアル クエリ メッセージまたはリセット クエリ メッセージを送信することはありません。この間のシリアル クエリは削除され、この間のリセット
クエリは EOD メッセージの受信時に送信されます。
プレフィックスまたはプレフィックス範囲、およびそれに対応する起点 AS は、SOVC レコードと見なされます。プレフィックス範囲の重複は許可されます。3 つのレコードを含む SOVC テーブルは、次のようになります。
10.0.1.0/20-25 AS 3
10.0.1.0/19-24 AS 4
10.0.1.0/23-27 AS 5
プレフィックス(ネットワーク)が外部 BGP(eBGP)ピアから受信されると、プレフィックスは最初は「Not Found」状態になります。その後、プレフィックスは検査され、Valid、Invalid、または Not Found としてマークされます。
-
Valid(有効):プレフィックスと AS のペアが SOVC テーブル内にあることを示します。
-
Invalid(無効):プレフィックスが次の 2 つの条件のいずれかを満たしていることを示します。1. 1 つ以上の Route Origin Authorization(ROA)に一致しているが、起点 AS が AS-PATH の起点 AS
と合致する一致 ROA はない。2. ROA で指定された最小長で 1 つ以上の ROA と一致しているが、最小長で一致するすべての ROA について、その長さが指定された最大長を超えている。起点 AS は条件 2 には関係ありません。
-
Not Found(見つからない):目的のプレフィックスが有効または無効なプレフィックスの中にないことを示します。
デフォルトでは、Invalid とマークされたプレフィックスは、どのピアにもアドバタイズされず、すでにアドバタイズされている場合には BGP ルーティング テーブルから取り消され、ベストパスとしてフラグが付けられることも、マルチパスの候補として見なされることもありません(BGP
bestpath コマンドで別の方法が指定されている場合を除く)。別の方法を指定して BGP bestpath コマンドが設定されている場合を除いて、ベストパス計算では、Not Found プレフィックスよりも Valid プレフィックスが優先され、両方のタイプのプレフィックスがアドバタイズされます。
Valid としてマークされたプレフィックスは BGP ルーティング テーブルにインストールされます。
デフォルトでは、Not Found としてマークされたプレフィックスは BGP ルーティング テーブルにインストールされ、代わりとなる Valid の項目がない場合にのみ(ローカル プリファレンスや AS_PATH などのその他の BGP 属性は考慮されない)、ベストパスとしてフラグが付けられるか、マルチパスの候補と見なされます。
複数の RPKI サーバが設定されている場合、ルータは、設定されているすべてのサーバに接続し、すべてのサーバからプレフィックス情報をダウンロードします。SOVC テーブルは、各サーバから受信したすべてのレコードを結合して作られます。
特定のアドレス ファミリに対して bgp rpki server コマンド(または neighbor announce rpki state コマンド)を設定すると、ルータは、そのアドレス ファミリのすべてのパスについて RPKI 検証の実行を開始します。