Netflow
Netflow, Cisco tarafından geliştirilen ve IP trafik bilgisini toplayan network protokolüdür. Cisco IOS haricinde Juniper, Linux, FreeBSD ve OpenBSD platformlarında da desteklenir. Netflow’un aktif olduğu cihazlarda netflow raporları oluşturulur. Raporlar UDP veya SCTP (Stream Control Transmission Protocol) ile netlow data toplama sunucusuna iletilir. Datayı toplayan sunucu ya da farklı bir sunucu datayı analiz ederek ağ trafiği ile ilgili rapor oluşturur. Farklı üreticiler benzer özelliklere sahip protokoller geliştirmişlerdir. Örnek olarak Juniper Networks “Jflow / cflowd “ ; 3Com “NetStream”; Huawei “NetStream”; Alcatel-Lucent “Cflowd” protokolllerini kullanmaktadır.
Cisco tarafından geliştirilen netflow, IPFIX(Internet Protocol Flow Information Export) adı altında IETF tarafıdan standart olmuştur. IPFIX’in Netflow version 9 implementasyonu ile endüstri standardı haline gelmiş ve birçok üretici tarafından desteklenmiştir.
Flow 7 temel değerden oluşur:
- Source IP
- Destination IP
- Source port [TCP , UDP veya 0 (TCP ya da UDP trafiği değilse)]
- Destination port [TCP , UDP veya 0 (TCP ya da UDP trafiği değilse)]
- IP Protokolü
- Giriş interface (SNMP İfindex)
- IP Type of Service
Router ilgili trafik tamamlanan kadar flow kayıtları oluşturmaya devam eder. Mevcut flow’a ilişkin yeni bir trafik oluşursa flow zaman sayacı resetlenerek bilgi akışı yeniden düzenlenir. Ayrıca TCP session bitişi ile flow üretimi de sonlanır. Kullanıcı isteği ile farklı bilgilerin alınması ve flowların farklı zaman arakları ile oluşturulması sağlanabilmektedir.
Netflow Kayıtları
Netflow kayıtları kayıtları mevcut trafiğe ilişkin birçok farklı bilgiyi içermektedir:
- Versiyon Numarası (Netflow v5, v9 gibi)
- Sequence Numarası
- Giriş ve çıkış interfaceleri (SNMP destekli)
- Flow başlagıç ve bitiş bilgisi
- Flow boyutu ve paket sayısı
- L3 header bilgisi (Source-Destination IP Adresi, Port, ToS )
- Routing bilgisi

NetFlow Versiyonları
| Versiyon | İçeriği |
| V1 | İlk uygulama olup IP mask ve AS numaralarını desteklemez |
| V2 | Cisco test versiyonu olup yayınlanmamıştır. |
| V3 | Cisco test versiyonu olup yayınlanmamıştır. |
| V4 | Cisco test versiyonu olup yayınlanmamıştır. |
| V5 | En yaygın versiyon olmakla birlikte sadece IPv4 desteği sunmaktadır. |
| V6 | Cisco tarafından desteği kaldırılmıştır. |
| V7 | V5 içeriğine sahip olup Cisco Catalyst Swtichlerde kullanılmaktadır. |
| V8 | V5 bilgilerini çeşitli gruplar halinde sunulması sağlanmıştır |
| V9 | Template tabanlıdır ve güncel routerlar tarafından desteklenir . MPLS ve IPv6 bilgisi ie BGP next-hop bilgisi içerir. |
| IPFIX | IETF standardı olup v9 baz alınarak geliştirilmiştir. |
Netflow Kullanım Alanları
Netflow ile ağ trafiği hakkında detaylı bilgi elde edilir. Trafiğin yönetilmesi ve gereksinimleri organizasyon hedefleri doğrultusunda belirlenmesi sağlanır. QoS’un nerede uygulanacağı ve DoS ataklarının tespiti gibi önemli durumlarda referans olur. Netflow aşağıdaki durumlara çözümler üretebilmektedir;
- Yeni uygulamar ve uygulamaların networke etkisini gösterir. Örneğin VOIP trafiği.
- Wan bandwith kullanım bilgisi ile bağlatıyı en fazla kullanan (top talkers) ve kullanım türüne ilişkin bilgi içerir.
- Uygun olmayan wan trafiğii tespit edilerek gereksiz yeni yatırımlara engel olur.
- QoS kontrolü yapılarak ağın optimum şekilde yönetilmesine yardımcı olur.
NetFlow Datasına Nasıl Ulaşılır?
Netflow datasına CLI üzerinden ve “NetFlow Collector” adı verilen sunucular üzerinde ulaşılır. Show komutları ile anlık olarak CLI üzerinden trafik bilgisi alınabilir. Troubleshooting için büyük öneme sahiptir.
NetFlow Collector sunucuları NetFlow datasını işleyip, birleştirerek anlık ya da geçmişe dönük grafiksel bilgi verir. Netflow bilgisi router tarafından oluşturularak sunucuya UDP veya SCTP ile iletilir. Protokol yapısı gereği networkte oluşabilecek olumsuz bir durumda sunucuya iletilemeyen flow bilgisi yeniden elde edilemez. Genellikle 2055, 9555 ve 9995 portları kullanılarak netflow bilgisi sunucuya iletilir. Netflow CPU yükünü azaltmak amacıyla interface içerisinde aktive edilmektedir.

