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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Πτυχιακή εργασία: ΜΕΤΑΓΩΓΗ ΠΑΚΕΤΩΝ ΚΑΙ ΓΕΝΝΗΤΡΙΕΣ ΣΥΝΘΕΤΙΚΩΝ ΠΡΟΦΙΛ ΚΙΝΗΣΗΣ: ΥΛΟΠΟΙΗΣΗ ΣΕ ΟΜΝΕΤ++ ΚΑΙ (Virtual Cut-Through Switching and Synthetic Benchmark Traffic Generation: Deployment in OMNET++ and network evaluation) ΤΣΑΝΑΚΤΣΙΔΗΣ ΙΩΑΝΝΗΣ ΑΕΜ: 1968 ΕΠΙΒΛΕΠΩΝ ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ: ΝΙΚΟΣ ΠΛΕΡΟΣ ΘΕΣΣΑΛΟΝΙΚΗ ΜΑΡΤΙΟΣ 2016

2

3 Πίνακας περιεχομένων Περίληψη... Ι Abstract... ΙΙ Ευχαριστίες... ΙΙΙ Κεφάλαιο 1: Εισαγωγή... 1 Τα δίκτυα HPC σήμερα... 1 Οι οπτικές διασυνδέσεις σε ένα δίκτυο HPC... 3 Δομή ενός blade... 4 Γεννήτριες δεδομένων και τεχνικές μεταγωγής... 9 Στόχοι της πτυχιακής εργασίας Δομή της πτυχιακής εργασίας Κεφάλαιο 2: Το περιβάλλον προσομοίωσης Omnet Εισαγωγή Omnet++ περιβάλλον προσομοίωσης Η γλώσσα NED Τρέχοντας μία προσομοίωση Αναλυτικό παράδειγμα δημιουργίας μιας προσομοίωσης Κεφάλαιο 3: Συνθετικά προφίλ δεδομένων(synthetic benchmarks) Εισαγωγή Random traffic pattern Neighbor traffic pattern Bit-reversal traffic pattern Tornado traffic pattern Υλοποίηση των synthetic benchmarks Υλοποίηση του Bit-reversal traffic pattern Υλοποίηση του Tornado traffic pattern Κεφάλαιο 4: Τεχνικές μεταγωγής Εισαγωγή Store-and-forward (SF) switching Virtual cut-through(vct) switching Υλοποίηση τεχνικής μεταγωγής Υλοποίηση της Store and forward(sf) switching Υλοποίηση της Virtual cut-through(vct) switching Κεφάλαιο 5: Παρουσίαση αποτελεσμάτων... 51

4 Εισαγωγή Σενάρια προσομοίωσης Ρυθμίσεις σεναρίων προσομοίωσης Αποτελέσματα Κεφάλαιο 6: Επίλογος και μελλοντικές επεκτάσεις Βιβλιογραφία... 60

5

6 Περίληψη Η παρούσα πτυχιακή εργασία υλοποιήθηκε στα πλαίσια ολοκλήρωσης των προπτυχιακών μου σπουδών στο τμήμα Πληροφορικής του ΑΠΘ. Η ενασχόληση μου με αυτή πραγματοποιήθηκε στα πλαίσια του ερευνητικού έργου PhoxTrot και συγκεκριμένα το ενδιαφέρον μου επικεντρώθηκε στον προσομοιωτή Optoboard Simulator, ο οποίος στοχεύει στην προσομοίωση δικτύων πλακέτας (on-board networks), που βρίσκονται σε μητρικές κάρτες υπερυπολογιστών (blades). Το κυρίως μέρος της παρούσας εργασίας αφορά στη μελέτη των διαφόρων τεχνικών μεταγωγής που χρησιμοποιούνται στους σύγχρονους μεταγωγείς, καθώς επίσης και η υλοποίηση της τεχνικής Virtual-Cut-Through Switching (VCT Switching) στα πλαίσια του Optoboard Simulator. Η τεχνική VCT Switching συγκρίνεται με την ήδη υλοποιημένη τεχνική Store-and-Forward και τα αποτελέσματα δείχνουν αξιοσημείωτη μείωση του μέσου χρόνου καθυστέρησης ανά πακέτο ακόμα και για ένα μόνο επίπεδο δρομολόγησης (1 hop). Η συγκριτική αξιολόγηση μεταξύ VCT και S&F έγινε με γεννήτριες πακέτων δεδομένων συνθετικών προφίλ κίνησης, οι οποίες επίσης υλοποιήθηκαν στα πλαίσια της πτυχιακής για τα συνθετικά προφίλ (synthetic benchmarks) Tornado και Bit-Reversal. Η υλοποίηση των συγκεκριμένων προφίλ κίνησης έγινε για ένα on-board δίκτυο δακτυλίου το οποίο, αποτελείται από 4 routers και 4 κόμβους ανά router. Λέξεις κλειδιά: Προσομοίωση δικτύων πλακέτας, Μητρικές κάρτες υπερυπολογιστών, Τεχνικές μεταγωγής, Μέσος χρόνος καθυστέρησης ανά πακέτο, Γεννήτριες πακέτων δεδομένων, Υπερυπολογιστής, Συνθετικά προφίλ κίνησης, Δίκτυο δακτυλίου, Ρυθμαπόδοση.

7 Abstract The current thesis was implemented as part of my undergraduate studies in the computer science department of Aristotle University of Thessaloniki. My involvement was part of the research project PhoxTrot and my interest was specifically focused on the Optoboard simulator, which targets the simulation of on board networks placed on blades. The main part of the thesis involves the research of various switching techniques used by modern switchers, as well as the implementation of Virtual Cut Through Switching (VCT switching) in the context of Optoboard Simulator. VCT switching is compared with Store and Forward Switching and the results show a remarkable reduction in the mean packet delay, even for one level of routing (1 hop). Benchmarking between VCT and S&F was accomplished using data packet generators of synthetic motion profiles, which were also implemented as a part of the thesis for synthetic profiles (synthetic benchmarks) Tornado and Bit Reversal. The implementation of the specific motion profiles was created for an on board ring network composed by 4 routers and 4 nodes per router. Keywords: Simulation, On board networks, Blades, Switching techniques, Mean packet delay, Data packet generators, HPC, Synthetic benchmarks, Ring network, Virtual Cut Through Switching, Store and Forward Switching, Throughput.

8 Ευχαριστίες Εκφράζω τις ευχαριστίες μου προς τον επιβλέποντα καθηγητή Κ.Νίκο Πλέρο, καθώς και τους διδακτορικούς φοιτητές Παύλο Μανιώτη και Στέλλα Μάρκου για την πολύτιμη βοήθειά τους.

9 Κεφάλαιο 1: Εισαγωγή Αυτό το κεφάλαιο αποσκοπεί στην εξοικείωση του αναγνώστη με τα HPC συστήματα, τη δομή τους, καθώς και με τις γεννήτριες δεδομένων και τις τεχνικές μεταγωγής στα blades. Επίσης περιγράφεται ο στόχος και η δομή της παρούσας πτυχιακής εργασίας. Τα δίκτυα HPC σήμερα Η παρούσα πτυχιακή πραγματεύεται και εξετάζει κυρίως τους δρομολογητές πάνω σε μητρικές κάρτες(blades) που αφορούν HPC συστήματα. Τα HPC συστήματα αναφέρονται κυρίως στην συλλογή υπολογιστικής ισχύς με τρόπο που αποδίδει πολύ υψηλότερη απόδοση από ότι θα μπορούσε να αποδώσει ένας επιτραπέζιος υπολογιστής, με σκοπό την επίλυση μεγάλων προβλημάτων στον τομέα της επιστήμης, της μηχανικής καθώς και των επιχειρήσεων. Όσον αφορά την αρχιτεκτονική, ένα HPC σύστημα αποτελείται συνήθως από εκατοντάδες ή και χιλιάδες επεξεργαστές που συνδέονται μεταξύ τους με ένα δίκτυο και συντονίζονται κεντρικά από κάποιο ειδικό λογισμικό.[1] Στην παρακάτω εικόνα παρουσιάζεται συνοπτικά ένα HPC δίκτυο. Εικόνα 1. HPC δίκτυο 4 κόμβων. 1

10 Αξιοσημείωτες είναι και οι επιδόσεις ενός τέτοιου συστήματος αν φανταστεί κανείς ότι χρησιμοποιούνται σε μεγάλα εργαστήρια, μεταξύ άλλων για πολύ απαιτητικές προσομοιώσεις. Η ικανότητα υπολογισμών μετριέται συνήθως με τον όρο Flops (Floating-point operations Per second, υπολογισμοί κινητής υποδιαστολής ανά δευτερόλεπτο). Η υπολογιστική ικανότητα των σημερινών υπερυπολογιστών έχει ξεπεράσει το 1 PetaFlop. Παρακάτω επισυνάπτεται ένα διάγραμμα που δείχνει τις υψηλότερες επιδόσεις ενός HPC συστήματος τα τελευταία 60 χρόνια. Εικόνα 2. Επίδοση HPC τα τελευταία 60 χρόνια. Όσον αφορά την κατανάλωση ενέργειας τα HPC συστήματα καταναλώνουν τεράστιες ποσότητες ενέργειας και παράγουν σημαντική θερμοκρασία. Για παράδειγμα ο γρηγορότερος υπερυπολογιστής του κόσμου, ο Tiahne-2, χρησιμοποιεί 24MW ενέργειας και κοστίζει 21 εκατομμύρια δολάρια τον χρόνο για να λειτουργήσει. Στις ΗΠΑ τα υπολογιστικά κέντρα κατανάλωσαν σε σύνολο 91 δις κιλοβατώρες το 2013 και ο αριθμός αυτός πρόκειται να αυξηθεί σε 139 δις κιλοβατώρες το 2020, μια αύξηση της τάξεως του 53%.[2] 2

11 Εικόνα 3. Στην πρώτη και στη δεύτερη στήλη αναγράφεται η εκτίμηση χρήσης καθώς και το κόστος ενέργειας στα κέντρα υπολογιστών των ΗΠΑ το 2013 και Στην τρίτη στήλη ο αριθμός σταθμών παραγωγής ενέργειας που χρειάζονται για να υποστηρίξουν τη ζήτηση. Η τελευταία στήλη δείχνει το διοξείδιο του άνθρακα που παράγεται σε εκατομμύρια μετρικούς τόνους. Η HPC κοινότητα στοχεύει στην δημιουργία υπερυπολογιστών που να είναι σε θέση να διατηρήσουν 1 ExaFlops = Flops μέχρι το έτος 2020 και η κατανάλωση ενέργειας είναι το βασικό εμπόδιο για να επιτύχουν αυτόν τον στόχο. Για αυτόν τον λόγο οι φορείς των HPC συστημάτων πρότειναν να τεθεί όριο στην κατανάλωση ενέργειας στα 20MW για ένα πλήρης exascale σύστημα (σύστημα ικανό να διατηρήσει 1 ExaFlops = Flops), έτσι ώστε να μετριάσουν το κόστος της ιδιοκτησίας καθώς και το κόστος νέων υποδομών για την κάλυψη αυτής της ποσότητας ενέργειας.[3] Οι οπτικές διασυνδέσεις σε ένα δίκτυο HPC Στα HPC συστήματα είναι απαραίτητο οι επεξεργαστές, η μνήμη, και οι μεταγωγείς να έχουν την δυνατότητα να επικοινωνούν μεταξύ τους. Οι συνδέσεις των παραπάνω στοιχείων καθορίζουν ένα δίκτυο διασύνδεσης. Σήμερα οι οπτικές διασυνδέσεις χρησιμοποιούνται κυρίως για ract-to-rack διασύνδεση, καθώς και για διασύνδεση on-board με χρήση ινών πάνω στο board. Μελλοντικά, σε επόμενο στάδιο προβλέπεται χρήση μητρικών καρτών με ενσωματωμένους οπτικούς κυματοδηγούς, με απώτερο στόχο οι οπτικές διασυνδέσεις να εφαρμοστούν ακόμα και σε επίπεδο chip. Εικόνα 4. Χρονοδιάγραμμα εφαρμογής οπτικών διασυνδέσεων σε ένα HPC σύστημα. 3

