NBAR (Network Based Application Recognization - Ağ Tabanlı Uygulama Tanımlayıcısı)

Eyl 07, 2013
NBAR adından da anlaşılacağı gibi ağdaki trafiği analiz etmeye yarayan bir protokoldür. Uygulama paketleri 3. Katman cihazı olan router (yönlendirici) ile nbar sayesinde tanımlanır. NBAR en genel anlamda ağda çok fazla trafiğe sebep olan paylaşım uygulamalarını tespit etmek için geliştirilmiştir. Bu uygulamalar genelde peer to peer (kullanıcıdan kullanıcıya) uygulamalarıdır ki bu uygulamalar NBAR sayesinde tespit edilerek çöpe atılabilir, ya da istenirse bu tespit edilen paketlere öncelik de verilebilir. Ağda trafiğe neden olan uygulamaların tanımlanması ağı daha verimli  hale getirir. Kullanıcıdan kullanıcıya uygulamalar önceleri sabit bir porttan yapıldığı için o portun kapatılması durumunda kullanılamıyordu. Daha sonraları ise dinamik bir port üzerinden ya da başka bir uygulamanın portu üzerinden yapılabilmektedir. Bu şekilde, direk olarak bir portun kapatılması çözüm olmaktan çıkıyor. Bu noktada NBAR, paketlerin veri kısmına da bakarak uygulamayı tanımlıyor. Yani peer to peer uygulaması, dinamik bir port da olsa başka bir uygulamanın portu da olsa yine de tespit edilebilir. Ancak paketlerin veri kısmına bakmak cihaz için fazla işlemci gücü demektir. Bu noktada Cisco’nun geliştirdiği Cef (Cisco Express Forwading - Cisco Hızlı İletim) teknolojisi devreye girmektedir. Bu teknoloji yönlendiricilerin daha hızlı anahtarlama yapmasına yaramakla beraber işlemci gücünü azaltmaktadır. Dolayısıyla paketlerin gecikmesi gibi bir durum söz konusu olmaz.  

Nbar TCP ve UDP bazlı paketlerin ikisi için de geçerlidir. Klasik uygulamalar dışındaki bazı kullanıcıdan kullanıcıya uygulamaları yönlendiriciye tanıtmak gerekir. Bu uygulamalar "bittorrent", "direct connect", "gnutella" veya "kazaa2" gibi uygulamalardır. Bu işlem ilgili PDLM’leri (Packet Description Language Modules - Paket Tanıtma Dil Modülü) yönlendiriciye yüklenerek yapılabilir. Bu şekilde yönlendirici, üzerinde yüklü kullanıcıdan kullanıcıya uygulamaları tanımlayabilir. Ayrıca NBAR ile sadece kullanıcıdan kullanıcıya oturumlar değil aynı zamanda TCP ve UDP port numarası olan tüm uygulamaları tanımlayabilir ve istenirse kesilebilir ya da işaretlenip öncelik verilebilir.

NBAR’ın kullanılamayacağı bir takım durumlar vardır:

  • IP başlığı dışındaki paketlerde kullanılamaz ( UDP ve TCP bazlı uygulamaları tanımladığı için ip başlıklı paketler için geçerlidir).
  • MPLS etiketli paketlerde kullanılamaz.
  • "Etherchannel" uygulanmış arayüzlerde kullanılamaz.
  • Multicast (Çoklu) oturumlarda kullanılamaz ("Peer to Peer" çoklu oturumlarda söz konusu olmadığı için kullanılamaz).
Kısacası NBAR kullanması durumunda paketler tanımlanacağı için istenilen paket türleri çöpe atılabilir, istenilen paket türleri de işaretlenip öncelik verilmek süretiyle ağda daha hızlı hareket edebilir. Bu şekilde daha iyi ağ bir yönetimi sağlanır. Aşagıda örnek bir NBAR yapılandırması vardır.
  • Paketleri çöpe atmak için;

             Router(config)#class-map match-any nbarDeneme
             Router(config-cmap)#match protocol bittorrent
             Router(config)#policy-map
cöpeAtma
             Router(config-pmap)#class
nbarDeneme
             Router(config-pmap-c)#Drop

  • Paketleri işaretlemek için;

             Router(config)#policy-map isaretleme
             Router(config-pmap)#class
nbarDeneme
             Router(config-pmap-c)#set precedence 4
  (Burada 0 ile 7 arasında sayı verilebilir.)

  • Paketlerin istatistiğini tutmak için yönlendiricinin ilgili interface(arayüzü)'ine girilerek,

             Router(config-if)#ip nbar protocol-discovery
             Router#sh ip nbar protocol-discovery

  • Ayrıca PDLM yüklemek için;

             Router(config)#ip nbar pdlm flash:/<pdlm’in ismi>

Komutları işletilir.