Δηζαγσγή ζηνλ Network Simulator-2

Σχετικά έγγραφα
Δίκτυα Ι. Πρόγραμμα Προπτυχιακών Σπουδών Τμήμα Ψηφιακών Συστημάτων. Καθ. Π. Δεμέστιχας Δρ. Κ. Τσαγκάρης Δ. Καρβουνάς

Εργαστήριο Δικτύων. 6 η Διάλεξη: Network Simulator NS

Ns-allinone. Currently the package contains:

Εργαστήριο μαθήματος Δίκτυα Υπολογιστών Ι

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 9 Επαναληπτικά Θέματα στη Μελέτη Πρωτοκόλλων με το NS2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών I»

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 7 ρομολόγηση ιανύσματος Αποστάσεων

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 3

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα: «Δίκτυα Υπολογιστών I»

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 2

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 3

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 1

MYY703: Δίκτυα Υπολογιστών I Εργαστήρια

Η αξρή ζύλδεζεο Client-Server

Εργαστηριακή Άσκηση 1

Τί είναι ο Network Simulator-2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα: Δίκτυα Υπολογιστών I

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 6 Δρομολόγηση Διανύσματος Αποστάσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 5

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 4

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. «Μελέτη συστήματος αναμονής M/M/1 με χρήση του Network Simulator-2»

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Γίθησα ποσ παρέτοληαη από τρήζηες: Κίλεηρα, ηετλοιογίες θαη αλοητηά δεηήκαηα Λεσηέρες Μακάηας

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Εργαστηριακή Άσκηση 4

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Ενδεικτικά Θέματα Στατιστικής ΙΙ

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: /27 Υπνδίθηπν Β:

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 6 Επίδοση Τοπικών ικτύων IEEE 802.3

Άσκηση 1 - Μοπυοποίηση Κειμένου

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Αντισταθμιστική ανάλυση

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 4

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Δξγαιεία Καηαζθεπέο 1 Σάμε Δ Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ. ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Ογθνκεηξηθό δνρείν

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών ΙI»

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Constructors and Destructors in C++

T A E K W O N D O. Δ. ΠπθαξΨο. ΔπΫθνπξνο ΘαζεγεηΪο ΑζιεηηθΪο ΦπζηθνζεξαπεΫαο ΡΔΦΑΑ - ΑΞΘ

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Εισαγωγή στη Φωτογραυία. Χριζηάκης Σαζεΐδης - EFIAP

x x x x tan(2 x) x 2 2x x 1

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Intel Accelerate Your Code

Ηλεκηπονικά Απσεία και Διεπαθέρ

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

A. Αιιάδνληαο ηε θνξά ηνπ ξεύκαηνο πνπ δηαξξέεη ηνλ αγωγό.


Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

γηα ηνλ Άξε Κσλζηαληηλίδε

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

Transcript:

Δηζαγσγή ζηνλ Network Simulator-2 Δίκτσα Υπολογιστώμ Ι Κ. Τσαγκάρης, Π. Δεμέστιτας, Μ. Λογοθέτης

Ση είλαη ν Network Simulator-2 (NS-2); O NS (Network Simulator) είλαη έλαο πξνζνκνησηήο διακριηών γεγονόηων πξνζαλαηνιηζκέλνο ζηελ έξεπλα θαη εθπαίδεπζε γύξσ από ηα δίκησα επικοινωνιών/σπολογιζηών Ο NS παξέρεη ζεκαληηθή ππνζηήξημε ζηελ πξνζνκνίσζε πξσηνθόιισλ επηθνηλσλίαο, δξνκνιόγεζεο θ.ά. επάλσ ζε ελζύξκαηα αιιά θαη αζύξκαηα δίθηπα ύγθξηζε πξσηνθόιισλ Λέα αξρηηεθηνληθά ζρέδηα NS-2 είλαη έλα δσξεάλ ινγηζκηθό πξόγξακκα κε κεγάιν πιήζνο βηβιηνζεθώλ, γξακκέλεο ζε Tcl/OTcl αιιά θαη ζε C/C++ Αλνηθηόο θώδηθαο «Αύμεζε εκπηζηνζύλεο» ζην απνηέιεζκα Ο NS-2 ζεσξείηαη έλα ηζρπξό εξγαιέην πξνζνκνίσζεο, αιιά... απαηηεί πνιιή κειέηε πνιιή εμάζθεζε θπξίσο γηα ηελ «πξαγκαηηθή εξγαζία» ζηνλ NS-2 (δει. αιιαγέο ζηνλ θώδηθα) 2