12 Δομή ενός blade Ένα blade είναι μια λεπτή, ηλεκτρονική πλακέτα που περιέχει μικροεπεξεργαστές και μνήμη. Κάθε blade είναι ουσιαστικά ένας server από μόνος του και συνήθως αφορά μια συγκεκριμένη εφαρμογή. Το κύριο πλεονέκτημα ενός υπερυπολογιστή που αποτελείται από blades, εκτός του ότι μπορεί να έχει πολλαπλούς server σε μια κεντρική μονάδα, είναι επίσης η διαχείριση των διαθέσιμων πόρων σε μικρότερες αρχιτεκτονικές, που μπορούν να οργανώνονται από ένα κοινό γραφικό περιβάλλον. Επομένως ένας υπερυπολογιστής αποτελούμενος από blades, παρουσιάζει μεγάλο πλεονέκτημα, γιατί ελαχιστοποιείται η χρήση του φυσικού χώρου που χρησιμοποιείται, καθώς επίσης και η ενέργεια[4]. Τα blades συνδέονται μεταξύ τους χρησιμοποιώντας ένα bus σύστημα. Ένα bus σύστημα είναι μια συλλογή από καλώδια μέσω των οποίων μεταφέρονται τα δεδομένα από το ένα μέρος του υπερυπολογιστή σε ένα άλλο. Σε έναν υπερυπολογιστή μπορούν να προστεθούν blades με σκληρούς δίσκους, που εξυπηρετούν στην αποθήκευση δεδομένων, blades που υποστηρίζουν Gigabit Ethernet μεταγωγούς, καθώς και blades που υποστηρίζουν μεταγωγούς καναλιών οπτικών ινών.[5] Εικόνα 5. Γραφική απεικόνιση των κύριων συστατικών ενός blade. 4

13 Σήμερα τα HPC συστήματα είναι ευρέως διαδεδομένα και εξελίσσονται συνεχώς. Παρακάτω παρουσιάζονται μερικά HPC συστήματα και τα blade που χρησιμοποιούν. Ο Titan είναι ένας υπερυπολογιστής που κατασκευάστηκε από την Cray στο Oak Ridge National Laboratory, για να χρησιμοποιηθεί σε ποικίλες επιστημονικές εφαρμογές. Ο Titan είναι μια αναβάθμιση του Jaguar, ενός άλλου υπερυπολογιστή από την Oak Ridge, που χρησιμοποιεί GPUs σε συνδυασμό με CPUs, πράγμα που του επιτρέπει να επιτυγχάνει 10 φορές μεγαλύτερη ταχύτητα και 5 φορές μεγαλύτερη απόδοση ενέργειας από τον Jaguar. Αυτό επιτρέπει στον Titan, αλλά και σε μελλοντικά συστήματα να ξεπεράσουν την απόδοση και τα όρια που κληρονόμησαν από υπερυπολογιστές προηγούμενης γενιάς. Το blade που χρησιμοποιεί ο Titan κατασκευάστηκε επίσης από την Cray και ονομάζεται Cray XK7. Το Cray XK7 αποτελείται από μία CPU 16 πυρήνων για κάθε κόμβο, και 4 κόμβους(1 CPU και 1 GPU για κάθε κόμβο) για κάθε blade.[6] Εικόνα 6. Cray XK7 κόμβος και blade. 5

14 Εικόνα 7. Αρχιτεκτονική κόμβου Cray XK7. Ο Tianhe-2 ή αλλιώς TH-2, είναι ο πιο γρήγορος υπερυπολογιστής του κόσμου. Κατασκευάστηκε από 1300 επιστήμονες και μηχανικούς και κύριος σκοπός της δημιουργίας του είναι η προσομοίωση και η ανάλυση, καθώς και η χρήση του σε εφαρμογές ασφαλείας της κυβέρνησης της Κίνας. Όσον αφορά την αρχιτεκτονική του blade του, αποτελείται από 2 κόμβους για κάθε blade. Κάθε κόμβος είναι εξοπλισμένος με 64 GB μνήμη, κάθε Phi είναι εξοπλισμένο με 8GB μνήμη και συνολικά ολόκληρο το σύστημα αποτελείται από 1404 petabytes.[7] 6

15 Εικόνα 8. Κόμβος Tianhe-2. Εικόνα 9. Blade Tianhe-2. 7

16 Τέλος, ο IBM Sequoia κατασκευάστηκε από την IBM. Ο IBM Sequoia είναι ο τρίτος γρηγορότερος υπερυπολογιστής του κόσμου αμέσως μετά τους Tianhe-2 και Titan. Σκοπός της κατασκευής του IBM Sequoia είναι η προσομοίωση πυρηνικών όπλων, καθώς και η χρήση του για επιστημονικούς σκοπούς, όπως στο πεδίο της αστρονομίας, της ενέργειας και στη μελέτη των κλιματικών αλλαγών. Ο IBM Sequoia είναι σχεδιασμένος με βάση τον υπερυπολογιστή Blue Gene/Q της IBM. Ένας κόμβος αποτελείται από 16 πυρήνες εξοπλισμένους με 16GB DDR3 μνήμης ο καθένας. Το σύστημα περιλαμβάνει συνολικά επεξεργαστικούς πυρήνες με 1.5PiB μνήμη. Όσον αφορά το blade του Blue Gene/Q, αποτελείται από 32 υπολογιστικές κάρτες και τοπολογία δικτύου 5D-Torus για την σύνδεση των κόμβων επεξεργασίας.[8] Εικόνα 10. Blade Blue Gene/Q. 8

17 Εικόνα 11. Ιεραρχία του Blue Gene/Q. Γεννήτριες δεδομένων και τεχνικές μεταγωγής Τα traffic generation patterns είναι προφίλ δεδομένων τα οποία παράγονται από τις γεννήτριες δεδομένων. Στη διαδικασία αξιολόγησης ενός δικτύου HPC και όταν απουσιάζουν δεδομένα που αντιστοιχούν σε πραγματικά εκτελέσιμα αρχεία, τότε χρησιμοποιούνται ομάδες από συνθετικά προφίλ. Τα συνθετικά προφίλ δημιουργούν προφίλ επικοινωνίας μεταξύ κόμβων που καλύπτουν μια ευρεία γκάμα από περιπτώσεις που απαντώνται σε πραγματικό δίκτυο, αλλά μπορούν να παραχθούν εξολοκλήρου από πλήρως ντετερμινιστικούς αλγόριθμους. Μερικά από τα προφίλ δεδομένων και ο τρόπος εύρεσης του προορισμού του πακέτου αναγράφονται στον παρακάτω πίνακα. Εικόνα 12. Προφίλ δεδομένων και τρόπος εύρεσης προορισμού. 9

18 Αρκετά από τα παραπάνω προφίλ δεδομένων βασίζονται σε προφίλ επικοινωνίας τα οποία προκύπτουν κυρίως σε εφαρμογές. Για παράδειγμα, το Shuffle προκύπτει στον γρήγορο μετασχηματισμό fourier ή στην ταξινόμηση. Το Random περιγράφεται από ένα διάνυσμα κίνησης Λ, όπου για όλους τους κόμβους ισχύει λ sd =1/N, όπου Ν ο αριθμός των κόμβων. Στο προφίλ κίνησης Permutation, η κίνηση από κάθε πηγή s δρομολογείται σε έναν προορισμό, που αντιπροσωπεύεται από μία συνάρτηση π(s), η οποία ενώνει την πηγή s με έναν συγκεκριμένο προορισμό d. Στο Bit Permutation κάθε bit d i της b-bit διεύθυνσης προορισμού είναι μια συνάρτηση ενός bit της διεύθυνσης πηγής s j, όπου j είναι μία συνάρτηση του i. Το Digit Permutation είναι παρόμοιο με το bit permutation, αλλά με διευθύνσεις που εκφράζονται ως ψηφία. Αντικείμενο της παρούσας πτυχιακής είναι το Bit-reverse και το Tornado. Το Bit-reverse απαιτεί κάθε κόμβος να στέλνει μηνύματα μόνο στον κόμβο που έχει ανεστραμμένη διεύθυνση σε σχέση με αυτόν της πηγής. Τέλος, το Tornado, είναι ένα σταθερό ζεύγος πηγής-προορισμού για κάθε μήνυμα.[9] Η μελέτη των προφίλ δεδομένων είναι πολύ σημαντική, διότι βοηθά στο να εντοπιστεί το είδος κίνησης των πακέτων που είναι καλύτερο να εφαρμοστεί σε κάθε αρχιτεκτονική. Οι τεχνικές μεταγωγής αφορούν την υλοποίηση αλγορίθμων οι οποίοι είναι υπεύθυνοι για μετάδοση πακέτων σε όλο το δίκτυο. Η εκάστοτε τεχνική μεταγωγής αποφασίζει πως ο μεταγωγέας λαμβάνει, επεξεργάζεται και προωθεί τα πακέτα. Υπάρχουν τέσσερις μέθοδοι μεταγωγής. Αυτές είναι η Circuit switching (CS), η Storeand-forward (SF) switching, η Virtual cut-through (VCT) switching και τέλος η Wormhole (WH) switching. Στην παρούσα πτυχιακή υλοποιήθηκε η Virtual cutthough (VCT) switching, η οποία συγκρίθηκε με την ήδη υλοποιημένη Store-andforward (SF) switching. Στόχοι της πτυχιακής εργασίας Κύριος στόχος της πτυχιακής είναι η επιλογή και υλοποίηση του κατάλληλου αλγορίθμου τεχνικής μεταγωγής καθώς και των synthetic benchmarks, έτσι ώστε να υπάρξει δυνατότητα σύγκρισης τόσο των επιδόσεων που αφορούν τον ρυθμό μετάδοσης, αλλά και της χρονικής καθυστέρησης ανά πακέτο. Θα πρέπει να τεθούν σε λειτουργία δηλαδή οι κατάλληλες προσομοιώσεις συμπεριλαμβανομένων όλων των δυνατών συνδυασμών και να επιλεγεί τελικώς ο κατάλληλος συνδυασμός μετά από σύγκριση των αποτελεσμάτων που προσομοιώθηκαν. Δομή της πτυχιακής εργασίας Στο κεφάλαιο 2 παρουσιάζεται το περιβάλλον προσομοίωσης Omnet++ και δίνεται ένα αναλυτικό παράδειγμα δημιουργίας μιας προσομοίωσης σε αυτό. Στο κεφάλαιο 3 παρουσιάζονται τα συνθετικά προφίλ δεδομένων(synthetic benchmarks), και εξηγείται ο τρόπος υλοποίησης δύο από αυτών (Bit-reversal και Tornado). Στο κεφάλαιο 4 περιγράφονται οι τεχνικές μεταγωγής, καθώς και ο τρόπος υλοποίησης τους. Στο κεφάλαιο 5 προβάλλονται οι ρυθμίσεις προσομοίωσης και γίνεται 10

