メインコンテンツまでスキップ

Appendix D. Authentication

C. Configurable Constants(設定可能な定数)

OSPF プロトコルにはかなり多くの設定可能なパラメータがあります。これらのパラメータを以下にリストします。それらは一般的な機能カテゴリ(エリアパラメータ、インターフェースパラメータなど)にグループ化されています。いくつかのパラメータにはサンプル値が示されています。

一部のパラメータ設定は、ルーターのグループ間で一貫している必要があります。たとえば、エリア内のすべてのルーターはそのエリアのパラメータに合意する必要があり、ネットワークに接続されているすべてのルーターはそのネットワークの IP network 番号とマスクに合意する必要があります。

一部のパラメータは、この仕様外のルーターアルゴリズム(たとえば、SLIP 回線を介してルーターに接続されたホストのアドレス)によって決定される場合があります。OSPF の観点からは、これらの項目も依然として設定可能です。

C.1 Global parameters(グローバルパラメータ)

    一般に、OSPF プロトコルの別個のコピーが各エリアごとに実行されます。このため、ほとんどの設定パラメータはエリアごとに定義されます。少数のグローバル設定パラメータを以下にリストします。


    Router ID
        自律システム(Autonomous System)内でルーターを一意に識別する 32 ビットの数値。Router ID 割り当ての 1 つのアルゴリズムは、ルーターに割り当てられた最大または最小の IP アドレスを選択することです。ルーターの OSPF Router ID が変更された場合、新しい Router ID が有効になる前に、ルーターの OSPF ソフトウェアを再起動する必要があります。Router ID を変更するために再起動する前に、ルーターは自身が発信した LSA をルーティングドメインからフラッシュ(flush)すべきです(セクション 14.1 参照)。さもないと、それらは最大 MaxAge 分間保持されます。

    RFC1583Compatibility
        セクション 16.4 で、同じ宛先をアドバタイズする複数の AS-external-LSAs の中から選択する際に使用される優先ルールを制御します。「enabled」に設定された場合、優先ルールは RFC 1583([Ref9])で指定されたもののままです。「disabled」に設定された場合、優先ルールはセクション 16.4.1 に記載されているものとなり、これは同じ宛先の AS-external-LSAs が異なるエリアから発信された場合にルーティングループを防ぎます。デフォルトは「enabled」に設定されます。

        ルーティングループの可能性を最小限にするため、OSPF ルーティングドメイン内のすべての OSPF ルーターは RFC1583Compatibility を同一に設定すべきです。本メモのセクション 16.4.1 で指定された機能に更新されていないルーターが存在する場合、すべてのルーターは RFC1583Compatibility を「enabled」に設定すべきです。それ以外の場合、すべてのルーターは RFC1583Compatibility を「disabled」に設定し、すべてのルーティングループを防ぐべきです。

C.2 Area parameters(エリアパラメータ)

    エリアに属するすべてのルーターは、そのエリアの設定に合意する必要があります。2 つのルーター間の不一致は、それらの間での隣接(adjacency)形成の不能につながり、その結果としてルーティングプロトコルおよびデータトラフィックの流れが妨げられます。エリアに対して以下の項目を設定する必要があります。


    Area ID
        エリアを識別する 32 ビットの数値。0.0.0.0 の Area ID はバックボーン用に予約されています。エリアがサブネット化されたネットワークを表す場合、そのサブネット化されたネットワークの IP network 番号を Area ID に使用できます。

    List of address ranges(アドレス範囲のリスト)
        OSPF エリアは、アドレス範囲のリストとして定義されます。各アドレス範囲は以下の項目から構成されます。

        [IP address, mask]
                アドレス範囲に含まれる IP アドレスの集合を記述します。ネットワークとホストは、それらのアドレスがエリアを定義するアドレス範囲のいずれかに該当するかどうかに応じてエリアに割り当てられます。ルーターは、接続されているネットワークのエリア所属に応じて、複数のエリアに属しているとみなされます。

        Status  Advertise または DoNotAdvertise のいずれかに設定します。ルーティング情報はエリア境界で凝縮(condense)されます。エリア外部に対しては、各アドレス範囲ごとに、最大で 1 つのルート(summary-LSA 経由)がアドバタイズされます。そのルートは、アドレス範囲の Status が Advertise に設定されている場合にのみアドバタイズされます。アドバタイズされない範囲により、特定のネットワークの存在を他のエリアから意図的に隠すことができます。Status はデフォルトで Advertise に設定されます。

        例として、IP サブネット化ネットワークがそれ自身の OSPF エリアになると仮定します。そのエリアは、単一のアドレス範囲として設定され、その IP アドレスはサブネット化ネットワークのアドレス、そのマスクは自然なクラス A、B、または C のアドレスマスクとなります。エリア外部に対して単一のルートがアドバタイズされ、サブネット化ネットワーク全体を記述します。

    ExternalRoutingCapability
        AS-external-LSAs がエリア内に/エリア全体にフラッディングされるかどうか。AS-external-LSAs がエリアから除外される場合、そのエリアは「stub」と呼ばれます。stub area 内部では、外部宛先へのルーティングはデフォルト summary ルートのみに基づきます。バックボーンを stub area として設定することはできません。また、仮想リンクを stub area を通じて設定することはできません。詳細はセクション 3.6 を参照してください。

    StubDefaultCost
        エリアが stub area として設定されており、ルーター自身が area border router である場合、StubDefaultCost はルーターがエリア内にアドバタイズすべきデフォルト summary-LSA のコストを示します。