... Ση είλαη ν Network Simulator-2 (NS-2); ns-2 ~230 kloc C/C++, ~150 kloc Tcl/OTcl ~100 test suites θαη 100+ παξαδείγκαηα ~400 ζειίδεο ηνπ ns manual Σειεπηαία έθδνζε: 2.34, 17 Ηνπιίνπ 2009 Τπνζηεξηδόκελεο πιαηθόξκεο FreeBSD, Linux, Solaris, Windows, Mac Υξήζηεο >1k ηλζηηηνύηα (50 ρώξεο), >10k ρξήζηεο ~300 ζέκαηα/κήλα ζηελ ns-users@isi.edu (ζειίδα εγγξαθήο: http://mailman.isi.edu/mailman/listinfo/ns-users) ns-3 Δθδόζεηο θάζε 15 ηνπ κελόο (κόλν source) επηέκβξηνο 2010 (ns-3.9) Άκεζα ζρέδηα βειηίσζεο Άκεζε ζύλδεζε κε ηελ πξαγκαηηθή ζηνίβα πξσηνθόιισλ TCP/IP Δμειηγκέλε θαηαγξαθή απνηειεζκάησλ/ζηαηηζηηθώλ (Doxygen) Λέα, αθξηβή κνληέια γηα 802.11/MAC Python bindings 3

Πξνζνκνίσζε δηαθξηηώλ γεγνλόησλ 2 ηύπνη πξνζνκνίσζεο Πξνζνκνίσζε νδεγνύκελε από δηαθξηηό ρξόλν (discrete time-driven simulation) ν ρξόλνο δηαθξηηνπνηείηαη ζε δηαζηήκαηα γηα θάζε δηάζηεκα κηα δηαδηθαζία ειέγρεη αλ ππάξρεη γεγνλόο λα επεμεξγαζηεί αιιηώο πξνρσξά ζην επόκελν δηάζηεκα (Γύζθνιε θαη αθξηβή) Πξνζνκνίσζε νδεγνύκελε από δηαθξηηά γεγνλόηα (discrete event-driven simulation) Ζ βαζηθή δηαδηθαζία (scheduler) δεκηνπξγεί κηα ιίζηα (linked list) από γεγνλόηα, θαζέλα από ηα νπνία δεηθηνδνηείηαη αλάινγα 4

...Πξνζνκνίσζε δηαθξηηώλ γεγνλόησλ Ο NS-2 είλαη έλαο πξνζνκνησηήο δηαθξηηώλ γεγνλόησλ (discrete-event simulator) Φπζηθέο δξαζηεξηόηεηεο κεηαθξάδνληαη ζε γεγνλόηα (events) π.ρ. επαλακεηάδνζε παθέηνπ κεηά από ιήμε timeout Ζ «θαξδηά» ηνπ NS-2 είλαη ν scheduler ηελ αξρή ηεο πξνζνκνίσζεο ν ρξήζηεο δξνκνινγεί έλαλ αξηζκό από γεγνλόηα πνπ ζα εθηειεζζνύλ π.ρ. Έλαξμε κηαο εθαξκνγήο Σα αληηθείκελα ηνπ scheduler δξνκνινγνύλ άιια γεγνλόηα Όια ηα γεγνλόηα κπαίλνπλ ζε κηα ιίζηα αλάινγα κε ην ρξόλν εθηέιεζή ηνπο 5

...Πξνζνκνίσζε δηαθξηηώλ γεγνλόησλ Ο scheduler απνζπά (dequeue) από ηε ιίζηα ην γεγνλόο πνπ ππάξρεη ζηελ θνξπθή ελεκεξώλεη ην ρξόλν εθηειεί ην γεγνλόο απνζπά λέν γεγνλόο...θ.ν.θ κέρξη ην γεγνλόο εμόδνπ Time: 1.5 sec Time: 1.7 sec 1 2 Time: 2.0 sec Time: 1.8 sec ΠΡΟΟΥΖ: Ο ρξόλνο ζηνλ NS-2 δελ αληηζηνηρεί ζηνλ πξαγκαηηθό ρξόλν Ο ρξόλνο πξνζνκνίσζεο εμαξηάηαη από ην πιήζνο ησλ γεγνλόησλ πνπ εθηεινύληαη εληόο απηνύ 6

...Πξνζνκνίσζε δηαθξηηώλ γεγνλόησλ Ιίζηα γεγνλόησλ RX TX Ack Pkt Event @ 1.5sec 1.7sec 1.8sec 2.0sec Σέινο Πξνζνκνίσζεο! RX TX Ack Pkt Event @ 1.5sec 2.0sec TX RX Ack Pkt Event @ 1.7sec 1.8sec Node 1 Module Node 2 Module 7

Ση είλαη ν Network Simulator-2 (NS-2); Πεξηνξηζκνί ηνπ NS-2 Σα κνληέια πνπ ρξεζηκνπνηνύληαη ζηνλ NS-2 είλαη εθ ησλ πξαγκάησλ απινπνηεκέλα ζε ζρέζε κε ηα πξαγκαηηθά ζπζηήκαηα (π.ρ. ππνζηεξίδνληαη κνληέια πξνζνκνίσζεο γηα Reno, NewReno, Sack ή Fack TCP, σζηόζν, δελ ππάξρεη δπλακηθή δηαθήκηζε παξαζύξνπ) Ο NS-2 δελ είλαη έλα πιήξσο εκπνξηθό πξνηόλ, νύηε θαη έρεη ηειεηώζεη ε αλάπηπμή ηνπ Δίλαη απνηέιεζκα ζπλερηδόκελεο εξεπλεηηθήο θαη πξνγξακκαηηζηηθήο πξνζπάζεηαο Ιάζε ζην software αλαθαιύπηνληαη ζπλερώο θαη δηνξζώλνληαη. Ζ επηθύξσζε ηεο νξζόηεηαο ησλ απνηειεζκάησλ πξνζνκνίσζεο είλαη δηθή καο ππόζεζε (π.ρ. ιάζε ζην παθέην EDCF γηα ην πξσηόθνιιν 802.11e) ΠΑΡΟΙΑ ΑΤΣΑ, ν NS-2 είλαη πνιύ δεκνθηιήο! Αξθεηέο εθαηνληάδεο από εξεπλεηηθά άξζξα πνπ ρξεζηκνπνηνύλ ηνλ NS-2 είλαη δηαζέζηκα 8

Δγθαηάζηαζε ηνπ NS-2 Απαηηήζεηο γηα εγθαηάζηαζε ηνπ NS-2 Έλαο Unix like Ζ/Τ (FreeBSD, Linux, Solaris), έλαο C++ compiler, 320MB απνζεθεπηηθνύ ρώξνπ Γηα εγθαηάζηαζε ηνπ NS-2 ζε windows απαηηέηηαη Linux emulator π.ρ. Cygwin (linux-like πεξηβάιινλ γηα Windows) : Κηα DLL (cygwin1.dll) = Linux API emulation layer πνπ παξέρεη ηελ απαξαίηεηε Linux API ιεηηνπξγηθόηεηα πιινγή εξγαιείσλ, πνπ παξέρνπλ έλα Linux «look and feel». Αξθεηά πεηξακαηηθό, πξνηηκνύκε εγθαηάζηαζε ζε Linux 2 ηξόπνη εγθαηάζηαζεο ηνπ NS-2 Δγθαηάζηαζε από ηα μερσξηζηά θνκκάηηα ηνπ Δγθαηάζηαζε από ην παθέην all-in-one (όια ζε έλα) Θα εγθαηαζηήζνπκε ην παθέην ns-allinone-2.33 ζε Linux κεραλήκαηα 9

Δγθαηάζηαζε ηνπ NS-2 ζε Linux Βήκα 1: θαηεβάδνπκε ην παθέην ns-allinone (έθδνζε 2.33) από ηελ επίζεκε ηζηνζειίδα ηνπ NS-2 γηα εθδόζεηο πξηλ ην 2005 -> http://www.isi.edu/nsnam/ns πιένλ, από ηελ απνζήθε πεγαίνπ θώδηθα SourceForge.net -> http://sourceforge.net/project/showfiles.php?group_id=1497 43 Βήκα 2: επηιέγνπκε έλα directory εξγαζίαο έζησ ην /home/ktsagkaris θαη αληηγξάθνπκε ην αξρείν Βήκα 3: απνζπκπηέδνπκε ην αξρέην $ tar xzvf ns-allinone-2.33.tar Βήκα 4: Δληόο ηνπ ns-allinone directory, ηξέρνπκε ην script εγθαηάζηαζεο $ cd ~/ns-allinone-2.33 $./install Αλ δελ ηειεηώζεη ή είλαη αλεπηηπρήο ε εγθαηάζηαζε, εξώηεζε ζηε ns-mailing list ή αηνκηθή δηόξζσζε! 10

...Δγθαηάζηαζε ηνπ NS-2 ζε Linux Βήκα 5: δηακνξθώλνπκε ην πξνζσπηθό καο.bashrc αξρέην ζην home directory γηα ηε ρξήζε ηνπ NS-2 $ cd ~ ή cd /home/ktsagkaris $ vi.bashrc & Γει. πξνζζέηνπκε ζην αξρείν ηηο αθόινπζεο γξακκέο γηα ηα εθηειέζηκα ηνπ NS θαη ηεο tcl LD_LIBRARY_PATH θαη TCL_LIBRARY πνπ είλαη κεηαβιεηέο πεξηβάιινληνο (environment variables) θαη δείρλνπλ ζε βηβιηνζήθεο (libraries απαξαίηεηεο) γηα ηon NS Ζ εληνιή εμαξηάηαη από ηνλ shell πνπ ρξεζηκνπνηείηαη) export PATH="$PATH:/home/ktsagkaris/ns-allinone- 2.33/bin:/home/ktsagkaris/ns-allinone-2.33/tcl 8.4.14/unix:/home/ktsagkaris/ns-allinone-2.33/tk8.4.18/unix" export LD_LIBRARY_PATH="/home/ktsagkaris/ns-allinone- 2.33/otcl-1.13:/home/ktsagkaris/ns-alli none-2.33/lib" export TCL_ LIBRARY="/home/ktsagkaris/ns-allinone- 2.33/tcl8.4.18/library" 11