19 ανάλυση των αποτελεσμάτων που πάρθηκαν από τις προσομοιώσεις. Τέλος, στο κεφάλαιο 6, βρίσκεται ο επίλογος και οι μελλοντικές επεκτάσεις. 11

20 Κεφάλαιο 2: Το περιβάλλον προσομοίωσης Omnet++ Εισαγωγή Αυτό το κεφάλαιο αποσκοπεί στο να εξοικειωθεί ο αναγνώστης με το περιβάλλον προσομοίωσης Omnet++ και να καταλάβει τη λειτουργία του. Δίνονται επεξηγήσεις για το τι είναι το Omnet++ και πως λειτουργεί, καθώς και ένα απλό παράδειγμα προσομοίωσης που στοχεύει στην ευκολότερη εξοικείωση του χρήστη με το περιβάλλον. Omnet++ περιβάλλον προσομοίωσης Το Omnet++ είναι ένα περιβάλλον προσομοίωσης διακριτού χρόνου. Ο κύριος τομέας εφαρμογής του είναι η προσομοίωση δικτύων επικοινωνιών, αλλά λόγω της γενικής και ευέλικτης αρχιτεκτονικής του, χρησιμοποιείται επιτυχώς και σε άλλους τομείς, όπως η προσομοίωση περίπλοκων συστημάτων, δικτύων ουρών ή σε αρχιτεκτονικές υλικών. Το Omnet++ παρέχει μια συμπαγής αρχιτεκτονική για τα μοντέλα και βασίζεται σε modules και σε events. Στο Omnet++ μπορούν να αναπαρασταθούν τα διάφορα μέρη ενός δικτύου σε οντότητες. Υπάρχουν δύο βασικά είδη modules. Το simple module και το compound module. Ένα simple module είναι μια απλή οντότητα, όπου ορίζονται οι παράμετροι και οι πύλες που θα αποτελείται(in/out). Ακόμη σε ένα simple module προγραμματίζονται οι λειτουργίες του χρησιμοποιώντας τη γλώσσα C++. Ένα compound module είναι ουσιαστικά ένας συνδυασμός από simple ή/και compound module και δίνει τη δυνατότητα δημιουργίας σύνθετων οντοτήτων. Το Omnet++ παρέχει επίσης υποστήριξη γραφικού περιβάλλοντος και λόγω της αρθρωτής αρχιτεκτονικής του, ο πυρήνας προσομοίωσης μπορεί εύκολα να ενσωματωθεί στις εφαρμογές μας. Παρόλο που το Omnet++ δεν θεωρείται αποκλειστικά πλατφόρμα προσομοίωσης δικτύων, η ιδιότητά του αυτή το καθιστά ευρέως διαδεδομένο στον επιστημονικό τομέα, καθώς και στον βιομηχανικό, με αποτέλεσμα να χτίζεται μια μεγάλη υποστηρικτική κοινότητα ως προς τον χρήστη. Το Omnet++ IDE είναι βασισμένο στην πλατφόρμα του Eclipse και επίσης προσφέρει γραφικό περιβάλλον για την εκτέλεση της προσομοίωσης. Τέλος μπορεί να τρέξει σε Windows, Linux, Mac OS X και άλλα Unix συστήματα.[10] Η γλώσσα NED Μία προσομοίωση στο Omnet++ γράφεται σε δύο διαφορετικές γλώσσες, την NED και την C++. Αυτές οι δύο γλώσσες διαχωρίζουν την σχεδίαση της τοπολογίας του δικτύου και την υλοποίηση των οντοτήτων που υπάρχουν στην τοπολογία. Η NED γλώσσα χρησιμοποιείται, για να περιγράψει τη σχεδίαση της τοπολογίας της προσομοίωσης. 12

21 Εικόνα 13. Simple και compound modules Όπως φαίνεται παραπάνω στην εικόνα 13, κάθε απλή οντότητα(simple module) που περιγράφεται από την γλώσσα NED μπορεί επίσης να χρησιμοποιηθεί και ως στοιχείο σε μία μεγαλύτερη σύνθετη οντότητα, η οποία επίσης περιγράφεται χρησιμοποιώντας την γλώσσα NED[11]. Υπάρχουν τρία ξεχωριστά στοιχεία, τα οποία μπορούν να περιγράψουν την γλώσσα NED. Ορισμός των οντοτήτων Σε αυτό το σημείο μπορούν να περιγραφούν απλές(simple) και σύνθετες(compound) οντότητες, καθώς επίσης και να προσδιοριστούν οι κατάλληλες παράμετροι. Ακόμη υπάρχει η πιθανότητα να καθοριστούν οι πύλες που συνδέουν τις οντότητες. Ορισμός των καναλιών Σε αυτό το μέρος προσδιορίζονται τα κανάλια που συνδέουν τις οντότητες. Ορισμός του δικτύου Για να εκτελεστεί μία πλήρης προσομοίωση, θα πρέπει να περιγραφεί ποια οντότητα θα είναι στο υψηλότερο επίπεδο του δικτύου που θα προκληθεί η εκτέλεση της επιθυμητής προσομοίωσης. Το υψηλότερο επίπεδο του δικτύου είναι μία υπόδειξη ολόκληρου του συστήματος. Τρέχοντας μία προσομοίωση Μία προσομοίωση στο Omnet++ μπορεί να γίνει με δύο διαφορετικούς τρόπους: Γραφικά και μόνο με κείμενο. Η γραφική προσομοίωση είναι χρησιμότερη, αν ληφθεί υπόψη ότι εκτελείται για πρώτη φορά μία προσομοίωση και έτσι ο χρήστης γίνεται πιο οικείος με τα πρωτόκολλα, καθώς και με ολόκληρο το δίκτυο που προσομοιώνεται. Μια γραφική προσομοίωση μας δείχνει όλα τα μηνύματα που ανταλλάσσονται μεταξύ των οντοτήτων. Ακόμη σε μεγάλου όγκου προσομοιώσεις, καθίσταται δυνατή η εις βάθος παρατήρηση κάθε κόμβου/επεξεργαστή καθώς και η ανταλλαγή μηνυμάτων σε κάθε κομμάτι ολόκληρου του δικτύου. Παρακάτω παρουσιάζεται πως μοιάζει μια προσομοίωση σε γραφικό περιβάλλον. 13

22 Εικόνα 14. Γραφική προσομοίωση σε Omnet++. Οι προσομοιώσεις μπορούν να τρέξουν σε διαφορετικές ταχύτητες όπως βήμα βήμα(run), γρήγορα(fast) και πάρα πολύ γρήγορα(express). Το Run mode χρησιμοποιείται, ώστε να ελεγχθεί κυρίως, αν ο κώδικας που είναι υπεύθυνος για την λειτουργία της προσομοίωσης οδηγεί στα επιθυμητά αποτελέσματα, εμφανίζοντας αναλυτικές πληροφορίες για κάθε χρονική στιγμή της προσομοίωσης. Το Fast mode θα τρέξει την προσομοίωσή αρκετά γρηγορότερα σε σχέση με το Run mode και δεν θα εμφανίζονται για κάθε χρονική στιγμή οι πληροφορίες της προσομοίωσης. Το Express mode χρησιμοποιείται κυρίως για προσομοιώσεις που διαρκούν αρκετή ώρα. Είναι επίσης δυνατό μια προσομοίωση να διακοπεί στο σημείο που επιθυμεί ο χρήστης. Στην παραπάνω εικόνα είναι ορατοί όλοι οι κόμβοι, καθώς και οι παράμετροι που τους έχουν ανατεθεί. 14

23 Αναλυτικό παράδειγμα δημιουργίας μιας προσομοίωσης Παρακάτω θα παρουσιαστεί ένα παράδειγμα μιας προσομοίωσης. Το παράδειγμα αναφέρεται στη δημιουργία ενός compound module, αποτελούμενο από δύο simple modules, που θα λειτουργούν ως γεννήτριες πακέτων(traffic generators) και θα αποστέλλουν πακέτα ο ένας στον άλλον. Αφού εγκατασταθεί το Omnet++ στον υπολογιστή μας ακολουθεί η δημιουργία ενός καινούριου Omnet++ project με όνομα test. Αφού δημιουργηθεί το project το περιβάλλον του Omnet++ θα είναι όπως φαίνεται στην παρακάτω εικόνα. Εικόνα 15. Περιβάλλον Omnet++. Αρχικά ο χρήστης δημιουργεί ένα απλό simple module. Αυτό γίνεται κάνοντας δεξί κλικ στον φάκελο src και επιλέγοντας new simple module. Επιλέγεται ένα όνομα για το simple module, στην συγκεκριμένη περίπτωση θα ονομαστεί sender, και έπειτα ακολουθεί η επιλογή finish. Το Omnet++ θα δημιουργήσει αυτόματα ένα αρχείο, το οποίο θα ονομάζεται sender.ned, καθώς και τα αντίστοιχα αρχεία sender.cc και sender.h που θα είναι υπεύθυνα για τον προγραμματισμό των λειτουργιών του sender. Στην παρακάτω εικόνα φαίνεται πως μοιάζει το αρχείο ned, αφού έχουν συμπληρωθεί κάποια τμήματα του κώδικα. 15

24 Εικόνα 16. Simple module με ονομασία sender.ned. Στην γραμμή simple Sender αναγράφεται η δήλωση ενός simple module με το όνομα Sender. Στο μπλοκ parameters δηλώνονται οι παράμετροι που ο χρήστης επιθυμεί, οι οποίες θα αφορούν το module. Έχει δηλωθεί ενδεικτικά μία παράμετρος τύπου int με το όνομα a. Στο μπλοκ gates δηλώνονται οι πύλες εισόδου και εξόδου του module. Στην συγκεκριμένη περίπτωση το module θα έχει μόνο μία πύλη εισόδου(in) και μόνο μία έξοδο(out). Έπειτα δημιουργείται ένα compound module, το οποίο θα αποτελείται από δύο simple modules τύπου Sender, όπου θα δημιουργούν πακέτα και θα τα στέλνουν ο ένας στον άλλον. Για τη δημιουργία του compound module θα χρησιμοποιηθεί το γραφικό περιβάλλον που υποστηρίζεται από το Omnet++, στο οποίο αφού δημιουργηθούν γραφικά, οι συνδέσεις μεταξύ των modules μεταφράζονται αυτόματα σε κώδικα. Αφού γίνει δεξί κλικ στον φάκελο src, επιλέγεται new compound module, δίνεται ένα όνομα, στο συγκεκριμένο παράδειγμά mynetwork.ned, και ακολουθεί η επιλογή finish. Η παρακάτω εικόνα δείχνει το γραφικό περιβάλλον και τη δημιουργία του compound module. 16

