Ağ Benzetim Yazılımı -...

37
Bilgisayar Mühendisliği Bölümü OMNET++ 4.2.2 Ağ Benzetim Yazılımı (Network Simulation Framework) GYTE - Bilgisayar Mühendisliği Bölümü BİL 372 Bilgisayar Ağları (Network Simulation Framework)

Transcript of Ağ Benzetim Yazılımı -...

Page 1: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Bilgisayar Mühendisliği Bölümü

OMNET++ 4.2.2 Ağ Benzetim Yazılımı

(Network Simulation Framework)

GYTE - Bilgisayar Mühendisliği Bölümü

BİL 372 Bilgisayar Ağları

(Network Simulation Framework)

Page 2: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

OMNET++• OMNET++ (Objective Modular Network

Testbed in C++), nesneye yönelik (object-oriented) modüler bir ayrık olay ağbenzeticisidir.

• Bir çok alanda kullanılan haberleşme

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

ç şağlarının modellenmesini sağlar.

• C/C++ programlama dilleri kullanılarak programcı açısından esnek bir şekilde tasarım yapılabilme olanağı sağlamaktadır.

Page 3: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

OMNET++ Avantajları• Omnet ++ ile oluşturulan benzetim

programları platformdan bağımsız olarak çalışmaktadır.

• Bazı görsel kullanıcı arabirim desteği ile kolay hata-ayıklamaya (debugging) ve değişkenlerin

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

y y ( gg g) ğ şdenetimine imkan verir.

• Benzetim sonuçlarının kolay şekilde elde edilmesine olanak sağlamaktadır.

Page 4: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

OMNET++ Avantajları • Gelişmiş bir benzetim kütüphanesine sahiptir.

• Benzetilecek olan tüm nesneler statik ya da dinamik olarak oluşturulabilmektedir.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

• Ücretsiz bir yazılımdır ve zengin dokümantasyon desteğine sahiptir.

Page 5: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Kullanım Alanları• Haberleşme trafiğinin modellenmesi• İletişim protokollerinin modellemesi• Çok islemcili ve diğer dağıtık donanım

sistemlerini modelleme• Donanım yapılarının incelemesi

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

• Donanım yapılarının incelemesi• Karmasık sistemlerin başarım analizlerinin

değerlendirilmesi• Ayrık olay yaklasımının elverisli olduğu diğer

sistemlerin modellemesi.

Page 6: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Programlama• OMNET++ da programlama yapılırken

Topoloji ve Davranış kavramları ön plana çıkar.

• Topoloji:

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Topoloji:– Ağ topolojisi tanımlamaları NED(Network

Description File) dili aracılığıyla .ned uzantılı dosyalar oluşturularak gerçekleştirilmektedir.

– Ağ topolojilerinin görsel tasarlanabilmesine imkan verir.

Page 7: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Programlama• Davranış:

– OMNET++’da tanımlanan modüllerin nasıl davranacağı, C++ dilinde yazılmış kodlar ile gerçekleştirilmiştir.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

– OMNET++’da bulunan kodlar GNU (General Public Licence)’ a sahiptir.

Page 8: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

OMNET++ da Derleme

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 9: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

OMNET++İndirme• OMNET++ ’ın Linux, MacOS ve Windows versiyonları

bulunmaktadır. www.omnetpp.org

• Downloads/OMNET++ Releases/ Older VersionsOMNeT++ 4.2.2 win32 (source + IDE + MinGW, zip)

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

• Windows icin OMNET++’ın en son surumu OMNET++ 4.4.1Mart 2014 tarihinde yayınlanmıştır.

• JRE (Java Runtime Environment) 5 surumu veya üstü gerekmektedir.

• Klasik kurulum seklinde değildir. Calıstırılabilmesi icinderlenmesi gerekmektedir.

Page 10: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

OMNET++ Kurulumu• İndirdiğiniz .zip uzantılı dosyayı bir yere çıkartınız.

omnetpp-4.2.2 isimli bir klasör oluşacaktır. Oluşan bu klasörün içindeki mingwenv.cmd isimli programı çalıştırınız.

• Daha sonra çıkan konsolda configure komutunu giriniz

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

giriniz.

Page 11: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

• İşlemler bittikten sonra konsola bu kez makeyazarak OMNET++ ortamının derlenmesini sağlayın. Bu işlem uzun sürebilir.

• Bu işlem bittikten sonra omnetpp komutu ile

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Bu işlem bittikten sonra omnetpp komutu ile OMNET++ 4.2.2 yi başlatabilirsiniz.

