ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2014-2015 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 20.11.20104 Πρόοδος Οδηγίες: Η κάθε απάντηση θα πρέπει να συνοδεύεται από δικαιολόγηση που να είναι σύντομη, περιεκτική, σαφής, και καλογραμμένη. Το κάθε θέμα αντιστοιχεί σε 10 μονάδες. Το άριστα αντιστοιχεί σε 70 μονάδες. 1. Περιγράψετε τον πιο σημαντικό ρόλο του κάθε επιπέδου της TCP/IP στοίβας (δίνοντας και το όνομα του). Επίπεδο Περιγραφή Εφαρμογής Καθορίζει την επικοινωνία μεταξύ δεδομένων σε επίπεδο διεργασίας (π.χ., επικοινωνία web browser - web server ). Μεταφοράς Χειρίζεται την host-to-host επικοινωνία. Έχει την επίβλεψη της ροής κίνησης πακέτων και προσπαθεί να παρέχει κάποιες εγγυήσεις. Δυο πολύ βασικές λειτουργίες είναι ο έλεγχος συμφόρησης και ροής. Δικτύου Καθορίζει σε ποιόν γειτονικό κόμβο πρέπει να σταλεί ένα πακέτο, μέχρι αυτό να φτάσει στο τελικό του προορισμό Ζεύξης Διαχειρίζεται την επικοινωνία μεταξύ γειτονικών δικτυακών κόμβων, σε αυτό το επίπεδο υπάρχει η έννοια του πακέτου. Φυσικό Καθορίζει τον τρόπο ς μίας σειράς από bits πάνω σε μία ζεύξη, δεν υπάρχει η έννοια του πακέτου. Η περιγραφή κάθε επιπέδου βαθμολογείται με 2 μονάδες. 2. Έστω μια γέφυρα που λαμβάνει ένα πακέτο. Περιγράψετε τα βασικά βήματα της διαδικασίας χειρισμού/επεξεργασίας του πακέτου αυτού από τη στιγμή της λήψης του μέχρι την αποστολή του. Οι γέφυρες είναι συσκευές επιπέδου ζεύξης, δηλαδή λειτουργούν στο φυσικό επίπεδο και στο επίπεδο ζεύξης. Έτσι, μια γέφυρα δεν μπορεί να αναγνωρίσει ένα IP δεδομενόγραμμα. Στο φυσικό επίπεδο λαμβάνεται μια ακολουθία από bits. Σε αυτή την ακολουθία αναγνωρίζεται ένα πλαίσιο επιπέδου 2, το οποίο στέλνεται προς τα πάνω, στο επίπεδο ζεύξης (decapsulation). Σε αυτό το επίπεδο, διαβάζεται ο header του πλαισίου. Αν η MAC διεύθυνση προορισμού είναι γνωστή, δηλαδή αν υπάρχει στον πίνακα προώθησης της γέφυρας, τότε το πακέτο προωθείται στην κατάλληλη ζεύξη (αφού γίνει encapsulation), ώστε να συνεχιστεί η διαδρομή του στον προορισμό. Αν δεν είναι γνωστή η MAC διεύθυνση προορισμού, τότε η γέφυρα προωθεί αντίγραφα του πλαισίου στους ενταμιευτές (buffers) εξόδου όλων των ζεύξεων, εκτός της ζεύξης από την οποία το πλαίσιο λήφθηκε. (σελ. 471) 3. Έχει νόημα η χρήση της στατιστικής πολυπλεξίας σε ένα circuit switching δίκτυο; Δικαιολογήσετε την απάντησή σας.
Σε ένα circuit switching δίκτυο δεσμεύονται πόροι (στο μονοπάτι που συνδέει τα δύο συστήματα που επικοινωνούν) ώστε να μπορούν να προσφέρονται εγγυήσεις στην ποιότητα της υπηρεσίας. Η δέσμευση γίνεται πριν ξεκινήσει η επικοινωνία των δύο συστημάτων και υφίσταται για όλη τη διάρκεια της. Από την άλλη πλευρά, η στατιστική πολυπλεξία είναι χαρακτηριστικό των packet switching δικτύων. Σε ένα packet switching δίκτυο οι διαδρομές επιλέγονται δυναμικά, έχουμε αξιόπιστη ή μη αξιόπιστη επικοινωνία, με σύνδεση (connection-oriented) ή χωρίς σύνδεση (connectionless). Αυτή η προσέγγιση μπορεί να υποστηρίξει έναν μεγάλο αριθμό χρηστών, όμως δεν παρέχει εγγύηση για την ποιότητα υπηρεσίας. Έτσι, η στατιστική πολυπλεξία δεν έχει νόημα σε ένα circuit switching δίκτυο. 4. Οι συσκευές A, Β και Γ είναι συνδεμένες στο ίδιο Ethernet LAN και η κάθε μια έχει ένα πακέτο να μεταδώσει. Υποθέτουμε ότι τα πακέτα είναι ίδιου μεγέθους, τέτοιου ώστε η τους μπορεί να ολοκληρωθεί μέσα σε τ ms. Δεν υπάρχουν άλλες συσκευές στο Ethernet στο οποίο είναι συνδεμένες που να θέλουν να στείλουν εκείνη την περίοδο. Ας υποθέσουμε ότι τη χρονική στιγμή 0 οι συσκευές στέλνουν ταυτόχρονα το πακέτο και υπάρχει σύγκρουση (packet collision). Με ποιά (δεσμευμένη) πιθανότητα και οι τρείς κόμβοι θα έχουν ολοκληρώσει τις μεταδόσεις τους ακριβώς μετά από 4τ (δεδομένου της κατάστασης που περιγράφεται παραπάνω); Προς χάριν απλότητας, ας θεωρήσουμε τον ορίζοντα του χρόνου για το B χωρισμένο σε χρονοθυρίδες (slots) μεγέθους τ: slot 0, slot 1, slot 2, κλπ). Σειρά ενεργειών που θα οδηγήσουν στο ζητούμενο γεγονός: Σειρά γεγονότων Σ1 Α Μετάδοση Μετάδοση Β Μετάδοση Μετάδοση Μετάδοση Γ Μετάδοση Μετάδοση Μετάδοση Slot 0 1 2 3 4 Εvent Collision1 A: backoff{0,1}- Β: backoff{0,1}- Γ: backoff{0,1}- P 1 2 1 2 1 2 = 1 8 Θα συμβεί με πιθανότητα P(Σ 1) Collision2 Β: Γ: 1 4 1 4 = 1 16 P(Σ 1 ) = 1 8 1 16 Όμως, αν στο collision 2 o B επιλέξει backoff 1 και ο Γ επιλέξει 0, οδηγούμαστε σε μια αντίστοιχη σειρά γεγονότων, στην οποία όλοι οι κόμβοι έχουν ολοκληρώσει τις μεταδόσεις τους ακριβώς μετά από 4τ. Έτσι, για το collision 2 έχουμε 2 διαφορετικούς συνδυασμούς από backoff επιλογές.
Όμοια, για το collision 1 υπάρχουν 3 διαφορετικοί συνδυασμοί από backoff επιλογές: (Α: επιλ 0 και Β: επιλ 1 και Γ: επιλ. 1) ή (Α: επιλ 1 και Β: επιλ 0 και Γ: επιλ. 1) ή (Α: επιλ 1 και Β: επιλ 1 και Γ: επιλ. 0) Η πιθανότητα να συμβεί οποιαδήποτε από τις 6 σειρές γεγονότων που έχουν περιγραφεί ως τώρα είναι P(Σ 1ή2ή ή6 ) = 6 1 8 1 16 = 6 128 (5 μονάδες) Δεν έχουμε καλύψει όμως ακόμα όλες τις σειρές γεγονότων που οδηγούν στο ζητούμενο αποτέλεσμα. Σειρά γεγονότων Σ 7 Α Μετάδοση Μετάδοση Μετάδοση Β Μετάδοση Μετάδοση Μετάδοση Γ Μετάδοση Μετάδοση Slot 0 1 2 3 4 Εvent Collision1 A: backoff{0,1}- Β: backoff{0,1}- Γ: backoff{0,1}- P 1 2 1 2 1 2 = 1 8 Collision2 A: B: >Επιλ. 2 1 4 1 4 = 1 16 Όπως και πριν, για το collision 1, οι συνδυασμοί backoff επιλογών (Α: επιλ 0 και Β: επιλ 0 και Γ: επιλ. 1) ή (Α: επιλ 0 και Β: επιλ 1 και Γ: επιλ. 0) ή (Α: επιλ 1 και Β: επιλ 0 και Γ: επιλ. 0) οδηγούν επίσης στο ζητούμενο αποτέλεσμα. Αντίστοιχα και για το collision 2: (Α: επιλ 1 και Β: επιλ 2) ή (Α: επιλ 2 και Β: επιλ 1). Έτσι ορίσαμε 6 ακόμα σειρές γεγονότων, Σ 7 έως και Σ 12: P(Σ 7ή8ή ή12 ) = 6 1 8 1 16 = 6 128 (2.5 μονάδες) Σειρά γεγονότων Σ 13 Α Μετάδοση Μετάδοση Μετάδοση Β Μετάδοση Μετάδοση Μετάδοση Γ Μετάδοση Μετάδοση Μετάδοση Slot 0 1 2 3 4 Εvent Collision1 A: backoff{0,1}- Β: backoff{0,1}- Γ: backoff{0,1}- Collision2 A: B: Γ: >Επιλ. 2
P 1 2 1 2 1 2 = 1 8 1 4 1 4 1 4 = 1 64 Εδώ, μόνο για το collision 2 υπάρχουν και άλλοι συνδυασμοί backoff επιλογών που οδηγούν στο επιθυμητό αποτέλεσμα. Οι συνδυασμοί αυτοί είναι: (Α: επιλ 0 και Β: επιλ 1 και Γ: επιλ. 2) ή (Α: επιλ 0 και Β: επιλ 2 και Γ: επιλ. 1) ή (Α: επιλ 1 και Β: επιλ 0 και Γ: επιλ. 2) ή (Α: επιλ 1 και Β: επιλ 2 και Γ: επιλ. 0) ή (Α: επιλ 2 και Β: επιλ 0 και Γ: επιλ. 1) ή (Α: επιλ 2 και Β: επιλ 1 και Γ: επιλ. 0) Έτσι ορίσαμε 6 ακόμα σειρές γεγονότων, Σ 13 έως και Σ 18: P(Σ 13ή14ή ή18 ) = 6 1 8 1 64 = 6 512 (2.5 μονάδες) Η πιθανότητα να συμβεί οποιαδήποτε από τις σειρές γεγονότων που έχουμε ορίσει ως τώρα είναι P(Σ 1ή2ή ή18 ) = P(Σ 1ή2ή ή6 ) + P(Σ 7ή8ή ή12 ) + P(Σ 13ή14ή ή18 ) P(Σ 1ή2ή ή18 ) = 6 128 + 6 128 + 6 512 P(Σ 1ή2ή ή18 ) = 24 512 + 24 512 + 6 512 P(Σ 1ή2ή ή18 ) = 54 512 0.11 5. Αναφέρετε αν το Ethernet είναι πιο αποδοτικό από το slotted ALOHA και γιατί. Το slotted ALOHA δεν ακούει (sensing) το κανάλι πριν την ώστε να διαπιστώσει αν υπάρχει κίνηση την στιγμή που θέλει να εκπέμψει σε αντίθεση με το Ethernet. Επίσης δεν μπορεί να εντοπίσει μία σύγκρουση ώστε να σταματήσει τη σε περίπτωση που έχει αποφασίσει να στείλει ένα πακέτο. Αντίθετα το slotted ALOHA θεωρεί ότι όλοι οι κόμβοι είναι συγχρονισμένοι μεταξύ τους. Η απόδοση του Ethernet ορίζεται ως: E = 1 / (1 + (5*d prop / d trans)) Σε περίπτωση που το d prop προσεγγίζει το 0, η απόδοση προσεγγίζει το 1 (λογικό αφού οι κόμβοι απορρίπτουν αμέσως, χωρίς να σπαταλούν το κανάλι). Επίσης όταν το d trans είναι μεγάλο η απόδοση προσεγγίζει το 1 (λογικό αφού το πλαίσιο θα απασχολήσει το κανάλι για μεγάλο χρονικό διάστημα). Αντίθετα για την απόδοση του slotted ALOHA έστω ότι υπάρχουν Ν κόμβοι η πιθανότητα ένας κόμβος να έχει επιτυχία είναι Ν*p*(1-p) N+1. Για να βρούμε τη μέγιστη απόδοση για Ν ενεργούς κόμβους πρέπει να βρούμε το p που μεγιστοποιεί την πιθανότητα. Κάνοντας τους κατάλληλους υπολογισμούς, έχουμε ότι E = 1/e = 0.37, δηλαδή μεγάλο αριθμό κόμβων που θέλουν να εκπέμψουν το 37% των θυρίδων κάνει χρήσιμη εργασία. Οπότε παρατηρούμε ότι το Ethernet είναι πιο αποδοτικό από το slotted ALOHA. 6. Θεωρήσετε την παρακάτω τοπολογία και ότι το host Β στέλνει ένα πακέτο προς το host Α. Το host Β ξέρει την IP διεύθυνση του host Α. Περιγράψετε όλα τα βήματα που θα πραγματοποιηθούν.
Αρχικά το Β δημιουργεί ένα δεδομενόγραμα με πηγή το Β και προορισμό το Α. Χρησιμοποιεί το ARP για να πάρει τη διεύθυνση MAC του R για το 222.222.222.220. Το Β δημιουργεί ένα πλαίσιο επιπέδου ζεύξης με προορισμό τη διεύθυνση MAC του R, το πλαίσιο περιέχει το Β-προς-Α IP δεδομενόγραμμα. Η διεπαφή δικτύου (network interface) του Β στέλνει το πλαίσιο. Η διεπαφή δικτύου (network interface) του R λαμβάνει το πλαίσιο. Το R αποθυλακώνει το IP δεδομενόγραμμα από το πλαίσιο Ethernet και βλέπει ότι προορισμός είναι το Α. Το R χρησιμοποιεί τον ARP πίνακα και βρίσκει τη διεύθυνση MAC του Α. Το R δημιουργεί ένα πλαίσιο που περιέχει ένα Β-προς-Α IP δεδομενόγραμμα και το στέλνει. Τελικά ο Β λαμβάνει το πακέτο. 7. Έστω ο παρακάτω γράφος που αντιστοιχεί στην τοπολογία ενός δικτύου. Ο αριθμός δίπλα στην κάθε ακμή υποδεικνύει την καθυστέρηση ενός πακέτου όταν μεταδίδεται στην αντίστοιχη ζεύξη. Εφαρμόσετε τον αλγόριθμο του Dijkstra και υπολογίσετε το συντομότερο μονοπάτι από τον F σε όλους τους άλλους κόμβους. Χρειάζεται να παρουσιάσετε τον πίνακα που χρησιμοποιεί το βιβλίο του Kurose & Ross και παρουσιάσαμε στις διαλέξεις για τον αλγόριθμο αυτό. Συμπεριλάβετε όλα τα βήματα του αλγορίθμου. Ξεκινάμε από τον κόμβο F και έχουμε τον παρακάτω αναλυτικό πίνακα: N A B C D E G H F inf ιnf ιnf 3,f 1,f 6,f inf
FE inf ιnf 4,e 2,e 6,f inf FED inf 11,d 3,d 3,d inf FEDC 7,c 5,c 3,d inf FEDCG 7,c 5,c 17,g FEDCGB 6,b 7,b FEDCGBA 7,b Καλή επιτυχία!