DTN Routing Schemes
2 Εφαρμογές Delay Tolerant Networks Η δρομολόγηση στα Delay Tolerant Networks είναι ζωτικής σημασίας. Τα Delay Tolerant Networks χρησιμοποιούνται σε ένα μεγάλο εύρος εφαρμογών: Κινητά δίκτυα ad-hoc Αποστολές στο Απομακρυσμένο Διάστημα Υποβρύχιες αποστολές Δίκτυα αισθητήρων Δίκτυα ανάκαμψης σε περιπτώσεις μεγάλων καταστροφών Όλες οι παραπάνω εφαρμογές έχουν διαφορετικά χαρακτηριστικά και απαιτήσεις όσον αφορά τη σύνδεση.
3 Δρομολόγηση σε DTN Χαρακτηριστικό των DTNs είναι ότι δεν είναι διαθέσιμη μια σύνδεση από άκρο σε άκρο πάντα. Η σύνδεση από άκρο σε άκρο μπορεί να προκύψει μόνο προσωρινά ή κάποιες φορές ακόμη και καθόλου. Για την αντιμετώπιση της διακοπτόμενης συνδεσιμότητας μια λογική προσέγγιση είναι η δρομολόγηση με την τεχνική store and forward. Η δυσκολία στο σχεδιασμό ενός πρωτοκόλλου για αποδοτική και επιτυχημένη παράδοση των μηνυμάτων στους παραλήπτες τους είναι ο καθορισμός για κάθε μήνυμα των καταλληλότερων κόμβων και του καταλληλότερου χρόνου για την προώθηση. Ο πρωταρχικός σκοπός των πρωτοκόλλων δρομολόγησης στο DTN είναι η αύξηση της πιθανότητας να βρεθεί μια διαδρομή, χρησιμοποιώντας εξαιρετικά περιορισμένες πληροφορίες.
4 Ορισμός Contacts Η κάθε διαφορετική δυνατότητα (διαδρομή) επικοινωνίας ονομάζεται επαφή (contact) και χαρακτηρίζεται από τη διάρκεια, τη χωρητικότητα και την καθυστέρηση διάδοσης. Στο συγκεκριμένο παράδειγμα έχουμε τρεις διαφορετικές επαφές.
5 Είδη contacts Υπάρχουν τριών ειδών contacts: Προγραμματισμένες Προγραμματισμένες (Scheduled) Ευκαιριακές Ευκαιριακές (Opportunistic) Προβλέψιμες Προβλέψιμες (Predicted) Πρόβλημα της δρομολόγησης σε DTN αποτελεί η επιλογή των contacts που θα μεταφέρουν μηνύματα και ο χρόνος που θα γίνει η μεταφορά. Η επιλογή της διαδρομής εξαρτάται από ένα πλήθος παραγόντων όπως είναι η θέση του αποστολέα και του παραλήπτη, το μέγεθος των μηνυμάτων, ο χρόνος που πρέπει να παραδοθούν, οι διαθέσιμες contacts, η κίνηση στο σύστημα, το κόστος της κάθε διαδρομής κ.ά.
6 Σκοπός της δρομολόγησης σε DTN Σκοπός της δρομολόγησης είναι η μεγιστοποίηση της πιθανότητας επιτυχούς παράδοσης του μηνύματος. Τα μηνύματα όμως είναι πιθανό να χαθούν εξαιτίας της δημιουργίας κάποιου κλειστού βρόχου δρομολόγησης (loop) ή αν η χωρητικότητα στους buffers εξαντληθεί. Για το λόγο αυτό ως προσέγγιση δίνουμε βάση στην μείωση της καθυστέρησης ενός μηνύματος, η οποία οδηγεί σε μείωση του χρόνου κατά τον οποίο ένα μήνυμα «απασχολεί» τους buffers και, κατά συνέπεια, σε μείωση του πλήθους των μηνυμάτων που απορρίπτονται λόγω υπερχείλισης των buffers.
7 Σημεία όπου μπορεί να γίνει η δρομολόγηση Η δρομολόγηση στο DTN μπορεί να γίνει σε τρία διαφορετικά σημεία: Source Routing Ολόκληρη η διαδρομή ενός μηνύματος καθορίζεται στον κόμβο-πηγή και κωδικοποιείται με κάποιο τρόπο μέσα στο μήνυμα. Per Hop Routing Ο επόμενος κόμβος (hop) του μηνύματος καθορίζεται σε κάθε κόμβο μαζί με το μονοπάτι δρομολόγησης. Per Contact Routing Ο πίνακας δρομολόγησης επανα-υπολογίζεται κάθε φορά που εντοπίζεται μία νέα επαφή. Αυτό βεβαιώνει ότι κάθε απόφαση δρομολόγηση γίνεται με τις πιο πρόσφατες πληροφορίες.
8 Contacts οι οποίες είναι διαθέσιμες σπάνια έχουν υψηλή αναμενόμενη ελάχιστη καθυστέρηση. Παρόλα αυτά, μπορούμε να τις εκμεταλλευτούμε όταν γίνονται προσωρινά διαθέσιμες, θέτοντας μηδενικό κόστος. Αυτά ονομάζονται «μικρά κυκλώματα» (short circuits). Short Circuits Η δρομολόγηση per contact σε συνδυασμό με τα short circuits είναι αποτελεσματική για το DTN επειδή εγγυάται ότι οι αποφάσεις λαμβάνονται με τις πιο πρόσφατες πληροφορίες.
9 Epidemic Routing Είναι μια από τις πρώτες προτάσεις δρομολόγησης και βασίζεται στην αντιγραφή μηνυμάτων μέσα από τυχαίες ανταλλαγές ανάμεσα στους κόμβους, μέχρι όλοι οι κόμβοι να έχουν ένα αντίγραφο του κάθε μηνύματος. Μπορεί να πετύχει υψηλό ρυθμό παράδοσης και λειτουργεί χωρίς προηγούμενη γνώση του πρότυπου επικοινωνίας. Είναι κατάλληλη για δίκτυα όπου οι επαφές μεταξύ των κόμβων δεν μπορούν να προβλεφθούν. Ο πόρος ζωτικής σημασίας στο epidemic routing είναι ο buffer. Απαιτείται ένα έξυπνο σύστημα διαχείρισης του buffer για την βελτίωση του ρυθμού παράδοσης σε σχέση με το απλό FIFO.
10 Παρόμοιοι αλγόριθμοι δρομολόγησης Παρόμοιοι αλγόριθμοι δρομολόγησης είναι οι εξής: RAPID • RAPID: Πριν αντιγράψει ένα πακέτο, ελέγχει κάθε φορά αν οι πόροι που θα χρησιμοποιηθούν αιτιολογούν την αντιγραφή. • MaxProp • MaxProp: Προσπαθεί να βελτιώσει τον ρυθμό παράδοσης μηνυμάτων χρησιμοποιώντας περιορισμένη αντιγραφή λόγω περιορισμένου χώρου αποθήκευσης και bandwidth. • Spray&Wait • Spray&Wait: Προσπαθεί να μειώσει την καθυστέρηση, αλλά δεν λαμβάνει υπόψη τους περιορισμούς του buffer και του bandwidth. • Random • Random: Αντιγράφει τυχαία τα μηνύματα, προσπαθώντας να τα παραδώσει επιτυχώς στον παραλήπτη τους.
11 Συγκριτικά αποτελέσματα
12 Link State Routing Το Link State Routing περιλαμβάνει την ενημέρωση όλων των κόμβων της τοπολογίας του δικτύου, επιτρέποντας στον κάθε κόμβο να υπολογίζει ανεξάρτητα τους προτιμώμενους επόμενους κόμβους. Η τοπολογία πλημμυρίζεται από Link State Announcements, οι οποίες μπορεί να περιλαμβάνουν και πληροφορίες σχετικά με την κατάσταση του κόμβου (π.χ. κατάσταση buffer). Η σημαντική διαφορά ανάμεσα στο κλασσικό Link State Routing και το Delay Tolerant Link State Routing, σε σχέση με τον υπολογισμό της βέλτιστης διαδρομής, είναι ότι στο DTLSR ακόμη και οι συνδέσεις οι οποίες δεν είναι προσωρινά διαθέσιμες αποτελούν συστατικά στον υπολογισμό της βέλτιστης διαδρομής.
13 Συνάρτηση που χρησιμοποιείται: F[E lsa app ] LSR LSR: παρέχει σταθερό κόστος σε συνδέσεις που είναι διαθέσιμες και άπειρο βάρος σε συνδέσεις που δεν λειτουργούν. DTLSR DTLSR: χρησιμοποιεί μια συνάρτηση του πλήθους των μηνυμάτων, του μήκους της ουράς και του bandwidth για να εξάγει το κόστος της κάθε διαδρομής. Link State Routing (2)
14 Knowledge oracles Το πρόβλημα της δρομολόγησης σε DTN έχει πολλές μεταβλητές εισόδου, όπως είναι τα χαρακτηριστικά της δυναμικής τοπολογίας. Η πλήρης γνώση των μεταβλητών διευκολύνει τον υπολογισμό των βέλτιστων διαδρομών. Mε μερική γνώση, η ικανότητα να υπολογίσουμε βέλτιστες διαδρομές δυσχεραίνει και η απόδοση της τελικής δρομολόγησης αναμένεται να είναι κατώτερη. Για την κατανόηση αυτής της ανταλλαγής ανάμεσα σε απόδοση και γνώση δημιουργούμε ένα σύνολο από «προφήτες» γνώσης (knowledge oracles), κάθε ένας από τους οποίους είναι ικανός να απαντήσει σε ερωτήσεις που του θέτουμε.
15 Contacts Summary Oracle Contacts Summary Oracle: Μπορεί να απαντήσει σε ερωτήσεις σχετικά με συνολικά στατιστικά των contacts. Συγκεκριμένα, παρέχει τον μέσο χρόνο αναμονής μέχρι την νέα contact για κάθε κόμβο. Contacts Oracle Contacts Oracle: Μπορεί να απαντήσει σε κάθε ερώτηση που αφορά contacts ανάμεσα σε δύο κόμβους, οποιαδήποτε χρονική στιγμή. Queuing Oracle Queuing Oracle: Δίνει πληροφορίες σχετικά με την άμεση κατάσταση των buffers σε κάθε κόμβο, κάθε χρονική στιγμή. Χρησιμοποιείται για να αποφευχθεί η δρομολόγηση από κόμβους που παρουσιάζουν συμφόρηση και επηρεάζεται τόσο από νέα μηνύματα που φτάνουν στο σύστημα, όσο από τις επιλογές που γίνονται από τον ίδιο τον αλγόριθμο δρομολόγησης. Traffic Demand Oracle Traffic Demand Oracle: Μπορεί να απαντήσει σε κάθε ερώτηση που αφορά τωρινή ή μελλοντική κίνηση δεδομένων (traffic demand). Έχει τη δυνατότητα να μας γνωστοποιεί το σύνολο των μηνυμάτων που θα εισαχθούν μέσα στο σύστημα οποιαδήποτε χρονική στιγμή. Knowledge oracles (2)
16 Knowledge oracles (3) Παραπάνω απεικονίζονται οι προφήτες σε σχέση με την αναμενόμενη απόδοση και δίνονται οι απαιτήσεις σε προφήτες του κάθε προτεινόμενου αλγόριθμου δρομολόγησης.
17 MobySpace Η βασική αρχή του MobySpace είναι η χρήση του Ευκλείδειου χώρου ως ένα εργαλείο που θα βοηθήσει τους κόμβους να πάρουν αποφάσεις δρομολόγησης. Οι αποφάσεις βασίζονται στην παραδοχή ότι ένας κόμβος είναι ένας καλός υποψήφιος για να παραλάβει ένα bundle, αν έχει ένα πρότυπο κίνησης (mobility pattern) παρόμοιο με αυτό του τελικού προορισμού του bundle. Συγκεντρώνοντας πληροφορίες για τις επαφές (contacts) δημιουργούμε έναν εικονικό χώρο, στον οποίο κάθε πιθανή επαφή είναι ένας άξονας και η απόσταση του άξονα αποτελεί ένα μέτρο πιθανότητας ύπαρξης της επαφής.
18 Δύο κόμβοι που έχουν παρόμοιο σύνολο contacts τα οποία συναντούν με παρόμοια συχνότητα είναι κοντά στον χώρο. Αντίθετα, κόμβοι που έχουν πολύ διαφορετικά σύνολα contacts ή έχουν τις ίδιες επαφές, αλλά τις συναντούν με πολύ διαφορετικές συχνότητες, θα είναι μακριά στον χώρο. Είναι λογικό κάποιος να θέλει να περάσει ένα bundle σε έναν κόμβο, ο οποίος είναι όσο το δυνατόν πιο κοντά στον παραλήπτη στο χώρο αυτό, επειδή αυτό θα βελτιώσει την πιθανότητα να φτάσει τελικά στον προορισμό του. MobySpace (2)