...Δγθαηάζηαζε ηνπ NS-2 ζε Linux Βήκα 6: Βγείηε από ην ηξέρνλ ηεξκαηηθό θαη εθηειέζηε έλα λέν θαη θάληε έιεγρν αλ ηξέρεη ην ns.exe $ ns % Βήκα 7: (πξναηξεηηθό) ηξέμηε θάπνην από ηα παξαδείγκαηα π.ρ. $ cd ~/ns-allinone-2.33/ns-2.33/tcl/ex $ ns simple.tcl 210 0.0037499999999999999 running nam... Βήκα 8: (πξναηξεηηθό) Δπηθπξώζηε ηελ εγθαηάζηαζε. Πεγαίλεηε ζην directory ηνπ NS θαη ηξέμηε validate (ρξνλνβόξν) $ cd ~/ns-allinone-2.33/ns-2.33 $./validate 12

Πξσηόθνιια θαη κνληέια ζηνλ NS-2 Κνληέια θίλεζεο (Traffic models) θαη Δθαξκνγέο (applications): Web, FTP, telnet, constant-bit rate(cbr) Πξσηόθνιια κεηαθνξάο (Transport protocols): Unicast: TCP (π.ρ. Reno, Vegas), UDP, Multicast (π.ρ. Scalable Reliable Multicasting - SRM, Receiver Driven Layered - RLM) Γξνκνιόγεζε (Routing) θαη νπξέο αλακνλήο (queuing): Static routing, DV routing, multicast, Ad-Hoc routing Γηαρείξηζε νπξώλ αλακνλήο (Queuing disciplines): droptail, RED (Random Early Drop), (S)FQ Φπζηθά κέζα δηάδνζεο (Physical media): Δλζύξκαηα (Wired point-to-point, LANs), Αζύξκαηα (Wireless), Γνξπθνξηθά (Satellite) 13

