Δρομολόγηση (routing) σε δίκτυα

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
HY-335 : Δίκτυα Υπολογιστών
Advertisements

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση Επιπέδου 3 στο Internet (IGP, BGP)
Β. Μάγκλαρης 13/1/2014 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ & ΑΛΓΟΡΙΘΜΟΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΣΤΟ INTERNET Β. Μάγκλαρης.
ΔΙΑΔΙΚΤΥΩΣΗ (Internetworking)
Θέματα προς συζήτηση ... Ερωτήσεις από τα προηγούμενα lectures ...
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΡΟΜΟΛΟΓΗΣΗ ΣΤΟ INTERNET: Άμεση - Direct Routing
Πρωτόκολλα δρομολόγησης
Δρομολόγηση στο Internet & Δίκτυα Γεφυρωμένων Ethernet 6/2/2008
Δίκτυα Η/Υ ΙΙ Multicasting. Δίκτυα Η/Υ ΙΙ Multicasting Η διαδικασία της μετάδοσης πακέτων από μια πηγή προς τα μέλη μιας κλειστής ομάδας. Εφαρμογές όπου.
Β. Μάγκλαρης 20/1/2014 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΡΟΜΟΛΟΓΗΣΗ ΕΠΙΠΕΔΟΥ 2: ΜΕΤΑΓΩΓΕΙΣ Ethernet, ΕΙΚΟΝΙΚΑ ΤΟΠΙΚΑ ΔΙΤΚΥΑ.
ΤCP/IP Τι είναι; Σύντομο Ιστορικό
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δ.Καλογεράς 11/1/2010 Credit: Kurose & Rose ppt.
Β. Μάγκλαρης 3/11/2014 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ & ΑΛΓΟΡΙΘΜΟΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΣΤΟ INTERNET: Επίπεδο.
Δρομολόγηση (Routing). Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός  Dijkstra’s Algorithm Αλγόριθμοi Δρομολόγησης  Link State.
Network Layer4-1 Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο Επίπεδο δικτύου ΗΥ335 Αλγόριθμοι Δρομολόγησης.
1 routing Δρομολόγηση (routing) σε δίκτυα Αυτοδύναμα Πακέτα (Datagrams): απόφαση δρομολόγησης για κάθε πακέτο. Εικονικά Κυκλώματα (Virtual Circuits): μία.
1 Ιεραρχική δρομολόγηση hierarchical routing (hierarchical routing) Η μελέτη μας για τη δρομολόγηση μέχρι στιγμής είναι εξιδανικευμένη: όλοι οι δρομολογητές.
Ο αλγόριθμος Bellman-Ford (επανεξετάζεται)
1 Βέλτιστη δρομολόγηση (optimal routing) Αντιμετώπιση της δρομολόγησης σαν «συνολικό» πρόβλημα βελτιστoποίησης. Γιατί: Η αλλαγή της δρομολόγησης μιας συνόδου.
Δρομολόγηση (Routing). Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός  Dijkstra’s Algorithm Αλγόριθμοi Δρομολόγησης  Link State.
1 Κατανεμημένοι αλγόριθμοι για την εύρεση γεννητικών δέντρων (spanning trees) 1.Ένας σταθερός κόμβος στέλνει ένα ‘start’ μήνυμα σε κάθε γειτονική του ακμή.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δ. Καλογεράς 11/11/2009.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΡΟΜΟΛΟΓΗΣΗ & ΕΡΓΑΛΕΙΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΤΟ INTERNET - EΙΣΑΓΩΓΗ ΣΤΟ SNMP Β. Μάγκλαρης 19/12/2011.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet – IGP/BGP Β. Μάγκλαρης 22/11/2010.
HY-335 : Δίκτυα Υπολογιστών Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο O R E K W N T net works Επίπεδο.
Β. Μάγκλαρης 05/12/2011 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet – Distance Vector (Bellman.
Τι κρατάει το Internet μαζί? 1. Η διευθυνσιοποίηση (addressing): πως δηλ. αναφερόμαστε σε μια μηχανή στο δίκτυο. 2. Η δρομολόγηση (routing): πως να φτάσουμε.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΡΟΜΟΛΟΓΗΣΗ ΣΤΟ INTERNET - EΙΣΑΓΩΓΗ ΣΤΟ SNMP Β. Μάγκλαρης 18/11/2009.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ 2/5/2007. ΤΟ ΔΙΚΤΥΟ ΤΟΥ ΕΜΠ ntua.gr ( /16, AS#3323)
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ 16/5/2007. Πρότυπο Αρχιτεκτονικής Μετάδοσης, Ελέγχου & Διαχείρισης Επίπεδο Δεδομένων - Data (forwarding) Plane –Κωδικοποίηση σε πακέτα.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ EΙΣΑΓΩΓΗ ΣΤΟ SNMP Β. Μάγκλαρης 21/01/2009.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης 23/1/2008.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΑΛΓΟΡΙΘΜΟΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΣΤΟ INTERNET Β. Μάγκλαρης 12/11/2008.
Προσομοίωση Δικτύων 4η Άσκηση Σύνθετες τοπολογίες, διακοπή συνδέσεων, δυναμική δρομολόγηση.
MPLS ΠΑΔ MPLS περίληψη  Αυτή η παρουσίαση εξηγεί τα χαρακτηριστικά του Multi-protocol Label Switching (MPLS) σε σύγκριση με το παραδοσιακό ATM.
Βασικές έννοιες και τεχνολογίες δικτύων Ιάκωβος Αλεξανδρής Ηλεκ/γος Μηχ/κος & Μηχ/κος Η/Υ Τεχνικός Υπεύθυνος ΚΕΠΛΗΝΕΤ Χαλκιδικής Cisco CCNA.
1. Πολιτικές, οικονομικές και κοινωνικές μεταβολές (11ος-15ος αιώνας)
Κεφάλαιο 7 Διαδικτύωση- Internet 7.1 Επίπεδο Δικτύου.
Applied Electronics Lab MANETs : Mobile Ad Hoc Networks Self – Organizing Techniques Εργαστήριο Ηλεκτρονικών Εφαρμογών Σταύρος Κουμπιάς Σπήλιος Γιαννούλης.
Δίκτυα Επικοινωνιών Ενότητα # 5: Επίπεδο Δικτύου Διδάσκων: Θεόδωρος Αποστολόπουλος Τμήμα: Πληροφορικής.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet (I) Ταξινόμηση Τρόπων Δρομολόγησης Επίπεδο 3: Intra-domain & Inter-domain Routing Host Routing,
Βασικές έννοιες και τεχνολογίες δικτύων Ιάκωβος Αλεξανδρής Ηλεκ/γος Μηχ/κος & Μηχ/κος Η/Υ Τεχνικός Υπεύθυνος ΚΕΠΛΗΝΕΤ Χαλκιδικής Cisco CCNA.
Σχεδιασμός των Μεταφορών
Περιεχόμενα 1. Δρομολόγηση στο Internet 2. Δυναμική δρομολόγηση
Περιεχόμενα 1. Δρομολόγηση στο Internet 2. Δυναμική δρομολόγηση
Β. Μάγκλαρης 24/10/2016 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι.
Β. Μάγκλαρης 17/10/2016 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονική & Δρομολόγηση στο Internet (Τμήμα 2/2) Ορισμοί Δρομολόγησης.
Ειδικά θέματα σε κινητά και ασύρματα δίκτυα
Διαχείριση Δικτύων Ευφυή Δίκτυα
Β. Μάγκλαρης 9/11/2015 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονικές & Πρωτόκολλα Δρομολόγησης στο Internet (I) Επίπεδο.
Β. Μάγκλαρης 31/10/2016 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονική & Δρομολόγηση στο Internet Επίπεδο 3: Direct Routing,
Διαχείριση Δικτύων - Ευφυή Δίκτυα, 9ο Εξάμηνο,
Κατανεμημένα Συστήματα
Θεωρία Γραφημάτων Ενότητα 9 Μετασχηματισμοί Υπολογιστικών Προβλημάτων
Β. Μάγκλαρης 07/01/2009 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΑΛΓΟΡΙΘΜOI ΔΡΟΜΟΛΟΓΗΣΗΣ (Ταξινόμηση, VLANs, IGP, BGP) Β. Μάγκλαρης.
Μακροοικονομία Διάλεξη 9.
ΑΛΓΟΡΙΘΜΟΙ ΔΡΟΜΟΛΟΓΗΣΗΣ
Quagga - Routing like a PRO
Ενότητα 4: Επίπεδο Δικτύου Διδάσκων: Λάζαρος Μεράκος
3.6 Δρομολόγηση 3ο Κεφάλαιο.
Διαχείριση Δικτύων - Ευφυή Δίκτυα, 9ο Εξάμηνο,
Β. Μάγκλαρης 2/11/2015 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman)
Β. Μάγκλαρης 19/10/2015 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Εισαγωγή (II) Διευθυνσιοδότηση στο Internet Το Παγκόσμιο Internet.
ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΔΙΚΤΥΩΝ Παρουσίαση μαθήματος.
Εισαγωγή Στις Τεχνολογίες Επικοινωνιών
Routing Algorithms Link state Distance Vector Hierarchical routing
MPLS end to end υπηρεσίες
Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο
Αναζήτηση (Εξερεύνηση) Πρώτα σε Πλάτος
Slow APSP.
Μεταγράφημα παρουσίασης:

Δρομολόγηση (routing) σε δίκτυα Αυτοδύναμα Πακέτα (Datagrams): απόφαση δρομολόγησης για κάθε πακέτο. Εικονικά Κυκλώματα (Virtual Circuits): μία απόφαση δρομολόγησης για όλα τα πακέτα της ίδιας συνόδου (session). Ζητήματα επιλογή των μονοπατιών μετάδοση των σχετικών με τη δρομολόγηση πληροφοριών Μετρικές απόδοσης Ρυθμαπόδοση (Throughput) – ‘ποσότητα’ της εξυπηρέτησης Μέση καθυστέρηση πακέτου – ‘ποιότητα’ της εξυπηρέτησης

προσφερόμενο φορτίο ρυθμαπόδοση καθυστέρηση απορριπτόμενο φορτίο Καθώς ο αλγόριθμος δρομολόγησης (routing) επιτυγχάνει στο να κρατάει την καθυστέρηση χαμηλά, ο έλεγχος ροής (flow control) επιτρέπει περισσότερη κυκλοφορία στο δίκτυο. κακή δρομολόγηση καθυστέρηση καλή δρομολόγηση ρυθμαπόδοση Καλοί αλγόριθμοι δρομολόγησης: υψηλότερη ρυθμαπόδοση για την ίδια καθυστέρηση, μικρότερη καθυστέρηση για δεδομένη ρυθμαπόδοση.

Όλοι οι σύνδεσμοι έχουν χωρητικότητα 10 μονάδες Παράδειγμα (επιρροή της δρομολόγησης στην ρυθμαπόδοση και την καθυστέρηση του δικτύου): 5 μονάδες 5 μονάδες πηγή πηγή Όλοι οι σύνδεσμοι έχουν χωρητικότητα 10 μονάδες προορισμός Αν όλες οι σύνοδοι (sessions) δρομολογηθούν μέσω του μεσαίου μονοπατιού, η καθυστέρηση είναι μεγάλη. Ας υποτεθεί, ότι η κυκλοφορία στην είσοδο του κόμβου 2 αυξάνεται στις 15 μονάδες. Αν χρησιμοποιείται μόνο ένα μονοπάτι, τουλάχιστον 5 μονάδες απορρίπτονται. Συνεπώς, η καθυστέρηση και η μέγιστη ρυθμαπόδοση εξαρτώνται από τη δρομολόγηση.

Η δρομολόγηση μπορεί να είναι: 1. Κεντρικοποιημένη ή Κατανεμημένη Κεντρικοποιημένη (Centralized): όλες οι αποφάσεις για τη δρομολόγηση λαμβάνονται σε έναν κεντρικό κόμβο. Κατανεμημένη (Distributed): η ευθύνη του υπολογισμού των μονοπατιών μοιράζεται ανάμεσα στους κόμβους, οι οποίοι ανταλλάσσουν μεταξύ τους πληροφορίες, όποτε είναι απαραίτητο. 2. Στατική ή Δυναμική (Προσαρμοζόμενη) Στατική (Static): το μονοπάτι που χρησιμοποιείται για ένα ζεύγος πηγής-προορισμού, παραμένει σταθερό. Δυναμική (Dynamic) - Προσαρμοζόμενη (Adaptive): το μονοπάτι μπορεί να αλλάζει, ανάλογα με τη συμφόρηση (congestion). Φυσικά, ακόμα και με στατικούς αλγόριθμους, τα μονοπάτια πρέπει να αλλάζουν, όταν κάποιοι κόμβοι ή σύνδεσμοι πέφτουν.

Το πρόβλημα των συντομότερων μονοπατιών (shortest path problem) Διευθυνόμενος γράφος G=(N,A) : οι ακμές έχουν κατεύθυνση. dij = το μήκος της ακμής (i,j) Το μήκος ενός διευθυνόμενου μονοπατιού (directed path) p={i,j,k,…,l,m} ορίζεται ως dij+djk+…+dlm. Δεδομένα: G=(N,A), dij’s ώστε να μην υπάρχουν κύκλοι αρνητικού μήκους και ο κόμβος-προορισμού 1. Πρόβλημα: να βρεθεί το συντομότερο μονοπάτι από κάθε κόμβο i προς τον κόμβο 1. Εφαρμογές: α. dij = η καθυστέρηση της ακμής (i,j). Τότε το ‘συντομότερο μονοπάτι’ αντιστοιχεί στο ‘μονοπάτι ελάχιστης καθυστέρησης’. β. dij = -lnpij, όπου pij η πιθανότητα η ακμή (i,j) να είναι απενεργοποιημένη. Τότε το ‘συντομότερο μονοπάτι’ αντιστοιχεί στο ‘πιο αξιόπιστο μονοπάτι’. γ. dij=1 (Minimum hop routing)

Ο αλγόριθμος Bellman-Ford Έστω δι το μήκος του συντομότερου μονοπατιού από τον κόμβο i στον 1, που χρησιμοποιεί το πολύ h ακμές. Μετά από το πολύ Ν-1 επαναλήψεις, εντοπίζεται το συντομότερο μονοπάτι (με την προϋπόθεση ότι δεν υπάρχουν κύκλοι αρνητικού μήκους): το μήκος του συντομότερου μονοπατιού είναι . Στην πραγματικότητα οι επαναλήψεις τερματίζονται, όταν μετά από h επαναλήψεις ισχύει , για κάθε i.

Παράδειγμα: Bellman-Ford (αρχικές συνθήκες στο ) κόστος προορισμός 1ο βήμα τρέχουσα απόσταση από τον κόμβο 1 2ο βήμα 3ο βήμα 4ο βήμα

Παράδειγμα: Bellman-Ford (αρχικές συνθήκες στο 0) προορισμός

Δρομολόγηση στο ARPANET Χρησιμοποιεί συντομότερα μονοπάτια από την πηγή στον προορισμό. Αλγόριθμος του 1969: Ο κόμβος i υπολογίζει μια εκτίμηση Di της απόστασής του από κάποιο δεδομένο κόμβο 0. N(i) : οι γείτονες του κόμβου i Dj : υπολογίζονται από τους γείτονες κάθε 0.62sec D0 = 0. Αρχικά (1969), μήκος dij = πλήθος πακέτων στον buffer (i,j).

Προβλήματα αστάθειας (original ARPANET) Πρόβλημα: Συντομότερα μονοπάτια Μήκη ακμών Δρομολόγια Ροή Η ανάδραση εδώ μπορεί να είναι ασταθής (unstable). προορισμός προορισμός ΠΑΡΑΤΗΡΗΣΗ : το επόμενο συντομότερο μονοπάτι του κόμβου 2 θα έχει αριστερόστροφη διεύθυνση. Έστω η ροή στην ακμή (i,j)

(πχ dij = σταθερά + πλήθος πακέτων στον buffer (i,j) ). προορισμός Μετά τα updates, όλοι οι κόμβοι θα αρχίσουν να στέλνουν πακέτα δεξιόστροφα, κοκ... Η ύπαρξη πόλωσης (bias) ανεξάρτητης της ροής στα μήκη των ακμών, βοηθάει στην αποφυγή του προβλήματος (πχ dij = σταθερά + πλήθος πακέτων στον buffer (i,j) ).

Αλγόριθμος του 1979 στο ARPANET dij = μέση καθυστέρηση των πακέτων που διέρχονται το σύνδεσμο (i,j) τα τελευταία 10sec. Τα dij διαδίδονται κάθε 60sec σε όλους τους άλλους κόμβους, με τη χρήση ενός μηχανισμού ‘πλημμύρας’ (flooding). Οι κόμβοι ανανεώνουν τα συντομότερα μονοπάτια τους (ασύγχρονα), χρησιμοποιώντας τον αλγόριθμο του Dijkstra (δες διαφανειες παρακατω). Κάθε κόμβος καταγράφει τον πρώτο σύνδεσμο στο συντομότερο μονοπάτι.

Τα μήκη των συνδέσμων διαδίδονται σε όλους τους άλλους κόμβους μέσω ενός flooding αλγόριθμου. Η πηγή στέλνει την πληροφορία στους γείτονές της. Οι γείτονες τη στέλνουν στους δικούς τους γείτονες (αλλά όχι στον κόμβο από όπου τη δέχτηκαν). Κάθε πακέτο έχει έναν ακολουθιακό αριθμό SN (sequence number) και ένα ID κόμβου αφετηρίας. Χρησιμοποιώντας τις πληροφορίες αυτές, οι κόμβοι αποφεύγουν την προώθηση κάποιου πακέτου δύο φορές. Εναλλακτικά, η διάδοση πραγματοποιείται μέσω ενός γεννητικού δέντρου (spanning tree).

Αλγόριθμος του Dijkstra Δεδομένα: G=(N,A), μη αρνητικά dij’s, και ο κόμβος-προορισμός 1. Ιδέα: εύρεση των συντομότερων μονοπατιών με σειρά αύξοντος μήκους μονοπατιού. 1 1 σύνολο Pk, με τους k πλησιέστερους στον 1 κόμβους συμπλήρωμα του Pk το συντομότερο μονοπάτι από τον (k+1)-οστό κοντινότερο κόμβο, πρέπει να διέρχεται από τους κόμβους του Pk 1 1. Ανανέωσε τις ετικέτες: για κάθε θέσε 2. Βρες τον επόμενο πλησιέστερο κόμβο, δηλαδή τον : . Θέσε . Αν όλοι οι κόμβοι καλύφθηκαν, σταμάτα. Αλλιώς, πήγαινε στο βήμα 1.

Παράδειγμα (αλγόριθμος του Dijkstra): 1ο βήμα

2ο βήμα 3ο βήμα

4ο βήμα 5ο βήμα

Το δίκτυο TYMNET (1971 και 1981) Χρησιμοποιεί την ίδια ιδέα των συντομότερων μονοπατιών, αλλά 1) χρησιμοποιεί εικονικά κυκλώματα και 2) η δρομολόγηση είναι κεντρικοποιημένη. Εποπτικός κόμβος αίτηση προορισμός πηγή Ο κόμβος- επόπτης (supervisory node) υπολογίζει το συντομότερο μονοπάτι και στέλνει ένα “needle” πακέτο στην πηγή, που περιέχει την πληροφορία για τη δρομολόγηση. TYMNET I: ο κόμβος- επόπτης «γράφει» τους πίνακες δρομολόγησης (routing tables) στους κόμβους. TYMNET II: οι πίνακες των δρομολόγιων συνθέτονται από set-up πακέτα, τα οποία προηγούνται της μεταφοράς των δεδομένων. Παρόμοια ιδέα χρησιμοποιείται και στο codex δίκτυο.

