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

Σχετικά έγγραφα
Πρωτόκολλα Ελέγχου προσπέλασης μέσου

Πρωτόκολλα τυχαίας προσπέλασης

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

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

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

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

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

Κεφάλαιο 3 Πολυπλεξία

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

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

ΙΑΛΕΞΗ 6 Η. ίκτυα Υπολογιστών & Επικοινωνία. ιδάσκουσα: : ρ. Παντάνο Ρόκου Φράνκα. ίκτυα Υπολογιστών και Επικοινωνία. ιάλεξη 6: H Πολύπλεξη

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Πολυπλεξία. Creative Commons License 3.0 Share-Alike

Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 8: ΈλεγχοςΡοήςΑνοικτούΒρόχου Φώτης Βαρζιώτης

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

ΠΡΟΛΟΓΟΣ. Θέµα: Προσοµοίωση MAC πρωτοκόλλων για LAN broadcast-and-select οπτικά δίκτυα τεχνολογίας WDM

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

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

Επαναληπτικές Ασκήσεις Μαθήματος

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

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

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

ΕΡΓΑΣΙΕΣ 4 ου ΚΕΦΑΛΑΙΟΥ. 1 η Ομάδα: Ερωτήσεις πολλαπλής επιλογής

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Εγγυημένη ποιότητα υπηρεσίας

ΕΡΓΑΣΙΕΣ 4 ου ΚΕΦΑΛΑΙΟΥ. 1 η Ομάδα: Ερωτήσεις πολλαπλής επιλογής

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

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

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή

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

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Κινητές επικοινωνίες. Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA

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

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ροµολόγηση πακέτων σε δίκτυα υπολογιστών

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

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

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

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Πρωτόκολλα Διαδικτύου

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

Υπόστρωμα Ελέγχου Πρόσβασης Μέσου. Medium Access Control Sub-layer.

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Ethernet Ethernet ΙΕΕΕ CSMA/CD

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

Συνεχής ροή πολυµέσων

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

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

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

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

Πρωτόκολλο TCP Διάλεξη ΙΙI

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

Bubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch

οµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά

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

Επιπλέον Ασκήσεις ΤΟ ΠΡΟΒΛΗΜΑ ΤΩΝ ΣΥΝΑΝΤΗΣΕΩΝ

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

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

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Εργαστήριο 9: Άλλες Λειτουργίες στα Δίκτυα Κινητών Επικοινωνιών

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

CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1

Δίκτυα Επικοινωνιών ΙΙ: ATM

Κατανεμημένα Συστήματα Ι

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

Απαντήσεις. Απάντηση. Απάντηση

WIRELESS SENSOR NETWORKS (WSN)

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Ο πυρήνας του δικτύου. Κ. Βασιλάκης

Περιεχόμενα. Πρόλογος 9. Ευχαριστίες 15

Νέες Επικοινωνιακές Τεχνολογίες

4.3. Γραµµικοί ταξινοµητές

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

Πρωτόκολλα Διαδικτύου

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Ανάλυση Χρόνου, Πόρων & Κόστους

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

2η Οµάδα Ασκήσεων. 250 km db/km. 45 km 0.22 db/km 1:2. T 75 km 0.22 db/km 1:2. 75 km db/km. 1:2 225 km 0.22 db/km

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις στα Τοπικά Δίκτυα

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΠΡΟΣΟΜΟΙΩΣΗ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ E.A.T.S. ΚΑΙ ΠΑΡΑΓΩΓΗ ΣΤΑΤΙΣΤΙΚΗΣ ΜΕΛΕΤΗΣ. ΠΡΟΣΟΜΟΙΩΣΗ ΠΡΟΤΕΙΝΟΜΕΝΟΥ ΠΡΩΤΟΚΟΛΛΟΥ P.S.S.A. ΣΑΡΗΓΙΑΝΝΙ ΗΣ ΑΝΤΩΝΗΣ Α.Ε.Μ. 803 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΠΑΠΑ ΗΜΗΤΡΙΟΥ ΓΕΩΡΓΙΟΣ ΑΝΑΠΛΗΡΩΤΗΣ ΚΑΘΗΓΗΤΗΣ Θεσσαλονίκη Ιούνιος 2007

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1:Προσοµοίωση πρωτοκόλλου EATS 1.1 Εισαγωγή στο πρωτόκολλο EATS σελ 2 1.2 οµή του πρωτοκόλλου EATS σελ 3 1.3 Αρχιτεκτονική δικτύου σελ 3-7 1.4 οµές δεδοµένων σελ 8 1.5 Λειτουργία Πρωτοκόλλου EATS σελ 9 1.5.1 Λειτουργία λήψης και αποστολής πακέτων σελ 10 1.5.2 Αλγόριθµος υλοποίησης του πρωτοκόλλου EATS σελ 11 1.5.3 Ανάλυση Αλγορίθµου σελ 11-13 1.5.4 Πολυπλοκότητα του αλγόριθµου σελ 13-14 1.5.5 Παράδειγµα υλοποίησης του πρωτοκόλλου EATS σελ 14-19 1.6 Αποτελέσµατα πειραµάτων προσοµοίωσης EATS σελ 19-29 ΚΕΦΑΛΑΙΟ 2: Προσοµοίωση προτεινόµενου πρωτοκόλλου PSSA 2.1 Εισαγωγή στο πρωτόκολλό PSSA σελ 30 2.2 Το µοντέλο του δικτύου σελ 30-31 2.3 Λειτουργία αποστολής και λήψης πακέτων σελ 31-32 2.4 οµές δεδοµένων σελ 32 2.5 Λειτουργία πρωτοκόλλου PSSA σελ 33-35 2.5.1 Αλγόριθµος PSSA σελ 35 2.5.2 Χρονική πολυπλοκότητα αλγορίθµου σελ 36 2.5.3 Παράδειγµα υλοποίησης σελ 37-42 2.6 Αποτελέσµατα πειραµάτων προσοµοίωσης PSSA σελ 43-52 2.7 Συγκριτικά πειράµατα EATS-PSSA σελ 52-60 Βιβλιογραφία σελ 61 1

ΚΕΦΑΛΑΙΟ 1 Προσοµοίωση πρωτοκόλλου EATS 2.1 Εισαγωγή στο πρωτόκολλο EATS Το πρωτόκολλο που εξετάζουµε ανήκει στην κατηγορία πρωτόκολλα χωρίς συγκρούσεις µε συντονισµό πριν τη µετάδοση. Τα πρωτόκολλα αυτά έρχονται να βελτιώσουν το πρόβληµα που εµφανίζουν τα πρωτόκολλα µε συγκρούσεις, της σπατάλης χρόνου αλλά και πολύτιµου εύρους ζώνης.το πρόβληµα αυτό προκύπτει επειδή τα πρωτόκολλα µε συγκρούσεις χρησιµοποιούν κάποια πολιτική λήψεις-αποστολής µε γενικότερο σκοπό ο κόµβος παραλήπτης να µπορεί να επιλέξει ένα από τα συγκρουόµενα πακέτα µε αποτέλεσµα την επαναµετάδοση των πακέτων που δεν επιλέγηκαν. Έτσι σπαταλάται χρήσιµο εύρος ζώνης και µειώνει σηµαντικά την απόδοση. Το πρωτόκολλο EATS όπως αναφέραµε ανήκει στην κατηγορία πρωτόκολλα χωρίς συγκρούσεις µε συντονισµό πριν τη µετάδοση. Σε αυτή τη κατηγορία τα πρωτόκολλα εµποδίζουν την µετάδοση πακέτων που µπορούν να εµπλακούν σε συγκρούσεις αποδέκτη. Αυτό γίνεται επειδή κάθε πρωτόκολλο ακολουθεί µια πολιτική χρονοπρογραµµατισµού για να καθορίσει πως πρέπει να γίνονται οι µεταδόσεις των µηνυµάτων. Πρέπει να αναφέρουµε ότι τα πρωτόκολλα χρησιµοποιούν ένα κανάλι ελέγχου για τον συντονισµό µεταξύ των κόµβων του δικτύου. Επίσης όλοι οι κόµβοι πρέπει να αποθηκεύουν κάποιας µορφής πληροφορίας η οποία ονοµάζεται πληροφορία συνολικής κατάστασης. Αυτή η πληροφορία παρουσιάζεται µε τη µορφή πίνακα Ν*Ν, D=[d i.j ] όπου d ο αριθµός των πακέτων δεδοµένων στον κόµβο i που προορίζεται για τον κόµβο j και το Ν είναι ο αριθµός των κόµβων.ο D ονοµάζεται πίνακάς απαιτήσεων κίνησης και η συνέπτυγµένη του µορφή είναι η Α=[α i,c ] που ονοµάζεται πίνακας κίνησης, όπου α i,c είναι ο αριθµός των πακέτων δεδοµένων στον κόµβο 2

αποστολέα i που πρόκειται να µεταδοθούν στο κανάλι c και προορίζονται για τους σταθµούς που ακούν σε αυτό το κανάλι. 1.2 οµή του πρωτοκόλλου EATS Το EATS είναι ένα πρωτόκολλο µε συντονισµό πριν τη µετάδοση που εφαρµόζεται σε WDM τοπικά δίκτυα εκποµπής-επιλογής µε N κόµβους και W κανάλια δεδοµένων ( λ 1,,λ w ).Υπάρχει επίσης και ένα κανάλι ελέγχου (λ 0 ) το οποίο χρησιµοποιείται για τον συντονισµό. Όπως αναφέραµε και παραπάνω όλοι οι κόµβοι αποθηκεύουν µια πληροφορία καθολικής κατάστασης που την χρησιµοποιούν για λόγους συντονισµού. Το συγκεκριµένο πρωτόκολλο χρησιµοποιεί συγκεκριµένες δοµές δεδοµένων (πίνακες), που χρησιµοποιούνται για τον αλγόριθµο χρονοπρογραµµατισµού. Κάθε κόµβος είναι εξοπλισµένος µε ένα ποµποδέκτη σταθερά συντονισµένο στο λ 0 και ένα µεταβλητό ποµποδέκτη για αποστολή / λήψη δεδοµένων. Ο χρόνος υποδιαιρείται σε χρονοθυρίδες και διαχωρίζεται σε πλαίσια µετάδοσης. Κάθε πλαίσιο µετάδοσης χωρίζεται επιπλέον σε φάση ελέγχου και φάση δεδοµένων. Η φάση ελέγχου αποτελείται από χρονοθυρίδες ελέγχου και η φάση δεδοµένων από χρονοθυρίδες δεδοµένων. Μία χρονοθυρίδα ελέγχου διαρκεί χρόνο ίσο µε το χρόνο µετάδοσης ενός πακέτου ελέγχου. Μία χρονοθυρίδα δεδοµένων διαρκεί χρόνο ίσο µε το χρόνο µετάδοσης ενός πακέτου δεδοµένων. Στη φάση ελέγχου κάθε κόµβος ξεχωριστά µε TDM τρόπο στέλνει το πακέτο ελέγχου του στην προκαθορισµένη του χρονοθυρίδα σε όλους τους υπόλοιπους κόµβους, χρησιµοποιώντας το κανάλι ελέγχου. Στη φάση δεδοµένων ο κατανεµηµένος αλγόριθµος έχει κατασκευάσει το ίδιο κοινό πρόγραµµα µεταδόσεων για όλους τους κόµβους και για κάθε χρονοθυρίδα δεδοµένων κάθε κόµβος γνωρίζει εάν µεταδίδει, σε ποιο κανάλι µεταδίδει και προς ποιον κόµβο µεταδίδει. 3