C.3 Router interface parameters(ルーターインターフェースパラメータ)

    設定可能なルーターインターフェースパラメータの一部(IP インターフェースアドレスやサブネットマスクなど)は、実際には接続されたネットワークのプロパティを意味するため、そのネットワークに接続されたすべてのルーター間で一貫している必要があります。ルーターインターフェースに対して設定する必要があるパラメータは以下のとおりです。


    IP interface address
        このインターフェースの IP プロトコルアドレス。これはインターネット全体でルーターを一意に識別します。ポイントツーポイントネットワークでは IP アドレスは不要です。そのようなポイントツーポイントネットワークは「unnumbered(番号なし)」と呼ばれます。

    IP interface mask
        サブネット/ネットワークマスクとも呼ばれ、接続されたネットワークを識別する IP インターフェースアドレスの部分を示します。IP インターフェースアドレスに IP interface mask をマスクすると、接続されたネットワークの IP network 番号が得られます。ポイントツーポイントネットワークおよび仮想リンク上では、IP interface mask は定義されません。これらのネットワークでは、リンク自体に IP network 番号は割り当てられないため、リンクの両側のアドレスは(割り当てられる場合でも)独立して割り当てられます。

    Area ID
        接続されたネットワークが属する OSPF エリア。

    Interface output cost
        インターフェース上でパケットを送信するコスト。リンクステートメトリックで表現されます。これは、ルーターの router-LSA 内でこのインターフェースのリンクコストとしてアドバタイズされます。Interface output cost は常に 0 より大きくなければなりません。

    RxmtInterval
        このインターフェースに属する隣接関係に対する、LSA 再送信の間隔(秒)。また、Database Description および Link State Request パケットの再送信時にも使用されます。これは、接続されたネットワーク上の任意の 2 つのルーター間の予想往復遅延(round-trip delay)をはるかに上回るようにすべきです。この値の設定は保守的でなければならず、さもないと無意味な再送信が発生します。ローカルエリアネットワークのサンプル値:5 秒。

    InfTransDelay
        このインターフェース上で Link State Update パケットを送信するのにかかる推定秒数。更新パケットに含まれる LSA は、送信前にこの量だけ age をインクリメントされる必要があります。この値は、インターフェースの送信および伝播遅延を考慮する必要があります。これは 0 より大きくなければなりません。ローカルエリアネットワークのサンプル値:1 秒。

    Router Priority
        8 ビットの符号なし整数。ネットワークに接続された 2 つのルーターがいずれも Designated Router になろうとした場合、Router Priority の最も高いものが優先されます。それでも同点の場合、Router ID の最も高いルーターが優先されます。Router Priority が 0 に設定されたルーターは、接続されたネットワークの Designated Router になる資格がありません。Router Priority はブロードキャストおよび NBMA ネットワークへのインターフェースに対してのみ設定されます。

    HelloInterval
        インターフェース上でルーターが Hello パケットを送信する間隔(秒)。この値はルーターの Hello パケットでアドバタイズされます。共通ネットワークに接続されたすべてのルーターで同じでなければなりません。HelloInterval が小さいほど、トポロジーの変更が早く検出されますが、それだけ多くの OSPF ルーティングプロトコルトラフィックが発生します。X.25 PDN ネットワークのサンプル値:30 秒。ローカルエリアネットワークのサンプル値:10 秒。

    RouterDeadInterval
        ルーターの Hello パケットの受信をやめてから、そのネイバーがルーターをダウンと宣言するまでの秒数。これはルーターの Hello パケットの RouterDeadInterval フィールドでもアドバタイズされます。これは HelloInterval の倍数(たとえば 4)であるべきです。この値も、共通ネットワークに接続されたすべてのルーターで同じでなければなりません。

    AuType
        接続されたネットワークで使用される認証手順を識別します。この値はネットワークに接続されたすべてのルーターで同じでなければなりません。定義済み認証タイプの議論については Appendix D を参照してください。

    Authentication key
        この設定データにより、認証手順はインターフェースを介して受信された OSPF プロトコルパケットを検証できます。たとえば、AuType が単純パスワード(simple password)を示す場合、Authentication key は平文の 64 ビットパスワードとなります。その他の OSPF 認証タイプに関連する認証キーについては Appendix D で議論されています。

