ネットワーク備忘録

アラフォーエンジニアのネットワーク系の備忘録。twitter:@deigo25374582

ECMPでの負荷分散(CEF)

CEFの整理

 

f:id:klock_3rd:20150311010155p:plain

上記構成で、ループバックIF&Faの全てでOSPFを有効にすると、対向先のループバックIFへの経路はOSPFによるECMPとなる。
R1→loop0(1.1.1.1/32),loop1(1.1.1.2/32)

R2→loop0(2.2.2.1/32),loop1(2.2.2.2/32)

<R1のルーティングテーブル>

R1#sho ip route ospf
2.0.0.0/32 is subnetted, 2 subnets
O 2.2.2.2 [110/2] via 10.1.2.2, 00:19:14, FastEthernet0/1
     [110/2] via 10.1.1.2, 00:19:14, FastEthernet0/0
O 2.2.2.1 [110/2] via 10.1.2.2, 00:19:14, FastEthernet0/1
     [110/2] via 10.1.1.2, 00:19:14, FastEthernet0/0

R1→R2へPingを打った後、IFのカウンタを確認

R1#ping 2.2.2.2 source 1.1.1.1 repeat 50
R1#sho int stats
FastEthernet0/0
 Switching path Pkts In Chars In Pkts Out Chars Out
 Processor   52    5888  54    308
 Route cache  0     0   0    0
 Total     52    5888  54   308
FastEthernet0/1
 Switching path Pkts In Chars In Pkts Out Chars Out
 Processor   2    188   4   6265
 Route cache  0    0    0    0
 Total     2    188   4   6265

→Fa0/1に偏っているのがわかる。

show ip routeの結果では、等コストロードバランスになっているが送出IFがFa1に偏っているのはCEFの機能によるもの。

R1#show ip cef exact-route 1.1.1.1 2.2.2.2
1.1.1.1 -> 2.2.2.2 : FastEthernet0/0 (next hop 10.1.1.2)

送信元が1.1.1.1、あて先2.2.2.2の場合はFa0/0から送出することがわかる。
実際、Pingコマンド実施時、loop0(1.1.1.1)を指定して実施している。

では、この状態であて先を2.2.2.1に変えてみる。
R1#show ip cef exact-route 1.1.1.1 2.2.2.1
1.1.1.1 -> 2.2.2.1 : FastEthernet0/1 (next hop 10.1.2.2)
→おそらくFa0/1側のカウンタがUpすると想定

R1#ping 2.2.2.1 source 1.1.1.1 repeat 50
R1#sho int stats
FastEthernet0/0
 Switching path Pkts In Chars In Pkts Out Chars Out
 Processor    2    188   4    308
 Route cache   0    0    0    0
 Total      2    188   4    308
FastEthernet0/1
 Switching path Pkts In Chars In Pkts Out Chars Out
 Processor    51   5794   54   6008
 Route cache   0    0    0    0
 Total      51   5794   54   6008
→想定どおり


CEFでの負荷分散は、フロー単位ではなく、パケット単位でも分散可能だけどその場合はパケット追い越しが発生する可能性もあるため、今回は省略