2.14. ルーティングの設定

パケット転送は、ルーティングテーブル情報に基づき実行します。このため、UNIVERGE IX-R/IX-V シリーズをルータとして動作させるためには、ルーティングテーブルへのルート登録が必要となります。登録するルートは、次のように大別することができます。

  • ダイレクトルート(Connected)

    • インタフェースのサブネットアドレス

  • スタティックルート(Static)

    • 手動で設定する固定的なルート

  • ダイナミックルート(Dynamic)

    • BGPを使用し外部から学習したルート

複数の同一ルートが存在した場合は、各ルーティングプロトコル(ダイレクト、スタティックルートを含む)の最適経路計算やルーティングプロトコル間の優先度に基づいて最適と判断されたものが選択されルーティングテーブルへ登録されます。

これ以外にもルート解決方法として、ポリシールーティングによるルート設定があります。

2.14.1. 経路制御とディスタンス

ルーティングテーブルと各ルーティングプロトコル(ダイレクトルート、スタティックルートを含む)との経路のやりとり(経路制御)は、ルートタイプを基に実行されます。

ルートタイプは、ルーティングテーブル内に登録されたルートとともに管理されている情報源のルーティングプロトコルを示す情報で、以下の種類があります。

  • Connected(ダイレクトルート)

  • Static(スタティックルート)

  • BGP external

  • BGP internal

以下にルートタイプによる経路制御の動作概要について説明します。

各ルーティングプロトコルは、独立して動作し、学習(設定)した経路から求めた最適経路をルートタイプとともにルーティングテーブルに書き込みます。

したがって、異なるルーティングプロトコルが、ルーティングテーブルに同一経路を書き込もうとする場合が考えられます。

このような場合、情報源を示すルートタイプの優先度(ディスタンス)に従い、どのルーティングプロトコルからの経路を書き込むかを決定します。

デフォルトのディスタンスは、次のとおりです。

ルートタイプ

ディスタンス

優先度

Connected

0(固定値)

↑高

Static

1

BGP external

20

BGP internal

200

↓低

ディスタンスの変更は、次のコマンドで登録します。

  • グローバルコンフィグモード

    項目

    説明

    ip/ipv6 route

    Static のディスタンス値変更
    (distance オプションにより変更)
  • BGPアドレスファミリモード

    項目

    説明

    distance

    BGPのディスタンス値変更

  • クリアコマンド

    項目

    説明

    clear ip/ipv6 route

    ディスタンス変更時のルーティングテーブル削除

    リスト 2.14.1 設定例:Staticのディスタンスを変更
    ip route default 192.168.0.254 distance 240
    
    リスト 2.14.2 設定例:BGPのディスタンスを変更
    router bgp 10
      address-family ipv4 unicast
        distance ebgp 10 ibgp 100
    

2.14.2. イコールコストマルチパス

イコールコストマルチパスとは、同一終点宛にコストの等しい複数の経路(パス)が存在するということを意味します。このような場合においては、パケット転送に最適経路(ベストパス)だけを使用する方法と、複数同時に使用してロードバランシングを行う方法が考えられます。

ロードバランシングとは、複数の経路を利用し簡易的に負荷を分散させる機能です。以下のロードバランシング方式をサポートします。

  • Best-Path (ロードバランシング無効)

    デフォルト動作として最適経路のみが利用され、負荷分散は行われません。

    Dest

    Nexthop

    cost

    172.16.0.0/16

    10.1.2.100

    25

    172.16.0.0/16

    10.1.2.200

    25

    ../_images/15_routing12.svg
  • Per-Packet

    パケット単位で複数経路を順番に(ラウンドロビンで)利用します。負荷が均等に分散される可能性が高くなりますが、同一フローのパケットが複数経路を経由することになるためパケット到着順が不定となりエンドーエンドの通信で性能が低下する可能性があります。

    Dest

    Nexthop

    cost

    172.16.0.0/16

    10.1.2.100

    25

    172.16.0.0/16

    10.1.2.200

    25

    ../_images/15_routing13.svg
  • Per-Flow-Fix-Interface

    フロー(アドレス/プロトコル/ポートの組の5-tupple)単位で複数経路からランダムに1つを選択して利用します。同一フローのパケットに対して同じ経路を経由させることが出来ますが、複数フローの負荷が同一の経路に偏る可能性があります。

    Dest

    Nexthop

    cost

    172.16.0.0/16

    10.1.2.100

    25

    172.16.0.0/16

    10.1.2.200

    25

    ../_images/15_routing14.svg

ロードバランシングの設定は以下のコマンドを使用します。

コマンド

説明

no ip multipath

ロードバランシング無効。(デフォルト動作)

ip multipath per-packet

ロードバランシング方式Per-Packetで動作します。

ip multipath per-flow-fix-interface

ロードバランシング方式Per-Flow-Fix-Interfaceで動作します。

注釈

  • IPv4のイコールコストマルチパスとすることができる経路数は最大8となります。値は変更できません。

  • IPv6はロードバランシングに対応していません。

  • TCP等のセッション毎にロードバランシングを行う方式(Per-Session)には対応していません。

2.14.2.1. 各ルーティングプロトコルのイコールコストマルチパス設定

  • IPv4スタティックルート

    Ver.1.2以降イコールコストマルチパスに対応しています。

    1つの宛先経路に対して、メトリック値(metric)とディスタンス値(distance)が同じスタティックルートを複数設定することによりイコールコストマルチパスとなります。

    リスト 2.14.3 設定例
       ip route default 192.168.0.254 metric 10
       ip route default Tunnel0.0 metric 10
    
  • BGP

    Ver.1.2以降イコールコストマルチパスに対応しています。

    デフォルトでは、イコールコストマルチパスとはなりません。

    BGPのイコールコストマルチパス設定方法およびイコールコストマルチパスとなる条件については、ルータ設定のBGPの項を参照してください。