1.3 Αρχιτεκτονική δικτύου Το πρωτόκολλο EATS ανήκει στην αρχιτεκτονική CC-FTTT-FRTR. Αυτό σηµαίνει ότι περιέχει ένα ζεύγος ποµποδεκτών σταθερά συντονισµένων στο κανάλι ελέγχου (CC), κάθε κόµβος αποτελείται από ένα µεταβλητό µεταδότη και ένα µεταβλητό αποδέκτη για την αποστολή και λήψη δεδοµένων και ένα σταθερό µεταδότη και ένα σταθερό αποδέκτη για το κανάλι ελέγχου (FTTT-FRTR).Αυτή η αρχιτεκτονική φαίνεται στο παρακάτω σχήµα 1.1. Κόµβος 0 κόµβος 1... FT=Σταθερός µεταδότης. Παθητικός Αστέρας TR=µεταβλητός αποδέκτης TT=µεταβλητός µεταδότης FR=σταθερός αποδέκτης Σχήµα 1.1. σύνδεση κόµβων δικτύου µε παθητικό αστέρα 4

Έχουµε αναφέρει παραπάνω ότι κάθε κόµβος διαθέτει µία συσκευή για µετάδοση δεδοµένων, δηλαδή ένα µεταβλητό µεταδότη, µία συσκευή για λήψη δεδοµένων, δηλαδή ένα µεταβλητό αποδέκτη και ένα ζεύγος σταθερά συντονιζόµενου µεταδότη και αποδέκτη. Οι συσκευές που είναι µεταβλητές είναι προσανατολισµένες στην αποστολή και λήψη δεδοµένων, ενώ οι συσκευές που είναι σταθερές αφιερώνονται αποκλειστικά στην αποστολή και λήψη των πακέτων ελέγχου. Το δίκτυο αποτελείται από N κόµβους όπου κάθε κόµβος συνδέεται µε οπτικές ίνες (διπλής κατεύθυνσης) µε τον κεντρικό παθητικό αστέρα όπως φαίνεται στο σχήµα 1.1.Επίσης αποτελείται από W κανάλια ίσης χωρητικότητας όπου χρησιµοποιούνται για τη µετάδοση των δεδοµένων (data channels) και ένα κανάλι το οποίο χρησιµοποιείται για των έλεγχοσυγχρονισµό των κόµβων. Η φάση δεδοµένων και η φάση ελέγχου διαχωρίζονται σε χρονοθυρίδες δεδοµένων και χρονοθυρίδες ελέγχου αντίστοιχα. Μία χρονοθυρίδα δεδοµένων έχει διάρκεια ίση µε το χρόνο µετάδοσης ενός σταθερού µήκους πακέτου δεδοµένων, το µήκος του οποίου µπορεί να θεωρηθεί σαν παράµετρος στην σχεδίαση του συστήµατος. Αν για παράδειγµα ένα σύνολο πακέτων (µήνυµα) που θα παραχθεί σε έναν κόµβο του συστήµατος περιέχει k πακέτα δεδοµένων (όλα ίσης χωρητικότητας h) τότε αυτό το µήνυµα για να µεταδοθεί στον κόµβο προορισµού από τον κόµβο πηγή απαιτεί kh ακριβώς χρονοθυρίδες. Η παράµετρος που αφορά το µέγεθος του πακέτου (π.χ. 2 Kb) µπορεί να καθορίσει και τον ακριβή χρόνο που θα κάνει αυτό το µήνυµα για να φτάσει στον προορισµό, συνυπολογιζόµενης βέβαια της ταχύτητας της γραµµής. Κάθε κόµβος παράγει µηνύµατα µεταβλητού µεγέθους (ή διαφορετικά µηνύµατα που περιέχουν µεταβλητό αριθµό πακέτων). Στη φάση ελέγχου ο χρόνος διαχωρίζεται σε χρονοθυρίδες ελέγχου. Κάθε φάση ελέγχου εµπεριέχει N χρονοθυρίδες ελέγχου. Κάθε µία χρονοθυρίδα ελέγχου αναλαµβάνει να φέρει εις πέρας τη µετάδοση ενός πακέτου ελέγχου. Συνολικά Ν πακέτα ελέγχου, όσοι και οι κόµβοι του δικτύου, µεταδίδονται στη φάση 5

ελέγχου. Κάθε πακέτο ελέγχου περιέχει τη διεύθυνση του κόµβου που προορίζεται το µήνυµα δεδοµένων και τον αριθµό των πακέτων δεδοµένων που περιέχει το µήνυµα δεδοµένων. Άρα το πακέτο ελέγχου εσωκλείει δύο σηµαντικές πληροφορίες: το που βρίσκεται το κάθε µήνυµα την ποσότητα του κάθε µηνύµατος Η προσπέλαση στο µέσο γίνεται από τους κόµβους µε τη σειρά(από τον πρώτο προς τον τελευταίο) δηλαδή γίνεται µε την µέθοδο TDMA. Κάθε κόµβος µεταδίδει στο κανάλι ελέγχου του και αναµένει το τέλος της φάσης ελέγχου. Φυσικά ο κόµβος i µπορεί να µεταδώσει το πακέτο ελέγχου του µόνο όταν θα έρθει η σειρά του, δηλαδή στην i-οστή χρονοθυρίδα ελέγχου, όπου i = 1, 2,, N. Ο συγχρονισµός αυτός γίνεται για την αποφυγή συγκρούσεων. Σχετικά µε τις φάσεις δεδοµένων και ελέγχου πρέπει να αναφέρουµε 2 σηµεία: Το µέγεθος της χρονοθυρίδας δεδοµένων και της χρονοθυρίδας ελέγχου µπορεί να είναι ίδιο ή και διαφορετικό. Ο συγχρονισµός των καναλιών δεδοµένων και του καναλιού ελέγχου είναι διαφορετικός, ή αλλιώς ο χρόνος και ο τρόπος επεξεργασίας της φάσης ελέγχου και της φάσης δεδοµένων είναι διαφορετικός. Τα δύο αυτά σηµεία προσφέρουν τα εξής: Ευελιξία στο δίκτυο Τη δυνατότητα επιλογών στη ρύθµιση και στον καθορισµό των παραµέτρων. Κάποιος διαχειριστής του συστήµατος θα µπορούσε µε ευκολία να προσθέσει κόµβους ή και κανάλια δεδοµένων, χωρίς να επηρεάσει τη φάση ελέγχου. Εύκολα βγαίνει το συµπέρασµα ότι ο συντονισµός γενικότερα αλλά και ειδικότερα ο συντονισµός στους χρόνους των µεταβλητών των µεταδοτών αλλά και αποδεκτών είναι πολύ σηµαντικός και χρίζει της 6

προσεκτικής µελέτης του. Συγκεκριµένα αναφέρουµε δύο παραµέτρους του συστήµατος: Ο χρόνος συντονισµόυ T, για τους ποµποδέκτες. Συγκεκριµένα Κάθε µεταδότης καθυστερεί για τον συντονισµό του στο επόµενο (διαφορετικό) κανάλι µε χρόνο ίσο µε T. Οµοίως, κάθε αποδέκτης καθυστερεί για τον συντονισµό του στο επόµενο (διαφορετικό) κανάλι µε χρόνο ίσο µε T. Η παράµετρος T ρυθµίζεται από το σύστηµα και µπορεί να ποικίλει. Καθυστέρηση διάδοσης µε επιστροφή R.Συγκεκριµένα, αφορά το χρόνο διάδοσης των δεδοµένων από τον κάθε κόµβο µέχρι τον παθητικό αστέρα. Σχετίζεται, δηλαδή, µε την απόσταση µεταξύ των κόµβων και του παθητικού αστέρα, ή διαφορετικά µε το µήκος της οπτικής ίνας που συνδέει τους κόµβους µε τον αστέρα. Θεωρούµε ότι η παράµετρος R επηρεάζει το ίδιο όλους τους κόµβους και αποτελεί παράµετρο ρυθµιζόµενη από το σύστηµα που µπορεί να ποικίλει. Ειδικά για την οικογένεια των πρωτοκόλλων EATS αυτές οι δύο παράµετροι παίζουν σηµαντικό ρόλο αφού οι λειτουργία τους βασίζεται άµεσα σε συσκευές µεταβλητές. Τέλος να αναφέρουµε και κάποια στοιχεία που βοηθούν στη κατανόηση του δικτύου.ο παθητικός αστέρας που συνδέει όλους τους κόµβους µεταξύ τους µε ένα βήµα και συνδυάζει όλη την εισερχόµενη πληροφορία από όλα τα κανάλια και την εκπέµπει σε όλους τους κόµβους ώστε να επιλέξουν, κατάλληλα συντονιζόµενοι, την πληροφορία που επιθυµούν για την εκάστοτε χρονική στιγµή. Επίσης θα θεωρήσουµε ότι οι µεταβλητές συσκευές µπορούν να συντονιστούν σε όλα τα W κανάλια. Αναφορικά µε τη σχέση των αριθµών των κόµβων και των καναλιών, αυτό που επιτάσσει η σηµερινή WDM τεχνολογία, είναι να καθοδηγούµαστε στην ανάλυση δικτύων WDM από τη σχέση W < N. 7

