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

Σχετικά έγγραφα
Δίκτυα Υπολογιστών Εργαστήρια

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

Βασικές λειτουργίες Ανίχνευση πλαισίων Τι κάνει το επίπεδο ζεύξης Χρησιμοποιεί τις υπηρεσίες του φυσικού επιπέδου, ήτοι την (ανασφαλή) μεταφορά δεδομέ

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

Επίπεδο ζεύξης δεδοµένων

3/40. (acknowledged connectionless), (acknowledged connection oriented) 4/40

Πρωτόκολλα επανεκποµπής

//009 Βασικές εργασίες του επιπέδου ζεύξης ηµιουργία πλαισίων Έλεγχος σφαλµάτων Έλεγχος ροής Σχέση µεταξύ πακέτων (επιπέδου δικτύου) και πλαισίων (επι

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Μηχανισμοί Λογικής σύνδεσης. Διάρθρωση. Δομή πλαισίου. Καθορισμός ορίων πλαισίου

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

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

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

Δίκτυα Υπολογιστών. Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο. Ευάγγελος Παπαπέτρου. Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Άσκηση 2. Αν συμβούν 2 duplicate ACKs αντί για timeout τι γίνεται σε αυτή την περίπτωσή;

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

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

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Μια από τις σημαντικότερες δυσκολίες που συναντά ο φυσικός στη διάρκεια ενός πειράματος, είναι τα σφάλματα.

Επίπεδο ύνδεσης Δεδομένων (Data Link Layer DLL)

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο Φροντιστήριο Ασκήσεις στο TCP

Έλεγχος υποθέσεων και διαστήματα εμπιστοσύνης

Διάρθρωση. Δίκτυα Υπολογιστών Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο. Αναγκαιότητα και ορισμός λογικής σύνδεσης. Διάρθρωση

Κεφάλαιο 5: Τοπικά ίκτυα

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

Δειγματοληψία στην εκπαιδευτική έρευνα. Είδη δειγματοληψίας

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium iv

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

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

Δίκτυα Υπολογιστών I

Μέρος Β - Δίκτυα. Ασκήσεις I. Ποιος ο ρόλος του πομπού και του δέκτη στο μοντέλο επικοινωνίας που α- πεικονίζεται στο σχήμα που ακολουθεί; Μ Δεδομένα

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

Πανεπιστήµιο Θεσσαλίας

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ ΚΑΙ ΔΙΚΤΥΑ Η/Υ. Μελέτη Σημείου Πρόσβασης ως ασύρματου επαναλήπτη

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Πίνακας 4.4 Διαστήματα Εμπιστοσύνης. Τιμές που Επίπεδο εμπιστοσύνης. Διάστημα εμπιστοσύνης

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

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΠΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ / ΙΟΥΝΙΟΥ 2014

Τμήμα Μηχανικών Η/Υ και Πληροφορικής

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

4.3 Δραστηριότητα: Θεώρημα Fermat

Δεύτερη Σειρά Ασκήσεων

Ασύρματες Ζεύξεις - Εργαστήριο

6 ο ΜΑΘΗΜΑ Έλεγχοι Υποθέσεων

Απαντήσεις σε απορίες

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

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

ΜΑΘΗΜΑΤΙΚΑ 5 ΠΕΡΙΟΔΩΝ ΗΜΕΡΟΜΗΝΙΑ: 8 ΙΟΥΝΙΟΥ 2009

159141,9 64 x n 1 n

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

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.

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

P (X = x) = (0.001) x (0.999) 1000 x

Η Διωνυμική Κατανομή. μαθηματικών. 2 Ο γονότυπος μπορεί να είναι ΑΑ, Αα ή αα.

Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Κυκλωμάτων και Μετρήσεων


Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

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

Κεφάλαιο 10 Εισαγωγή στην Εκτίμηση

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

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

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

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

Ψηφιακές Τηλεπικοινωνίες. Θεωρία Ρυθμού Παραμόρφωσης

Η ΙΣΧΥΣ ΕΝΟΣ ΕΛΕΓΧΟΥ. (Power of a Test) ΚΕΦΑΛΑΙΟ 21

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