C.4 Virtual link parameters(仮想リンクパラメータ)

    仮想リンクは、バックボーンの接続性を回復/増強するために使用されます。仮想リンクは、共通の(非バックボーン)エリアへのインターフェースを持つ任意の 2 つの area border router 間に設定できます。仮想リンクは、バックボーンのグラフにおいて番号なしポイントツーポイントリンクとして現れます。仮想リンクは両方の area border router で設定する必要があります。

    仮想リンクは、バックボーン用の router-LSAs に、あたかもバックボーンへの別個のルーターインターフェースであるかのように現れます。そのため、それにはルーターインターフェースに関連するすべてのパラメータ(セクション C.3 参照)があります。仮想リンクは番号なしポイントツーポイントリンクのように振る舞いますが、関連する IP インターフェースアドレスを持ちます。このアドレスは、仮想リンクに沿って送信する OSPF プロトコルパケットの IP source として使用され、ルーティングテーブル構築プロセス中に動的に設定されます。Interface output cost も仮想リンク上で動的に設定され、2 つのルーター間のエリア内パスのコストとなります。パラメータ RxmtInterval を設定する必要があり、2 つのルーター間の予想往復遅延をはるかに上回るようにすべきです。これは仮想リンクの場合見積もりが難しい場合があります。大きすぎる側に誤る方が良いです。Router Priority は仮想リンクでは使用されません。

    仮想リンクは、以下の 2 つの設定可能なパラメータによって定義されます。仮想リンクのもう一方の端点の Router ID、および仮想リンクが通過する(非バックボーン)エリア(仮想リンクの Transit area と呼ばれる)です。仮想リンクを stub area を通じて設定することはできません。

C.5 NBMA network parameters(NBMA ネットワークパラメータ)

    OSPF は NBMA ネットワークをブロードキャストネットワークとほぼ同様に扱います。ネットワークに多くのルーターが接続されている可能性があるため、ネットワークの Designated Router が選出されます。この Designated Router は network-LSA を発信し、NBMA ネットワークに接続されたすべてのルーターをリストします。

    しかし、ブロードキャスト機能がないため、Designated Router の選出に設定パラメータを使用する必要がある場合があります。これらのパラメータは、Designated Router になる資格のあるルーター(すなわち、ネットワークに対する Router Priority がゼロでないルーター)のみで設定する必要があり、さらに、ネイバーを自動発見する手順が存在しない場合にのみ必要です。


    List of all other attached routers(接続された他のすべてのルーターのリスト)
        NBMA ネットワークに接続されたすべての他のルーターのリスト。各ルーターはネットワーク上の IP インターフェースアドレスでリストされます。また、リストされた各ルーターについて、そのルーターの Designated Router になる資格を定義する必要があります。NBMA ネットワークへのインターフェースが起動したとき、Designated Router の識別子が発見されるまで、ルーターは Designated Router になる資格のあるネイバーに対してのみ Hello パケットを送信します。

    PollInterval
        隣接ルーターが非アクティブになった場合(Hello パケットが RouterDeadInterval 秒間見られなかった場合)、それでも死んだネイバーへの Hello パケットの送信が必要になる場合があります。これらの Hello パケットは、低下したレート PollInterval で送信され、これは HelloInterval よりはるかに大きくすべきです。PDN X.25 ネットワークのサンプル値:2 分。

C.6 Point-to-MultiPoint network parameters(ポイントツーマルチポイントネットワークパラメータ)

    Point-to-MultiPoint ネットワークでは、Point-to-MultiPoint ネットワークを介して直接到達可能なネイバーの集合を設定する必要がある場合があります。各ネイバーは、Point-to-MultiPoint ネットワーク上の IP アドレスで識別されます。Point-to-MultiPoint ネットワークでは Designated Router は選出されないため、設定されたネイバーの Designated Router 資格は未定義です。

    あるいは、Point-to-MultiPoint ネットワーク上のネイバーは、Inverse ARP([Ref14])などの下位レベルプロトコルによって動的に発見される場合があります。