1.4 οµές δεδοµένων Πριν την ανάλυση της λειτουργίας του πρωτοκόλλου EATS είναι χρήσιµο να αναφέρουµε κάποια σηµαντικά στοιχεία για τις δοµές δεδοµένων που χρησιµοποιούνται από το συγκεκριµένο πρωτόκολλο. Κάθε πακέτο ελέγχου περιέχει συγκεκριµένες πληροφορίες, δοµές δεδοµένων και καθολικές πληροφορίες, που διατηρούνται και ενηµερώνονται από κάθε κόµβο του δικτύου ώστε να καθοριστούν τα χρονικά διαστήµατα στα οποία θα λάβει χώρα η µετάδοση και παραλαβή δεδοµένων από τα κανάλια µετάδοσης. Η πρώτη είναι ο Πίνακας ιαθεσιµότητας Αποδεκτών (Receiver Available Time, RAT), ο οποίος έχει N στοιχεία, όπου RAT[j] = t σηµαίνει ότι ο παραλήπτης j θα είναι διαθέσιµος ύστερα από t χρονοθυρίδες, όπου j={1,...,n}. ιαθέσιµος χαρακτηρίζεται ένας παραλήπτης όταν δεν έχει προγραµµατιστεί µετάδοση δεδοµένων (τη συγκεκριµένη χρονική στιγµή) για αυτόν. Κατά συνέπεια, όταν η τιµή του RAT για έναν κόµβο i είναι 0 αυτό σηµαίνει ότι ο παραλήπτης i είναι ανενεργός και δεν έχει προγραµµατιστεί καµία µετάδοση προς αυτόν. Ο λόγος που χρησιµοποιείται η δοµή δεδοµένων RAT είναι για να αποφεύγονται συγκρούσεις παραλήπτη. Είναι προφανές ότι για κάθε χρονοθυρίδα που περνάει η τιµή του RAT πίνακα µειώνεται κατά µία µονάδα (εάν είναι µεγαλύτερη από 0). Η δεύτερη δοµή δεδοµένων είναι ο Πίνακας ιαθεσιµότητας Καναλιών (Channel Available Time, CAT), ο οποίος περιέχει W στοιχεία, όπου CAT[c] = t σηµαίνει ότι το κανάλι c θα είναι διαθέσιµο ύστερα από t χρονοθυρίδες, όπου c={1,..., W}. Εάν η τιµή του πίνακα CAT για ένα κανάλι c είναι 0 τότε κανάλι (δεδοµένων) c είναι ανενεργό. Αντίστοιχα µε τον πίνακα RAT η υλοποίηση του πίνακα CAT παίζει το ρόλο της αποφυγής συγκρούσεων καναλιού. Και πάλι µε το πέρας µίας χρονοθυρίδας η τιµή του πίνακα RAT µειώνεται κατά µία µονάδα. 8

1.5 Λειτουργία πρωτοκόλλου Παρακάτω θα αναλυθεί η λειτουργία της αποστολής και λήψης πακέτων του πρωτοκόλλου EATS, ο αλγόριθµος υλοποίησης του, η πολυπλοκότητα του αλγόριθµου καθώς και ένα παράδειγµα υλοποίησης. 1.5.1 Λειτουργία αποστολής και λήψεις πακέτων Κατά την διαδικασία της αποστολής και λήψεις των δεδοµένων πρέπει κάθε κόµβος να ενηµερώσει για τις κρατήσεις του πριν τη µετάδοση. Έτσι, κάθε κόµβος στέλνει στη φάση ελέγχου ένα πακέτο ελέγχου σε όλους τους υπόλοιπους κόµβους στην προκαθορισµένη, για αυτόν τον κόµβο, χρονοθυρίδα ελέγχου. Αφού συνυπολογίσουµε την καθυστέρηση διάδοσης µε επιστροφή για κάθε κόµβο όλοι οι κόµβοι λαµβάνουν το πακέτο ελέγχου που στάλθηκε. Αφού ολοκληρωθεί η φάση ελέγχου για όλους τους κόµβους θα ξεκινήσει η φάση δεδοµένων όπου θα λάβει χώρα η πραγµατική µετάδοση των δεδοµένων από τους κόµβους αποστολείς προς τους κόµβους παραλήπτες. Το ερώτηµα που ανακύπτει είναι το χρονικό διάστηµα που δρα ο αλγόριθµος χρονοπρογραµµατισµού. Στον αλγόριθµο Χρονοπρογραµµατισµού µε βάση το Νωρίτερο Χρόνο ιαθεσιµότητας (Earliest Available Time Scheduling, EATS) η διαδικασία χρονοπρογραµµατισµού είναι on-line. Αυτό σηµαίνει ότι σε κάθε κόµβο i που λαµβάνει το πρώτο πακέτο ελέγχου δίνεται το πράσινο φως για να εκκινήσει ο αλγόριθµος χρονοπρογραµµατισµού. Αναφέρουµε ότι ο αλγόριθµος χρονοπρογραµµατισµού είναι κατανεµηµένος και δρα πανοµοιότυπα σε κάθε κόµβο. Ο αλγόριθµος χρονοπρογραµµατισµού είναι ένα κοινό µαύρο κουτί για όλους τους κόµβους που δέχεται τα πακέτα ελέγχου και παράγει ένα πρόγραµµα µεταδόσεων. Στο πρόγραµµα µεταδόσεων καθορίζονται οι χρονικές δεσµεύσεις του κάθε κόµβου και του κάθε καναλιού. Άµεσοι στόχοι του προγράµµατος είναι να εξαλείψουν κάθε σύγκρουση αποδέκτη και 9

καναλιού αλλά και να συνυπολογίσουν τους χρόνους συντονισµού και την καθυστέρηση διάδοσης µε επιστροφή. Στη φάση δεδοµένων όλοι οι κόµβοι έχουν σαν οδηγό το πρόγραµµα που κατασκευάστηκε από τον ίδιο κατανεµηµένο αλγόριθµο και το ακολουθούν πιστά για να µεταδώσουν και να αποδεχθούν δεδοµένα. Εάν κάποιος κόµβος έχει προγραµµατιστεί να µεταδώσει σε µία χρονοθυρίδα θα πρέπει να συντονιστεί πριν στο κανάλι που του υποδεικνύει το πρόγραµµα, ώστε να είναι έτοιµος να µεταδώσει αµέσως στη χρονοθυρίδα που ορίστηκε να µεταδώσει. Αφού ολοκληρωθεί η µετάδοση στη συγκεκριµένη χρονοθυρίδα και παρέλευση της καθυστέρησης διάδοσης µε επιστροφή ο κόµβος παραλήπτης πρέπει να είναι έτοιµος να παραλάβει το µήνυµα στο κανάλι που του έχει οριστεί σύµφωνα µε το πρόγραµµα. Άρα και ο κόµβος παραλήπτης πριν θα πρέπει να έχει συντονιστεί στο κανάλι δεδοµένων που έχει οριστεί από το πρόγραµµα, ακολουθώντας πιστά τις υποδείξεις του κοινού προγράµµατος που και αυτός γνωρίζει. 1.5.2 Αλγόριθµος υλοποίησης του πρωτοκόλλου EATS Παρακάτω παρατίθεται σύντοµα ο αλγόριθµος υλοποίησης του συγκεκριµένου πρωτοκόλλου και στη συνέχεια ακολουθεί η ανάλυση του. 10

Αλγόριθµος πρωτοκόλου EATS Αρχή αλγορίθµου 1. Μετέδωσε ένα πακέτο ελέγχου στο κανάλι ελέγχου 2. Περίµενε µέχρι το πακέτο ελέγχου επιστρέψει 3. Επίλεξε ένα κανάλι µετάδοσης k, έτσι ώστε CAT[k] CAT[n], n k, 1 k, n W 4. Υπολόγισε τις τιµές r = RAT[j] + T, t 1 = max(cat[k], T), t 2 = max(t 1 + R,r) 5. Χρονοπρογραµµάτισε τα πακέτα δεδοµένων m στο χρόνο t 2 R 6. Ανανέωσε τις τιµές RAT[j] = t 2 + m, CAT[k] = t 2 R + m. Τέλος αλγορίθµου 1.5.3 Ανάλυση αλγόρίθµου Επίλεξε ένα κανάλι µετάδοσης k έτσι ώστε CAT[k] CAT[n], όπου ισχύει n k, 1 k,n W, δηλαδή το κανάλι k είναι το πιο σύντοµα διαθέσιµο. Εάν δύο ή περισσότερα κανάλια γίνονται διαθέσιµα στον ίδιο χρόνο (ίδια τιµή του CAT) επίλεξε το κανάλι µε το µικρότερο αριθµό καναλιού. Κάθε κόµβος i που επιθυµεί να µεταδώσει (π.χ. στον κόµβο j, όπου i j) πακέτα ίσα µε m, επιβαρύνεται µε Τ χρονοθυρίδες, λόγω του χρόνου συντονισµού του µεταδότη. Επίσης, η ροή δεδοµένων που µεταδίδεται στον κόµβο j καθυστερεί να φτάσει στον προορισµό της R χρονοθυρίδες. ηλαδή το πακέτο δεδοµένων δε µεταδίδεται αµέσως, αλλά υφίσταται καθυστέρηση ίση µε την καθυστέρηση διάδοσης µε επιστροφή, που ουσιαστικά είναι ο χρόνος ο οποίος απαιτείται για να φτάσει το πακέτο ελέγχου στο συζευκτή αστέρα και µετά να επιστρέψει στον κόµβο-αποστολέα. Συνολικά κάθε µετάδοση καθυστερεί συνολικά T + R χρονοθυρίδες. 11

