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
ディスタンス変更時のルーティングテーブル削除
ip route default 192.168.0.254 distance 240
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
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
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
ロードバランシングの設定は以下のコマンドを使用します。
コマンド
説明
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)が同じスタティックルートを複数設定することによりイコールコストマルチパスとなります。
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スタティックルートの表示
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として動作します。
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
ピア情報の表示
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
指定ピアに対するソースアドレス指定
ソースアドレスとして、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ルータ以外とはピアを確立する必要は無くなります。
BGPコンフィグモード
項目
説明
neighbor route-reflector-client
ルートリフレクタクライアントの設定
cluster-id
クラスタIDの設定
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
ピア情報の表示
全ピアのキープアライブタイムを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
デフォルトルートの送信設定
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
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
コミュニティ属性を設定します。
スタティックルートの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
広告するネットワークの設定
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
指定アドレスへの集約
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)方向それぞれ別に設定が可能です。
設定は以下のとおりです。
設定を有効にするには、ピアのリセットが必要です。
BGPコンフィグモード
項目
説明
neighbor distribute-list
経路フィルタの設定
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で利用可能なルートマップのマッチ条件とセット条件には以下があります。ルートマップの詳細はルートマップの項を参照してください。
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
コミュニティ属性を設定します。
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パスプリペンド)できます。
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
ネクストホップ属性の自アドレス指定
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内のトラフィックを制御することができます。
route-mapを使用することにより任意の値を設定することができます。
eBGPから受信した経路の場合、経路受信時にデフォルトのローカルプリファレンス値が設定されます。
設定コマンドは以下のとおりです。
設定を有効にするには、ピアのリセットが必要です。
BGPコンフィグモード
項目
説明
default-local-preference
デフォルトローカルプリファレンス設定
表示コマンド
項目
説明
show ip bgp neighbor
ピアの状態確認
デフォルトローカルプリファレンスを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へのトラフィックを制御することができます。
MEDは、次の方法によって設定が可能です。
経路再配信のMED指定
経路再配信でルートマップにMEDを設定
route-mapコマンドを使用
経路再配信時にMED未設定の場合、またはnetwork設定時はdefault-metricにて設定した値をMEDとして設定します。default-metricが未設定の場合は、注入元の経路のコスト(IGPのコスト)を設定します。また、route-mapコマンド設定時にMED未設定の場合は、0を設定します。
設定を有効にするには、ピアのリセットが必要です。
BGPコンフィグモード
項目
説明
default-metric
デフォルトメトリック設定
スタティックの経路の再配信 スタティックルートに対しては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. コミュニティ属性
コミュニティ属性を使用することができます。ルートマップを使用することにより、該当するコミュニティ属性を持つ経路情報の条件指定や、経路情報へコミュニティ属性を設定することができます。
コミュニティ属性は次の方法によって指定可能です。
経路再配信(ルートマップ指定)
経路フィルタ(ルートマップ指定)
コミュニティ属性の条件指定は、以下の指定が可能です。
指定したコミュニティ属性を含む経路情報
指定したコミュニティ属性と完全に一致する経路
コミュニティ属性に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
コミュニティ属性の設定は、以下の指定が可能です。
コミュニティ属性の上書き
コミュニティ属性の追加・削除
コミュニティ属性に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では、同じ宛先の経路情報が複数存在する場合には、パス属性を用いて最適経路の決定を行います。以下の手順で最適経路を決定します。
ネクストホップへ到達できない場合はその経路は使用しない。
ローカルプリファレンスが最も高い経路が優先される。
自ルータが生成した経路が優先される。
ASパスが最も短い経路が優先される。
オリジン属性のタイプ番号が最も低い経路が優先される。
隣接する外部ASへの経路が複数存在する場合、MEDの低い経路が優先される。
iBGPの経路よりeBGPの経路が優先される。
隣接したネクストホップの経路が優先される。
ネクストホップへ最も近い(IGPのコストが低い)経路が優先される。
ルータIDが最も小さいBGPルータからの経路が優先される。
アドレスが最も小さいBGPルータからの経路が優先される(同一装置間で複数BGPセッションを設定した場合)。
最適経路として選択された経路がUPDATEメッセージによって他のピアへ広告されます。
2.14.4.5. イコールコストマルチパスの設定
BGPでは、同じ宛先の経路情報が複数存在する場合に、それらをイコールコストマルチパスとすることができます。
イコールコストマルチパスとすることで、パケット転送によるネットワークへの負荷を複数経路に分散することができます。イコールコストマルチパスのパケット転送動作についての詳細は、イコールコストマルチパスの項を参照してください。
Ver.1.2以降イコールコストマルチパスに対応しています。
BGPのイコールコストマルチパス数と有効設定は以下のコマンドを使用します。
項目
説明
multipath MULTIPATH-COUNT [ ignore-igp-cost ]
BGPイコールコストマルチパス数設定(アドレスファミリモード)
最適経路と同じ宛先の複数の経路が以下の条件を満たす場合に、イコールコストマルチパスとなります。ただし、他装置に広告する経路はイコールコストマルチパス未設定時と同様に最適経路(ベストパス)のみとなります。
ネクストホップへの経路が存在しそのメトリック(IGPコスト)が最適経路と同じ
ローカルプリファレンス属性値が最適経路と同じ
ASパス属性値が最適経路と同じ
オリジン属性値が最適経路と同じ
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
ルートマップの状態表示
ポリシールーティングを行うためには、ルートマップを作成しておく必要があります。
route-map route1 permit 10
同一ルートマップ名で、シーケンス番号の違う複数のルートマップを作成した場合は、シーケンス番号の小さいルートマップから順次評価され、一番先にマッチしたルートマップが適用されます。
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アクセスリストによるアドレス条件設定
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 デフォルトネクストホップ指定
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つがあります。
受信パケットに対するポリシールーティング
受信パケットに対してポリシールーティングを行うには、受信インタフェースのインタフェースコンフィグモードにおいて、ルートマップを適用します。
interface GigaEthernet0.0 ip policy route-map v4route1
ローカルパケットに対するポリシールーティング
ping等ルータにて生成されたパケットに対してポリシールーティングを行うには、グローバルコンフィグモードにて、ルートマップを適用します。
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. ポリシールーティングの構成例
ポリシールーティングに使用するアクセスリストに、送信元アドレスを指定することにより、特定の送信元からのパケットを通常のルーティングに従わずルーティングさせることができます。
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