Σα ζπζηαηηθά ηνπ NS-2 Ο πξνζνκνησηήο NS-2 απηόο θαζεαπηόο Θαζνξίδεη ηελ πξνζνκνίσζε Παξάγεη απνηειέζκαηα (ίρλε ή traces) NAM = Network AniMator Οπηηθνπνίεζε (visualization) ηεο πξνζνκνίσζεο ηνπ NS GUI γηα θαηαζθεπή απιώλ ζελαξίσλ Πξν-επεμεξγαζία (pre-processing): Γελλήηξηεο θίλεζεο θαη ηνπνινγίαο Κεη-επεμεξγαζία (post-processing): Αλάιπζε ηρλώλ (trace analysis) εθηόο από Tcl scripts, ζπρλά ζε Awk ή Perl Δξγαιεία αλαπαξάζηαζεο απνηειεζκάησλ Xgraph, Gnuplot, excel θηι 14

Γνκή αξρείσλ ηνπ NS-2 ns-2.33 tcl ex examples tcl8.4.18 doc test test cases tk8.4.18 ns-tutorial lib core code tclcl-1.19 otcl-1.13 models }C++ } OTcl nam-1.13 και υυσικά, το αρχείο (script) για προσομοίωση! 15

Οη δύν γιώζζεο ηνπ NS-2 Γύν γιώζζεο: 1. Tcl/OTcl 2. C++ 1. Tcl/OTcl: MIT Object Tcl, Δπέθηαζε ηεο Tcl/Tk γηα object-oriented programming Υξεζηκνπνηείηαη γηα λα δεκηνπξγήζεη ηε δνκή ηνπ δηθηύνπ θαη ηελ ηνπνινγία Απιή ζύληαμε θαη ζπκβαηή κε πνιιέο πιαηθόξκεο Δπθνιία ζηε δηεπζέηεζε (configuration) ησλ παξακέηξσλ δηθηύνπ Δμεξεπλά γξήγνξα πνιιά θαη δηαθνξεηηθά ζελάξηα Όρη αξθεηή γηα πεξαηηέξσ εξεπλεηηθά δεηήκαηα 16

Οη δύν γιώζζεο ηνπ NS-2 2. C++: Σν πην ζεκαληηθό θνκκάηη ηνπ NS-2! Τινπνίεζε ηνπ ππξήλα ηεο αξρηηεθηνληθήο ησλ πξσηνθόιισλ Σξνπνπνίεζε ή απνθιεηζκόο ( comment out ) ησλ ππαξρόλησλ πξσηνθόιισλ ζηνλ NS-2 Ιεπηνκεξείο πξνζνκνηώζεηο πξσηνθόιισλ απαηηνύλ γιώζζα πξνγξακκαηηζκνύ ζπζηήκαηνο δηαρείξηζε byte, επεμεξγαζία παθέηνπ, πινπνίεζε αιγνξίζκσλ Ζ ηαρύηεηα θαη ν ρξόλνο εθηέιεζεο είλαη πνιύ ζεκαληηθά Αξγόο ρξόλνο απόθξηζεο ζηηο αιιαγέο run simulation find bug fix bug recompile re-run 17

Σειηθά γηαηί 2 γιώζζεο? Γηόηη 2 θαη νη βαζηθέο απαηηήζεηο ηνπ πξνζνκνησηή! Ιεπηνκεξήο πξνζνκνίσζε πξσηνθόιινπ: Τατύτητα τρόνοσ εκτέλεσης Γξήγνξε κεηαβνιή παξακέηξσλ ηνπ configuration: Εσκολία τρήσης Ζ C++ είλαη γξήγνξε ζηελ εθηέιεζε αιιά αξγή ζηηο αιιαγέο (θσδηθνπνίεζε) Ζ Tcl/OTcl είλαη εύθνιε ζηελ θσδηθνπνίεζε αιιά ηξέρεη αξγά 18

