JuniperでxFlow(sFlow、NetFlow、J-Flow、IPFIXなど)の情報をフローエクスポーターへ送信し分析すると値が頭打ちしていることがある。
SNMPで取得しているトラフィック情報と比べるとフローで分析したトラフィックが極端に少なく見える。
おそらくフローテーブルサイズが小さい事が原因と考えられる。
JUNOSの16.1R1/15.1F2以降からxFlowの情報を保持するフローテーブルサイズのデフォルト値が1Kになっている。
※16.1R1/15.1F2より前のデフォルト値は3840K。
サンプリング数が数Gbpsを超えてくると分析するフローテーブルサイズをオーバーフローするようになりフローエクスポーターに送信するデータが欠落する。
次の設定をすることでフローテーブルを拡張する。
指定はブロック単位のため、とりあえず1にするだけでフローテーブルの保持数は1K→256Kになる。
set chassis fpc slot-number inline-services flow-table-size ipv4-flow-table-size 1
set chassis fpc slot-number inline-services flow-table-size ipv6 flow-table-size 1
数百Mbps程度のトラフィックであれば問題にならないかもしれないがデフォルト値が小さすぎるので拡張しておくと良い。
参考資料:
https://www.juniper.net/documentation/us/en/software/junos/flow-monitoring/topics/ref/statement/ipv4-flow-table-size.html
https://www.juniper.net/documentation/us/en/software/junos/flow-monitoring/topics/ref/statement/ipv6-flow-table-size.html
https://www.juniper.net/documentation/us/en/software/junos/flow-monitoring/topics/task/inline-flow-monitoring.html