DynagenでCCIEを目指す
INE Workbook Volume I IP Routing
最終更新:
it_certification
-
view
- 進捗確認
- 誤植
- まとめ
- 3.2 Routing to NBMA Interfaces
- 3.5 Backup Interface
- 3.6 Reliable Static Routing with Enhanced Object Tracking
- 3.8 Reliable Policy Routing
- 3.11 GRE Tunneling and Recursive Routing
- 3.12 Reliable Backup Interface with GRE
- 3.13 On-Demand Routing (ODR)
- 3.14 OER Components Setup
- 3.15. OER Profile Phase
- 3.16. OER Mesure Phase
- 3.17. OER Apply Policy Phase
- 3.18. OER Control & Verify Phase
進捗確認
正答率 チェック
2週目 | 3週目 | 4週目 | 5週目 | |
---|---|---|---|---|
3.1. Routing to Multipoint Broadcast Interfaces | 省略 | |||
3.2. Routing to NBMA Interfaces | 省略 | |||
3.3. Longest Match Routing | 省略 | |||
3.4. Floating Static Routes | 省略 | |||
3.5. Backup Interface | ||||
3.6. Reliable Static Routing with Enhanced Object Tracking | ||||
3.7. Policy Routing | ||||
3.8. Reliable Policy Routing | x | |||
3.9. Local Policy Routing | ||||
3.10. GRE Tunneling | ||||
3.11. GRE Tunneling and Recursive Routing | ||||
3.12. Reliable Backup Interface with GRE | ||||
3.13. On-Demand Routing (ODR) | x | |||
3.14. OER Components Setup | ||||
3.15. OER Profile Phase | x | |||
3.16. OER Measure Phase | ||||
3.17. OER Apply Policy Phase | x | |||
3.18. OER Control & Verify Phase | ||||
正答率 | 94% | 78% |
所感
2週目 2011/06/04
- 3.8. ----"?"で候補を表示さてると似たような設定が多数あり、何を投入すべきか分かりませんでした。ある程度の暗記は必要であると思います。
- 3.8 "set ip next-hop", "set ip default next-hop"の違いを理解すれば、暗記せずとも自然と答えを導き出せる事が、後日、分かりました。
3週目 2011/10/18
- 2.13 久しぶりなので忘れていました。ポイントはハブ側のみODRプロセスを有効にする事とCDPを有効にする事です。
- 2.15 久しぶりなので忘れていました。
- 2.17 久しぶりなので忘れていました。
誤植
3.17 OER Apply Policy Phase
INE模範解答を大幅に変更する必要があります。詳細は"まとめ"を参照下さい。
まとめ
3.2 Routing to NBMA Interfaces
static routeを定義してもIPアドレスに対するDLCIが解決できない場合は疎通不能となってしまいます。
以下の通り、必要に応じてIPアドレスとDLCIのマッピングを定義しなければなりません。
以下の通り、必要に応じてIPアドレスとDLCIのマッピングを定義しなければなりません。
interface Serial0/0/0 frame-relay map ip 150.X.2.2 502 ! ip route 150.X.2.0 255.255.255.0 Serial0/0/0
3.5 Backup Interface
以下の設定でBackup Interfaceを定義できます。また、主系ダウン時に主系から待機系に切り替わる時間activate_timeと、主系復旧時に待機系から主系へ切り替わる時間deactivate_timeを定義する事ができます。
interface active_int backup interface standby_int backup delay activate_time deactivate_time
3.6 Reliable Static Routing with Enhanced Object Tracking
IOSのバージョンによりSLA設定のコマンドライン体系が若干異なる事に注意して下さい
- IOS 12.4
Router(config)# ip sla num
- IOS 12.4(T)
Router(config)# ip sla monitor num
3.8 Reliable Policy Routing
以下の要領で、next-hop到達性をCDPで確認したPolicy Based Routingが可能です。
route-map map_name set ip next-hop active_addr set ip next-hop verify-availability set ip default next-hop standby_addr
以下の要領で、next-hop到達性をObject Trackingで確認したPolicy Based Routingが可能です。
route-map map_name set ip next-hop verify-availability active_addr seq track num set ip default next-hop standby_addr
上記で使用したコマンドの意味についてまとめると以下の通りです。
command | description |
set ip next-hop | 指定したnext-hopへ転送します |
set ip default next-hop | next-hopが存在しない場合の転送先を定義します。具体的には、set ip next-hopが設定されていない場合、set ip next-hopがCDPやTrack Objectで無効と判断された場合、ルーティングテーブルにnext-hopが存在しない場合に使用される転送先です。 |
set ip next-hop verify-availability | set ip next-hopによる転送先が転送可能かどうかをCDPにより監視します。 |
set ip default next-hop verify-availability | set ip default next-hopによる転送先が転送可能かどうかをCDPにより監視します。 |
set ip next-hop verify-availability addr seq track num | next-hopへ到達可能かTrack Objectにより監視します。 |
3.11 GRE Tunneling and Recursive Routing
tunnel sourceとなるI/F(Loopback0など)をtunnel経由でadvertiseすると、recursive routing errorが発生し、tunnelがup/downを繰り返す現象が発生します。この現象を回避するためには、tunnel sourceをtunnel経由でadvertiseしないようdistribute-listを定義します。
答えを丸暗記しても試験合格は厳しそうなので、recursive routing errorの原理を理解するための動作確認を行います。以下の通り、distribute-listを定義しないでRIPによるルーティングのみの設定を投入します。
SW3: router rip network 10.0.0.0 SW4: router rip network 10.0.0.0
この設定を投入すると、tunnel0がup/downを繰り返します。このup/downの原因を確認するために、tunnelがupした直後のルーティングテーブルを確認します。
Rack17SW4#show ip route 10.0.0.0/24 is subnetted, 1 subnets C 10.34.0.0 is directly connected, Tunnel34 150.17.0.0/24 is subnetted, 10 subnets R 150.17.9.0 [120/1] via 10.34.0.9, 00:00:08, Tunnel34 R 150.17.8.0 [120/1] via 155.17.108.8, 00:00:10, Port-channel1 Rack17SW4# Rack17SW4# Rack17SW4# *Mar 1 02:28:23.755: %TUN-5-RECURDOWN: Tunnel34 temporarily disabled due to recursive routing *Mar 1 02:28:24.755: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel34, changed state to down *Mar 1 02:28:24.763: Assert failure in ../src-vegas/vur_drv.c line 2439 Rack17SW4#
赤字に着目すると、以下の参照が発生している事が読み取れます。
- 150.17.9.0/24のnext-hopは10.34.0.9です。10.34.0.9はtunnel34の宛先ですので、ルータはtunnel34のdestinationを参照する必要があります。
- ルータは、tunnel34のdestinationである150.17.9.9を探すため、ルーティングテーブル上のエントリ150.17.9.0/24を参照します。このように参照の再帰("永久ループ"と言った方が的を射た言葉のような気がします)が発生してしまい、recursive routing errorが生じます。
3.12 Reliable Backup Interface with GRE
keepaliveを有効にしたGRE tunnelとBackup Interfaceを併用するテクニックについての出題です。
ルータ間にスイッチが存在する場合やframe-relay環境では、対向のダウンを検出できず"3.5. Backup Interface"と同じ要領の設定では充分な切り替わり機能を提供する事ができません。以下の要領で切り替わり機能を提供したBackup Interfaceを設定する事ができます。
ルータ間にスイッチが存在する場合やframe-relay環境では、対向のダウンを検出できず"3.5. Backup Interface"と同じ要領の設定では充分な切り替わり機能を提供する事ができません。以下の要領で切り替わり機能を提供したBackup Interfaceを設定する事ができます。
interface tunnel num backup interface backup_int keepalive frequency retry
3.13 On-Demand Routing (ODR)
ODRはCDPを拡張したDynamic Routingの手法です。
この機能を使うには、CDPを有効にする必要があります。multipoint frame-relay I/FではデフォルトでCDPが無効化されているので、以下のコマンドによりCDPを有効化する必要があります。
この機能を使うには、CDPを有効にする必要があります。multipoint frame-relay I/FではデフォルトでCDPが無効化されているので、以下のコマンドによりCDPを有効化する必要があります。
interface Serial 0/0 cdp enable
HubルータでODRプロセスを起動させます。(Spokeで起動させると想定外の挙動をします)
router odr
3.14 OER Components Setup
OER 概要
OER(Optimaze Edge Routing)とは、アプリケーション毎にパフォーマンス(throuput, jitterなど)を測定し、自動的に最適なルーティングを定義する機能です。本機能を使用するためには、以下の5つのphaseを実行する必要があります。
- OER Components Setup : 基本設定
- OER Profile Phase : トラフィック分類の定義
- OER Mesure Phase : トラフィック測定方法の定義
- OER Apply Policy Phase : 上記設定の適用
- OER Control & Verify Phase : OERに基づいたルーティングの実施
OER 基本設定
OERの基本設定を行います。OERには以下2つの機能が存在します。
- border router: パフォーマンスを測定し、masterに測定結果を送ります。
- master controller : borderから受信した測定結果を分析し、ルートを決定します。
border側の設定例は以下の通りです。
oer border
local interface
master master_addr key-chain chan
master側の設定例は以下の通りです。各borderのI/FがBGP domainの内側を向いているか外側を向いているかを設定する必要があります。また、borderを監視する間隔やログ出力するかどうかも設定する事ができます。
(border側に設定した送信元I/Fとmaster側に設定するborder_addrは一致される必要があります)
(border側に設定した送信元I/Fとmaster側に設定するborder_addrは一致される必要があります)
oer master
keepalive sec
logging
!
border border_addr key-chain chain
interface internal_if internal
interface external_if external
設定確認
INE模範解答通りの設定を投入します。
その後、以下の要領でmasterの設定を確認します。borderと疎通が可能である場合は、Status欄がACTIVEと表記されます。
その後、以下の要領でmasterの設定を確認します。borderと疎通が可能である場合は、Status欄がACTIVEと表記されます。
Rack6R5#show oer master OER state: ENABLED and ACTIVE Conn Status: SUCCESS, PORT: 3949 Version: 2.2 Number of Border routers: 3 Number of Exits: 4 Number of monitored prefixes: 0 (max 5000) Max prefixes: total 5000 learn 2500 Prefix count: total 0, learn 0, cfg 0 PBR Requirements met Nbar Status: Inactive Border Status UP/DOWN AuthFail Version 150.6.3.3 ACTIVE UP 00:12:02 0 1.0 150.6.5.5 ACTIVE UP 00:15:25 0 2.2 150.6.2.2 ACTIVE UP 00:17:35 0 1.0 Global Settings: max-range-utilization percent 20 recv 0 mode route metric bgp local-pref 5000 mode route metric static tag 5000 trace probe delay 1000 logging exit holddown time 60 secs, time remaining 0 Default Policy Settings: backoff 300 3000 300 delay relative 50 holddown 300 periodic 0 probe frequency 56 number of jitter probe packets 100 mode route observe mode monitor both mode select-exit good loss relative 10 jitter threshold 20 mos threshold 3.60 percent 30 unreachable relative 50 resolve delay priority 11 variance 20 resolve range priority 12 variance 0 resolve utilization priority 13 variance 20 Learn Settings: current state : DISABLED time remaining in current state : 0 seconds no throughput no delay no inside bgp no protocol monitor-period 5 periodic-interval 120 aggregation-type prefix-length 24 prefixes 100 expire after time 720 Rack6R5#
以下のコマンドでborderの設定について確認できます。R2, R3, R5について、internal, externalのI/Fが設問通りに設定されている事を確認します。
Rack6R2#show oer border OER BR 150.6.2.2 ACTIVE, MC 150.6.5.5 UP/DOWN: UP 00:18:27, Auth Failures: 0 Conn Status: SUCCESS, PORT: 3949 Exits Fa0/0 EXTERNAL Se0/0.1 INTERNAL Se0/1 INTERNAL Rack6R2#
3.15. OER Profile Phase
Learning Prefix Traffic Classes
master側にパフォーマンス測定に用いる項目を定義します。
Router(config-oer-mc)# learn Router(config-oer-mc-learn)# [ throuput | delay | jitter ]
パフォーマンス測定する時間monitor-priodと測定後の休憩時間priodic-intervalを定義する事ができます。
Router(config-orm-mc)# learn Router(config-oer-mc-learn)# monitor-period min Router(config-oer-mc-learn)# periodic-interval min
Learning Application Traffic Class
測定するプロトコルを指定します。Lab試験合格のためには、ICMPがprotocol number 1である事を暗記しておいた方が良さそうです。
Router(config-oer-mc)# learn Router(config-oer-mc-learn)# protocol protocolo_number Router(config-oer-mc-learn)# protocol [{ tcp | udp }] [{ port num | gt num | lt num | range lowwer-num upper-num }] [{ dst | src }]
Configuration Prefix Traffic Classes
測定結果をIPアドレス毎にどのようにまとめるかを定義します。以下3つの設定から選択する事ができます
集計方法 | 説明 |
---|---|
bgp | BGPテーブルに基づいて集計します |
non-bgp | static routeに基づいて集計します |
prefix-length len | 指定したプレフィックス長で集計します |
設定方法は以下の通りです。設定省略時は、24bitのプレフィックスで集計されます。
Router(config-orm-mc)# learn
Router(config-oer-mc-learn)# aggregation-type [{ bgp | non-bgp | prefix-length len }]
OER MAP
個別設定を行いたい場合は、oer-mapを定義します。設定例は以下の通りです。
oer-map map-name seq
match ip address [{ acl | prefix-list prefix }]
!
oer master
policy-rules map-name
aggregation-type bgp
設定確認
模範解答通りの設定を投入します。
その後、INEに記載がある通りのテスト用のトラフィックを流します。
その後、INEに記載がある通りのテスト用のトラフィックを流します。
R1: ip sla monitor type echo protocol ipIcmpEcho 150.6.8.8 source-interface Loopback0 timeout 100 frequency 1 ! ip sla monitor schedule 1 start-time now life forever R4: ip http client source-interface Loopback0 Rack6R4# copy http://cisco:cisco@150.6.8.8/c3560-advipservicesk9-mz.122-46.SE.bin null: R6: ip sla 2 udp-jitter 150.6.8.8 16384 source-ip 150.6.6.6 ! ip sla schedule 2 start-time now life forever SW2: ip http server ip http path flash: ip sla responder
テスト用のICMP, TCP80, UDP16384が実際に流された事によって、各Traffic Classesが学習された事を確認します。
R1: Rack6R5#show oer master prefix learned OER Prefix Statistics: Pas - Passive, Act - Active, S - Short term, L - Long term, Dly - Delay (ms), P - Percentage below threshold, Jit - Jitter (ms), MOS - Mean Opinion Score Los - Packet Loss (packets-per-million), Un - Unreachable (flows-per-million), E - Egress, I - Ingress, Bw - Bandwidth (kbps), N - Not applicable U - unknown, * - uncontrolled, + - control more specific, @ - active probe all # - Prefix monitor mode is Special, & - Blackholed Prefix % - Force Next-Hop, ^ - Prefix is denied Prefix State Time Curr BR CurrI/F Protocol PasSDly PasLDly PasSUn PasLUn PasSLos PasLLos ActSDly ActLDly ActSUn ActLUn EBw IBw ActSJit ActPMOS ActSLos ActLLos -------------------------------------------------------------------------------- 150.6.1.0/24 DEFAULT* @49 150.6.5.5 Se0/1/0 U U U 0 0 0 0 84 84 0 0 1 1 N N 150.6.4.0/24 DEFAULT* @49 150.6.5.5 Se0/1/0 U U U 0 0 0 0 85 85 0 0 104 9 N N 150.6.6.0/24 DEFAULT* @49 150.6.5.5 Se0/1/0 U U U 0 0 0 0 84 84 0 0 1 1 N N Rack6R5#
3.16. OER Mesure Phase
Policy Decision Point (PDP)
上記で定義したPrefix Traffic Classesは以下5つの状態を遷移します。設定を投入するだけならば必要ない知識ですが、OERの動きを理解するためには必須の概念になります。
状態 | 説明 |
---|---|
Default | OERで管理されていない状態です。 |
Choose Exit | 各クラスに対するexit point(BGP domainの出口, Border Routerのexternal interface)が決定され、exit pointにトラフィックが転送されている状態です。 |
Hold-down | Master ControllerがBorderに対して、Active Probeによるモニタリングを要求している状態です。 |
In-Policy | 各Policyに基づきmetricを比較している状態です。 |
Out-Of-Policy (OOP) | policyに合致するexit pointが存在しない状態です。 |
モニタリング方法の選択
Master Controllerは以下の3つのモニタリング方法を選択する事ができます。
モニタリング方法 | 説明 |
---|---|
passive monitoring | 実際のトラフィックに基づきmetricを測定します。 |
active monitoring | IP SLA機能によるトラフィックを発生させ(以下 Active Probe)、metricを測定します |
combined monitoring | 上記の方法を併用します。( デフォルト ) |
設定方法は以下の通りです。
Router(config-orm-mc)# mode monitor [{ active | passive | both }]
Creating Active Probe
以下の要領でactive probeを作成します。oer masterに対してグローバルに定義する事もできますし、oer-mapに対して個別設定をする事も可能です。
oer master
active-probe echo address
active-probe tcp-conn address target-port port
active-probe udp-echo address target-port port
load-interval の変更
Cisco機は、各I/Fの帯域使用率(以下、loadと表記します)を一定間隔で集計しています。集計されたloadは、以下の要領で確認できます。
Rack17R5#show interfaces Serial 0/1/0 Serial0/1/0 is up, line protocol is up Hardware is GT96K Serial Internet address is 155.17.45.5/24 MTU 1500 bytes, BW 128 Kbit/sec, DLY 20000 usec, reliability 255/255, txload 153/255, rxload 31/255 Encapsulation HDLC, loopback not set
loadはデフォルトで5分間隔で集計されますが、最小で30秒まで集計間隔を短くする事ができます。後述のOER Apply Policy Phaseはloadに応じてOOPを発生させる事ができますので、OER Apply Policy Phaseの前準備としてloadの集計間隔をチューニングしておきましょう。
loadの集計間隔を変更するコマンドは以下の通りです。
loadの集計間隔を変更するコマンドは以下の通りです。
Router(config-if)# load-interval sec
設定確認
模範解答通りの設定を投入します。
その後、INEの検証方法と異なりますが、"3.15. OER Profile Phase"と同様のテストトラフィックを流します。
その後、INEの検証方法と異なりますが、"3.15. OER Profile Phase"と同様のテストトラフィックを流します。
R1: ip sla monitor type echo protocol ipIcmpEcho 150.6.8.8 source-interface Loopback0 timeout 100 frequency 1 ! ip sla monitor schedule 1 start-time now life forever R4: ip http client source-interface Loopback0 Rack6R4# copy http://cisco:cisco@150.6.8.8/c3560-advipservicesk9-mz.122-46.SE.bin null: R6: ip sla 2 udp-jitter 150.6.8.8 16384 source-ip 150.6.6.6 ! ip sla schedule 2 start-time now life forever SW2: ip http server ip http path flash: ip sla responder
passive modeで学習されたトラフィックを確認します。show oer border passive prefixesで学習対象一覧を出力し、show oer border passive cache prefixで実際に学習した一覧を出力します。
Rack6R3#show oer border passive prefixes OER Passive monitored prefixes: + - monitor more specific 112.0.0.0/24 150.6.1.0/24 150.6.4.0/24 150.6.6.0/24 Rack6R3# Rack6R3# Rack6R3#show oer border passive cache prefix OER Passive Prefix Cache, State: enabled, 278544 bytes 2 active, 4094 inactive, 51 added 1060 ager polls, 0 flow alloc failures Active flows timeout in 1 minutes Inactive flows timeout in 15 seconds IP Sub Flow Cache, 21640 bytes 4 active, 1020 inactive, 102 added, 51 added to flow 0 alloc failures, 0 force free 1 chunk, 1 chunk added Prefix NextHop Src If Dst If Flows Pkts B/Pk Active sDly #Dly PktLos #UnRch ------------------------------------------------------------------------ 150.6.6.0/24 0.0.0.0 Se1/2 Se1/0.1 2 11 61 15.0 0 0 0 0 150.6.1.0/24 0.0.0.0 Se1/2 Se1/0.1 1 677 98 0.0 0 0 0 0 Rack6R3# Rack6R5#show oer border passive cache prefix OER Passive Prefix Cache, State: enabled, 278544 bytes 4 active, 4092 inactive, 111 added 2613 ager polls, 0 flow alloc failures Active flows timeout in 1 minutes Inactive flows timeout in 15 seconds IP Sub Flow Cache, 34056 bytes 12 active, 1012 inactive, 333 added, 111 added to flow 0 alloc failures, 0 force free 1 chunk, 1 chunk added 0 flows not aggregated due to main subcache starvation Prefix NextHop Src If Dst If Flows Pkts B/Pk Active sDly #Dly PktLos #UnRch ------------------------------------------------------------------------ 150.6.1.0/24 155.6.45.4 Fa0/0 Se0/1/0 1 30 64 0.5 0 0 0 0 150.6.4.0/24 0.0.0.0 Se0/1/0 Fa0/0 1 1610 40 0.5 0 0 0 0 150.6.4.0/24 0.0.0.0 Se0/1/0 Se0/0/0 2 2 64 45.0 0 0 0 0 150.6.6.0/24 155.6.45.4 Fa0/0 Se0/1/0 2 11 57 16.0 0 0 0 0 Rack6R5#
active modeで学習したトラフィックを確認します。
Rack17R5#show oer master active-probes OER Master Controller active-probes Border = Border Router running this Probe State = Un/Assigned to a Prefix Prefix = Probe is assigned to this Prefix Type = Probe Type Target = Target Address TPort = Target Port How = Was the probe Learned or Configured N - Not applicable The following Probes exist: State Prefix Type Target TPort How Codec Assigned 150.17.1.0/24 tcp-conn 150.17.1.1 23 Cfgd N Assigned 150.17.4.0/24 echo 150.17.4.4 N Lrnd N Assigned 150.17.1.0/24 echo 150.17.1.1 N Lrnd N Assigned 150.17.4.0/24 tcp-conn 150.17.4.4 23 Cfgd N Unassigned tcp-conn 150.17.6.6 23 Cfgd N The following Probes are running: Border State Prefix Type Target TPort 150.17.3.3 ACTIVE 150.17.4.0/24 tcp-conn 150.17.4.4 23 150.17.3.3 ACTIVE 150.17.4.0/24 tcp-conn 150.17.4.4 23 150.17.5.5 ACTIVE 150.17.4.0/24 tcp-conn 150.17.4.4 23 150.17.3.3 ACTIVE 150.17.1.0/24 tcp-conn 150.17.1.1 23 150.17.3.3 ACTIVE 150.17.1.0/24 tcp-conn 150.17.1.1 23 150.17.5.5 ACTIVE 150.17.1.0/24 tcp-conn 150.17.1.1 23 Rack17R5#
3.17. OER Apply Policy Phase
Traffic Class Performance
OERは各Traffic Classに対して、パフォーマンス(reachability, delay, loss)を測定し、Policyとして許容するかどうかを定義する事ができます。定義する方法は、絶対値を指定するthresholdキーワードと、相対値を指定するrelativeキーワードがあります。
relativeキーワードを指定した場合は、60分間の集計結果であるlong-term-percentageと5分間の集計結果であるshort-term-percentageを用いて、短期間の相対的な上昇率であるrelative-averageを算出します。
relativeキーワードを指定した場合は、60分間の集計結果であるlong-term-percentageと5分間の集計結果であるshort-term-percentageを用いて、短期間の相対的な上昇率であるrelative-averageを算出します。
relative-average = ( short-term-percentage - long-term-percentage ) / long-term-percentage * 100
Policyとして許容するかどうかの設定コマンドは以下の通りです。oer masterに対してグローバルに定義する事もできますし、oer-mapに対して個別設定をする事も可能です。
oer master
reachability [{ relative relative-average | threshold absolute-maximum }]
delay [{ relative relative-average | threshold absolute-maximum }]
loss [{ relative relative-average | threshold absolute-maximum }]
OER Link Policy
exit pointのloadを監視し、帯域の過負荷を検知した場合はOOPを発生させ、exit pointを選び直す挙動をさせる事ができます。
exit pointに偏りがないかを定義するコマンドはmax-range-utilizationで、各exit pointの閾値を定義するコマンドはmax-xmit-utilizationです。具体的な設定方法は以下の通りです。
exit pointに偏りがないかを定義するコマンドはmax-range-utilizationで、各exit pointの閾値を定義するコマンドはmax-xmit-utilizationです。具体的な設定方法は以下の通りです。
oer master
max-range-utilization percent num
!
border border_addr key-chain chain
interface external_if external
max-xmit-utilization percent num
Policy適用方法の選択
Policy適用方法は以下の2通りから選択する事ができます。
Policy適用方法 | 説明 |
---|---|
select-exit good | より良い経路が見つかっても、exit-pointを変更しません |
select-exit best | より良い経路が見つかった場合は、exit-pointを変更します |
設定方法は以下の通りです。oer masterに対してグローバルに定義する事もできますし、oer-mapに対して個別設定をする事も可能です。
oer master
mode select-exit [{ good | best }]
exit pointの選択基準
delay, jitter, lossなどに応じて、exit pointの選択基準を定義する事ができます。設定するためには、以下のようにvarienceキーワードを用いて定義します。この設定は、oer masterに対してグローバルに定義する事もできますし、oer-mapに対して個別設定をする事も可能です。
oer master
resolve loss priority 1 varience 30
resolve loss delay 2 varience 20
resolve loss jitter 3 varience 10
exit pointの選択基準はやや難解ですので、以下の3つexit pointが存在すると仮定して、具体的に説明したいと思います。
delay | jitter | loss | |
---|---|---|---|
Exit A | 100 ms | 3 ms | 3000 ppm |
Exit B | 220 ms | 5 ms | 1200 ppm |
Exit C | 240 ms | 1 ms | 1000 ppm |
exit pointの選択方法は以下の通りです。
- priority値が最も高いlossについて評価します。lossが最も小さいのはExit Cで1000 ppmです。varienceは30なので、最良値の30%(=1300 ppm)までを許容します。したがって、候補はExit B, Exit Cとなります。
- 候補Exit B, Exit Cについて、priority値が次に高いdelayについて評価します。候補の中で、delayが最も小さいのはExit Bで240 msです。varienceは20なので、最良値の20%(=264 ms)までを許容します。したがって、候補はExit B, Exit Cとなります。
- 候補Exit B, Exit Cについて、priority値が次に高いjitterについて評価します。候補の中で、jitterが最も小さいのはExit Cで1 msです。varienceは10なので、最良値の10%(=1.1 ms)までを許容します。したがって、候補はExit Cのみとなり、Exit Cが選択されます。
OER Timers
Backoff Timerは経路を探すまでの待ち時間です。このtimerを定義する事により、フラッピングが発生した際にCPU使用率が過度に上昇する事を抑えます。
traffic classがOOPになると、min_interval待った後に経路を探索します。Master Controllerはtimerにstepずつ時間を加算し、timerがmax_intervalよりも大きくなっても経路が見つからなかった場合は探索を終了します。
traffic classがOOPになると、min_interval待った後に経路を探索します。Master Controllerはtimerにstepずつ時間を加算し、timerがmax_intervalよりも大きくなっても経路が見つからなかった場合は探索を終了します。
backoff min_interval max-interval [ step ]
Holddown Timerは経路が見つかった後の待ち時間です。mode select-exit bestの場合、もしholddownの概念がなかったとしたら、経路が見つかった後により良い経路が見つかるとフラッピングしてしまいます。そこで、Master Controllerは経路が見つかるとすぐにその経路をHolddown状態にして、holddown timerが経過してから初めて経路を使用するようになります。
このパラメータを定義するコマンドは以下の通りです。INEでは最小値が300秒と記載されていますが、Ciscoコマンドリファレンスでは最小値は90秒です。
このパラメータを定義するコマンドは以下の通りです。INEでは最小値が300秒と記載されていますが、Ciscoコマンドリファレンスでは最小値は90秒です。
holddown timer
Periodic Timerは経路を探し続ける時間です。経路が見つかった後に、Periodic Timerが尽きるまで経路を探し続きけます(経路がIn-Policyの状態であっても経路を探します)。
このパラメータを定義するコマンドは以下の通りです。INEでは最小値が300秒と記載されていますが、Ciscoコマンドリファレンスでは最小値は90秒です。
このパラメータを定義するコマンドは以下の通りです。INEでは最小値が300秒と記載されていますが、Ciscoコマンドリファレンスでは最小値は90秒です。
priodic timer
出典 : OERコマンドリファレンス
設定確認
模範解答に若干の誤植があるので注意が必要です。
R6 Loopback0に対するoer-mapは、policyの設定は不要です。青字の部分は、有っても無くても動作は全く同じです(有っても害にはなりません)。
R6 Loopback0に対するoer-mapは、policyの設定は不要です。青字の部分は、有っても無くても動作は全く同じです(有っても害にはなりません)。
oer-map OER 30 match traffic-class prefix-list R6 set loss threshold 100 set resolve utilization priority 1 variance 15 set resolve delay priority 2 variance 15
また、下記の入力補完のメッセージを見る限りでは、例えば、loss relativeでlong-termの25%超までを許容する場合は、"loss relative 125"と指定します。
Rack6R5(config-oer-mc)#loss relative ? <1-1000> short/long term in percentage. e.g. 125 is short/long = 1.25 Rack6R5(config-oer-mc)#loss relative
問題文で指定された3%超も模範解答で提示された25%も常にOOPが発生してしまう設定ですので、以下の赤字の通り25%超の設定に書き換えます。
oer master loss relative 125
holddown, periodicの最小値は300秒ではなく90秒ですので、赤字の通り解答を書き換えます。問題文中に"After an OOP event, the traffic class should retain the new exit point for no less than 10 minute"との記載がありますが、backoff timerの最大値はデフォルト3000秒ですので、明示的なコマンド投入は不要です。
oer master holddown 90 periodic 90
policyが題意を満たしている事を確認します。
Rack6R5#show oer master policy Default Policy Settings: backoff 300 3000 300 delay threshold 200 holddown 300 periodic 0 probe frequency 56 number of jitter probe packets 100 mode route observe mode monitor both mode select-exit best loss relative 125 jitter threshold 20 mos threshold 3.60 percent 30 unreachable relative 50 resolve utilization priority 1 variance 15 resolve delay priority 2 variance 15 resolve range priority 12 variance 0 oer-map OER 10 sequence no. 8444249301975040, provider id 1, provider priority 30 host priority 0, policy priority 10, Session id 0 match ip prefix-lists: NET_112 backoff 300 3000 300 delay threshold 200 holddown 300 periodic 0 probe frequency 56 number of jitter probe packets 100 mode route observe mode monitor both mode select-exit best loss relative 125 jitter threshold 20 mos threshold 3.60 percent 30 unreachable relative 50 next-hop not set forwarding interface not set resolve utilization priority 1 variance 15 resolve delay priority 2 variance 15 resolve range priority 12 variance 0 oer-map OER 20 sequence no. 8444249302630400, provider id 1, provider priority 30 host priority 0, policy priority 20, Session id 0 match ip prefix-lists: R4 backoff 300 3000 300 delay threshold 200 holddown 300 periodic 0 probe frequency 56 number of jitter probe packets 100 mode route observe *mode monitor active mode select-exit best loss relative 125 jitter threshold 20 mos threshold 3.60 percent 30 unreachable relative 50 next-hop not set forwarding interface not set resolve utilization priority 1 variance 15 resolve delay priority 2 variance 15 resolve range priority 12 variance 0 oer-map OER 30 sequence no. 8444249303285760, provider id 1, provider priority 30 host priority 0, policy priority 30, Session id 0 match ip prefix-lists: R6 backoff 300 3000 300 delay threshold 200 holddown 300 periodic 0 probe frequency 56 number of jitter probe packets 100 mode route observe mode monitor both mode select-exit best *loss threshold 100 jitter threshold 20 mos threshold 3.60 percent 30 unreachable relative 50 next-hop not set forwarding interface not set resolve utilization priority 1 variance 15 resolve delay priority 2 variance 15 resolve range priority 12 variance 0 * Overrides Default Policy Setting Rack6R5#
次に、INEの検証方法と異なりますが、"3.15. OER Profile Phase"と同様のテストトラフィックを流します。
R1: ip sla monitor type echo protocol ipIcmpEcho 150.6.8.8 source-interface Loopback0 timeout 100 frequency 1 ! ip sla monitor schedule 1 start-time now life forever R4: ip http client source-interface Loopback0 Rack6R4# copy http://cisco:cisco@150.6.8.8/c3560-advipservicesk9-mz.122-46.SE.bin null: R6: ip sla 2 udp-jitter 150.6.8.8 16384 source-ip 150.6.6.6 ! ip sla schedule 2 start-time now life forever SW2: ip http server ip http path flash: ip sla responder
各リンクの使用状況を確認します。R5 S0/1/0は128Kbpsの貧弱なリンクですので、帯域のほぼ全てが使用されている事が読み取れます。また、R5 S0/1/0が閾値の80%を超過していますので、OOPが発生した事が旨のログ出力が確認できます。
Rack6R5#show oer master border detail Border Status UP/DOWN AuthFail Version 150.6.3.3 ACTIVE UP 01:53:18 0 1.0 Se1/2 EXTERNAL UP Se1/3 INTERNAL UP Se1/0.1 INTERNAL UP Fa0/0 EXTERNAL UP External Capacity Max BW BW Used Load Status Exit Id Interface (kbps) (kbps) (kbps) (%) --------- -------- ------ ------- ------- ------ ------ Se1/2 Tx 128 102 0 0 UP 5 Rx 128 16 12 Fa0/0 Tx 256 204 0 0 UP 4 Rx 256 0 0 -------------------------------------------------------------------------------- Border Status UP/DOWN AuthFail Version 150.6.5.5 ACTIVE UP 01:56:41 0 2.2 Se0/0/0 INTERNAL UP Se0/1/0 EXTERNAL UP Fa0/0 INTERNAL UP External Capacity Max BW BW Used Load Status Exit Id Interface (kbps) (kbps) (kbps) (%) --------- -------- ------ ------- ------- ------ ------ Se0/1/0 Tx 128 102 125 97 UP 1 Rx 128 16 12 -------------------------------------------------------------------------------- Border Status UP/DOWN AuthFail Version 150.6.2.2 ACTIVE UP 01:58:50 0 1.0 Se0/1 INTERNAL UP Se0/0.1 INTERNAL UP Fa0/0 EXTERNAL UP External Capacity Max BW BW Used Load Status Exit Id Interface (kbps) (kbps) (kbps) (%) --------- -------- ------ ------- ------- ------ ------ Fa0/0 Tx 100000 80000 0 0 UP 3 Rx 100000 0 0 Rack6R5# May 20 00:17:46.399: %OER_MC-5-NOTICE: NO route change, Observe mode, Prefix 150.6.4.0/24, BR 150.6.3.3, i/f Fa0/0, Reason None, OOP reason Timer Expired May 20 00:17:46.435: %OER_MC-5-NOTICE: NO route change, Observe mode, Prefix 150.6.6.0/24, BR 150.6.3.3, i/f Fa0/0, Reason Unreachable, OOP reason Timer Expired May 20 00:17:47.847: %OER_MC-5-NOTICE: Range OOP BR 150.6.5.5, i/f Se0/1/0, percent 97. Other BR 150.6.3.3, i/f Se1/2, percent 0 May 20 00:17:47.847: %OER_MC-5-NOTICE: Load OOP BR 150.6.5.5, i/f Se0/1/0, load 125 policy 102 May 20 00:17:47.847: %OER_MC-5-NOTICE: Exit 150.6.5.5 intf Se0/1/0 OOP, Tx BW 125, Rx BW 16, Tx Load 97, Rx Load 12 May 20 00:18:09.855: %OER_MC-5-NOTICE: Discovered Exit for Prefix 150.6.6.0/24, BR 150.6.5.5, i/f Se0/1/0 May 20 00:18:17.803: %OER_MC-5-NOTICE: NO route change, Observe mode, Prefix 150.6.1.0/24, BR 150.6.3.3, i/f Fa0/0, Reason Unreachable, OOP reason Utilization May 20 00:18:23.595: %OER_MC-5-NOTICE: Prefix Learning WRITING DATA May 20 00:18:43.855: %OER_MC-5-NOTICE: Discovered Exit for Prefix 150.6.1.0/24, BR 150.6.5.5, i/f Se0/1/0 May 20 00:18:47.919: %OER_MC-5-NOTICE: Range OOP BR 150.6.5.5, i/f Se0/1/0, percent 97. Other BR 150.6.3.3, i/f Se1/2, percent 0 May 20 00:18:47.919: %OER_MC-5-NOTICE: Load OOP BR 150.6.5.5, i/f Se0/1/0, load 125 policy 102 May 20 00:18:47.919: %OER_MC-5-NOTICE: Exit 150.6.5.5 intf Se0/1/0 OOP, Tx BW 125, Rx BW 16, Tx Load 97, Rx Load 12 Rack6R5#
3.18. OER Control & Verify Phase
ルーティング方法の選択
ルーティング方法は以下の2通りから選択する事ができます。
Policy適用方法 | 説明 |
---|---|
route observe | トラフィックの分類やPolicyの適用を行い、その結果をログ出力しますが、実際にはPolicyに基づいたルーティングを行いません。 |
route control | トラフィックの分類やPolicyの適用を行い、その結果をログ出力し、Policyに基づいたルーティングを行います。 |
設定方法は以下の通りです。oer masterに対してグローバルに定義する事もできますし、oer-mapに対して個別設定をする事も可能です。
oer master
mode route [{ observe | control }]
Static Route Injection
OERはstaic routeをルーティングテーブルに挿入する事で経路を制御します ( show ip routeでは確認できません ) 。挿入されたルートはroute metric statc tagでタグ付けする事が可能であり、以下のような再配送設定を行うと、IGPドメイン内にルートを伝搬させる事ができます。
oer master
mode route control
mode route metric static tag tag
!
route-map map
match tag tag
!
router ospf proc
redistribute static route-map map subnet
BGP Control Technique
OERはBGPルートもBGPテーブルに挿入します。挿入されたルートはroute metric bgp local-prefでLOCAL_PREF値を定義する事が可能です。また、挿入されたルートはno-exportコミュニティが付与されているので、communityの伝搬を許可する設定を投入すれば、BGPルートが伝わる範囲を自ASに限定する事もできます。
LOCAL_PREF値を定義する設定例は以下の通りです。
LOCAL_PREF値を定義する設定例は以下の通りです。
oer master
mode route control
mode route metric bgp local-pref value
設定確認
模範解答通りの設定を投入します。
その後、INEの検証方法と異なりますが、以下3経路のHTTPトラフィックを流します。また、OOPイベントが発生しないよう、R5がSW2から受信できるトラフィック量を制限します。
その後、INEの検証方法と異なりますが、以下3経路のHTTPトラフィックを流します。また、OOPイベントが発生しないよう、R5がSW2から受信できるトラフィック量を制限します。
R5: policy-map RATE_LIMIT class class-default police 112000 ! interface FastEthernet0/0 service-policy input RATE_LIMIT R1: ip http client source-interface Loopback0 Rack6R1# copy http://cisco:cisco@150.6.8.8/c3560-advipservicesk9-mz.122-46.SE.bin null: R4: ip http client source-interface Loopback0 Rack6R4# copy http://cisco:cisco@150.6.8.8/c3560-advipservicesk9-mz.122-46.SE.bin null: R6: ip http client source-interface Loopback0 Rack6R6# copy http://cisco:cisco@150.6.8.8/c3560-advipservicesk9-mz.122-46.SE.bin null:
OERによってBGPテーブルに挿入されたルートを確認します。LocPrfには6000を設定しましたが、設定が反映されませんでした。
Rack6R5#show oer border routes bgp BGP table version is 57, local router ID is 0.0.0.0 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete OER Flags: C - Controlled, X - Excluded, E - Exact, N - Non-exact, I - Injected Network Next Hop OER LocPrf Weight Path *>i150.6.1.0/24 155.6.37.7 XN 5000 0 300 100 i *>i150.6.4.0/24 155.6.37.7 XN 5000 0 300 100 i *>i150.6.6.0/24 155.6.37.7 XN 5000 0 300 100 i Rack6R5#
150.6.1.0/24のルートが定期的に変化している事を観察します。AS200の出口が当初SW1であったのが、"より良い"出口が見つかりR4に変わった事が以下から読み取れます。
Rack6R5#show ip route 150.6.1.0 Routing entry for 150.6.1.0/24 Known via "bgp 200", distance 200, metric 0 Tag 300, type internal Last update from 155.6.37.7 00:01:06 ago Routing Descriptor Blocks: * 155.6.37.7, from 155.6.23.3, 00:01:06 ago Route metric is 0, traffic share count is 1 AS Hops 2 Route tag 300 Rack6R5# Rack6R5# Rack6R5# May 20 01:01:13.479: %OER_MC-5-NOTICE: Active ABS Delay OOP Prefix 150.6.4.0/24, delay 217, BR 150.6.3.3, i/f Fa0/0 May 20 01:01:20.831: %OER_MC-5-NOTICE: Range OOP BR 150.6.3.3, i/f Fa0/0, percent 24. Other BR 150.6.3.3, i/f Se1/2, percent 0 May 20 01:01:20.831: %OER_MC-5-NOTICE: Exit 150.6.3.3 intf Fa0/0 OOP, Tx BW 62, Rx BW 0, Tx Load 23, Rx Load 0 May 20 01:01:24.291: %OER_MC-5-NOTICE: Prefix Learning STARTED Rack6R5# Rack6R5# Rack6R5# May 20 01:01:45.855: %OER_MC-5-NOTICE: Uncontrol Prefix 150.6.1.0/24, Exit Mismatch May 20 01:01:47.343: %OER_MC-5-NOTICE: Discovered Exit for Prefix 150.6.1.0/24, BR 150.6.3.3, i/f Fa0/0 Rack6R5# Rack6R5# Rack6R5#show oer border routes bgp BGP table version is 58, local router ID is 0.0.0.0 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete OER Flags: C - Controlled, X - Excluded, E - Exact, N - Non-exact, I - Injected Network Next Hop OER LocPrf Weight Path *>i150.6.4.0/24 155.6.37.7 XN 5000 0 300 100 i *>i150.6.6.0/24 155.6.37.7 XN 5000 0 300 100 i Rack6R5# Rack6R5# Rack6R5#show ip route 150.6.1.0 Routing entry for 150.6.1.0/24 Known via "bgp 200", distance 20, metric 0 Tag 100, type external Last update from 155.6.45.4 00:00:15 ago Routing Descriptor Blocks: * 155.6.45.4, from 155.6.45.4, 00:00:15 ago Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 100 Rack6R5#