2.14.3. スタティックルート

スタティックルーティングは、コマンドにより経路情報をあらかじめ装置に設定しておくことにより、ルーティングを行います。スタティックルーティングでは、次の情報を設定します。

  • ディスティネーション(サブネットアドレス(プレフィックス)、マスク長(プレフィックス長))

  • ネクストホップアドレス

  • 送出先インタフェース

    • 出力先がGigaEthernetの場合に送出先インタフェースを指定する場合は、ネクストホップアドレスを指定してください。送出先インタフェースのみ設定した場合は、パケットの送出先が分からないため、正常にルーティングできない場合があります。

  • メトリック値、ディスタンス値、タグ値

スタティックルートの設定および確認は次のコマンドを使用します。

  • グローバルコンフィグモード

    項目

    説明

    ip route

    IPv4スタティックルートの登録

    ipv6 route

    IPv6スタティックルートの登録

  • 表示コマンド

    項目

    説明

    show ip static-routes

    IPv4スタティックルートの表示

    show ipv6 static-routes

    IPv6スタティックルートの表示

    リスト 2.14.4 設定例:デフォルトルートの設定
    ip route default 192.168.0.254
    ip route default Tunnel0.0
    !
    ipv6 route default fe80::1%GigaEthernet0.0
    ipv6 route default Tunnel0.0
    

注釈

  • IPv6 では、ネクストホップアドレスを指定する場合には、通常はリンクローカルアドレスを使用します。

  • リンクローカルアドレスは、ネクストホップルータの設定を確認する他、ping6 コマンドを使用して調査することも可能です。

2.14.4. BGP4

BGP(Border Gateway Protocol)はAS(Autonomous System)間で動作するEGP(Exterior Gateway Protocol)のひとつで、AS間の経路交換を行うためのルーティングプロトコルです。

BGP4ではTCP(ポート:179)を使用し、1対1のBGPセッションを確立し、経路情報の交換を行います。

BGP4では以下のメッセージを使用します。

  • OPENメッセージ

    BGPセッションの確立のために使用します。

  • UPDATEメッセージ

    経路情報の広告に使用します。セッション確立時はすべての経路情報を送信しますが、通常は経路情報の変更があった場合のみ広告を行います。

  • KEEPALIVEメッセージ

    ピアの到達確認のためにピアの間で定期的に交換を行います。KEEPALIVEメッセージまたは、UPDATEメッセージが一定時間到達しない場合ピアへの到達確認が無くなったと判断し、セッションを切断します。

  • NOTIFICATIONメッセージ

    エラー検出をピアに通知するために使用します。

2.14.4.1. ピアの設定

BGP4を動作させるためには、router bgpコマンドによりBGPコンフィグモードへ移行して設定を行います。また、アドレスファミリに対する設定を行う場合には、address-familyコマンドによりBGPアドレスファミリモードへ移行します。

設定は以下のコマンドを使用します。

  • グローバルコンフィグモード

    項目

    説明

    router bgp

    BGPの動作開始

  • BGPコンフィグモード

    項目

    説明

    address-family

    アドレスファミリの設定

    neighbor remote-as

    ピアの設定

    neighbor description

    ピア情報の記述

    neighbor shutdown

    ピアの停止

  • 表示コマンド

    項目

    説明

    show ip bgp

    パス情報の表示

    show ip bgp neighbors

    ピア情報の表示

    show ip bgp summary

    ピア情報の表示

  • クリアコマンド

    項目

    説明

    clear ip bgp

    ピアのリセット

BGPのピアの種類には以下の2種類があります。

  • eBGP(外部ピア)

    異なるAS間での接続をeBGP(external-BGP)と呼びます。 eBGPでは、ピアは直接接続しているネットワークに接続している必要があります。 直接接続していないネットワーク間でeBGPピアを確立する場合は、マルチホップの設定が必要となります。

  • iBGP(内部ピア)

    同一AS内での接続をiBGP(internal-BGP)と呼びます。

iBGPでは、ピアは直接接続している必要はありませんが、スタティックルートなどのIGPを使用し、ピアへ到達できる必要があります。iBGPで学習した経路は、他のiBGPルータへは広告を行いません。このため、同一AS内に複数のiBGPルータが存在する場合、それらのルータはフルメッシュでピアを確立する必要があります。フルメッシュでピアを確立していない場合は、他のルータの経路が広告されないなどの問題が発生します。

設定の際はeBGP, iBGPの指定はありません。ピア指定時に自ASと異なるASを指定した場合はeBGP、同じASを設定した場合はiBGPとして動作します。

../_images/15_routing1.svg

図 2.14.1 ピアの設定とeBGP/iBGPの関係

リスト 2.14.5 設定例:ピアの設定
router bgp 100
  neighbor 10.2.0.3 remote-as 100
  neighbor 10.2.0.3 description Router-A
  neighbor 10.1.0.2 remote-as 200
  neighbor 10.1.0.2 description Router-B
  address-family ipv4 unicast
    redistribute connected

2.14.4.1.1. ルータID

BGPでは、ルータを一意に識別できるようにルータIDを持ちます。ルータIDはインタフェースに割り当てられているIPアドレスのうちのいずれかになります。ルータIDの選択の方法については、付録のルータIDセレクションの節を参照してください。ルータIDを任意の値に設定するには、以下のコマンドを使用します。

  • BGPコンフィグモード

    項目

    説明

    router-id

    ルータIDの設定

2.14.4.1.2. マルチホップの設定

マルチホップ設定を行うことで、直接接続していないネットワーク間でeBGPピアを確立することができます。通常は、直接接続したネットワークに接続するルータとピアを確立しますが、間に非BGPルータが存在する場合などには、直接接続していないルータ間でeBGPピアを確立する必要があります。このような場合は、マルチホップの設定を行います。N個先のルータとeBGPピアを確立する場合は、ebgp-multihopのパラメータをN以上に設定します。

  • BGPコンフィグモード

    項目

    説明

    neighbor ebgp-multihop

    マルチホップの設定

  • 表示コマンド

    項目

    説明

    show ip bgp neighbors

    ピア情報の表示

