HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Routing Algorithms Network Layer Nena Basina
Υποδίκτυα (subnets) 200.23.18.0/23 11001000 00010111 00010010 00000000 To subnet mask /23 υποδηλώνει ότι τα 23 leftmost bits καθορίζουν το subnet. Πόσα subnets φαίνονται στο σχήμα? 6 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 223.1.9.0/24 (R1-R2) 223.1.8.0/24 (R2-R3) 223.1.7.0/24 (R1-R3)
Υποδίκτυα (subnets) Έχουμε ένα subnet με prefix: 128.119.40.128/26. Δώστε παράδειγμα μιας IP address που είναι μέρος αυτού του υποδικτύου: Ένα /26 subnet περιέχει 2 6-2=62 διευθύνσεις. Οποιαδήποτε ανάμεσα σε 128.119.40.128 και 128.119.40.191. Ένας ISP κατέχει ένα μπλοκ διευθύνσεων της μορφής: 128.119.40.64/26. Yποθέστε ότι θέλει να δημιουργήσει 4 subnets από αυτό το μπλοκ, με το κάθε μπλοκ να περιέχει τον ίδιο αριθμό IP διευθύνσεων. 128.119.40.64/28 128.119.40.80/28 128.119.40.96/28 128.119.40.112/28
Routing in the Internet Internet is organized as a set of independent Autonomous Systems (AS) Routers in same AS run same routing protocol intra-as routing or Interior Gateway Protocols (IGP) Different AS can have different intra-as routing protocols RIP, OSPF A separate protocol is used to transfer information between AS inter-as routing or Exterior Routing Protocol (EGP) BGP
RIP - Routing Information Protocol A simple intra-as routing protocol Uses Distance Vector Algorithm The information is exchanged only between adjacent routers Fixed (hop) metrics Each router advertises its distance vector every 30 seconds (or whenever its routing table changes) to all of its neighbors Routes are declared dead (set to 16) after 3 minutes if no advertisement heard from neighbor
OSPF-Open Shortest Path First Intra-AS routing protocol Uses Link State Algorithm route computation using Dijkstra s algorithm Every OSPF router sends periodically 'hello' packets
Αλγόριθμος Κατάστασης Ζεύξης (Link State) Kαθολική εικόνα του δικτύου. Κάθε κόμβος προσπαθεί να φτιάξει μια πλήρη εικόνα του δικτύου με το να 'φωνάζει' D(v): κόστος της διαδρομής ελαχίστου κόστους από τον κόμβο προέλευσης στον v p(v): προηγούμενος κόμβος του v στο τρέχον μονοπάτι ελαχίστου κόστους
Αλγόριθμος Κατάστασης Ζεύξης (Link State) Dijkstra's Algorithm N' D(c), p(c) D(a), p(a) D(d), p(d) D(b), p(b) D(t), p(t) u 15, u 18, u 20, u
Αλγόριθμος Κατάστασης Ζεύξης (Link State) Dijkstra's Algorithm N' D(c), p(c) D(a), p(a) D(d), p(d) D(b), p(b) D(t), p(t) u 15, u 18, u 20, u uc - 17, c 20, u (22,c) 29, c
Αλγόριθμος Κατάστασης Ζεύξης (Link State) Dijkstra's Algorithm N' D(c), p(c) D(a), p(a) D(d), p(d) D(b), p(b) D(t), p(t) u 15, u 18, u 20, u uc - 17, c 20, u 29, c uca - - 20, u 26, a 55, a
Αλγόριθμος Κατάστασης Ζεύξης (Link State) Dijkstra's Algorithm N' D(c), p(c) D(a), p(a) D(d), p(d) D(b), p(b) D(t), p(t) u 15, u 18, u 20, u uc - 17, c 20, u 29, c uca - - 20, u 26, a 55, a ucad - - - 26, a 54, d
Αλγόριθμος Κατάστασης Ζεύξης (Link State) Dijkstra's Algorithm Μονοπάτι για t: u c a b t N' D(c), p(c) D(a), p(a) D(d), p(d) D(b), p(b) D(t), p(t) u 15, u 18, u 20, u uc - 17, c 20, u 29, c uca - - 20, u 26, a 55, a ucad - - - 26, a 54, d ucadb - - - - 53, b ucadbt - - - - -
Αλγόριθμος Απόστασης Διανύσματος (Distance Vector) Τοπική εικόνα του δικτύου. Κάθε κόμβος ενδιαφέρεται μόνο για τους γειτονικούς του κόμβους. Πληροφορίες που διατηρεί ο κάθε κόμβος: c(x,v), για κάθε γείτονα v Dx με τα εκτιμώμενα κόστη προς όλους τους κόμβους του δικτύου Dv,για κάθε γείτονα v
Distance Vector: Στάδιο αρχικοποίησης για κάθε κόμβο x Αρχικοποίηση πινάκων: Για όλους τους κόμβους y μέσα στο N: Aν y είναι γείτονας Αλλιώς D x (y) = c(x,y) D x (y) = Για όλους τους γείτονες v του x: D v (y) = για όλους τους προορισμούς y Για όλους τους γείτονες v του x: στείλε το διάνυσμα απόστασης Dx
Distance Vector: Επαναληπτική διαδικασία για κάθε κόμβο x Eπαναληπτικά: Περίμενε μέχρι να λάβεις μια ενημέρωση από κάποιο γείτονα Για όλους τους κόμβους y μέσα στο Ν: D x (y) = min v { c(x,v) + D v (y)} (βρες τον γείτονα μέσω του οποίου θα πας στο y πιο γρήγορα) Aν το D x άλλαξε: Στείλε το νέο D x σε όλους τους γείτονες
Distance Vector: Στάδιο αρχικοποίησης x 0 5 2 x x y y w y 5 0 1 1 w z y z w z 1 2 0
Distance Vector: Στάδιο αρχικοποίησης x 0 5 2 x 0 5 2 x 0 5 2 y 5 0 1 1 y 5 0 1 1 y 5 0 1 1 y 5 0 1 1 z 1 2 0 z 1 2 0 z 1 2 0 Ο x ενημερώνει: y, w Ο y ενημερώνει: x, w, z Ο w ενημερώνει: x, y, z Ο z ενημερώνει: y, w
Distance Vector: Στάδιο αρχικοποίησης x 0 3 2 4 y 5 0 1 1 x 0 5 2 y 3 0 1 1 z 1 2 0 x 0 5 2 y 5 0 1 1 z 1 2 0 y 5 0 1 1 z 4 1 2 0 D x (y)=c(x,y)+d y (y)=5+0=5 D x (y)=c(x,w)+d w (y)=2+1=3 D x (w)=c(x,w)+d w (w)=2+0=2 D x (w)=c(x,y)+d y (w)=5+1=6 D x (z)=c(x,y)+d y (z)=5+1=6 D x (z)=c(x,w)+d w (z)=2+2=4 D y (x)=c(y,x)+d x (x)=5+0=5 D y (x)=c(y,w)+d w (x)=1+2=3 D y (x)=c(y,z)+d z (x)=2+ = D y (w)=c(y,w)+d w (w)=1+0=1 D y (w)=c(y,x)+d x (w)=5+2=7 D y (w)=c(y,z)+d z (w)=1+2=3 D y (z)=c(y,z)+d z (z)=1+0=1 D y (z)=c(y,w)+d w (z)=1+2=3 D y (z)=c(y,x)+d x (z)=1+ = D w (x)=c(w,x)+d x (x)=2+0=2 D w (x)=c(w,y)+d y (x)=1+5=3 D w (x)=c(w,z)+d z (x)=2+ = D w (y)=c(w,x)+d x (y)=2+5=7 D w (y)=c(w,y)+d y (y)=1+0=1 D w (y)=c(w,z)+d z (y)=2+1=3 D w (z)=c(w,x)+d x (z)=2+ = D w (z)=c(w,y)+d y (z)=1+1=2 D w (z)=c(w,z)+d z (z)=2+0=2 D z (x)=c(z,y)+d y (x)=1+5=6 D z (x)=c(z,w)+d w (x)=2+2=4 D z (y)=c(z,y)+d y (y)=1+0=1 D z (y)=c(z,w)+d w (y)=2+1=3 D z (w)=c(z,y)+d y (z)=1+1=2 D z (w)=c(z,w)+d w (z)=2+0=2
Distance Vector: Στάδιο αρχικοποίησης x 0 3 2 4 x 0 3 2 4 x 0 3 2 4 y 3 0 1 1 y 3 0 1 1 y 3 0 1 1 y 3 0 1 1 z 4 1 2 0 z 4 1 2 0 z 4 1 2 0 Ο x ενημερώνει: y, w Ο y ενημερώνει: x, w, z Ο w δεν ενημερώνει κανένα Ο z ενημερώνει: y, w