: Ethernet Στόχοι της άσκησης Σκοπός της παρούσας εργαστηριακής άσκησης είναι η επίδειξη της λειτουργίας των δικτύων τύπου Ethernet. Θα εξετάσετε τις επιδόσεις των δικτύων Ethernet κάτω από διαφορετικά σενάρια λειτουργίας. Γενικά Τα δίκτυα τύπου Ethernet αποτελούν σήµερα την πιο διαδεδοµένη τεχνολογία δικτύων µε ευρύτατη εγκατεστηµένη βάση σε τοπικά δίκτυα. Το Ethernet αποτελεί το κλασσικό παράδειγµα τεχνολογίας Πολλαπλής Πρόσβασης µε Ανίχνευση Φέροντος και Ανίχνευση Συγκρούσεων (Carrier Sense Multiple Access with Collision Detection CSMA/CD). Η τεχνολογία ονοµάζεται Πολλαπλής Πρόσβασης γιατί οι κόµβοι στέλνουν και λαµβάνουν πακέτα δεδοµένων (το πρωτόκολλο τα ονοµάζει πλαίσια (frames)) πάνω από ένα κοινό µέσο. Η Ανίχνευση Φέροντος σηµαίνει ότι όλοι οι κόµβοι µπορούν να αντιληφθούν το ελεύθερο από το κατειληµµένο κανάλι. Τέλος, η ανίχνευση συγκρούσεων αναφέρεται στη δυνατότητα κάθε κόµβου να «ακούει» το κανάλι καθώς µεταδίδει και µε τον τρόπο αυτό να αντιλαµβάνεται την ύπαρξη παρεµβολής (σύγκρουσης) µε την ταυτόχρονη µετάδοση κάποιου άλλου κόµβου. Με τη λειτουργία των δικτύων τύπου Ethernet πρέπει να είστε εξοικειωµένοι από το πρώτο κιόλας µάθηµα ικτύων ή Επικοινωνιών εδοµένων που έχετε κάνει. Στην άσκηση αυτή θα κατασκευάσετε ένα δίκτυο Ethernet µε 30 κόµβους (σταθµούς εργασίας) συνδεδεµένους µεταξύ τους µε οµοαξονικό καλώδιο. Το δίκτυο θα λειτουργεί µε ταχύτητα 10Mbps. Θα µελετήσετε πως επηρεάζεται η διαµεταγωγή του δικτύου τόσο από τον φόρτο όσο και από το µέγεθος των πακέτων. Προετοιµασία για την άσκηση Είναι καλό πριν έρθετε στο εργαστήριο για να υλοποιήσετε την άσκηση να έχετε ήδη µελετήσει:
Την περιγραφή του µοντέλου Ethernet όπως υλοποιείται από το OPNET. Μενού Protocols Ethernet Model Usage Guide. Τη λειτουργία του πρωτοκόλλου από το βιβλίο: Stallings Τα µέτρα επίδοσης του Etehrnet από το βιβλίο: Andrew Tannenbaum. Computer Networks. 4 th ed. Κεφάλαιο 4. Μην ξεχνάτε να σώζετε τακτικά τη δουλειά σας!!! Καθώς το εξάµηνο θα προχωρά οι ασκήσεις θα γίνονται όλο και πιο πολύπλοκες κι έτσι θα υπάρχει µεγάλη δυσκολία στο να ξαναστηθούν από την αρχή. Επίσης, αν είστε τυπικοί τόσο στην αποθήκευση των αρχείων σας όσο και στην ονοµατοδοσία τους, θα µπορείτε να τα παίρνετε µαζί σας ώστε να εργάζεστε και στο σπίτι. Το πρόγραµµα παράγει πολλά αρχεία για κάθε project που θα ετοιµάζετε. Επίσης, στον ίδιο κατάλογο εργάζονται και συνάδελφοί σας από άλλα τµήµατα. Ξεκινήστε τα ονόµατα των project σας µε τα αρχικά του ονόµατός σας και συνεχίστε µε το όνοµα του project, π.χ. CH_Ethernet. Αν πιστεύετε ότι τα αρχικά σας είναι πολύ κοινά χρησιµοποιείστε και το δεύτερο γράµµα. ιαδικασία Εργαστηρίου ηµιουργία νέου έργου (project) 1. File New 2. Επιλέξτε Project OK Ονοµάστε το project <τα αρχικά σας>_ethernet, και το σενάριο Coax OK. 3. Σιγουρευτείτε ότι στο πλαίσιο διαλόγου Startup Wizard: Initial Topology έχει επιλεχθεί Create Empty Scenario Next επιλέξτε Office για την κλίµακα του δικτύου (Network Scale) Next ορίστε 200 στο X Span και αφήστε το Y Span 100 πατήστε δύο φορές το Next OK. 4. Κλείστε το πλαίσιο διαλόγου Object Palette. ηµιουργία ενός δικτύου Για να δηµιουργήσετε ένα δίκτυο Ethernet µε οµοαξονικό καλώδιο ακολουθήστε τα παρακάτω βήµατα: 1. Για τη δηµιουργία της δοµής του δικτύου επιλέξτε Topology Rapid Configuration. Από το µενού επιλέξτε Bus και πατήστε OK. ρ. Κωνσταντίνος Σ. Χειλάς 2
2. Πατήστε το κουµπί Select Models στο πλαίσιο διαλόγου Rapid Configuration. Από το µενού Model List επιλέξτε ethcoax και πατήστε OK. 3. Στο πλαίσιο διαλόγου Rapid Configuration, επιλέξτε τις επόµενες οκτώ τιµές και πατήστε OK. 4. Για τη ρύθµιση του οµοαξονικού αγωγού κάντε δεξί κλικ πάνω του και επιλέξτε Advanced Edit Attributes από το µενού: a. Πατήστε στην τιµή της ιδιότητας model επιλέξτε Edit από το µενού και επιλέξτε το µοντέλο eth_coax_adv. b. Θέστε την τιµή 0.05 στην ιδιότητα delay (propagation delay in sec/m). c. Θέστε την τιµή 5 στην ιδιότητα thickness. d. Πατήστε OK. 5. Μόλις έχετε δηµιουργήσει το δίκτυό σας. Πρέπει να µοιάζει µε αυτό που φαίνεται στην παρακάτω εικόνα. 6. Βεβαιωθείτε ότι σώσατε τη δουλειά σας. Παραµετροποίηση των κόµβων του δικτύου. ρ. Κωνσταντίνος Σ. Χειλάς 3
Για να παραµετροποιήσετε την κίνηση που δηµιουργούν οι κόµβοι ακολουθήστε τα παρακάτω βήµατα: 1. Κάντε δεξί κλικ πάνω σε οποιονδήποτε από τους 30 κόµβους και επιλέξτε την επιλογή Select Similar Nodes. Έτσι, επιλέγονται όλοι οι κόµβοι του δικτύου. 2. Κάντε δεξί κλικ πάνω σε οποιονδήποτε από τους 30 κόµβους και επιλέξτε Edit Attributes. 3. Τσεκάρετε την επιλογή Apply Changes to Selected Objects. Αυτή η επιλογή είναι σηµαντική ώστε να µην χρειαστεί να ρυθµίσετε κάθε κόµβο ξεχωριστά. 4. Αναπτύξτε την ιεραρχική δοµή Traffic Generation Parameters: α. Αλλάξτε την τιµή της παραµέτρου ON State Time σε exponential(100) 1 Αλλάξτε την τιµή της παραµέτρου OFF State Time σε exponential(0). (Σηµείωση: Τα πακέτα δηµιουργούνται µόνο στην κατάσταση "ON") 5. Επεκτείνετε την ιεραρχική δοµή Packet Generation Arguments: α. Αλλάξτε την τιµή της παραµέτρου Packet Size σε constant(1024). β. Κάντε δεξί κλικ στην παράµετρο Interarrival Time 2 και επιλέξτε Promote Attribute to Higher Level. Αυτό σας επιτρέπει να αναθέσετε πολλές τιµές στην παράµετρο Interarrival Time κι έτσι να δοκιµάσετε τις επιδόσεις του δικτύου µε διαφορετικούς φόρτους. 6. Πατήστε OK για να επιστρέψετε στον Project Editor. 7. Σιγουρευτείτε ότι σώσατε τη δουλειά σας. Ρύθµιση της προσοµοίωσης Για να µπορέσουµε να ελέγξουµε τις επιδόσεις του δικτύου κάτω από διαφορετικό φόρτο θα πρέπει να τρέξουµε τις προσοµοιώσεις αρκετές φορές αλλάζοντας κάθε φορά τον φόρτο του δικτύου. Αυτό µπορεί να γίνει µε έναν απλούστερο και αυτοµατοποιηµένο τρόπο. Θυµηθείτε ότι προαγάγαµε την 1 Το όρισµα της εκθετικής κατανοµής είναι η µέση τιµή των χρονικών διαστηµάτων µεταξύ διαδοχικών γεγονότων. Στην εκθετική κατανοµή η πιθανότητα να συµβεί το επόµενο γεγονός δεν εξαρτάται από τη χρονική στιγµή που συνέβη το προηγούµενο ή το χρόνο που µεσολάβησε πριν συµβεί το γεγονός αυτό. 2 Η παράµετρος interarrival time είναι ο χρόνος που µεσολαβεί από την επιτυχή δηµιουργία ενός πακέτου µέχρι την επιτυχή δηµιουργία του εποµένου, στην κατάσταση «ΟΝ» ρ. Κωνσταντίνος Σ. Χειλάς 4
ιδιότητα Interarrival Time για τη δηµιουργία πακέτων. Τώρα θα αναθέσουµε διαφορετικές τιµές σε αυτή την παράµετρο: 1. Πατήστε το κουµπί Configure/Run Simulation: 2. Βεβαιωθείτε ότι είναι επιλεγµένη η ετικέτα Common Βάλτε την τιµή 15 seconds στην παράµετρο Duration. 3. Επιλέξτε τη σελίδα Object Attributes. 4. Πατήστε το κουµπί Add. Πρέπει να εµφανιστεί το πλαίσιο διαλόγου Add Attribute γεµάτο µε τις ιδιότητες όλων των κόµβων του δικτύου οι οποίες έχουν προαχθεί (αν δεν βλέπετε τις ιδιότητες αυτές στην λίστα, κλείστε όλο το project και ξανανοίξτε το). Πρέπει να προσθέσετε την ιδιότητα Interarrival Time για όλους τους κόµβους. Για να το κάνετε αυτό: α. Επιλέξτε την πρώτη ιδιότητα στη λίστα (Office Network.node_0.Traffic Generation.) Πατήστε το κουµπί Wildcard Πατήστε στο node_0 και από το µενού επιλέξτε τον αστερίσκο (*) Πατήστε OK. β. Τώρα έχει δηµιουργηθεί µια νέα παράµετρος (η δεύτερη στη λίστα) την οποία πρέπει να προσθέσετε πατώντας το αντίστοιχο κελί κάτω από τη στήλη Add?. γ. Το πλαίσιο διαλόγου Add Attribute πρέπει να φαίνεται όπως η επόµενη εικόνα. Πατήστε OK. 5. Τώρα θα πρέπει στη λίστα των ιδιοτήτων των αντικειµένων της προσοµοίωσης να βλέπετε το Office Network.*.Traffic Generation Parameter. Πατήστε ρ. Κωνσταντίνος Σ. Χειλάς 5
πάνω σε αυτή τη µεταβλητή για να την επιλέξετε και µετά πατήστε του κουµπί Values στο πλαίσιο διαλόγου. 6. Προσθέστε τις επόµενες εννέα τιµές. (Σηµείωση: Για να προσθέσετε την πρώτη τιµή κάντε διπλό κλικ στο πρώτο κελί της στήλης Value πληκτρολογείστε exponential (2) µέσα στο πεδίο και πατήστε enter. Επαναλάβετε το βήµα αυτό και για τις εννέα τιµές.) (Σηµείωση 2: Είναι σηµαντικό να βάλετε τις τιµές µε την επιστηµονική τους µορφή όπως φαίνονται στην εικόνα. Αν βάλετε το 5e-1 µε τη δεκαδική του µορφή 0.1 το πρόγραµµα συµπεριφέρεται περίεργα και καταναλώνει όλη τη µνήµη του υπολογιστή πριν καταρρεύσει.) 7. Πατήστε OK. είτε στην πάνω δεξιά γωνία του πλαισίου διαλόγου Simulation Configuration και βεβαιωθείτε ότι η τιµή του Number of runs in set είναι 9. 8. Για κάθε µία από τις εννέα εκτελέσεις της προσοµοίωσης χρειαζόµαστε µια αριθµητική - βαθµωτή (scalar) µεταβλητή που να αντιπροσωπεύει το µέσο φόρτο στο δίκτυο και µια ακόµα αριθµητική µεταβλητή η οποία να αντιπροσωπεύει τη µέση διαµεταγωγή του δικτύου. Για την αποθήκευση των µεταβλητών αυτών πρέπει να ρυθµίσουµε τον πρόγραµµα να τις σώζει σε ένα αρχείο. Για να ρυθµίσουµε τον προσοµοιωτή να το κάνει αυτό επιλέξτε τη σελίδα (tab) Advanced στο πλαίσιο διαλόγου Configure Simulation. 9. Στο πεδίο Scalar file δώστε την τιµή <τα αρχικά σας>_ethernet_coax. 10. Πατήστε OK κα σώστε το project. ρ. Κωνσταντίνος Σ. Χειλάς 6
Επιλέξτε τα στατιστικά Για να επιλέξτε τα στατιστικά που θα συλλεχθούν κατά την προσοµοίωση λειτουργίας του δικτύου: 1. Κάντε δεξί κλικ οπουδήποτε πάνω στο χώρο εργασίας του project (όχι όµως πάνω σε κόµβους ή ζεύξεις) κι επιλέξτε από το µενού Choose Individual Statistics επεκτείνετε την ιεραρχία Global Statistics. a. Επεκτείνετε την ιεραρχία Traffic Sink τσεκάρετε το κουτάκι επιλογής δίπλα στην παράµετρο Traffic Received (packets/sec) (βεβαιωθείτε ότι έχετε επιλέξει το στατιστικό µε τις µονάδες packets/sec), b. Επεκτείνετε την ιεραρχία Traffic Source τσεκάρετε το κουτάκι επιλογής δίπλα στην παράµετρο Traffic Sent (packets/sec). c. Πατήστε OK. 2. Για να συλλέξετε τη µέση τιµή αυτών των στατιστικών σε µια αριθµητική µεταβλητή στο τέλος κάθε προσοµοίωσης κάντε: a. Από το µενού Simulation επιλέξτε Choose Statistics (Advanced) b. Κάτω από το Global Statistic Probes θα πρέπει να εµφανίζονται τα δύο probes Traffic Sent και Traffic Received. c. Κάντε δεξί κλικ πάνω στην πρόµπα Traffic Received Edit Attributes. Θέστε την παράµετρο scalar data στην τιµή enabled Θέστε την παράµετρο scalar type στην τιµή time average Συγκρίνετε µε την επόµενη εικόνα και πατήστε ΟΚ. d. Επαναλάβετε το προηγούµενο βήµα για την πρόµπα Traffic Sent. e. Επιλέξτε το save από το µενού File στο παράθυρο Probe Model και κλείστε το παράθυρο. ρ. Κωνσταντίνος Σ. Χειλάς 7
f. Τώρα είστε πίσω στον Project Editor. Βεβαιωθείτε ότι σώσατε το project. Τρέξτε την προσοµοίωση Για να τρέξετε την προσοµοίωση: 1. Πατήστε το κουµπί Configure/Run Simulation Σιγουρευτείτε ότι το πεδίο Duration έχει την τιµή 15 second(s) (όχι ώρες) Πατήστε Run. Ανάλογα µε την ταχύτητα του επεξεργαστή η προσοµοίωση µπορεί να διαρκέσει µερικά λεπτά. 2. Ο προσοµοιωτής θα εκτελέσει εννέα επαναλήψεις της προσοµοίωσης, µια για κάθε τιµή του χρόνου µεταξύ αφίξεων (που αντιπροσωπεύει τον φόρτο του δικτύου). Παρατηρειστε ότι κάθε επανάληψη διαρκεί περισσότερο από τη προηγούµενη καθώς αυξάνεται η κίνηση στο δίκτυο. 3. Μετά την εκτέλεση και της ένατης επανάληψης πατήστε Close. 4. Σώστε το project. Καθώς επαναλαµβάνετε τις προσοµοιώσεις το OPNET θα προσθέτει τα νέα αποτελέσµατα στο τέλος του υπάρχοντος αρχείου. Για να αποφύγετε αυτό καθώς και οποιαδήποτε άλλη σύγχυση, µπορείτε να σβήσετε το αρχείο προτού ξεκινήσετε µια καινούργια εκτέλεση. (Σηµείωση: Αν σβήσετε το αρχείο αµέσως µετά την εκτέλεση θα χάσετε όλα τα αποτελέσµατα που έχουν συλλεχθεί.) Πηγαίνετε στο µενού File επιλέξτε Model Files Delete Model Files επιλέξτε (.os): Output Scalars επιλέξτε το αρχείο που θέλετε να σβήσετε σε αυτό τα εργαστήριο είναι το <τα αρχικά σας>_ethernet_coax_scalar επιβεβαιώστε το σβήσιµο πατώντας OK πατήστε Close. είτε τα αποτελέσµατα Για να δείτε και να αναλύσετε τα αποτελέσµατα: 1. Από το µενού Results επιλέξτε View Results (Advanced). Τώρα έχετε ανοίξει το εργαλείο Analysis Configuration. 2. Θυµηθείτε ότι είχαµε σώσει τις µέσες τιµές των αποτελεσµάτων σε ένα αρχείο µε βαθµωτά µεγέθη. Για να φορτώσετε αυτό το αρχείο, επιλέξτε Load Output Scalar File από το µενού File από το αναδυόµενο µενού επιλέξτε <τα αρχικά σας>_ethernet-coax. ρ. Κωνσταντίνος Σ. Χειλάς 8
3. Από το µενού Panels επιλέξτε Create Scalar Panel Στον οριζόντιο άξονα Horizontal αναθέστε το Traffic Source.Traffic Sent (packets/sec).average και στον κάθετο άξονα Vertical αναθέστε το TrafficSink.Traffic Received (packets/sec).average Πατήστε OK. 4. Το γράφηµα που θα προκύψει πρέπει να µοιάζει µε αυτό που φαίνεται παρακάτω: Ερωτήσεις 1. Ερµηνεύστε το γράφηµα που προέκυψε από τις προσοµοιώσεις και δείχνει τη σχέση µεταξύ των παραληφθέντων (received) και των αποσταλµένων (sent) πακέτων (σχέση διαµεταγωγής φόρτου (throughput - load)). Γιατί η διαµεταγωγή (throughput) πέφτει όταν ο φόρτος είναι πολύ µικρός ή µεγάλος; 2. ηµιουργείστε τρία αντίγραφα του σεναρίου προσοµοίωσης µε τα ονόµατα Coax_Q2a, Coax_Q2b και Coax_2c. Θέστε το χρόνο µεταξύ των αφίξεων (Interarrival Time) για όλους τους κόµβους (Packet Generation Argument) σύµφωνα µε τις παρακάτω τιµές: (θυµηθείτε να τσεκάρετε το πεδίο Apply changes to selected objects όταν θα ρυθµίσετε το πεδίο. Επίσης θυµηθείτε µια σηµείωση που αφορούσε στη µορφή των δεκαδικών) a. Coax_Q2a : exponential(0.1) ρ. Κωνσταντίνος Σ. Χειλάς 9
b. Coax_Q2b : exponential(0.05) c. Coax_Q2c : exponential(0.025) Στα νέα αυτά σενάρια ανοίξτε το Configure Simulation και από το Object Attributes σβήστε τη µεταβλητή µε τις πολλές τιµές (είναι η µόνη που φαίνεται στη λίστα). Για το κόµβο 0 επιλέξτε το στατιστικό: Ethcoax Collision Count. Βεβαιωθείτε ότι είναι επιλεγµένα και τα καθολικά (global) στατιστικά: Global Statistics Traffic Sink Traffic Received (packet/sec). Εκτελέστε τις προσοµοιώσεις για τα τρία σενάρια. Κατασκευάστε δύο γραφήµατα: ένα που να συγκρίνει τον αριθµό συγκρούσεων στον κόµβο 0 µεταξύ των τριών σεναρίων κι ένα που να συγκρίνει την κίνηση που λαµβάνεται σε κάθε ένα από τα τρία σενάρια. (Σηµείωση: Results Compare Results). 3. Για να µελετήσετε την επίδραση που έχει ο αριθµός των σταθµών εργασίας στην επίδοση του κάθε Ethernet segment κατασκευάστε ένα αντίγραφο του σεναρίου Coax_Q2c και ονοµάστε το Coax_Q3. Στο νεό σενάριο σβήστε τους κόµβους µε µονό αριθµό, συνολικά 15 κόµβους (τον 1, τον 3, τον 29). ηµιουργήστε ένα γράφηµα που να συγκρίνει τον αριθµό των συγκρούσεων στον κόµβο 0 µεταξύ των σεναρίων Coax_Q2c και Coax_Q3. Ερµηνεύστε το γράφηµα και σχολιάστε τα αποτελέσµατα. 4. Στις προηγούµενες προσοµοιώσεις χρησιµοποιήθηκε µέγεθος πλαισίων ίσο µε 1024 Bytes. (Σηµείωση: κάθε Ethernet πακέτο µπορεί να περιέχει µέχρι 1500bytes δεδοµένων). Για να µελετήσουµε την επίδραση που έχει το µέγεθος των πακέτων στη διαµεταγωγή (throughput) του δικτύου κατασκευάστε ένα αντίγραφο του σεναρίου Coax_Q2c, που κατασκευάσατε στην ερώτηση 2. Ονοµάστε το νέο σενάριο Coax_Q4. Στο νέο σενάριο χρησιµοποιείστε µέγεθος πακέτων ίσο µε 512 Bytes για όλους τους κόµβους. Τόσο για το σενάριο Coax_Q2c όσο και για το Coax_Q4 επιλέξτε το ακόλουθο καθολικό (global) στατιστικό: Global Statistics Traffic Sink Traffic Received (bits/sec). Τρέξτε τις προσοµοιώσεις και των δύο σεναρίων. ηµιουργήστε ένα γράφηµα που να συγκρίνει τη διαµεταγωγή σε πακέτα/δευτ. (packets/sec) και ένα άλλο που να συγκρίνει τη διαµεταγωγή σε bits/sec. Ερµηνεύστε τα γραφήµατα και σχολιάστε τα αποτελέσµατα. ρ. Κωνσταντίνος Σ. Χειλάς 10
Αναφορά εργαστηρίου Προετοιµάστε µια εργαστηριακή αναφορά σύµφωνα µε τις προδιαγραφές και απαιτήσεις που περιγράφονται στην 1 η Άσκηση του Εργαστηρίου. Απαντήστε σε όλες τις ερωτήσεις και παρουσιάστε τα διαγράµµατα που προέκυψαν από τις προσοµοιώσεις σας. Σχολιάστε τα αποτελέσµατα και συγκρίνετέ τα µε αυτό που περιµένατε ή αυτό που θα έπρεπε να συµβαίνει θεωρητικά. Σχολιάστε δυσκολίες, προβλήµατα ή ανωµαλίες κατά την εκτέλεση των προσοµοιώσεων. ρ. Κωνσταντίνος Σ. Χειλάς 11