Θεώρησε το χρόνο r = RAT[j] +T, το χρόνο όπου ο κόµβος j είναι έτοιµος να δεχθεί την επόµενη ροή δεδοµένων, µετά το συντονισµό του αποδέκτη στο νέο κανάλι µετάδοσης. Θεώρησε το χρόνο t 1 = max(cat[k], T) και τον χρόνο t 2 = max(t 1 + R,r). Ο χρόνος t 1 είναι ο νωρίτερα διαθέσιµος χρόνος όπου ο κόµβος i µπορεί να µεταδώσει στο κανάλι k και ο χρόνος t 2 είναι ο χρόνος όπου ο αποδέκτης του κόµβου j θα είναι έτοιµος να παραλάβει στο κανάλι k, λαµβάνοντας υπόψη τον χρόνο καθυστέρησης διάδοσης µε επιστροφή και τον χρόνο όπου το κανάλι k θα είναι διαθέσιµο. Χρονοδροµολόγησε τον κόµβο i για να εκκινήσει η µετάδοση στο χρόνο t 2 R Ανανέωσε τις δοµές CAT και RAT, µε τον ακόλουθο τρόπο: RAT[j] = t 2 + m, CAT[k] = t 2 R + m. Το πρωτόκολλο EATS καθορίζει ότι κάθε κόµβος εξετάζει τα πακέτα ελέγχου ένα προς ένα µέσω του σταθερού του αποδέκτη και προγραµµατίζει τις αντίστοιχες µεταδόσεις στο κανάλι που γίνεται διαθέσιµο πρώτο. Με άλλα λόγια ο αλγόριθµος επιλέγει µέσα από ένα σύνολο καναλιών µετάδοσης το κανάλι που θα είναι διαθέσιµο νωρίτερα. Η πληροφορία που εξάγεται από τον πίνακα CAT καθορίζει το κανάλι επιλογής κάθε κόµβου προς µετάδοσης. Στις ίδιες αποφάσεις χρονοπρογραµµατισµού καταλήγουν όλοι οι κόµβοι για κάθε πακέτο ελέγχου που λαµβάνουν (συµπεριλαµβανοµένων και αυτών που µεταδόθηκαν από άλλους κόµβους). Εποµένως, κάθε σταθµός του συστήµατος γνωρίζει ακριβώς πότε και σε ποιο κανάλι να µεταδώσει τα µηνύµατά του και το πρωτόκολλο εξαλείφει όλα τα είδη των συγκρούσεων. Σε ότι αφορά το πακέτο ελέγχου ενός κόµβου αποστολέα i η διαδικασία χρονοπρογραµµατισµού έχει ως εξής: Το πακέτο ελέγχου µας πληροφορεί για το µέγεθος του µηνύµατος σε πακέτα ή αντίστοιχα 12

χρονοθυρίδες (αφού η µετάδοση ενός πακέτου ισοδυναµεί χρονικά µε µία χρονοθυρίδα). Έστω ότι το µέγεθος αυτό είναι l χρονοθυρίδες. Το πακέτο ελέγχου µας ενηµερώνει και για τον κόµβο παραλήπτη, έστω ότι είναι ο κόµβος j. Θέτουµε, επίσης, σαν χρόνο ts(w) τον ελάχιστο χρόνο χρονοθυρίδων µετά τον οποίο ο αποστολέας µπορεί να ξεκινήσει να µεταδίδει. Σύµφωνα µε το EATS, επιλέγεται για τη µετάδοση το κανάλι µε την µικρότερη τιµή στον πίνακα CAT. Έστω ότι αυτό είναι το κανάλι w. Ο κόµβος-παραλήπτης θα είναι ικανός να πραγµατοποιήσει τη λήψη σε χρόνο RAT[j] + T (πρέπει να γίνει συντονισµός στο κανάλι w). Εποµένως, σε ότι αφορά στον παραλήπτη, η µετάδοση θα µπορούσε να αρχίσει µετά από χρόνο t 1 = RAT[j] + T R, αφού R θυρίδες είναι η καθυστέρηση διάδοσης µε επιστροφή. Όµως, το ts(c) µπορεί να πρέπει να τεθεί ίσο µε CAT[c], αν το κανάλι γίνεται διαθέσιµο ύστερα από περισσότερες από t 1 χρονικές µονάδες. Κατά συνέπεια, η µετάδοση του µηνύµατος προγραµµατίζεται µετά από χρόνο ts(w) = max {t1, CAT[c]}. Μετά το χρονοπρογραµµατισµό ενός µηνύµατος, ακολουθεί η ενηµέρωση των καθολικών δεικτών από κάθε κόµβο ως εξής: CAT[c] = ts(w) + l και RAT[j] = ts(w) + l + R. Προφανώς, οι τιµές του ts(w) που αφορούν δροµολογηµένες µεταδόσεις στα διάφορα κανάλια µειώνονται κατά ένα µετά από κάθε χρονοθυρίδα, όπως γίνεται και µε τις τιµές των πινάκων RAT και CAT. 1.5.4 Πολυπλοκότητα αλγορίθµου EATS Η πολυπλοκότητα του αλγορίθµου που αναφέραµε και αναλύσαµε παραπάνω εξαρτάται από τις διεργασίες που έχει να κάνει ο αλγόριθµος για κάθε µήνυµα ανά κόµβο. Θεωρούµε ότι για κάθε πλαίσιο µετάδοσης ο αλγόριθµος έχει να προγραµµατίσει N αιτήσεις. Η πολυπλοκότητα του αλγορίθµου και συγκεκριµένα η χρονική πολυπλοκότητα είναι Ο(WN), δηλαδή εξαρτάται γραµµικά µε τον αριθµό των καναλιών και κόµβων. 13