ύληαμε Tcl Set b 0 b=0 ρξήζε ηεο b me $b Καζεκαηηθή ιεηηνπξγία (expression) set x [expr $a + $b] puts [expr 1/60] ηππώλεη 0 puts [expr 1.0/60.0] ηππώλεη 0.0166 ρόιηα κε # 19

ύληαμε Tcl Άλνηγκα αξρείνπ set file1 [open filename w] Βξόρνη for { set i 0 } { $i < 5 } { incr i } { execute commands } Γηαδηθαζίεο (procedures) proc lala { par1 par2 } { } global var1 var2 <Commands > Return sth 20

Παξάδεηγκα Tcl script (ex-tcl.tcl) # Γξάθνπκε κηα δηαδηθαζία (procedure) test θαη ηελ απνζεθεύνπκε ζε έλα αξρείν ex-tcl.tcl proc test {} { set a 43 set b 27 set c [expr $a + $b] set d [expr [expr $a - $b] * $c] for {set k 0} {$k < 10} {incr k} { if {$k < 5} { puts "k < 5, pow = [expr pow($d, $k)] } else { puts "k >= 5, mod = [expr $d % $k] } } } 21

Παξάδεηγκα Tcl script (ex-tcl.tcl) # θιήζε ηεο ηεζη πνπ δεκηνπξγήζεθε ns ex-tcl.tcl k < 5, pow = 1.0 k < 5, pow = 1120.0 k < 5, pow = 1254400.0 k < 5, pow = 1404928000.0 k < 5, pow = 1573519360000.0 k >= 5, mod = 0 k >= 5, mod = 4 k >= 5, mod = 0 k >= 5, mod = 0 k >= 5, mod = 4 22

Παξάδεηγκα OTcl script (ex-otcl.tcl) Δημιοσργία κλάζης mom και προζθήκη ζσνάρηηζης μέλοσς greet Class Mom Mom instproc greet {} { $self instvar age_ puts $age_ years old mom: How are you doing? } Class Kid -superclass Mom Kid instproc greet {} { $self instvar age_ puts $age_ years old kid: What s up, dude? } Δημιοσργία child κλάζης kid ποσ κληρονομεί ηη mom και ανηικαηάζηαζη (override) ηης ζσνάρηηζης μέλοσς greet Δημιοσργία ανηικειμένων mom και kid Θέζη ηιμής age set mom [new Mom] $mom set age_ 45 set kid [new Kid] $kid set age_ 15 $mom greet $kid greet Κλήζη ηης ζσνάρηηζης μέλοσς "greet για κάθε ανηικείμενο ns ex-otcl.tcl 45 years old mom say: How are you doing? 15 years old kid say: What's up, dude? 23

Βήκαηα πξνζνκνίσζεο κέζσ NS-2 Γεκηνπξγία Tcl/OTcl script γηα ην κνληέιν ηνπ δηθηύνπ καο Θόκβνη (nodes), δεύμεηο(links), πεγέο θίλεζεο (traffic sources), απνδέθηεο θίλεζεο (sinks) θηι Παξακεηξνπνίεζε αληηθεηκέλσλ πξνζνκνίσζεο Εεύμεηο: κεγέζε νπξώλ, ηαρύηεηα δεύμεο, Πξσηόθνιια κεηαθνξάο: TCP κε παξακέηξνπο (>30) όπσο κέγεζνο παξαζύξνπ ζπκθόξεζεο, πιινγή ζηαηηζηηθώλ Απνηύπσζε ησλ γεγνλόησλ ζε ίρλε, κεη-επεμεξγαζία ηνπο Θαηαγξαθή ζηαηηζηηθώλ εληόο ηνπ OTCL script θαηά ηελ πξνζνκνίσζε Σξνπνπνίεζε ηνπ πεγαίνπ NS θώδηθα Δθηέιεζε ηνπ NS-2 πνιιέο θνξέο Γηαζηήκαηα εκπηζηνζύλεο (confidence intervals) 24

Γεκηνπξγία κηαο βαζηθήο πξνζνκνίσζεο NS-2 1. Γεκηνπξγία ηνπ δξνκνινγεηή γεγνλόησλ (event scheduler) 2. Γεκηνπξγία θόκβσλ θαη δεύμεσλ 3. Γεκηνπξγία ζπλδέζεσλ 4. Γεκηνπξγία πεγώλ/απνδεθηώλ θίλεζεο 5. Δλεξγνπνίεζε θαηαγξαθήο (tracing) 25

Γεκηνπξγία κηαο βαζηθήο πξνζνκνίσζεο NS-2 1. Γεκηνπξγία ηνπ δξνκνινγεηή γεγνλόησλ (event scheduler) 2. Γεκηνπξγία θόκβσλ θαη δεύμεσλ 3. Γεκηνπξγία ζπλδέζεσλ 4. Γεκηνπξγία πεγώλ/απνδεθηώλ θίλεζεο 5. Δλεξγνπνίεζε θαηαγξαθήο (tracing) 26