25 Εικόνα 17. Γραφικό περιβάλλον δημιουργίας compound module. Αφού ο χρήστης ζωγραφίσει το compound module, πατώντας την επιλογή Source δίπλα από την επιλογή Design, εμφανίζεται ο κώδικας που έχει παραχθεί αυτόματα από το Omnet++. Εικόνα 18. Κώδικας για το mynetwork.ned. 17

26 Στην εικόνα 18 παρατηρείται ότι στην πρώτη γραμμή αναγράφεται η εντολή network mynetwork. Στην πραγματικότητα, αφού έχει δημιουργηθεί ένα compound module θα πρέπει να αναγράφεται η εντολή module mynetwork. Επειδή όμως, για να εκτελεστεί μια προσομοίωση, θα πρέπει να περιγραφεί ποια οντότητα θα είναι στο υψηλότερο επίπεδο του δικτύου, επιλέγεται στο συγκεκριμένο παράδειγμα το compound module mynetwork, γι' αυτό και γίνεται αλλαγή της εντολής σε network mynetwork. Στο πρώτο μπλοκ εντολών αναγράφεται η λέξη submodules. Αυτό σημαίνει ότι εδώ δηλώνονται instances από τα modules τα οποία θα αποτελέσουν το compound module. Στην συγκεκριμένη προσομοίωσή, έχουν δηλωθεί δύο instances του simple module Sender, όπως φαίνεται και στο γραφικό περιβάλλον. Στο δεύτερο μπλοκ αναγράφεται η λέξη connections. Αυτό σημαίνει ότι εδώ δηλώνονται όλες οι συνδέσεις μεταξύ των πυλών των modules. Στο συγκεκριμένο παράδειγμα ο sender στέλνει πακέτα στον sender1 και αντίστροφα. Επόμενο βήμα είναι να προσδιοριστεί η συμπεριφορά του simple module Sender. Αυτό γίνεται γράφοντας κώδικα C++ στα αρχεία sender.h και sender.cc. Στο αρχείο sender.h δηλώνονται οι μέθοδοι και οι μεταβλητές και στο αρχείο sender.cc υλοποιείται η λειτουργία τους. Παρακάτω επισυνάπτεται το αρχείο sender.h. Εικόνα 19. Αρχείο sender.h. 18

27 Παρατηρείται ότι έχουν δηλωθεί ως private μεταβλητές, μια μεταβλητή a, όπου είχε δηλωθεί και στο ned αρχείο, μια μεταβλητή τύπου cgate με το όνομα out, και μια μεταβλητή τύπου int με το όνομα counter. Ως protected δηλώνονται οι 3 παρακάτω συναρτήσεις. Η initialize(), όπου εδώ γράφεται ο κώδικας που θα τρέξει μόνο, όταν ξεκινήσει η προσομοίωση. Η handlemessage(cmessage *msg), όπου εδώ γράφεται ο κώδικας που θα τρέξει κάθε φορά που το module θα λάβει ένα μήνυμα. Η finish() όπου εδώ γράφεται ο κώδικας που θα τρέξει μόλις ο χρήστης επιλέξει την επιλογή finish στο γραφικό περιβάλλον της προσομοίωσης. Στην παρακάτω εικόνα παρουσιάζεται ο κώδικας του αρχείου sender.cc για τις 3 συναρτήσεις. Εικόνα 20. Αρχείο sender.cc. Πριν γίνει περιγραφεί του κώδικα των 3 συναρτήσεων, θα εξηγηθεί τι είναι τα self messages. Τα μηνύματα συχνά χρησιμοποιούνται, για να αντιπροσωπεύσουν τα γεγονότα σε μία οντότητα. Είναι ουσιαστικά ένας τρόπος, για να προσομοιωθεί κάθε πότε θα στέλνεται ένα μήνυμα από τον έναν κόμβο στον άλλον. Ένα μήνυμα που χρησιμοποιείται σε τέτοιου είδους σενάρια ονομάζεται self message. Όταν ένα μήνυμα στέλνεται από το ένα module σε ένα άλλο, μπορεί να γίνει κλήση της μεθόδου isselfmessage(), για να καθοριστεί αν είναι self message η όχι. Γενικότερα ένα μήνυμα το οποίο προγραμματίζεται να σταλεί με την μέθοδο scheduleat() είναι self message, ενώ ένα μήνυμα που προγραμματίζεται να σταλεί με την μέθοδο send() δεν είναι self message[12]. 19

28 Στην συνάρτηση initialize() αρχικοποιούνται οι 3 μεταβλητές που έχουν δηλωθεί και προγραμματίζεται το πρώτο self message τη χρονική στιγμή που θα εκτελεστεί η προσομοίωση. Στη συνάρτηση handlemessage(cmessage *msg), αρχικά γίνεται έλεγχος για το εάν το μήνυμα που έφτασε είναι self message. Σε περίπτωση που είναι αποστέλλεται ένα μήνυμα στην έξοδο του module και προγραμματίζεται το επόμενο self message μετά από 0.01sec από το χρόνο που βρίσκεται εκείνη τη στιγμή η προσομοίωση. Σε περίπτωση που το μήνυμα που έφτασε δεν είναι self message, σημαίνει ότι έφτασε μήνυμα στο module από κάπου αλλού, στο συγκεκριμένο παράδειγμα από τον άλλον Sender, οπότε αυξάνεται ο μετρητής κατά 1 και έπειτα διαγράφεται το μήνυμα που έφτασε. Τέλος στην συνάρτηση finish, η οποία καλείται μόλις ο χρήστης επιθυμεί να διακόψει την προσομοίωση, εκτυπώνεται ο αριθμός των μηνυμάτων που έφτασαν στα 2 modules. Η finish ουσιαστικά είναι μία συνάρτηση, όπου μπορούν να αποθηκευθούν στατιστικά, αφού τελειώσει η προσομοίωσή. Η παρακάτω εικόνα δείχνει πως μοιάζει η προσομοίωση στο γραφικό περιβάλλον. Εικόνα 21. Γραφικό περιβάλλον προσομοίωσης. Τέλος, στην παρακάτω εικόνα αναγράφονται τα αποτελέσματα στην κονσόλα, αφού έχει κληθεί η συνάρτηση finish() μετά από αρκετή ώρα προσομοίωσης. 20

29 Παρατηρείται πως εκτυπώνεται ο συνολικός αριθμός πακέτων που έφτασαν και στα δύο modules. Εικόνα 22. Αποτελέσματα προσομοίωσης στην κονσόλα. 21

30 Κεφάλαιο 3: Συνθετικά προφίλ δεδομένων(synthetic benchmarks) Εισαγωγή Για την αξιολόγηση ενός δικτύου εκτιμώντας διάφορες επιλογές που αφορούν ένα μεγάλο εύρος χαρακτηριστικών εισόδου, πρέπει η προσομοίωση του δικτύου να γίνει σε διάφορα σενάρια με χρήση ποικίλων προφίλ δεδομένων, ώστε να προσεγγίζει κατά το δυνατόν περισσότερο τις περιπτώσεις που είναι δυνατόν να απαντηθούν σε ένα πραγματικό δίκτυο. Αυτές οι προσομοιώσεις χρησιμοποιούνται για να καθορίσουν τα χαρακτηριστικά της δύναμης και της καθυστέρησης μιας δοθείσης αρχιτεκτονικής. Τα traffic patterns χωρίζονται είτε σε συνθετικά, είτε σε ρεαλιστικά. Τα συνθετικά traffic patterns είναι γενικά μοντέλα μεταφοράς του μηνύματος στο δίκτυο, ενώ τα ρεαλιστικά traffic patterns αποτελούν ίχνη από πραγματικές εφαρμογές δικτύων. Σε αντίθεση με τα ρεαλιστικά traffic patterns, τα οποία είναι αντιπροσωπευτικά σε συγκεκριμένες εφαρμογές, τα συνθετικά traffic patterns καλύπτουν μια ευρεία κατηγορία από εφαρμογές. Μερικά από τα πολλά συνθετικά traffic patterns είναι το Random, το Neighbor, το Bit-reverse και το Tornado[13]. Random traffic pattern Στο Random traffic pattern κάθε επεξεργαστής(κόμβος) στέλνει μηνύματα σε προορισμούς, οι οποίοι επιλέγονται τυχαία, ανεξάρτητα από τους προηγούμενους προορισμούς. Έτσι κάθε επεξεργαστής(κόμβος) στέλνει μηνύματα σε άλλους κόμβους με ίση πιθανότητα. Ο Random traffic pattern είναι επίσης γνωστός και με την ονομασία Uniform traffic pattern[14]. Εικόνα 23. Random traffic pattern. 22

31 Neighbor traffic pattern Στο Neighbor traffic pattern κάθε επεξεργαστής(κόμβος) αποστέλλει μηνύματα μόνο σε γειτονικούς επεξεργαστές(κόμβους) στην φυσική τοπολογία των δύο διαστάσεων[15]. Εικόνα 24. Neighbor traffic pattern. Bit-reversal traffic pattern Το Bit-reversal traffic pattern απαιτεί κάθε επεξεργαστής(κόμβος) να στέλνει μηνύματα μόνο στον επεξεργαστή που έχει ανεστραμμένη διεύθυνση σε σχέση με αυτόν της πηγής. Αυτό σημαίνει ότι ο επεξεργαστής με διεύθυνση Χ 1 Χ 2 Χ 3 Χ 4 έχει τη δυνατότητα να αποστέλλει μηνύματα μόνο στον επεξεργαστή με διεύθυνση μνήμης Χ 4 Χ 3 Χ 2 Χ 1 [16]. Ένα παράδειγμα δίνεται στο παρακάτω σχήμα. Εικόνα 25. Bit-reversal traffic pattern. Tornado traffic pattern Το Tornado traffic pattern είναι ένα σταθερό ζεύγος πηγής-προορισμού για κάθε μήνυμα. Ο επεξεργαστής(κόμβος) με συντεταγμένες (x,y), επικοινωνεί με τον επεξεργαστή(κόμβο) με συντεταγμένες [(x+(k/2-1)) mod k, (y+( k/2-1)) mod k], όπου το k αντιπροσωπεύει το μέγεθος του δικτύου και στις δύο διαστάσεις(x,y)[17]. Για παράδειγμα ο κόμβος με συντεταγμένες x=1 και y=1, με βάση τον τύπο, επικοινωνεί με τον επεξεργαστή(κόμβο) με συντεταγμένες x=2 και y=2. 23

