読者です 読者をやめる 読者になる 読者になる

30代前半サラリーマンが転職活動のブログを書いてみた

30歳を越えた筆者が、就職活動の現実をひたすら綴るブログです。就職活動に疲れ、気づけば雑記ブログになった?

Flexible Netflow(Netflow v9)のすごい点まとめ

今日は久々にネットワークの話。

 

そもそもNetflowとは、シスコシステムズが開発した、IPネットワークの様々な情報を収集するためのプロトコルである。

 

Ciscoルーター(スイッチ)→各I/FでNetflowの有効/無効を指定できる

(少し細かくなるが、集計するタイミングは、パケットがInした時だ。これをインバウンドトラフィックと呼んでいる)

有効にすると、I/Fを流れるトラフィックを監視し、Netflowキャッシュと呼ばれる場所に、次の情報を格納していく。

 

[Key Field]

 ・ 送信元IPアドレス
 ・ あて先IPアドレス
 ・ TCP/UDPポート送信元番号
 ・ TCP/UDPポートあて先番号
 ・ L3プロトコル
 ・ ToSバイト(DSCP)
 ・ 入力インターフェース

 

[Non Key Field]

 ・ 送信元IPアドレス/あて先IPアドレス
 ・ 送信元ポート番号/あて先ポート番号
 ・ 入力インターフェースと出力インターフェース
 ・ ToSバイト(DSCP)
 ・ フローのバイト数、パケット数
 ・ 送信元AS番号、あて先AS番号

 

Netflowにはいくつかのバージョンがあって、スタンダードなVersion5だと「key field」をフローを識別するパラメータとして使っている。

つまり、このkey fieldの値が違うパケットは、新規フローとして認識されるわけだ。

 

このフローは永遠にキャッシュにたまっていくわけではない。ある一定の期間が過ぎると(このことをフローエントリが期限切れになるという)、キャッシュの情報は外部へ出力される。

 

標準は15分??

 

これは、

NDE(NetFlow Data Export)パケットとしてカプセル化され、フローを収集する装置へと送られる。

 

 


NetFlow - キャッシュタイマー

NetFlowのキャッシュには、いくつかのタイマーがある。いつも一定間隔で外部へ送信されるわけではないのだ。

 

1. インアクティブタイマーの経過 (Defalut : 15秒)
 →同一フローの通信が存在しなくなった時にのみ、カウントダウンが開始されるタイマー。

同一フローが15秒間流れてこなかったら、キャッシュを出力するということ??

2. アクティブタイマーの経過 (Default : 30分)
 →これは必ず。

3. NetFlowキャッシュテーブルが満杯になった時(最も古いフローから削除される)

4. TCPのRSTかFINを検出しTCPセッションが終了した時(フローはタイマーに関係なく期限切れとなる)

 

上記の4つのどれかがトリガーとなり、フローは外部へ送信される。ではどのような情報が送られるのだろうか?

 

NetFlowとは - Cisco IOS NetFlowより

こんな感じだ。

 

Ciscoのルータには、標準でVersion5が搭載されている。最近はVersion9が主流になりつつあるので、この2つを覚えておけば間違いない。それ以外のバージョンは知らない。

 

ここでみんなが気になるのは、Version5と9の違いだ。

 

簡単に言うと、フォーマットが拡張されている。

つまり、より多くの情報を収集できるようになっているのだ。

 

バージョン5に比べて柔軟なフローであるため、これをFlexible Netflowと呼んでいる。

(これに対してversion5はTraditional Netflowと呼ばれている)

 

Flexible Netflowの設定方法については、以下のページがとても参考になる。

www.unix-power.net

 

 たまにこうしてまとめてみると、記憶にも定着するので結構効果的だ。