ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003
Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2 3 ΚΟΜΒΟΙ ΕΠΕΞΕΡΓΑΣΙΑΣ...3 4 Η ΠΗΓΗ ΜΗΝΥΜΑΤΩΝ...4 5 ΠΑΡΑΜΕΤΡΟΙ ΤΟΥ ΜΟΝΤΕΛΟΥ...5 6 ΜΕΤΡΗΣΕΙΣ...5 7 ΧΡΗΣΙΜΕΣ ΠΛΗΡΟΦΟΡΙΕΣ...6 1
1 Εισαγωγή Το µοντέλο που χρησιµοποιείται για την εκµάθηση του CΟΜΝEΤ ΙΙΙ, µελετά την επικοινωνία δύο υπολογιστών πάνω από µία αφιερωµένη γραµµή η οποία επιτρέπει ταυτόχρονη µετάδοση δεδοµένων και προς τις δύο κατευθύνσεις (full duplex). Οι υπολογιστές αναφέρονται σαν Nοde Α και Nοde Β και ο καθένας έχει να µεταδώσει προς τον άλλον κάποια µηνύµατα µεγάλου µήκους ανεξάρτητα από την δραστηριότητα του άλλου υπολογιστή. Μέσα από το µοντέλο αυτό θέλουµε να µελετήσουµε το βαθµό χρησιµοποίησης της σειριακής γραµµής, τις απαιτήσεις µνήµης που έχουν οι σταθµοί του συστήµατος µας, την υπολογιστική ισχύ που απαιτείται και την καθυστέρηση µετάδοσης των µηνυµάτων, λόγω των διαδικασιών δηµιουργίας πλαισίων µετάδοσης. Για την δηµιουργία του µοντέλου χρησιµοποιούµε τα εξής στοιχεία δικτύου: για την µοντελοποίηση της σειριακής γραµµής χρησιµοποιούµε ένα κανάλι σηµείο-προς-σηµείο (ροint-tο-ροint link) για την µοντελοποίηση των υπολογιστικών συστηµάτων χρησιµοποιούνται Processing Nοdes, και για την δηµιουργία κίνησης χρησιµοποιούµε πηγές µηνυµάτων (message sources), οι οποίες δηµιουργούν τα µηνύµατα προς τον κατάλληλο υπολογιστή. 2 Το κανάλι pοint-tο-pοint Το κανάλι ροint-tο-ροint συνδέει δύο κόµβους και γενικά χρησιµοποιείται για να µοντελοποιεί αφιερωµένες γραµµές, σειριακές γραµµές και γενικά γραµµές που συνήθως χρησιµοποιούνται στα πλαίσια των δικτύων ευρείας περιοχής. Το κανάλι αυτό χαρακτηρίζεται από τον ρυθµό µετάδοσης δεδοµένων σε κάθε κατεύθυνση, από τον ρυθµό απόρριψης πλαισίων, από τα µεγέθη των πλαισίων που διακινεί κλπ. Σε κάθε κόµβο του συστήµατος υπάρχει από µία θύρα (port) εισόδου, η οποία λαµβάνει δεδοµένα και µία θύρα εξόδου που στέλνει δεδοµένα στο κανάλι. Όταν σε έναν κόµβο δηµιουργηθούν δεδοµένα, τότε αυτά προωθούνται στην µνήµη εξόδου και αποθηκεύονται µέχρι να έρθει η σειρά τους για µετάδοση. Όταν φθάσει η στιγµή για να µεταδοθεί ένα πακέτο, τότε εφαρµόζεται η διαδικασία προσδιορισµού του αριθµού των πλαισίων που απαιτούνται για να µεταδοθεί το συγκεκριµένο πακέτο και η δηµιουργία των αντίστοιχων πλαισίων. Αυτό µπορεί να έχει σαν αποτέλεσµα να µην δηµιουργηθεί κανένα ή να δηµιουργηθούν πολλά πλήρη πλαίσια και ένα το πολύ µερικά γεµισµένο πλαίσιο, εκτός από την περίπτωση όπου το µέγεθος του πακέτου χωράει ακριβώς έναν ακέραιο αριθµό από πλαίσια. 2
Η µετάδοση ξεκινάει όταν το κανάλι βρεθεί διαθέσιµο, δηλαδή έχει ολοκληρωθεί η µετάδοση του προηγούµενου πλαισίου. Ο χρόνος µετάδοσης ενός πλαισίου (η χρονική διάρκεια ενός πλαισίου) υπολογίζεται διαιρώντας το µήκος του πλαισίου µε την ταχύτητα µετάδοσης. Στην περίπτωση που έχει οριστεί πιθανότητα απόρριψης πλαισίου, τότε εκτιµάται εάν το συγκεκριµένο πλαίσιο θα χαθεί ή όχι. Η διαδικασία αυτή επαναλαµβάνεται µέχρι να ολοκληρωθεί σωστά η µετάδοση του πλαισίου. Από την στιγµή που θα αρχίσει η µετάδοση ενός πλαισίου και αφού έχει εκτιµηθεί ότι αυτό θα µεταδοθεί σωστά, το κανάλι θεωρείται απασχοληµένο για το χρόνο µετάδοσης του πλαισίου. Μετά από αυτό το χρονικό διάστηµα, το κανάλι θεωρείται ότι είναι ξανά ελεύθερο έτσι ώστε να µπορέσει να µεταδοθεί το επόµενο πλαίσιο που είναι έτοιµο για µετάδοση. Μετά την παρέλευση του χρόνου µετάδοσης του πλαισίου, αυτό είναι πλέον διαθέσιµο στον κόµβο προορισµού. Όταν όλα τα πλαίσια ενός µηνύµατος έχουν ληφθεί στον κόµβο προορισµού, το αρχικό µήνυµα δηµιουργείται ξανά και τοποθετείται στην µνήµη εισόδου του κόµβου αυτού. Μερικές από τις παραµέτρους ενός τέτοιου καναλιού είναι: η πιθανότητα λάθους ενός πλαισίου (frame error probability), η ταχύτητα µετάδοσης κάθε κατεύθυνσης (σε kbρs) το ελάχιστο µέγεθος πλαισίου (frame ninimum) το µέγιστο µέγεθος πλαισίου (frame maximum), και ο αριθµός των πρόσθετων bytes που απαιτούνται για να δηµιουργηθεί ένα πλαίσιο (οverhead). Εάν υπάρχουν πακέτα (ή τµήµατα πακέτων) που να δηµιουργούν πλαίσια µε µέγεθος µικρότερο από το ελάχιστο µέγεθος πλαισίου, τότε χρησιµοποιείται η λογική του ρadding για να ικανοποιηθεί η απαίτηση του ελάχιστου µήκους πλαισίου. 3 Κόµβοι επεξεργασίας Στο µοντέλο αυτό χρησιµοποιούµε δύο κόµβους (processing nοdes) του ίδιου τύπου. Οι κόµβοι επεξεργασίας χρησιµοποιούνται για την µοντελοποίηση υπολογιστικών συστηµάτων και δηµιουργούν κίνηση δεδοµένων. Θεωρούµε ότι στις γραµµές εισόδου και εξόδου του κόµβου έχουµε µνήµη (buffer) τόσο µεγάλη που πρακτικά να θεωρείται άπειρη για την συγκεκριµένη εφαρµογή. Τo buffer µιας συγκεκριµένης θύρας µπορεί να αλλάξει µέσο των παραµέτρων του arc που συνδέει τον κόµβο µε το κανάλι. Ενώ το buffer όλων των θυρών ενός κόµβου αλλάζει µέσο των παραµέτρων του κόµβου. 3
The output port buffer size is defined on the arc that connects a particular link to the Processing node. 4 Η πηγή µηνυµάτων Η πηγή µηνυµάτων (message sοurce) µοντελοποιεί την διαδικασίας γέννησης µηνυµάτων και χρησιµοποιείται για να στέλνονται µηνύµατα από έναν κόµβο σε άλλους κόµβους προορισµού. Τα πακέτα που δηµιουργούνται από την πηγή αυτή δροµολογούνται πάντα µε την µορφή των αυτοδύναµων πακέτων. Η πηγή µηνυµάτων συνδέεται πάνω σε ένα κόµβο και έχει ένα όνοµα το οποίο προσδιορίζει τη πηγή συνολικά µέσα στο δίκτυο, ενώ υπάρχουν ορισµένες παράµετροι της που ορίζονται για να προσδιοριστεί η συµπεριφορά της. Αρχικά ορίζουµε µία κατανοµή που περιγράφει τον χρόνο που µεσολαβεί ανάµεσα σε διαδοχικές αφίξεις µηνυµάτων (interarrival time distributiοn). Επίσης έχουµε τη δυνατότητα να ορίσουµε τη χρονική στιγµή που θα συµβεί η πρώτη άφιξη καθώς και τη χρονική στιγµή που θα συµβεί η τελευταία άφιξη. Στην πηγή µηνυµάτων επίσης προσδιορίζουµε το µέγεθος των µηνυµάτων που θα δηµιουργηθούν καθώς και το προορισµό που έχουν τα συγκεκριµένα µηνύµατα. Στο συγκεκριµένο παράδειγµα θεωρούµε ότι οι χρόνοι διαδοχικών αφίξεων ακολουθούν την εκθετική κατανοµή και έχουµε τη δυνατότητα να ορίσουµε τη µέση τιµή της. Εκθετική κατανοµή χρησιµοποιούµε και για να ορίσουµε την κατανοµή του µήκους µηνυµάτων ενώ για τον προορισµό επιλέγουµε την randοm list η οποία µας επιτρέπει να ορίσουµε έναν ή περισσότερους κόµβους που θα στέλνονται στα δεδοµένα. Στο συγκεκριµένο παράδειγµα, σε κάθε πηγή ορίζουµε στην randοm list µόνο το υπολογιστικό σύστηµα που είναι συνδεδεµένο στην άλλη πλευρά της σειριακής γραµµής. Ο χρόνος επεξεργασίας κάθε µηνύµατος στις θύρες εισόδου/εξόδου σταθερός (της τάξης των 100 µsec ανεξάρτητα το µήκος του µηνύµατος), ενώ ο χρόνος επεξεργασίας εσωτερικά στον κόµβο εξαρτάται από το µήκος του µηνύµατος. Μέσα από το µοντέλο επιλέγουµε ορισµένα στατιστικά στοιχεία τα οποία µας δείχνουν το βαθµό αξιοποίησης της σειριακής γραµµής σε κάθε µία κατεύθυνση και προσπαθούµε µε διαφορετικές συνθήκες κίνησης να δούµε το µέγεθος των χώρων αποθήκευσης στους δύο κόµβους. Μεταβάλλουµε το προσφερόµενο φορτίο τροποποιώντας είτε τον αριθµό των µηνυµάτων που δηµιουργούνται ανά χρονικό διάστηµα είτε το µέγεθος των µηνυµάτων και λαµβάνουµε µία κατανοµή που συσχετίζει το µέγεθος των αποθηκευτικών χώρων µε το προσφερόµενο φορτίο. Μ' αυτό τον τρόπο µπορεί ο σχεδιαστής να προσδιορίσει τις απαιτήσεις µνήµης που έχει το σύστηµά του καθώς και τις απαιτήσεις υπολογιστικής ισχύος από τον επεξεργαστή που έχει η εφαρµογή του. 4
5 Παράµετροι του µοντέλου Στο µοντέλο που µελετούµε θεωρούµε ότι έχουµε κανάλι µε ρυθµό µετάδοσης 128 kbρs σε κάθε κατεύθυνση, το οποίο είναι αξιόπιστο, οπότε δεν χρειάζεται να ορίσουµε παραµέτρους που να προσδιορίζουν την πιθανότητα να συµβεί λάθος στο κανάλι, την πιθανότητα διακοπής της σύνδεσης και τον αντίστοιχο χρόνο επανασύνδεσης. Με το µοντέλο αυτό θέλουµε να µελετήσουµε τις απαιτήσεις µνήµης στις θύρες εξόδου κάθε κόµβου σε σχέση µε την µορφή (µέγεθος και χρονισµοί) των µηνυµάτων που πρέπει να µεταδοθούν και το µέγιστο µήκος πλαισίου που χρησιµοποιείται στην γραµµή µεταφοράς και να υπολογιστεί ο χρόνος που απαιτείται για να µεταδοθεί ένα µήνυµα στον κόµβο προορισµού. Για τις διαδικασίες της πλαισίωσης (Framing; it is found at the link parameters menu) θεωρούµε ελάχιστο µήκος πλαισίου τα 32 bytes και σαν οverhead τα 6 bytes. Το µέγιστο µήκος πλαισίου λαµβάνει τις παρακάτω τιµές (σε bytes): 128, 512 και 1024. Το προσφερόµενο φορτίο σε κάθε κόµβο παίρνει τις παρακάτω τιµές (σε bits): 10k, 30k, 50k, 75k και 100k. Το προσφερόµενο φορτίο µεταβάλλεται τροποποιώντας είτε τον αριθµό των µηνυµάτων που δηµιουργούνται ανά χρονικό διάστηµα είτε το µέγεθος των µηνυµάτων. Το µήκος των µηνυµάτων ακολουθεί εκθετική κατανοµή µε µέση τιµή 1000 και 5000 bytes. Οι αφίξεις (interarrival time) των µηνυµάτων ακολουθούν Pοissοn κατανοµή, της οποίας η µέση τιµή πρέπει να υπολογίζεται µε βάση την κατανοµή του µήκους των µηνυµάτων και το µέγεθος του προσφερόµενου φορτίου. Κάθε πλαίσιο απαιτεί χρόνο επεξεργασίας 0,1 msec ανά θύρα εισόδου και εξόδου (node parametrs -> ports), ενώ εσωτερικά στον κόµβο απαιτεί χρόνο επεξεργασίας που εξαρτάται από το µέγεθος του µηνύµατος και λαµβάνει τιµή 1 msec/kbyte (node parameters -> forwarding -> additional processing/kbyte). Ο χρόνος εκτέλεσης της προσοµοίωσης είναι 100 sec µε 10 sec χρόνο σταθεροποίησης του συστήµατος. Σε περίπτωση που η ακρίβεια των µετρήσεων ή ο χρόνος προσοµοίωσης το απαιτήσει, ο χρόνος αυτός µπορεί να µεταβληθεί. 6 Μετρήσεις Με βάση το παραπάνω µοντέλο ζητείται να µελετηθούν και σχολιασθούν: Οι απαιτήσεις µνήµης του συστήµατος (Οutput Buffer) 5
Ο βαθµός αξιοποίησης του καναλιού µετάδοσης (Channel Utilizatiοn), και Η καθυστέρηση µετάδοσης των µηνυµάτων (Message Delay) ως προς α) το προσφερόµενο φορτίο (µέγεθος και µορφή), και β) το µέγιστο µήκος πλαισίου. Να δοθούν οι πίνακες µετρήσεων και οι αντίστοιχες γραφικές παραστάσεις ως προς το προσφερόµενο φορτίο. 7 Χρήσιµες Πληροφορίες Κάθε φορά που ολοκληρώνεται η εκτέλεση µιας προσοµοίωσης και δηµιουργείται το αρχείο Stat1.rpt, πρέπει το αρχείο αυτό να ανοίγεται (χρησιµοποιώντας την επιλογή Report/Browse), και αφού ενηµερωθεί µε τις παραµέτρους των µεταβλητών που χρησιµοποιήθηκαν, να φυλάγεται µε νέο όνοµα. έτσι θα δηµιουργηθούν όλα τα αρχεία που απαιτούνται για την αξιολόγηση του υπό µελέτη συστήµατος. -λx Η εκθετική κατανοµή ορίζεται ως f (x) = λ e x 0 x και έχει µέση τιµή 1/λ. Στην συνέχεια δίνεται ένας τυπικός τρόπος οργάνωσης της διαδικασίας συλλογής δεδοµένων σε αρχεία, όπου κάθε όνοµα αρχείου αντιστοιχεί σε ένα σύνολο τιµών παραµέτρων. Οι τιµές της παραµέτρου 'Χρόνοι ιαδοχικών Μηνυµάτων' έχουν υπολογιστεί µε βάση την τιµή του φορτίου και την µέση τιµή του µήκους των µηνυµάτων. 6
Όνοµα Φορτίο Αρχείου (kbps) Μήκος Μηνύµατος Χρόνοι ιαδοχικών Μηνυµάτων examlll 10 1000 0.80 128 exam311 30 1000 0.27 128 exam511 50 1000 0.16 128 exam711 75 1000 0.11 128 exam911 100 1000 0.08 128 exam151 10 5000 4.00 128 exam351 30 5000 1.33 128 exam551 50 5000 0.80 128 exam751 75 5000 0.53 128 exam951 100 5000 0.40 128 examl12 10 1000 0.80 512 exam312 30 1000 0.27 512 exam512 50 1000 0.16 512 exam712 75 1000 0.11 512 exam912 100 1000 0.08 512 exam152 10 5000 4.00 512 exam352 30 5000 1.33 512 exam552 50 5000 0.80 512 exam752 75 5000 0.53 512 exam952 100 5000 0.40 512 examl14 10 1000 0.80 1024 exam314 30 1000 0.27 1024 exam514 50 1000 0.16 1024 exam714 75 1000 0.11 1024 exam914 100 1000 0.08 1024 exam154 10 5000 4.00 1024 exam354 30 5000 1.33 1024 exam554 50 5000 0.80 1024 exam754 75 5000 0.53 1024 exam954 100 5000 0.40 1024 Output Buffer (max) Channel Message Delay Μήκος Utilisation (%) Πλαισίων Node A Node B Node A Node B Node A Node B 7