VyattaでOSPFの経路再計算を試してみた

twitterで何度か書いたが、最近vyatta (http://www.vyatta.com/index.php ) を使い始めた。

vyattaはDebianベースのLinuxソフトウェアルーターで、仮想化対応も行っている。今回はKVM上に4つのViyattaを導入してみた。
※ 関係ないのだが、CiscoIOSも最近IOS-XEというLinuxベースのOSを出しており、意外にソフトウェアルーターもいける、、という評価なのだろうか。。 w
<<参考リンク>> http://www.computerworld.jp/news/net/143050-5.html

vyattaはCiscoやJuniperのルーターに似たCLIで操作できる。
普通のインストール手順等は飛ばして(ドキュメントはこちら: http://www.vyatta.com/downloads/docdl.php) w、OSPFの設定はこんな感じになった。。

vyatta1:
set protocols ospf parameters router-id 127.0.0.1
set protocols ospf redistribute connected
set protocols ospf area 0.0.0.0 network 192.168.21.0/24
vyatta2:
set protocols ospf parameters router-id 127.0.0.2
set protocols ospf redistribute connected
set protocols ospf area 0.0.0.0 network 192.168.21.0/24
set protocols ospf area 0.0.0.0 network 192.168.23.0/24
vyatta3:
set protocols ospf parameters router-id 127.0.0.3
set protocols ospf redistribute connected
set protocols ospf area 0.0.0.0 network 192.168.21.0/24
set protocols ospf area 0.0.0.0 network 192.168.23.0/24
vyatta4:
set protocols ospf parameters router-id 127.0.0.4
set protocols ospf redistribute connected
set protocols ospf area 0.0.0.0 network 192.168.23.0/24

なお、構成図はこんな感じである。。


この状態からだと、vyatta1==>vyatta4 でpingを打っている間に、vyatta2が停止すると、ルートの再計算が発生する。この間のpingはこんな感じになった。停止時間は約30秒となった。

64 bytes from 192.168.23.4: icmp_seq=94 ttl=63 time=6.04 ms 
64 bytes from 192.168.23.4: icmp_seq=95 ttl=63 time=9.00 ms 
(停止中。。) 
64 bytes from 192.168.23.4: icmp_seq=127 ttl=63 time=4.03 ms 
64 bytes from 192.168.23.4: icmp_seq=128 ttl=63 time=4.01 ms 
64 bytes from 192.168.23.4: icmp_seq=129 ttl=63 time=5.03 ms 

ログ上ではvyatta2の停止の検出に30秒程度かかっていたので、再計算自体は一瞬だったようだ。hello-packetの間隔を調整することで、もう少し短くすることも出来そうだ。。