32 Εικόνα 26. Tornado traffic pattern. Υλοποίηση των synthetic benchmarks Τα synthetic benchmarks είναι αλγόριθμοι οι οποίοι καθορίζουν με ποιον τρόπο θα στέλνονται πακέτα από έναν κόμβο(επεξεργαστή) σε έναν άλλο. Στην παρούσα πτυχιακή εργασία υλοποιήθηκαν τα εξής synthetic benchmarks: Bit-reversal και Tornado. Στα επόμενα υποκεφάλαια θα παρουσιαστεί ο κώδικας, καθώς επίσης θα δοθούν σχόλια και εξηγήσεις για τον τρόπο υλοποίησης τους. Υλοποίηση του Bit-reversal traffic pattern Στον Bit-reversal traffic pattern, κάθε κόμβος(επεξεργαστής) στέλνει πακέτα μόνο στον αντίστοιχο κόμβο που έχει ανεστραμμένη διεύθυνση σε σχέση με τον αρχικό. Η λογική που ακολουθείται για την υλοποίηση του αλγορίθμου περιγράφεται παρακάτω. Το δίκτυο που χρησιμοποιήθηκε είναι ένα on-board δίκτυο δακτυλίου το οποίο, αποτελείται από 4 routers και 4 κόμβους ανά router. 24

