Bir bilgisayar ağını izlemek ve trafiği analiz etmek; anormal durumların anında fark edilmesi, tıkanıklık sorunları, donanım hataları ve güvenlik olayları dahil olmak üzere güvenilirlik ve performans sorunlarını tanılamak ve gidermek için sorunların krize dönüşmeden algılanıp çözümlenmesini sağlar. İzleme ve analiz; ayrıca uzun menzilli ve verimli ağ planlaması için gerekli olan öngörüyü sağlar. Diğer taraftan ağ üzerindeki yazılımsal, donanımsal ve protokol bazlı çeşitlilikler ağın izlenmesini zorunlu kılmaktadır. Ağ trafiğini izlemede kullanılan başlıca araçlar arasında NetFlow ve SFlow sayılabilir.
NetFlow ve sFlow ağ trafiğini çeşitli yöntemlerle izleyen ve analiz ederek raporlayan protokollerdir. Bu protokoller genel olarak ağ kullanıcıları, ağ uygulamaları ve yönlendirme (routing) trafiği hakkında bilgi sağlar.
NetFlow nedir?
Cisco tarafından yönlendiricilerde paket iletim ve erişim kontrol listesi(ACL) için optimizasyon sağlamak amacıyla geliştirilen NetFlow, bir Cisco yönlendiricisine yada üzerinde NetFlow etkin olan bir ağ anahtarına giden veya gelen tüm IP trafiğini toplamak ve kaydetmek ve ağ trafiğini izlemek için yaygın kullanılan protokoldür. 3. Katman ve sonrasında çalışır. Cisco dışındaki bazı üreticiler de NetFlow’u destekler. NetFlow un v1 ile v9 arasında birçok versiyonu bulunmakla beraber bir kısmı yayınlanmamıştır. En çok kullanılan versiyonları v5 ve v9 dur.
NetFlow durum tanımlı(stateful) çalışarak bir arayüz üzerinden gerçekleşen tüm IP haberleşmelerini izler ve raporlama yapar. Netflow’da söz konusu her bir IP haberleşmesi flow kavramı ile tanımlanmıştır. flow bir gönderici ve bir alıcı arasında geçen bir konuşmayı oluşturan paketler dizisi olarak açıklanabilir. NetFlow, bir cihaza giren ve çıkan IP trafiğine dair verileri toplar; paketleri inceleyip kaynak ve alıcı adresleri, protokol ve portlar gibi belirli alanlara göre flow’lara gruplandırır. Gözlemlenen flow’larla ilgili veriler paketlerden toplanır, yerel olarak önbelleğe(cash) alınır ve periyodik olarak kolektörlere(collector) gönderilir. Netflow OSI’nin 3. ve 4. Katmanlarına yoğunlaştığı için sadece IP paketlerini izler.
Flow oluşturulmak üzere paketlerden toplanan öğeler şunlardır: Kaynak IP adresi, Hedef IP adresi, UDP veya TCP için kaynak port, UDP veya TCP için hedef port, IP protokolü, Giriş arayüzü, IP Hizmet Türü (Type of Service)
Bunun yanı sıra Sürüm numarası, Sıra numarası (sequence number), Giriş ve çıkış arayüzleri (SNMP destekli), Akış başlangıç ve bitiş bilgisi, Akış boyutu ve paket sayısı,3. Katman yönlendirme bilgisi gibi parametreler de izlenebilir.
Ayrıca NetFlow v9 isteğe bağlı olarak MPLS (Multiprotocol Label Switching – Çoklu Protokol Etiket Anahtarlama) etiket bilgisini ve IPv6 adres ile port bilgisini de sağlar.
sFlow Nedir?
Yüksek hızla veri transferi yapan ağlarda durum tanımsız(stateless) paket örnekleme protokolü olarak çalışan sFlow paket düzeyinde inceleme yapar. sFlow ismindeki s sampling örnekleme anlamındadır. sFlow isminde her ne kadar isminde flow varsa da akış ile ilgilenmez. Çalışma prensibi yüksek hızlı örneklemedir. NetFlow’da olduğu gibi bir konuşmaya ait paketleri bir araya getirip flow oluşturarak izleme yetisine sahip değildir
sFlow, herhangi bir ağ cihazına gömülü olarak (L2, L3, L4 ve L7’ye kadar) herhangi bir protokolde sürekli istatistikler sağlamak için tasarlanmıştır. Böylece bir ağdaki tüm trafik doğru bir şekilde karakterize edilebilir ve izlenebilir. Bu istatistikler, tıkanıklık kontrolü, sorun giderme, güvenlik gözetimi, ağ planlaması için kullanılabilir. Bir sFlow çalıştıran ağ cihazı üzerinden geçen paketten bir örnek alır. Ayrıca rastgele paketler seçer. Alınan tüm paketlerin başlangıç baytlarını toplama noktasına gönderir.
NetFlow ile Slow arasındaki farklar
NetFlow ve SFlow arasındaki en önemli fark; NetFlow ile trafik paternleri incelenerek her bir paketin hangi konuşmaya ait olduğu tespit edilebilirken sFlow’da sadece o anda akan trafiğin bir örnek kümesinin alınabildiği görülmektedir. NetFlow’un bir haberleşmeye ait ilgili tüm paketleri toplayabilmesi, bir host ile ilgili trafiği ayrıntılarıyla incelemeyi, lokal anomalilikleri algılamayı ve herhangi bir flow ile ilgili araştırma yapmayı kolaylaştırmaktadır. Ancak trafiğin yoğunlaştığı durumlarda, her bir flow’a ait verileri toplamak zorlaşmaktadır, bu durumda sFlow’un ölçeklenebilirliği avantajlı hale gelmektedir. Ancak yüksek trafikli ağlarda sFlow’un anlık değişimleri pikleri yakalayamaması durumu da sözkonusudur.
NetFlow yüksek trafikli ağlarda ağ cihazının performansını önemli ölçüde tüketir. sFlow ise çalışma prensibi dolayısıyla ağ cihazı performansına fazla etkisi olmaz
Çalışma esnasında NetFlow ‘un gecikmesi sFlow’dan daha fazla olabilir
Son olarak NetFlow’un sadece IP ile çalışması sFlow’un 2. Katmanda da çalışması iki protokol arasındaki göze çarpan farklılıklardır.