Ανάλυση διακύμανσης (Μέρος 1 ο ) 17/3/2017

Ονοματεπώνυμο Φοιτητή. Εργαστηριακό Τμήμα Π.χ. Δευτέρα

Προσομοιώσεις και οπτικοποιήσεις στη μαθησιακή διαδικασία

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

Έλεγχος Υποθέσεων. Δρ. Αθανάσιος Δαγούμας, Επ. Καθηγητής Οικονομικής της Ενέργειας & των Φυσικών Πόρων, Πανεπιστήμιο Πειραιώς

2 η Σειρά Ασκήσεων Data Link Layer

Στατιστική. Ανάλυση ιασποράς με ένα Παράγοντα. One-Way Anova. 8.2 Προϋποθέσεις για την εφαρμογή της Ανάλυσης ιασποράς

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

ΚΕΦΑΛΑΙΟ 3: Τοπολογίες Δικτύων Εισαγωγή

Κεφάλαιο 1 : Εισαγωγή

Προσομοίωση Συστημάτων

Μάθημα: Ακουστική και Ψυχοακουστική

10.7 Λυμένες Ασκήσεις για Διαστήματα Εμπιστοσύνης

Μάθημα: Ακουστική και Ψυχοακουστική

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

ΜΑΘΗΜΑΤΙΚΑ 3 ΠΕΡΙΟΔΩΝ ΗΜΕΡΟΜΗΝΙΑ: 8 ΙΟΥΝΙΟΥ 2009

Κεφάλαιο 7.3. Πρωτόκολλο TCP

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Τεχνολογία Πολυμέσων. Ενότητα # 17: Πρωτόκολλα μετάδοσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Ψευδοκώδικας. November 7, 2011

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

Ασύρματες Ζεύξεις - Εργαστήριο

Transcript:

Δίκτυα Υπολογιστών I Εργαστήρια Άσκηση 7 η Υποεπίπεδο ελέγχου λογικής σύνδεσης Έλεγχος Σφαλμάτων Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος

2 1 Εισαγωγή Η άσκηση ασχολείται με τρία πρωτόκολλα που χρησιμοποιούνται για τον έλεγχο σφαλμάτων στο επίπεδο συνδέσμου μετάδοσης δεδομένων. Τα τρία πρωτόκολλα είναι τα Alternating Bit Protocol (ABP), Go-Back-N (GBN) και Selective Repeat (SR) και αντιστοιχούν σε τρεις διαφορετικές προσεγγίσεις για την αντιμετώπιση των σφαλμάτων. Το πρωτόκολλο ABP αποτελεί επέκταση του πρωτοκόλλου ελέγχου ροής Stop-and-Wait, ενώ τα πρωτόκολλα GBN και SR είναι πρωτόκολλα κυλιόμενου παραθύρου. Σκοπός της άσκησης είναι να μελετηθεί η συμπεριφορά των τριών πρωτοκόλλων για διαφορετικές συνθήκες του καναλιού επικοινωνίας αλλά και για διαφορετικές παραμέτρους λειτουργίας. Συγκεκριμένα η άσκηση θα ασχοληθεί με την επίδραση που έχουν στη συμπεριφορά των πρωτοκόλλων το μέγεθος του παραθύρου¹, η πιθανότητα σφαλμάτων και το εύρος ζώνης στο κανάλι επικοινωνίας. Για τη μελέτη των πρωτοκόλλων θα χρησιμοποιηθεί ο προσομοιωτής ns. Στην επόμενη ενότητα περιγράφεται αναλυτικά η προσομοίωση που θα χρησιμοποιηθεί. 2 Περιγραφή της προσομοίωσης Μαζί με την παρούσα εκφώνηση είναι διαθέσιμο και το αρχείο lab3_opt.tcl, το οποίο αποτελεί το αρχείο προσομοίωσης που θα χρησιμοποιηθεί. Το αρχείο αυτό προσομοιώνει τη σύνδεση μεταξύ ενός γεωστατικού δορυφόρου και ενός επίγειου τερματικού, όπως φαίνεται στο σχήμα 1. Οι γεωστατικοί δορυφόροι έχουν την ιδιότητα να διατηρούνται σε σταθερή θέση ως προς την επιφάνεια της γης. Το τερματικό είναι σταθερό σε ένα σημείο της επιφάνειας της γης. Η καθυστέρηση διάδοσης μεταξύ του τερματικού και του δορυφόρου είναι σταθερή καθ όλη τη διάρκεια της προσομοίωσης και εξαρτάται μόνο από τη θέση του τερματικού στην επιφάνεια της γης. Το τερματικό αποστέλλει συνεχώς προς τον δορυφόρο πακέτα δεδομένων σταθερού μεγέθους (packet_size), χρησιμοποιώντας ένα από τα πρωτόκολλα ελέγχου σφαλμάτων που αναφέρθηκαν. Για τα πρωτόκολλα κυλιόμενου παραθύρου, το μέγεθος του παραθύρου (window_size) μπορεί να καθοριστεί από το χρήστη. Η ασύρματη ζεύξη χαρακτηρίζεται από το εύρος ζώνης (ή ταχύτητα μετάδοσης - transmission_speed), η οποία επίσης μπορεί να καθοριστεί από τον χρήστη. Επίσης η ζεύξη είναι αναξιόπιστη, δηλαδή υπάρχει πιθανότητα να συμβεί σφάλμα (error_rate) σε κάποιο από τα πακέτα που αποστέλλονται, με συνέπεια το πακέτο να καταστραφεί εντελώς και να μην φτάσει ποτέ στον δορυφόρο. Ο δορυφόρος επιβεβαιώνει τη λήψη κάθε πακέτου που λαμβάνει σωστά. Στις περιπτώσεις που χάνονται πακέτα, ο δορυφόρος αντιλαμβάνεται έμμεσα το γεγονός με τη χρήση των αριθμών ακολουθίας. Αυτό γίνεται ¹Μόνο για τα πρωτόκολλα κυλιόμενου παραθύρου