../_images/15_routing2.svg

図 2.14.2 マルチホップのピアの構成

リスト 2.14.6 設定例:マルチホップのピアの設定
router bgp 100
  neighbor 10.2.0.2 remote-as 200
  neighbor 10.2.0.2 ebgp-multihop 2
  address-family ipv4
    redistribute connected

2.14.4.1.3. ソースアドレスの設定

ピアとの通信に使用するソースアドレスは、TCPパケットを送信するインタフェースを使用します。そのため、運用中にソースアドレスが変更になる場合があります。

ソースアドレスを固定にするために、ソースアドレスとして使用するインタフェースを指定することができます。指定したインタフェースがダウンしている場合は、TCPのセッションを確立することはできません。

  • BGPコンフィグモード

    項目

    説明

    neighbor update-source

    指定ピアに対するソースアドレス指定

    リスト 2.14.7 設定例:ソースアドレス指定の設定
    ソースアドレスとして、GigaEthernet0.0のアドレスを使用
    
    router bgp 100
      neighbor 10.2.0.2 remote-as 200
      neighbor 10.2.0.2 update-source GigaEthernet0.0
      neighbor 10.2.0.2 ebgp-multihop 2
      address-family ipv4
        redistribute connected
    

2.14.4.1.4. ルートリフレクタの設定

iBGPルータ間はフルメッシュで接続する必要があります。そのため、ルータ数が増えるとルータの負荷が高くなります。これを解決するためにルートリフレクタを使用します。

ルートリフレクタを設定することにより、iBGPピアから学習した経路を別のiBGPへ広告できるようになります。これにより、各BGPルータはルートリフレクタを設定したBGPルータ以外とはピアを確立する必要は無くなります。

../_images/15_routing3.svg

図 2.14.3 ルートリフレクタの構成

  • BGPコンフィグモード

    項目

    説明

    neighbor route-reflector-client

    ルートリフレクタクライアントの設定

    cluster-id

    クラスタIDの設定

    リスト 2.14.8 設定例:ルートリフレクタの設定
    10.1.0.2, 10.2.0.3のルータをルートリフレクタのクライアントとして設定
    クラスタIDに1000を設定
    
    router bgp 100
      cluster-id 1000
      neighbor 10.1.0.2 remote-as 100
      neighbor 10.1.0.2 route-reflector-client
      neighbor 10.2.0.3 remote-as 100
      neighbor 10.2.0.3 route-reflector-client
    

2.14.4.1.5. タイマーの設定

BGPで使用するタイマー値をコマンドにより変更することができます。

以下のタイマーの設定を行うことができます。

  • キープアライブタイム:キープアライブの送信間隔

  • ホールドタイム:ピアが切断したと認識する時間

  • 最小広告間隔:学習した経路をピアに広告する最小間隔

  • TCP再接続間隔:BGPセッション切断の状態から再度TCPの接続を開始するまでの間隔

設定を有効にするにはピアのリセットが必要です。

キープアライブタイムを"0"に設定すると、キープアライブメッセージを送信しません。また、キープアライブタイムをホールドタイム以上に設定することはできません。

ホールドタイムは相手ピアとのネゴシエーションの結果、小さい方が採用されます。自ルータで設定したキープアライブタイムがネゴシエーションの結果決定したホールドタイム以上の場合は、キープアライブタイムがネゴシエーションの結果決定したホールドタイムの3分の1に設定されます。

タイマー値はピア毎に設定ができます。ピア毎の設定がない場合は、全ピアに対するタイマー値を使用します。

  • BGPコンフィグモード

    項目

    説明

    timers

    全ピアに対するタイマーの設定

    neighbor timers

    指定ピアに対するタイマーの設定

    neighbor advertisement-interval

    指定ピアに対する最小広告間隔

    neighbor connect-interval

    指定ピアに対するTCP再接続間隔

  • 表示コマンド

    項目

    説明

    show ip bgp neighbors

    ピア情報の表示

    リスト 2.14.9 設定例:タイマーの設定
    全ピアのキープアライブタイムを50秒、ホールドタイムを200秒に設定
    10.1.1.2のピアのキープアライブタイムを70秒、ホールドタイムを280秒に設定
    最小広告間隔を10秒に設定
    
    router bgp 100
      timers 50 200
      neighbor 10.1.1.2 remote-as 200
      neighbor 10.1.1.2 timers 70 280
      neighbor 10.1.1.2 advertisement-interval 10
      address-family ipv4
        redistribute connected
    

2.14.4.1.6. ケイパビリティの設定

BGP4では、セッションを確立する際にサポートしているケイパビリティのネゴシエーションを行い、サポートしているケイパビリティに対応する機能のみを使用します。

ケイパビリティはOPENメッセージに設定されます。これにより、接続開始時にピアルータのケイパビリティを知ることができます。

UNIVERGE IX-R/IX-V シリーズではIPv4 unicast, route-refreshケイパビリティが送信されます。

  • IPv4 unicast:IPv4ユニキャスト広告

  • route-refresh:ルートの再広告要求

2.14.4.2. 経路の制御

2.14.4.2.1. デフォルトルート広告

広告する経路情報にデフォルトルートを含めることができます。

デフォルトルート広告の設定を”always”に設定した場合は、設定を行ったルータ自身のデフォルトルートの有無にかかわらず、常にデフォルトルートを広告します。”always”を設定しない場合は、自ルータがデフォルトルートを持っている場合のみ、デフォルトルートを広告します。また、デフォルトルート広告の設定を行わない場合でも、デフォルトルートを持っているプロトコルの再配信を行うことにより、デフォルトルートを広告することができます。