33 Εικόνα 27. On-board δίκτυο δακτυλίου(bit-reversal). Αρχικά ανατίθεται σε κάθε κόμβο μια IP διεύθυνση. Αφού η ΙΡ διεύθυνση αφορά τον κάθε κόμβο, η δήλωση της ΙΡ γίνεται στις παραμέτρους του αρχείου node.ned. module node { parameters: string ipaddress; //Δήλωση μεταβλητής για την ΙΡ gates: //Πύλες εισόδου-εξόδου του module input in; output out; submodules: traffgen: trafficgenerator nodequeue: fifoqueue 25

34 connections: in --> IdealChannel --> traffgen.in; traffgen.out --> IdealChannel --> nodequeue.in; nodequeue.out --> IdealChannel --> out; Έπειτα στο αρχείο PCB.ned γίνεται η ανάθεση ΙΡ για κάθε κόμβο ξεχωριστά. module PCB types: channel routerrouterchannel extends DatarateChannel datarate = 5Gbps; delay = s; channel noderouterchannel extends DatarateChannel datarate = 1Gbps; delay = s; submodules: A: optoelectronicrouter node0: node { ipaddress = "00"; //Δήλωση ΙΡ για κάθε κόμβο node8: node { ipaddress = node9: node { ipaddress = node10: node { ipaddress = "30"; 26

35 @display("p=90,475"); node11: node { ipaddress = node12: node { ipaddress = node13: node { ipaddress = node14: node { ipaddress = node15: node { ipaddress = B: optoelectronicrouter D: optoelectronicrouter connections: node0.out --> noderouterchannel --> A.in++; A.out++ --> noderouterchannel --> node0.in; node2.out --> noderouterchannel --> A.in++; A.out++ --> noderouterchannel --> node2.in; A.out++ --> noderouterchannel --> node3.in; node3.out --> noderouterchannel --> A.in++; A.out++ --> noderouterchannel --> node1.in; node1.out --> noderouterchannel --> A.in++; node6.out --> noderouterchannel --> C.in++; node5.out --> noderouterchannel --> C.in++; C.out++ --> noderouterchannel --> node4.in; 27

36 C.out++ --> noderouterchannel --> node6.in; C.out++ --> noderouterchannel --> node7.in; C.out++ --> noderouterchannel --> node5.in; node7.out --> noderouterchannel --> C.in++; node4.out --> noderouterchannel --> C.in++; D.out++ --> noderouterchannel --> node12.in; D.out++ --> noderouterchannel --> node14.in; D.out++ --> noderouterchannel --> node15.in; D.out++ --> noderouterchannel --> node13.in; node8.out --> noderouterchannel --> B.in++; node12.out --> noderouterchannel --> D.in++; node9.out --> noderouterchannel --> B.in++; node11.out --> noderouterchannel --> B.in++; B.out++ --> noderouterchannel --> node8.in; B.out++ --> noderouterchannel --> node10.in; B.out++ --> noderouterchannel --> node11.in; B.out++ --> noderouterchannel --> node9.in; node14.out --> noderouterchannel --> D.in++; node13.out --> noderouterchannel --> D.in++; node15.out --> noderouterchannel --> D.in++; node10.out --> noderouterchannel --> B.in++; A.out++ --> AC: routerrouterchannel --> C.in++; C.out++ --> routerrouterchannel --> A.in++; A.out++ --> routerrouterchannel --> B.in++; B.out++ --> routerrouterchannel --> A.in++; B.out++ --> routerrouterchannel --> D.in++; D.out++-->routerRouterChannel-->B.in++; C.out++-->routerRouterChannel-->D.in++; D.out++ --> routerrouterchannel --> C.in++; Τέλος στο αρχείο trafficgenerator.cc και συγκεκριμένα στην συνάρτηση initialize() η οποία καλείται με το που ξεκινήσει η προσομοίωση, ακολουθούνται τα εξής βήματα: Αρχικά ανακτάται και αντιστρέφεται η διεύθυνση ΙΡ κάθε κόμβου. Αυτό γίνεται στο παρακάτω κομμάτι κώδικα. const char *ipforallnodes=this->getparentmodule()->par("ipaddress");//ανάκτηση ΙΡ διεύθυνσης κάθε κόμβου. string ip(ipforallnodes,0,5); string reversedip; 28

37 for (std::string::reverse_iterator rit=ip.rbegin(); rit!=ip.rend(); ++rit) { reversedip += *rit; //Αντιστροφή και αποθήκευση ΙΡ διεύθυνσης Τελευταίο κομμάτι για την υλοποίηση του αλγορίθμου είναι η σύγκριση της ανεστραμμένης τιμής κάθε κόμβου με τις ΙΡ διευθύνσεις όλων των άλλων, για να βρεθεί ο κόμβος-προορισμός που πρέπει να σταλεί το πακέτο. Αυτό γίνεται με το παρακάτω κομμάτι κώδικα. for(int i=0; i<this->allnodes.getnumnodes(); i++) { string iptocompare(this->allnodes.getnode(i)->getmodule()- >par("ipaddress"),0,5); if((iptocompare == reversedip) && (reversedip[0]!= reversedip[1])) { this->destinationnodeptr = this->allnodes.getnode(i)->getmodule(); destinationrouterptr=check_and_cast<cmodule*>(destinationnodeptr- >gate("out")->getnextgate()->getowner()); scheduleat(simtime(), new cmessage);// schedule at μόνο για τα πακέτα που η ip τους δεν είναι 00,11 κτλ. break; Υλοποίηση του Tornado traffic pattern Για την υλοποίηση του Tornado traffic pattern ακολουθήθηκε παρόμοια λογική με αυτή του Bit-reversal traffic pattern. Όπως ήδη έχει αναφερθεί ο Tornado traffic pattern είναι ένα σταθερό ζεύγος πηγής-προορισμού για κάθε μήνυμα. Η λογική για την υλοποίηση του αλγορίθμου περιγράφεται παρακάτω. Όπως και στον Bit-reversal έτσι και στον Tornado, το δίκτυο που χρησιμοποιήθηκε είναι ένα on-board δίκτυο δακτυλίου το οποίο, αποτελείται από 4 routers και 4 κόμβους ανά router. 29

38 Εικόνα 28. On-board δίκτυο δακτυλίου(tornado). Αρχικά ορίζονται σε κάθε κόμβο δύο συντεταγμένες, έτσι ώστε κάθε κόμβος να μοιάζει σαν να είναι η θέση ενός δισδιάστατου πίνακα. Αφού οι συντεταγμένες αφορούν τον κόμβο, η δήλωση τους γίνεται στο αρχείο node.ned. module node { parameters: int labelx; // Συντεταγμένη Χ int labely; // Συντεταγμένη gates: // Πύλες εισόδου-εξόδου του module input in; output out; submodules: traffgen: trafficgenerator nodequeue: fifoqueue 30

39 connections: in --> IdealChannel --> traffgen.in; traffgen.out --> IdealChannel --> nodequeue.in; nodequeue.out --> IdealChannel --> out; Έπειτα στο αρχείο PCB.ned γίνεται η ανάθεση συντεταγμένων για κάθε κόμβο ξεχωριστά. module PCB types: channel routerrouterchannel extends DatarateChannel datarate = 5Gbps; delay = s; channel noderouterchannel extends DatarateChannel datarate = 1Gbps; delay = s; submodules: A: optoelectronicrouter node0: node { //Ανάθεση συντεταγμένων για κάθε κόμβο. labelx = 0; labely = node1: node { labelx = 0; labely = node2: node { labelx = 1; labely = 31

40 node3: node { labelx = 1; labely = node4: node { labelx = 0; labely = node5: node { labelx = 0; labely = node6: node { labelx = 1; labely = node7: node { labelx = 1; labely = C: optoelectronicrouter node8: node { labelx = 2; labely = node9: node { labelx = 2; labely = node10: node { 32

41 labelx = 3; labely = node11: node { labelx = 3; labely = node12: node { labelx = 2; labely = node13: node { labelx = 2; labely = node14: node { labelx = 3; labely = node15: node { labelx = 3; labely = B: optoelectronicrouter D: optoelectronicrouter connections: node0.out --> noderouterchannel --> A.in++; A.out++ --> noderouterchannel --> node0.in; node2.out --> noderouterchannel --> A.in++; 33

42 A.out++ --> noderouterchannel --> node2.in; A.out++ --> noderouterchannel --> node3.in; node3.out --> noderouterchannel --> A.in++; A.out++ --> noderouterchannel --> node1.in; node1.out --> noderouterchannel --> A.in++; node6.out --> noderouterchannel --> C.in++; node5.out --> noderouterchannel --> C.in++; C.out++ --> noderouterchannel --> node4.in; C.out++ --> noderouterchannel --> node6.in; C.out++ --> noderouterchannel --> node7.in; C.out++ --> noderouterchannel --> node5.in; node7.out --> noderouterchannel --> C.in++; node4.out --> noderouterchannel --> C.in++; D.out++ --> noderouterchannel --> node12.in; D.out++ --> noderouterchannel --> node14.in; D.out++ --> noderouterchannel --> node15.in; D.out++ --> noderouterchannel --> node13.in; node8.out --> noderouterchannel --> B.in++; node12.out --> noderouterchannel --> D.in++; node9.out --> noderouterchannel --> B.in++; node11.out --> noderouterchannel --> B.in++; B.out++ --> noderouterchannel --> node8.in; B.out++ --> noderouterchannel --> node10.in; B.out++ --> noderouterchannel --> node11.in; B.out++ --> noderouterchannel --> node9.in; node14.out --> noderouterchannel --> D.in++; node13.out --> noderouterchannel --> D.in++; node15.out --> noderouterchannel --> D.in++; node10.out --> noderouterchannel --> B.in++; A.out++ --> AC: routerrouterchannel --> C.in++; C.out++ --> routerrouterchannel --> A.in++; A.out++ --> routerrouterchannel --> B.in++; B.out++ --> routerrouterchannel --> A.in++; B.out++ --> routerrouterchannel --> D.in++; D.out++ --> routerrouterchannel --> B.in++; C.out++ --> routerrouterchannel --> D.in++; D.out++ --> routerrouterchannel --> C.in++; 34

43 Τέλος στο αρχείο trafficgenerator.cc και συγκεκριμένα στην συνάρτηση initialize() η οποία καλείται με το που ξεκινήσει η προσομοίωση, ακολουθούνται τα εξής βήματα: Αρχικά δηλώνονται οι διαστάσεις του δικτύου που πρόκειται να προσομοιωθεί. Έπειτα ανακτώνται οι συντεταγμένες κάθε κόμβου και υπολογίζεται ο προορισμός του πακέτου σύμφωνα με τον μαθηματικό τύπο του Tornado. Αυτό γίνεται στο παρακάτω κομμάτι κώδικα. const int kx = 4;//Δήλωση διαστάσεων δικτύου const int ky = 4; int labelx = this->getparentmodule()->par("labelx");//ανάκτηση συντεταγμένων κάθε κόμβου. int labely = this->getparentmodule()->par("labely"); int destinationx = 0; int destinationy = 0; destinationx = (labelx + (kx/2-1)) % kx;//υπολογισμός προορισμού πακέτου σύμφωνα με τον τύπο. destinationy = (labely + (ky/2-1)) % ky; Τελευταίο κομμάτι για την υλοποίηση του αλγορίθμου είναι η σύγκριση των συντεταγμένων κάθε κόμβου με τις συντεταγμένες όλων των άλλων κόμβων, για να βρεθεί ο κόμβος-προορισμός που πρέπει να σταλεί το πακέτο. Αυτό γίνεται με το παρακάτω κομμάτι κώδικα: for(int i=0; i<this->allnodes.getnumnodes(); i++) { int labelxforallnodes = this->allnodes.getnode(i)->getmodule()- >par("labelx"); int labelyforallnodes = this->allnodes.getnode(i)->getmodule()- >par("labely"); //Σύγκριση συντεταγμένων κάθε κόμβου με τις συντεταγμένες των υπόλοιπων. if((labelxforallnodes == destinationx) && (labelyforallnodes == destinationy)) { //Ανάθεση προορισμού του πακέτου μετά την εύρεση του κόμβου-προορισμού. this->destinationnodeptr = this->allnodes.getnode(i)->getmodule(); destinationrouterptr=check_and_cast<cmodule*>(destinationnodeptr- >gate("out")->getnextgate()->getowner()); scheduleat(simtime(), new cmessage); break; 35

44 Κεφάλαιο 4: Τεχνικές μεταγωγής Εισαγωγή Στα δίκτυα υπολογιστών ο όρος δρομολόγηση αναφέρεται στη διαδικασία με την οποία επιλέγεται η διαδρομή μέσα σε ένα δίκτυο πάνω στην οποία θα σταλούν τα δεδομένα. Η δρομολόγηση κατευθύνει το πέρασμα των πακέτων από την πηγή τους προς τον απόλυτο προορισμό τους μέσω ενδιάμεσων κόμβων που ονομάζονται δρομολογητές. Η διαδικασία της δρομολόγησης κατευθύνει τα δεδομένα προωθώντας τα με βάση τους πίνακες δρομολόγησης που βρίσκονται στους δρομολογητές(routers), οι οποίοι διατηρούν μια εγγραφή για την καλύτερη διαδρομή προς διάφορες κατευθύνσεις στο δίκτυο. Κατά συνέπεια η κατασκευή των πινάκων δρομολόγησης με χρήση κατάλληλου αλγόριθμου είναι πολύ σημαντική για αποτελεσματική δρομολόγηση. Οι αλγόριθμοι δρομολόγησης χωρίζονται σε δύο κατηγορίες, τους στατικούς και τους δυναμικούς. Όσον αφορά τους στατικούς αλγόριθμους, αυτοί οι αλγόριθμοι αποφασίζουν στη στιγμή το δρομολόγιο που θα ακολουθήσει το πακέτο, για να πάει στον προορισμό του. Το δρομολόγιο δεν προσαρμόζεται δυναμικά στα διάφορα χαρακτηριστικά του δικτύου. Στη στατική δρομολόγηση εντάσσεται η δρομολόγηση συντομότερης διαδρομής, όπου ο πιο γνωστός αλγόριθμος εύρεσης συντομότερης διαδρομής είναι αυτός του Dijkstra, και η δρομολόγηση πλημμύρας(flooding). Όσον αφορά τους δυναμικούς αλγόριθμους, αυτοί οι αλγόριθμοι, αν μια συγκεκριμένη διαδρομή γίνει μη διαθέσιμη, οι υπάρχοντες κόμβοι πρέπει να αποφασίσουν μια εναλλακτική διαδρομή που θα χρησιμοποιήσουν, για να στείλουν τα δεδομένα στον προορισμό τους. Στη δυναμική δρομολόγηση εντάσσονται οι αλγόριθμοι διανυσμάτων απόστασης, οι οποίοι χρησιμοποιούν τον αλγόριθμο Bellman-Ford, καθώς και οι αλγόριθμοι κατάστασης συνδέσεων. Μεταγωγή είναι μια προσέγγιση για μετάδοση πακέτων σε όλο το δίκτυο. Η μέθοδος μεταγωγής αποφασίζει πως ο μεταγωγέας λαμβάνει, επεξεργάζεται και προωθεί τα πακέτα. Ο μεταγωγέας μπορεί να υποστηρίζει τέσσερις μεθόδους μεταγωγής. Αυτές είναι η Circuit switching (CS), η Store-and-forward (SF) switching, η Virtual cut-through (VCT) switching και τέλος η Wormhole (WH) switching[18]. Στην παρούσα πτυχιακή εργασία υλοποιήθηκε η Virtual cut-through (VCT) switching, η οποία συγκρίθηκε με αντίστοιχα αποτελέσματα που προέκυψαν με χρήση της αρχιτεκτονικής Store-and-forward (SF) switching[19]. 36

45 Store-and-forward (SF) switching Η Store and forward switching είναι μία τεχνική μεταγωγής, όπου λειτουργεί ως εξής: περιμένει μέχρι ολόκληρο το πακέτο να φτάσει σε έναν σταθμό, προτού το προωθήσει στον επόμενο. Τα μεγάλα πακέτα δικτύων χωρίζονται ονομάζονται "flits"(flow control digits). σε μικρότερα κομμάτια τα οποία Στην τεχνική αυτή το μήνυμα χωρίζεται σε σταθερού μεγέθους πακέτα, όπου κάθε πακέτο αποτελείται από "flits", ξεκινώντας με το "header flit". Κάθε κανάλι περιλαμβάνει μονάδες αποθήκευσης(buffers) εισόδου και εξόδου για ένα ολόκληρο πακέτο. Κάθε πακέτο δρομολογείται μεμονωμένα από την πηγή μέχρι τον τελικό προορισμό του. Ένα βήμα της SF switching ονομάζεται hop. Σε αυτό το βήμα συμπεριλαμβάνεται η αντιγραφή ολόκληρου του πακέτου από μία μονάδα αποθήκευσης(buffer) εξόδου, στην επόμενη μονάδα αποθήκευσης(buffer) εισόδου. Η απόφαση δρομολόγησης λαμβάνεται από κάθε ενδιάμεσο δρομολογητή μόνο, αφού ολόκληρο το πακέτο εισέλθει στην μονάδα αποθήκευσης(buffer) εισόδου. Εικόνα 29. Store-and-forward switching ενός πακέτου a) Η απόφαση δρομολόγησης παίρνεται στον πρώτο δρομολογητή b) Το πακέτο εκτελεί το πρώτο hop στο δεύτερο δρομολογητή αφού έχει αντιγραφεί στον εξωτερικό buffer του πρώτου δρομολογητή. c) Ολόκληρο το πακέτο μετά το δεύτερο hop. 37

46 Ένα πακέτο μεγέθους Μ για να μεταδοθεί σε απόσταση d διαρκεί t sf =d(t r +(t w +t m )M), όπου d το μήκος του μονοπατιού δρομολόγησης, Μ το μέγεθος του πακέτου(σε flits), t r ο χρόνος απόφασης της δρομολόγησης σε έναν δρομολογητή κατά την δημιουργία ενός μονοπατιού δρομολόγησης(σε δευτερόλεπτα), t w η εσωτερική καθυστέρηση μεταγωγής αφού ο δρομολογητής έχει πάρει την απόφαση δρομολόγησης και το μονοπάτι έχει επιλεχθεί μέσω του δρομολογητή, t m η εσωτερική καθυστέρηση καναλιού του δρομολογητή. Η καθυστέρηση μετάδοσης ενός πακέτου αποτελούμενο από Μ flits ανάμεσα σε δύο γειτονικούς κόμβους είναι Μ*t m δευτερόλεπτα. Σε κάθε δρομολογητή, πρώτα πρέπει να παίρνονται οι αποφάσεις δρομολόγησης και μετά το πακέτο να εκτελεί hops στον επόμενο δρομολογητή, το οποίο παίρνει χρόνο t r +(t w +t m )M, και αυτό επαναλαμβάνεται d φορές[20]. Παρατηρήσεις Αυτός ο τύπος μεταγωγής λαμβάνει ολόκληρο το πακέτο προτού το προωθήσει. Καθώς το πακέτο λαμβάνεται, γίνεται η επεξεργασία του. Αφού ολοκληρωθεί η άφιξη του πακέτου, επιβεβαιώνεται ο προορισμός του, και προωθείται στην κατάλληλη έξοδο. Σημαντικό μειονέκτημα της Store and forward παρουσιάζεται σε μετάδοση από κανάλι αργής μετάδοσης σε κανάλι γρήγορης μετάδοσης. Το πακέτο πρέπει να αποθηκευθεί και να μεταδοθεί μόνο όταν έχει ληφθεί ολόκληρο. Η ανάγκη να εισέλθει στην μονάδα αποθήκευσης(buffer) ολόκληρο το πακέτο κάνει είτε τον σχεδιασμό του δρομολογητή ακριβό και/ή αργό, ή το μέγεθος των πακέτων περιορισμένο. Η καθυστέρηση επικοινωνίας είναι αναλογική του μεγέθους του πακέτου και της απόστασης. Αυτό αναγκάζει τους σχεδιαστές να αναζητούν μικρότερα μονοπάτια δρομολόγησης και να χρησιμοποιούν δίκτυα μικρής διαμέτρου. Αυτή η τεχνική έχει πολλά πλεονεκτήματα, όταν τα μηνύματα είναι μικρά και συχνά, αφού μία μετάδοση απασχολεί το πολύ ένα κανάλι από ολόκληρο το μονοπάτι. Έτσι σε συνθήκες υψηλής κίνησης, τα πακέτα πρέπει να αποθηκεύονται στη μονάδα αποθήκευσης(buffer) αφού το κανάλι εξόδου μπορεί να είναι απασχολημένο. Αφού η κίνηση αυξάνεται, οι πιθανότητες ένα συγκεκριμένο κανάλι να είναι απασχολημένο προφανώς αυξάνονται, και ακόμα και στην τεχνική μεταγωγής cutthrough, μπορεί να χρειάζεται να αποθηκευτούν τα πακέτα στην μονάδα αποθήκευσης(buffer). 38

47 Virtual cut-through(vct) switching Η Virtual cut-though switching είναι πιο εξελιγμένη και ακριβή σε σύγκριση με την Store and forward. Τα μηνύματα χωρίζονται σε πακέτα και οι δρομολογητές έχουν μονάδες αποθήκευσης(buffers) για ολόκληρο το πακέτο, όπως ακριβώς στην SF switching. Αντί να υπάρχει αναμονή ώστε ολόκληρο το πακέτο να μπει στην μονάδα αποθήκευσης(buffer), το ερχόμενο "header flit" στέλνεται στον επόμενο δρομολογητή, αφού η απόφαση δρομολόγησης έχει παρθεί και το κανάλι εξόδου είναι ελεύθερο. Κάθε επόμενο "flit" εισέρχεται στην μονάδα αποθήκευσης(buffer) κάθε φορά που φτάνει σε έναν δρομολογητή, αλλά επίσης στέλνεται και αμέσως στον επόμενο δρομολογητή, εάν το κανάλι εξόδου είναι ελεύθερο. Στην περίπτωση που ο "header" δεν μπορεί να προχωρήσει, περιμένει στον τωρινό δρομολογητή καθώς και όλα τα "flits" που ακολουθούν, περιμένοντας να ελευθερωθούν τα κανάλια που δεν είναι αδρανή. Σε περίπτωση που δεν υπάρχουν επιπλοκές στη διαδρομή, το πακέτο περνάει αποτελεσματικά από επιτυχείς δρομολογήσεις σαν αλυσίδα από "flits". Όλες οι μονάδες αποθήκευσης(buffers) στο μονοπάτι δρομολόγησης αποκλείονται για άλλες απαιτήσεις της επικοινωνίας. 39

48 Εικόνα 30. Virtual cut-through switching ενός πακέτου a) O "header flit" έχει μετακινηθεί στον εξωτερικό buffer του πρώτου δρομολογητή b) Ο "header" έχει σταλεί στον δεύτερο δρομολογητή και τα ακολουθούμενα "flits" ακολουθούν το μονοπάτι. c) Μια αλυσίδα από "flits" ακολουθεί τον "header", ο οποίος βρίσκεται σε έναν δρομολογητή, του οποίου ο εξωτερικός buffer είναι κατειλημμένος από κάποια άλλη επικοινωνία. d) Ολόκληρη η αλυσίδα από τα "flits" έχει φτάσει πίσω από τον "header" και ολόκληρο το πακέτο έχει φύγει από τον buffer του πρώτου δρομολογητή ελευθερώνοντας όλα τα προηγούμενα κατειλημμένα κανάλια. e) "Flit" σε σωλήνωση κινούνται προς τον προορισμό. Ένα πακέτο μεγέθους Μ για να μεταδοθεί σε μία απόσταση d παίρνει χρόνο t vct = d(t r +t w +t m )+max(t w, t m )M, όπου d το μήκος του μονοπατιού δρομολόγησης, Μ το μέγεθος του πακέτου(σε flits), t r ο χρόνος απόφασης της δρομολόγησης σε έναν δρομολογητή κατά την δημιουργία ενός μονοπατιού δρομολόγησης(σε δευτερόλεπτα), t w η εσωτερική καθυστέρηση μεταγωγής αφού ο δρομολογητής έχει πάρει την απόφαση δρομολόγησης και το μονοπάτι έχει επιλεχθεί μέσω του δρομολογητή, t m η εσωτερική καθυστέρηση καναλιού του δρομολογητή. Η καθυστέρηση μετάδοσης ενός πακέτου αποτελούμενο από Μ flits ανάμεσα σε δύο γειτονικούς κόμβους είναι Μ*t m δευτερόλεπτα. Υποθέτουμε ότι δεν υπάρχει χρονική καθυστέρηση στην cut-through. Μόνο ο "header" δέχεται κάποια καθυστέρηση δρομολόγησης, όπως και καθυστέρηση μεταγωγής και ενδιάμεσης δρομολόγησης. Μόλις ο "header" φτάσει στον προορισμό του, ο χρόνος της σωλήνωσης των "flits" καθορίζεται από το μέγιστο χρόνο μεταγωγής, καθώς και από την καθυστέρηση της ενδιάμεσης δρομολόγησης. Αυτό συμβαίνει, λόγω της υπόθεσης ότι τα κανάλια έχουν μονάδες αποθήκευσης (buffers) εισόδου και εξόδου. Στην περίπτωση που υπάρχει μόνο μονάδα αποθήκευσης εισόδου, θα είχαμε t w +t m αντί για max(t w, t m ) [20]. Παρατηρήσεις Μόνο ο "header" περιέχει πληροφορίες δρομολόγησης και συνεπώς κάθε "flit" που έρχεται απλά προωθείται στο ίδιο κανάλι που δρομολογήθηκε ο "header". Έτσι η μετάδοση διαφορετικών πακέτων δεν μπορεί να παρεμβάλλεται πάνω από το φυσικό κανάλι. Σημαντικό πλεονέκτημα της Virtual cut through είναι ότι επειδή δεν υπάρχει έλεγχος για σφάλματα σε κάθε πακέτο η μετάδοση είναι πιο γρήγορη σε σχέση με την Store and forward. Πιο συγκεκριμένα η τεχνική αυτή μειώνει την καθυστέρηση μέσω της μεταγωγής και βασίζεται στις συσκευές προορισμού για τον έλεγχο σφαλμάτων. 40

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

Διαβάστε περισσότερα

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

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

Διαβάστε περισσότερα

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

Διαβάστε περισσότερα

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ethernet Ethernet ΙΕΕΕ CSMA/CD Ethernet Τα τοπικά δίκτυα είναι συνήθως τύπου Ethernet ή λέμε ότι ακολουθούν το πρότυπο ΙΕΕΕ 802.3 Ακολουθούν το μηχανισμό CSMA/CD (Πολλαπλή πρόσβαση με Ακρόαση Φέροντος και Ανίχνευση Συγκρούσεων). Πολλαπλή

Διαβάστε περισσότερα

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

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1 ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελών ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ Μάθημα 2ο Βελών - 1ο Τ.Ε.Ε. Κατερίν Καθηγητής Πληροφορικής ΠΕ20 2-1 Τεχνολογίες Μεταγωγής Δεδομένων Δίκτυα Μεταγωγής Βελών Βελών Δίκτυα Μεταγωγής Δίκτυα Μεταγωγής

Διαβάστε περισσότερα

Δρομολόγηση (Routing)

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

Διαβάστε περισσότερα

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

Διαβάστε περισσότερα

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

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

Διαβάστε περισσότερα

Δροµολόγηση (Routing)

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

Διαβάστε περισσότερα

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διαφάνεια 1 Δρομολόγηση Εισαγωγή Ιεραρχική δρομολόγηση

Διαβάστε περισσότερα

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΜΕΛΕΤΗ & ΡΥΘΜΙΣΕΙΣ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ RIP ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΣΤΕΡΓΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΣΠΟΥΔΑΣΤΡΙΑ: ΤΣΙΜΠΙΔΑ ΙΩΑΝΝΑ- ΠΑΡΑΣΚΕΥΗ

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

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

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής Στο σημερινό μάθημα ασχολούμαστε με τις έννοιες: Τεχνικές Μεταγωγής o Μεταγωγή κυκλώματος o Μεταγωγή μηνύματος o Μεταγωγή

Διαβάστε περισσότερα

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

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

2 η Σειρά Ασκήσεων Data Link Layer HY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2017-2018 Διδάσκουσα: Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστημίου Κρήτης 2 η Σειρά Ασκήσεων Data Link Layer Άσκηση 1 Αναφέρεται τα 4 επιθυμητά

Διαβάστε περισσότερα

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 22 Διάρθρωση 1 Βασικές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης. Εισαγωγή Η παρούσα εργαστηριακή άσκηση έχει ως σκοπό την εξοικείωση με τα πρωτόκολλα δρομολόγησης τα οποία χρησιμοποιούνται στα Ad-Hoc δίκτυα, καθώς και την συγκριτική

Διαβάστε περισσότερα

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

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

Διαβάστε περισσότερα

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ 7.7 Πρωτόκολλο ARP & Ερωτήσεις 1. Ποιος ο ρόλος του Πρωτοκόλλου Μετατροπής Διεύθυνσης (ARP); 2. Τι είναι ο πίνακας ARP, τι πληροφορία περιλαμβάνει και με ποιο τρόπο ενημερώνεται και ποιος ο χρόνος ζωής

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (1/2) Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 1/3/2017 ΠΕΡΙΕΧΟΜΕΝΑ (1/3) http://www.netmode.ntua.gr/main/index.php?option=com_content&task=view& id=130&itemid=48

Διαβάστε περισσότερα

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ (Kεφ. 10) ΡΟΜΟΛΟΓΗΣΗ Χαρακτηριστικά Στρατηγικές ροµολόγησης Παραδείγµατα Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ - κεφ.10 (2/3)

Διαβάστε περισσότερα

Εργαστήριο Δικτύων. Network Simulator OMNET++

Εργαστήριο Δικτύων. Network Simulator OMNET++ Εργαστήριο Δικτύων Network Simulator OMNET++ Τί είναι το ΟΜΝΕΤ++ Το OMNET++ είναι ένα αντικειμενοστραφές framework για προσομοίωση δικτύων βασισμένο σε διακριτά γεγονότα Η αρχιτεκρονική του είναι αρκετά

Διαβάστε περισσότερα

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing): Δρομολόγηση Ι Εισαγωγή - ορολογία Προώθηση (forwarding): Οι συσκευές διαδικτύωσης (γέφυρες, δρομολογητές, κ.τ.λ.) προωθούν πακέτα δεδομένων στα κατάλληλα μονοπάτια βάσει των πινάκων δρομολόγησης (routing

Διαβάστε περισσότερα

8 η ιάλεξη: σε δίκτυα δεδομένων

8 η ιάλεξη: σε δίκτυα δεδομένων Εργαστήριο ικτύων Υπολογιστών 8 η ιάλεξη: Βασικές αρχές δρομολόγησης Βασικές αρχές δρομολόγησης σε δίκτυα δεδομένων ρομολόγηση (Routing) Μεταφορά μηνυμάτων μέσω του διαδικτύου από μία πηγή σε ένα προορισμό

Διαβάστε περισσότερα

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7] Στόχοι ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες τους. Να περιγράψουμε

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr Χρύσα Παπαγιάννη chrisap@noc.ntua.gr 24/2/2016 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

Διαβάστε περισσότερα

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

Διαβάστε περισσότερα

Δίκτυα ΙΙ. Κεφάλαιο 7

Δίκτυα ΙΙ. Κεφάλαιο 7 Δίκτυα ΙΙ Κεφάλαιο 7 Στο κεφάλαιο αυτό παρουσιάζεται ο τρόπος επικοινωνίας σε ένα δίκτυο υπολογιστών. Το κεφάλαιο εστιάζεται στο Επίπεδο Δικτύου του OSI (το οποίο είδατε στο μάθημα της Β Τάξης). Οι βασικές

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 7: Εισαγωγή στα δίκτυα Η/Υ (μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 14. Ποιος είναι ο ρόλος των καρτών δικτύου (Network Interface Card, NIC); Απάντηση: Οι κάρτες δικτύου χρησιμοποιούνται για να συνδέσουν

Διαβάστε περισσότερα

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ανάδοχοι Φορέας Υλοποίησης Έργο ΛΑΕΡΤΗΣ Λογισμικό Δικτύων Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Ανάδοχος φορέας: CONCEPTUM A.E. 1 Προσομοίωση

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δίκτυα Υπολογιστών Στόχοι 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες

Διαβάστε περισσότερα

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

Διαβάστε περισσότερα

Κεφάλαιο 12. Πρότυπα. Ανακεφαλαίωση Ερωτήσεις

Κεφάλαιο 12. Πρότυπα. Ανακεφαλαίωση Ερωτήσεις Κεφάλαιο 12 Πρότυπα Μάθηµα 12.1: Μάθηµα 12.2: Μάθηµα 12.3: Μάθηµα 12.4: Μάθηµα 12.5: Πρότυπα FDDI-I και FDDI-II Πρότυπο 100 Mbps Ethernet Πρότυπο 100Base-VGAnyLAN Πρότυπο Gigabit Ethernet Πρότυπο LATM

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

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

MYY703: Δίκτυα Υπολογιστών I Εργαστήρια MYY703: Δίκτυα Υπολογιστών I Εργαστήρια Άσκηση 1 η Εισαγωγή στον Network Simulator (Ns-2) Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή Η άσκηση

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 22 Ε.Παπαπέτρου

Διαβάστε περισσότερα

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

Διαβάστε περισσότερα

Μεταγωγείς πακέτων (packet switches)

Μεταγωγείς πακέτων (packet switches) Μεταγωγείς πακέτων (packet switches) Μεταγωγή (Switching) Λειτουργία: συνδέει εισόδους σε εξόδους, έτσι ώστε τα bits ή τα πακέτα που φτάνουν σε ένα σύνδεσμο, να φεύγουν από έναν άλλο επιθυμητό σύνδεσμο.

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ 2.1 Εισαγωγή Η μέθοδος που θα χρησιμοποιηθεί για να προσομοιωθεί ένα σύστημα έχει άμεση σχέση με το μοντέλο που δημιουργήθηκε για το σύστημα. Αυτό ισχύει και

Διαβάστε περισσότερα

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε ΙΚΤΥΑ & INTERNET ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκευές συνδέονται µεταξύ τους µε καλώδια

Διαβάστε περισσότερα

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

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec). Άσκηση Υπολογίστε τον συνολικό χρόνο που απαιτείται για την μετάδοση ενός αρχείου 500KB πάνω από μια ζεύξη (Link), στις παρακάτω περιπτώσεις, θεωρώντας πως η καθυστέρηση μιας κατεύθυνσης (one way delay)

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 Δρομολόγηση Εισαγωγή Ιεραρχική δρομολόγηση - Αυτόνομα συστήματα Δρομολόγηση αυτόνομου

Διαβάστε περισσότερα

ANDROID Προγραμματισμός Εφαρμογών

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

Διαβάστε περισσότερα

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

Διαβάστε περισσότερα

WIRELESS SENSOR NETWORKS (WSN)

WIRELESS SENSOR NETWORKS (WSN) WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση

Διαβάστε περισσότερα

7.1 Επίπεδο δικτύου. Ερωτήσεις. λέξεις κλειδιά:

7.1 Επίπεδο δικτύου. Ερωτήσεις. λέξεις κλειδιά: 7.1 Επίπεδο δικτύου Ερωτήσεις 1. Με ποιες ενέργειες ασχολείται το επίπεδο δικτύου; Ποιες συσκευές συμμετέχουν σε αυτές τις ενέργειες; 2. Ποιο είναι το χαμηλότερο επίπεδο στο μοντέλο OSI που ασχολείται

Διαβάστε περισσότερα

ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ Η/Υ

ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ Η/Υ Εργαστήριο 1 ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ Η/Υ Τοπικά Δίκτυα Μεταγωγής (Επισκόπηση) Τοπικά δίκτυα που διασυνδέονται με hubs switches - bridges Στόχος Αυτό το εργαστήριο σχεδιάστηκε

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΦΘΙΝΟΠΩΡΟ 2003 ΗΜΗΤΡΗΣ ΖΗΣΙΑ ΗΣ 2003 ηµήτρης Ζησιάδης Απαγορεύεται η χρησιµοποίηση όλου ή µέρους του υλικού αυτού σε οποιαδήποτε µορφή (ούτε και σε φωτοαντίγραφα) ή

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Σημειώσεις μαθήματος: Χρήσιμοι Σύνδεσμοι http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

Διαβάστε περισσότερα

Περίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

Περίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Τοπικά Δίκτυα Περίληψη Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Αναµεταδότες, Γέφυρες, Μεταγωγείς, δροµολογητές και Πύλες (repeaters, hubs, bridges, switches, routers,

Διαβάστε περισσότερα

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Κεφάλαιο 2 Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Εισαγωγή Μέσα αποθήκευσης Δίκτυα υπολογιστών Βάσεις δεδομένων Δίκτυα Υπολογιστών Σύνολο από υπολογιστές ή συσκευές διασυνδεδεμένες

Διαβάστε περισσότερα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών Εργαστήρια Δίκτυα Υπολογιστών Εργαστήρια Άσκηση 6 η Πολλαπλή Πρόσβαση με Ακρόαση Φέροντος (CSMA-CD) Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή Σκοπός της

Διαβάστε περισσότερα

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

Διαβάστε περισσότερα

Υλοποίηση τεχνικών για την αποφυγή συμφόρησης σε τοπικά ασύρματα δίκτυα αισθητήρων

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

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών I»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών I» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών I» 3 η Εργαστηριακή άσκηση με χρήση του Network Simulator-2 Υπεύθυνοι Καθηγ. Π. Δεμέστιχας Δρ. Κ.

Διαβάστε περισσότερα

Τοπικά Δίκτυα. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

Τοπικά Δίκτυα. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Τοπικά Δίκτυα Περίληψη Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Αναμεταδότες, Γέφυρες, Μεταγωγείς, δρομολογητές και Πύλες (repeaters, hubs, bridges, switches, routers,

Διαβάστε περισσότερα

Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find)

Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find) Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find) 1) Δώστε την εντολή που δείχνει τις ανοιχτές εισερχόμενες θύρες (ports) της μηχανής σας. Χρησιμοποιήστε

Διαβάστε περισσότερα

ΔΙΚΤΥΑ Η/Υ ΙΙ. Γέφυρες

ΔΙΚΤΥΑ Η/Υ ΙΙ. Γέφυρες ΔΙΚΤΥΑ Η/Υ ΙΙ Γέφυρες Γενικά Οι γέφυρες (bridges) είναι συσκευές που επιτυγχάνουν τη διασύνδεση ενός απλού τοπικού δικτύου με άλλα παρόμοια τοπικά δίκτυα. Μια γενικότερη συσκευή και για τη διασύνδεση με

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 3: Τοπολογίες Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 3: Τοπολογίες Δικτύων 3.1. Εισαγωγή Υπάρχουν τέσσερις βασικοί τρόποι διασύνδεσης των μηχανημάτων που απαρτίζουν ένα δίκτυο: διασύνδεση διαύλου, αστέρα, δέντρου και δακτυλίου. Στις παραγράφους

Διαβάστε περισσότερα

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

Διαβάστε περισσότερα

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο Συσκευές Τηλεπικοινωνιών και Δικτύωσης Επικοινωνίες Δεδομένων Μάθημα 9 ο Εισαγωγή Ένα δίκτυο αποτελείται από ενεργά και παθητικά στοιχεία. Στα παθητικά στοιχεία εντάσσονται τα καλώδια και τα εξαρτήματα

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

Διαβάστε περισσότερα

Επίπεδο δικτύου IP Forwading κτλ

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

Διαβάστε περισσότερα

ΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας.

ΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας. ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ Το επίπεδο δικτύου ασχολείται με τη μεταφορά πακέτων από την προέλευσή τους μέχρι τον προορισμό τους. Επιλέγει τις κατάλληλες διαδρομές από τους διάφορους δρομολογητές ώστε ένα πακέτο να

Διαβάστε περισσότερα

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) Α. Α. Οικονομίδης Πανεπιστήμιο Μακεδονίας Διασυνδεδεμένο δίκτυο διασύνδεση δικτύων που το καθένα διατηρεί την ταυτότητά του χρησιμοποιώντας ειδικούς μηχανισμούς διασύνδεσης

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

Διαβάστε περισσότερα

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

Διασύνδεση τοπικών δικτύων

Διασύνδεση τοπικών δικτύων Κεφάλαιο 10 Διασύνδεση τοπικών δικτύων ------------------------- Μάθημα 10.1 : Αρχές διασύνδεσης τοπικών δικτύων Μάθημα 10.2 : Επιλογή τοπικού δικτύου και μέσου μετάδοσης Μάθημα 10.3 : Επιλογή τοπικού

Διαβάστε περισσότερα

Δίκτυα Ι Αρχές Δικτύων

Δίκτυα Ι Αρχές Δικτύων Δίκτυα Ι Αρχές Δικτύων Συσκευές Δικτύων Διδάσκων : Ψαρράς Δημήτριος 1 Όπως είναι γνωστό, η μόνη σύνδεση των απομακρυσμένων υπολογιστών είναι δυνατή μόνο με τη χρήση του υπάρχοντος τηλεφωνικού δικτύου.

Διαβάστε περισσότερα

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

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP Άσκηση 1 η : Καθυστερήσεις Θεωρείστε μία σύνδεση μεταξύ δύο κόμβων Χ και Υ. Το εύρος ζώνης του συνδέσμου είναι 10Gbits/sec

Διαβάστε περισσότερα

1.1 Επαναλήπτες (repeaters ή regenerators)

1.1 Επαναλήπτες (repeaters ή regenerators) 1.1 Επαναλήπτες (repeaters ή regenerators) Οι επαναλήπτες λειτουργούν στο φυσικό επίπεδο του OSI μοντέλου. Χρησιμεύουν για την ενίσχυση των σημάτων που μεταφέρονται στο δίκτυο. Ένα σήμα μπορεί να ταξιδέψει

Διαβάστε περισσότερα

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοινωνία. Σειριακή Επικοινωνία USB Σύνδεση / Πρωτόκολλο Σκοπός Εντολή επιλογής (if) Εντολή Επανάληψης (while) Πίνακες 1 Μέρος Α : Σκοπός

Διαβάστε περισσότερα

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν μεταξύ τους Πως συνδέονται ανομοιογενή δίκτυα μεταξύ τους Εικονικά κυκλώματα συνδεδεμένα σε σειρά

Διαβάστε περισσότερα

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ (Kεφ. 10) ΑΡΧΕΣ ΜΕΤΑΓΩΓΗΣ ΠΑΚΕΤΩΝ Τεχνική Μεταγωγής Μέγεθος Πακέτου Σύγκριση Μεταγωγής Κυκλώµατος και Μεταγωγής Πακέτου Εξωτερική και Εσωτερική Λειτουργία Βιβλίο Μαθήµατος: Επικοινωνίες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Οδηγίες σχεδίασης στο περιβάλλον Blender

Οδηγίες σχεδίασης στο περιβάλλον Blender Οδηγίες σχεδίασης στο περιβάλλον Blender Στον πραγματικό κόσμο, αντιλαμβανόμαστε τα αντικείμενα σε τρεις κατευθύνσεις ή διαστάσεις. Τυπικά λέμε ότι διαθέτουν ύψος, πλάτος και βάθος. Όταν θέλουμε να αναπαραστήσουμε

Διαβάστε περισσότερα