Μηχανισμοί Πρόσβασης Μέσου σε Κατανεμημένα Συστήματα Χρήστος Αντωνόπουλος Ηλεκτρολόγος Μηχανικός Ph.D.
OSI/ISO model
Επίπεδο Σύνδεσης (MAC) Σύνδεσης Ίσως το κρισιμότερο επίπεδο για την απόδοση και αξιοπιστία της δικτυακής επικοινωνίας Έλεγχος πρόσβασης στο μέσο Υποστήριξη QoS Πρώτο επίπεδο ασφάλειας δεδομένων Πρώτο επίπεδο ανίχνευσης και διόρθωσης σφαλμάτων στη επικοινωνία Διαχείριση πόρων (κυρίως χρόνος και συχνότητα)
Απαιτήσεις Απόδοσης Καθυστέρηση (delay) Διαπερατότητα (throughput) Ανθεκτικότητα (robustness) Κλιμάκωση (scalability) Σταθερότητα (stability) Δικαιοσύνη (fairness) Ενεργειακή απόδοση (energy efficiency)
Κεντρικοποιημένη/ προγραμματισμένη πρόσβαση Κύρια Ιδέα: Κεντρικός σταθμός ελέγχει πλήρως πότε κάθε κόμβος μπορεί να αποκτήσει πρόσβαση στο μέσο Παραδείγματα: Διαδοχικές ερωτήσεις (Polling), Κεντρικός υπολογισμός TDMA προγραμματισμού Πλεονεκτήματα: Συνήθως απλή υλοποίηση, καλή διαχείριση υψηλού φορτίου Μειονεκτήματα: Δεν είναι πρακτικό για μεγάλο πλήθος κόμβων (bad scalability), single point of failure, απαιτεί συγχρονισμό, επιβάρυνση ενός κόμβου, σημαντικό overhead σε χαμηλά φορτία
Κατανεμημένη/ ανταγωνιστική πρόσβαση Κύρια Ιδέα: Όλοι οι κόμβοι είναι ισότιμοι, ενεργούν αυτόνομα και ανεξάρτητα, δεν υπάρχει προκαθορισμένο πρόγραμμα Παραδείγματα: ALOHA, CSMA, CSMA/CD, CSMA/CA …… Πλεονεκτήματα: Σθεναρότητα, ευελιξία, δεν απαιτείται συγχρονισμός, καλή απόδοση σε χαμηλά-μέτρια φορτία, υπολογισμένο ρίσκο σε υψηλά, σημαντικές επεκτάσεις για καλή διαχείριση υψηλού φορτίου Μειονεκτήματα: Συγκρούσεις σε υψηλά φορτία, control overhead για το έλεγχο της πρόσβασης
ALOHA Πρωτόκολλο Κύρια Ιδέα: Όποτε δημιουργείται πακέτο, μεταδίδεται άμεσα χωρίς κανένα έλεγχο Προέλευση: Πανεπιστήμιο Hawaii, πρώτη λειτουργία το 1971, στόχος: ο διαμοιρασμός ενός υπολογιστή μεταξύ των νησιών Hawaii Πλεονεκτήματα: Απλούστατη υλοποίηση Κανένας συγχρονισμός δεν απαιτείτο
ALOHA Πρωτόκολλο Μειονεκτήματα: Καμία προστασία από συγκρούσεις Πακέτα ACK επίσης υπόκεινται σε συγκρούσεις και οδηγούν σε εσφαλμένη αντίληψη απώλειας Μία μετάδοση μπορεί να οδηγήσει σε παραπάνω από 1 συγκρούσεις
ALOHA Πρωτόκολλο Αποτέλεσμα: Αν G o μέσος αριθμός μεταδόσεων σε διάστημα ενός πακέτου Slotted Aloha
CSMA Τεχνική Βασική ιδέα: Έλεγχος για μετάδοση σε εξέλιξη πριν τη μετάδοση. Αν ανιχνευτεί κάτι τέτοιο αναμονή μέχρι την ολοκλήρωση της μετάδοσης. Carrier Sense: Δειγματοληψία του μέσου και προσπάθεια αναγνώρισης κωδικοποιημένων δεδομένων στο σήμα φορέα Multiple Access: Δηλώνει ότι η μετάδοση του ενός μπορεί να ληφθεί από πολλούς
CSMA Τεχνική Non-Persistent : Δειγματοληψία καναλιού: Αν απασχολημένο, αναμονή για τυχαίο χρόνο και επανάληψη Αν αδρανές, άμεση αποστολή Σε περίπτωση σύγκρουσης: Αναμονή για τυχαίο χρόνο και επανάληψη διαδικασίας
CSMA Τεχνική 1-Persistent : Δειγματοληψία καναλιού: Αν απασχολημένο, συνεχή παρακολούθηση καναλιού και άμεση αποστολή όταν αυτό γίνει αδρανές Αν αδρανές, άμεση αποστολή Σε περίπτωση σύγκρουσης: Αναμονή για τυχαίο χρόνο και επανάληψη διαδικασίας Η τεχνική ονομάζεται 1-persistence διότι με πιθανότητα 1 θα γίνει μετάδοση όταν το κανάλι είναι αδρανές Πιθανότητα σύγκρουσης: αν Β, C θέλουν να μεταδώσουν στη μέση του Α Όταν ο Α τελειώσει θα προσπαθήσουν ταυτόχρονα Σύγκρουση
CSMA Τεχνική Σύγκριση 1 και non persistence κόμβων Β και C θέλουν μεταδώσουν στη μέση του Α 1-persistence: B και C συγκρούονται Non-persistence: B και C πιθανόν δεν θα συγκρουστούν Αν μόνο ο Β θέλει να μεταδώσει 1-persistence: B μεταδίδει επιτυχώς και άμεσα Non-persistence: πιθανών ο B θα περιμένει ενώ δεν χρειάζεται Άρα κάτι ενδιάμεσο ?
CSMA Τεχνική P-Persistence : 1. Δειγματοληψία καναλιού: Αν αδρανές, μετάδοση με πιθανότητα p Αν μετάδοση Βήμα 2 Αν όχι μετάδοση αναμονή συγκεκριμένου χρονικού διαστήματος και Βήμα 1 Αν απασχολημένο κανάλι, αναμονή συγκεκριμένου χρονικού διαστήματος και Βήμα 1 2. Έλεγχος για σύγκρουση 1. Σε περίπτωση σύγκρουσης, αναμονή για τυχαίο χρόνο και Βήμα 1
CSMA Τεχνική P-Persistence : Θεωρούμε P-persistent CSMA με p = 0.5: Αν αδρανές, άμεση μετάδοση με πιθανότητα 0.5 Με πιθανότητα 0.5 αναμονή συγκεκριμένου χρόνου και επανάληψη
Συγκριτικό CSMA -ALOHA
CSMA/CD Βασικό πρόβλημα των CSMA τεχνικών Σε περίπτωση ταυτόχρονης μετάδοση, μεταδίδονται 2 πλήρη πακέτα τα οποία θα συγκρουστούν απώλεια πόρων του καναλιού Αντιμετώπιση μέσω της CD προσθήκης Με την αναγνώριση σύγκρουσης, άμεση παύση μετάδοσης εξοικονόμηση πόρων Collision Detection CD
CSMA/CD Αναγνώριση σύγκρουσης Εύκολο στα ενσύρματα μέσα: οι ισχύς σημάτων είναι άμεσα γνωστές σε όλους Δύσκολο έως αδύνατο στα ασύρματα: ο πομπός δεν μπορεί να καταλάβει τι γίνεται στον παραλήπτη Ανάλογο ανθρώπινης συμπεριφοράς: ο ευγενικός συνομιλητής
CSMA/CD Δειγματοληψία καναλιού Αν αδρανές, άμεση αποστολή Αν απασχολημένο, αναμονή μέχρι να γίνει αδρανές Σε περίπτωση σύγκρουσης Άμεση παύση της τρέχουσας μετάδοσης Αναμονή τυχαίου χρόνου και επανάληψη
CSMA/CD Carrier Sense Μείωση των συγκρούσεων Collision Detection Μείωση των επιπτώσεων των συγκρούσεων
Σε ασύρματα μέσα όμως Collision detection πολύ δύσκολο 2 επιπλέον σημαντικά προβλήματα Hidden node problem Exposed node problem
Hidden node problem Κατάσταση O A ακούει τον Β Ο C ακούει τον Β Ο Α είναι κρυμμένος από τον C και το ανάποδο Πρόβλημα: Πως θα συγχρονιστούν Α και C να μην μεταδώσουν ο ένας πάνω στον άλλο ?
Exposed node problem Κατάσταση Λόγω της S1 R1 μετάδοσης ο S2 αντιλαμβάνεται busy μέσο και δεν μεταδίδει στον R2 ενώ μπορεί Πρόβλημα: Πως ο S2 μπορεί να καταλάβει ότι μπορεί να μεταδώσει προς R2 χωρίς σύγκρουση
CSMA/CA Αφού είναι δύσκολο οι συγκρούσεις να γίνουν αντιληπτές, γίνεται προσπάθεια να αποφευχθούν. Πακέτα ελέγχου προς ανακοίνωση της επικείμενης επικοινωνία (Request to Sent – Clear to Sent) Network Allocation Vector: Αποθηκεύεται ο χρόνος που το μέσο θα είναι απασχολημένο Binary Exponential Back-off timer: Σε περίπτωση που το μέσω είναι απασχολημένο
RTS-CTS, NAV B C : RTS C B: αν το κανάλι από τη δική του πλευρά είναι idle CTS Πιθανοί παρεμβολείς ενημερώνονται για την επικείμενη μετάδοση και πόσο διαρκεί Αποθήκευση στο NAV C B: Ack μετά το πακέτο
Binary exponential Backoff timer Συνήθως ο default backoff αλγόριθμος σε CSMA/CD, CSMA/CA και Ethernet Backofftime = random()*Slottime Slottime = 2 x end-to-end propagation delay Random() = τυχαίος αριθμός από 0 μέχρι 2 W -1 όπου W ο αριθμός των συγκρούσεων Στο Ethernet 15 κατά μέγιστο επιτρεπτές επαναλήψεις Στη 16 το πακέτο απορρίπτεται
Binary exponential Backoff timer Παράδειγμα Υποθέτουμε ότι Α και Β συγκρούονται 1 η φορά backoff για τυχαίο αριθμό slot_time στο [0, ] Υποθέτουμε ότι ξανασυγκρούονται 2 η φορά backoff για τυχαίο αριθμό slot_time στο [0, ] …… Αν κάποιος συγκρουστεί συνεχόμενα 16 φορές πακέτο drop
Αποτυχίες CSMA/CA To CSMA/CA αντιμετωπίζει σε μεγάλο βαθμός τα hidden/exposed node προβλήματα, αλλά όχι πλήρως
Αρχιτεκτονική STA AP ESS BSS Existing Wired LAN Infrastructure Network Ad Hoc Network
Δυνατότητες λειτουργίας Κατανεμημένη Λειτουργία Συντονισμού (DCF-Distributed Coordination Function). Κατανεμημένη CSMA/CA Exponential back off Σημειακή Λειτουργία Συντονισμού (PCF- Point Coordination Function). Σταθμός βάσης έλεγχου όλων δραστηριοτήτων στην κυψέλη. Προαιρετική.
Διαστήματα IFS SIFS (Sort Inter Frame Space). Χρησ/ται για να δώσει στα δύο άκρα μιας συνδιάλεξης την ευκαιρία να μεταδώσουν πρώτα. Τα ακόλουθα πλαίσια χρησιμοποιούν τα διαστήματα SIFS : ACK ( Acknowledgments) CTS / RTS (Clear To Send / Ready To Send ) PIFS (Point Coordination IFS). Επιτρέπει σε ένα σταθμό που στέλνει ένα πλαίσιο η μία ακολουθία θραυσμάτων να ολοκληρώσει το πλαίσιο του χωρίς να μπεί κανείς άλλος στη μέση. Το γεγονός αυτό δίνει την δυνατότητα στους PCF σταθμούς να έχουν μεγαλύτερη προτεραιότητα από τους DCF σταθμούς. Ισχύει ή σχέση : PIFS = SIFS + Slot_Time
Διαστήματα IFS DIFS (Distributed Coordination IFS). Κάθε σταθμός μπορεί να προσπαθήσει να καταλάβει το κανάλι για να στείλει ένα νέο πλαίσιο. Επειδή το DIFS είναι μεγαλύτερο από το PIFS δίνει στα πλαίσια του μηχανισμού PCF μεγαλύτερη προτεραιότητα από τα πλαίσια του μηχανισμού DCF EIFS (Extended IFS). Το EIFS είναι το μεγαλύτερο από όλα τα IFS και χρησιμοποιείται από ένα σταθμό ο οποίος έλαβε ένα λανθασμένο πακέτο. Αυτό δίνει τη δυνατότητα αν κάποιος άλλος το έλαβα σωστά να στείλει ACK
ΙΕΕΕ MAC: CSMA/CA CSMA: εκπομπή Εάν ο δίαυλος είναι αδρανής για DISF sec. Τότε στέλνεται ένα πλαίσιο (δεν ανιχνεύεται σύγκρουση) Εάν ο δίαυλος είναι κατειλημμένος τότε γίνεται δυαδική οπισθοχώρηση CSMA λήψη: Εάν το πλαίσιο ληφθεί σωστά αποστέλλεται ACK μετά από SIFS sec
Αποφυγή συγκρούσεων: ανταλλαγή RTS-CTS Σύντομα RTS και CTS: μικρότερη πιθανότητα σύγκρουσης, μικρότερης διάρκειας Αποτέλεσμα παρόμοιο με την ανίχνευση σύγκρουσης Το ΙΕΕΕ επιτρέπει: CSMA CSMA/CA: κρατήσεις Polling από το AP
CA
DCF
PCF Προαιρετική λειτουργία Βασίζεται στην DCF Βελτιώνει σημαντικά την απόδοση επικοινωνιών με αυστηρά χρονικά όρια (π.χ. Real-time)
802.11e QoS Εισήγαγε QoS δυνατότητες μέσω τεσσάρων ουρών EDCA ( Enhanced Distributed Coordination Access ) Στην ουσία DCF με 4 προτεραιότητες (Background, BE, Video, Voice) Διαλέγοντας κατάλληλες τιμές IFS και min-max για τα backoff διαστήματα, δίνουμε προτεραιότητα σε μια κίνηση σε σχέση με την άλλη HCCF ( HCF Controlled Channel Access ) δίνει τη δυνατότητα συνύπαρξης contention και connectionless based πρόσβαση ελεγχόμενη από beacons
EDCA ( Enhanced Distributed Coordination Access )
HCCA Αλγόριθμος AIFS TXOP ( Station n ) Stations HC time DATA Superframe QoS CF-Poll EDCA RTS backoff time … … PIFS Beacon Frame … … PCF EDCA CAP … … CAP (HCCA) … … … … T CA SIFS ACK TXOP ( Station m ) DATA QoS CF-Poll … PIFSSIFS ACK DIFS PIFS DIFS Beacon Frame Χρησιμοποιεί EDCA αλγόριθμο CAP HC εκκινεί CAP (Controlled Access Phase) στη διάρκεια της οποίας μόνο polled ή Q_STAs επιτρέπεται να μεταδώσουν
ΙΕΕΕ MAC Χαρακτηριστικά Αστέρα και peer-to-peer τοπολογίες Προαιρετική δομή πακέτων CSMA-CA βασικός μηχανισμός πρόσβασης Προαιρετικά χρονικά διαστήματα εγγυημένης πρόσβασης guaranteed time slots (GTS) Δυνατότητα λειτουργίας χαμηλής ισχύος Ασφάλεια
Full function device (FFD) Χρησιμοποιείται σε κάθε τοπολογία Ικανή για εκτέλεση καθήκοντα συντονιστή Δυνατότητα επικοινωνίας με κάθε άλλο είδος συσκευής Reduced function device (RFD) Χρησιμοποιείται μόνο σε τοπολογία αστέρα Δεν μπορεί να εκτελέσει καθήκοντα συντονιστή Επικοινωνεί μόνο με τον συντονιστή Εστίαση σε πολύ απλή υλοποίηση ΙΕΕΕ MAC Χαρακτηριστικά
ΙΕEE Ορισμοί Network Device: RFD or FFD συσκευή η οποία υλοποιεί το IEEE MAC πρωτόκολλο και την αντίστοιχη φυσική διεπαφή στο μέσο. Coordinator: FFD με δυνατότητα και καθήκον να ελέγχει τη λειτουργία άλλων συσκευών στο δίκτυο. PAN Coordinator: Coordinator υψηλότερης προτεραιότητας για να παρακολουθεί τη λειτουργία των άλλων. Σε κάθε δίκτυο μπορεί να υπάρχει μόνο μια τέτοια συσκευή Όλες οι συσκευές αυτές δεν πρέπει να είναι πιο πολύπλοκες από έναν πομποδέκτη, μια 8bit MCU και ένα ζευγάρι ΑΑΑ μπαταρίες
Low-Power Λειτουργίες Duty-cycle έλεγχος μέσω superframe δομής Στόχος η επέκταση τη ζωής του coordinator Έμμεση μετάδοση δεδομένων Συσκευές μπορούν να μεταβαίνουν σε off κατάσταση για μεγάλα χρονικά διαστήματα
Star Topology FFD RFD Communications flow Master/slave PAN coordinator
Peer-Peer Topology Communications flow Point to point Cluster tree FFD RFD PAN coordinators
Combined Topology FFD RFD Communications flow Clustered stars - for example, cluster nodes exist between rooms of a hotel and each room has a star network for control.
Βασική δομή πακέτου 15ms * 2 n where 0 n 14 GTS 3GTS 2 Network beacon Transmitted by PAN coordinator. Contains network information, frame structure and notification of pending node messages. Beacon extension period Space reserved for beacon growth due to pending node messages Contention period Access by any node using CSMA-CA Guaranteed Time Slot Reserved for nodes requiring guaranteed bandwidth [n = 0]. GTS 1 Slot Contention Access Period Contention Free Period
Optional Frame Structure Superframe may have inactive period 15ms * 2 BO where SO BO 14 15ms * 2 SO where 0 SO 14 SO = Superframe order BO = Beacon order Inactive Period
ΙΕΕΕ ΜΑC Star network: οι συσκευές συνδέονται με τον coordinator Έτσι σχηματίζουν ένα PAN Coordinator Ελέγχει τις συσκευές, την απόδοση διευθύνσεων Επικοινωνεί με τις συσκευές και του ισότιμους coordinators Beacon-mode superframe δομή GTS assigned to devices upon request
ΙΕΕΕ ΜΑC Επικοινωνία 2 καναλιών Non-beacon network Standard ALOHA ή CSMA-CA επικοινωνίες Αck πακέτα για επιτυχή λήψη Beacon-enabled network Superframe δομή Στόχος δεσμευμένη απόδοση bandwidth και χαμηλή καθυστέρηση για επικοινωνία με αυστηρούς χρονικού περιορισμούς
MAC σε WSN δίκτυα Βασικός στόχος στα WSN Οι κόμβοι να παραμένουν σε sleep κατάσταση όσο γίνεται περισσότερο Στόχος: Ελαχιστοποίηση της σπατάλης ενέργειας σε idle listening και overhearing Μη απώλεια πακέτων επειδή ο παραλήπτης είναι σε sleep κατάσταση όταν μεταδίδεται το πακέτο Πρόβλημα: Συντονισμός παραλήπτη - αποστολέα
Ανταλλαγή rendez-vous πακέτων Η ιδέα από τα ATIM Windows του Κόμβοι που έχουν αποθηκευμένα δεδομένα για παραλήπτες στέλνουν traffic indicators σε προδιαγεγραμμένες χρονικές στιγμές Οι παραλήπτες ενεργοποιούνται αυτές τις χρονικές στιγμές, ενώ τις υπόλοιπες είναι σε κατάσταση sleep
S-MAC Ιδέα : Κοινό on-ff πρόγραμμα γειτονικών κόμβων, έτσι ώστε να επιτραπεί η ανταλλαγή πακέτων(rendez-vous) Η ανταλλαγή πακέτων συμβαίνει μόνο σ’ αυτές τις ενεργές περιόδους Ανάγκη για επιπλέον ανταλλαγή προγραμματισμού ενεργοποίησης μεταξύ των γειτόνων Όταν γίνει ενεργοποίηση, κυρίως εκτελούνται RTS/CTS Χρήση SYNCH,RTS,CTS φάσεων
S-MAC Από τα πρώτα πρωτόκολλα ειδικά σχεδιασμένα για WSN Μειώνει τη σπατάλη ενέργειας από πολλούς παράγοντες Idle listening, collision, overhearing και control overhead Χρονικός sleep/wakeup κύκλος Κάθε κόμβος έχει τον δικό του wakeup-listen (communicate), sleep πρόγραμμα Τα πρόγραμμα μοιράζονται με τους γείτονες τα σχηματίζοντας τα Synchronized islands
S-MAC Duty cycle = (listen period)/(sleep period) Προτεινόμενα η τιμή του Duty Cycle είναι 1-10% Προσαρμοζόμενο listen period με βάση τη κίνηση για καλύτερη απόδοση σε υψηλό φορτίο κίνησης
S-MAC Energy Performance Heavy Load Light Load Mica motes
S-MAC Latency Performance (Χαμηλό Φορτίο)
S-MAC Latency & Throughput Performance (Υψηλό Φορτίο)
Energy-Time (Js)/byte Heavy Load Light Load
Preamble Sampling Ως τώρα : Περιοδικό sleeping υποστηρίζεται από κάποια μέσα για να συγχρονιστεί η ενεργοποίηση των κόμβων και να διασφαλιστεί έτσι το “rendez-vous” αποστολέα και παραλήπτη Εναλλακτική επιλογή : Να μη συγχρονίζονται οι κόμβοι με σαφήνεια Ο παραλήπτης να είναι σε κατάσταση sleep και να δειγματοληπτεί μόνο περιοδικά το κανάλι Χρήση “long preambles” για να διασφαλιστεί ότι ο παραλήπτης ενεργοποιείται για να πιάσει το ακριβές πακέτο Για παράδειγμα : BMAC Έναρξη μετάδοσης :
B-MAC - Berkeley MAC Συνδυάζει αρκετές από τις ιδέες ανταγωνιστικής πρόσβασης Εκτίμηση Αδρανούς Καναλιού Προσαρμογή στον κατώτερο θόρυβο κατά την δειγματοληψία του καναλιού όταν υποτίθεται ότι αυτό είναι διαθέσιμο Για πραγματική εκτίμηση κατά την αποστολή ενός πακέτου, γίνεται έλεγχος σε πέντε δείγματα καναλιού – το κανάλι είναι διαθέσιμο αν έστω κι ένα είναι με χαμηλότερο θόρυβο από τα υπόλοιπα Προαιρετικά : τυχαίο backoff αν το κανάλι θεωρείται απασχολημένο Προαιρετικά : Άμεσες επιβεβαιώσεις link επιπέδου για τα πακέτα που λαμβάνονται
B-MAC - Berkeley MAC B-MAC’s Goals: Λειτουργία χαμηλής ισχύος Αποδοτική αποφυγή συγκρούσεων Απλή υλοποίηση (small code) Αποδοτικό σε μεγάλο φάσμα φορτίων Προσαρμόσιμο σε αλλαγές τοπολογίας και αριθμού κόμβων (scalability)
B-MAC - Berkeley MAC Clear Channel Assessment (CCA): εκτίμηση αδρανούς καναλιού Low Power Listening (LPL) (ακρόαση καναλιού χαμηλής ισχύος) χρησιμοποιώντας preamble δειγματοληψία Επιπλέον μηχανισμοί (π.χ. Hidden terminal αποφυγή) δεν παρέχονται Δεν υπάρχει RTS/CTS Αν και όταν χρειάζεται πρέπει να υλοποιηθεί από ανώτερα επίπεδα Sleep t ReceiveReceiver Sleep t PreambleSenderMessage Sleep
B-MAC - Berkeley MAC Χαμηλής Ισχύος Listening (= preamble sampling) Χρήση τεχνικών εκτίμησης αδρανούς καναλιού έτσι ώστε να εκτιμηθεί αν υπάρχει πακέτο που φθάνει όταν ένας κόμβος ενεργοποιείται Timeout θέτει τον κόμβο σε κατάσταση sleep και πάλι αν δεν φτάσει κάποιο πακέτο Προσαρμοζόμενο preamble Το B-MAC δεν διαθέτει Συγχρονισμό RTS/CTS Καταλήγει σε απλούστερη υλοποίηση Καθαρό και απλό interface Προς το παρόν : Συχνά θεωρείται ως το default WSN MAC πρωτόκολλο