Ο αλγόριθμος Bellman-Ford (επανεξετάζεται) Αρχικές συνθήκες: όπου = το μήκος του συντομότερου μονοπατιού από τον κόμβο i στον 1, που χρησιμοποιεί το πολύ k συνδέσμους. Ο αλγόριθμος τερματίζει το πολύ σε Ν-1 βήματα. Μπορεί να υλοποιηθεί και με κατανεμημένο τρόπο. Πρόβλημα 1: συχνά είναι προτιμότερο να στέλνονται οι αποστάσεις ασύγχρονα, από το να αναμένονται από όλους τους γείτονες τα , πριν από κάθε νέα επανάληψη. Λύση: κάθε κόμβος (εκτός του 1) ανανεώνει ασύγχρονα: , όπου Dj είναι η τελευταία εκτίμηση από τον κόμβο j. Ο λόγος που λειτουργεί: μετά από κάθε ανανέωση, Di είναι η απόσταση από τον κόμβο i στον 1, μέσω κάποιου υπαρκτου μονοπατιού (δεδομένων των αρχικών συνθηκών ).

Πρόβλημα 2: Στην πράξη, τα μήκη των συνδέσμων dij περιστασιακά αλλάζουν. Λύση: Απλά, οι κόμβοι συνεχίζουν να εκτελούν επαναλήψεις ασύγχρονα, με τα νέα μήκη, ξεκινώντας από τις τιμές των Dj που υπάρχουν εκείνη την στιγμή:

Λήμμα: Ο ασύγχρονος αλγόριθμος , με τα dij σταθερά, συγκλίνει στα σωστά συντομότερα μονοπάτια, αν οι αρχικές συνθήκες είναι: (αρχικές συνθήκες στο ) ή , για κάθε i (αρχικές συνθήκες στο 0). Θεώρημα: Για τον Bellman-Ford αλγόριθμο: Έστω η τιμή οποιαδήποτε χρονική στιγμή με κάποιες αυθαίρετες αρχικές καταστάσεις. Έστω η τιμή που θα είχαμε, αν οι αρχικές καταστάσεις ήταν . Έστω η τιμή που θα είχαμε, αν οι αρχικές καταστάσεις ήταν 0. Τότε Εφόσον οι και συγκλίνουν στις σωστές αποστάσεις, τότε και η συγκλίνει στις σωστές αποστάσεις.

Παράδειγμα: Bellman-Ford (αρχικές συνθήκες στο ) κόστος προορισμός 1ο βήμα τρέχουσα απόσταση από τον κόμβο 1 2ο βήμα 3ο βήμα 4ο βήμα

Παράδειγμα: Bellman-Ford (αρχικές συνθήκες στο 0) προορισμός

Πιθανο προβλημα (“good news bad news” ή «Απλά, οι κόμβοι συνεχίζουν να εκτελούν επαναλήψεις ασύγχρονα, με τα νέα μήκη, ξεκινώντας από τις τιμές των Dj που υπάρχουν εκείνη την στιγμή» Πιθανο προβλημα (“good news bad news” ή “counting to infinity” πρόβλημα προορισμός Πριν ο σύνδεσμος (4,1) πέσει, . Μόλις ο κόμβος 4 καταλάβει ότι αρχίζει επαναλήψεις μέχρι να επιτευχθεί σύγκλιση. Παρατήρηση: τα κακά νέα μπορεί και να ταξιδεύουν αργά.

Ο αλγόριθμος Floyd-Warshall Υπολογίζει τις συντομότερες αποστάσεις Dij για όλα τα ζεύγη πηγή-προορισμός (i,j). = συντομότερη απόσταση από τον κόμβο i στον j, χρησιμοποιώντας μόνο κόμβους από το σύνολο {1,2,...,k} ως ενδιάμεσους κόμβους. Οι είναι οι τελικές αποστάσεις (όπου Ν το πλήθος των κόμβων).

Παράδειγμα: Floyd-Warshall μήκος ακμής ID κόμβου κανένας ενδιάμεσος κόμβος

ενδιάμεσος κόμβος ο 1 έχει αλλάξει ενδιάμεσοι κόμβοι οι {1,2}

(οι τελικές συντομότερες αποστάσεις) ενδιάμεσοι κόμβοι οι {1,2,3} ενδιάμεσοι κόμβοι οι {1,2,3,4} (οι τελικές συντομότερες αποστάσεις)

Ιεραρχική δρομολόγηση (hierarchical routing) Η μελέτη μας για τη δρομολόγηση μέχρι στιγμής είναι εξιδανικευμένη: όλοι οι δρομολογητές (routers) πανομοιότυποι το δίκτυο ‘επίπεδο’ ... Δεν ισχύουν στην πραγματικότητα. Διαβάθμιση : Mε δεκάδες εκατομμύρια προορισμούς: δεν μπορούν όλοι οι προορισμοί να αποθηκεύονται στους πίνακες δρομολόγησης. η ανταλλαγή των πινάκων δρομολόγησης θα ‘πλημμύριζε’ τους συνδέσμους. Αυτονομία των administrators: internet = δίκτυο δικτύων κάθε administrator δικτύου θέλει να ελέγχει τη δρομολόγηση στο δικό του δίκτυο.

ιεραρχική δρομολόγηση

Inter-AS δρομολόγηση

από Β: ‘χρησιμοποιώ BCD’ από G: ‘χρησιμοποιώ GCD’ πύλες (gateways) Πληροφορία που παίρνει ο F από τους γείτονες σχετικά με τον προορισμό D: από Β: ‘χρησιμοποιώ BCD’ από G: ‘χρησιμοποιώ GCD’ από I: ‘χρησιμοποιώ IFGCD’ από Ε: ‘χρησιμοποιώ EFGCD’ LAN’s Ο F χρησιμοποιεί το συντομότερο μονοπάτι, που δεν περνάει από τον ίδιο και είναι σύμφωνο με τα policy constraints του. Ο αλγόριθμος είναι, ουσιαστικά, ο Bellman-Ford (δηλαδή Distance Vector Routing) -> BGP. Δεν έχει όμως το counting to infinity πρόβλημα. Μέσα σε ένα δίκτυο (αυτόνομο σύστημα) χρησιμοποιείται κυρίως ο αλγόριθμος του Dijkstra -> OSPF.

Κλάσεις ΙΡ διευθύνσεων Το prefix δίνει τον αριθμό δικτύου, και το suffix δίνει τον αριθμό του υπολογιστή. Ο αριθμός δικτύου απαιτεί διεθνή συνεννόηση, αλλά ο αριθμός υπολογιστή δίδεται τοπικά. Η διεύθυνση που έχει όλα 1, είναι για limited broadcast. Δρομολόγηση ενός IP datagram

Δρομολόγηση με βάση τη ροή (flow-based routing) προορισμός cij (Kbits/sec) πηγή ένα υποδίκτυο με χωρητικότητες συνδέσμων η κυκλοφορία σε πακέτα/sec και ο πίνακας δρομολόγησης μέσο μήκος πακέτου : x = 800 bits/πακέτο 1 Tij = μij-λij cij μij = (πακέτα/sec) x

Ανάλυση του υποδικτύου της προηγούμενης διαφάνειας, χρησιμοποιώντας μέσο μέγεθος πακέτου τα 800 bits. Η αντίστροφη κυκλοφορία (ΒΑ, CB, κλπ) είναι η ίδια με την ευθεία κυκλοφορία.

Δρομολόγηση πολλαπλών προορισμών (multidestination routing - multicasting) Χρησιμοποιείται ένα δέντρο συντομότερων μονοπατιών ή οποιοδήποτε άλλο γεννητικό δέντρο, το οποίο ‘κλαδεύεται’, ώστε να περιλαμβάνει τους επιθυμητούς προορισμούς. Το πρόβλημα του βέλτιστου ‘multicast tree’ είναι NP-complete.