# Ağ emülasyonu
Ağ emülasyonu gerçek uygulamaların performansını sanal bir ağ üzerinden test etmek için kullanılan bir tekniktir. Bu kavram, sanal trafik modellerinin, ağ modellerinin, kanalların ve protokollerin uygulandığı ağ simülasyonu'ndan farklıdır. Amaç, performansı değerlendirmek, değişimin etkisini tahmin etmek veya başka bir şekilde teknoloji karar verme sürecini optimize etmektir.


## Emülasyon yöntemleri.
Ağ emülasyonu, bir ağın (5G, kablosuz, MANET'ler, vb) davranışını bir laboratuvarda test etme eylemidir. Bir kişisel bilgisayar veya sanal makine ağ emülasyonunu gerçekleştirmek için bir yazılım çalıştırır; bazen bağlantı emülasyonu için özel bir emülasyon cihazı kullanılır.
Ağlarda gecikme, hata ve paket kaybı olabilir. Ağ emülasyonunun birincil amacı, kullanıcıların test edilen cihazları, uygulamaları, ürünleri ve/veya hizmetleri gerçek dünya ağ senaryolarına karşı performanslarını, kararlılıklarını veya işlevselliklerini doğrulamak için kullanabilecekleri bir ortam yaratmaktır. Gerçek ağ koşullarına karşı kontrollü bir ortamda gerekli testler yapıldıktan sonra, kullanıcılar test edilen öğenin gerçek ortamda da beklendiği gibi performans göstereceğinden emin olabilirler.


## Emülasyon, simülasyon ve trafik oluşturma.
Emülasyonda simülasyon'dan farklı olarak bir ağ emülatörü bir ağ "gibi" görünür; bilgisayar gibi uç sistemler emülatöre bağlanabilir ve bir ağa bağlıymış gibi davranır. Bir ağ emülatörü uç sistemleri birbirine bağlayan ağı yansıtır, uç sistemlerin kendilerini değil.
Ağ simülatörleri tipik olarak tek bir bilgisayarda çalışan, data akış yani kaynak ve hedef arasında alış-veriş süreci gibi ağ trafiğinin soyut bir tanımını yaparak verim, gecikme, kayıp vb. gibi performans istatistikleri veren programlardır.
Bu ürünler tipik olarak Servis Sağlayıcıların, Ağ Ekipmanı Üreticilerinin ve İşletmelerin Geliştirme ve Kalite-Güvence (QA-quality of assurance) ortamlarında bulunur ve kullanılır.


## Ağ emülasyonu yazılım.
Yazılım geliştiriciler genellikle istemci-sunucu uygulamalarının yanıt süresini ve paket kaybına karşı hassasiyetini analiz etmek ve farklı gidiş-dönüş süreleri, aktarım hızları, bit hata oranları ve paket kayıpları ile belirli ağ etkilerini (5G, Akıllı evler, endüstriyel IOT, askeri ağlar vb. gibi) taklit etmek isterler.
İki açık kaynaklı ağ emülatörü Common Open Research Emulator (CORE) ve Extendable Mobile Ad hoc Network Emulator (EMANE)'dir. Her ikisi de ağ kara kutuları olarak çalışmayı destekler, yani harici makineler/cihazlar emülasyon bilgisi olmadan emüle edilmiş ağa bağlanabilir. Ayrıca çeşitli doğruluk dereceleriyle hem kablolu hem de kablosuz ağ emülasyonunu desteklerler. CORE, hızlı ağ düzenleri (3. katman ve üzeri) ve tek makine emülasyonu için daha kullanışlıdır. EMANE, dağıtılmış yüksek sadakatli büyük ölçekli ağ emülasyonu (1. ve 2. katmanlar) için daha uygundur.
En popüler ağ simülasyon yazılım paketleri olan OPNET ve Tetcos NetSim, gerçek zamanlı cihaz bağlantısı için emülasyon modüllerine de sahiptir. Genel olarak emülasyon yeteneklerine sahip simülasyon araçları, emülasyon cihazlarından daha fazla karmaşıklık sağlar. Emülasyon cihazları yalnızca fiziksel bağlantının emülasyonunu sağlar ve daha yüksek katmanların (MAC, ağ, taşıma, vb.) etkilerini hesaba katmaz. Ancak simülasyon araçları, emülasyon modunda çalışırken ağ yığınının farklı katmanlarından gelen etkileri modeller. Birden fazla kaynak/hedef, yönlendirici, baz istasyonu, MANET protokolü vb. öğenin bağlanmasına izin verirler.


## Trafik oluşturma yazılımı.
Maksimum verim koşulları altındaki ağ performansı, iperf gibi bir ağ trafiği oluşturucu kullanılarak bir testbed ağında ağ trafiği ölçümü ile analiz edilebilir. Trafik oluşturucu, genellikle benzersiz bir paket tanımlayıcısına sahip sahte paketler gönderir, böylece bir ağ analizörü kullanarak ağdaki paket teslimatını takip etmek mümkün olur.