5. Uluslararası İleri Teknolojiler Sempozyumu (İATS’09), 13-15 Mayıs 2009, Karabük, Türkiye AĞLARIN EĞİTİMİ VE ARAŞTIRILMASI İÇİN DEVS TABANLI SİMÜLATÖR TASARIMI VE UYGULAMASI DESIGN AND APPLICATION OF A DEVS-BASED SIMULATOR FOR NETWORK EDUCATION AND RESEARCH Ahmet ZENGİN, Hüseyin EKİZ, Bülent ÇOBANOĞLU ve Sinan TUNCEL Sakarya Üniversitesi Teknik Eğitim Fakültesi Elektronik ve Bilgisayar Eğitimi Bölümü, Sakarya, TÜRKİYE. {azengin, ekiz, bcobanoglu ve stuncel}@sakarya.edu.tr Özet Bilgisayar ağları günümüzde hemen hemen her alanda yaygın olarak kullanılmaktadır. Devlet kamu hizmetlerinden eğlence ve sohbet ağlarına kadar her sektör ağ sistemlerini hizmet ve faaliyet alanı olarak benimseyerek, bir şekilde sanal alemde yer edinmişlerdir. Ağ sistemleri bu kadar hayatımıza girmişken, bu sistemlerin ve teknolojinin henüz yeterince eğitim altyapısı oluşmamıştır. Özellikle eksiklik, teorik kavramların yerleşmesine kaktı sağlayacak eğitim ve araştırma araçlarının yetersizliğinden, anlaşılmazlığından, kullanım / gelişim zorluğundan ve açık kaynak kodlu olmayışından kaynaklanmaktadır. Bu çalışmada, yukarıda ifade edilen problemleri ortadan kaldırmaya yönelik olarak, eğitim ve araştırma amaçlı kullanılabilecek bir ağ simülatörü geliştirilmiştir. Simülatör ayrık olaylı modelleme ve simülasyon yöntemi (DEVS) kullanılarak DEVSJAVA ortamında geliştirilmiştir. Anahtar kelimeler: Eğitim Simülatörü, Modelleme ve Simülasyon, DEVS, İnternet. Abstract Network systems are used almost all areas in the world. From public services to entertainment, all sectors are adopted the internet as a service area. Though this is a fact, its education approaches are not completely well defined and provided. These deficiencies are lack of tools of education and methodology, difficulty of their design and lack of open source software. In this work, in order to meet above problems, a opensource, modular and easy to use network simulator are designed which can be used for network education and research. Simulator itself contains the technologies such as Java, DEVS and agent based modeling, and implemented in DEVSJAVA modeling and simulation environment. . Keywords: Educational simulator, simulation (M&S), DEVS, Internet. Modeling and 1. Giriş Bilgisayar ağları günümüzde hemen hemen her alanda yaygın olarak kullanılmaktadır. Devlet kamu hizmetlerinden basit eğlence ve sohbet ağlarına kadar her sektör ağ sistemlerini hizmet ve faaliyet alanı olarak benimseyerek, bir şekilde sanal alemde yer edinmişlerdir. Ağ hızında ve © IATS’09, Karabük Üniversitesi, Karabük, Türkiye işlem yapma gücündeki hızlı artış gereksinimi, ağ içerisinde gerçekleştirilen yönlendirme ve yönetim işlemlerinin, merkezi bir yapıdan dağıtık bir yapıya doğru kaymasını zorunlu kılmaktadır. Performans / maliyet oranının göz önünde tutulması zorunluluğu, araştırmacıları ağ üzerinde yeni işlem kapasitelerinin eklenmesi ve yeni yöntemlerin tasarlanması konusuna daha fazla yöneltmektedir. Bu yönelim, nesneye yönelik teknolojilerle birlikte yazılım endüstrisinde yoğunlaşmakta ve yazılım endüstrisindeki yoğunlaşma sonucunda nesneye yönelik eğilim birbirleri ile etkileşen yazılım bileşenlerinin modellenmesi ve tasarlanması yaygın bilinen konular olarak ortaya çıkmaktadır. Ağ sistemleri bu kadar hayatımıza girmişken, bu sistemlerin ve teknolojinin henüz yeterince eğitim altyapısı oluşmamıştır. Özellikle eksiklik, teorik kavramların yerleşmesine kaktı sağlayacak eğitim ve araştırma araçlarının yetersizliğinden, anlaşılmazlığından, kullanım / gelişim zorluğundan ve açık kaynak kodlu olmayışından kaynaklanmaktadır. Bunun yanında, İnternetin yakın gelecekte 1 milyar düğüme erişeceği düşünülürse, ölçeklenebilirlik kavramının ağların modellenmesinde ve simülasyonunda yeni boyutlar kazanacağı açıktır. Statik topoloji üreten simülatörler (COMNET, NS2, OPNET, vb.) küçük ağları çalışmak için ideal platformlarken, günümüzde üstel olarak artan ağ sistemlerini modellemede ve değişken yapılı ağ sistemlerinin performansını test etmede yetersiz kalmaktadırlar. Ayrıca, bu simülatörlerin mimarilerinin birçoğu soyutlama ve hiyerarşiden yoksun olmaları yanında çok büyük hesaplama maliyeti oluşturmaktadırlar [1,2,3]. Yapılan çalışmada, belirtilen kısıtlamaları / sakıncaları ortadan kaldırmaya yönelik olarak DEVS (Discrete Event System Specification) metodolojisi kullanılarak bir ağ simülatörü geliştirilmiştir [4]. Tasarlanan ağ sisteminin modeli; ağ bileşenlerinin tanımlanmasını, bu bileşenlerde çalışacak yazılım nesnelerinin, etkileşimlerinin ve bu varlıkların işlem yapan düğümlere dağıtılmalarını, ağ topolojilerinin ve iletişim protokollerinin tanımlanmasını içermektedir. Düğümler ve bağlantı elemanları temel ağ bileşenleri olarak tanımlandıktan sonra, DEVS birleşik model tanımı kullanılarak temel bileşenler birbirine bağlanıp birleşik ağ modelleri oluşturulmuştur. Geliştirilen ağ ortamı farklı yönlendirme algoritmalarını (en kısa yol, uzaklık vektörü, oğul zekası, vb.) modelleyebilme yeteneğine sahiptir. Geliştirilen simülatörün eğitim amaçlı kullanılması örneklendirilmiş ve bu çerçevede Açık En Kısa Yol İlk (Open Shortest Path First – OSPF) algoritması modellenmiştir. Modellenen ağ, farklı trafik yükleri altında Zengin, A., Ekiz, H.,Çobanoğlu, B. ve Tuncel, S. çalıştırılarak, çalışma sırasında geliştirilen yönlendirme algoritmasının performansı incelenmiştir. Gerçekleştirilen uygulamalardan, geliştirilen simülatörün son derece paralel, esnek ve hızlı çalıştığını, değişik teknolojileri barındıran uygulamaları geliştirebilme yeteneğine sahip olduğu ve nihayetinde sağlam bir eğitim aracı olduğu gözlemlenmiştir. Bu çalışmada, 2. Bölümde Java teknolojisi, DEVS ve gezgin görevli yaklaşımı, 3. Bölümde DEVS tabanlı simülatörün gelişim evreleri, 4. Bölümde simülasyon deneyleri ve 5. Bölümde sonuçlar ve öneriler özetlenmektedir. 2. Yararlanılan Teknolojiler Bu bölümde, dağıtık ve paralel bir şekilde çalışan bir ağ sisteminin temel ve birleşik parçalarının geliştirildiği teknolojiler açıklanacaktır. Tüm modeller Java dili kullanılarak ve DEVS yaklaşım/formalizmine uygun olarak hiyerarşik ve modüler bir tarzda geliştirilmiştir. Sağlam bir hiyerarşi model ve/veya modüllerin arasında sıkı bir ilişki tesis ederken, modülerlik yazılımın hata bulma ve giderme, yeniden kullanılabilirlik, karşılıklı çalışılabilirlik gibi yönetim işlevlerinin kolayca gerçekleştirilmesini olanaklı kılar (Şekil 1). 2.1. Java teknolojisi Java, taşınabilir uygulamalar ve appletler gibi bir takım kolaylıklarla yazılımcılara heyecan vermiştir [5]. Gerçekte, Java üç farklı taşınabilirlik sunar: Kaynak kodu taşınabilirliği, CPU mimarisi taşınabilirliği ve OS/GUI taşınabilirliği. Bu taşınabilirlik türlerini sağlayan paketler; Java programlama dili, Java sanal mekanizması (JVM) ve dil ile ilişkili sınıf kütüphaneleridir. Java programlama dili en alışık olduğumuz taşınabilirliği sağlar: kaynak kodu taşınabilirliği. Belirli bir Java programı, temel CPU, işletim sistemi veya Java derleyicisi dikkate alınmaksızın aynı sonuçları üretmelidir. JVM CPU mimarisi taşınabilirliğini sağlar. Java derleyicisi, JVM için nesne kodunu (J-code) üretir ve belirli bir CPU üzerinde JVM ilgili CPU için Jkodunu derler. OS/GUI taşınabilirliğini tesis etmek için, Java sanal OS ve GUI için bir takım paketler (awt, util ve lang) sağlar. Java programlama dili nesneye yönelik olguyu benimser ve dağıtık uygulamaların geliştirilmesi için araçlar sağlar. Bu çalışmada ağ sistemleri Java teknolojisi kullanılarak modellendi ve test edildi. Karmaşık sistemler, hesaplama için daha büyük kaynaklara ihtiyaç duyacağından, geliştirilen bileşenlerin artan Java performansından faydalanacak olması bir avantajdır. Java çalışma anı performansının arttırmak aktif bir araştırma alanıdır. 2.2. Ayrık Olaylı Sistem Tanımlama Formalizmi (DEVS) DEVS(Discrete Event System Specification) modelleme yaklaşımı, ayrık olaylı modelleme ve simülasyonda temel bir yaklaşım olarak Zeigler tarafından ortaya atılmıştır [6]. DEVS yaklaşımının sadece ayrık olaylı modeller için değil, ayrık zamanlı ve diferansiyel denklemli sistemlerle ifade edilen davranışları uyarlamak için bir hesaplama temeli meydana getirmesi nedeni ile, modelleme ve simülasyon uygulamalarında DEVS teorisinin gücünü görmek önemlidir. Ayrık olaylı yaklaşımlar sınıfı içinde modeller, zamanın sürekli olduğu ancak sınırlı bir zaman periyodunda sonlu sayıda olayın meydana geldiği bir soyutlama seviyesinde tanımlanır [7]. Bu olaylar sistemin durum değiştirmesine neden olabilir. Olaylar arasında sistemin durumu kesinlikle değişmez. Bu nedenler Ayrık sistemler, sistemin durumunun zaman içerisinde sürekli değiştiği sürekli modellerden bu noktada farklıdır. Şekil 2’de, modelleme ve simülasyon kavramlarının birbiriyle ilişkisi görülmektedir. DEVS bir sistemin davranışını iki farklı seviyede ele alır: atomik ve birleşik. Atomik DEVS; en düşük seviyede, sıralı durumlar arasındaki geçişler gibi ayrık olaylı sistemin otonom davranışını, harici bir girişe (olaylar) nasıl tepki verdiğini ve çıkışı (olaylar) nasıl hesapladığını tanımlar. Birleşik DEVS; daha yüksek bir düzeyde, bir sistemi bileşenler ağı olarak tarif eder. Bileşenler, atomik DEVS modelleri ve birleşik DEVS modelleri olabilir. Bağlantılar, bileşenlerin birbirini nasıl etkilediğini gösterir. GERÇEKLİK MODEL Gerçek-Dünya Varlığı (nesne) Temel Model HEDEFLER sadece deneysel ortamdaki davranışın çalışılması Model Sistem (S) Model Model (M) ortam ile deney yapılması Model Deney esnasında Gözlenen Veri Model Model Model Model Şekil 1. Hiyerarşik ve modüler bir tasarımının alt bileşenlere ayrılması. geçerleme Model hakkında temel ön bilgi Modelin simüle edilmesi = sanal deney Simülasyon Sonuçları Modelleme ve Simülasyon Süreci Şekil 2. M&S kavramları ve birbirleriyle ilişkileri. Paralel bir atomik DEVS modeli aşağıdaki yapıdadır: M=<X, S, Y, δint, δext, δconf, λ, ta> Burada; X, giriş değerleri kümesi, S, durumlar kümesi, Y, çıkış değerleri kümesi, δint : S→S dahili geçiş fonksiyonu, Zengin, A., Ekiz, H.,Çobanoğlu, B. ve Tuncel, S. δext : Q x X→S harici geçiş fonksiyonu, burada; Q = {(s,e)|s ∈ S, 0≤ e≤ta(s) toplam durum kümesi, e, en son olan geçişten bu yana geçen süredir. δext : Q x X→S çakışma (confluent) geçiş fonksiyonu, λ: S→Y çıkış fonksiyonu, ta: S→R+0,∞ zaman ilerleme (time advance) fonksiyonu, 0 ve ∞ arasındaki pozitif reel sayılar kümesidir. görevliler bir problemi çözmek için ortak bir çaba gösterirler. Bu yöntem, büyük sistemin sadece küçük parçalara bölündüğü anlamına gelmez. Bu yöntemde, her biri problemin belirli bir yönüne odaklanabilen birkaç uygulama bir iletişim sistemiyle birlikte bağlanarak, bakış açılarının karşılıklı değişilmesini sağlarlar. Problemin çözümüne yönelik olarak sonuçları toplamak, ilerleme stratejileriyle birlikte gündeme gelir. Bu problem çözme tekniği ‘dağıtık problem çözümü’ olarak adlandırılır ve işbirliği yapan sistemlerin her biri ‘görevli’ (agent) olarak adlandırılır [10]. 2.3. Gezgin görevliler 3. DEVS Tabanlı Simülatör Tasarım Süreci Günümüzün iletişim ortamlarında heterojen ağların kullanımına doğru artan eğilim, ağ operatörlerinin daha kapsamlı bir bilgiye ve daha iyi bir eğitime sahip olmalarını gerektirmektedir [8]. Farklı ağların yönetimi, büyük boyutta verinin ağdan toplanmasını ve yönetim aktivitesine başlanmadan önce verinin analiz edilmesi gereksinimini ortaya çıkarmaktadır. Diğer taraftan, günümüz ağ ve internet kullanıcılarının artan bir güvenilirlik ve hizmet kalitesi gereksinimine ve beklentisine sahip olmaları, bu gereksinimleri ve beklentileri karşılayacak olan ‘yazılım görevlileri’ (software agents) konusunun gelişimine bir etki / katkı yapmaktadır [9]. Paralel ve dağıtık çalışan bir ağ sistemini modelleme amacına yönelik oluşturulan bağlantı elemanları, bu bağlantılar aracılığıyla haberleşen düğümler ve IP paketleri, ‘temel ağ bileşenleri’ olarak tanımlanmıştır [11]. Tanımlanan düğümler ve bağlantı elemanları ile ayarlanabilir kapasiteleri kullanılarak çeşitli ağ konfigürasyonları ve topolojileri geliştirilebilir. Daha sonra bu bileşenlerin bir araya gelmesinden oluşan bir ağ modeli ‘DEVS birleşik ağ modeli’ olarak adlandırılır. Burada kullanılan atomik ve birleşik modeller, ‘Paralel DEVS yaklaşımı’ kullanılarak tanımlanılır ve ‘DEVSJAVA’ modelleme ve simülasyon ortamında tasarlanılır. Bu yöntemde, düğümler ve bağlantı elemanlarında tanımlı dinamikler, ağ modelinin davranışını (çıkış zamanı gibi) belirlemek için kullanılabilir. Çoklu görevli sistemlerde, merkezi olarak çalışan ve sistemin tüm zekasını / işlevini gerçekleştiren çok büyük bir uygulamanın yerine bir takım küçük sistemler veya DÜĞÜM Global Yönlendirme Tablosu Yönlendirme Tablosu Yönlendirme Modülü DÜĞÜM Gezgin Görevliler Global Yönlendirme Tablosu Yönlendirme Tablosu route Yönlendirme Modülü route route Gelen ve giden paketler için tamponlar route Ağ Arabirimi (NIC) 1… m Işleme zamanı Gelen ve giden paketler için tamponlar IP Addresi Alıcı kuyruğu Gezgin Görevliler Gönderici kuyruğu Ağ Arabirimi (NIC) 1… m Işleme zamanı IP Addresi Band genişliği Alıcı kuyruğu Gönderici kuyruğu Band genişliği Duplex Link Model Link 1 in Queue out Dela Link 2 Queue Dela Şekil 3. Düğümlerin bir bağlantı elemanı aracılığıyla birbirine bağlanması Bir ağ topolojisi, düğümler (bilgisayar, yönlendirici, vb.) ve bağlantı elemanlarından oluşur (Şekil 3). Düğümler, ağ üzerinde dolaşan varlıklar / gözcüler / gezgin görevliler için bir hesaplama altyapısı oluşturması yanında diğer düğümlerle mesajlaşma ve veri trafiği için bir takım arabirimlere ve araçlara sahiptir. Diğer düğümlere bağlantı elemanları kullanılarak bağlanan bir düğüm, ağın yapısına göre değişik modlarda çalışabilir (yönlendirici, dağıtıcı vb.). Dağıtıcı (hub) modunda çalışan bir düğüme bir bağlantı elemanı üzerinden gelen paketler, diğer bağlantı elemanları üzerinden dağıtılır. Düğümün yönlendirici (router) modunda çalışması durumunda, paket adres bilgisi bir yönlendirme kararı verebilmek için kullanılır ve bu bilgiye göre paket belirli bir bağlantı elemanı üzerinden ilgili adrese gönderilir. Ağı oluşturan diğer bileşenler olan bağlantı elemanları ise ağdaki anahtarlama elemanları arasında bir haberleşme yolu sağlar. Zengin, A., Ekiz, H.,Çobanoğlu, B. ve Tuncel, S. Yapılan çalışmada geliştirilen modellerle simülasyon deneyleri gerçekleştirmek için, bir modelin deney yapılacağı ve gözlemleneceği şartları tanımlayan ‘DEVS deneysel çerçeve’ kavramından faydalanıldı [7]. Tipik bir deneysel çerçeve bir üreteç ve dönüştürücüden oluşur. Ağ trafiğini üretmek ve bağlantı elemanı, düğüm, vb. ağ bileşenlerinin arızalanmaları ve hizmet verememeleri gibi ağın çalışması sırasında meydana gelebilecek olayları önceden programlamak ve zamanlamak maksadıyla bir ‘olay üreteci’ kullanıldı. Bu işlemleri gerçekleştirmek için üreteç ağdaki ilgili bileşenlere DEVS mesajları gönderir. Şekil 4’te basit bir ağın ekran çıktısı verilmektedir. 3. Adım: her düğüm daha sonra Dijkstra algoritmasına göre en kısa yolları hesaplarlar [12]. 4.2. Simülasyon sonuçları Yukarıda açıklanan OSPF uygulaması belirli bir trafik yükü altında çalıştırılmış ve sonuçlar grafikler halinde sunulmuştur. Geliştirilen örnek uygulamalarda yapılan deneylerde gerçek dünya şartları tesis edilmeye çalışılmıştır ve bütün bileşenlerin parametreleri gerçek dünyaya uygun olarak seçilmiştir. Bununla birlikte, değişik senaryoları uygulamak amacıyla ağın davranışını etkileyen simülasyon parametreleri simülasyon çalışmasından önce esnek bir şekilde ve kolayca ayarlanabilir. Şekil 4. Bir ağın DEVSJAVA görüntüsü Her düğüm, içinde ağdaki muhtemel her bir hedef düğümün temsil edildiği bir yönlendirme tablosuna sahiptir. Bu yönlendirme tablosu komşu düğümlerin sütunları, kendisi hariç hedef düğümlerin ise satırları temsil ettiği bir matris olarak düşünülebilir (yani satırlar hedeflere, sütunlarda komşulara karşılık düşer) (Şekil 5.c). Yönlendirme tablosunun boyutu ilgili düğümün komşuları ve düğümün kendisi hariç ağdaki hedef düğümlerin çarpımı kadar olsa da, bizim uygulamamızda yönlendirme tablosunun boyutu düğümün keşfedebildiği düğüm ve komşu sayısı ile ilişkilidir. Her bir düğümü bir yönlendirme tablosuyla donatarak veri paketleri sistematik olarak ağ boyunca yönlendirilebilir. Bir düğüm bir paketi belirli bir hedefe doğru göndermeye ihtiyaç duyduğunda, hangi gidiş bağlantı elemanının (veya DEVS atomik model çıkış portu) kullanılacağı kararı yönlendirme tablosunda belirtilen bilgiye dayanılarak verilir. Yönlendirme tablolarının görsel olarak takip edilebilmesi, geliştirilen simülatörün eğitim amaçlı kullanılmasında son derece büyük öneme sahiptir. (a) (b) 4. Örnek Uygulama Bu bölümde, yukarıdaki bölümlerde temelleri anlatılan simülatör üzerinde bir örnek çalışma gerçekleştirilmiştir. Örnek çalışma, OSPF protokolünün çalışmasının eğitimine yönelik olarak tasarlanmıştır. 4.1. OSPF protokolü OSPF protokolü bağlantı durumu algoritmasının en yaygın kullanılan örneklerinden biridir [8]. Kısaca üç adımda çalışır. 1. Adım: her düğüm başlangıçta kurulum safhasındadır. Bu aşamada birbirlerini tanımak için “hello” paketleri gönderirler. Şekil 5.a’da bu aşama görülmektedir. 2. Adım: her düğüm belirli bir zaman aralığında yada olay tetiklemeli olarak birbirine “bağlantı durumu ilanı- LSA” paketlerini gönderirler (Şekil 5.b). (c) Şekil 5. OSPF protokolünün çalışmasının görsel takibi. Şekil 6’da, ağ çıkışı 1 ms gibi bir sürede en yüksek değerini almakta ve simülasyon sonuçlanana kadar ortalama değerini korumaktadır. Ağ çıkışına hızlı bir Zengin, A., Ekiz, H.,Çobanoğlu, B. ve Tuncel, S. şekilde ulaşılması ve çıkışın çalışma boyunca sabit kalması, OSPF algoritmasının yük dengeleme davranışının göstergesidir. Bununla birlikte, düğümlerin sınırlı sayıda bağlantı elemanı kullanılarak birbirine bağlı olmasına ve ağır trafik şartlarına rağmen OSPF uygulamasında herhangi bir paket kaybı yaşanmamaktadır. Aşırı trafik artışlarına sistem hızlı cevap verdiğinden dolayı ağ çıkışında aşırı dalgalanmalar görülmemektedir. Bu grafikte toplam yük değeri hiçbir zaman aşırı değerler almamakta, yükün artma eğilimi gösterdiği durumlara ağ gecikmeden cevap vermekte ve yük değişiminin belirli bir aralıkta kalması sağlanmaktadır. Yönlendirme sistemi yükün artış eğilimine milisaniyeler mertebesinde cevap vermektedir. Bu sebeple yük değişimi grafiği, inişler ve çıkışlar şeklindeki bir testere dişini andırmaktadır. 1200 1000 800 Çıkış (KBits/s) Şekil 8’de, ağ bileşenleri üzerindeki yükün zamanla değişimi görülmektedir. Ağ yükü birim zamanda ağda kuyruklarda bekleyen paketlerin sayısı olarak olay dönüştürücü tarafından hesaplanmaktadır. Kuyruklarda bekleyen paket sayısının birim zamandaki ağ üzerindeki toplam yük olarak ele alındığı bu değerlendirmede paket kayıpları ve kontrol paketleri ihmal edilmektedir. 600 400 5. Sonuçlar ve Değerlendirme 200 0 0 0.2 0.4 0.6 0.8 1 -200 Zam an (s.) Şekil 6. Ağ içerisinde oluşan trafik çıkışı Geliştirdiğimiz modelleme ve simülasyon ortamı, ölçeklenebilir, adaptif ve sağlam ağ uygulamalarının modellenmesi, tasarımı ve eğitimi için örnek bir çerçeve olmuştur. Teorik modelleme ve simülasyon bilgisinin pratiğe dökülerek uygulanması, ağ sistemlerinin çalışmasının ve teknolojisinin kavranması ülkemizde son derece zayıf olan modelleme, simülasyon ve ağ sistemleri biliminin uygulamalı olarak kavranmasını ve öğrenilmesini sağlamıştır. Bu çalışma DEVS metodolojisinin geniş bir alana uygulanabilirliğini desteklemiştir. Kaynaklar [1] [2] Şekil 7. Ortalama paket gecikmesi. [3] [4] [5] [6] [7] [8] [9] Şekil 8. Ağ yükünün zamanla değişimi. Şekil 7’de, 1 saniye boyunca ağ üzerinden geçen paketlerin maruz kaldığı ortalama gecikmenin zaman üzerinde değişim grafiği görülmektedir. Ortalama gecikme; paket üretecinin paketi ürettiği zaman ile paketin olay dönüştürücüye vardığı zaman arasındaki fark olarak hesaplanmaktadır. Şekilden de görülebileceği gibi paketler için ortalama gecikme 9 ms olarak ölçülmüştür. Gecikmenin tutarlı ve kabul edilebilir bir seviyede kalması, ağın tıkanıklıkları yönetebildiğinin bir göstergesidir. [10] [11] [12] http://www.dei.isep.ipp.pt/docs/arpa.html, History of ARPANET D. Bertsekas and R. Gallager. Data Networks, Prentice-Hall, 1992. Network Simulator-2, http://www.isi.edu/nsnam/ns/ Bernard P. Zeigler. Theory of Modelling and Simulation. Robert E. Krieger, Malabar, Florida, 1984. Java Web Sitesi- www.java.sun.com B. P. Zeigler, Theory of Modelling and Simulation, John Wiley, New York, 1976. Bernard P. Zeigler, Herbert Praehofer, and Tag Gon Kim. Theory of Modelling and Simulation: Integrating Discrete Event and Continuous Complex Dynamic Systems. Academic Press, second edition, 2000. Steenstrup, M. E. (Ed.). (1995). Routing in Communications Network. Prentice-Hall. Appleby, S. and Steward, S. Mobile software agents for control in telecommunications Networks. BT Technology Journal, Vol. 12, No.2. 1994. Nwana, H. S., Software Agents: An Overview, Knowledge Engineering Review, vol. 11, no 3, Sept. 1996, pp.1-40. Zengin A., Sarjoughian H., Ekiz H., “Biologically Inspired Discrete Event Network Modeling”, ESS2004, Budapest / Hungary, 2004. Dijkstra, E.W. A Note on Two Problems in Connexion with Graphs In Numerische Mathematik vol. 1. 1959.