3 Σχήμα 1: Παράδειγμα επικοινωνίας που χρησιμοποιείται στην προσομοίωση όταν λάβει σωστά ένα επόμενο πακέτο, εξετάζοντας τον αριθμό ακολουθίας που αυτό μεταφέρει. Αν ο αριθμός ακολουθίας δεν είναι αυτός που περίμενε, ο δορυφόρος συμπεραίνει ότι το πακέτο (ή τα πακέτα) που ανέμενε έχουν χαθεί. Στην περίπτωση αυτή αποστέλλει προς το τερματικό μηνύματα αρνητικής επιβεβαίωσης. Με τη λήψη αυτών των μηνυμάτων, το τερματικό επαναλαμβάνει την εκπομπή των μηνυμάτων που χάθηκαν. Επίσης το τερματικό διατηρεί ένα ρολόι και επαναλαμβάνει την εκπομπή των πακέτων για τα οποία δεν έλαβε μια επιβεβαίωση μέσα σε συγκεκριμένο χρονικό διάστημα (timeout). 3 Οδηγίες για την άσκηση Όπως αναφέρθηκε, για τις ανάγκες της άσκησης θα χρησιμοποιηθεί ο προσομοιωτής ns. Επίσης σας παρέχεται το αρχείο προσομοίωσης lab3_opt.tcl, το οποίο πρέπει να αποθηκεύσετε στο λογαριασμό σας. Τα ονόματα των παραμέτρων της προσομοίωσης που αναφέρθηκαν στην προηγούμενη παράγραφο (π.χ. timeout, window_size, transmission_speed, packet_size, error_rate, κλπ) είναι τα ίδια με αυτά που χρησιμοποιούνται στο αρχείο lab3_opt.tcl και επομένως μπορείτε να μεταβάλλεται τις τιμές τους. Επίσης στο αρχείο lab3_opt.tcl υπάρχει η παράμετρος selective_repeat που καθορίζει ποιο πρωτόκολλο θα χρησιμοποιηθεί. Αν δοθεί η τιμή 1 τότε χρησιμοποιείται το πρωτόκολλο Selective Repeat, ενώ αν δοθεί η τιμή 0 τότε χρησιμοποιείται το πρωτόκολλο Go-Back-N. Το πρωτόκολλο ABP επιτυγχάνεται ως υποπερίπτωση του Go-Back-N όταν το μέγεθος του παραθύρου τεθεί στην τιμή 1. Τέλος στην προσομοίωση lab3_opt.tcl υπάρχει η παράμετρος location. Η παράμετρος λαμβάνει μια από τις τιμές {1,2,3} και χρησιμοποιείται για να καθοριστεί διαφορετική θέση του επίγειου τερματικού. Διαφορετικές θέσεις του τερματικού αντιστοιχούν σε διαφορετική καθυστέρηση διάδοσης. Συγκεκριμένα, στη θέση 1 η καθυστέρηση διάδοσης είναι ίση με 126.7 msecs, στη θέση 2 ίση με 149.2 msecs ενώ στη θέση 3 είναι ίση με 133.6 msecs.

