2012 Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Βαρτζιώτης Φώτης [ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΔΙΚΤΥΩΝ] Εργαστήριο 3
Περιεχόμενα Εργαστήριο 3: Προγραμματισμός Πόρων Δικτύου με FIFO, Priority Queuing και WFQ... 2 Στόχος... 2 Διαδικασία... 2 Δημιουργία έργου (Project)... 2 Δημιουργία Δικτύου... 3 Παραμετροποίηση του κόμβου Applications... 3 Παραμετροποίηση του κόμβου Profiles... 4 Παραμετροποίηση του κόμβου Queues... 6 Παραμετροποίηση των σταθμών εργασίας και του server... 6 Παραμετροποίηση των δρομολογητών του δικτύου... 7 Στατιστικά... 7 Προετοιμασία Προσομοίωσης... 8 Αντιγραφή σεναρίου... 9 Εκτέλεση Προσομοίωσης... 10 Επισκόπηση Αποτελεσμάτων... 10 Ερωτήσεις... 13 Αναφορά Εργαστηρίου... 13 1
Εργαστήριο 3: Προγραμματισμός Πόρων Δικτύου με FIFO, Priority Queuing και WFQ Στόχος Στα πλαίσια του προγραμματισμού των πόρων ενός δικτύου, κάθε δρομολογητής πρέπει να εφαρμόσει κάποια τεχνική διαχείρισης «ουράς», η οποία θα καθορίζει τη σειρά μετάδοσης των πακέτων που έχουν αποθηκευτεί στις «ουρές» (Buffers) που διαθέτει, καθώς και την στρατηγική απόρριψής τους όταν χρειαστεί. Μια τέτοια τεχνική σαφώς επηρεάζει την καθυστέρηση των πακέτων μιας σύνδεσης μέσα στο δίκτυο καθώς αποφασίζει για τον χρόνο αναμονής ή / και την μετάδοση ενός πακέτου σε έναν δρομολογητή. Παραδείγματα τέτοιων τεχνικών διαχείρισης «ουράς» είναι η FIFO, η Priority Queuing (PQ) και η WFQ. Σε μια ουρά FIFO, το πρώτο πακέτο που φτάνει σε ένα δρομολογητή είναι και το πρώτο πακέτο που προγραμματίζεται για να μεταδοθεί. Δεδομένου ότι ο προσωρινός αποθηκευτικός χώρος (Buffers) σε κάθε δρομολογητή είναι πεπερασμένος, αν ένα πακέτο φτάνει σε μια ουρά (buffer) και αυτή είναι πλήρης, τότε ο δρομολογητής απορρίπτει το πακέτο. Αυτό γίνεται χωρίς να λαμβάνεται υπόψη σε ποια ροή / σύνδεση ανήκει το πακέτο ή πόσο σημαντικό είναι. H PQ είναι μια απλή παραλλαγή της τεχνικής FIFO. «Μαρκάρει» κάθε πακέτο με μια «σημαία» προτεραιότητας. Η «σημαία» θα μπορούσε να τοποθετηθεί στο πεδίο Type of Service (TOS) ) της επικεφαλίδας ενός πακέτου IP. Οι δρομολογητές που εφαρμόζουν την παραπάνω τεχνική διαθέτουν πολλαπλές ουρές FIFO, μια για κάθε «σημαία» προτεραιότητας. Συνεπώς πακέτα με υψηλότερη προτεραιότητα, τοποθετούνται σε ουρά υψηλότερης προτεραιότητας και εξυπηρετούνται γρηγορότερα. Η WFQ τεχνική διατηρεί μια ξεχωριστή ουρά για κάθε ροή που εισέρχεται στον δρομολογητή. Ο δρομολογητής εξυπηρετεί τις ουρές με μια παραλλαγή της μεθόδου Round-Robin (βλ Σημειώσεις διάλεξης). Η WFQ επιτρέπει να δοθεί ένα «βάρος» για κάθε ροή (ουρά). Το βάρος αυτό ελέγχει αποτελεσματικά το ποσοστό του εύρους ζώνης που θα λάβει κάθε σύνδεση. Το πεδίο Type of Service (TOS) της επικεφαλίδας ενός πακέτου IP θα μπορούσε να χρησιμοποιηθεί για τον παραπάνω σκοπό. Σε αυτό το εργαστήριο θα δημιουργήσετε ένα δίκτυο που θα εξυπηρετεί τρεις τύπους εφαρμογών, FTP, βίντεο, και VoIP. Θα μελετήσουμε το πώς η επιλογή της τεχνικής προγραμματισμού πόρων ενός δικτύου στους δρομολογητές μπορεί να επηρεάσει την απόδοση των εφαρμογών και την αξιοποίηση των πόρων του δικτύου. Διαδικασία Δημιουργία έργου (Project) Ξεκινήστε το OPNET και επιλέξτε New από το μενού File. 1. Επιλέξτε Project και κάντε κλικ στο OK. 2. Ονομάστε το έργο <Αριθμός Ομάδας>_Queues, και το σενάριο FIFO. Κάντε κλικ στο OK. 2
3. Στο Startup Wizard : Στo παράθυρο Initial Topology dialog box επιλέξτε Create Empty Scenario, και πατήστε Next. Στo παράθυρο Network Scale επιλέξτε Campus, και πατήστε Next. Στη συνέχεια πατήστε Next τρεις φορές και κάντε κλικ στο OK ή το Finish. Δημιουργία Δικτύου Για τη δημιουργία του δικτύου ακολουθήστε τα παρακάτω βήματα: 1. Επιλέξτε «παλέτα αντικειμένων» από το αντίστοιχο κουμπί εάν δεν είναι ήδη ανοιχτή. 2. Στην παλέτα αντικειμένων, επιβεβαιώστε ότι έχετε στη διάθεσή σας τη ιεραρχία αντικειμένων internet_toolbox. 3. Επιλέξτε τα παρακάτω αντικείμενα: Application Config, Profile Config, QoS Attribute Config, πέντε ethernet_wkstn, έναν ethernet_server, και δύο ethernet4_slip8_gtwy δρομολογητές. Τοποθετήστε τα στην επιφάνεια εργασίας του εργαλείου. 4. Συνδέστε τους δύο δρομολογητές με μια αμφίδρομη PPP_DS1 σύνδεση. 5. Συνδέστε τους σταθμούς εργασίας και τον server στους δρομολογητές, όπως φαίνεται στην εικόνα 1. 6. Μετονομάστε τα αντικείμενα σύμφωνα με την εικόνα 1. Εικόνα 1 Παραμετροποίηση του κόμβου Applications 1. Κάντε δεξί κλικ στο αντικείμενο Applications node Edit Attributes Επεκτείνετε την ιεραρχία Application Definitions hierarchy Θέστε την τιμή της παραμέτρου rows σε 3 Ονομάστε τις γραμμές που δημιουργούνται ως: FTP Application, Video Application, VoIP Application 3
a. Πηγαίνετε στη γραμμή FTP Application Επεκτείνετε την ιεραρχία Description Κάντε κλικ στην τιμή της παραμέτρου Ftp και επιλέξτε High Load Κάντε κλικ στην τιμή High Load και επιλέξτε edit Θέστε Constant(10) στην παράμετρο Inter-Request Time Θέστε Constant(1000000) στην παράμετρο File Size Αφήστε την παράμετρο Type of Service (ToS) στην τιμή Best Effort (0). b. Πηγαίνετε στη γραμμή Video Application row Επεκτείνετε την ιεραρχία Description Θέστε Low Resolution Video στην παράμετρο Video Conferencing Κάντε κλικ στην τιμή Low Resolution Video value και επιλέξτε edit Κάντε κλικ στην τιμή της παραμέτρου Type of Service (εμφανίζεται το παράθυρο Configure TOS/DSCP ) Από το μενού, αντί για Best Effort (0) θέστε Streaming Multimedia (4) Πατήστε ΟΚ δύο φορές. c. Πηγαίνετε στη γραμμή VoIP Application Επεκτείνετε την ιεραρχία Description Θέστε PCM Quality Speech στην παράμετρο Voice. Κάντε κλικ στην τιμή PCM Quality Speech και επιβεβαιώστε ότι η παράμετρος ToS έχει την τιμή Interactive Voice (6). 2. Kάντε κλικ OK, και σώστε το έργο. Εικόνα 2 Παραμετροποίηση του κόμβου Profiles 1. Κάντε δεξί κλικ στον κόμβο Profiles Edit Attributes Επεκτείνετε την ιεραρχία Configuration Θέστε την τιμή της παραμέτρου rows σε 3. 4
2. Στη γραμμή 0 δώστε το όνομα και τις τιμές των παραμέτρων που φαίνονται στην εικόνα 3. Εικόνα 3 3. Στη γραμμή 1 δώστε το όνομα και τις τιμές των παραμέτρων που φαίνονται στην εικόνα 4. Εικόνα 4 5
1. Στη γραμμή 2 δώστε το όνομα και τις τιμές των παραμέτρων που φαίνονται στην εικόνα 5. Εικόνα 5 2. Κάντε κλικ στο OK για να κλείσετε το παράθυρο επεξεργασίας χαρακτηριστικών και αποθηκεύστε το έργο σας. Παραμετροποίηση του κόμβου Queues Θα χρησιμοποιηθούν οι υπάρχουσες τιμές. Ωστόσο προτείνεται να γίνει επισκόπησή τους. Παραμετροποίηση των σταθμών εργασίας και του server 1. Κάντε δεξί κλικ στον FTP Client Edit Attributes Επεκτείνετε την ιεραρχία Application: Supported Profiles Θέστε την τιμή της παραμέτρου rows σε 1 Θέστε το Profile Name σε FTP Profile Πατήστε OK. 2. Κάντε δεξί κλικ στον Video Client Edit Attributes Επεκτείνετε την ιεραρχία Application: Supported Profiles Θέστε την τιμή της παραμέτρου rows σε 1 Θέστε το Profile Name σε Video Profile Πατήστε OK. 3. Κάντε δεξί κλικ στον VoIP West Edit Attributes a. Επεκτείνετε την ιεραρχία Application: Supported Profiles Θέστε την τιμή της παραμέτρου rows σε 1 Θέστε το Profile Name σε VoIP Profile, b. Επεκτείνετε την ιεραρχία Application: Supported Services Θέστε την τιμή της παραμέτρου rows σε 1 Θέστε το Service Name σε VoIP Application Πατήστε OK δύο φορές. 6
4. Κάντε δεξί κλικ στον VoIP East Edit Attributes a. Επεκτείνετε την ιεραρχία Application: Supported Profiles Θέστε την τιμή της παραμέτρου rows σε 1 Θέστε το Profile Name σε VoIP Profile, b. Επεκτείνετε την ιεραρχία Application: Supported Services Θέστε την τιμή της παραμέτρου rows σε 1 Θέστε το Service Name σε VoIP Application Πατήστε OK δύο φορές. 5. Κάντε δεξί κλικ στον FTP Server Edit Attributes Application: Supported Services Θέστε την τιμή της παραμέτρου rows σε 1 Θέστε το Service Name σε FTP Application Πατήστε OK δύο φορές. 6. Κάντε δεξί κλικ στον Video Server Edit Attributes Application: Supported Services Θέστε την τιμή της παραμέτρου rows σε 1 Θέστε το Service Name σε Video Application Πατήστε OK δύο φορές. 7. Αποθηκεύστε το έργο Παραμετροποίηση των δρομολογητών του δικτύου 1. Κάντε κλικ στην σύνδεση των μεταξύ των East και West δρομολογητών για να την επιλέξετε. Από το μενού Protocols, επιλέξτε IP QoS Configure QoS. 2. Επιβεβαιώστε ότι το παράθυρο που εμφανίζεται έχει τις τιμές που φαίνονται στην εικόνα 6 και πατήστε ΟΚ. 3. Αποθηκεύστε το έργο. Εικόνα 6 Στατιστικά Για να επιλέξετε τα στατιστικά στοιχεία που πρέπει να συλλέγονται κατά τη διάρκεια της προσομοίωσης: 1. Κάντε δεξί κλικ οπουδήποτε στο χώρο εργασίας και επιλέξτε Choose Individual DES Statistics από το μενού. 7
2. Στο παράθυρο Choose results εισάγετε τις ακόλουθες τιμές (Εικόνα 7) και κάντε κλικ στο ΟΚ. 3. Αποθηκεύστε το έργο. Εικόνα 7 Προετοιμασία Προσομοίωσης Απλά θα παραμετροποιήσετε τον χρόνο της προσομοίωσης του δικτύου : 1. Κάντε κλικ στο κουμπί Configure/Run Simulation, 2. Θέστε την παράμετρο Duration στα 150 seconds, 3. Κάντε κλικ στο Apply και κλείστε το παράθυρο, 4. Αποθηκεύστε το έργο. 8
Αντιγραφή σεναρίου Το δίκτυο που δημιουργήσατε χρησιμοποιεί μόνο την τεχνική FIFO. Για να εξετάσετε και τις άλλες δύο τεχνικές (PQ, WFQ) θα πρέπει να δημιουργήσετε δύο επιπλέον σενάρια. Για να το κάνετε αυτό θα δημιουργήσετε δύο αντίγραφα του τρέχοντος σεναρίου: 1. Επιλέξτε Duplicate Scenario από το μενού Scenarios και δώστε το όνομα PQ. Κάντε κλικ στο OK. 2. Κάντε κλικ στην σύνδεση των μεταξύ των East και West δρομολογητών για να την επιλέξετε. Από το μενού Protocols, επιλέξτε IP QoS Configure QoS. 3. Επιβεβαιώστε ότι το παράθυρο που εμφανίζεται έχει τις τιμές που φαίνονται στην εικόνα 8 και πατήστε ΟΚ. Εικόνα 8 4. Αποθηκεύστε το έργο. 5. Επιλέξτε Duplicate Scenario από το μενού Scenarios και δώστε το όνομα WFQ. Κάντε κλικ στο OK. 6. Κάντε κλικ στην σύνδεση των μεταξύ των East και West δρομολογητών για να την επιλέξετε. Από το μενού Protocols, επιλέξτε IP QoS Configure QoS. 7. Επιβεβαιώστε ότι το παράθυρο που εμφανίζεται έχει τις τιμές που φαίνονται στην εικόνα 9 και πατήστε ΟΚ. 9
Εικόνα 9 8. Αποθηκεύστε το έργο. Εκτέλεση Προσομοίωσης Για να εκτελέσετε την προσομοίωση και για τα τρία σενάρια ταυτόχρονα: 1. Επιλέξτε Manage Scenarios από το μενού Scenarios, ώστε να ανοίξει το αντίστοιχο παράθυρο. 2. Στη στήλη Results, κάντε αριστερό κλικ στην υπάρχουσα τιμή του κάθε σεναρίου και στο μενού που εμφανίζεται επιλέξτε <collect> (ή <recollect> ), όπως στην παρακάτω εικόνα. Εικόνα 10 3. Κάντε κλικ στο OK για να εκτελέσετε τις τρεις προσομοιώσεις. Ανάλογα με την ταχύτητα του επεξεργαστή, η προσομοίωση μπορεί να διαρκέσει αρκετά λεπτά για να ολοκληρωθεί. 4. Όταν ολοκληρωθεί, μια προσομοίωση για κάθε σενάριο, κάντε κλικ στο κουμπί Close. 5. Αποθηκεύστε το έργο σας (Project). Επισκόπηση Αποτελεσμάτων 1. Κάντε δεξί κλικ στην επιφάνεια εργασίας για να εμφανιστεί το μενού και επιλέξτε View Results. 10
2. Επιλέξτε Current Project από το μενού Results For, 3. Τσεκάρετε και τα τρία σενάρια που εμφανίζονται στο πλαίσιο κάτω από το μενού Results For, 4. Επιλέξτε Overlaid Statistics από την πρώτη λίστα στο μενού Presentation, 5. Πατήστε το κουμπί Show για να προβάλλετε τα αποτελέσματα που θα εξάγετε 6. Βρείτε την κατάλληλη ιεραρχία και δείξτε το στατιστικό Traffic Dropped, 7. Βρείτε την κατάλληλη ιεραρχία και δείξτε το στατιστικό Video Conferencing Traffic Received, 8. Βρείτε την κατάλληλη ιεραρχία και δείξτε το στατιστικό Voice Traffic Received, 9. Βρείτε την κατάλληλη ιεραρχία και δείξτε το στατιστικό Voice Packet End-to-End Delay, 10. Βρείτε την κατάλληλη ιεραρχία και δείξτε το στατιστικό Voice Packet Delay Variation, Εικόνα 11 Εικόνα 12 11
Εικόνα 13 Εικόνα 14 12
Εικόνα 15 11. Αποθηκεύστε το έργο (project). Ερωτήσεις 1. Αναλύστε τα γραφήματα που λάβατε και επιβεβαιώστε την επικάλυψη στα γραφήματα Voice Packet End-to-End Delay και Voice Packet Delay Variation. Συγκρίνετε τις τρεις τεχνικές προγραμματισμού πόρων δικτύου και εξηγήστε τις επιπτώσεις τους στις επιδόσεις των τριών τύπων εφαρμογών. 2. Στο έργο που υλοποιήσατε, να επεξεργαστείτε το αντικείμενο Queues και να ελέγξτε τα προφίλ των FIFO, PQ και WFQ. Για κάθε προφίλ να απαντήσετε στα παρακάτω ερωτήματα: a. Πόσες ουρές σχετίζονται με κάθε τεχνική; b. Στο εργαστήριο αυτό, χρησιμοποιήσατε το πεδίο ToS για να αποδώσετε προτεραιότητες και βάρη για την τεχνική PQ και WFQ αντίστοιχα. Ποιες άλλες παράμετροι μπορούν να χρησιμοποιηθούν για τον ίδιο σκοπό; c. Στην τεχνική PQ, πώς έχουν ρυθμιστεί οι ουρές ώστε να εξυπηρετούν διαφορετικές ToS τιμές; d. Στην τεχνική WFQ, πώς έχουν ρυθμιστεί οι ουρές ώστε να εξυπηρετούν διαφορετικές ToS τιμές; 3. Για όλα τα σενάρια, επιλέξτε το στατιστικό queuing delay <-- για το γραμμή που συνδέει τους δύο δρομολογητές. Εκτελέστε ξανά την προσομοίωση και δημιουργήστε το γράφημα που συγκρίνει το προαναφερθέν στατιστικό για όλες τις ουρές. Αναλύστε το γράφημα. Σημείωση: Το στατιστικό queuing delay <-- είναι υπό την ιεραρχία point-to-point. Αναφορά Εργαστηρίου Ετοιμάστε μια έκθεση που ακολουθεί τις κατευθυντήριες γραμμές που έχουν δοθεί στο εισαγωγικό (πρώτο) εργαστήριο. Η έκθεση θα πρέπει να περιλαμβάνει τις απαντήσεις στα παραπάνω ερωτήματα καθώς και τα γραφήματα που δημιουργούνται από τα σενάρια προσομοίωσης. Συζητήστε τα αποτελέσματα που λαμβάνονται και να συγκρίνετε αυτά τα 13
αποτελέσματα με τις προσδοκίες σας. Αναφέρετε τυχόν ανωμαλίες ή ανεξήγητες συμπεριφορές. 14