ピアへデフォルトルートの広告を行わない場合は、該当ピアのデフォルトルートの送信設定を削除してください。

設定はBGPアドレスファミリモードで行います。コマンドは以下のとおりです。

  • BGPアドレスファミリモード

    項目

    説明

    originate-default

    デフォルトルートの広告設定(全ピア)

    neighbor send-default

    デフォルトルートの送信設定

    リスト 2.14.10 設定例1:デフォルトルートがある場合にデフォルトルートを広告
    10.1.1.2へ対してデフォルトルートを広告しない
    
    router bgp 100
      neighbor 10.1.1.2 remote-as 200
      neighbor 10.2.1.2 remote-as 300
      address-family ipv4
        originate-default
        no neighbor 10.1.1.2 send-default
        redistribute connected
        redistribute static
    
    リスト 2.14.11 設定例2:常にデフォルトルートを広告
    router bgp 100
      neighbor 10.1.1.2 remote-as 200
      neighbor 10.2.1.2 remote-as 300
      address-family ipv4
        originate-default always
        redistribute connected
        redistribute static
    

2.14.4.2.2. 経路再配信

スタティックルート等のBGP以外のルーティング情報を再配信することができます。

経路再配信オプションに、ルートマップオプションを利用することにより、再配信経路をさらに詳細に制御することが可能となります。BGPの経路再配信で利用可能なルートマップのマッチ条件とセット条件には以下があります。ルートマップの詳細はルートマップの項を参照してください。

  • BGPアドレスファミリモード

    項目

    説明

    redistribute

    経路再配信の設定

  • グローバルコンフィグモード

    項目

    説明

    route-map

    ルートマップ設定

  • ルートマップコンフィグモード

    項目

    説明

    match ip address prefix-list

    IPv4宛先アドレスを条件とします。

    match interface

    インタフェースを条件とします。

    match ip next-hop prefix-list

    ネクストホップを条件とします。

    match metric

    メトリック値(MED)を条件とします。

    match tag

    タグを条件とします。

    match community

    コミュニティ属性を条件とします。

    set ip next-hop

    IPv4ネクストホップを設定します。

    set metric

    メトリック値(MED)を設定します。

    set as-path prepend

    ASパスにAS番号をプリペンドします。

    set local-preference

    ローカルプリファレンスの値を設定します。

    set origin

    オリジン属性を設定します。

    set community

    コミュニティ属性を設定します。

    リスト 2.14.12 設定例:スタティックの経路の再配信
    スタティックルートの192.168.0.0/24の経路に対しては、ルートマップを用いてメトリックを6に設定
    その他の経路に対しては、メトリックは5を設定
    
    ip prefix-list prf-list1 10 permit 192.168.0.0/24
    ip prefix-list prf-list2 10 permit any
    !
    route-map stat-redist permit 10
      match ip address prefix-list prf-list1
      set metric 6
    !
    route-map stat-redist permit 20
      match ip address prefix-list prf-list2
    !
    router bgp 100
      default-metric 5
      neighbor 10.1.1.2 remote-as 200
      address-family ipv4
        redistribute static route-map stat-redist
    

redistributeはルートマップ設定、プレフィックスリストの設定等の後に行ってください。redistribute設定後に経路制御の設定の変更を行った場合、ピアのリセット(clear ip bgp)が必要です。

2.14.4.2.3. 経路広告

ネットワーク単位で広告する経路を設定することができます。設定した経路は、ルーティングテーブルに存在する場合のみに広告されます。

設定コマンドは以下のとおりです。

  • BGPアドレスファミリモード

    項目

    説明

    network

    広告するネットワークの設定

    リスト 2.14.13 設定例:10.10.0.0/24を広告
    router bgp 100
      neighbor 10.1.1.2 remote-as 200
      address-family ipv4
        network 10.10.0.0/24
    

2.14.4.2.4. 経路の集約

経路の集約には以下の種類があります。

  • 指定したアドレスへの集約

aggregate-addressコマンドをsummary-onlyオプションなしで設定した場合は、指定した集約アドレスと、個々のルートの両方が広告されます。summary-onlyオプションをつけて設定した場合は、指定した集約アドレスのみが広告されます。

as-pathオプションをつけた場合は集約前の経路のAS番号も経路情報の属性に付与されます。

設定コマンドは以下のとおりです。

  • BGPアドレスファミリモード

    項目

    説明

    aggregate-address

    指定アドレスへの集約

../_images/15_routing4.svg

図 2.14.4 経路集約の制御

リスト 2.14.14 設定例:経路集約の設定
router bgp 100
  neighbor 10.1.1.2 remote-as 200
  address-family ipv4
    aggregate-address 10.1.0.0/16
    aggregate-address 192.168.0.0/16 summary-only
    aggregate-address 20.1.0.0/16 summary-only as-set

    redistribute connected

2.14.4.2.5. 経路フィルタ(プレフィックスリスト)

経路フィルタを使用することにより、受信する経路、送信する経路を制御することが可能です。フィルタはピア毎に、受信(in)方向、送信(out)方向それぞれ別に設定が可能です。

../_images/15_routing5.svg

図 2.14.5 プレフィックスリストによる経路フィルタの制御

設定は以下のとおりです。

設定を有効にするには、ピアのリセットが必要です。

  • BGPコンフィグモード

    項目

    説明

    neighbor distribute-list

    経路フィルタの設定

../_images/15_routing6.svg

図 2.14.6 プレフィックスリストによる経路フィルタの構成

リスト 2.14.15 設定例:経路フィルタの設定
10.1.1.2から、10.3.100.0/24の経路は受信しない
10.1.1.2に対し、10.1.10.0/24の経路のみ送信する

ip prefix-list pref-in 10 deny 10.3.100.0/24
ip prefix-list pref-in 20 permit any
ip prefix-list pref-out 10 permit 10.1.10.0/24
!
router bgp 100
  neighbor 10.1.1.2 remote-as 200
  address-family ipv4
    neighbor 10.1.1.2 distribute-list pref-in in
    neighbor 10.1.1.2 distribute-list pref-out out
    redistribute static