4 Για διευκόλυνσή σας το αρχείο lab3_opt.tcl δέχεται τον καθορισμό των βασικών παραμέτρων λειτουργίας, στις οποίες αναφερθήκαμε προηγουμένως, από την γραμμή εντολών. Δηλαδή, για να εκτελέσετε μια προσομοίωση θα πρέπει, από το φάκελο του λογαριασμού σας, να δώσετε π.χ. την εντολή: user@host:...$ /usr/bin/ns lab3_opt.tcl -sr 1 -wsize 10 -er 0.1 -tr_speed 10000000 -location 1 Στο παραπάνω παράδειγμα η τιμή μετά το διακόπτη -sr καθορίζει την τιμή της παραμέτρου selective_repeat, δηλαδή το πρωτόκολλο που θα χρησιμοποιηθεί και επομένως μπορεί να λάβει τις τιμές 0 (Go-Back-N) ή 1 (Selective Repeat). Η τιμή μετά το διακόπτη -wsize καθορίζει την τιμή της παραμέτρου window_size, δηλαδή το μέγεθος του κυλιόμενου παραθύρου, και μπορεί να λάβει οποιαδήποτε μη μηδενική τιμή. Αν τεθεί στην τιμή 1 τότε ουσιαστικά υλοποιείται το πρωτόκολλο ABP. Η τιμή μετά το διακόπτη -er καθορίζει την τιμή της παραμέτρου error_rate, δηλαδή την πιθανότητα σφάλματος στο κανάλι, και μπορεί να λάβει οποιαδήποτε τιμή στο διάστημα [0,1]. Η τιμή μετά το διακόπτη -tr_speed καθορίζει την τιμή της παραμέτρου transmission_speed, δηλαδή την ταχύτητα μετάδοσης στο κανάλι, και πρέπει να καθοριστεί σε bits/sec. Στο παράδειγμά μας η ταχύτητα μετάδοσης τίθεται ίση με 10Mpbs. Τέλος, η τιμή μετά το διακόπτη -location καθορίζει την τιμή της παραμέτρου location, δηλαδή την θέση του τερματικού, και λαμβάνει μια από τις τιμές {1,2,3}. Στο παράδειγμά μας έχει επιλεγεί η θέση 1 για το τερματικό, η οποία αντιστοιχεί σε καθυστέρηση διάδοσης ίση με 126.7msecs. Η προσομοίωση lab3_opt.tcl, μετά το τέλος της, δημιουργεί ένα αρχείο αποτελεσμάτων με το όνομα lab3.tr². Για την επεξεργασία του αρχείου lab3.tr σας παρέχονται δύο εκτελέσιμα αρχεία, τα lab3_gbn.sh και lab_sr.sh³. Προσοχή: Όπως είναι φανερό και από το όνομά τους, θα πρέπει να χρησιμοποιείτε κάθε φορά μόνο ένα από τα δύο αρχεία, ανάλογα με το ποιο πρωτόκολλο χρησιμοποιήσατε στην προσομοίωση. Και τα δύο αρχεία εξάγουν συγκεντρωτικά αποτελέσματα που αφορούν: το μέσο αριθμό μεταδόσεων ενός πακέτου, τη μέση καθυστέρηση για τη μετάδοση ενός πακέτου, και τη ρυθμαπόδοση που το πρωτόκολλο επιτυγχάνει Τα μεγέθη αυτά θα χρησιμοποιηθούν στη συνέχεια για την αξιολόγηση της απόδοσης των πρωτοκόλλων. ²Προσοχή: Το αρχείο αποθηκεύεται στο φάκελο μέσα από τον οποίο εκτελέσατε την προσομοίωση, ανεξάρτητα από το αν το εκτελέσιμο του ns βρίσκεται σε άλλο μονοπάτι. Επίσης τα αρχεία τύπου.tr έχουν σημαντικό μέγεθος και θα πρέπει να εξασφαλίσετε ότι υπάρχει διαθέσιμος χώρος στον λογαριασμό σας. ³Για να χρησιμοποιήσετε τα αρχεία αυτά θα πρέπει να τα αποθηκεύσετε στο λογαριασμό σας και να εκτελέσετε για καθένα από αυτά την εντολή chmod 755 filename, όπου filename το όνομα του εκάστοτε αρχείου.