C.7 Host route parameters(ホストルートパラメータ)

    ホストルートは、マスク 0xffffffff の stub network として router-LSAs でアドバタイズされます。これらは、ポイントツーポイントネットワークへのルーターインターフェース、ループバックしたルーターインターフェース、またはルーターに直接接続された IP ホスト(たとえば SLIP 回線経由)のいずれかを示します。ルーターに直接接続された各ホストについて、以下の項目を設定する必要があります。


    Host IP address
        ホストの IP アドレス。

    Cost of link to host
        ホストへのパケット送信のコスト。リンクステートメトリックの観点から。ただし、ホストはおそらくインターネットへの単一の接続しか持たないため、多くの場合、実際に設定されたコストは重要ではありません(すなわちルーティングに影響しません)。

    Area ID
        ホストが属する OSPF エリア。

D. Authentication(認証)

すべての OSPF プロトコル交換は認証されます。OSPF パケットヘッダ(セクション A.3.1 参照)には認証タイプフィールドと、適切な認証スキーム(タイプフィールドで決定)で使用するための 64 ビットのデータが含まれます。

認証タイプは、インターフェースごと(あるいは同等に、ネットワーク/サブネットごと)に設定可能です。追加の認証データもインターフェースごとに設定可能です。

認証タイプ 0、1、2 はこの仕様で定義されています。その他のすべての認証タイプは、IANA([email protected])による定義のために予約されています。認証タイプの現在のリストを以下の Table 20 に示します。


              AuType       Description
              ___________________________________________
              0            Null authentication
              1            Simple password
              2            Cryptographic authentication
              All others   Reserved for assignment by the
                           IANA ([email protected])

                  Table 20: OSPF authentication types.


D.1 Null authentication(Null 認証)

    この認証タイプを使用することは、ネットワーク/サブネット上のルーティング交換が認証されないことを意味します。OSPF ヘッダの 64 ビット認証フィールドには何でも入れることができ、パケット受信時には検査されません。Null 認証を使用する場合、各 OSPF パケットの内容(64 ビット認証フィールドを除く)全体が、データ破損を検出するためにチェックサムされます。


D.2 Simple password authentication(単純パスワード認証)

    この認証タイプを使用すると、64 ビットフィールドがネットワークごとに設定されます。特定のネットワーク上で送信されるすべてのパケットは、その OSPF ヘッダの 64 ビット認証フィールドにこの設定値を持たなければなりません。これは本質的に「平文」の 64 ビットパスワードとして機能します。さらに、各 OSPF パケットの内容(64 ビット認証フィールドを除く)全体が、データ破損を検出するためにチェックサムされます。

    単純パスワード認証は、ルーターが誤ってルーティングドメインに参加することを防ぎます。各ルーターは、ルーティングに参加する前に、接続されたネットワークのパスワードで最初に設定されている必要があります。しかし、単純パスワード認証は、現在インターネットで広く普及している受動攻撃(passive attack)に対して脆弱です([Ref16] 参照)。ネットワークへの物理的アクセスを持つ者はだれでもパスワードを知ることができ、OSPF ルーティングドメインのセキュリティを危険にさらすことができます。

D.3 Cryptographic authentication(暗号認証)

    この認証タイプを使用すると、共有秘密鍵(shared secret key)が、共通のネットワーク/サブネットに接続されたすべてのルーターに設定されます。各 OSPF プロトコルパケットについて、その鍵を使用して、OSPF パケットの末尾に付加される「メッセージダイジェスト」を生成/検証します。メッセージダイジェストは、OSPF プロトコルパケットと秘密鍵の一方向関数です。秘密鍵はネットワーク上を平文で送信されることがないため、受動攻撃に対する保護が提供されます。

    メッセージダイジェストの生成と検証に使用されるアルゴリズムは、秘密鍵によって暗黙的に指定されます。この仕様は、MD5 アルゴリズムを使用する場合の OSPF 暗号認証の使用を完全に定義しています。

    さらに、再生攻撃(replay attack)から保護するために、各 OSPF プロトコルパケットに非減少のシーケンス番号が含まれます。これは長期的な保護を提供しますが、シーケンス番号が変わるまで OSPF パケットを再生することは依然として可能です。この機能を実装するため、各ネイバーデータ構造には「cryptographic sequence number(暗号シーケンス番号)」と呼ばれる新しいフィールドが含まれます。このフィールドはゼロに初期化され、ゼロにも設定されます。