Βήκα 1: Γεκηνπξγία ηνπ event scheduler Γεκηνπξγία scheduler set ns [new Simulator] Πξνγξακκαηηζκόο γεγνλόηνο $ns at <time> <event> <event>: νπνηαδήπνηε απνδεθηή Ns/TCL εληνιή π.ρ $ns at 0.5 $cbr start $ns at 4.5 $cbr stop $ns at 5.0 finish Δθθίλεζε scheduler $ns run 27

Γεκηνπξγία κηαο βαζηθήο πξνζνκνίσζεο NS-2 1. Γεκηνπξγία ηνπ δξνκνινγεηή γεγνλόησλ (event scheduler) 2. Γεκηνπξγία θόκβσλ θαη δεύμεσλ 3. Γεκηνπξγία ζπλδέζεσλ 4. Γεκηνπξγία πεγώλ/απνδεθηώλ θίλεζεο 5. Δλεξγνπνίεζε θαηαγξαθήο (tracing) 28

Βήκα 2: Γεκηνπξγία ηνπ δηθηύνπ (θόκβνη θαη δεύμεηο) Θόκβνη (Nodes) set n0 [$ns node] set n1 [$ns node] Εεύμεηο (Links): ελώλνπλ 2 θόκβνπο $ns duplex-link $n0 $n1 <bandwidth> <delay><queue_type> <ηύπνο δεύμεο> simplex-link θαη duplex-link <bandwidth> ρσξεηηθόηεηα (ηαρύηεηα δεύμεο) <delay> πξνζδηνξίδεη ηελ θαζπζηέξεζε δηάδνζεο <queue_type> θαζνξίδεη ηελ πνιηηηθή δηαρείξηζεο νπξώλ (DropTail, RED, CBQ, FQ, SFQ, DRR) n0 n1 29

Γεκηνπξγία κηαο βαζηθήο πξνζνκνίσζεο NS-2 1. Γεκηνπξγία ηνπ δξνκνινγεηή γεγνλόησλ (event scheduler) 2. Γεκηνπξγία θόκβσλ θαη δεύμεσλ 3. Γεκηνπξγία ζπλδέζεσλ 4. Γεκηνπξγία πεγώλ/απνδεθηώλ θίλεζεο 5. Δλεξγνπνίεζε θαηαγξαθήο (tracing) 30

Βήκα 3: Γεκηνπξγία ζπλδέζεσλ Transports: TCP, UDP, multicast θηι. Λέν: SCTP (Stream Control Transport Protocol), RFC 2960 Πξσηόθνιια κεηαθνξάο «επηζπλάπηνληαη» ζηνπο θόκβνπο 31

Γεκηνπξγία θαλαιηώλ κεηαθνξάο: UDP Πεγή θαη απνδέθηεο set u_src [new Agent/UDP] set u_dst [new Agent/NULL] udp Δπηζύλαςε ζηνπο θόκβνπο θαη κεηά ζύλδεζή ηνπο $ns attach-agent $n0 $u_src $ns attach-agent $n1 $u_dst $ns connect $u_src $u_dst n0 n1 null 32

Γεκηνπξγία θαλαιηώλ κεηαθνξάο: TCP Πεγή θαη απνδέθηεο set t_src [new Agent/TCP/Newreno] set t_dst [new Agent/TCPSink] Ο Newreno είλαη αιγόξηζκνο απνθπγήο ζπκθόξεζεο ζην TCP Δπηζύλαςε ζηνπο θόκβνπο θαη κεηά ζύλδεζή ηνπο $ns attach-agent $n0 $t_src $ns attach-agent $n1 $t_dst $ns connect $t_src $t_dst tcp n0 n1 sink 33

Γεκηνπξγία κηαο βαζηθήο πξνζνκνίσζεο NS-2 1. Γεκηνπξγία ηνπ δξνκνινγεηή γεγνλόησλ (event scheduler) 2. Γεκηνπξγία θόκβσλ θαη δεύμεσλ 3. Γεκηνπξγία ζπλδέζεσλ 4. Γεκηνπξγία πεγώλ/απνδεθηώλ θίλεζεο 5. Δλεξγνπνίεζε θαηαγξαθήο (tracing) 34

Βήκα 4: Γεκηνπξγία κνληέισλ θίλεζεο Θίλεζε - Δθαξκνγέο : Web, ftp, telnet, audio, θηι. Αληηθείκελα εθαξκνγώλ (application objects) πξνζδέλνληαη ζε αληηθείκελα πξσηνθόιινπ κεηαθνξάο (transport protocol objects) Γελληέηαη θίλεζε ζην πξσηόθνιιν κεηαθνξάο 35

Θίλεζε πάλσ από TCP FTP session πάλσ από TCP? Γεκηνπξγία κνληέινπ θίλεζεο set ftp [new Application/FTP] ε εμ νξηζκνύ (default) πεξίπησζε αλαθέξεηαη ζε άπεηξν κέγεζνο αξρείνπ ftp tcp Πξόζδεζε ζε TCP θαλάιη $ftp attach-agent $t_src n0 Γξνκνιόγεζε ρξόλνπ έλαξμεο $ns at <time> $ftp start n1 sink 36