5 4 Μεθοδολογία Στην άσκηση αυτή θα πρέπει να πραγματοποιηθούν δύο πειράματα. Στο πρώτο πείραμα θα μελετηθεί η επίδραση της παραμέτρου window_size, δηλαδή του μεγέθους του κυλιόμενου παραθύρου στη λειτουργία των πρωτοκόλλων GBN και SR. Στο δεύτερο πείραμα θα μελετηθεί η επίδραση της παραμέτρου error_rate, δηλαδή του ρυθμού σφαλμάτων στη λειτουργία των πρωτοκόλλων ABP, GBN και SR. Υπενθυμίζεται ότι σε ένα πείραμα όλες οι παράμετροι λειτουργίας παραμένουν σταθερές στις προκαθορισμένες τους τιμές εκτός από την υπό μελέτη παράμετρο. Στο πρώτο πείραμα οι προκαθορισμένες τιμές που θα χρησιμοποιήσετε είναι error_rate = 0.1 και transmission_speed = 10000000, ενώ στο δεύτερο πείραμα οι προκαθορισμένες τιμές είναι window_size = 150 για τα πρωτόκολλα GBN και SR, window_size = 1 για το πρωτόκολλο ABP και transmission_speed = 10000000. Για την αξιολόγηση των πρωτοκόλλων θα χρησιμοποιηθούν τα μεγέθη που αναφέρθηκαν στην προηγούμενη ενότητα και τα οποία εξάγονται από τα αρχεία lab3_gbn.sh⁴ και lab3_sr.sh για τα πρωτόκολλα GBN και SR αντίστοιχα. Επίσης η τοποθεσία για το τερματικό θα καθοριστεί θέτοντας στην παράμετρο location την τιμή που προκύπτει από τον υπολογισμό (αριθμός_μητρώου MOD 3) + 1. 4.1 Τυχαιότητα αποτελεσμάτων Κατά την εκτέλεση των προσομοιώσεων θα παρατηρήσετε ότι αν επαναλάβετε μια προσομοίωση με τις ίδιες παραμέτρους δύο φορές τότε πιθανόν τα αποτελέσματα να είναι διαφορετικά. Αυτό οφείλεται στο γεγονός ότι τα σφάλματα συμβαίνουν με τυχαίο τρόπο. Η τυχαιότητα αυτή είναι παρούσα σε πραγματικά συστήματα (για διάφορους λόγους) και επομένως είναι επιθυμητή και στην προσομοίωση ώστε αυτή να είναι ρεαλιστική. Ωστόσο για να βγάλουμε ασφαλή συμπεράσματα θα πρέπει να καταγράφουμε την απόδοση των πρωτοκόλλων σε μέσες τιμές και όχι για μια και μόνη προσομοίωση. Επομένως η σωστή μεθοδολογία είναι να επαναλάβουμε μια προσομοίωση με τις ίδιες παραμέτρους έστω k φορές και να καταγράψουμε την μέση τιμή της απόδοσης του πρωτοκόλλου. Έστω π.χ. ότι επιθυμούμε να μετρήσουμε τη ρυθμαπόδοση που επιτυγχάνει ένα πρωτόκολλο. Έστω επίσης ότι εκτελούμε μια προσομοίωση (με συγκεκριμένες παραμέτρους λειτουργίας του πρωτοκόλλου) k φορές και λαμβάνουμε για τη ρυθμαπόδοση του πρωτοκόλλου τις τιμές R 1, R 2,..., R k. Τότε, η ρυθμαπόδοση για τις συγκεκριμένες παραμέτρους λειτουργίας είναι η μέση τιμή των τιμών που καταγράψαμε. Δηλαδή η τιμή R = 1 k k n=1 (R n ). ⁴Χρησιμοποιήστε το ίδιο αρχείο για τα αποτελέσματα του πρωτοκόλλου ABP.

