ns (network simulator ifadesinin kısaltması), bir dizi ayrık olay ağ simülatörleri, özellikle ns-1, ns-2 ve ns-3 için kullanılan bir isimdir. Hepsi, öncelikle araştırma ve öğretimde kullanılan ayrık olay bilgisayar ağı simülatörleridir.
İlk yayınlanma | 30 Haziran 2008 | )
---|---|
Güncel sürüm | 3.41 / 9 Şubat 2024 | )
Programlama dili | (core), Python (bindings) |
İşletim sistemi | Linux, FreeBSD, macOS |
Platform | IA-32, x86-64 |
Tür | Ağ simülatörü |
Lisans | GNU GPL |
Resmî sitesi | www |
Kod deposu |
|
Tarihçe
ns-1
ns-1 olarak bilinen ns'nin ilk sürümü 1995-97 zaman diliminde Steve McCanne, , Kevin Fall ve diğer katkıda bulunanlar tarafından Lawrence Berkeley National Laboratory (LBNL)'de geliştirilmiştir. Bu, LBNL Ağ Simülatörü olarak biliniyordu ve 1989 yılında S. Keshav tarafından REAL olarak bilinen daha önceki bir simülatörden türetildi.
ns-2
ns-2, ns-1'in bir revizyonu olarak başladı. 1997'den 2000'e kadar ns'nin geliştirilmesi DARPA tarafından LBL, Xerox PARC, UC Berkeley ve 'deki VINT projesi aracılığıyla desteklendi. 2000 yılında ns-2'nin geliştirilmesi DARPA tarafından SAMAN ile ve NSF tarafından CONSER ile, her ikisi de USC/ISI'de, ACIRI dahil diğer araştırmacılarla işbirliği içinde desteklenmiştir.
NS2'nin özellikleri
- Ağ araştırmaları için ayrık bir olay simülatörüdür.
- TCP, FTP, UDP, HTTPS ve DSR gibi bir grup protokolü simüle etmek için önemli destek sağlar.
- Kablolu ve kablosuz ağ simülasyonu yapar.
- Öncelikle Unix tabanlıdır.
- Betik dili olarak TCL kullanır.
- Otcl: Nesne yönelimli desteği
- Tclcl: C++ ve otcl bağlantısı
- Ayrık olay çizelgesi
Ns-2, UCB Daedelus ve CMU Monarch projeleri ve Sun Microsystems'den kablosuz kod dahil olmak üzere üçüncü tarafların önemli katkılarını içermektedir.
ns-3
2003 yılında Tom Henderson, George Riley, ve Sumit Roy liderliğindeki bir ekip, ns-2'nin yerine ns-3 adında bir yazılım geliştirmek için ABD Ulusal Bilim Vakfı'na (NSF) başvurmuş ve fon almıştır. Bu ekip, Sophia Antipolis'teki 'nın Planete projesi ile işbirliği yaptı ve Mathieu Lacage'ın yazılım lideri olduğu yeni bir açık kaynak projesi oluşturdu.
ns-3'ün geliştirilmesi sürecinde, ns-2 ile geriye dönük uyumluluğun tamamen terk edilmesine karar verildi. Yeni simülatör programlama dili kullanılarak sıfırdan yazılacaktı. ns-3'ün geliştirilmesine Temmuz 2006'da başlandı.
Üç sürümün mevcut durumu şöyledir:
- ns-2 kurulduğunda ns-1'in geliştirilmesi durduruldu. Artık geliştirilmemekte ve bakımı yapılmamaktadır.
- ns-2'nin geliştirilmesi 2010 yılı civarında durdu. Artık geliştirilmemekte ve bakımı yapılmamaktadır.
- ns-3 aktif olarak geliştirilmekte ve sürdürülmektedir.
Tasarım
ns-3, ve Python kullanılarak betik oluşturma özelliği ile oluşturulmuştur. ns kütüphanesi, ns C++ başlıklarının ayrıştırılmasını castxml ve pygccxml'ye devrederek ilgili C++ bağlama (binding) yapıştırıcısını otomatik olarak üreten pybindgen kütüphanesi sayesinde Python tarafından sarmalanır. Otomatik olarak oluşturulan bu C++ dosyaları son olarak ns Python modülünde derlenerek kullanıcıların Python komut dosyaları aracılığıyla C++ ns modelleri ve çekirdeği ile etkileşime girmesine olanak tanır. ns simülatörü, simülasyon parametreleri için varsayılan ve örnek başına değerleri yönetmek için entegre bir öznitelik tabanlı sisteme sahiptir.
Gereksinimler
ns'i oluşturmak için bir bilgisayara ve bir C++ derleyicisine ihtiyacınız var. Ns'yi çeşitli Unix türleri (FreeBSD, Linux, SunOS, Solaris) üzerinde geliştiriyoruz, bu nedenle en sorunsuz şekilde orada kurulur, ancak muhtemelen bazı ince ayarlarla Posix benzeri bir bilgisayarda çalışmalıdır. Ns ayrıca Windows altında da kurulur ve çalışır, özel Windows/Cygwin sayfasına bakın. Basit senaryolar makul herhangi bir makinede çalışmalıdır, ancak çok büyük senaryolar büyük miktarda bellekten yararlanır.
Ns oldukça büyüktür. Allinone paketini oluşturmak için yaklaşık 320MB disk alanı gerekir. Parçalardan ns oluşturmak biraz disk alanı kazandırabilir. (Birden fazla kişi yer kazanmak için ns derleme ağacındaki dosyaları paylaşmak isterse, basit bir Perl betiği indirebilir, ardından README'deki talimatları takip edebilirsiniz. USC'nin CS599b sınıfından ayrıntılı talimatlar var. Ayrıca ns-users posta listesi arşivindeki tartışmaları da yararlı bulabilirsiniz).
Ns indirme ve oluşturma
Kasım 2005 itibarıyla, ns bu SourceForge sitesinde mevcuttur.
Ns, Tcl/Tk'nın (başlık dosyalarıyla birlikte) mütevazı bir şekilde güncel bir kurulumunu ve iki ek paketi gerektirir: tclcl ve otcl. Çoğu işletim sistemi kurulumu tam Tcl/Tk kurulumları veya bu diğer paketlerle birlikte gelmez, bu nedenle büyük olasılıkla ilave olarak birkaç paket yüklemeniz gerekecektir.
- Genel Linux, BSD, OS X ve Solaris talimatları
Ns oluşturmanın iki tipik yolu vardır: her bileşeni ayrı ayrı ("parçalardan") oluşturmak veya hepsini tek seferde yükleyen bir komut dosyası çalıştırmak ("allinone"). Eğer sadece hızlı bir şekilde denemek istiyorsanız, allinone paketini deneyebilirsiniz. C düzeyinde geliştirme yapmak istiyorsanız, indirme süresinden veya disk alanından tasarruf etmek istiyorsanız ya da allinone ile sorun yaşıyorsanız, parçalardan oluşturmalısınız.
allinone paketinin yüklenmesi: Bu paket, Tcl/Tk, OTcl, tclcl, ns-2, nam-1 ve diğer paketlerin kurulumunu gerçekleştiren bir kurulum betiğine sahiptir.
allinone paketinin güncelleme: "allinone" paketi yalnızca her sürüm için güncellenir. Platformunuz için allinone paketinin rahatlığıyla ilgileniyorsanız, ancak ns-2 kodunun daha taze bir anlık görüntüsünü kullanmak istiyorsanız güncelleme yöntemini kullanabilirsiniz.
(Not: Yukarıdaki allinone ve pieces ISI sayfalarının vikileştirilmesi ve güncellenmesi gerekmektedir)
- Kaynaklardan ns oluşturma - Talimatlar
Farklı sistemlere özgü bazı talimatlar dokümantasyonda almaktadır.
Wouter Horré ns/nam için bir PPA tutmaktadır, böylece kullanıma hazır deb paketlerini oradan alabilirsiniz. Eğer bir sebepten dolayı build-from-sources kurulum talimatlarını arıyorsanız dokümana göz atın.
Simülasyon iş akışı
Bir simülasyon oluşturmanın genel süreci birkaç adıma ayrılabilir:
- Topoloji tanımı (Topology definition): Temel tesislerin oluşturulmasını kolaylaştırmak ve birbirleriyle ilişkilerini tanımlamak için ns-3, bu süreci kolaylaştıran bir kapsayıcı ve yardımcılar sistemine sahiptir.
- Model geliştirme (Model development): Modeller simülasyona eklenir (örneğin, UDP, IPv4, noktadan noktaya cihazlar ve bağlantılar, uygulamalar); çoğu zaman bu yardımcılar kullanılarak yapılır.
- Düğüm ve bağlantı yapılandırması (Node and link configuration): modeller varsayılan değerlerini ayarlar (örneğin, bir uygulama tarafından gönderilen paketlerin boyutu veya noktadan noktaya bağlantının MTU'su); çoğu zaman bu, öznitelik sistemi kullanılarak yapılır.
- Yürütme (Execution): Simülasyon tesisleri olaylar üretir, kullanıcı tarafından talep edilen veriler günlüğe kaydedilir.
- Performans analizi (Performance analysis): Simülasyon tamamlandıktan sonra veriler zaman damgalı olay izi olarak kullanılabilir. Bu veriler daha sonra R gibi araçlarla istatistiksel olarak analiz edilerek sonuçlar çıkarılabilir.
- Grafiksel Görselleştirme (Graphical Visualization): Bir simülasyonda toplanan ham veya işlenmiş veriler Gnuplot, matplotlib veya XGRAPH gibi araçlar kullanılarak grafik haline getirilebilir.
Ayrıca bakınız
Kaynakça
- ^ Henderson, Tom (9 Haziran 2012). (E-posta). ns-3 GSoC 2015 students. 27 Mart 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Mayıs 2013.
- ^ Hata: Referans düzgün görüntülenemiyor. Bilgi için belgeleme sayfasına bakınız.
- ^ . 22 Şubat 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Ağustos 2012.
- ^ "Planete Project". 14 Nisan 2017 tarihinde kaynağından . Erişim tarihi: 27 Eylül 2023.
- ^ (PDF). 27 Eylül 2023 tarihinde kaynağından (PDF) arşivlendi.
- ^ "User Information - nsnam". 7 Temmuz 2023 tarihinde kaynağından . Erişim tarihi: 27 Eylül 2023.
Dış bağlantılar
- ns-3 web sayfası
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
ns network simulator ifadesinin kisaltmasi bir dizi ayrik olay ag simulatorleri ozellikle ns 1 ns 2 ve ns 3 icin kullanilan bir isimdir Hepsi oncelikle arastirma ve ogretimde kullanilan ayrik olay bilgisayar agi simulatorleridir ns 3Ilk yayinlanma30 Haziran 2008 16 yil once 2008 06 30 Guncel surum3 41 9 Subat 2024 Error first parameter 9 Subat 2024 07 11 cannot be parsed as a date or time 9 Subat 2024 Programlama diliC core Python bindings Isletim sistemiLinux FreeBSD macOSPlatformIA 32 x86 64TurAg simulatoruLisansGNU GPLResmi sitesiwww wbr nsnam wbr org Kod deposugitlab com nsnam ns 3 dev gitTarihcens 1 ns 1 olarak bilinen ns nin ilk surumu 1995 97 zaman diliminde Steve McCanne Kevin Fall ve diger katkida bulunanlar tarafindan Lawrence Berkeley National Laboratory LBNL de gelistirilmistir Bu LBNL Ag Simulatoru olarak biliniyordu ve 1989 yilinda S Keshav tarafindan REAL olarak bilinen daha onceki bir simulatorden turetildi ns 2 ns 2 ns 1 in bir revizyonu olarak basladi 1997 den 2000 e kadar ns nin gelistirilmesi DARPA tarafindan LBL Xerox PARC UC Berkeley ve deki VINT projesi araciligiyla desteklendi 2000 yilinda ns 2 nin gelistirilmesi DARPA tarafindan SAMAN ile ve NSF tarafindan CONSER ile her ikisi de USC ISI de ACIRI dahil diger arastirmacilarla isbirligi icinde desteklenmistir NS2 nin ozellikleri Ag arastirmalari icin ayrik bir olay simulatorudur TCP FTP UDP HTTPS ve DSR gibi bir grup protokolu simule etmek icin onemli destek saglar Kablolu ve kablosuz ag simulasyonu yapar Oncelikle Unix tabanlidir Betik dili olarak TCL kullanir Otcl Nesne yonelimli destegi Tclcl C ve otcl baglantisi Ayrik olay cizelgesi Ns 2 UCB Daedelus ve CMU Monarch projeleri ve Sun Microsystems den kablosuz kod dahil olmak uzere ucuncu taraflarin onemli katkilarini icermektedir ns 3 2003 yilinda Tom Henderson George Riley ve Sumit Roy liderligindeki bir ekip ns 2 nin yerine ns 3 adinda bir yazilim gelistirmek icin ABD Ulusal Bilim Vakfi na NSF basvurmus ve fon almistir Bu ekip Sophia Antipolis teki nin Planete projesi ile isbirligi yapti ve Mathieu Lacage in yazilim lideri oldugu yeni bir acik kaynak projesi olusturdu ns 3 un gelistirilmesi surecinde ns 2 ile geriye donuk uyumlulugun tamamen terk edilmesine karar verildi Yeni simulator C programlama dili kullanilarak sifirdan yazilacakti ns 3 un gelistirilmesine Temmuz 2006 da baslandi Uc surumun mevcut durumu soyledir ns 2 kuruldugunda ns 1 in gelistirilmesi durduruldu Artik gelistirilmemekte ve bakimi yapilmamaktadir ns 2 nin gelistirilmesi 2010 yili civarinda durdu Artik gelistirilmemekte ve bakimi yapilmamaktadir ns 3 aktif olarak gelistirilmekte ve surdurulmektedir Tasarimns 3 C ve Python kullanilarak betik olusturma ozelligi ile olusturulmustur ns kutuphanesi ns C basliklarinin ayristirilmasini castxml ve pygccxml ye devrederek ilgili C baglama binding yapistiricisini otomatik olarak ureten pybindgen kutuphanesi sayesinde Python tarafindan sarmalanir Otomatik olarak olusturulan bu C dosyalari son olarak ns Python modulunde derlenerek kullanicilarin Python komut dosyalari araciligiyla C ns modelleri ve cekirdegi ile etkilesime girmesine olanak tanir ns simulatoru simulasyon parametreleri icin varsayilan ve ornek basina degerleri yonetmek icin entegre bir oznitelik tabanli sisteme sahiptir Gereksinimlerns i olusturmak icin bir bilgisayara ve bir C derleyicisine ihtiyaciniz var Ns yi cesitli Unix turleri FreeBSD Linux SunOS Solaris uzerinde gelistiriyoruz bu nedenle en sorunsuz sekilde orada kurulur ancak muhtemelen bazi ince ayarlarla Posix benzeri bir bilgisayarda calismalidir Ns ayrica Windows altinda da kurulur ve calisir ozel Windows Cygwin sayfasina bakin Basit senaryolar makul herhangi bir makinede calismalidir ancak cok buyuk senaryolar buyuk miktarda bellekten yararlanir Ns oldukca buyuktur Allinone paketini olusturmak icin yaklasik 320MB disk alani gerekir Parcalardan ns olusturmak biraz disk alani kazandirabilir Birden fazla kisi yer kazanmak icin ns derleme agacindaki dosyalari paylasmak isterse basit bir Perl betigi indirebilir ardindan README deki talimatlari takip edebilirsiniz USC nin CS599b sinifindan ayrintili talimatlar var Ayrica ns users posta listesi arsivindeki tartismalari da yararli bulabilirsiniz Ns indirme ve olusturmaKasim 2005 itibariyla ns bu SourceForge sitesinde mevcuttur Ns Tcl Tk nin baslik dosyalariyla birlikte mutevazi bir sekilde guncel bir kurulumunu ve iki ek paketi gerektirir tclcl ve otcl Cogu isletim sistemi kurulumu tam Tcl Tk kurulumlari veya bu diger paketlerle birlikte gelmez bu nedenle buyuk olasilikla ilave olarak birkac paket yuklemeniz gerekecektir Genel Linux BSD OS X ve Solaris talimatlari Ns olusturmanin iki tipik yolu vardir her bileseni ayri ayri parcalardan olusturmak veya hepsini tek seferde yukleyen bir komut dosyasi calistirmak allinone Eger sadece hizli bir sekilde denemek istiyorsaniz allinone paketini deneyebilirsiniz C duzeyinde gelistirme yapmak istiyorsaniz indirme suresinden veya disk alanindan tasarruf etmek istiyorsaniz ya da allinone ile sorun yasiyorsaniz parcalardan olusturmalisiniz allinone paketinin yuklenmesi Bu paket Tcl Tk OTcl tclcl ns 2 nam 1 ve diger paketlerin kurulumunu gerceklestiren bir kurulum betigine sahiptir allinone paketinin guncelleme allinone paketi yalnizca her surum icin guncellenir Platformunuz icin allinone paketinin rahatligiyla ilgileniyorsaniz ancak ns 2 kodunun daha taze bir anlik goruntusunu kullanmak istiyorsaniz guncelleme yontemini kullanabilirsiniz Not Yukaridaki allinone ve pieces ISI sayfalarinin vikilestirilmesi ve guncellenmesi gerekmektedir Kaynaklardan ns olusturma Talimatlar Farkli sistemlere ozgu bazi talimatlar dokumantasyonda almaktadir Wouter Horre ns nam icin bir PPA tutmaktadir boylece kullanima hazir deb paketlerini oradan alabilirsiniz Eger bir sebepten dolayi build from sources kurulum talimatlarini ariyorsaniz dokumana goz atin Simulasyon is akisiBir simulasyon olusturmanin genel sureci birkac adima ayrilabilir Topoloji tanimi Topology definition Temel tesislerin olusturulmasini kolaylastirmak ve birbirleriyle iliskilerini tanimlamak icin ns 3 bu sureci kolaylastiran bir kapsayici ve yardimcilar sistemine sahiptir Model gelistirme Model development Modeller simulasyona eklenir ornegin UDP IPv4 noktadan noktaya cihazlar ve baglantilar uygulamalar cogu zaman bu yardimcilar kullanilarak yapilir Dugum ve baglanti yapilandirmasi Node and link configuration modeller varsayilan degerlerini ayarlar ornegin bir uygulama tarafindan gonderilen paketlerin boyutu veya noktadan noktaya baglantinin MTU su cogu zaman bu oznitelik sistemi kullanilarak yapilir Yurutme Execution Simulasyon tesisleri olaylar uretir kullanici tarafindan talep edilen veriler gunluge kaydedilir Performans analizi Performance analysis Simulasyon tamamlandiktan sonra veriler zaman damgali olay izi olarak kullanilabilir Bu veriler daha sonra R gibi araclarla istatistiksel olarak analiz edilerek sonuclar cikarilabilir Grafiksel Gorsellestirme Graphical Visualization Bir simulasyonda toplanan ham veya islenmis veriler Gnuplot matplotlib veya XGRAPH gibi araclar kullanilarak grafik haline getirilebilir Ayrica bakinizGloMoSimKaynakca Henderson Tom 9 Haziran 2012 E posta ns 3 GSoC 2015 students 27 Mart 2012 tarihinde kaynagindan arsivlendi Erisim tarihi 31 Mayis 2013 Hata Referans duzgun goruntulenemiyor Bilgi icin belgeleme sayfasina bakiniz 22 Subat 2013 tarihinde kaynagindan arsivlendi Erisim tarihi 30 Agustos 2012 Planete Project 14 Nisan 2017 tarihinde kaynagindan Erisim tarihi 27 Eylul 2023 PDF 27 Eylul 2023 tarihinde kaynagindan PDF arsivlendi User Information nsnam 7 Temmuz 2023 tarihinde kaynagindan Erisim tarihi 27 Eylul 2023 Dis baglantilarns 3 web sayfasi