2.14.4.2.6. 経路フィルタ(ルートマップ)

ルートマップを使用することにより、受信する経路(in)、または送信する経路(out)に対して、パス属性の変更等をさらに詳細に制御することが可能となります。BGPで利用可能なルートマップのマッチ条件とセット条件には以下があります。ルートマップの詳細はルートマップの項を参照してください。

../_images/15_routing7.svg

図 2.14.7 ルートマップによる経路フィルタの構成

  • BGPアドレスファミリモード

    項目

    説明

    neighbor route-map

    経路フィルタの設定

  • グローバルコンフィグモード

    項目

    説明

    route-map

    ルートマップ設定

  • ルートマップコンフィグモード

    項目

    説明

    match ip address prefix-list

    IPv4宛先アドレスを条件とします。

    match ip next-hop prefix-list

    ネクストホップを条件とします。

    match metric

    メトリック値(MED)を条件とします。

    match community

    コミュニティ属性を条件とします。

    set ip next-hop

    IPv4ネクストホップを設定します。

    set metric

    メトリック値(MED)を設定します。

    set metric-type internal

    メトリックタイプを設定します。

    set as-path prepend

    指定したASパスを付加します。

    set local-preference

    ローカルプリファレンスの値を設定します。

    set origin

    オリジン属性を設定します。

    set community

    コミュニティ属性を設定します。

    リスト 2.14.16 設定例:ルートマップ
    10.1.1.2 に対し、192.168.0.0/24-192.168.255.0/24の経路広告時にMEDを+10、
    他の経路はMEDデフォルト値を広告
    
    ip prefix-list prefix1 10 permit 192.168.0.0/16 max 24
    ip prefix-list any-addr 10 permit any
    !
    route-map bgp1 permit 10
      match ip address prefix-list prefix1
      set metric +10
    !
    route-map bgp1 permit 20
      match ip address prefix-list any-addr
    !
    router bgp 100
      neighbor 10.1.1.2 remote-as 200
      address-family ipv4 unicast
        neighbor 10.1.1.2 route-map bgp1 out
        redistribute connected
    

2.14.4.3. パス属性

パス属性は、経路の特性を表すパラメータの集合です。BGPにおける最適経路の選択には、これらの属性を使用します。パス属性は、UPDATEメッセージの到達可能情報とともにピアに伝播されます。パス属性をうまく使うことにより、経路制御においてそのASのポリシーを反映させるなど、他のASに自分の持つポリシーを伝えることができます。

BGP4では以下の属性があります。

タイプ

属性

サポート

1

ORIGIN

2

AS_PATH

3

NEXT_HOP

4

MED(MULTI-EXIT-DISC)

5

LOCAL_PREFERENCE

6

ATOMIC_AGGREGATE

7

AGGREGATOR

9

ORIGINATOR

10

CLUSTER_LIST

14

MP_REACH_NLRI

×

15

MP_UNREACH_NLRI

×

16

EXT_COMMUNITY

×

ルートマップでサポートしているパス属性については任意の値が設定可能です。

サポート対象外の属性は経路情報受信時に無視され、経路情報広告時に含まれません。

以下に主なパス属性についての動作について説明します。

2.14.4.3.1. オリジン属性

経路情報の出所を表します。次の3つが定義されています。

  • IGP(タイプ0)

    • IGPを通して学習した経路

  • EGP(タイプ1)

    • EGPを通して学習した経路

  • INCOMPLETE(タイプ2)

    • 上記以外の別の手段で学習した経路

経路選択の際は、タイプの番号が低い方が優先されます。

ルートマップを使用することによりEGPを除く任意の値を設定できます。

2.14.4.3.2. ASパス属性

経路情報が通過したパスを表すASを格納します。各ASは経路情報をAS外部へ送信する際に自分のAS番号をリストの先頭へ付け加えます。したがって、ASパス属性には、経路が通過してきたAS番号がすべて含まれています。経路受信時にAS番号を確認することで、ループを防ぐことができます。また、ASパス属性は、最適経路の決定にも使用されます。2つのルートを比較する際にはASパスが短いルートが長いルートより優先されます。

ルートマップを使用することによって任意の値を設定(ASパスプリペンド)できます。

../_images/15_routing8.svg

図 2.14.8 ASパス属性

2.14.4.3.3. ネクストホップ属性

BGPのネクストホップは次のいずれかになります。

  • eBGPでは、経路を広告したピアルータのIPアドレスがネクストホップとなります。

  • iBGPでは、AS内で配信された経路については、経路を広告したピアルータのアドレスがネクストホップとなります。eBGPを通してASに注入された経路については、eBGPから学習したネクストホップがそのままiBGPへ広告されます。

  • 経路再配信でルートマップにネクストホップを設定

  • route-mapコマンドでルートマップにネクストホップを設定

BGPのネクストホップは、IGPのネクストホップとは多少異なり、ネクストホップは複数のネットワークをまたがった先にある場合があります。その場合は、IGPなどの経路情報によってネクストホップへ到達できる必要があります。

iBGPへ経路を広告する場合、iBGPへ広告を行うルータ自身をネクストホップとして設定することが可能です。設定コマンドは以下のとおりです。

  • BGPコンフィグモード

    項目

    説明

    neighbor next-hop-self

    ネクストホップ属性の自アドレス指定

    リスト 2.14.17 設定例:ネクストホップ属性
    iBGPへの経路広告時、ネクストホップに自アドレスを設定
    
    router bgp 100
      neighbor 10.0.0.2 remote-as 100
      address-family ipv4
        neighbor 10.0.0.2 next-hop-self
    

2.14.4.3.4. ローカルプリファレンス属性