Θίλεζε πάλσ από UDP Κνληέιν CBR (Constant Bit Rate) πάλσ από UDP? set cbr [new Application/Traffic/CBR] $cbr set packetsize_ 512 $cbr set interval_ 0.250 $cbr attach-agent $u_src $ns at <time> $cbr start cbr udp n0 n1 null 37

Δρομολόγηση n0 n1 Port Classifier Port Classifier entry_ Addr Classifier 0 1 dmux_ Link n0-n1 entry_ Addr Classifier 1 0 dmux_ classifier_ classifier_ Link n1-n0 38

Μεταυορά n0 n1 Port Classifier dst_=1.0 Port Classifier dst_=0.0 entry_ Addr Classifier 0 1 0 dmux_ Agent/TCP agents_ Link n0-n1 entry_ Addr Classifier 1 0 0 dmux_ Agent/TCPSink agents_ classifier_ classifier_ Link n1-n0 39

Ευαρμογή n0 n1 Port Classifier Application/FTP dst_=1.0 Port Classifier dst_=0.0 entry_ Addr Classifier 0 1 0 dmux_ Agent/TCP agents_ Link n0-n1 entry_ Addr Classifier 1 0 0 dmux_ Agent/TCPSink agents_ classifier_ classifier_ Link n1-n0 40

Ροή πακέτων n0 n1 Port Classifier Application/FTP dst_=1.0 Port Classifier dst_=0.0 entry_ Addr Classifier 0 1 0 Agent/TCP Link n0-n1 entry_ Addr Classifier 1 0 0 Agent/TCPSink Link n1-n0 41

Γεκηνπξγία κηαο βαζηθήο πξνζνκνίσζεο NS-2 1. Γεκηνπξγία ηνπ δξνκνινγεηή γεγνλόησλ (event scheduler) 2. Γεκηνπξγία θόκβσλ θαη δεύμεσλ 3. Γεκηνπξγία ζπλδέζεσλ 4. Γεκηνπξγία πεγώλ/απνδεθηώλ θίλεζεο 5. Δλεξγνπνίεζε θαηαγξαθήο (tracing) 42

Βήκα 5: Θαηαγξαθή (αληηθείκελα θαηαγξαθήο) EnqT: θξαηά πιεξνθνξίεο γηα έλα παθέην πνπ θζάλεη θαη εηζέξρεηαη ζηελ νπξά εηζόδνπ ηεο γξακκήο DrpT: αλ ζπκβεί ππεξρείιηζε, ην αληηθείκελν DropT δηαρεηξίδεηαη ηα απνξξηθζέληα παθέηα DeqT: θαηαρσξεί πιεξνθνξίεο γηα ην ρξνληθό ζεκείν πνπ ην παθέην εμέξρεηαη ηεο νπξάο RecvT: δίλεη πιεξνθνξίεο γηα ηα παθέηα πνπ ειήθζεζαλ ζηελ έμνδν ηεο δεύμεο 43

Βήκα 5: Θαηαγξαθή Θαηαγξαθή παθέησλ ζε όιεο ηηο δεύμεηο set f [open out.tr w] $ns trace-all $f Οπηηθνπνίεζε ηεο θαηαγξαθήο κέζσ NAM set nf [open out.nam w] $ns namtrace-all $nf 44

Βαζηθή (default) κνξθή trace file 1. Event (+ enque, - deque, r receive, d drop) 2. time of event 3. input node ηεο δεύμεο πνπ ζπκβαίλεη ην event 4. output node ηεο δεύμεο πνπ ζπκβαίλεη ην event 5. packet type (tcp,udp,cbr,sip,...) 6. packet size (ζε bytes, encoded ζηελ IP header) 7. flags (γηα δηάθνξεο ιεηηνπξγίεο π.ρ. γηα κείσζε παξαζύξνπ ζπκθόξεζεο) 8. flow id (ζε πεξίπησζε IPv6 ή ζαλ color id) 9. source address (<node.port>) 10. destination address (<node.port>) 11. seq num (αύμσλ αξηζκόο παθέηνπ γηα αλαιύζεηο, αθόκα θαη γηα UDP) 12. pkt id (κνλαδηθό αλαγλσξηζηηθό παθέηνπ) 45

Παξάδεηγκα Trace file.txt (n1->n2)... + 11.533441 1 2 tcp 1440 ------- 12 1.2 2.4 96 2092 r 11.535694 1 2 tcp 1440 ------- 12 1.2 2.4 65 1527-11.537214 1 2 exp 180 ------- 100 0.2 2.13 284 1528-11.538654 1 2 cbr 1440 ------- 101 1.11 2.14 155 1530 r 11.547214 1 2 tcp 1440 ------- 12 1.2 2.4 66 1529 + 11.54728 1 2 tcp 1440 ------- 12 1.2 2.4 97 2095 r 11.548654 1 2 exp 180 ------- 100 0.2 2.13 284 1528 + 11.55 1 2 cbr 1440 ------- 101 1.11 2.14 211 2096-11.550174 1 2 tcp 1440 ------- 12 1.2 2.4 67 1534 r 11.560174 1 2 cbr 1440 ------- 101 1.11 2.14 155 1530-11.561694 1 2 exp 180 ------- 100 0.2 2.13 285 1532 + 11.56222 1 2 tcp 1440 ------- 12 1.2 2.4 98 2097-11.563134 1 2 tcp 1440 ------- 12 1.2 2.4 68 1537 r 11.571694 1 2 tcp 1440 ------- 12 1.2 2.4 67 1534 r 11.573134 1 2 exp 180 ------- 100 0.2 2.13 285 1532-11.574654 1 2 exp 180 ------- 100 0.2 2.13 286 1536... 46

