Ağ simülasyonu

Bilgisayar ağı araştırmalarında, ağ simülasyonu bir yazılım programının gerçek bir ağın davranışını kopyaladığı bir tekniktir. Bu, yönlendiriciler, anahtarlar, düğümler, erişim noktaları, bağlantılar vb. gibi farklı ağ varlıkları arasındaki etkileşimlerin hesaplanmasıyla elde edilir.Çoğu simülatör, durum değişkenlerinin zaman içinde ayrık noktalarda değiştiği sistemlerin modellendiği ayrık olay simülasyonunu kullanır. Ağın ve desteklediği çeşitli uygulama ve hizmetlerin davranışı daha sonra bir test laboratuvarında gözlemlenebilir; ağın/protokollerin farklı koşullar altında nasıl davranacağını değerlendirmek için ortamın çeşitli özellikleri de kontrollü bir şekilde değiştirilebilir.Bir ağ simülatörü, bir bilgisayar ağının veya kablosuz iletişim ağının performansını tahmin edebilen bir yazılım programıdır. İletişim ağları, geleneksel analitik yöntemlerin sistem davranışının doğru bir şekilde anlaşılmasını sağlayamayacak kadar karmaşık hale geldiğinden, ağ simülatörleri kullanılmaktadır. Simülatörlerde, bilgisayar ağı cihazlar, bağlantılar, uygulamalar vb. ile modellenir ve ağ performansı raporlanır. Simülatörler, 5G, Nesnelerin İnterneti (IoT), Wireless LANlar, mobil ad hoc ağlar, kablosuz sensör ağlar, araçsal ad hoc ağlar, bilişsel radyo ağları, LTE vb. gibi günümüzde kullanılan en popüler teknolojiler ve ağlar için destekle birlikte gelir.Ticari simülatörlerinin çoğu GUI odaklıdır, bazı ağ simülatörleri ise CLI odaklıdır. Ağ modeli/yapılandırması ağı (düğümler, yönlendiriciler, anahtarlar, bağlantılar) ve olayları (veri iletimi, paket hatası, vb.) tanımlar. Çıktı sonuçları ağ düzeyinde metrikleri, bağlantı metriklerini, cihaz metriklerini vb. içerir. Ayrıca, simülasyonlar  izleme dosyaları açısından ayrıntılı inceleme de mevcut olacaktır. İzleme dosyaları her paketi, simülasyonda meydana gelen her olayı kaydeder ve analiz için kullanılır. Çoğu ağ simülatörü, bekleyen "olayların" bir listesinin saklandığı ayrık olay simülasyonu kullanır ve bu olaylar sırayla işlenir, bazı olaylar gelecekteki olayları tetikler - örneğin bir paketin bir düğüme varması olayı, bu paketin bir aşağı akış (downstream) düğümüne varması olayını tetikler.Ağ emülasyonu, kullanıcıların gerçek cihazları ve uygulamaları, canlı bir ağın davranışını taklit edecek şekilde paket akışını değiştiren bir test ağına (simüle edilmiş) sokmasına olanak tanır. Canlı trafik simülatörden geçebilir ve simülasyon içindeki nesnelerden etkilenebilir.Tipik metodoloji, canlı bir uygulamadan gelen gerçek paketlerin emülasyon sunucusuna (sanal ağın simüle edildiği yer) gönderilmesidir. Gerçek paket bir simülasyon paketine 'modüle' edilir. Simülasyon paketi, kayıp, hata, gecikme, jitter vb. etkileri yaşadıktan sonra gerçek bir pakete demodüle edilir, böylece bu ağ etkileri gerçek pakete aktarılır. Böylece gerçek paket gerçek bir ağ üzerinden akmış gibi olur ancak gerçekte simüle edilmiş ağ üzerinden akmıştır.Emülasyon (Öykünme), dağıtımdan önce iletişim ağlarını doğrulamak için tasarım aşamasında yaygın olarak kullanılır.Hem ücretsiz/açık kaynaklı hem de tescilli ağ simülatörleri mevcuttur. Önemli ağ simülatörlerine / emülatörlerine örnekler şunlardır:Makine Öğrenimi: Ağ parametrelerini optimize etmek için makine öğrenimi algoritmalarını test etme, ağlar üzerinde makine öğrenimi algoritmalarını eğiten sentetik veriler oluşturmaEğitim: Çevrimiçi kurslar, Laboratuvar deneyleri ve Ar-Ge Çoğu üniversite, donanım ekipmanı satın almak çok pahalı olduğu için öğretim / Ar-Ge için bir ağ simülatörü kullanırÇok basitten çok karmaşığa kadar değişen çok çeşitli ağ simülatörleri vardır. Asgari olarak, bir ağ simülatörü kullanıcının aşağıdakileri yapmasını sağlamalıdır