ローカルプリファレンスは、AS内での経路の優先度を決定するために使用します。AS内では、ローカルプリファレンスの値が大きい経路が小さい経路より優先されます。ローカルプリファレンスは、eBGPから学習した経路に対して設定を行い、iBGPに広告します。AS内では、同一の評価を行う必要があるので、AS内のすべてBGPルータに対して交換されます。AS内でのみ有効な属性ですので、AS外には送信されません。

ローカルプリファレンスを設定することにより、自AS内のトラフィックを制御することができます。

../_images/15_routing9.svg

図 2.14.9 ローカルプリファレンス属性

route-mapを使用することにより任意の値を設定することができます。

eBGPから受信した経路の場合、経路受信時にデフォルトのローカルプリファレンス値が設定されます。

設定コマンドは以下のとおりです。

設定を有効にするには、ピアのリセットが必要です。

  • BGPコンフィグモード

    項目

    説明

    default-local-preference

    デフォルトローカルプリファレンス設定

  • 表示コマンド

    項目

    説明

    show ip bgp neighbor

    ピアの状態確認

    リスト 2.14.18 設定例:ローカルプリファレンス属性
    デフォルトローカルプリファレンスを50に設定
    
    router bgp 100
      neighbor 10.0.0.2 remote-as 200
      default-local-preference 50
    

2.14.4.3.5. MED属性

MEDは同じASに対して複数のピアが存在する場合に、経路の優先度を決定するために使用します。同じASの別なピアから、優先度が同じ経路を受信した場合、MEDの値が低い経路が高い経路より優先されます。ASが異なるピアから受信した経路に対しては、MEDの比較は行いません。MEDはAS間で交換されますが、受け取ったMEDは別のASには送信しません。別なASに経路を送信する際は、MEDはゼロにクリアされます。iBGPへ送信する場合は、MEDはそのままの値で送信します。

MEDを設定することにより、相手ASから自ASへのトラフィックを制御することができます。

../_images/15_routing10.svg

図 2.14.10 MED属性

MEDは、次の方法によって設定が可能です。

  • 経路再配信のMED指定

  • 経路再配信でルートマップにMEDを設定

  • route-mapコマンドを使用

経路再配信時にMED未設定の場合、またはnetwork設定時はdefault-metricにて設定した値をMEDとして設定します。default-metricが未設定の場合は、注入元の経路のコスト(IGPのコスト)を設定します。また、route-mapコマンド設定時にMED未設定の場合は、0を設定します。

設定を有効にするには、ピアのリセットが必要です。

  • BGPコンフィグモード

    項目

    説明

    default-metric

    デフォルトメトリック設定

    リスト 2.14.19 設定例:MED属性
    スタティックの経路の再配信
    スタティックルートに対してはredistributeコマンドのmetricオプションを用いてメトリックを6に設定
    その他の経路に対してはメトリックを5に設定
    
    router bgp 100
      default-metric 5
      neighbor 10.1.1.2 remote-as 200
      address-family ipv4
        redistribute static metric 6
    

2.14.4.3.6. コミュニティ属性

コミュニティ属性を使用することができます。ルートマップを使用することにより、該当するコミュニティ属性を持つ経路情報の条件指定や、経路情報へコミュニティ属性を設定することができます。

コミュニティ属性は次の方法によって指定可能です。

  • 経路再配信(ルートマップ指定)

  • 経路フィルタ(ルートマップ指定)

コミュニティ属性の条件指定は、以下の指定が可能です。

  • 指定したコミュニティ属性を含む経路情報

  • 指定したコミュニティ属性と完全に一致する経路

    リスト 2.14.20 設定例:コミュニティ属性の条件指定
    コミュニティ属性に0:10と0:20が含まれる場合にMED 5を設定
    コミュニティ属性が0:30と0:40の場合にMED 5を設定
    
    route-map bgp-map permit 10
      match community 0:10 0:20
      set metric 5
    !
    route-map bgp-map permit 10
      match community 0:30 0:40 exact-match
      set metric 5
    

コミュニティ属性の設定は、以下の指定が可能です。

  • コミュニティ属性の上書き

  • コミュニティ属性の追加・削除

    リスト 2.14.21 設定例:コミュニティ属性の設定
    コミュニティ属性に0:10と0:20を上書き
    コミュニティ属性に0:30と0:40を追加、0:20を削除
    
    route-map bgp-map permit 10
      set community 0:10 0:20
    !
    route-map bgp-map permit 10
      set community 0:30 0:40 additive delete 0:20
    

コミュニティ属性は、重複した値がある場合はひとつにまとめます。受信したコミュニティ属性、設定したコミュニティ属性どちらの場合も重複している場合は、ひとつの値として扱います。

Well-knownコミュニティは、次の値に対応しています。

コマンド指定

動作

0xFFFFFF01

no-export

eBGPに広告しない

0xFFFFFF02

no-advertise

いずれのピアにも広告しない

0xFFFFFF03

no-export-subconfed

eBGPに広告しない

2.14.4.4. 最適経路(ベストパス)の決定

BGPでは、同じ宛先の経路情報が複数存在する場合には、パス属性を用いて最適経路の決定を行います。以下の手順で最適経路を決定します。

  1. ネクストホップへ到達できない場合はその経路は使用しない。

  2. ローカルプリファレンスが最も高い経路が優先される。

  3. 自ルータが生成した経路が優先される。

  4. ASパスが最も短い経路が優先される。

  5. オリジン属性のタイプ番号が最も低い経路が優先される。

  6. 隣接する外部ASへの経路が複数存在する場合、MEDの低い経路が優先される。

  7. iBGPの経路よりeBGPの経路が優先される。

  8. 隣接したネクストホップの経路が優先される。

  9. ネクストホップへ最も近い(IGPのコストが低い)経路が優先される。

  10. ルータIDが最も小さいBGPルータからの経路が優先される。

  11. アドレスが最も小さいBGPルータからの経路が優先される(同一装置間で複数BGPセッションを設定した場合)。