6 Πολλές φορές είναι επίσης χρήσιμο να γνωρίζουμε κατά πόσο οι τιμές που καταγράψαμε, δηλαδή οι R 1, R 2,..., R k είναι ικανοποιητικές στο πλήθος και επομένως δεν χρειάζεται να εκτελέσουμε άλλες επαναλήψεις. Αυτό συμβαίνει όταν οι τιμές αυτές προσφέρουν μια αξιόπιστη μέση τιμή. Για να αποφασίσουμε αν αυτό συμβαίνει συνήθως χρησιμοποιούμε την έννοια του a% confidence interval. Το a% confidence interval μετρά κατά πόσο οι τιμές που έχουν καταγραφεί από k επαναλήψεις δίνουν μια αξιόπιστη μέση τιμή. Όσο μικρότερη είναι η τιμή του confidence interval τόσο πιο αξιόπιστη η μέση τιμή που έχει υπολογιστεί. Συγκεκριμένα, αν υπολογίσουμε ότι για τις k τιμές το a% confidence interval=b, αυτό σημαίνει ότι αν επαναλάβουμε πολλές φορές την προσομοίωση (δηλαδή πάρουμε επιπλέον τιμές) και κάθε φορά επαναλάβουμε τον υπολογισμό της μέσης τιμής, τότε αυτή θα βρίσκεται στο πεδίο τιμών (R b, R + b) σε a% των περιπτώσεων. Το ποσοστό a% ονομάζεται επίπεδο εμπιστοσύνης. Στην πράξη συνήθως χρησιμοποιείται το 95% confidence interval. Ένας προσεγγιστικός τρόπος υπολογισμού του 95% confidence interval δίνεται από τη σχέση: 95% confidence interval = 1.96 SD k, όπου SD η τυπική απόκλιση των δειγμάτων R 1, R 2,..., R k και k το πλήθος τους. 4.2 Εκτέλεση προσομοιώσεων Όπως αναφέρθηκε, η απόδοση του συστήματος θα αξιολογηθεί με τις μετρικές που εξάγουν τα αρχεία lab3_gbn.sh και lab3_sr.sh και οι οποίες είναι: ο μέσος αριθμός μεταδόσεων ενός πακέτου, η μέση καθυστέρηση για τη μετάδοση ενός πακέτου, και η ρυθμαπόδοση που επιτυγχάνει το πρωτόκολλο. Για να ελαχιστοποιήσουμε την επίδραση της τυχαιότητας, τα αποτελέσματα που θα καταγράψετε θα πρέπει να είναι οι μέσοι όροι από 5 προσομοιώσεις. Για τον λόγο αυτό, σας παρέχεται επίσης και το αρχείο experiment.sh, το οποίο θα πρέπει να αντιγράψτε το στον ίδιο κατάλογο που βρίσκονται και τα αρχεία lab3_opt.tcl, lab3_gbn.sh και lab3_sr.sh. Έτσι, αντί να εκτελείτε κάθε φορά τον ns και κατόπιν το lab3_gbn.sh (ή το lab3_sr.sh ανάλογα με το πρωτόκολλο), θα εκτελείτε το experiment.sh δίνοντάς του τα ίδια ορίσματα που θα δίνατε και στον ns. Για παράδειγμα: user@host:...$ sh experiment.sh -sr 1 -wsize 10 -er 0.1 -tr_speed 10000000 -location 1 Tο experiment.sh θα εκτελεί τον απαιτούμενο αριθμό επαναλήψεων της προσομοίωσης και θα υπολογίζει αυτόματα τη μέση τιμή, την τυπική απόκλιση και το 95% διάστημα εμπιστοσύνης κάθε μετρικής. Οι μετρικές που θα καταγράφονται θα πρέπει να αναπαρασταθούν σε γραφικές παραστάσεις. Είναι κατανοητό ότι χρειάζεται μια γραφική παράσταση για κάθε μετρική, όπου στον άξονα x θα υπάρχουν οι τιμές της παραμέτρου που μεταβάλλεται στο συγκεκριμένο πείραμα. Επίσης κάθε γραφική παράσταση θα πρέπει να συνοδεύεται από