Page 12: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Omnet ++• Açılan ekranda Workspace butonuna tıklayarak /samples

klasörünün altındaki örnekler OMNET++’ın çalışma alanında çıkacaktır.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 13: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

OMNET ++ Ortamı

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 14: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

OMNET ++ Proje çalıştırma• Workspace içindeki projeleri açmak için

projenin klasörüne sağ tıklayarak OpenProject tıklanmalı, daha sonra da BuildProject ile proje derlenmelidir.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 15: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

İlk Simulasyon• İki node arasında mesaj alışverişi..

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 16: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 17: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

• Burada ilk olarak bir ağ oluşturmamız gerekmektedir. Bunun için uygulama projesine sağ tıklayarak New-> Network Description File (NED) ile net.ned isimli bir ağ oluşturunuz.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 18: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 19: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 20: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 21: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 22: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 23: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 24: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 25: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 26: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama • OMNET ++ ortamının anlaşılabilmesi için TicToc örneği

önemlidir.

• Bu örnekte, tic ve toc isimli iki düğüm bulunmaktadır. İlk paketi tic isimli düğüm üretir ve 100 ms gecikme ile toc’agönderir.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

• toc ise 100 ms gecikme ile bu paketi geri gönderir ve bu işlem bu şekilde devam eder.

• Bu örneği gerçekleştirmek için uygulama isimli projeyi File->New Project->OMNET++ Project yolu ile oluşturunuz.

Page 27: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• Oluşan proje Project Explorer’da gözükmektedir.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

• Burada ilk olarak bir ağ oluşturmamız gerekmektedir. Bunun için ornekUygulama projesine sağ tıklayarak New-> Network Description File (NED) ile tictoc.ned isimli bir ağ oluşturunuz.

Page 28: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• Ağ oluştururken NED with one item ile Network

seçimini yapınız. • Daha sonra tic ve toc modülleri için gereken Simple

Module tasarlanmalıdır. Bunun için proje dosyası üzerinde New->Simple Module ile Txc isimli bir Simple Module olşturunuz Txc ned dosyası ile

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Simple Module olşturunuz. Txc.ned dosyası ile birlikte Txc.h ve Txc.cc dosyaları oluşmaktadır.

• Oluşan bu Txc modülü OMNET++ da sağ taraftaki Submodules kısmında gözükmektedir.

Page 29: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• Daha sonra Txc.ned dosyasının Source

kısmında modüllerin giriş ve çıkışları tanımlanır.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 30: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• Daha sonra tictoc.ned ağ dosyasına Txc

düğümleri sağ taraftaki Submodulekullanılarak eklenir ve isimleri tic ve toc olarak değiştirilir.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 31: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• İki düğüm arasındaki bağlantı Connection

tıklanarak sağlanmaktadır.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 32: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• Daha sonra tictoc.ned dosyasının kaynak

kodlarında iki kanal arasına 100 ms gecimkeataması yapılır.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 33: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• Modüllerin davranışlarının nasıl olacağı

Txc.cc dosyasında tanımlanır.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 34: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• Topoloji oluşturulduktan ve düğümlerin davranışlarının

tanımlandığı C++ dosyası yazıldıktan sonra benzetim ile alakalı başlangıç ayarlarının yapıldığı omnetpp.ini dosyasının tanımlanması gerekmektedir. Bunun için proje ismi üzerinde New->Initialization File(ini) kullanarak EmptyIni file seçilmelidir. Burada ağ seçerken Browse… ile Tictocağı seçilerek çalıştırılacak ağ seçilmiş olur.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

ağı seçilerek çalıştırılacak ağ seçilmiş olur.

Page 35: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

Page 36: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Örnek Uygulama• Simülasyonu çalıştırabilmek için ilk önce

ornekUygulama isimli projeyi Build Project ile derlemeliyiz. Daha sonra omnetpp.inidosyasına sağ tıklayarak Run As -> OMNET++ Simulation ile simülasyonumuzu

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I

çalıştırabiliriz.

Page 37: Ağ Benzetim Yazılımı - abl.gtu.edu.trabl.gtu.edu.tr/hebe/AblDrive/59669005/w/Storage/104_2010_2_372... · •Gelişmiş bir benzetim kütüphanesine sahiptir. • Benzetilecek

Simülasyon• Örnek bir hatasız simülasyon çıktısı aşağıdaki

gibidir.

GYTE - Bilgisayar Mühendisliği Bölümü BIL 691 Seminer I