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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ns-allinone. Currently the package contains:

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

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

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

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

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

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

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

Υλοποίηση τεχνικών για την αποφυγή συμφόρησης σε τοπικά ασύρματα δίκτυα αισθητήρων

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS).

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First)

Δροµολόγηση (Routing)

Δίκτυα Υπολογιστών II Εργασία 1 η

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec).

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

Δίκτυα Υπολογιστών. Ασκήσεις επανάληψης

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

Θέμα 1 (20%) (α) Πότε είναι εργοδικό το παραπάνω σύστημα; Για πεπερασμένο c, το σύστημα είναι πάντα εργοδικό.

Adaptive Distributed Routing Algorithms & QoS in Mobile Networks. Καραβέτσιος Άκης MIS

Αυτόνομα Συστήματα (ΑΣ)

ΕΛΕΓΧΟΣ ΣΥΜΦΟΡΗΣΗΣ ΣΕ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ

Χρόνοι Μετάδοσης και Διάδοσης

Δρομολόγηση (Routing)

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών Κεφάλαιο 2 Αξιοπιστία Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...

Ηρώων Πολυτεχνείου 9, Ζωγράφου, Αθήνα, Τηλ: , Fax: URL

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο, RIP, OSPF

ΔΙΚΤΥΑ Η/Υ ΙΙ. Πρωτόκολλα δρομολόγησης

Επικοινωνιακή Διάταξη Σημείου-προς-Σημείο

Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

8 η ιάλεξη: σε δίκτυα δεδομένων

Λουκάς Ελευθέριος

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Δίκτυο Άμεσης Σύνδεσης με Έλεγχο Πρόσβασης στο Μέσο

Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1 ΛΥΣΗ ΑΣΚΗΣΗ 2