7 έναν πίνακα όπου θα καταγράφεται το 95%confidence interval για κάθε τιμή. Για τη δημιουργία των γραφικών παραστάσεων μπορείτε να χρησιμοποιήσετε όποιο εργαλείο επιθυμείτε, όπως π.χ. matlab, xgraph, openoffice spreadsheets, κλπ. 5 Παραδείγματα ζητούμενων Αφού μελετήσετε το αρχείο lab3_opt.tcl θα πρέπει όπως αναφέρθηκε να εκτελέσετε δύο πειράματα και να απαντήσετε σε ορισμένες ερωτήσεις. Πρέπει να επισημανθεί ότι κάθε προσομοίωση θα πρέπει να εκτελείται 5 φορές και να χρησιμοποιείται η μέση τιμή των μεγεθών που καταγράφονται. 1ο πείραμα: Μεταβάλλετε το κυλιόμενο παράθυρο (window_size) στις τιμές {2, 11, 51, 152,510, 1000} και για τα δύο πρωτόκολλα GBN και SR. Για κάθε τιμή της παραμέτρου window_size υπολογίστε τα τρία μεγέθη για την αξιολόγηση των πρωτοκόλλων και καταγράψτε σε γραφικές παραστάσεις τις μέσες τιμές τους στο σύνολο των 5 προσομοιώσεων και σε πίνακες τα διαστήματα εμπιστοσύνης. Σχολιάστε και αιτιολογήστε τη μεταβολή των μεγεθών που καταγράψατε. 2ο πείραμα: Μεταβάλλετε την πιθανότητα σφάλματος στη ζεύξη (error_rate) στις τιμές {0.015, 0.15, 0.35, 0.51} και για τα τρία πρωτόκολλα ABP, GBN και SR. Για κάθε τιμή της παραμέτρου error_rate υπολογίστε τα τρία μεγέθη για την αξιολόγηση των πρωτοκόλλων και καταγράψτε σε γραφικές παραστάσεις τις μέσες τιμές τους στο σύνολο των 5 προσομοιώσεων και σε πίνακες τα διαστήματα εμπιστοσύνης. Σχολιάστε και αιτιολογήστε τη μεταβολή των μεγεθών που καταγράψατε. 1η ερώτηση: Υπολογίστε την ελάχιστη τιμή του μεγέθους του κυλιόμενου παραθύρου για την οποία μεγιστοποιείται η ρυθμαπόδοση στην περίπτωση που δεν υπάρχουν σφάλματα στο κανάλι επικοινωνίας. Δώστε έναν τύπο για τον υπολογισμό. 2η ερώτηση: Σε ποιες περιπτώσεις συνδέσμων (ποια χαρακτηριστικά) όλα τα πρωτόκολλα (ABP, Go-Back-N και Selective Repeat) επιτυγχάνουν την ίδια μέγιστη ρυθμαπόδοση; 3η ερώτηση: Για ποιους λόγους πιστεύετε ότι ένας σχεδιαστής θα προτιμούσε το πρωτόκολλο ABP έναντι των πρωτοκόλλων Go-Back-N και Selective Repeat;