Temel NetFlow Export Konfigürasyonu
NetFlow konfigürasyonu üreticiden üreticiye ve üreticinin farklı modellerinde oldukça farklılık gösterir. Aşağıda Cisco IOS için temel netflow konfigürasyonunu bulabilirsiniz.
router(config)# ip cef
router(config)# ip flow-export version 5
router(config)# ip flow-export destination <ip-address> <port>
router(config)# ip flow-export source FastEthernet0
interface <interface>
ip route-cache flow
bandwidth
Aşağıdaki show komutları ile flow konfigürasyonu ve içeriği kontrol edilir.
router# show ip flow export - Konfigürasyon Bilgisi
router# show ip cache flow - Genel Trafik Bilgisi
router# show ip cache verbose flow - Özet Trafik bilgisi
Juniper Router için temel konfigürasyon aşağıdaki gibidir:
interfaces {
ge-0/1/0 {
unit 0 {
family inet {
filter {
input all;
output all;
}
address <network>/<mask>
}
}
}
}
firewall {
filter all {
term all {
then {
sample;
accept;
}
}
}
}
forwarding-options {
sampling {
input {
family inet {
rate 100;
}
}
output {
cflowd {
port <port>;
version <version_number>;
}
}
}
NetFlow CLI Top-Talkers Konfigürasyonu
router(config)# ip flow-top-talkers
router(config)#top <sayı>
router(config)# sort by [bytes | packets]
Router# show ip flow top-talkers
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Bytes
Et3/0 10.2.1.3 Local 10.3.1.2 01 0000 0000 4800
Et3/0 10.2.1.4 Local 10.3.1.2 01 0000 0000 4800
Et3/0 10.2.1.5 Local 10.3.1.2 01 0000 0000 800
3 of 10 top talkers shown. 3 flows processed.
router# show ip flow top 10 aggregate protocol -> top 10 protocol görüntülenir.
router# show ip flow top 10 aggregate source-address sorted-by packets -> en fazla paket gönderen 10 ip adresi gösterilir.
router# show ip flow top 5 aggregate destination-address match source-prefix 10.0.0.1/24 -> 10.0.0.1 tarafından yapılan trafiği için top 5 destinationı gösterir.
router# show ip flow top 50 aggregate destination-vlan sorted-by bytes ascending -> en az trafiğin yapıldığı 50 vlan destionationı gösterir.
Bu yazıyı beğendiniz mi?

18 Mayıs 2010, 14:28
Çok güzel bir doküman olmuş, teşekkürler..