ΠΟΛΥΕΚΠΟΜΠΗ ΣΕ ΑΣΥΡΜΑΤΑ ΚΙΝΗΤΑ ΙΚΤΥΑ (MANET)( ΒΑΣΙΛΕΙΟΥ ΑΛΕΞΑΝ ΡΟΣ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Λύση: Λύση: Λύση: Λύση:

X.25. Επίπεδο πακέτου Επίπεδο ζεύξης Φυσικό επίπεδο. ΕΥ, Κεφ. 10 (3/3) ρ Παύλος Θεοδώρου 1

ΕΝΔΕΙΚΤΙΚΕΣ ΑΣΚΗΣΕΙΣ

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Δίκτυα Υπολογιστών Εργασία 1 η

ιαδίκτυα & Ενδοδίκτυα Η/Υ

7.9 ροµολόγηση. Ερωτήσεις

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

6. Ethernet. 6.1 Εισαγωγή

Εργαστήριο ίκτυα Η/Υ ΙΙΙ

OSPF : Open Shortest Path First

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 8 Ασύρματα Τοπικά ίκτυα IEEE

Μεταγωγή Τοπικής Κλίμακας

Φροντιστήριο στο Mac Layer Καραγκούνης Δημήτρης

Ο στόχος του εργαστηρίου είναι να παρουσιάσει τις δύο βασικές καταστάσεις λειτουργίας ενός ασύρματου τοπικού δικτύου (ad hoc και υποδομής).

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 5 ου ΕΡΓΑΣΤΗΡΙΟΥ. Τα πρωτόκολλα δρομολόγησης (routing protocols) είναι υπεύθυνα για:

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

Καθυστέρηση επεξεργασίας (processing delay) Έλεγχος επικεφαλίδας Καθορισµός εξερχόµενης ζεύξης 3

ΚΕΦΑΛΑΙΟ 11: Διαδικασία Μετάδοσης Δεδομένων Εισαγωγή

1.BLUETOOTH 2.HOMERF 3.HIPERLAN 2 4.IEEE

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ #3 Στρώµα ικτύου:ip Πρωτόκολλο και Πρωτόκολλα ροµολόγησης

Άσκηση 1. Απάντηση Άσκησης 1

Άσκηση Διάλεξης 5. Router. Δεδομένα: Οι ζεύξεις ειναι τεχνολογίας ενσύρματου Ethernet των 10 Mbps και 100 Mbps αντίστοιχα.

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Ειδικά Θέματα Δικτύων ΙΙ

Προσομείωση ασύρματων δικτύων με τη χρήση του OPNET Modeler

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Ασύρματες Κινητές Επικοινωνίες Ενότητα 8: Επαναληπτική ενότητα

ZigBee. Φοιτητής: Μόσχογλου Στυλιανός Επιβλέπων καθηγητής: κ. Δοκουζγιάννης Σταύρος

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ΔΙΚΤΥΑ (13) Π. Φουληράς

How do loss and delay occur?

8. Προσομοίωση Λειτουργίας Ασύρματων Δικτύων Υποδομής

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Άσκηση Προσομοίωσης Στατιστικές Εξόδου Ουράς Μ/Μ/1 - Θεώρημα Burke Ανοικτά Δίκτυα Ουρών Μ/Μ/1 - Θεώρημα Jackson

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΙ ΙΚΟΤΗΤΑΣ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

Transcript:

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 7 ρομολόγηση ιανύσματος Αποστάσεων 1. Eισαγωγή Σε αυτή την άσκηση θα μελετηθεί η επίδοση του πρωτοκόλλου δρομολόγησης διανύσματος αποστάσεων (distance vector - DV). Η λειτουργία του πρωτοκόλλου αυτού περιγράφεται αναλυτικά στο 5 ο κεφάλαιο του βιβλίου «Δίκτυα Υπολογιστών» (A. Tanenbaum). Η άσκηση περιλαμβάνει δύο μέρη. Στο πρώτο μέρος θα δημιουργηθεί ένα δίκτυο με σύνθετη τοπολογία με την οποία θα επαληθευθεί η λειτουργία του πρωτοκόλλου δρομολόγησης DV. Στο δεύτερο μέρος θα παρατηρηθεί ότι για τοπολογίες συγκεκριμένης μορφής το πρωτόκολλο DV αποτυγχάνει. 2. Επαλήθευση πρωτοκόλλου DV Αρχικά δημιουργούμε το δίκτυο του Σχήματος 1, όπου ο αριθμός πάνω σε κάθε ζεύξη αναπαριστά το κόστος μετάδοσης μέσω αυτής. 2 1 2 1 1 0 2 6 1 3 5 3 5 7 4 Σχήμα 1: Τοπολογία πρώτου μέρους της άσκησης Ο τρόπος με τον οποίο δημιουργείται αυτή η τοπολογία σας είναι ήδη γνωστός, με βάση τις προηγούμενες ασκήσεις. Ο κόμβος 0 στέλνει κίνηση CBR πάνω από UDP προς τον κόμβο 4 και ο κόμβος 3 στον 5. Ο κώδικας για την εκτέλεση αυτού του σεναρίου βρίσκεται στο Παράρτημα A. 2.1 Ερωτήσεις Ποιες διαδρομές ακολουθούν τα πακέτα για τις δύο μεταδόσεις; Να εκτελέσετε με το χέρι τον αλγόριθμο διανύσματος αποστάσεων και να επαληθεύσετε την 1

ορθή λειτουργία του πρωτοκόλλου που οδηγεί στην δρομολόγηση μέσω των διαδρομών ελαχίστου κόστους. Ποιο είναι το μέγιστο κόστος μετάδοσης της ζεύξης 1-2, ώστε να διατηρούνται βέλτιστες οι διαδρομές που προσδιορίσατε στο προηγούμενο ερώτημα για τις δύο μεταδόσεις; Είναι οι μόνες συντομότερες διαθέσιμες διαδρομές σε αυτήν την περίπτωση; Επαληθεύστε την απάντησή σας τόσο θεωρητικά (εκτέλεση αλγορίθμου DV με το χέρι), όσο και πειραματικά με τη βοήθεια του ΝS2. Θεωρώντας το κόστος της ζεύξης 1-2 ίσο με την τιμή που προσδιορίστηκε στο τρίτο ερώτημα, να υπολογιστεί η ελάχιστη μεταβολή τους κόστους μετάδοσης της ζεύξης 1-4, η οποία θα οδηγήσει στη συμμετοχή της ζεύξης αυτής στη μία εκ των παραπάνω δύο βέλτιστων διαδρομών για τις δύο μεταδόσεις και άρα στην τροποποίησή της; Επαληθεύστε την απάντησή σας τόσο θεωρητικά (εκτέλεση αλγορίθμου DV με το χέρι), όσο και πειραματικά με τη βοήθεια του ΝS2. Την χρονική στιγμή 1sec η γραμμή 1-2 τίθεται εκτός λειτουργίας. Ποιες διαδρομές ακολουθούν τώρα τα πακέτα για τις δύο ανωτέρω περιπτώσεις; Στην αρχική τοπολογία, το κόστος της γραμμής 1-2 γίνεται 6. Ποιες είναι στην περίπτωση αυτή οι διαδρομές για τις δύο μεταδόσεις; Είναι οι μόνες συντομότερες διαθέσιμες διαδρομές; 3. Αποτυχία πρωτοκόλλου Distance Vector Δημιουργήστε την τοπολογία του Σχήματος 2. 1 Mbps 2 3 1 Mbps 1 Mbps 1 1 Mbps 0 Σχήμα 2: Τοπολογία 2 Το κόμβος 2 αποστέλλει κίνηση CBR ρυθμού 960 kbps προς τον κόμβο 0, ενώ ο κόμβος 3 αποστέλλει κίνηση CBR ρυθμού 960 kbps προς τον κόμβο 1. Τη χρονική στιγμή t=1sec, η ζεύξη 0-1 τίθεται εκτός λειτουργίας, ενώ τη χρονική στιγμή t=2sec, αποκαθίσταται η λειτουργία της ζεύξης 0-1. Ο κώδικας για την εκτέλεση αυτού του σεναρίου βρίσκεται στο Παράρτημα B. 3.1 Ερωτήσεις Ποια διαδρομή ακολουθούν τα πακέτα που στέλνει ο κόμβος 2 πριν και μετά τη διακοπή της ζεύξης 0-1; Εξηγήστε αυτή τη συμπεριφορά. 2

Να δώσετε τα σχήματα του xgraph που δείχνουν τον ρυθμό άφιξης δεδομένων στους προορισμούς τους. Σχολιάστε τους παρατηρούμενους ρυθμούς άφιξης δεδομένων. Επηρεάζεται η ροή πακέτων από τον κόμβο 3 προς στον 1 λόγω της αστοχίας της ζεύξης 0-1; Προτείνετε κάποια λύση για την αντιμετώπιση αυτής της συμπεριφοράς. Όσο η ζεύξη 0-1 είναι εκτός λειτουργίας, διαφοροποιείται καθόλου η κατάσταση εάν μεταβληθεί ο μέγιστος ρυθμός μετάδοσης που μπορεί να υποστηριχθεί από τις υπόλοιπες ζεύξεις; Αιτιολογείστε την απάντησή σας τόσο θεωρητικά, όσο και πειραματικά με τη βοήθεια του ΝS2. 3

4. Παραρτήματα Παράρτημα Α- Κώδικας για την προσομοίωση του πρώτου μέρους ### Αρχείο προσομοίωσης για μελέτη επίδοσης πρωτοκόλλου δρομολόγησης Distance ### Vector (DV). Το σενάριο αποτελείται από 6 κόμβους συνδεδεμένους με ζεύξεις ### διαφορετικού βάρους, όπως φαίνεται στην παρακάτω τοπολογία: ### 2 ### 1-----2 ### 1/ \ \1 ### / \ \ ### 0 2 6 1 3 ### \ \ / Ο κόμβος 0 στέλνει κίνηση CBR στον 4. ### 5\ \ /3 Ο κόμβος 3 στέλνει κίνηση CBR στον 5. ### 5-----4 ### 7 ### Τα αποτελέσματα καταγράφονται στα αρχεία lab7a.nam (NAM) και lab7a.tr ### (trace file). Επιπλέον, τα αρχεία lab7a1.tr και lab7a2.tr περιγράφουν την ### κίνηση συναρτήσει του χρόνου (Xgraph). # Δημιουργία αντικειμένου προσομοίωσης set ns [new Simulator] # Δημιουργία αρχείου NAM set nf [open lab7a.nam w] $ns namtrace-all $nf # Δημιουργία αρχείου trace set trf [open lab7a.tr w] $ns trace-all $trf # Διαδικασία τερματισμού proc finish { { global ns nf f1 f2 trf $ns flush-trace close $nf close $f1 close $f2 close $trf exit 0 4

# Ορισμός πρωτοκόλλου δρομολόγησης Agent/rtProto/Direct set preference_ 200 $ns rtproto DV # Δημιουργία κόμβων δικτύου for {set i 0 {$i < 6 {incr i { set n($i) [$ns node] # Δημιουργία ζεύξεων και ορισμός κόστους $ns duplex-link $n(0) $n(1) 1Mb 10ms DropTail $ns cost $n(0) $n(1) 1 $ns cost $n(1) $n(0) 1 $ns duplex-link $n(1) $n(2) 1Mb 20ms DropTail $ns cost $n(1) $n(2) 2 $ns cost $n(2) $n(1) 2 $ns duplex-link $n(2) $n(3) 1Mb 10ms DropTail $ns cost $n(2) $n(3) 1 $ns cost $n(3) $n(2) 1 $ns duplex-link $n(3) $n(4) 1Mb 30ms DropTail $ns cost $n(3) $n(4) 3 $ns cost $n(4) $n(3) 3 $ns duplex-link $n(4) $n(5) 1Mb 70ms DropTail $ns cost $n(4) $n(5) 7 $ns cost $n(5) $n(4) 7 $ns duplex-link $n(5) $n(0) 1Mb 50ms DropTail $ns cost $n(5) $n(0) 5 $ns cost $n(0) $n(5) 5 $ns duplex-link $n(1) $n(5) 1Mb 20ms DropTail $ns cost $n(1) $n(5) 2 $ns cost $n(5) $n(1) 2 $ns duplex-link $n(2) $n(4) 1Mb 10ms DropTail $ns cost $n(2) $n(4) 1 $ns cost $n(4) $n(2) 1 $ns duplex-link $n(1) $n(4) 1Mb 60ms DropTail $ns cost $n(1) $n(4) 6 $ns cost $n(4) $n(1) 6 # Στρώμα Μεταφοράς, κόμβος n(0): πηγή, κόμβος n(4): προορισμός set udp1 [new Agent/UDP] $ns attach-agent $n(0) $udp1 $udp1 set fid_ 1 5

$ns color 1 red set sink1 [new Agent/LossMonitor] $ns attach-agent $n(4) $sink1 # Στρώμα Μεταφοράς, κόμβος n(3): πηγή, κόμβος n(5): προορισμός set udp2 [new Agent/UDP] $ns attach-agent $n(3) $udp2 $udp2 set fid_ 2 $ns color 2 blue set sink2 [new Agent/LossMonitor] $ns attach-agent $n(5) $sink2 # Σύνδεση των πηγών και των προορισμών $ns connect $udp1 $sink1 $ns connect $udp2 $sink2 # Στρώμα εφαρμογής set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1 set cbr2 [new Application/Traffic/CBR] $cbr2 attach-agent $udp2 # Διαδικασία καταγραφής κίνησης proc record { { global sink1 sink2 f1 f2 set ns [Simulator instance] # Ορισμός του χρόνου που η διαδικασία θα ξανακληθεί set time 0.1 # Καταγραφή των byte set bw1 [$sink1 set bytes_] set bw2 [$sink2 set bytes_] # Λήψη της τρέχουσας ώρας set now [$ns now] # Υπολογισμός του bandwidth και καταγραφή αυτού puts $f1 "$now [expr (($bw1/$time)*8)/1000000]" puts $f2 "$now [expr (($bw2/$time)*8)/1000000]" # Θέτει τη μεταβλητή bytes ίση με 0 $sink1 set bytes_ 0 $sink2 set bytes_ 0 # Επαναπρογραμματισμός της διαδικασίας $ns at [expr $now+$time] "record" 6

# Δημιουργία αρχείων για το Xgraph set f1 [open lab7a1.tr w] set f2 [open lab7a2.tr w] # Ορισμός γεγονότων $ns at 0.0 "record" $ns at 0.3 "$cbr1 start" $ns at 0.5 "$cbr2 start" $ns at 2.5 "$cbr1 stop" $ns at 2.5 "$cbr2 stop" $ns at 3 "finish" # Εκτέλεση προσομοίωσης $ns run 7

Παράρτημα Β Κώδικας για την προσομοίωση του δεύτερου μέρους ### Αρχείο προσομοίωσης για μελέτη επίδοσης πρωτοκόλλου δρομολόγησης Distance ### Vector (DV). Το σενάριο αποτελείται από 4 κόμβους συνδεδεμένους με ζεύξεις, ### όπως φαίνεται στην παρακάτω τοπολογία: ### 1 Mbps ### 2-------3 ### \ / ### 1 Mbps\ / 1 Mbps ### \ / ### 1 ### Ο κόμβος 2 στέλνει κίνηση CBR στον 0. ### 1 Mbps Ο κόμβος 3 στέλνει κίνηση CBR στον 1. ### 0 ### Τα αποτελέσματα καταγράφονται στα αρχεία lab7b.nam (NAM) και lab7b.tr ### (trace file). Επιπλέον, τα αρχεία lab7b1.tr και lab7b2.tr περιγράφουν την ### κίνηση συναρτήσει του χρόνου (Xgraph). # Δημιουργία αντικειμένου προσομοίωσης set ns [new Simulator] # Δημιουργία αρχείου NAM set nf [open lab7b.nam w] $ns namtrace-all $nf # Δημιουργία αρχείου trace set trf [open lab7b.tr w] $ns trace-all $trf # Διαδικασία τερματισμού proc finish { { global ns nf f1 f2 trf $ns flush-trace close $nf close $f1 close $f2 close $trf exit 0 # Ορισμός πρωτοκόλλου δρομολόγησης 8

Agent/rtProto/Direct set preference_ 200 $ns rtproto DV # Δημιουργία κόμβων δικτύου for {set i 0 {$i < 4 {incr i { set n($i) [$ns node] # Δημιουργία ζεύξεων $ns duplex-link $n(0) $n(1) 1Mb 10ms DropTail $ns duplex-link $n(1) $n(2) 1Mb 10ms DropTail $ns duplex-link $n(1) $n(3) 1Mb 10ms DropTail $ns duplex-link $n(2) $n(3) 1Mb 10ms DropTail # Εμφάνιση ουράς αναμονής στο NAM $ns duplex-link-op $n(2) $n(1) queuepos 0.5 # Στρώμα Μεταφοράς, κόμβος n(2): πηγή, κόμβος n(0): προορισμός set udp1 [new Agent/UDP] $ns attach-agent $n(2) $udp1 $udp1 set fid_ 1 $ns color 1 red set sink1 [new Agent/LossMonitor] $ns attach-agent $n(0) $sink1 # Στρώμα Μεταφοράς, κόμβος n(3): πηγή, κόμβος n(1): προορισμός set udp2 [new Agent/UDP] $ns attach-agent $n(3) $udp2 $udp2 set fid_ 2 $ns color 2 blue set sink2 [new Agent/LossMonitor] $ns attach-agent $n(1) $sink2 # Σύνδεση των πηγών και των προορισμών $ns connect $udp1 $sink1 $ns connect $udp2 $sink2 # Στρώμα εφαρμογής set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1 $cbr1 set packetsize_ 600 $cbr1 set interval_ 0.005 9

set cbr2 [new Application/Traffic/CBR] $cbr2 attach-agent $udp2 $cbr2 set packetsize_ 600 $cbr2 set interval_ 0.005 # Διαδικασία καταγραφής κίνησης proc record { { global sink1 sink2 f1 f2 set ns [Simulator instance] # Ορισμός του χρόνου που η διαδικασία θα ξανακληθεί set time 0.1 # Καταγραφή των byte set bw1 [$sink1 set bytes_] set bw2 [$sink2 set bytes_] # Λήψη της τρέχουσας ώρας set now [$ns now] # Υπολογισμός του bandwidth και καταγραφή αυτού puts $f1 "$now [expr (($bw1/$time)*8)/1000000]" puts $f2 "$now [expr (($bw2/$time)*8)/1000000]" # Θέτει τη μεταβλητή bytes ίση με 0 $sink1 set bytes_ 0 $sink2 set bytes_ 0 # Επαναπρογραμματισμός της διαδικασίας $ns at [expr $now+$time] "record" # Δημιουργία αρχείων για το Xgraph set f1 [open lab7b1.tr w] set f2 [open lab7b2.tr w] # Ορισμός γεγονότων $ns at 0.0 "record" $ns at 0.3 "$cbr1 start" $ns at 0.3 "$cbr2 start" $ns at 2.9 "$cbr1 stop" $ns at 2.9 "$cbr2 stop" $ns at 3 "finish" # Διακοπή ζεύξης n(0)-n(1) $ns rtmodel-at 1.0 down $n(0) $n(1) 10

# Επαναφορά ζεύξης n(0)-n(1) $ns rtmodel-at 2.0 up $n(0) $n(1) # Εκτέλεση προσομοίωσης $ns run 11