最適経路として選択された経路がUPDATEメッセージによって他のピアへ広告されます。

2.14.4.5. イコールコストマルチパスの設定

BGPでは、同じ宛先の経路情報が複数存在する場合に、それらをイコールコストマルチパスとすることができます。

イコールコストマルチパスとすることで、パケット転送によるネットワークへの負荷を複数経路に分散することができます。イコールコストマルチパスのパケット転送動作についての詳細は、イコールコストマルチパスの項を参照してください。

Ver.1.2以降イコールコストマルチパスに対応しています。

BGPのイコールコストマルチパス数と有効設定は以下のコマンドを使用します。

項目

説明

multipath MULTIPATH-COUNT [ ignore-igp-cost ]

BGPイコールコストマルチパス数設定(アドレスファミリモード)

最適経路と同じ宛先の複数の経路が以下の条件を満たす場合に、イコールコストマルチパスとなります。ただし、他装置に広告する経路はイコールコストマルチパス未設定時と同様に最適経路(ベストパス)のみとなります。

  1. ネクストホップへの経路が存在しそのメトリック(IGPコスト)が最適経路と同じ

  2. ローカルプリファレンス属性値が最適経路と同じ

  3. ASパス属性値が最適経路と同じ

  4. オリジン属性値が最適経路と同じ

  5. MED(同一の隣接AS経路の場合)が最適経路と同じ

注釈

  • 上記IGPのコストの条件は、プロトコル種別とそのメトリックの両方が同じであることが条件となります。

  • マルチパス数設定コマンドのオプションにignore-igp-costを指定した場合、IGPのコストの条件は無視されます。

  • マルチパス数設定コマンドした数以上の経路が条件を満たす場合、経路学習元ピアのアドレスが大きい経路を優先してマルチパスとします。

2.14.4.6. NOTIFICATION

ピアが異常を検出した場合は、NOTIFICATIONメッセージを送信し、接続を切断します。NOTIFICATIONメッセージを確認することによって、異常の種類を知ることができます。

  • エラーコード1:メッセージヘッダエラー

    エラーサブコード

    内容

    1

    接続が同期になっていない

    2

    メッセージ長が正しくない

    3

    メッセージタイプが正しくない

  • エラーコード2:OPENメッセージエラー

    エラーサブコード

    内容

    備考

    1

    バージョン番号がサポートされていない

    2

    ピアAS番号が正しくない

    3

    BGP識別子が正しくない

    4

    オプションがサポートされていない

    5

    認証に失敗した

    IX-R/IX-V シリーズでは検出しません

    6

    ホールドタイマーが受け入れられない

    7

    ケイパビリティがサポートされていない

    IX-R/IX-V シリーズでは検出しません

    0

    上記以外のエラー

    不正なオプションサイズ、不正なケーパビリティサイズ

  • エラーコード3:UPDATEメッセージエラー

    エラーサブコード

    内容

    備考

    1

    属性リストが不正

    2

    周知属性が識別できない

    3

    周知属性がない

    IX-R/IX-V シリーズでは検出しません

    4

    属性フラグエラー

    5

    属性長エラー

    6

    オリジン属性が無効

    7

    ASルーティングループ

    IX-R/IX-V シリーズでは検出しません

    8

    ネクストホップ属性が無効

    IX-R/IX-V シリーズでは検出しません

    9

    オプション属性エラー

    IX-R/IX-V シリーズでは検出しません

    10

    ネットワークフィールドが無効

    11

    ASパスが不正

  • エラーコード4:ホールドタイマーの時間切れ

  • エラーコード5:状態遷移の異常

    エラーサブコード

    内容

    1

    OPENSENT状態からの状態遷移が異常

    2

    OPENCONFIRM状態からの状態遷移が異常

    3

    ESTABLISHED状態からの状態遷移が異常

  • エラーコード6:コマンドによる切断要求、上記以外のエラー

主なエラーの対処方法について説明します。

  • エラーコード4

    • 原因:ホールドタイマーの間、ピアが自装置のUPDATEまたはKEEPALIVEのいずれも受信していない場合に発生します。ピアのNOTIFICATIONは受信しているので、自装置からの送信または、ピアのルータでの受信処理または、自装置からピア方向の通信路に異常があると考えられます。

    • 対処方法:ルータ、通信路の確認を行ってください。

2.14.5. ポリシールーティング

注意

UNIVERGE IX-V シリーズをクラウドで利用する場合は、IPv6でのポリシールーティングは利用できません。

UNIVERGE IX-R/IX-V シリーズでは、送信先に基づいた経路選択(スタティックルーティングおよびダイナミックルーティング等)のみではなく、ポリシーに基づくポリシールーティングによる経路選択をサポートしています。ポリシールーティングを使用することにより、ルーティングテーブルによる経路制御に加えて、より細かな経路制御が可能となります。

ポリシールーティングは、ルートマップやアクセスリストとの組み合わせにより、高度な経路制御を行うことができますが、ここでは最も代表的な構成例として、送信元によってトラフィックのルートを決定するソースルーティングを以下に説明します。

ポリシールーティングは、以下の2つの設定から構成されます。

  • ルートマップによるトラフィックのポリシー設定

  • ポリシールーティングを実施するトラフィックへのルートマップの適用

2.14.5.1. ルートマップによるトラフィックのポリシー設定

ルートマップでトラフィックのポリシーを設定することにより、通常のルーティング処理ではできない、高度なルーティング処理をおこなうための条件設定や制御設定をおこなうことができます。

経路制御のポリシーの設定には、route-mapコマンドを使用します。ルートマップの設定は、以下の3つのステップにより構成します。

  • ルートマップの作成

  • トラフィックのマッチ条件設定

  • マッチしたトラフィックの動作設定