Καταρχήν πρέπει να υπολογιστεί η µέγιστη τιµή στον πίνακα διαθεσιµότητας καναλιών (CAT).Ο συγκεκριµένος πίνακας περιέχει W στοιχεία άρα εµφανίζει υπολογιστική πολυπλοκότητα O(W). Στη συνέχεια πρέπει να υπολογιστούν τα: r = RAT[j] +T, t 1 max(cat[k], T,t 2 = max(t 1 + R,r), τα οποία εµφανίζουν σταθερή χρονική πολυπλοκότητα Ο(1). Τέλος πρέπει να γίνει ανανέωση των δύο πινάκων CAT,RAT η οποία γίνεται σε σταθερό χρόνο και η πολυπλοκότητα είναι Ο(1). 1.5.5 Παράδειγµα υλοποίησης του πρωτοκόλλου EATS Για την καλύτερη κατανόηση του πρωτοκόλλου EATS και της λειτουργίας του, παραθέτουµε ένα παράδειγµα υλοποίησης του. Στο συγκεκριµένο παράδειγµα θα εξετάσουµε την λειτουργία του EATS για ένα πλαίσιο µετάδοσης. Το δίκτυο του παραδείγµατος µας θεωρούµε ότι αποτελείται από 4 κόµβους (n 0, n 1, n 2, n 3, n 4, ) και 3 κανάλια (w 0, w 1, w 2, ).Θεωρούµε τον χρόνο συντονισµού Τ=1 και το χρόνο καθυστέρησης διάδοσης µε επιστροφή R=2.Σε κάθε κόµβο παράγεται µήνυµα πακέτων που έχει αποδέκτες άλλους κόµβους εκτός από τον εαυτό του. Η ακολουθία αιτήσεων προς µετάδοση θεωρούµε ότι είναι η ακόλουθη: Ο n 0 στέλνει στον n 4 5 πακέτα Ο n 1 στέλνει στον n 3 3 πακέτα Ο n 2 στέλνει στον n 3 2 πακέτα Ο n 3 στέλνει στον n 2 4 πακέτα Ο n 4 στέλνει στον n 1 4 πακέτα Η διαδικασία αρχίζει εξετάζοντας τις αιτήσεις για µετάδοση µε τη σειρά. Εφαρµόζοντας τα βήµατα του αλγορίθµου καταρχήν πρέπει να επιλεγεί το κανάλι που θα δεσµευτεί για την µετάδοση. Πρέπει δηλαδή να εξετάσουµε και να συγκρίνουµε τις τιµές των βασικών δοµών δεδοµένων του πρωτοκόλλου του πίνακα διαθεσιµότητας 14

αποδεκτών RAT του κόµβου προορισµού και του πίνακα διαθεσιµότητας καναλιών CAT. Επειδή είναι η πρώτη αίτηση που εξετάζεται για αυτό το πλαίσιο µετάδοσης οι τιµές των CAT είναι όλες 0 και ως εκ τούτου επιλέγεται το πρώτο κανάλι w 0. Η τιµή του RAT του κόµβου n 4 είναι 0, αφού ο κόµβος n 4 για αυτό το πλαίσιο είναι µέχρι στιγµής ανενεργός. Στη συνέχεια υπολογίζονται οι τιµές r, t 1 και t 2 : r = RAT[n 4 ] + T = 0 + 1 = 1 t 1 = max(cat[w 0 ], T) = max(0, 1) = 1 t 2 = max(t 1 + R, r) = max (3, 1) = 3 Στη συνέχεια πρέπει να υπολογιστούν οι χρονοθυρίδες που θα δεσµευτούν στον κόµβο προορισµό (n 4 ).Για την συγκεκριµένη αίτηση θα οριστεί η t 2 R=3-2=1 χρονοθυρίδα.άρα οι χρονοθυρίδες που θα δεσµευτούν είναι 1 µέχρι 5. Στο παρακάτω σχήµα 1.5.1 φαίνεται η κατάσταση µετά την πρώτη εξέταση. 0 1 2 3 4 5 6 w 0 - n 4 n 4 n 4 n 4 w 1 - w 2 - Σχήµα 1.5.1 µετά την ικανοποίηση του της αίτησης του πρώτου κόµβου Το τέλος της εξέτασης του πρώτου κόµβου πραγµατοποιείται µε την ανανέωση των πινάκων CAT και RAT ως εξής: RAT[n 4 ] = t 2 + µέγεθος πακέτου = 3 + 5 = 8 CAT[w 0 ] = t 2 - R + µέγεθος πακέτου = 3-2 +5 = 6 Οµοίως εξετάζονται και οι υπόλοιπες αιτήσεις. Για την επόµενη αίτηση εξετάζονται οι τιµές του CAT για τα κανάλια. CAT[w 0 ] = 6 CAT[w 1 ] = 0 CAT[w 2 ] = 0 15

Επιλέγεται το κανάλι w 1.Οι τιµές των r, t 1 και t 2 γίνονται: r = RAT[n 3 ] + T = 0 + 1 = 1 t 1 = max(cat[w 1 ], T) = max(0, 1) = 1 t 2 = max(t 1 + R, r) = max (3, 1) = 3 Χρονοθυρίδα: t 2 R=3-2=1, Άρα οι χρονοθυρίδες 1-3 του καναλιού w1 δεσµεύονται στον κόµβο n 3. Οι ανανεώσεις των τιµών γίνονται ως εξής: RAT[n 3 ] = t 2 + µέγεθος πακέτου = 3 + 3 = 6 CAT[w 1 ] = t 2 - R + µέγεθος πακέτου = 3-2 +3 = 4 Το παρακάτω σχήµα 1.5.2 δείχνει την κατάσταση µετά και από την εξέταση της αίτησης του δευτέρου κόµβου. 0 1 2 3 4 5 6 W 0 - n 4 n 4 n 4 n 4 W 1 - n 3 n 3 n 3 W 2 - Σχήµα 1.5.2 µετά την ικανοποίηση της αίτησης του δευτέρου κόµβου Εξετάζουµε την αίτηση του τρίτου κόµβου n 2 όπου στέλνει 3 πακέτα στον n 3.Οι τιµές των CAT είναι: CAT[w 0 ] = 6 CAT[w 1 ] = 4 CAT[w 2 ] = 0 16

Επιλέγεται το κανάλι w 2 γιατί το CAT για το συγκεκριµένο κανάλι έχει τη µικρότερη τιµή.στη συνέχεια υπολογίζονται οι τιµές των δεικτών: r = RAT[n 3 ] + T = 6 + 1 = 7 t 1 = max(cat[w 2 ], T) = max(0, 1) = 1 t 2 = max(t 1 + R, r) = max (3, 7) = 7 Χρονοθυρίδα: t 2 R=7-2=5, Άρα οι χρονοθυρίδες 5-7 του καναλιού w 2 δεσµεύονται στον κόµβο n 3. Οι ανανεώσεις των τιµών γίνονται ως εξής: RAT[n 3 ] = t 2 + µέγεθος πακέτου = 7 + 2 = 9 CAT[w 2 ] = t 2 - R + µέγεθος πακέτου = 7-2 +2 = 7 Το παρακάτω σχήµα 1.5.3 δείχνει την κατάσταση µετά και από την εξέταση της αίτησης του τρίτου κόµβου. 0 1 2 3 4 5 6 7 W 0 - n 4 n 4 n 4 n 4 n 4 W 1 - n 3 n 3 n 3 W 2 - n 3 n 3 n 3 Σχήµα 1.5.3 µετά την ικανοποίηση του της αίτησης του τρίτου κόµβου Συνεχίζουµε µε τον τέταρτο κόµβο n 3 που στέλνει 4 πακέτα στον n 2.Για να επιλεγεί το πιο σύντοµο διαθέσιµο κανάλι θα πρέπει να ελέγξουµε τις τιµές CAT των καναλιών. CAT[w 0 ] = 6 CAT[w 1 ] = 4 CAT[w 2 ] = 7 Επιλέγουµε το κανάλι µε τη µικρότερη τιµή δηλαδη το w 1. Το κανάλι που επιλέγεται είναι το κανάλι w 1. Οι τιµές των δεδοµένων γίνονται: r = RAT[n 2 ] + T = 0 + 1 = 1 t 1 = max(cat[w 1 ], T) = max(4, 1) = 4 17

t 2 = max(t 1 + R, r) = max (6, 1) = 6 Σύµφωνα µε τις τιµές των δεικτών ο προγραµµατισµός της τέταρτης αίτησης ορίζεται για την χρονοθυρίδα t 2 R, δηλαδή στην χρονοθυρίδα 4. Οι χρονοθυρίδες του καναλιού w 1 από την 4 έως και την 8 δεσµεύονται στον κόµβο n 2. Οι ανανεώσεις των τιµών γίνονται ως εξής: RAT[n 2 ] = t 2 + µέγεθος πακέτου = 6 + 4 = 10 CAT[w 1 ] = t 2 - R + µέγεθος πακέτου = 6-2 +4 = 8 Το σχήµα 1.5.4 δείχνει την κατάσταση µετά την εξέταση του τέταρτου κόµβου. 0 1 2 3 4 5 6 7 W 0 - n 4 n 4 n 4 n 4 n 4 W 1 - n 3 n 3 n 3 n 2 n 2 n 2 n 2 W 2 - n 3 n 3 n 3 Σχήµα 1.5.4 µετά την ικανοποίηση του της αίτησης του τρίτου κόµβου Η επόµενη αίτηση προέρχεται από τον κόµβο n 4. Στην ουρά του έχει παραχθεί ένα µήνυµα που περιέχει 3 πακέτα και κατευθύνονται στον κόµβο n 1. Για να επιλεγεί το πιο σύντοµο διαθέσιµο κανάλι θα πρέπει να ελέγξουµε τις τιµές CAT των καναλιών: CAT[w 0 ] = 6 CAT[w 1 ] = 8 CAT[w 2 ] = 7 Ο αλγόριθµος επιλέγει το κανάλι w 0, γιατί έχει την µικρότερη τιµή CAT. Οι τιµές των δεικτών αυτή τη φορά είναι: r = RAT[n 1 ] + T = 0 + 1 = 1 t 1 = max(cat[w 1 ], T) = max(6, 1) = 6 t 2 = max(t 1 + R, r) = max (8, 1) = 8 18

Ο προγραµµατισµός αυτής της αίτησης θα ξεκινήσει από την χρονοθυρίδα t 2 - R = 6 και θα δεσµευτούν άλλες 3 χρονοθυρίδες (από την 6 µέχρι και την 9). Η ανανέωση των τιµών έχει ως εξής: RAT[n 1 ] = t 2 + µέγεθος πακέτου = 8 + 3 = 11 CAT[w 0 ] = t 2 - R + µέγεθος πακέτου = 8-2 + 3 = 9 Το σχήµα 1.5.5 δείχνει την κατάσταση µετά από την εξέταση του τέταρτου κόµβου. 0 1 2 3 4 5 6 7 W 0 - n 4 n 4 n 4 n 4 n 4 n 1 n 1 W 1 - n 3 n 3 n 3 n 2 n 2 n 2 n 2 W 2 - n 3 n 3 n 3 Σχήµα 1.5.5 µετά την ικανοποίηση του της αίτησης του τέταρτου κόµβου 1.6 Αποτελέσµατα πειραµάτων προσοµοίωσης του EATS Στη συνέχεια ακολουθούν τα αποτελέσµατα της προσοµοίωσης του πρωτοκόλλου EATS. Μέτρηση του ποσοστού αξιοποίησης καναλιών Για την µέτρηση του ποσοστού αξιοποίησης των καναλιών (δεδοµένων) καθορίστηκαν και µετρήθηκαν 4 διαφορετικά µοντέλα προσοµοίωσης µε οµοιόµορφη κίνηση. Στον κάθετο άξονα απεικονίζεται το ποσοστό αξιοποίησης των καναλιών και στον οριζόντιο άξονα απεικονίζεται ο αριθµός των κόµβων: 19

Η παραγωγή πακέτων ακολουθεί οµοιόµορφη κατανοµή. Οµοίως µε οµοιόµορφη τυχαία παραγωγή αριθµών καθορίζεται και η επιλογή του κόµβου παραλήπτη. Η εκτέλεση του πειράµατος περιλαµβάνει 4 µοντέλα δικτύου (σχήµα 1.6.1): Μοντέλο δικτύου1. Οι κόµβοι στο µοντέλο1 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 5. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται όσο αυξάνονται οι κόµβοι και δίνεται από τη σχέση: K=NW/10. Η µέγιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 60 και είναι ίση µε 89,65%. Η ελάχιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 10 και είναι ίση µε 46,10%. Μοντέλο δικτύου2. Οι κόµβοι στο µοντέλο2 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 10. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται όσο αυξάνονται οι κόµβοι και δίνεται από τη σχέση: K=NW/10. Η µέγιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 60 και είναι ίση µε 77,89%. Η ελάχιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 10 και είναι ίση µε 26,69%. Μοντέλο δικτύου3. Οι κόµβοι στο µοντέλο3 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 5. Ο φόρτος στο δίκτυο (K) είναι σταθερός για κάθε αριθµό κόµβων και ίσος µε 10. Η µέγιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 60 και είναι ίση µε 87,88%. Η ελάχιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 10 και είναι ίση µε 51,30%. Μοντέλο δικτύου4. Οι κόµβοι στο µοντέλο4 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 10. Ο φόρτος στο δίκτυο (K) είναι σταθερός για 20

κάθε αριθµό κόµβων και ίσος µε 10. Η µέγιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 60 και είναι ίση µε 73,72%. Η ελάχιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 10 και είναι ίση µε 26,69%. EATS µε οµοιόµορφη κίνηση 100% 90% Ποσοστό αξιοποίησης καναλιών 80% 70% 60% 50% 40% 30% 20% 10% 0% 10 20 30 40 50 60 Kόµβοι EATS µε 5 κανάλια και µεταβλητό φόρτο EATS µε 5 κανάλια και σταθερό φόρτο EATS µε 10 κανάλια και µεταβλητό φόρτο EATS µε 10 κανάλια και σταθερό φόρτο Σχήµα 1.6.1 Μέτρηση του ποσοστού αξιοποίησης καναλιών του EATS µε οµοιόµορφη κίνηση. Μέτρηση της ρυθµοαπόδοσης δικτύου Η ρυθµοαπόδοση του δικτύου µετρήθηκε µε 4 µοντέλα δικτύου µε διαφορετικά χαρακτηριστικά για οµοιόµορφη κίνηση. Στον κάθετο άξονα απεικονίζεται η ρυθµοαπόδοση του δικτύου, µετρηµένη σε Gbps και στον οριζόντιο άξονα απεικονίζεται ο αριθµός των κόµβων: Η παραγωγή πακέτων ακολουθεί οµοιόµορφη κατανοµή. Οµοίως µε οµοιόµορφη τυχαία παραγωγή αριθµών καθορίζεται και η επιλογή του κόµβου παραλήπτη. Η εκτέλεση του πειράµατος περιλαµβάνει 4 µοντέλα δικτύου (σχήµα 1.6.2): 21

Μοντέλο δικτύου1. Οι κόµβοι στο µοντέλο1 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 5. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται όσο αυξάνονται οι κόµβοι και δίνεται από τη σχέση: K=NW/10. Η µέγιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 60 και είναι ίση µε 10,76 Gbps. Η ελάχιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 10 και είναι ίση µε 5,53 Gbps. Μοντέλο δικτύου2. Οι κόµβοι στο µοντέλο2 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 10. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται όσο αυξάνονται οι κόµβοι και δίνεται από τη σχέση: K=NW/10. Η µέγιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 60 και είναι ίση µε 18,69 Gbps. Η ελάχιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 10 και είναι ίση µε 6,41 Gbps. Μοντέλο δικτύου3. Οι κόµβοι στο µοντέλο3 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 5. Ο φόρτος στο δίκτυο (K) είναι σταθερός για κάθε αριθµό κόµβων και ίσος µε 10. Η µέγιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 60 και είναι ίση µε 10,55 Gbps. Η ελάχιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 10 και είναι ίση µε 6,16 Gbps. Μοντέλο δικτύου4. Οι κόµβοι στο µοντέλο4 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 10. Ο φόρτος στο δίκτυο (K) είναι σταθερός για κάθε αριθµό κόµβων και ίσος µε 10. Η µέγιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 60 και είναι ίση µε 17,69 Gbps. Η ελάχιστη τιµή της καµπύλης εµφανίζεται όταν οι κόµβοι είναι 10 και είναι ίση µε 6,41 Gbps. 22

EATS µε οµοιόµορφη κίνηση 20 18 Ρυθµοαπόδοση δικτύου (Gbps) 16 14 12 10 8 6 4 2 0 10 20 30 40 50 60 Κόµβοι EATS µε 5 κανάλια και µεταβλητό φόρτο EATS µε 5 κανάλια και σταθερό φόρτο EATS µε 10 κανάλια και µεταβλητό φόρτο EATS µε 10 κανάλια και σταθερό φόρτο Σχήµα 1.6.2 Μέτρηση της ρυθµοαπόδοσης δικτύου του EATS µε οµοιόµορφη κίνηση. Μέτρηση της σχέσης ρυθµοαπόδοσης και µέσου χρόνου αναµονής µε µεταβλητό αριθµό κόµβων Η σχέση ρυθµοαπόδοσης δικτύου και µέσου χρόνου αναµονής πακέτου (στις ουρές) παρουσιάζεται µε δύο τρόπους. Ο πρώτος τρόπος αναπαρίσταται σε αυτήν την παράγραφο και αφορά την συµπεριφορά των δύο µετρητών, όταν στο δίκτυο αυξάνονται οι κόµβοι. 4 µοντέλα προσοµοίωσης υιοθετήθηκαν για οµοιόµορφη κίνηση. Στον κάθετο άξονα µετράται η µέση αναµονή πακέτου σε χρονοθυρίδες και στον οριζόντιο άξονα η ρυθµοαπόδοση του δικτύου σε Gbps: Η παραγωγή πακέτων ακολουθεί οµοιόµορφη κατανοµή. Οµοίως µε οµοιόµορφη τυχαία παραγωγή αριθµών καθορίζεται και η επιλογή του κόµβου παραλήπτη. Η εκτέλεση του πειράµατος περιλαµβάνει 4 µοντέλα δικτύου (σχήµα 1.6.3): Μοντέλο δικτύου1. Οι κόµβοι στο µοντέλο1 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 5. Ο φόρτος στο δίκτυο (K) ποικίλει και 23

αυξάνεται όσο αυξάνονται οι κόµβοι και δίνεται από τη σχέση: K=NW/10. Η µέγιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν οι κόµβοι είναι 60, ισούται µε 10,76 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 95 χρονοθυρίδες. Η ελάχιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν οι κόµβοι είναι 10, ισούται µε 5,53 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 4 χρονοθυρίδες. Μοντέλο δικτύου2. Οι κόµβοι στο µοντέλο2 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 10. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται όσο αυξάνονται οι κόµβοι και δίνεται από τη σχέση: K=NW/10. Η µέγιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν οι κόµβοι είναι 60, ισούται µε 18,69 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 101 χρονοθυρίδες. Η ελάχιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν οι κόµβοι είναι 10, ισούται µε 6,41 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 6 χρονοθυρίδες. Μοντέλο δικτύου3. Οι κόµβοι στο µοντέλο3 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 5. Ο φόρτος στο δίκτυο (K) είναι σταθερός για κάθε αριθµό κόµβων και ίσος µε 10. Η µέγιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν οι κόµβοι είναι 60, ισούται µε 10,55 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 32 χρονοθυρίδες. Η ελάχιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν οι κόµβοι είναι 10, ισούται µε 6,16 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 8 χρονοθυρίδες. Μοντέλο δικτύου4. Οι κόµβοι στο µοντέλο4 ποικίλουν από 10 έως και 60 (10, 20, 30, 40, 50 και 60). Τα κανάλια µετάδοσης ορίζονται στα 10. Ο φόρτος στο δίκτυο (K) είναι σταθερός για 24

κάθε αριθµό κόµβων και ίσος µε 10. Η µέγιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν οι κόµβοι είναι 60, ισούται µε 17,69 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 17 χρονοθυρίδες. Η ελάχιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν οι κόµβοι είναι 10, ισούται µε 6,41 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 6 χρονοθυρίδες. EATS µε οµοιόµορφη κίνηση 120 Μέση αναµονή πακέτου (χρονοθυρίδες) 100 80 60 40 20 0 0 2 4 6 8 10 12 14 16 18 20 Ρυθµοαπόδοση δικτύου (Gbps) EATS µε 5 κανάλια και µεταβλητό φόρτο EATS µε 5 κανάλια και σταθερό φόρτο EATS µε 10 κανάλια και µεταβλητό φόρτο EATS µε 10 κανάλια και σταθερό φόρτο Σχήµα 1.6.3 Μέτρηση της ρυθµοαπόδοσης δικτύου σε σχέση µε την µέση αναµονή πακέτου του EATS µε µεταβλητό αριθµό κόµβων και οµοιόµορφη κίνηση. Μέτρηση της σχέσης ρυθµοαπόδοσης και µέσου χρόνου αναµονής µε σταθερό αριθµό κόµβων Η σχέση ρυθµοαπόδοσης δικτύου και µέσου χρόνου αναµονής πακέτου στις ουρές παρουσιάζεται µε δεύτερο τρόπο µε σταθερό αριθµό κόµβων, µεταβάλλοντας µόνο τον φόρτο. Η συµπεριφορά της ρυθµοαπόδοσης σε σχέση µε τη µέση αναµονή παρουσιάζεται σε οµοιόµορφη κίνηση.καθορίζονται 2 µοντέλα δικτύου, όπου στον κάθετο άξονα 25

καταγράφεται η µέση αναµονή πακέτου σε χρονοθυρίδες και στον οριζόντιο άξονα η ρυθµοαπόδοση του δικτύου σε Gbps: Η παραγωγή πακέτων ακολουθεί οµοιόµορφη κατανοµή. Οµοίως µε οµοιόµορφη τυχαία παραγωγή αριθµών καθορίζεται και η επιλογή του κόµβου παραλήπτη. Η εκτέλεση του πειράµατος περιλαµβάνει 2 µοντέλα δικτύου (σχήµα 1.6.4): Μοντέλο δικτύου1. Οι κόµβοι στο µοντέλο1 είναι σταθεροί και ίσοι µε 30. Τα κανάλια µετάδοσης ορίζονται στα 5. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται από 10 έως και 100 µε ρυθµό 10 (10, 20, 30, 40, 50, 60, 70, 80, 90 και 100). Η µέγιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν ο φόρτος είναι 100, ισούται µε 9,84 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 167 χρονοθυρίδες. Η ελάχιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν ο φόρτος είναι 10, ισούται µε 9,32 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 17 χρονοθυρίδες. Γενικότερα, παρατηρείται ότι η ρυθµοαπόδοση του δικτύου παραµένει σχεδόν σταθερή, ενώ η καθυστέρηση αυξάνεται σταδιακά, όσο ο ρυθµός παραγωγής των πακέτων αυξάνεται. Μοντέλο δικτύου2. Οι κόµβοι στο µοντέλο2 είναι σταθεροί και ίσοι µε 30. Τα κανάλια µετάδοσης ορίζονται στα 10. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται από 10 έως και 100 µε ρυθµό 10 (10, 20, 30, 40, 50, 60, 70, 80, 90 και 100). Η µέγιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν ο φόρτος είναι 100, ισούται µε 14,73 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 95 χρονοθυρίδες. Η ελάχιστη τιµή ρυθµοαπόδοσης εµφανίζεται όταν ο φόρτος είναι 10, ισούται µε 13,33 Gbps και συνδυάζεται µε µέση αναµονή πακέτου που ανέρχεται σε 10 χρονοθυρίδες. Γενικότερα, παρατηρείται ότι η ρυθµοαπόδοση του δικτύου παραµένει σχεδόν σταθερή, ενώ η καθυστέρηση αυξάνεται (µε µικρότερο ρυθµό από το δίκτυο µε 26

5 κανάλια) σταδιακά, όσο ο ρυθµός παραγωγής των πακέτων αυξάνεται. EATS µε οµοιόµορφη κίνηση Μέση αναµονή πακέτου (χρονοθυρίδες) 180 160 140 120 100 80 60 40 20 0 0 2 4 6 8 10 12 14 16 Ρυθµοαπόδοση δικτύου (Gbps) EATS µε 5 κανάλια και 30 κόµβους EATS µε 10 κανάλια και 30 κόµβους Σχήµα 1.6.4 Μέτρηση της ρυθµοαπόδοσης δικτύου σε σχέση µε την µέση αναµονή πακέτου του EATS µε σταθερό αριθµό κόµβων και οµοιόµορφη κίνηση. Μέτρηση της σχέσης ρυθµοαπόδοσης δικτύου και φόρτου Η συµπεριφορά της ρυθµοαπόδοσης δικτύου στις αλλαγές του φόρτου, που εκφράζεται από τη µεταβλητή K (ανώτατο όριο πακέτων ανά µήνυµα) παρουσιάζεται στο σχήµα 1.6.5 για οµοιόµορφη κίνηση. Σε κάθε περίπτωση καθορίζονται 2 µοντέλα δικτύου, όπου στον κάθετο άξονα καταγράφεται η ρυθµοαπόδοση του δικτύου, µετρηµένη σε Gbps και στον οριζόντιο άξονα η τιµή του Κ που χρησιµοποιήθηκε στο πείραµα: Η παραγωγή πακέτων ακολουθεί οµοιόµορφη κατανοµή. Οµοίως µε οµοιόµορφη τυχαία παραγωγή αριθµών καθορίζεται και η επιλογή του κόµβου παραλήπτη. Η εκτέλεση του πειράµατος περιλαµβάνει 2 µοντέλα δικτύου: 27

Μοντέλο δικτύου1. Οι κόµβοι στο µοντέλο1 είναι σταθεροί και ίσοι µε 30. Τα κανάλια µετάδοσης ορίζονται στα 5. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται από 10 έως και 100 µε ρυθµό 10 (10, 20, 30, 40, 50, 60, 70, 80, 90 και 100). Γενικότερα, παρατηρείται ότι η ρυθµοαπόδοση του δικτύου παραµένει σχεδόν σταθερή, όσο ο ρυθµός παραγωγής των πακέτων αυξάνεται. Μοντέλο δικτύου2. Οι κόµβοι στο µοντέλο2 είναι σταθεροί και ίσοι µε 30. Τα κανάλια µετάδοσης ορίζονται στα 10. Ο φόρτος στο δίκτυο (K) ποικίλει και αυξάνεται από 10 έως και 100 µε ρυθµό 10 (10, 20, 30, 40, 50, 60, 70, 80, 90 και 100). Και πάλι παρατηρείται ότι η ρυθµοαπόδοση του δικτύου παραµένει σχεδόν σταθερή, αλλά κυµαίνεται σε χαµηλότερες τιµές, όσο ο ρυθµός παραγωγής των πακέτων αυξάνεται. EATS µε οµοιόµορφη κίνηση 18 16 Ρυθµοαπόδοση δικτύου (Gbps) 14 12 10 8 6 4 2 0 10 20 30 40 50 60 70 80 90 100 Φόρτος (K) EATS µε 5 κανάλια και 30 κόµβους EATS µε 10 κανάλια και 30 κόµβους Σχήµα 1.6.5 Μέτρηση της ρυθµοαπόδοσης δικτύου σε σχέση µε τον φόρτο του EATS µε οµοιόµορφη κίνηση. 28

2.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 2 Προσοµοίωση προτεινόµενου πρωτοκόλλου PSSA Το προτεινόµενο πρωτόκολλο Χρονοπρογραµµατισµού µε Σχήµα Προτεραιοτήτων (Priority Scheme Scheduling Algorithm, PSSA) αποτελεί µία καινοτόµο πρόταση πρωτοκόλλου πρόσβασης στο µέσο για δίκτυα CC-FTTT-FRTR χωρίς συγκρούσεις. Ο προτεινόµενος αλγόριθµος PSSA χρησιµοποιεί την τεχνική της αλλαγής επεξεργασίας των µηνυµάτων, µε βάση το µέγεθος του µηνύµατος από κάθε κόµβο. Η πρωτοτυπία αυτή συνοδεύεται από ένα ακόµη πλεονέκτηµα: ο αλγόριθµος PSSA δεν χρησιµοποιεί ταξινόµηση, αλλά απλή γραµµική αναζήτηση.το νέο πρωτόκολλο παρουσιάζει, όπως θα αναλυθεί και από τα αποτελέσµατα της προσοµοίωσης, βελτίωση στην αξιοποίηση καναλιών και στην ρυθµοαπόδοση του δικτύου, χωρίς να οδηγεί τα πακέτα σε υπερβολικές καθυστερήσεις. Αποδεικνύεται µάλιστα ότι µε το PSSA η µέση αναµονή των πακέτων στις ουρές είναι λίγο µεγαλύτερη από αυτήν του EATS, ενώ η απόδοση του δικτύου καλύτερη από το EATS. Αυτά τα αποτελέσµατα συνδυάζονται µε χαµηλή χρονική πολυπλοκότητα, που παραµένει στα χαµηλά επίπεδα του EATS, δηλαδή γραµµικά µε τον αριθµό των κόµβων. 2.2 Το µοντέλο του δικτύου Το µοντέλο του δικτύου είναι το ίδιο µε το πρωτόκολλο EATS που εξετάσαµε στο κεφάλαιο 1.Είναι και αυτό τύπου CC-FTTT-FRTR.Το δίκτυο εµπεριέχει Ν κόµβους και W+1 κανάλι, W δεδοµένων και ένα για έλεγχο και συντονισµό πριν από τη µετάδοση. Όλοι οι κόµβοι συνδέονται µεταξύ τους µε τον παθητικό αστέρα µε ένα βήµα, µέσω οπτικής ίνας διπλής κατεύθυνσης. Κάθε κόµβος διαθέτει µία συσκευή για µετάδοση δεδοµένων, δηλαδή ένα µεταβλητό µεταδότη, µία συσκευή για λήψη 29

δεδοµένων, δηλαδή ένα µεταβλητό αποδέκτη και ένα ζεύγος σταθερά συντονιζόµενου µεταδότη και αποδέκτη σταθερά συντονισµένους στο κανάλι ελέγχου. Οι κόµβοι θεωρούµε ότι είναι περισσότεροι από τα κανάλια, σύµφωνα µε τη σχέση W < N. Ο χρόνος διαιρείται σε δύο τύπου χρονοθυρίδες: στην χρονοθυρίδα δεδοµένων, που είναι ίση µε το χρόνο που χρειάζεται ένα πακέτο δεδοµένων για φτάσει στον προορισµό του και στην χρονοθυρίδα ελέγχου, που είναι ίση µε το χρόνο µετάδοσης ενός πακέτου ελέγχου. Κάθε κόµβος παράγει µηνύµατα µεταβλητού µεγέθους (ή διαφορετικά µηνύµατα που περιέχουν µεταβλητό αριθµό πακέτων). Κάθε φάση ελέγχου εµπεριέχει N χρονοθυρίδες ελέγχου. Συνολικά Ν πακέτα ελέγχου, όσοι και οι κόµβοι του δικτύου, µεταδίδονται στη φάση ελέγχου. Η πρόσβαση στο µέσο κάθε κόµβου γίνεται µε τη µέθοδο TDM. Κάθε κόµβος µε τη σειρά, από τον πρώτο προς τον τελευταίο όπως έχουν οριστεί από το σύστηµα, προσπελαύνει το µέσο, µεταδίδει στο κανάλι ελέγχου το πακέτο ελέγχου του και περιµένει το πέρας της φάσης ελέγχου. 2.3 Λειτουργία αποστολής και λήψης πακέτων Κάθε πλαίσιο µετάδοσης εµπεριέχει δύο φάσεις. Τη φάση ελέγχου και τη φάση δεδοµένων. Κάθε κόµβος στέλνει στη φάση ελέγχου, στην προκαθορισµένη του χρονοθυρίδα, ένα πακέτο ελέγχου ενηµερώνοντας όλους τους άλλους κόµβους για το µέγεθος του µηνύµατος και τον κόµβο προορισµού. Αφού συνυπολογίσουµε την καθυστέρηση διάδοσης µε επιστροφή για κάθε κόµβο όλοι οι κόµβοι λαµβάνουν το πακέτο ελέγχου που στάλθηκε. Αφού ολοκληρωθεί η φάση ελέγχου για όλους τους κόµβους θα ξεκινήσει η φάση δεδοµένων όπου θα λάβει χώρα η πραγµατική µετάδοση των δεδοµένων από τους κόµβους αποστολείς προς τους κόµβους παραλήπτες. Είδαµε ότι ο αλγόριθµος EATS είναι online αλγόριθµος και αυτό σηµαίνει ότι το πρόγραµµα των µεταδόσεων αρχίζει να σχηµατίζεται από την γνωστοποίηση των προθέσεων του 30

πρώτου σε σειρά κόµβου. Ο PSSA δεν διατηρεί την online ιδιότητα του EATS και αποτελεί offline χρονοπρογραµµατιστική διαδικασία. Πιο συγκεκριµένα, ο PSSA εκκινείται µόλις όλοι οι κόµβοι γνωστοποιήσουν τις προθέσεις τους στέλνοντας το πακέτο ελέγχου τους. Ο PSSA δρα κατανεµηµένα σε όλους τους κόµβους ταυτόχρονα, παράγοντας το ίδιο πρόγραµµα µεταδόσεων. Στη φάση δεδοµένων όλοι οι κόµβοι έχουν σαν οδηγό το πρόγραµµα που κατασκευάστηκε από τον PSSA και το ακολουθούν πιστά για να µεταδώσουν και να αποδεχθούν δεδοµένα. Εάν κάποιος κόµβος έχει προγραµµατιστεί να µεταδώσει σε µία χρονοθυρίδα θα πρέπει να συντονιστεί πριν στο κανάλι που του υποδεικνύει το πρόγραµµα, ώστε να είναι έτοιµος να µεταδώσει αµέσως στη χρονοθυρίδα που ορίστηκε να µεταδώσει. Αφού ολοκληρωθεί η µετάδοση στη συγκεκριµένη χρονοθυρίδα και παρέλευση της καθυστέρησης διάδοσης µε επιστροφή ο κόµβος παραλήπτης πρέπει να είναι έτοιµος να παραλάβει το µήνυµα στο κανάλι που του έχει οριστεί σύµφωνα µε το πρόγραµµα. Άρα και ο κόµβος παραλήπτης πριν θα πρέπει να έχει συντονιστεί στο κανάλι δεδοµένων που έχει οριστεί από το πρόγραµµα, ακολουθώντας πιστά τις υποδείξεις του κοινού προγράµµατος που και αυτός γνωρίζει. Στόχος του PSSA είναι ένα πιο σύντοµο χρονικά πρόγραµµα, δίνοντας προτεραιότητα στα χρονοβόρα µηνύµατα, που περιέχουν τα περισσότερα πακέτα δεδοµένων. 2.4 οµές εδοµένων Ο PSSA διατηρεί τις ίδιες δοµές δεδοµένων µε το EATS, δηλαδή, τον Πίνακα ιαθεσιµότητας Αποδεκτών, που έχει N στοιχεία, όπου RAT[j] = t σηµαίνει ότι ο παραλήπτης j θα είναι διαθέσιµος ύστερα από t χρονοθυρίδες, όπου j={1,...,n} και τον Πίνακα ιαθεσιµότητας Καναλιών, που περιέχει W στοιχεία, όπου CAT[c] = t σηµαίνει ότι το κανάλι c θα είναι διαθέσιµο ύστερα από t χρονοθυρίδες, όπου 31

C={1,..., W}. Οι πίνακες µηδενίζονται στην αρχή κάθε πλαισίου µετάδοσης. 2.5 Λειτουργία πρωτοκόλλου PSSA Ο PSSA αρχικά συγκεντρώνει όλα τα πακέτα ελέγχου και καταγράφει όλα τα µηνύµατα που αναµένουν µετάδοση. Στη συνέχεια, εφαρµόζει την τεχνική των Κ αναζητήσεων. Στο σύστηµα θεωρούµε ότι ο µέγιστος αριθµός πακέτων που µπορεί να περιέχει ένα µήνυµα είναι K. Εποµένως, κάθε µήνυµα µπορεί να περιέχει από 0 έως και Κ πακέτα δεδοµένων, σταθερού µήκους. Το σύστηµα αποτελείται από Ν κόµβους. Άρα, ο PSSA σε κάθε πλαίσιο µετάδοσης έχει να χρονοπρογραµµατίσει Ν µηνύµατα, όπου κάθε µήνυµα εµπεριέχει από 0 έως Κ πακέτα δεδοµένων. Σύµφωνα µε την στρατηγική των Κ αναζητήσεων, ο PSSA αναζητάει µε τη σειρά µηνύµατα µεγέθους Κ, K-1, και ενός πακέτου. Με αυτόν τον τρόπο ο PSSA αλλάζει τη σειρά επεξεργασίας των µηνυµάτων µε κριτήριο το µέγεθος των µηνυµάτων. Προηγούνται τα µηνύµατα µεγέθους Κ πακέτων, ακολουθούν τα µηνύµατα µεγέθους Κ-1, έως ότου αναζητηθούν και τα µηνύµατα ενός πακέτου. Ταυτόχρονα µε αυτήν την αναζήτηση η οποία παραµένει γραµµική σε όλα τα στάδιά της, ο PSSA λειτουργεί όπως ο EATS χρονοπρογραµµατίζοντας τα µηνύµατα που προήλθαν από την αναζήτηση. Για παράδειγµα, µόλις ο αλγόριθµος αναζητήσει τα µηνύµατα µεγέθους Κ, που είναι τα µηνύµατα µε την υψηλότερη προτεραιότητα, επιλέγει µέσα από ένα σύνολο καναλιών µετάδοσης το κανάλι που θα είναι διαθέσιµο νωρίτερα. Η πληροφορία που εξάγεται από τον πίνακα CAT καθορίζει το κανάλι επιλογής κάθε κόµβου προς µετάδοση. Στη συνέχεια και µετά την ανανέωση των πινάκων CAT και RAT ο αλγόριθµος αναζητά τα µηνύµατα µεγέθους K- 1 και ακολουθεί και πάλι ο έλεγχος των τιµών CAT, ώστε να αποφασισθεί τον κανάλι µετάδοσης. Αυτό συνεχίζεται µέχρι και την αναζήτηση των µηνυµάτων µεγέθους ένα. Στις ίδιες αποφάσεις 32

χρονοπρογραµµατισµού καταλήγουν όλοι οι κόµβοι και κάθε σταθµός του συστήµατος γνωρίζει ακριβώς πότε και σε ποιο κανάλι να µεταδώσει τα µηνύµατά του και το πρωτόκολλο εξαλείφει όλα τα είδη των συγκρούσεων. Τα βήµατα εκτέλεσης του αλγόριθµου µπορούν να περιγραφούν ως εξής: Θέτουµε αρχική τιµή µεγέθους µηνύµατος l = K. Αναζήτησε µηνύµατα µεγέθους l. Εάν δύο ή περισσότερα µηνύµατα βρεθούν µε το ίδιο µέγεθος τότε εάν ο αριθµός του πλαισίου µετάδοσης είναι άρτιος τότε ευνοούνται τα µηνύµατα από τους κόµβους µε το µικρότερο id, διαφορετικά ευνοούνται τα µηνύµατα που προέρχονται µε το µεγαλύτερο id. Επίλεξε ένα κανάλι µετάδοσης k έτσι ώστε CAT[k] CAT[n], όπου ισχύει n k, 1 k,n W, δηλαδή το κανάλι k είναι το πιο σύντοµα διαθέσιµο. Εάν δύο ή περισσότερα κανάλια γίνονται διαθέσιµα στον ίδιο χρόνο (ίδια τιµή του CAT) επίλεξε το κανάλι µε το µικρότερο αριθµό καναλιού. Κάθε κόµβος i που επιθυµεί να µεταδώσει (π.χ. στον κόµβο j, όπου i j) πακέτα ίσα µε m, επιβαρύνεται µε Τ χρονοθυρίδες, λόγω του χρόνου συντονισµού του µεταδότη. Επίσης, η ροή δεδοµένων που µεταδίδεται στον κόµβο j καθυστερεί να φτάσει στον προορισµό της R χρονοθυρίδες. Συνολικά κάθε µετάδοση καθυστερεί συνολικά T + R χρονοθυρίδες. Θεώρησε το χρόνο r = RAT[j] +T, το χρόνο όπου ο κόµβος j είναι έτοιµος να δεχθεί την επόµενη ροή δεδοµένων, µετά το συντονισµό του αποδέκτη στο νέο κανάλι µετάδοσης. Θεώρησε το χρόνο t 1 = max(cat[k], T) και τον χρόνο t 2 = max(t 1 + R,r). Ο χρόνος t 1 είναι ο νωρίτερα διαθέσιµος χρόνος όπου ο κόµβος i µπορεί να µεταδώσει στο κανάλι k και ο χρόνος t 2 είναι ο χρόνος όπου ο αποδέκτης του κόµβου j θα είναι έτοιµος να παραλάβει στο κανάλι k, λαµβάνοντας υπόψη τον χρόνο 33

καθυστέρησης διάδοσης µε επιστροφή και τον χρόνο όπου το κανάλι k θα είναι διαθέσιµο. Χρονοπρογραµµάτισε τον κόµβο i για να εκκινήσει η µετάδοση στο χρόνο t 2 R Ανανέωσε τις δοµές CAT και RAT, µε τον ακόλουθο τρόπο: RAT[j] = t 2 + m, CAT[k] = t 2 R + m. Εάν το l είναι ίσο µε 1 ο αλγόριθµος έχει ολοκληρωθεί, αλλιώς µειώνουµε το µέγεθος του µηνύµατος κατά ένα (l = l-1) και επιστρέφουµε στο βήµα 2. 2.5.1Αλγόριθµος PSSA Ο αλγόριθµος PSSA θα µπορούσε να εκφραστεί µε ψευδογλώσσα όπως φαίνεται παρακάτω: Αρχή Συγκέντρωσε όλα τα πακέτα ελέγχου Θέσε l = Κ Αναζήτησε µηνύµατα µεγέθους l. Εάν δύο ή περισσότερα µηνύµατα βρεθούν µε το ίδιο µέγεθος τότε εάν ο αριθµός του πλαισίου µετάδοσης είναι άρτιος τότε ευνοούνται τα µηνύµατα από τους κόµβους µε το µικρότερο id, διαφορετικά ευνοούνται τα µηνύµατα που προέρχονται µε το µεγαλύτερο id. Επίλεξε ένα κανάλι µετάδοσης k, έτσι ώστε CAT[k] CAT[n], n k, 1 k, n W Υπολόγισε τις τιµές r = RAT[j] + T, t1 = max(cat[k], T), t2 = max(t1 + R,r) Χρονοδροµολόγησε τα πακέτα δεδοµένων m στο χρόνο t2 R Ανανέωσε τις τιµές RAT[j] = t2 + m, CAT[k] = t2 R + m. Αν l =1 πήγαινε στο τέλος αλλιώς θέσε l = l-1 και συνέχισε την αναζήτηση Τέλος αλγορίθµου 34

2.5.2Χρονική πολυπλοκότητα του PSSA Αρχικά ο PSSA εκτελεί µία σειρά από σταθερό αριθµό αναζητήσεων: Εκτέλεση Κ γραµµικών αναζητήσεων και τοποθέτηση των µηνυµάτων στη σειρά µε βάση το µέγεθός τους (το πλήθος των πακέτων που περιέχουν). Η κάθε αναζήτηση απαιτεί χρονικό κόστος της τάξης του O(N), αφού για κάθε πλαίσιο µετάδοσης ο αλγόριθµος χρονοπρογραµµατίζει Ν µηνύµατα. Η αναζητήσεις γίνονται Κ φορές για κάθε πλαίσιο µετάδοσης, εποµένως το σύνολο των Κ αναζητήσεων γίνεται σε χρόνο Ο(KN). Ο PSSA για κάθε πλαίσιο µετάδοσης έχει να προγραµµατίσει Ν µηνύµατα µε βάση τη σειρά που έχουν δηµιουργήσει οι Κ αναζητήσεις. Στη συνέχεια, για κάθε µήνυµα ο αλγόριθµος έχει να κάνει τις εξής διεργασίες: Αναζήτηση του µέγιστου στοιχείου του πίνακα CAT. Ο πίνακας CAT περιέχει W στοιχεία εποµένως η αναζήτηση αυτή κοστίζει σε χρονική πολυπλοκότητα O(W). Υπολογισµός των τιµών r, t 1 και t 2. Οι υπολογισµοί αυτοί δεν κοστίζουν χρονικά αφού η εκτέλεσή τους γίνεται σε χρόνο O(1). Ανανέωση των τιµών των πινάκων RAT και CAT. Η ανανέωση αυτή γίνεται σε σταθερό χρόνο και δεν κοστίζει χρονικά, άρα έχουµε O(1). Από αυτές τις ενέργειες συµπεραίνουµε ότι ο PSSA τρέχει σε χρόνο O(KN+NW), δηλαδή γραµµικά σε σχέση µε τον αριθµό των κόµβων. Είναι επίσης σηµαντικό να αναφέρουµε ότι ο PSSA αποφεύγει τεχνηέντως την ταξινόµηση των µηνυµάτων µε βάση το µέγεθος που θα οδηγούσε σε υψηλότερη πολυπλοκότητα µε τη βοήθεια των Κ αναζητήσεων. 35