Παξάδεηγκα Trace file.txt (n1->n2)... + 11.533441 1 2 tcp 1440 ------- 12 1.2 2.4 96 2092 r 11.535694 1 2 tcp 1440 ------- 12 1.2 2.4 65 1527-11.537214 1 2 exp 180 ------- 100 0.2 2.13 284 1528-11.538654 1 2 cbr 1440 ------- 101 1.11 2.14 155 1530 r 11.547214 1 2 tcp 1440 ------- 12 1.2 2.4 66 1529 + 11.54728 1 2 tcp 1440 ------- 12 1.2 2.4 97 2095 r 11.548654 1 2 exp 180 ------- 100 0.2 2.13 284 1528 + 11.55 1 2 cbr 1440 ------- 101 1.11 2.14 211 2096-11.550174 1 2 tcp 1440 ------- 12 1.2 2.4 67 1534 r 11.560174 1 2 cbr 1440 ------- 101 1.11 2.14 155 1530-11.561694 1 2 exp 180 ------- 100 0.2 2.13 285 1532 + 11.56222 1 2 tcp 1440 ------- 12 1.2 2.4 98 2097-11.563134 1 2 tcp 1440 ------- 12 1.2 2.4 68 1537 r 11.571694 1 2 tcp 1440 ------- 12 1.2 2.4 67 1534 r 11.573134 1 2 exp 180 ------- 100 0.2 2.13 285 1532-11.574654 1 2 exp 180 ------- 100 0.2 2.13 286 1536... 0.0114sec=180*8/(10^6)+0.01 47

Θαηαγξαθή κέζσ παξαθνινύζεζεο Παξαθνινύζεζε νπξάο: ε νπξά γηα πξόζβαζε ζε κία δεύμε set qmon[$ns monitor-queue $n0 $n1 $q_f $sample_interval] Ιήςε ζηαηηζηηθώλ κηαο νπξάο $qmon set pdrops_ Πξναηξεηηθή θαηαγξαθή ε ζε trace file 29.000000000000142 0 1 0.0 0.0 4 4 0 1160 1160 0 48

Θαηαγξαθή κέζσ παξαθνινύζεζεο Παξαθνινύζεζε ξνήο (flow) monitor: ζπγθεθξηκέλε ξνή ζε κία νπξά set fmon [$ns makeflowmon Fid] $ns attach-fmon $link $fmon $ns at <time> puts $fmon set pdrops_ 49

Κεη-επεμεξγαζία απνηειεζκάησλ nam-1 (Network AniMator Version 1) Οπηηθνπνίεζε ζε επίπεδν παθέηνπ (packet-level) Τπνζηεξίδεηαη πνιύ θαιά από ηνλ NS-2 xgraph, gnuplot, tracegraph... Γξαθηθέο παξαζηάζεηο 50

Ο Network Animator (ΛΑΚ) 51

Γπλαηόηεηεο ΛΑΚ - θόκβνη Color (ρξσκαηηζκόο θόκβσλ) $node color red Shape (ζρήκα θόκβσλ *δελ αιιάδεη θαηά ηε δηάξθεηα ηεο πξνζνκνίσζεο) $node shape box (circle, box, hexagon) Label (απιό string) $ns at 1.1 $n0 label \ web cache 0\ 52

Γπλαηόηεηεο ΛΑΚ - δεύμεηο Color $ns duplex-link-op $n0 $n1 color "green" Label $ns duplex-link-op $n0 $n1 label backbone 53

Οινθιεξσκέλν παξάδεηγκα απινύ δηθηύνπ 54

Οινθιεξσκέλν παξάδεηγκα απινύ δηθηύνπ 55

NS Agents θαη Applications Αθνύ νξίζακε ηελ ηνπνινγία -> traffic flow 1) FTP over ΣCP Tahoe/Reno/Vegas κηλ Οριζμός κόμβοσ πηγής ηης TCP ζύνδεζης Sink ζηον προοριζμό (acks) Σύνδεζη πηγής-προοριζμού Μέγεθος πακέηοσ TCP (default =1000) Οριζμός εθαρμογής FTP πάνω από ηη ζύνδεζη TCP 56

... NS Agents θαη Applications 2) CBR over UDP Άλλες πηγές κίνηζης πτ. Exponential, Pareto Ρσθμός μεηάδοζης (ζηαθερός) Τσταίος θόρσβος 57

Πξνγξακκαηηζκόο γεγνλόησλ $ns at <time> <event> Δθηέιεζε simulator ns example.tcl 58

ύλνςε Scripts για εκτέλεση Εκτέλεση NS Αποτελέσματα προσομοίωσης Ανάλσση... 59

Γηθηπαθόο ηόπνο http://www.isi.edu/nsnam/ns http://nsnam.isi.edu/nsnam/index.php/main_page 60