ルートマップの設定および確認には次のコマンドを使用します。

  • グローバルコンフィグモード

    項目

    説明

    route-map

    ルートマップ追加/ルートマップコンフィグモード

  • 表示コマンド

    項目

    説明

    show route-map

    ルートマップの状態表示

ポリシールーティングを行うためには、ルートマップを作成しておく必要があります。

リスト 2.14.22 設定例
route-map route1 permit 10

同一ルートマップ名で、シーケンス番号の違う複数のルートマップを作成した場合は、シーケンス番号の小さいルートマップから順次評価され、一番先にマッチしたルートマップが適用されます。

リスト 2.14.23 設定例
route-map route1 permit 10
  match ip address access-list rmap-acc1
!
route-map route1 permit 20
  match ip address access-list rmap-acc2

ポリシールーティングで制御するトラフィックをルートマップにマッチさせます。ポリシールーティングで利用可能であるルートマップのマッチ条件として以下の条件があります。

マッチ条件を設定しない場合は、すべてのパケットが対象となります。

  • ルートマップコンフィグモード

    項目

    説明

    match ip address access-list

    IPv4アクセスリストによるアドレス条件設定

    match ipv6 address access-list

    IPv6アクセスリストによるアドレス条件設定

    リスト 2.14.24 設定例
    ip access-list rmap-acc1 permit ip src 10.10.10.1/32 dest any
    ip access-list rmap-acc2 permit ip src 10.10.10.2/32 dest any
    !
    route-map route1 permit 10
      match ip address access-list rmap-acc1
    !
    route-map route1 permit 20
      match ip address access-list rmap-acc2
    

注釈

ポリシールーティングで用いるルートマップのマッチ条件には、アクセスリストを使用します。アクセスリストについての詳細は、アクセスリストの設定の節を参照ください。

ルートマップにマッチしたトラフィックに対する動作を設定します。ポリシールーティングで利用可能なルートマップの動作条件として以下の条件があります。

動作条件を指定しない場合は、ルーティング情報に従います。

  • ルートマップコンフィグモード

    項目

    説明

    set interface

    送信インタフェース指定

    set default interface

    デフォルト送信インタフェース指定

    set ip/ipv6 next-hop

    IPv4/IPv6 ネクストホップ指定

    set ip/ipv6 default next-hop

    IPv4/IPv6 デフォルトネクストホップ指定

    リスト 2.14.25 設定例
    ip access-list rmap-acc1 permit ip src 10.10.10.1/32 dest any
    ip access-list rmap-acc2 permit ip src 10.10.10.2/32 dest any
    !
    route-map route1 permit 10
      match ip address access-list rmap-acc1
      set ip next-hop 10.10.20.254
    !
    route-map route1 permit 20
      match ip address access-list rmap-acc2
      set ip next-hop 172.16.1.254
    

注釈

送信インタフェース指定/デフォルト送信インタフェース指定はTunnelなどのポイントツーポイントネットワークで用いられます。GigaEthernet等で設定を行った場合、ネクストホップアドレスが解決できないため、パケットのフォワーディングができなくなります。

2.14.5.2. ルートマップの適用

ルートマップを適用するトラフィックに割り当てることによって、ポリシールーティングを行います。適用できるトラフィックの種類には、以下の2つがあります。

  • 受信パケットに対するポリシールーティング

    受信パケットに対してポリシールーティングを行うには、受信インタフェースのインタフェースコンフィグモードにおいて、ルートマップを適用します。

    リスト 2.14.26 設定例
    interface GigaEthernet0.0
      ip policy route-map v4route1
    
  • ローカルパケットに対するポリシールーティング

    ping等ルータにて生成されたパケットに対してポリシールーティングを行うには、グローバルコンフィグモードにて、ルートマップを適用します。

    リスト 2.14.27 設定例
    ip local policy route-map localv4route1
    

注釈

ただし、IPsec等のトンネルでカプセル化後のパケットはルータにて生成されたパケットとして扱われますが、ローカルパケットに対するポリシールーティングの適用はできません。送信先をトンネルインタフェースとするために、IPsec等のカプセル化する前のパケットに対するポリシールーティングの適用は可能です。

2.14.5.3. ポリシールーティング設定時の経路選択の優先順位

ポリシールーティングと、通常のルーティング(スタティックルーティングおよびダイナミックルーティング等)を同時に設定した場合の経路選択優先順位を示します。

ルーティングの優先度

優先度

set interface(インタフェースがリンクアップしていれば適用)

↑高

set ip/ipv6 next-hop(ネクストホップへの経路が存在すれば適用)

通常のルーティング処理

set default interface(経路が存在しない場合に適用)

set ip/ipv6 default next-hop(経路が存在しない場合に適用)

↓低

2.14.5.4. ポリシールーティングの構成例

ポリシールーティングに使用するアクセスリストに、送信元アドレスを指定することにより、特定の送信元からのパケットを通常のルーティングに従わずルーティングさせることができます。

../_images/15_routing11.svg

図 2.14.11 ポリシールーティングの構成

リスト 2.14.28 設定例
10.10.10.1の端末からのパケットは10.10.20.254へ転送
10.10.10.2の端末からのパケットは172.16.1.254へ転送
その他は通常のルーティングに従う
(ルーティングの設定例は省略します)

ip access-list rmap-acc1 permit ip src 10.10.10.1/32 dest any
ip access-list rmap-acc2 permit ip src 10.10.10.2/32 dest any
!
route-map route1 permit 10
  match ip address access-list rmap-acc1
  set ip next-hop 10.10.20.254
!
route-map route1 permit 20
  match ip address access-list rmap-acc2
  set ip next-hop 172.16.1.254
!
interface GigaEthernet0.0
  ip address 10.10.10.254/24
  ip policy route-map route1
  no shutdown
!
interface GigaEthernet1.0
  ip address 10.10.20.1/24
  no shutdown
!
interface GigaEthernet2.0
  ip address 172.16.1.1/24
  no shutdown