1
|
|
2
|
- Flooding
- Dijkstra’s Algorithm
- Αλγόριθμοi Δρ=
ομολόγησης
- Link State
- Distance Vector
- Δρομολόγηση
σε Κινητά
Δίκτυα
- Δρομολόγηση
σε ad hoc δίκτυα
|
3
|
- Κάθε πακέτο
αποστέλλετα=
953;
σε όλες τις
κατευθύνσει=
962;
εκτός από την
κατεύθυνση
απ’ όπου ήρθε=
;.
- Χρησιμοποιε=
943;ται
όπως είδαμε
στις γέφυρες
(σε επίπεδο
ζεύξης
δεδομένων)
- Πολύ
εύρωστος (σε
περίπτωση
που πολλοί
δρομολογητέ=
962;
σταματήσουν
να
λειτουργούν
ταυτόχρονο
π.χ. σε
πολεμικές επ&=
#953;χειρήσεις)
- Μη
αποδοτικός
αφού
δημιουργεί
πολλά
αχρείαστα
πακέτα.
- Καθόλου
ασφαλείς,
αφού στέλνει
πληροφορίες
σε κόμβους
που δεν χρειά=
ζεται
ή δεν πρέπει
να τις δούν.
|
4
|
- Ο αλγόριθμος
δρομολόγηση=
962;
σκοπό έχει να
ελαχιστοποι=
942;σει
μια μετρική
- Αριθμός
συνδέσεων (number of h=
ops)
- Φυσική
απόσταση (Km)
- Μέση
καθυστέρηση<=
/li>
- …
- Παρατηρήστε
πως πολλές
φορές οι
μετρικές
μπορεί να
είναι
συγκρουόμεν=
949;ς
- Ρυθμός
διεκπεραίωσ&=
#951;ς
(throughput) ή μέση
καθυστέρηση<=
/li>
- Ρυθμός
διεκπεραίωσ&=
#951;ς
(throughput) ή
δικαιοσύνη
|
5
|
- Οι κόμβοι
χωρίζονται
σε καταχωρημ&=
#941;νους
και μη
- Αρχικά όλοι
οι κόμβοι
είναι μη
καταχωρημέν&=
#959;ι
- Ορίζουμε τον
παραλήπτη (ή
αποστολέα) σα=
ν
ενεργό κόμβο =
(working
node)
- Τον σημαδεύο=
υμε
με το κόστος
μέχρι τον
παραλήπτη (ή
αποστολέα)
- Υπολογίζουμ&=
#949;
το κόστος για
όλους τους
κόμβους που
είναι συνδεδ=
εμένοι
με τον ενεργό
κόμβο.
- Επιλέγουμε (α=
πό
τους μη
καταχωρημέν=
959;υς
κόμβους) τον
κόμβο με το
μικρότερο
κόστος, τον
καταχωρούμε
και τον ονομά=
ζουμε
σαν τον νέο
ενεργό κόμβο.=
- Υπολογίζουμ&=
#949;
το κόστος για
όλους τους
κόμβους που
είναι συνδεδ=
εμένοι
με τον ενεργό
κόμβο
- Επαναλαμβάν&=
#959;υμε
το τελευταίο
βήμα μέχρι να
καταχωρήσου&=
#956;ε
όλους τους
κόμβους.
|
6
|
|
7
|
|
8
|
- Κατανεμημέν=
959;ς
αλγόριθμος Bellman=
-Ford
και Ford-Fulkerson
- Ο κάθε
δρομολογητή=
962;
διατηρεί ένα
διάνυσμα με
την «απόστασ=
η»
από κάθε
κόμβο στο
δίκτυο.
- Για κάθε
προορισμό
διατηρεί
επίσης τον
ακριβώς επόμ=
ενο
κόμβο στο
οποίο πρέπει
να σταλεί το
πακέτο.
- Υποθέτουμε
πως κάθε
δρομολογητή=
962;
μπορεί να
εκτιμήσει
την
«απόσταση»
σε όλους τους
γειτονικούς &=
#954;όμβους.
- π.χ.
αποστέλλοντ&=
#945;ς
ειδικά
πακέτα ECHO
- Κάθε
δρομολογητή=
962;
αποστέλλει
το διάνυσμα
αποστάσεων
σε όλους τους
γειτονικούς
κόμβους.
|
9
|
- Όταν ένας
δρομολογητή=
962;
j παραλάβει το
διάνυσμα από
τον
γειτονικό
δρομολογητή k
τότε
- Για κάθε
προορισμό
υπολογίζει
το άθροισμα
της απόσταση
από το
γειτονικό
κόμβο k συν τη =
57;
απόσταση από
τον
γειτονικό
κόμβο μέχρι
τον
προορισμό.
- Εάν το
άθροισμα
είναι
μεγαλύτερο
από την
απόσταση που=
ο
j έχει στο δικ =
72;
του διάνυσμα,
το αγνοεί.
- Εάν είναι μικ=
;ρότερη,
τότε
αποφασίζει
ότι είναι πιο
αποδοτικό να=
αποστέλλει
τα πακέτα του
μέσω του
γειτονικού
κόμβου k.
|
10
|
|
11
|
|
12
|
- Αποφεύγει το
πρόβλημα της
σύγκλισης
αφού χρησιμο&=
#960;οιεί
όχι μόνο
τοπικές
πληροφορίες
αλλά και την τ=
;οπολογία
όλου του
δικτύου.
- Κύρια
χαρακτηριστ=
953;κά
του Link State
- Κάθε κόμβος
ανακαλύπτει
τους
γείτονες του=
- Εκτιμά την
«απόσταση»
από τον κάθε
γείτονα
- Στέλνει «όλε=
;ς»
τις
πληροφορίες
που γνωρίζει
σε όλους τους
κόμβους
- Υπολογίζει
την διαδρομή
ελάχιστου
κόστους χρησ=
ιμοποιώντας
τον
αλγόριθμο Dijkstra.
|
13
|
|
14
|
- Ο αλγόριθμος
διανομής
βασίζεται
στον Flooding
- Σε κάθε
πακέτο
υπάρχει
αύξων
αριθμός (seq), τον
οποίο
αυξάνει κατά
ένα ο
δρομολογητή=
962;
ο οποίος
δημιουργεί
τα πακέτα.
- Ο αύξων
αριθμός
φυλάγεται
επίσης σε
όλους τους δρ=
ομολογητές.
- Όποτε ένας
δρομολογητή=
962;
παραλάβει
ένα νέο πακέτ=
ο
Link State Ελέγχει το=
957;
Αύξων αριθμό
του
- Εάν είναι
μεγαλύτερος
από αυτόν που
έχει ήδη κατα=
;γραμμένο,
καταγράφει
το πακέτο και
το διανέμει
σε όλες τις
ζεύξεις
εκτός από
εκείνη από
την οποία ήρθ=
;ε.
- Εάν είναι
μικρότερος ή
ίσος, τότε το
πακέτο
αγνοείται.
|
15
|
- Υπερχείλιση
του αύξων
αριθμού (seq overflow).
- Ένας
δρομολογητή=
962;
αποσυνδέετα=
953;
και στη
συνέχεια
επανασυνδέε=
964;αι
με
αποτέλεσμα ο
αύξων
αριθμός (seq) να μ=
ηδενιστεί.
- Λόγω κάποιου =
σφάλματος
στη μετάδοση
ο αύξων
αριθμός πήρε
τιμή
μεγαλύτερη
από την αναμε=
νόμενη.
- Λύση: Χρήση
ενός
χρονομέτρου (=
age)
το οποίο
μετρά την
ηλικία κάθε
πληροφορίας.<=
span
style=3D'mso-spacerun:yes'> Όταν
το
χρονόμετρο
φτάσει στο
μηδέν, τότε οι
πληροφορίες
παύουν να
ισχύουν.
- Επιπρόσθετη
Ασφάλεια
- Όταν ένας
δρομολογητή&=
#962;
πάρει ένα
πακέτο Link State, τότ=
ε
δεν το
διανέμει
αμέσως αλλά
το
αποθηκεύει
και
καθυστερεί
λίγο πριν το
στείλει.
- Τα πακέτα Link State Ε=
παληθεύονται.=
li>
|
16
|
- Για μεγάλα
δίκτυα, οι
πίνακες
δρομολόγηση=
962;
μπορεί να
γίνου
τεράστιοι με
αποτέλεσμα
να
χρειάζονται
υπερβολική
μνήμη και η
αναζήτηση
στους
πίνακες να
είναι μη
αποδοτική.
|
17
|
- Επιτυγχάνετ=
945;ι
μείωση στο
μέγεθος του
πίνακα δρομο&=
#955;όγησης
- Η
δρομολόγηση
δεν είναι
βέλτιστη
|
18
|
|
19
|
- Αποστολή
«αντίγραφου&=
raquo;
του πακέτου
σε όλους τους
παραλήπτες
(πολύ κακή
λύση).
- Μη αποδοτική=
. Επίσ=
951;ς
ένας κόμβος
μπορεί να μην
γνωρίζει
όλους τους
παραλήπτες.
- Flooding (πιθανή λύσ =
51;)
- Multi-destination routing
- Ένα πακέτο
έχει πολλές
διευθύνσεις.
Ό δρομολογητ=
ής
στέλνει ένα
αντίγραφο σε
κάθε έξοδο
την οποία έστ=
;ω
και ένας
παραλήπτης
χρησιμοποιε&=
#943;
σαν βέλτιστη
διαδρομή
- Πάλι ο
αποστολέας
πρέπει να
ξέρει όλες
τις διευθύνσ=
;εις
- Δέντρο
Επικάλυψης (Spanni=
ng
Tree)
- Κάθε
δρομολογητή&=
#962;
αναμεταδίδε&=
#953;
τα πακέτα
μόνο στις
εξόδους που
ανήκουν στο
δέντρο
επικάλυψης.
|
20
|
- Reverse Path Forwarding
- Ο
δρομολογητή&=
#962;
διαβάζει τη
διεύθυνση
του αποστολέ=
α
και
συγκρίνει
την ζεύξη από
την οποία
έφτασε το
πακέτο με
αυτή που θα
χρησιμοποιή&=
#963;ει
να στείλει
πακέτα στον
αποστολέα
(πίνακας
δρομολόγηση&=
#962;).
- Εάν είναι
ίδιες, τότε
υποθέτει πως
το πακέτο
είναι νέο,
οπόταν το
προωθεί σε
όλες τις
ζεύξεις,
εκτός από
αυτήν στην
οποία έφτασε
το πακέτο.
- Εάν είναι
διαφορετικέ&=
#962;,
τότε αγνοεί
το πακέτο.
- Ιδιότητες
του
Αλγορίθμου
- Υλοποιεί τον
αλγόριθμο
Δέντρου
Επικάλυψης
χωρίς να
χρειάζεται
να κτίσει το
δέντρο
επικάλυψης!
- Ο αλγόριθμος
υποθέτει
συμμετρική
δρομολόγηση
(Το μονοπάτι
από Α στο Β
είναι το ίδιο
με Β στο Α).
|
21
|
- Πρωτόκολλα
για ομάδες
από χρήστες
(π.χ., κατανεμη =
56;ένες
βάσεις
δεδομένων)
- Διαχείριση
ομάδων
- Διαδικασία
δημιουργίας
και
καταστροφής
ομάδων
- Τρόπος με το
οποίο
χρήστες
εντάσσονται
και διαγράφο=
νται
από ομάδες.
- Είναι
σημαντικό
όπως οι
δρομολογητέ&=
#962;
ξέρουν τα μέλ=
;η
κάθε ομάδας
για να
διεκπεραιώσ&=
#959;υν
τη δρομολόγη=
ση
- Είτε τα μέλη
πληροφορούν
τους
δρομολογητέ=
ς
- Είτε οι
δρομολογητέ=
ς
περιοδικά
ζητούν από τ^=
5;
μέλη
|
22
|
- Διάφοροι
αλγόριθμοι.
- Κλαδεμένα
Δέντρα
Επικάλυψης (Spanni=
ng
trees with pruning).
|
23
|
|
24
|
- Χρήστες
μετακινούντ=
945;ι
από μια
περιοχή σε
άλλη
- Κάθε χρήστης
είναι
καταχωρημέν=
959;ς
σε μία αρχική
περιοχή (home location).
- Κάθε περιοχή
έχει
πράκτορες οι
οποίοι
διαχειρίζον=
964;αι
τους τοπικά
καταχωρημέν=
959;υς
χρήστες (home agent) ή
τους
επισκέπτες (foreign
agents)
- Κάθε φορά που
ένας χρήστης
μπαίνει σε
άλλη περιοχή,
ενημερώνει
τον foreign agent της
περιοχής
μέσω μιας
διαδικασίας
εγγραφής (registration proce=
dure).
|
25
|
- Κάθε foreign agent περιο=
;δικά
ανακοινώνει
την ύπαρξη
του καθώς και
τη διεύθυνση
του
- Μόλις ένας
κινητός
χρήστης μπει
σε μια νέα
περιοχή, είτε
περιμένει να
ακούσει τον foreign
agent, είτε
εκπέμπει
κάποιο
μήνυμα ότι
αναζητά τον foreign
agent.
- Ο κινητός
χρήστης
εγγράφεται
με τον εν λόγο=
; Foreign
Agent δίνοντας
του
- Διεύθυνση
του Home Agent
- Διεύθυνση
επιπέδου
ζεύξης
δεδομένων
- Κωδικούς
ασφαλείας
- Ο foreign agent ενημερών=
;ει
τον Home agent του
κινητού
χρήστη
- Ο home agent στέλ_=
7;ει
επαλήθευση
στον foreign agent και ο
τελευταίος
ολοκληρώνει
την εγγραφή
ενημερώνοντ=
945;ς
τον κινητό
χρήστη.
|
26
|
|
27
|
- Δίκτυα χωρίς
σταθερή
υποδομή
- Δεν υπάρχει
σταθερή
τοπολογία
- Δεν υπάρχουν
σταθεροί ή
γνωστοί
γείτονες
- Η διεύθυνση IP =
948;εν
έχει καμιά
σχέση με την
τοπολογία
- Ανακάλυψη
των
μονοπατιών (route
discovery)
- Συντήρηση
των
μονοπατιών (route
maintenance).
- Περισσότερα
επί του
θέματος: A. Tanenbaum
|