ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δ.Καλογεράς 11/1/2010 Credit: Kurose & Rose ppt
Δύο βασικές λειτουργικότητες του επιπέδου Δικτύου Προώθηση (forwarding): Μετακίνηση πακέτων από την είσοδο δρομολογητή σε κατάλληλη έξοδο Δρομολόγηση: καθορισμός διαδρομής πακέτων από πηγή προς προορισμό. – routing algorithms
Τιμή στην επικεφαλίδα του πακέτου routing algorithm local forwarding table header value output link Συσχέτιση μεταξύ δρομολόγησης και προώθησης
ΔΡΟΜΟΛΟΓΗΣΗ ΕΠΙΠΕΔΟΥ ΔΙΚΤΥΟΥ Άμεση δρομολόγηση (direct) – Κάθε κόμβος (PC, router) στέλνει πακέτα IP σε interface κόμβου του ίδιου υποδικτύου Έμμεση δρομολόγηση (indirect) – Ο κόμβος στέλνει πακέτα IP σε κόμβο του ίδιου δικτύου, χρησιμοποιώντας δρομολογητές (routers) – Ο κόμβος πρέπει να γνωρίζει τη διεύθυνση του interface δρομολογητή (gateway) & την διεύθυνση L2 (MAC) μέσω ARP Οι τελικοί κόμβοι στέλνουν πακέτα με διεύθυνση προορισμού εκτός του δικτύου τους σε default gateway (π.χ ) Ο δρομολογητής πρέπει να γνωρίζει τη διαδρομή (επόμενο interface δρομολογητή) προς το δίκτυο – υποδίκτυο προορισμού
ΠΙΝΑΚΑΣ ΔΟΡΜΟΛΟΓΗΣΗΣ ΣΕ HOST Host Routing Table Εγγραφές του τύπου (N, R) – N: Δίκτυο προορισμού – R: Επόμενο interface δρομολογητή (gateway) Host routing table σε λειτουργικό Windows από το μηχάνημα με IP > netstat -nr Routing Table: Network Destination Netmask Gateway Interface Metric Προς το ίδιο τοπικό υποδίκτυο /24 σαν gateway ορίζεται κατευθείαν (direct) το τοπικό interface – Προς destination dolly.netmode.ntua.gr ( ) gateway θα είναι το τοπικό interface Προς όλα τα άλλα δίκτυα σαν gateway ορίζεται το (default gateway: router.netmode.ntua.gr) Προς local host /8 (π.χ. για δοκιμή δικτυακών εφαρμογών τοπικά) ή προς το ίδιο το /32 «προωθούνται» στο «interface» Προς διεύθυνση broadcast /32 σαν gateway ορίζεται κατευθείαν (direct) το τοπικό interface (η διεύθυνση δεν ισχύει στο δίκτυο του ΕΜΠ) Προς διευθύνσεις multicast /4 σαν gateway ορίζεται κατευθείαν (direct) το τοπικό interface
Ι Ιεραρχική δρομολόγηση Κλιμάκωση: με 200 εκ. προορισμούς: Δεν μπορεί να αποθηκεύσει όλους τους προορισμούς στους πίνακες δρομολόγησης! Και μόνο η ανταλλαγή πινάκων δρομολόγησης θα γεμίσει τα links! Διαχειριστική Αυτονομία internet = δίκτυα από δίκτυα Κάθε διαχειριστής δικτύου θέλει να ελέγχει την δρομολόγηση του δικτύου του και των πελατών του Όλη η μελέτη δρομολόγησης είναι μια απλοποίηση r Όλοι οι δρομολογητές είναι ίδιοι r Ότι το δίκτυο είναι “επίπεδο” … αυτό στην πράξη δεν είναι ισχύει
Ιεραρχική Δρομολόγηση (2) Συνάθροιση δρομολογητών σε περιοχές, “autonomous systems” (AS) Οι δρομολογητές στο ίδιο AS τρέχουν το ίδιο πρωτόκολλο δρομολόγησης – “intra-AS” routing protocol – Οι δρομολογητές σε διαφορετικά AS μπορεί να τρέχουν διαφορετικά intra-AS πρωτόκολλα δρομολόγησης Gateway router Άμεσο link του δρομολογητή σε γειτονικό AS
Γιατί διαφορετική δρομολόγηση Intra- και Inter-AS? Πολιτική: Inter-AS: Ο διαχειριστής θέλει να έχει τον έλεγχο της διαδρομής της κίνησης, και ποιοι την χρησιμοποιούν Intra-AS: Δεν απαιτείται πολιτική Κλιμάκωση: Ιεραρχική δρομολόγηση εξοικονομεί μέγεθος πίνακα δρομολόγησης Performance: Intra-AS: βελτίωση της επίδοσης (π.χ. επιλογή γρήγορων γραμμών) Inter-AS: η πολιτική μπορεί να υπερτερεί της επίδοσης
3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b Intra-AS Routing algorithm Inter-AS Routing algorithm Forwarding table 3c Διασυνδεδεμένα AS Το forwarding table γεμίζει από πρωτόκολλα δρομολόγησης intra- και inter-AS – intra-AS διαδρομές για εσωτερικούς προορισμούς – inter-AS & Intra-AS διαδρομές για εξωτερικούς προορισμούς
3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c Inter-AS δρομολόγηση Έστω δρομολογητής εντός AS1 λαμβάνει πακέτο με προορισμό εκτός AS1 – Ο δρομολογητής πρέπει να προωθήσει το πακέτο σε ένα gateway αλλά σε ποιο; AS1 πρέπει να : 1.Μάθει ποιοι προορισμοί είναι προσβάσιμοι (reachable) μέσω AS2, και ποιοί μέσω AS3 2.Προώθηση πληροφορίας πρόσβασης σε όλους τους δρομολογητές του AS1 Λειτουργία της inter-AS δρομολόγησης!
Παράδειγμα: πλήρωση forwarding table για το δρομολογητή 1d Έστω AS1 μαθαίνει (μέσω inter-AS protocol) ότι το υποδίκτυο είναι προσβάσιμο μέσω του AS3 (gateway 1c) αλλά όχι μέσω AS2. Το πρωτόκολλο inter-AS προωθεί πληροφορία πρόσβασης (reachability info) σε όλους τους εσωτερικούς δρομολογητές. Ο δρομολογητής 1d καθορίζει από το intra-AS ότι το interface L είναι στην καλύτερη (ελάχιστη) διαδρομή προς τον 1c. – δημιουργεί την πληροφορία (X,L) στο forwarding table 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c x … L
Παράδειγμα: Επιλογή μεταξύ πολ/λών ASs έστω AS1 μαθαίνει από το πρωτόκολλο inter-AS το υποδίκτυο x είναι διαθέσιμο μέσω AS3 και μέσω AS2. για την ρύθμιση του forwarding table, ο δρομολογητής 1d πρέπει να καθορίσει ποιο gateway θα χρησιμοποιήσει για το προορισμό x. – Αυτό είναι λειτουργία για το inter-AS πρωτόκολλο δρομολόγησης! 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c x … …
Παράδειγμα: Επιλογή μεταξύ πολ/λών As (2) έστω AS1 μαθαίνει από το πρωτόκολλο inter-AS το υποδίκτυο X είναι διαθέσιμο μέσω AS3 και μέσω AS2. για την ρύθμιση του forwarding table,ο δρομολογητής 1d πρέπει να καθορίσει ποιο gateway θα χρησιμοποιήσει για το προορισμό X. – Αυτή είναι λειτουργία για το inter-AS πρωτόκολλο δρομολόγησης! Ενημέρωση inter-AS protocol ότι υποδίκτυο x είναι προσβάσιμο μέσω πολ/λων gateways Χρήση routing info α πό το intra-AS Για τον καθορισμό του κόστους των πολ/πλων διαδρομών προς κάθε gateway Hot potato routing: Επιλογή του gateway με το μικρότερο κόστος Καθορισμός από το forwarding table του interface I που οδηγεί στο least-cost gateway. Εισαγωγή (X,L) στο forwarding table
u y x wv z Γράφος : G = (N,E) N = σύνολο από δρομολογητές { u, v, w, x, y, z } E = σύνολο από γραμμές ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Η έννοια των γράφων Σημείωση: Η έννοια των Γράφων είναι χρήσιμη σε διάφορα θέματα δικτύων Π.χ.: P2P, όπου N σύνολο από peers και E σύνολο από TCP συνδέσεις
Γράφοι: κόστος u y x wv z c(x,x’) = κόστος της γραμμής (x,x’) - π.χ., c(w,z) = 5 Το κόστος μπορεί να είναι 1, ή αντίστροφο της χωρητικότητας, ή αντίστροφο της συμφόρησης Κόστος διαδρομής (x 1, x 2, x 3,…, x p ) = c(x 1,x 2 ) + c(x 2,x 3 ) + … + c(x p-1,x p ) ερώτηση: Ποια είναι η διαδρομή ελαχίστου κόστους μεταξύ u και z ? Αλγόριθμος δρομολόγησης: εύρεση διαδρομής ελάχιστου κόστους
Intra-AS Routing γνωστά και ως Interior Gateway Protocols (IGP) τα πλέον γνωστά Intra-AS routing protocols: – RIP: Routing Information Protocol – OSPF: Open Shortest Path First – IGRP: Interior Gateway Routing Protocol (Cisco proprietary)
ΑΛΓΟΡΙΘΜΟΙ ΕΥΡΕΣΗΣ ΔΡΟΜΩΝ εντός AS (Δρομολόγηση Intra- AS) DV: Distance Vector (αλγόριθμος Bellman-Ford) – IGP: RIP (Routing Information Protocol) – EGP: BGP (Border Gateway Protocol) LS: Link State (αλγόριθμος Dijkstra) – IGP: OSPF (Open Shortest Path First): Link State Data Base + αλγόριθμος Dijkstra στον κορμό Αυτόνομου Δικτύου (Core of an Autonomous System, AS) – Κόστος γραμμών δικτύου: Ανάλογα με την ταχύτητα ή οριζόμενα από τον Διαχειριστή Ανανέωση κόστους γραμμών: κάθε 240 sec (default) ή λόγω μεταβολής κατάστασης Στα περιφερειακά υποδίκτυα (stub areas): Default G/W
18 ΔΡΟΜΟΛΟΓΗΣΗ ΕΠΙΠΕΔΟΥ ΔΙΚΤΥΟΥ Layer 3 Routing Interior Gateway Protocols (IGP): Μια έξοδος προς επόμενο Interface για κάθε τελικό προορισμό (δίκτυο) – RIP: Bellman Ford – OSPF (Open Shortest Path First): Dijkstra, ιεραρχικό με stub areas) – IS-IS Exterior (Border) Gateway Protocols (EGP/BGP): Πολλές εναλλακτικές διαδρομές με βάρη προς όλα τα γνωστά δίκτυα (περίπου σήμερα) μεταξύ ακραίων (border) routers αυτονόμων συστημάτων (Autonomous Systems, AS, περίπου σήμερα). – Η διαδρομή καταγράφεται στον BGP Table των ακραίων δρομολογητών (border gateways) ενός AS ανά δίκτυο προορισμού και την σειρά των AS’s της προτεινόμενης διαδρομής (μαζί με το βάρος της) – Οι πίνακες BGP φυλάσσονται στην ηλεκτρονική μνήμη των border gateways και ανανεώνονται δυναμικά όποτε υπάρχουν αλλαγές στο Internet με ευθύνη των γειτονικών δρομολογητών (border gateways) που ανακοινώνουν τα δίκτυα των αυτονόμων κοινοτήτων (AS’s) που γνωρίζουν (advertising)
19 ΤΟ ΔΙΚΤΥΟ ΤΟΥ Ε.Μ.Π. ntua.gr ( /16, ASN 3323)
ΔΡΟΜΟΛΟΓΗΣΗ ΜΕΤΑΞΥ ΔΡΟΜΟΛΟΓΗΤΩΝ (Links between Routers) Για ομοιομορφία της δρομολόγησης, κάθε γραμμή ορίζεται (συνήθως) σαν δίκτυο με 4 τουλάχιστον διευθύνσεις (/30) Παράδειγμα: Μεταξύ ΕΜΠ /16 & Παν. Αθηνών /18 ορίζεται το «δίκτυο» /30 – Υποδίκτυο: /30 – Άκρο ΕΜΠ: /30 – Άκρο Παν. Αθηνών: /30 – Broadcast: /30
Internet inter-AS routing: BGP BGP (Border Gateway Protocol): the de facto standard BGP δίνει σε κάθε AS τον τρόπο για να: 1.Μαθαίνει πληροφορίες πρόσβασης (subnet reachability information) από γειτονικά AS/δρομολογητές. 2.Προώθηση reachability information σε όλους τους εσωτερικούς AS-internal δρομολογητές. 3.Καθορισμός “καλών” routes προς υποδίκτυα με βάση reachability information και policy. Επιτρέπει σε subnet να ανακοινώσουν την ύπαρξη τους στο υπόλοιπο Internet: “Είμαι εδώ”
BGP - βασικά pairs of routers (BGP peers) ανταλλάσουν πληροφορίες δρομολόγησης (routing info) πάνω από ημι-σταθερές συνδέσεις TCP: BGP sessions – BGP sessions δεν χρειάζεται να αντιστοιχίζονται σε φυσικές συνδέσεις links. Όταν το AS2 ανακοινώνει ένα πρόθεμα (prefix) προς AS1: – AS2 υπόσχεται ότι θα προωθεί πακέτα με διεύθυνση προορισμού το δεδομένο prefix. – AS2 μπορεί να συναθροίσει (aggregate) prefixes στις ανακοινώσεις του 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP session iBGP session
Διανομή -reachability info Με χρήση eBGP σύνδεσης μεταξύ 3a και 1c, AS3 στέλνει prefix reachability info στο AS1. – 1c μπορει να χρησιμοποιήσει iBGP για διανομή νέων prefix info σε όλους τους δρομολογητές του AS1 – 1b μπορεί να ξανα-ανακοινώσει νέο reachability info στο AS2 πάνω από 1b-to-2a σύνδεση eBGP Ένας δρομολογητής όταν μαθαίνει νέο prefix, δημιουργεί routing entry στο πίνακα προώθησης. 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP session iBGP session
Path attributes και BGP routes Ανακοινούμενο prefix περιλαμβάνει BGP attributes. – prefix + attributes = “route” Δύο σημαντικά attributes: – AS-PATH: διαδρομή ASs μέσα από την οποία έχει περάσει η ανακοίνωση του prefix advertisement: π.χ., AS 67, AS 17 – NEXT-HOP: δείχνει την διεύθυνση IP (εσωτερική-στο_AS για το επόμενο hop στο γειτονικό AS (BGP-NEXT-HOP) Η λήψη ανακοινώσεων δρομολόγησης (route advertisement) φιλτράρεται από import policy για αποδοχή/ απόρριψη ανακοινώσεων.
Network Layer4-25 BGP – επιλογή routes Είναι δυνατή η λήψη του ιδίου route prefix από πολλούς γειτονικούς border routers. Ο δρομολογητής πρέπει να επιλέξει τον border router και το πώς θα τον προσεγγίσει. Κανόνες επιλογής: 1.local preference value attribute: policy decision 2.Μικρότερο AS-PATH 3.πλησιέστερος NEXT-HOP router: hot potato routing 4.επιπλέον criteria
BGP Control Messages BGP control messages διακινούνται με πρωτόκολλο TCP για flow control BGP control messages: – OPEN: ανοίγει TCP σύνδεση στο γείτονα (peer) και προαιρετικά ταυτοποιεί το απέναντι άκρο – UPDATE: ανακοινώνει νέα path ή αποσύρει (withdraws) παλαιότερα – KEEPALIVE κρατάει την σύνδεση ανοιχτή σε περίπτωση που δεν υπάρχουν UPDATES ή ACK σε αίτηση OPEN – NOTIFICATION: ανακοίνωση σφαλμάτων σε προηγούμενα μηνύματα ή για να κλείσει η σύνδεση
BGP routing policy r A,B,C είναι Δίκτυα Παρόχων (ISPs) r X,W,Y είναι πελάτες (των ΙSPs) r W,Y είναι single homed r X είναι dual-homed: συνδεδεμένο σε δύο δίκτυα m X δεν επιθυμεί την δρομολόγηση από το Β μέσω X προς το C m.. έτσι X δεν θα ανακοινώσει στον B a route προς το C A B C W X Y Ορολογία : Δίκτυο παρόχου Δίκτυο Πελάτη
BGP routing policy – οικονομική πολιτική (2) r A ανακοινώνει path AW στον B r B ανακοινώνει path BAW στον X r Πρέπει ο B να ανακοινώσει path BAW στον C? m Αδιανόητο! B δεν έχει “έσοδα” για δρομολόγηση CBAW εφόσον ούτε W ούτε ο C είναι πελάτες του B m B επιθυμεί να πιέσει τον C για δρομολόγηση προς w μέσω A m B επιθυμεί να δρομολογήσει μόνο από/πρός τους πελάτες ΤΟΥ! A B C W X Y Ορολογία : Δίκτυο Πελάτη Δίκτυο παρόχου
29 ΑΝΑΚΟΙΝΩΣΗ ΔΙΚΤΥΟΥ /16 ΜΕΣΩ BGP Distance Vector ΑΝΑΚΟΙΝΩΣΗ ΔΙΚΤΥΟΥ /16 ΜΕΣΩ BGP Distance Vector (από παρουσίαση του Timothy G. Griffin, AT&T Research, Paris 2002)
30 ΤΟ «ΕΜΠΟΡΙΚΟ» INTERNET ΤΟ «ΕΜΠΟΡΙΚΟ» INTERNET There is no Free Lunch 1.AOL Transit Data Network 2. AT&T 3. Global Crossing 4.Level 3 5.Verizon Business 6.NTT Com. 7.Qwest 8.SAVVIS 9.SprintLink Οι 9 Tier 1 ISP’s με πρόσβαση στα 300,000 δίκτυα - γνωστούς προορισμούς του Internet :