
8822bc4200dbaa8fef09323e170e9fcb.ppt
- Количество слайдов: 157
Προηγμένες Δικτυακές Τεχνολογίες – 1 o μέρος (Επίπεδο δικτύου – βασικά δρομολόγησης) ΠΜΣ: Τεχνολογίες Υπολογισμού και Δικτύων Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Αθήνας
Στόχοι του μαθήματος: v Η κατανόηση των σύγχρονων εξελίξεων στα δίκτυα υπολογιστών § Καταγραφή του State of the art σε όλα τα επίπεδα δικτύου § Έμφαση σε συγκεκριμένες τεχνολογίες που σχετίζονται και με την ανάπτυξη διαδικτυακών εφαρμογών. § Προβολή των τεχνολογιών που θα επικρατήσουν στο μέλλον v Πρακτική εξάσκηση σε ό, τι αφορά τη σχεδίαση και μελέτη δικτύων με τη χρήση σύγχρονων εξομοιωτών (GNS 3, Packet Tracer) ΠΔΤ 2
Ύλη που αισιοδοξούμε να διδάξουμε Ευρυζωνικά δίκτυα v Δίνουμε έμφαση στις τεχνολογίες οπτικών δικτύων (metro and access) Πρωτόκολλα Δρομολόγησης v Εμβάθυνση σε τεχνολογίες IPv 4, IPv 6 και σε πρωτόκολλα δρομολόγησης (OSPF, BGP, RIP) Τεχνολογία MPLS v Εμβάθυνση σε ζητήματα ποιότητας υπηρεσίας και VPN Νέες τάσεις στη δικτύωση v Software Defined Networking v Internet of Things v Data Center Networks ΠΔΤ 3
Προαπαιτούμενες Γνώσεις v v v Τι είναι το internet Τι είναι επίπεδο δικτύου και ποια είναι τα χαρακτηριστικά πρωτόκολλα ανά επίπεδο Τι καλούμε switch, router, host, server και ποιες οι ιδιότητές τους και η λειτουργία τους. Τι σημαίνει μεταγωγή κυκλώματος και μεταγωγή πακέτου IPv 4 διευθυνσιοδότηση Βασικά πρωτόκολλα δρομολόγησης. ΠΔΤ 4
Η μεγάλη εικόνα v Πως μοιάζει το διαδίκτυο; ΠΔΤ 5
Η μεγάλη εικόνα v Ένας σύγχρονος μηχανικός δικτύων πρέπει να γνωρίζει v v Βασικές τεχνολογίες φυσικού επιπέδου (οπτική μετάδοση, δίκτυα κινητών, x. DSL) Πως διαλειτουργούν τα διαφορετικά τμήματα του δικτύου Ποιος ο ρόλος των διαφορετικών συσκευών που αναλαμβάνουν τη μεταγωγή/δρομολόγηση από το κομμάτι της πρόσβασης έως το δίκτυο κορμού. Πως επηρεάζονται οι τεχνολογίες των δικτύων από τις απαιτήσεις των εφαρμογών. ΠΔΤ 6
Προεπισκόπηση τεχνολογιών v Ας κάνουμε μία μικρή εισαγωγή ξεκινώντας από το μηδέν ΠΔΤ 7
Chapter 1 και 4 Network Layer A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in Power. Point form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: v If you use these slides (e. g. , in a class) that you mention their source (after all, we’d like people to use our book!) v If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All material copyright 1996 -2012 J. F Kurose and K. W. Ross, All Rights Reserved ΠΔΤ 8
Τι είναι το διαδίκτυο – οπτική 1η PC Εκατομμύρια διασυνδεδεμένες συσκευές: • – server – wireless laptop hosts = τερματικά συστήματα Που τρέχουν δικτυακές εφαρμογές mobile network global ISP smartphone v wireless links wired links Επικοινωνιακές Συνδέσεις § Οπτική ίνα, χαλκός, ασύρματες, δορυφορικές § Ρυθμός μετάδοσης: Εύρος ζώνης v router Μεταγωγείς πακέτων: προωθούν πακέτα (κομμάτια δεδομένων) § routers και switches home network regional ISP institutional network ΠΔΤ 9
Τι είναι το διαδίκτυο – οπτική 2η • Internet: “Το δίκτυο των δικτύων” mobile network – Διασυνδεδεμένοι ISPs • Πρωτόκολλα – e. g. , TCP, IP, HTTP, Skype, 802. 11 • global ISP Πρότυπα home network regional ISP – RFC: Request for comments – IETF: Internet Engineering Task Force institutional network ΠΔΤ 10
Τι είναι το διαδίκτυο – οπτική της υπηρεσίας • Υποδομή που προσφέρει υπηρεσίες σε εφαρμογές: – Web, Vo. IP, email, games, ecommerce, social nets, … • Παρέχει προγραμματιστικές διεπαφές σε εφαρμογές mobile network global ISP home network regional ISP – Σημεία που επιτρέπουν σε εφαρμογές να συνομιλούν στο δίκτυο institutional network ΠΔΤ 11
Τι είναι πρωτόκολλο; Ένα ανθρώπινο πρωτόκολλο και ένα πρωτόκολλο δικτύων υπολογιστών: Hi TCP connection request Hi TCP connection response Got the time? Get http: //www. awl. com/kurose-ross 2: 00 <file> time Q: other human protocols? ΠΔΤ 12
Μια κοντινή ματιά στη δομή του δικτύου: • Άκρη του δικτύου: – – v v mobile network hosts: clients and servers στα data centers Δίκτυα πρόσβασης, φυσικά μέσα: ενσύρματες και ασύρματες επικοινωνίες Δίκτυο κορμού: § Διασυνδεδεμένοι δρομολογητές § Το δίκτυο των δικτύων global ISP home network regional ISP institutional network ΠΔΤ 13
Δίκτυα πρόσβασης και φυσικά μέσα Ε: Πως να συνδέσουμε τα τερματικά συστήματα στον edge router? • • • Οικιακά δίκτυα πρόσβασης Δίκτυα πρόσβασης οργανισμών (Σχολές, Εταιρίες) Κινητά Δίκτυα Πρόσβασης Πρέπει να έχουμε κατά νου: • • Το εύρος ζώνης Αν διαμοιράζεται ή όχι το δίκτυο.
digital subscriber line (DSL) central office DSL splitter modem Η φωνή και τα δεδομένα ταξιδεύουν μέσα από αφιερωμένη γραμμή σε διαφορετικές συχνότητες προς το DSLAM v v telephone network DSLAM ISP DSL access multiplexer Κάνει χρήστη τη υπάρχουσας υποδομής μέχρι το DSLAM § Τα data πάνω από DSL πάνε στο Internet § Η φωνή (voice) πάνω από DSL πηγαίνει στο τηλεφωνικό δίκτυο < 2. 5 Mbps upstream transmission rate (typically < 1 Mbps) < 24 Mbps downstream transmission rate (typically < 10 Mbps) Καλύτερη επιλογή το VDSL, συνδυαζόμενο FFTx τεχνολογίες ΠΔΤ 15
Δίκτυο πρόσβασης: οικιακά δίκτυα wireless devices Από και προς το κεντρικό γραφείο (Central office) Συνδυάζονται στο ίδιο κουτί x. DSL modem Ασύρματο σημείο πρόσβασης (54 Mbps) Δρομολογητής, τείχος προστασίας (firewall), NAT Ενσύρματο Ethernet (100 Mbps) ΠΔΤ 16
Enterprise access networks (Ethernet) institutional link to ISP (Internet) institutional router Ethernet switch institutional mail, web servers • typically used in companies, universities, etc v v 10 Mbps, 100 Mbps, 1 Gbps, 10 Gbps transmission rates today, end systems typically connect into Ethernet switch ΠΔΤ 17
Ασύρματα δίκτυα πρόσβασης • Το διαμοιραζόμενο ασύρματο δίκτυο πρόσβασης συνδέει τα τερματικά συστήματα με το δρομολογητή – base station or“access point” Ασύρματα LANs: § Μέσα σε ένα κτήριο (30 μέτρα) § 802. 11 b/g/n (Wi. Fi): 11, 54 Mbps, 400 Mbps ρυθμός μετάδοσης Ασύρματη πρόσβαση ευρείας περιοχής § Δίνεται από πάροχο κινητής (10’s km) § Μεταξύ 1 και 100 Mbps § 3 G, 4 G: LTE to Internet ΠΔΤ 18
Φυσικά Μέσα • • • bit: μεταδίδεται μεταξύ του αποστολέα και του παραλήπτη Φυσικό μέσο: ό, τι βρίσκεται μεταξύ τους Μέσα που κυματοδηγούν: – Χαλκός, οπτική ίνα, ομοαξονικό καλώδιο • Συνεστραμμένα ζεύγη (TP) • Καλώδια χαλκού – – Category 5: 100 Mbps, 1 Gpbs Ethernet Category 6: 10 Gbps Μέσα που δεν κυματοδηγούν: – Ασύρματη ζεύξη ΠΔΤ 19
Φυσικά μέσα: ομοαξονικό, οπτική ίνα Ομοαξονικό καλώδιο: • • • Δύο ομόκεντροι αγωγοί χαλκού Διπλής διαδρομής Ευρυζωνικό: – πολλά κανάλια σε ένα καλώδιο Καλώδιο οπτικής ίνας: v v Γυάλινη οπτική ίνα που μεταφέρει παλμούς φωτός που αντιστοιχούν σε bits Λειτουργία υψηλών ρυθμών: § (e. g. , 10’s-100’s Gpbs transmission rate) v Χαμηλός ρυθμός σφαλμάτων: § Μεγάλη απόσταση μεταξύ των αναγεννητών § Αναίσθητες στον ηλεκτρομαγνητικό θόρυβο ΠΔΤ 20
Φυσικά μέσα: Ασύρματη ζεύξη • • • Το σήμα που μεταφέρεται στο ηλεκτρομανγητικό φάσμα Διπλής κατεύθυνσης Προβλήματα που θέτει το περιβάλλον: – Ανακλάσεις – Σκίαση από αντικείμενα – Παρεμβολές Τύποι ασύρματων ζεύξεων: v Μικροκυματικές επίγειες § e. g. Τυπικά μέχρι 45 Mbps v LAN (π. χ. Wi. Fi) § 11 Mbps, 54 Mbps, 400 Μbps v Ευρείας περιοχής (π. χ. κινητά) § 3 G cellular: ~ few Mbps v Δορυφορικά § Kbps μέχρι 45 Mbps § 270 msec καθυστέρηση από άκρο σε άκρο ΠΔΤ 21
Το δίκτυο κορμού • Συνεκτικό δίκτυο διασυνδεδεμένων δρομολογητών • Μεταγωγή πακέτου: Οι hosts τεμαχίζουν τα δεδομένα του επιπέδου εφαρμογής σε πακέτα – Προώθηση πακέτων από δρομολογητή σε δρομολογητή από τον αποστολέα έως τον παραλήπτη – Κάθε πακέτο στέλνεται στο μέγιστο της χωρητικότητας ΠΔΤ 22
Δρομολόγηση πακέτων: Αποθήκευση και προώθηση L bits Ανά πακέτο Πηγή • • v 3 2 1 R bps Χρειάζονται L/R δευτερόλεπτα για νε στείλουμε L-bit πακέτα σε μία ζεύξη με ρυθμό R bps Αποθήκευση και προώθηση: Όλο το πακέτο πρέπει να φτάσει στο δρομολογητή πριν αποσταλεί στον επόμενο Προορισμός R bps one-hop: § L = 7. 5 Mbits § R = 1. 5 Mbps § Καθυστέρηση απλού άλματος = 5 sec Καθυστέρηση από άκρο σε άκρο (end-end delay) = 2 L/R (Θεωρώντας μηδενική καθυστέρηση διάδοσης) ΠΔΤ 23
Μεταγωγή πακέτων: καθυστέρηση στην ουρά, απώλειες πακέτων C R = 100 Mb/s A B D R = 1. 5 Mb/s E Ουρά πακέτων που περιμένουν να σταλούν Αναμονή στην ουρά και απώλειες: v Αν ο ρυθμός άφιξης (in bits) ξεπερνά τον ρυθμό αποστολής για ένα χρονικό διάστημα: § Τα πακέτα μπαίνουν στην ουρά περιμένοντας να αποσταλούν § Τα πακέτα μπορεί να χαθούν (να πεταχτούν) αν η μνήμη (buffer) γεμίσει ΠΔΤ 24
Οι δύο πιο σημαντικές δικτυακές λειτουργίες Δρομολόγηση(routing): Προώθηση: Η μετακίνηση καθορίζει τη διαδρομή μεταξύ πηγής και προορισμού που τα πακέτα θα ακολουθήσουν § Αλγόριθμοι δρομολόγησης των πακέτων από την είσοδο του δρομολογητή στην κατάλληλη έξοδο. routing algorithm local forwarding table header value output link 0100 0101 0111 1001 1 3 2 2 1 3 2 01 11 Η διεύθυνση προορισμού (επικεφαλίδα πακέτου) ΠΔΤ 25
Εναλλακτική επιλογή: Μεταγωγή κυκλώματος Οι πόροι του συστήματος δεσμεύονται από άκρο σε άκρο για τη μεταφορά των δεδομένων: • Στο διάγραμμα κάθε ζεύξη έχει τέσσερα κυκλώματα. – • Οι πόροι δεσμεύονται αποκλειστικά: Κανένας διαμοιρασμός – • Η ζεύξη καταλαμβάνει το 2ο κύκλωμα στην πάνω ζεύξη και το 1ο κύκλωμα στη δεξιά ζεύξη. Εγγυημένη (guaranteed) επίδοση Χρησιμοποιείται συχνά στα τηλεφωνικά δίκτυα και στα δίκτυα οπτικών ινών. ΠΔΤ 26
Packet switching vs circuit switching H μεταγωγή πακέτου επιτρέπει σε περισσότερους χρήστες να χρησιμοποιούν το δίκτυο • 100 kb/s όταν είναι ενεργός • Ενεργός στο 10% του χρόνου • N users …. . Παράδειγμα § 1 Mb/s link § Κάθε χρήστης: 1 Mbps link circuit-switching: – 10 χρήστες • packet switching: – Με 35 χρήστες, Η πιθανότητα > 10 ενεργοί ταυτόχρονα είναι μικρότερη από. 0004 (πως προκύπτει? ) ΠΔΤ 27
Packet switching vs circuit switching Είναι το packet switching ο απόλυτος νικητής; • • • Είναι ιδανικό για bursty data (ριπές δεδομένων) – Διαμοιρασμός των πόρων – Απλούστερο (καμία εγκατάσταση κλήσης) Καλύτερη αντιμετώπιση της συμφόρησης: packet delay and loss Ερώτηση: Πώς να παρέχουμε circuit-like επιδόσεις; – Εγγυημένο εύρος ζώνης για audio/video apps – Είναι θέμα προς συνεχή διερεύνηση ΠΔΤ 28
Δομή του διαδικτύου: Το δίκτυο των δικτύων v v Τα τερματικά συστήματα συνδέονται στο Internet μέσω ISPs πρόσβασης (Internet Service Providers) § Οικιακοί, εταιρικοί και πανεπιστημιακοί ISPs Οι Access ISPs με τη σειρά τους πρέπει να διασυνδεθούν. v Έτσι ώστε δύο οποιοιδήποτε hosts να επικοινωνήσουν Το δίκτυο των δικτύων που προκύπτει είναι πολύ περίπλοκο v Η εξέλιξη δρομολογήθηκε από την οικονομία και εθνικές πολιτικές Ας δούμε τη σημερινή δομή του διαδικτύου ΠΔΤ 29
Η δομή του Internet: το δίκτυο των δικτύων Question: Με δεδομένο ότι υπάρχουν εκατομμύρια από access ISPs, πως μπορούμε να τους διασυνδέσουμε; access net … access net access net … … access net access net … access net ΠΔΤ 30 …
Η δομή του Internet: το δίκτυο των δικτύων Επιλογή: Να συνδέσουμε κάθε access ISP με κάθε άλλο access ISP; access net … access net … … … H απευθείας σύνδεση ενός ISP σε οποιοδήποτε άλλο δεν είναι κλιμακώσιμη: O(N 2) συνδέσεις. … access net access net … access net ΠΔΤ 31 …
Η δομή του Internet: το δίκτυο των δικτύων Επιλογή: Να συνδέσουμε ένα τοπικό ISP σε ένα μεγαλύτερο (global transit) ISP; Customer και provider ISPs υπογράφουν οικονομική συμφωνία. access net … access net access net … … global ISP access net access net … access net ΠΔΤ 32 …
Η δομή του Internet: το δίκτυο των δικτύων Αν ένας global ISP είναι μία βιώσιμη εταιρία, θα υπάρχουν ανταγωνιστές…. . access net … access net access net ISP A … … access net ISP B ISP C access net access net … … access net ΠΔΤ 33
Η δομή του Internet: το δίκτυο των δικτύων Αν ένας global ISP είναι μία βιώσιμη εταιρία, θα υπάρχουν ανταγωνιστές…. Που θα πρέπει να διασυνδεθούν access net … Internet exchange point … access net IXP access net ISP A … … IXP access net ISP B ISP C access net peering link access net access net … … access net ΠΔΤ 34
Η δομή του Internet: το δίκτυο των δικτύων … και τοπικά δίκτυα θα προκύψουν ώστε να συνδέσουν δίκτυα πρόσβασης στους ISPS access net … access net IXP access net ISP A … … IXP access net ISP B ISP C access net regional net access net access net … … access net ΠΔΤ 35
Η δομή του Internet: το δίκτυο των δικτύων Tier 1 ISP IXP Regional ISP access ISP • access ISP Google access ISP IXP Regional ISP access ISP access ISP Στο κέντρο: small # καλά διασυνδεδεμένων μεγάλων δικτύων – “tier-1” εμπορικοί ISPs (e. g. , Level 3, Sprint, AT&T, NTT, ΟΤΕ, DT), national & international coverage – content provider network (e. g, Google): ιδιωτικο δίκτυο που συνδέει τα κέντρα δεδομένων (data centers) στο διαδίκτυο, συχνά παρακάμπτοντας tier-1, τοπικούς ISPs ΠΔΤ 36
Tier-1 ISP: e. g. , Sprint POP: point-of-presence to/from backbone peering … … … to/from customers ΠΔΤ 37
Απώλεια και η καθυστέρηση Τα πακέτα εισέρχονται στις ουρές των δρομολογητών (buffers) Ο ρυθμός άφιξης των πακέτων (προσωρινά) ξεπερνά τη χωρητικότητα του εξωτερικού link Τα πακέτα στην ουρά περιμένουν τη σειρά τους • • Πακέτο που αποστέλλεται (μετά από καθυστέρηση) A B Πακέτα που μπαίνουν στην ουρά (καθυστέρηση) Διαθέσιμοι buffers: πακέτα που φτάνουν (απώλεια) αν δεν υπάρχουν ελεύθεροι buffers ΠΔΤ 38
Τέσσερις αιτίες καθυστέρησης μετάδοση A διάδοση B Επεξεργασία στον κόμβο Αναμονή στην ουρά dnodal = dproc + dqueue + dtrans + dprop dproc: Επεξεργασία § Έλεγχος λαθών bits § Καθορισμός γραμμής εξόδου § Τυπικά < msec dqueue: Αναμονή στην ουρά § § Αναμονή για την μετάδοση στη γραμμή εξόδου Εξαρτάται από το βαθμό συμφόρησης του δρομολογητή ΠΔΤ 39
Τέσσερις αιτίες καθυστέρησης transmission A propagation B nodal processing queueing dnodal = dproc + dqueue + dtrans + dprop dtrans: καθυστέρηση μετάδοσης: § L: μέγεθος πακέτου (bits) § R: ρυθμός μετάδοσης (bps) § dtrans = L/R dtrans and dprop Δύο διαφορετικά πράγματα dprop: καθυστέρηση διάδοσης: § d: length of physical link § s: propagation speed in medium (~2 x 108 m/sec) § dprop = d/s ΠΔΤ 40
• • • R: ταχύτητα γραμμής (bps) L: μήκος πακέτου (bits) a: μέσος ρυθμός άφιξης πακέτων average queueing delay Καθυστέρηση στην ουρά traffic intensity = La/R ~ 0: avg. Μικρή καθυστέρηση στην ουρά v La/R -> 1: Μεγάλη καθυστέρηση στην ουρά v La/R > 1: περισσότερη κίνηση φτάνει από αυτή που Μπορεί να εξυπηρετηθεί, μέση καθυστέρηση άπειρη! La/R ~ 0 v La/R -> 1 ΠΔΤ 41
“Πραγματικές” καθυστερήσεις και διαδρομές στο διαδίκτυο • • Πως μοιάζουν οι καθυστερήσεις και οι διαδρομές? traceroute πρόγραμμα: παρέχει μέτρηση της καθυστέρησης από την πηγή μέχρι τον προορισμό επιδεικνύοντας τους ενδιάμεσους δρομολογητές. Για όλα τα ενδιάμεσα βήματα i: – Στέλνει τρία πακέτα που θα φτάσουν το router i στο μονοπάτι μέχρι τον προορισμό – Ο router i θα επιστρέψει πακέτα στον αποστολέα – Ο αποστολέας καταγράφει το διάστημα από την αποστολή των δεδομένων μέχρι να λάβει την απάντηση. 3 probes ΠΔΤ 42
“Πραγματικές” καθυστερήσεις και διαδρομές στο διαδίκτυο traceroute: gaia. cs. umass. edu to www. eurecom. fr 3 delay measurements from gaia. cs. umass. edu to cs-gw. cs. umass. edu 1 cs-gw (128. 119. 240. 254) 1 ms 2 border 1 -rt-fa 5 -1 -0. gw. umass. edu (128. 119. 3. 145) 1 ms 2 ms 3 cht-vbns. gw. umass. edu (128. 119. 3. 130) 6 ms 5 ms 4 jn 1 -at 1 -0 -0 -19. wor. vbns. net (204. 147. 132. 129) 16 ms 11 ms 13 ms 5 jn 1 -so 7 -0 -0 -0. wae. vbns. net (204. 147. 136) 21 ms 18 ms 6 abilene-vbns. abilene. ucaid. edu (198. 32. 11. 9) 22 ms 18 ms 22 ms 7 nycm-wash. abilene. ucaid. edu (198. 32. 8. 46) 22 ms trans-oceanic 8 62. 40. 103. 253 (62. 40. 103. 253) 104 ms 109 ms 106 ms link 9 de 2 -1. de. geant. net (62. 40. 96. 129) 109 ms 102 ms 104 ms 10 de. fr 1. fr. geant. net (62. 40. 96. 50) 113 ms 121 ms 114 ms 11 renater-gw. fr 1. fr. geant. net (62. 40. 103. 54) 112 ms 114 ms 112 ms 12 nio-n 2. cssi. renater. fr (193. 51. 206. 13) 111 ms 114 ms 116 ms 13 nice. cssi. renater. fr (195. 220. 98. 102) 123 ms 125 ms 124 ms 14 r 3 t 2 -nice. cssi. renater. fr (195. 220. 98. 110) 126 ms 124 ms 15 eurecom-valbonne. r 3 t 2. ft. net (193. 48. 50. 54) 135 ms 128 ms 133 ms 16 194. 211. 25 (194. 211. 25) 126 ms 128 ms 126 ms 17 * * means no response (probe lost, router not replying) 18 * * * 19 fantasia. eurecom. fr (193. 55. 113. 142) 132 ms 128 ms 136 ms * Κάντε μερικά traceroutes από εξωτικές χώρες (www. traceroute. org) ΠΔΤ 43
Απώλεια πακέτου • • Πακέτο που φτάνει σε γεμάτο buffer απορρίπτεται Το χαμένο πακέτο μπορεί να ξανασταλεί από τον προηγούμενο κόμβο, από την πηγή ή καθόλου. buffer (περιοχή αναμονής) Πακέτο που αποστέλλεται A B Πακέτο που φτάνει σε γεμάτο buffer χάνεται ΠΔΤ 44
Throughput - Ρυθμαπόδοση • throughput: ρυθμός (bits/time unit) με τον οποίο στέλνονται τα δεδομένα από τον πομπό στο δέκτη – Στιγμιαία: Ρυθμός σε δεδομένο χρονικό σημείο – Μέση: Ρυθμός σε μεγαλύτερη διάρκεια του χρόνου server, with server sends bits file of F bits (fluid) into pipe to send to client linkpipe that can carry capacity Rs bits/secat rate fluid Rs bits/sec) linkpipe that can carry capacity Rc bits/secat rate fluid Rc bits/sec) ΠΔΤ 45
Ρυθμαπόδοση Rs < Rc What is average end-end throughput? • Rs bits/sec v Rc bits/sec Rs > Rc What is average end-end throughput? Rs bits/sec Rc bits/sec bottleneck link Η ζεύξη που περιορίζει τη ρυθμαπόδοση από άκρο σε άκρο ΠΔΤ 46
Επίπεδο δικτύου - εισαγωγικά Στόχοι: vΗ κατανόηση των αρχών που αφορούν τις υπηρεσίες του επιπέδου δικτύου: § Μοντέλα υπηρεσιών επιπέδου δικτύου § Προώθηση vs δρομολόγησης § Πως λειτουργεί ένας δρομολογητής vΒασικές υλοποιήσεις στο διαδίκτυο ΠΔΤ 47
Επίπεδο δικτύου • Μεταφορά των segments από τον αποστολέα στον παραλήπτη • Στην πλευρά του αποστολέα ενθυλακώνει τα segments σε datagrams • Στην πλευρά το παραλήπτη μεταφέρει τα segments στο επίπεδο μεταφοράς. • Ο δρομολογητής (router) εξετάζει τα πεδία τηε επικεφαλίδας σε όλα τα IP datagrams που διέρχονται από αυτόν. application transport network data link physical network data link physical network data link physical ΠΔΤ network data link physical application transport network data link physical 48
Δύο σημαντικές λειτουργίες του 3ου επιπέδου • Προώθηση: Μετακίνηση των πακέτων από την είσοδο του router στην κατάλληλη έξοδο • Δρομολόγηση: Ο καθορισμός της διαδρομής που θα ακολουθήσουν τα πακέτα από την πηγή στον προορισμό – Αλγόριθμοι δρομολόγησης Αναλογία: v v δρομολόγηση: διαδικασία σχεδιασμού του ταξιδιού από την πηγή στον προορισμό προώθηση: διαδικασία να βγεις από συγκεκριμένη έξοδο στην εθνική οδό ΠΔΤ 49
Αλληλεπίδραση μεταξύ routing, forwarding Ο αλγόριθμος δρομολόγησης καθορίζει το end-path routing algorithm Ο πίνακας προώθησης καθορίζει την τοπική προώθηση σε αυτό το router local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet’s header 0111 1 3 2 ΠΔΤ 50
Μοντέλα υπηρεσιών του επιπέδου δικτύου Network Architecture Internet Service Model Guarantees ? Bandwidth best effort none ATM CBR ATM VBR ATM ABR ATM UBR constant rate guaranteed minimum none Congestion feedback Loss Order Timing no no no yes yes yes no no (inferred via loss) no congestion yes no no ΠΔΤ 51
Συνδεσμικές-ασυνδεσμικές υπηρεσίες v To datagram δίκτυο παρέχει connectionless υπηρεσίες v Το virtual-circuit δίκτυο παρέχει connection υπηρεσίες στο επίπεδο του δικτύου v Σε αναλογία με τις TCP/UDP connection-oriented / connectionless υπηρεσίες δικτύου μεταφοράς, αλλά: § υπηρεσία: από host σε host § Καμία επιλογή: Το δίκτυο παρέχει τη μία ή την άλλη § Υλοποίηση: Στην καρδιά του δικτύου ΠΔΤ 52
Virtual circuits – Εικονικά κυκλώματα “Το μονοπάτι από την πηγή στον προορισμό συμπεριφέρεται σαν ένα κύκλωμα τηλεφωνικό” – Είναι προσανατολισμένο στις επιδόσεις (performance wise) • call setup, λαμβάνει χώρα πριν τη ροή των δεδομένων • Κάθε πακέτο μεταφέρει ένα VC identifier (όχι διευθύνσεις) • Κάθε router στο μονοπάτι διατηρεί την “κατάσταση” για κάθε σύνδεση • Οι πόροι της ζεύξης και του router (εύρος ζώνης, buffers) θα διατεθούν στο VC (αφιερωμένοι πόροι= προβλέψιμη υπηρεσία) ΠΔΤ 53
Υλοποίηση VC Ένα VC αποτελείται από: 1. Το μονοπάτι από την πηγή στον προορισμό 2. Τους αριθμούς VC, ένας αριθμός για κάθε σύνδεση στο μονοπάτι 3. Τιμές στους πίνακες προώθησης στους δρομολογητές κατά μήκος του μονοπατιού v Το πακέτο που ανήκει στο VC μεταφέρει το VC αριθμό (αντί της διεύθυνσης προορισμού) v Ο VC αριθμός μπορεί να αλλάξει σε κάθε link. § O νέος VC αριθμός προκύπτει στον πίνακα προώθησης ΠΔΤ 54
VC Πίνακας προώθησης 22 12 1 VC number interface number forwarding table in northwest router: Incoming interface Incoming VC # 1 2 3 1 … 12 63 7 97 … 2 32 3 Outgoing interface Outgoing VC # 3 1 2 3 … … 22 18 17 87 VC routers διατηρούν την πληροφορία της κατάστασης της δέσμης ΠΔΤ 55
Εικονικά κυκλώματα: πρωτόκολλα • ATM, frame-relay, X. 25 • Δεν χρησιμοποιείται στο σημερινό Internet application transport network data link physical 5. data flow begins 4. call connected 1. initiate call 6. receive data 3. accept call 2. incoming call ΠΔΤ application transport network data link physical 56
Datagram δίκτυα • Καμία εγκατάσταση κλήσης • routers: καμία γνώση για τις end-to-end συνδέσεις – Καμία έννοια “connection” στο επίπεδο του δικτύου • Τα πακέτα προωθούνται με βάση τη διεύθυνση του προορισμού application transport network data link physical 1. send datagrams application transport 2. receive datagrams network data link physical ΠΔΤ 57
Datagram πίνακας προώθησης 4 δις IP addresses, κατηγοριοποίηση με βάση εύρος διευθύνσεων και όχι μοναδικές διευθύνσεις (aggregation) routing algorithm local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 2 1 IP destination address στην επικεφαλίδα του αφικνούμενου πακέτου 1 3 2 ΠΔΤ 58
Ταίριασμα μεγαλύτερου προθέματος longest prefix matching when looking forwarding table entry for given destination address, use longest address prefix that matches destination address. Destination Address Range Link interface 11001000 00010111 00010*** ***** 0 11001000 00010111 00011000 ***** 1 11001000 00010111 00011*** ***** 2 otherwise 3 examples: DA: 11001000 00010111 00010110 10100001 DA: 11001000 00010111 00011000 1010 which interface? ΠΔΤ 59
Datagram ή VC δίκτυο? Internet (datagram) • Μεταφορά δεδομενων μεταξύ Η/Υ – “ελαστική” υπηρεσία, όχι αυστηρές απαιτήσεις χρόνου. • Πολλαπλοί τύποι συνδέσεων – Διαφορετικά χαρακτηριστικά – Δύσκολη η ομοιόμορφη υπηρεσία • “έξυπνα” τερματικά συστήματα (computers) – Μπoρούν να προσαρμοστούν, να ελέγξουν λάθη, κ. ο. κ. – Απλό δίκτυο, η πολυπλοκότητα στα άκρα ATM (VC) • Εξέλιξη της τηλεφωνίας • Ομιλία: – Αυστηρές απαιτήσεις χρόνου – αναγκαία η ποιότητα της υπηρεσίας • “χαζά” τερματικά συστήματα – τηλέφωνα – Η πολυπλοκότητα στο δίκτυο ΠΔΤ 60
To επίπεδο δικτύου στο Internet Λειτουργίες του host, router στο επίπεδο δικτύου: transport layer: TCP, UDP IP protocol routing protocols network layer • συμβάσεις στη διευθυνσιοδότηση • Επιλογή μονοπατιού • RIP, OSPF, BGP • Μορφή των datagrams • συμβάσεις στο χειρισμό των πακέτων forwarding table ICMP protocol • Αναφορά λαθών • “Σηματοδοσία” στο router link layer physical layer ΠΔΤ 61
Μορφή του IP datagram Αριθμός έκδοσης Μήκος header (bytes) Τύπος δεδομένων Μέγιστος αριθμός εναπομεινάντων hops (μειώνεται σε κάθε router) Πρωτόκολλο πάνω επιπέδου 32 bits ver head. len type of service 16 -bit identifier time to live Συνολικό μήκος datagram (bytes) length fragment offset flgs upper layer Για fragmentation/ reassembly header checksum 32 bit source IP address 32 bit destination IP address e. g. timestamp, record route taken, specify list of routers to visit. options (if any) Πόσο overhead? v 20 bytes για TCP v 20 bytes για IP v = 40 bytes + app layer overhead data (variable length, typically a TCP or UDP segment) ΠΔΤ 62
IP fragmentation, reassembly • fragmentation: in: one large datagram out: 3 smaller datagrams … • reassembly … Οι ζέυξεις του δικτύου έχουν MTU (max. transfer size) – Μεγαλύτερο μέγεθος πλαισίου – Διαφορετικοί τύποι ζεύξεων , διαφορετικά MTUs Μεγάλα IP datagrams τεμαχίζονται (“fragmented”) στο δίκτυο – Ένα datagram μετατρέπεται σε πολλά datagrams – Επανασυναρμολογείται (“reassembled”) μόνο στον τελικό προορισμό – Τα IP header bits χρησιμοποιούνται για να προσδιορίσουν άλλα σχετιζόμενα τεμάχια (fragments) ΠΔΤ 63
IP fragmentation, reassembly Παράδειγμα: v v length ID =4000 =x fragflag =0 offset =0 4000 byte datagram MTU = 1500 bytes one large datagram becomes several smaller datagrams 1480 bytes in data field length ID =1500 =x fragflag =1 offset =0 length ID =1500 =x fragflag =1 offset =185 length ID =1040 =x fragflag =0 offset =370 offset = 1480/8 ΠΔΤ 64
IP addressing: Εισαγωγή 223. 1. 1. 1 • IP address: 32 -bit για την ταυτοποίηση host, router 223. 1. 2. 1 223. 1. 1. 2 223. 1. 1. 4 • interface: Σύνδεση μεταξύ host/router και της φυσικής ζεύξης 223. 1. 2. 9 223. 1. 3. 27 223. 1. 1. 3 223. 1. 2. 2 – Οι routers έχουν πολλαπλά interfaces 223. 1. 3. 2 223. 1 – Οι host έχουν μία ενεργή interface (e. g. , wired Ethernet, wireless 802. 11) 223. 1. 1. 1 = 11011111 00000001 • one IP address associated with each interface 223 1 1 ΠΔΤ 1 65
Υποδίκτυα • IP address: –subnet part: Τα πρώτα bits της IP –host part – Τα τελευταία bits της IP • Τι είναι το υποδίκτυο ? –interfaces με την ίδια subnet part της IP address –Μπορούν να επικοινωνήσουν χωρίς την παρέμβαση του router 223. 1. 1. 1 223. 1. 1. 2 223. 1. 1. 4 223. 1. 1. 3 223. 1. 2. 9 223. 1. 2. 1 223. 1. 2. 2 223. 1. 3. 27 subnet 223. 1. 3. 2 223. 1 network consisting of 3 subnets ΠΔΤ 66
Υποδίκτυα 223. 1. 1. 0/24 συνταγή v Για να καθορίσεις τα subnets, αποσύνδεσε κάθε interface από το host ή το router, δημιουργώντας νησιά απομονωμένων δικτύων v Κάθε απομονωμένο δίκτυο είναι ένα υποδίκτυο - subnet 223. 1. 2. 0/24 223. 1. 1. 1 223. 1. 1. 2 223. 1. 1. 4 223. 1. 1. 3 223. 1. 2. 9 223. 1. 2. 1 223. 1. 2. 2 223. 1. 3. 27 subnet 223. 1. 3. 2 223. 1. 3. 0/24 subnet mask: /24 ΠΔΤ 67
Υποδίκτυα Πόσα? 223. 1. 1. 2 223. 1. 1. 1 223. 1. 1. 4 223. 1. 1. 3 223. 1. 9. 2 223. 1. 7. 0 223. 1. 9. 1 223. 1. 7. 1 223. 1. 8. 0 223. 1. 2. 6 223. 1. 2. 1 223. 1. 3. 27 223. 1. 2. 2 223. 1. 3. 2 ΠΔΤ 68
IP addressing: CIDR: Classless Inter. Domain Routing § Το μέρος της διεύθυνσης που υποδεικνύει το subnet είναι αυθαίρετου μήκους § Μορφή διεύθυνσης: a. b. c. d/x, όπου x είναι ο # bits στο subnet τμημα της διεύθυνσης subnet part host part 11001000 00010111 00010000 200. 23. 16. 0/23 ΠΔΤ 69
Ιεραρχικό addressing: route aggregation H ιεραρχική διευθυνσιοδότηση επιτρέπει την αποδοτική διαφήμιση της πληροφορίας δρομολόγησης: Organization 0 200. 23. 16. 0/23 Organization 1 200. 23. 18. 0/23 Organization 2 200. 23. 20. 0/23 Organization 7 . . . Fly-By-Night-ISP “Send me anything with addresses beginning 200. 23. 16. 0/20” Internet 200. 23. 30. 0/23 ISPs-R-Us “Send me anything with addresses beginning 199. 31. 0. 0/16” ΠΔΤ 70
IP addressing: Πως αγοράζεις εύρος IPs? Q: Πως ένας ISP αγοράζει block of addresses? A: ICANN: Internet Corporation for Assigned Names and Numbers http: //www. icann. org/ § Αναθέτει διευθύνσεις § διαχειρίζεται DNS § Αναθέτει domain names, επιλύει προβλήματα ΠΔΤ 71
DHCP- client-server Σενάριο DHCP server 223. 1. 1. 0/24 223. 1. 2. 1 223. 1. 1. 2 223. 1. 1. 4 223. 1. 1. 3 223. 1. 2. 9 223. 1. 3. 27 223. 1. 2. 2 arriving DHCP client needs address in this network 223. 1. 2. 0/24 223. 1. 3. 2 223. 1. 3. 0/24 ΠΔΤ 72
DHCP: άλλες λειτουργίες DHCP επιστέφει: § § IP address Διεύθυνση του first-hop router (gateway) Όνομα και IP address του DNS sever Μάσκα υποδικτύου ΠΔΤ 73
NAT: network address translation Internet Τοπικό δίκτυο (e. g. , home network) 10. 0. 0/24 10. 0. 0. 1 10. 0. 0. 4 10. 0. 0. 2 138. 76. 29. 7 10. 0. 0. 3 ΟΛΑ τα datagrams που αφήνουν το τοπικό δίκτυο έχουν την ίδια NAT IP address μοναδικής πηγής: 138. 76. 29. 7, και διαφορετικά port numbers Τα datagrams με source ή destination σε αυτό το δίκτυο έχουν 10. 0. 0/24 address για source, destination (όπως συνήθως) ΠΔΤ 74
NAT: network address translation Λόγοι ύπαρξης: – Δεν απαιτείται μεγάλο εύρος διευθύνσεων από τον ISP: μόνο μία IP για όλες τις συσκευές – Αλλάζουν οι εσωτερικές διευθύνσεις χωρίς να πρέπει να ειδοποιείται ο εξωτερικός κόσμος – Μπορούμε να αλλάξουμε τον ISP χωρίς να χρειαστεί να αλλάξουμε τις εσωτερικές διευθύνσεις – Οι συσκευές στο εσωτερικό δίκτυο δεν μπορούν να ειδωθούν απόλυτα από τον εξωτερικό κόσμο (αύξηση ασφάλειας) ΠΔΤ 75
NAT: network address translation Υλοποίηση: Ο NAT router πρέπει: – εξερχόμενα datagrams: Αντικατάσταση (source IP address, port #) με (NAT IP address, new port #) για κάθε datagram. . . Οι απομακρυσμένοι clients/servers θα απαντήσουν με (NAT IP address, new port #) as destination addr – Αντιστοίχιση (στο NAT translation table) κάθε (source IP address, port #) με (NAT IP address, new port #) ζευγάρι – Εισερχόμενα datagrams: Αντικατάσταση (NAT IP address, new port #) στα πεδία του παραλήπτη (dest) κάθε εισερχόμενου datagram με τα αντίστοιχα (source IP address, port #) που έχουν αποθηκευτεί στο NAT table ΠΔΤ 76
NAT: network address translation 2: NAT router Αλλάζει τη source addr από 10. 0. 0. 1, 3345 σε 138. 76. 29. 7, 5001, Ενημερώνοντας τον πίνακα 2 NAT translation table WAN side addr LAN side addr 1: host 10. 0. 0. 1 Στέλνει datagram στον 128. 119. 40. 186, 80 138. 76. 29. 7, 5001 10. 0. 0. 1, 3345 …… …… S: 10. 0. 0. 1, 3345 D: 128. 119. 40. 186, 80 S: 138. 76. 29. 7, 5001 D: 128. 119. 40. 186, 80 138. 76. 29. 7 S: 128. 119. 40. 186, 80 D: 138. 76. 29. 7, 5001 3: Η απάντηση dest. address: 138. 76. 29. 7, 5001 3 1 10. 0. 0. 4 S: 128. 119. 40. 186, 80 D: 10. 0. 0. 1, 3345 10. 0. 0. 1 10. 0. 0. 2 4 10. 0. 0. 3 4: NAT router Αλλάζει το dest addr από 138. 76. 29. 7, 5001 σε 10. 0. 0. 1, 3345 ΠΔΤ 77
NAT: network address translation • 16 -bit port-number field: – 60000 ταυτόχρονες συνδέσεις με μία LAN-side διεύθυνση! • Το NAT έχει αντιφάσεις: – Οι routers θα έπρεπε να εργάζονται ως το layer 3 – Παραβιάζει την end-to-end λογική • Οι ιδιότητες του NAT πρέπει να ληφθούν υπόψη από τους app designers, e. g. , P 2 P εφαρμογές – Η έλλειψη διευθύνσεων θα πρέπει να λυθεί από τη χρήση του IPv 6 ΠΔΤ 78
NAT: Πρόβλημα διέλευσης • Ο client θέλει να συνδεθεί στο server με διεύθυνση 10. 0. 0. 1 client – Η διέυθυνση του server 10. 0. 0. 1 είναι τοπική στο LAN (Ο client δεν ? μπορεί να τη χρησιμοποιήσει σαν destination addr) 138. 76. 29. 7 – Μόνο μία διεύθυνση είναι ορατή εξωτερικά : 138. 76. 29. 7 10. 0. 0. 1 10. 0. 0. 4 NAT router • Λύση 1: Στατική ρύθμιση του NAT ώστε να προωθεί incoming connection requests σε δεδομένη πόρτα στο server – e. g. , (138. 76. 29. 7, port 25000) πάντα προωθείται στο 10. 0. 0. 1 port 25000 ΠΔΤ 79
NAT: Πρόβλημα διέλευσης • Λύση 2: Universal Plug and Play (UPn. P) Internet Gateway Device (IGD) Protocol. Επιτρέπει σε NATed host να: v Μαθαίνουν την public IP address (138. 76. 29. 7) v Προσθέτουν/αφαιρούν αντιστοιχίσεις θυρών (με χρόνους μίσθωσης) 10. 0. 0. 1 IGD NAT router i. e. , Αυτοματοποίηση της στατικής ρύθμισης NAT θυρών ΠΔΤ 80
NAT: Πρόβλημα διέλευσης • solution 3: Μετάδοση – relaying (στο Skype) – Ο NATed client εγκαθιστά σύνδεση στο relay – O εξωτερικός client συνδέεται στο relay – O relay γεφυρώνει τα packets μεταξύ των συνδέσεων 2. Η σύνδεση στο relay αρχικοποιείται από τον client 3. To relaying Έχει εγκαθιδρυθεί 1. Η σύνδεση στο relay αρχικοποιείται από το NATed host 138. 76. 29. 7 10. 0. 0. 1 NAT router ΠΔΤ 81
ICMP: internet control message protocol • Χρησιμοποιείται από hosts & routers ώστε να επικοινωνήσουν πληροφορίες του επιπέδου δικτύου – Αναφορά λαθών: unreachable host, network, port, protocol – echo request/reply (ping) • Επιπέδου δικτύου “πάνω από το” IP: – ICMP msgs μεταφέρονται σε IP datagrams Type 0 3 3 3 4 Code 0 0 1 2 3 6 7 0 8 9 10 11 12 0 0 0 description echo reply (ping) dest. network unreachable dest host unreachable dest protocol unreachable dest port unreachable dest network unknown dest host unknown source quench (congestion control - not used) echo request (ping) route advertisement router discovery TTL expired bad IP header ΠΔΤ 82
IPv 6: Λόγοι υιοθέτησης • Κύριος λόγος: Το 32 -bit διάστημα διευθύνσεων θα εξαντληθεί σύντομα. • Επιπλέον λόγοι: – Η μορφή του header επιτρέπει την επιτάχυνση των processing/forwarding – Η αλλαγή του header διευκολύνει το Qo. S Μορφή του IPv 6 datagram: – Σταθερού μήκους 40 byte header – Δεν επιτρέπεται fragmentation ΠΔΤ 83
Μορφή του IPv 6 datagram priority: Καθορισμός προτεραιότητας μεταξύ των datagrams μίας ροής flow Label: Καθορισμός των datagrams που ανήκουν στην ίδια ροή (Η αρχή του “flow” δεν είναι καλώς ορισμένη). next header: Καθορισμός του πρωτοκόλλου ανώτερου επιπέδου για δεδομένα. ver pri flow label hop limit payload len next hdr source address (128 bits) destination address (128 bits) data 32 bits ΠΔΤ 84
Διαφορές με το IPv 4 • checksum: Εγκαταλείπεται ώστε να μειωθεί η επεξεργασία σε κάθε κόμβο • options: Επιτρέπεται αλλά εκτός του header, με τη χρήση του “Next Header” πεδίου • ICMPv 6: Νέα έκδοση του ICMP – Επιπρόσθετοι τύποι μηνυμάτων, e. g. “Packet Too Big” – Λειτουργίες για multicast group ΠΔΤ 85
Μετάβαση από το IPv 4 στο IPv 6 • Δεν είναι δυνατό να αναβαθμιστούν όλοι οι routers αυτόματα – Δεν έχουν καθοριστεί “flag days” – Πως θα λειτουργήσει το δίκτυο με μίξη από IPv 4 και IPv 6 routers? • tunneling: Το IPv 6 datagram μεταφέρεται σαν payload in IPv 4 datagram μεταξύ των IPv 4 routers IPv 4 header fields IPv 4 source, dest addr IPv 6 header fields IPv 6 source dest addr IPv 4 payload UDP/TCP payload IPv 6 datagram IPv 4 datagram ΠΔΤ 86
Tunneling IPv 4 σήραγγα Που συνδέει IPv 6 routers A B IPv 6 A B C IPv 6 IPv 4 Λογική λειτουργία: Φυσική άποψη: E F IPv 6 D E F IPv 4 IPv 6 ΠΔΤ 87
Tunneling IPv 4 σήραγγα Που συνδέει IPv 6 routers A B IPv 6 A B C Φυσική άποψη: IPv 6 IPv 4 F IPv 6 Λογική άποψη: E IPv 6 D E F IPv 4 IPv 6 data A-to-B: IPv 6 src: B dest: E Flow: X Src: A Dest: F data flow: X src: A dest: F data B-to-C: IPv 6 inside IPv 4 flow: X src: A dest: F data E-to-F: IPv 6 ΠΔΤ 88
Δρομολόγηση και προώθηση routing algorithm: καθορίζει όλο το μονοπάτι local forwarding table dest address output link forwarding table: καθορίζει που θα προωθηθεί το πακέτο address-range 1 address-range 2 address-range 3 address-range 4 3 2 2 1 IP destination address in arriving packet’s header 1 3 2 Network Layer ΠΔΤ- 89
Αναπαράσταση Γράφου 5 2 u 2 1 graph: G = (N, E) v x 3 w 3 1 5 z 1 y 2 N = σύνολο δρομολογητών= { u, v, w, x, y, z } E = σύνολο ζεύξεων ={ (u, v), (u, x), (v, w), (x, y), (w, z), (y, z) } σημείωση: Η αναπαράσταση γράφου είναι χρήσιμη και σε άλλα δικτυακά υποδείγματα, π. χ. P 2 P, όπου N είναι το σύνολο των ομοτίμων και E είναι το σύνολο των TCP συνδέσεων ΠΔΤ-90
Κόστος στο γράφο 5 2 u v 2 1 x 3 w 3 1 c(x, x’) = κόστος της ζεύξης (x, x’) e. g. , c(w, z) = 5 5 z 1 y 2 Το κόστος θα μπορούσε να είναι πάντα 1 ή να σχετίζεται αντίστροφα με το εύρος ζώνης ή με τη συμφόρηση Κόστος μονοπατιού (x 1, x 2, x 3, …, xp) = c(x 1, x 2) + c(x 2, x 3) + … + c(xp-1, xp) Ερώτηση κλειδί: ποιο είναι το ελάχιστο κόστος μεταξύ u και z; Αλγόριθμος δρομολόγησης: Βρίσκει το μονοπάτι ελάχιστου κόστους Network Layer 4 -91
Ταξινόμηση αλγορίθμων δρομολόγησης Q: καθολική ή αποκεντρωμένη πληροφορία; Καθολική (global): • Όλοι οι δρομολογητές έχουν πλήρη γνώση κόστους ζεύξης για όλη την τοπολογία. • “link state” αλγόριθμοι Αποκεντρωμένη (decentralized): • Ο δρομολογητής γνωρίζει τους φυσικά συνδεδεμένους γείτονες, και το κόστος των εν λόγω συνδέσεων. • Επαναληπτική διαδικασία υπολογισμού, ανταλλαγής πληροφορίας με τους γείτονες • “distance vector” αλγόριθμοι Q: Στατικοί ή δυναμικοί; Στατικοί: v Οι διαδρομές αλλάζουν αργά με το χρόνο Δυναμικοί: v Οι διαδρομές αλλάζουν πιο γρήγορα § Περιοδική ενημέρωση § Σε ανταπόκριση με τις αλλαγές των τιμών κόστους των ζεύξεων ΠΔΤ-92
Link-State Αλγόριθμοι Δρομολόγησης Αλγόριθμος Dijkstra Τοπολογία δικτύου, κόστη ζεύξεων γνωστά σε όλους τους κόμβους – Υλοποιείται μέσω του “link state broadcast” – Όλοι οι κόμβοι έχουν την ίδια πληροφορία • Υπολογίζει μονοπάτια ελάχιστου κόστους από ένα κόμβο (“source”) σε όλους τους υπόλοιπους – Υπολογίζει τον πίνακα προώθησης (forwarding table) για αυτό τον κόμβο • Επαναληπτική διαδικασία: μετά από k επαναλήψεις, γνωρίζει τα μονοπάτια ελαχίστου κόστους σε k προορισμούς Σημειογραφία: • c(x, y): Κόστος ζεύξης από τον κόμβο x στο y; = ∞ αν δεν είναι άμεσοι γείτονες • D(v): τρέχουσα τιμή του κόστους του μονοπατιού από την πηγή στον προορισμό v • p(v): προηγούμενος κόμβος στο μονοπάτι από την πηγή στο v • N': Το σύνολο των κόμβων των οποίων το μονοπάτι ελάχιστου κόστους είναι σίγουρα γνωστό ΠΔΤ-93
Dijsktra’s Algorithm 1 Initialization: 2 N' = {u} 3 for all nodes v 4 if v adjacent to u 5 then D(v) = c(u, v) 6 else D(v) = ∞ 7 8 Loop 9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D(v) for all v adjacent to w and not in N' : 12 D(v) = min( D(v), D(w) + c(w, v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N' ΠΔΤ-94
Dijkstra’s algorithm: example Step 0 1 2 3 4 5 N' u uw uwxvyz D(v) D(w) D(x) D(y) D(z) p(v) p(w) p(x) 7, u 6, w 3, u ∞ ∞ 5, u 11, w 14, x 10, v 14, x 12, y p(y) p(z) x notes: v v Κατασκευή του δέντρου με τα συντομότερα μονοπάτια ιχνηλατώντας τους προηγούμενους κόμβους Σύνδεσμοι μπορεί να υπάρχουν (και να κόβονται αυθαίρετα) 5 9 7 4 8 3 u w y 3 7 2 z 4 v ΠΔΤ-95
Dijkstra’s algorithm: παράδειγμα x 5 resulting forwarding table in u: 9 7 4 destination 8 3 u w y 3 7 v 4 2 z link v x (u, w) (u, x) y (u, w) w (u, w) z (u, w) ΠΔΤ-96
Dijkstra’s algorithm, συζήτηση Πολυπλοκότητα αλγορίθμου: n κόμβοι v Κάθε επανάληψη: πρέπει να ελεγχθούν όλοι οι κόμβοι w που δεν ανήκουν στο σύνολο Ν v n(n+1)/2 συγκρίσεις: O(n 2) v Πιο αποδοτικές υλοποιήσεις είναι εφικτές: O(nlogn) Πιθανές ταλαντώσεις: v Π. χ. , το κόστος της ζεύξης αντιστοιχεί στο ποσό της μεταφερόμενης κίνησης: A 1 D 1 B 0 0 0 1+e C e e Αρχικά 2+e D 0 C 0 B 1+e 1 0 1 A 0 given these costs, find new routing…. resulting in new costs D A 0 1 C 2+e B 0 1+e 2+e D A 0 B 1+e 1 0 C 0 given these costs, find new routing…. resulting in new costs ΠΔΤ-97
Αλγόριθμος Distance vector Bellman-Ford εξίσωση (δυναμικός προγραμματισμός) Έστω dx(y) : = μονοπάτι ελαχίστου κόστους από x σε y τότε dx(y) = min {c(x, v) + dv(y) } v Κόστος από το γείτονα v στον προορισμό y Κόστος στο γείτονα v min υπολογίζεται για όλους τους γείτονες v του x ΠΔΤ-98
Bellman-Ford παράδειγμα 5 2 u v 2 1 x 3 w 3 1 προφανώς, dv(z) = 5, dx(z) = 3, dw(z) = 3 5 z 1 y 2 B-F εξίσωση: du(z) = min { c(u, v) + dv(z), c(u, x) + dx(z), c(u, w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 Ο κόμβος που επιτυγχάνει το ελάχιστο είναι ο επόμενος κόμβος στο εγγύτερο μονοπάτι που χρησιμοποιείται στον πίνακα προώθησης ΠΔΤ-99
Distance vector αλγόριθμοι • Dx(y) = Εκτίμηση ελάχιστου κόστους από x στον y – x διατηρεί το διάνυσμα απόστασης Dx = [Dx(y): y є N] • κόμβος x: – Γνωρίζει το κόστος σε κάθε γείτονα v: c(x, v) – Διατηρεί τα διανύσματα απόστασης των γειτόνων του. Για κάθε γείτονα v, ο x διατηρεί Dv = [Dv(y): y є N ] ΠΔΤ-100
Distance vector algorithm Κύρια ιδέα: v Κατά διαστήματα κάθε κόμβος στέλνει το δικό του εκτιμώμενο διάνυσμα απόστασης στους γείτονές του. v Όταν ο x λαμβάνει νέα εκτίμηση του DV από γείτονά του, ενημερώνει το δικό του χρησιμοποιώντας την B-F εξίσωση: Dx(y) ← minv{c(x, v) + Dv(y)} for each node y ∊ N v Υπό κανονικές συνθήκες το Dx(y) συγκλίνει στην πραγματική τιμή ελάχιστου κόστους dx(y) ΠΔΤ-101
Distance vector algorithm Επαναληπτική και ασύγχρονη: κάθε τοπική επανάληψη προκαλείται από: • Αλλαγή του κόστους σε τοπική ζεύξη • DV update message από γείτονα Κατανεμημένη: • Κάθε κόμβος ενημερώνει τους γείτονες μόνο όταν το DV μεταβάλλεται Κάθε κόμβος: wait for (change in local link cost or msg from neighbor) recompute estimates if DV to any dest has changed, notify neighbors ΠΔΤ-102
Dx(y) = min{c(x, y) + Dy(y), c(x, z) + Dz(y)} = min{2+0 , 7+1} = 2 x y z x 0 2 7 y ∞∞ ∞ z ∞∞ ∞ x 0 2 3 y 2 0 1 z 7 1 0 cost to from node x cost to table x y z Dx(z) = min{c(x, y) + Dy(z), c(x, z) + Dz(z)} = min{2+1 , 7+0} = 3 from node y cost to table x y z 2 x ∞ ∞ ∞ y 2 0 1 z ∞∞ ∞ x y 7 1 z from node z cost to table x y z x ∞∞ ∞ y ∞∞ ∞ z 7 1 0 time ΠΔΤ-103
Dx(y) = min{c(x, y) + Dy(y), c(x, z) + Dz(y)} = min{2+0 , 7+1} = 2 x y z x 0 2 7 y ∞∞ ∞ z ∞∞ ∞ x 0 2 3 y 2 0 1 z 7 1 0 x 0 2 3 y 2 0 1 z 3 1 0 cost to from node x cost to table x y z Dx(z) = min{c(x, y) + Dy(z), c(x, z) + Dz(z)} = min{2+1 , 7+0} = 3 x y z x ∞ ∞ ∞ y 2 0 1 z ∞∞ ∞ x 0 2 7 y 2 0 1 z 7 1 0 x 0 2 3 y 2 0 1 z 3 1 0 cost to from node y cost to table x y z cost to 7 1 z x y z from x 0 2 7 y 2 0 1 z 3 1 0 from x ∞∞ ∞ y ∞∞ ∞ z 7 1 0 x y cost to x y z from node z cost to table x y z 2 Network Layer x 0 2 3 y 2 0 1 z 3 1 0 time 4 -104
Σύγκριση μεταξύ LS και DV αλγορίθμων Πολυπλοκότητα μηνύματος • • LS: με n κόμβους, E links, O(n. E) msgs αποστέλλονται DV: ανταλλαγή μεταξύ γειτόνων robustness: τι συμβαίνει αν ο router δεν λειτουργεί σωστά? LS: – Ο κόμβος μπορεί να διαφημίσει λανθασμένα link cost – Κάθε κόμβος υπολογίζει το δικό του πίνακα Ταχύτητα σύγκλισης • • LS: O(n 2) algorithm απάιτεί O(n. E) msgs – Πιθανές ταλαντώσεις DV: Ο χρόνος σύγκλισης ποικίλει – Βρόχοι δρομολόγησης – Προβλήματα count-to-infinity DV: – Ο DV κόμβος μπορεί να διαφημίσει λανθασμένα path costs – Κάθε κόμβου ο πίνακας χρησιμοποιείται από τους υπόλοιπους • Το σφάλμα διαδίδεται στο δίκτυο ΠΔΤ-105
Ιεραρχική δρομολόγηση Τα δίκτυα δεν είναι ιδανικά v Δεν είναι όλοι δρομολογητές όμοιοι v Το δίκτυο δεν είναι “επίπεδο” … Συνεπώς Κλίμακα: με 600 εκατομμύρια προορισμούς: • Δεν είναι δυνατό να αποθηκεύονται όλοι οι dest’s στα routing tables! • Το routing table exchange θα έπνιγε τα links! Διαχειριστική αυτονομία v internet = Το δίκτυο των δικτύων v Κάθε admin θέλει να ελέγχει το routing στο δικό του δίκτυο ΠΔΤ-106
Ιεραρχική Δρομολόγηση • Συλλογή των δρομολογητών σε περιοχές, “autonomous systems” (AS) • Κάθε AS σε ένα ISP – ISP αποτελούνται από ένα ή περισσότερα ASes • Οι routers στο ίδιο AS τρέχουν το ίδιο routing protocol – “intra-AS” routing protocol – routers σε διαφορετικά AS μπορούν να εκτελούν διαφορετικά intra-AS protocols gateway router: • Στην άκρη (“edge”) του δικού του ΑS • Συνδέεται με router σε άλλο AS ΠΔΤ-107
Διασυνδεδεμένα ASes 3 c 3 a 3 b AS 3 2 a 1 c 1 a 1 d 2 c AS 2 1 b AS 1 Intra-AS Routing algorithm Inter-AS Routing algorithm Forwarding table 2 b v Ο πίνακας προώθησης διαμορφώνεται από intraκαι inter-AS routing algorithms § intra-AS για τους internal dests § inter-AS & intra-AS για τους external dests ΠΔΤ-108
Inter-AS καθήκοντα v Υποθέστε ότι ο router στο AS 1 λαμβάνει datagram που κατευθύνεται εκτός του AS 1: § Ο router πρέπει να προωθήσει το πακέτο σε στον gateway router, αλλά σε ποιον; AS 1 πρέπει: 1. Να μάθει ποιοι προορισμοί είναι προσβάσιμοι από το AS 2 και ποιοι από το AS 3 2. Διαδίδει την πληροφορία προσβασιμότητας σε όλους τους routers στο AS 1 Δουλειά του inter-AS routing! 3 c 3 b other networks 3 a AS 3 1 c 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 ΠΔΤ-109
Παράδειγμα: ρύθμιση του forwarding table στον router 1 d • Υποθέτουμε ότι ο AS 1 μαθαίνει (μέσω του inter-AS protocol) ότι το subnet x είναι προσβάσιμο από τον AS 3 (gateway 1 c), αλλά όχι από το AS 2 – Το inter-AS protocol διαδίδει την προσβασιμότητα σε όλους τους εσωτερικούς routers • Ο router 1 d καθορίζει από το intra-AS routing info ότι η διεπαφή I είναι στο μονοπάτι ελάχιστου κόστους προς τον 1 c – Εισάγει στον forwarding table την εγγραφή (x, I) … 3 c 3 b other networks x 3 a AS 3 1 c 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 ΠΔΤ-110
Παράδειγμα: επιλογή μεταξύ πολλών ASes • Υποθέτουμε ότι ο AS 1 μαθαίνει από το inter-AS protocol ότι το subnet x είναι προσβάσιμο από το AS 3 και από το AS 2. • Για τη διαμόρφωση του forwarding table, ο router 1 d πρέπει να αποφασίσει μέσω ποιου gateway θα προωθήσει τα πακέτα για τον dest x – Αυτή είναι μία δουλειά και του inter-AS routing protocol! … 3 c 3 b other networks x … … 3 a AS 3 1 c 1 a AS 1 1 d ? 2 a 1 b 2 c 2 b other networks AS 2 ΠΔΤ-111
Παράδειγμα: επιλογή μεταξύ πολλών ASes • Υποθέτουμε ότι ο AS 1 μαθαίνει από το inter-AS protocol ότι το subnet x είναι προσβάσιμο από το AS 3 και από το AS 2. • Για τη διαμόρφωση του forwarding table, ο router 1 d πρέπει να αποφασίσει μέσω ποιου gateway θα προωθήσει τα πακέτα για τον dest x – this is also job of inter-AS routing protocol! • hot potato routing: αποστολή πακέτων προς τον κοντινότερο μεταξύ των δύο routers. learn from inter-AS protocol that subnet x is reachable via multiple gateways use routing info from intra-AS protocol to determine costs of least-cost paths to each of the gateways hot potato routing: choose the gateway that has the smallest least cost determine from forwarding table the interface I that leads to least-cost gateway. Enter (x, I) in forwarding table ΠΔΤ-112
Intra-AS Routing vΑλλιώς γνωστά ως interior gateway protocols (IGP) vΤα πιο κοινά intra-AS routing protocols: § RIP: Routing Information Protocol § OSPF: Open Shortest Path First § IGRP: Interior Gateway Routing Protocol (Cisco proprietary) ΠΔΤ-113
OSPF (Open Shortest Path First) • “open”: δημοσίως διαθέσιμο • Χρησιμοποιεί link state algorithm – LS διάχυση πακέτων – Ο χάρτης των τοπολογιών σε κάθε κόμβο – Υπολογισμός διαδρομής: Dijkstra’s algorithm • Η OSPF διαφήμιση περιέχει μία εγγραφή για κάθε γείτονα • Οι διαφημίσεις πλημμυρίζουν (flood) όλο το AS – Μεταφέρονται με OSPF messages πάνω σε IP (αντί για TCP ή UDP) • IS-IS routing protocol: σχεδόν ταυτόσημο του OSPF ΠΔΤ-114
OSPF “προηγμένα” χαρακτηριστικά • security: Όλα τα OSPF messages αυθεντικοποιούνται (για την αποφυγή κακόβουλων εισβολών) • Πολλαπλά μονοπάτια ίδιου κόστους επιτρέπονται • Για κάθε ζεύξη, πολλαπλές μετρικές κόστους για διαφορετικό είδος υπηρεσίας (type of service, TOS) (π. χ. κόστος δορυφορικής ζεύξης = “low” για best effort To. S; “high” για πραγματικού χρόνου To. S) • Ολοκληρωμένη uni- and multicast υποστήριξη: – Multicast OSPF (MOSPF) χρησιμοποιεί την ίδια βάση δεδομένη για τις τοπολογίες με το OSPF • Ιεραρχικό OSPF στα μεγάλα domains. ΠΔΤ-115
Ιεραρχικό OSPF boundary router backbone area border routers area 3 internal routers area 1 area 2 ΠΔΤ-116
Ιεραρχικό OSPF • Δύο-επίπεδα ιεραρχίας: τοπική περιοχή, δίκτυο κορμού. – link-state διαφημίσεις μόνο στην περιοχή – Κάθε κόμβος διαθέτει λεπτομερή τοπολογία της περιοχής; Γνωρίζουν μόνο την κατεύθυνση (shortest path) στα δίκτυα άλλων περιοχών. • area border routers: “συνοψίζουν” τις αποστάσεις σε δίκτυα στην περιοχή τους, διαφημίζουν την πληροφορία σε άλλους Area Border routers. • backbone routers: εκτελούν το OSPF routing στο δίκτυο κορμού. • boundary routers: συνδέονται σε άλλα AS’s. ΠΔΤ-117
Internet inter-AS routing: BGP • BGP (Border Gateway Protocol): το εκ των πραγμάτων inter-domain routing protocol – “Η συγκολλητική ουσία του Internet” • BGP παρέχει σε κάθε AS ένα μέσο ώστε: – Να αποκτήσει πληροφορία προσβασιμότητας στο subnet από γειτονικά AS’s: e. BGP – Να διαδώσει την πληροφορία προσβασιμότητας σε όλους τους AS-internal routers: i. BGP – Να καθορίσει “καλές” διαδρομές σε άλλα δίκτυα με κριτήριο την πληροφορία προσβασιμότητας και συναφείς πολιτικές. • Επιτρέπει στο υποδίκτυο να διαφημίσει την ύπαρξή του στο υπόλοιπο διαδίκτυο: “I am here” ΠΔΤ-118
BGP basics v BGP session: Δύο BGP routers (“peers”) ανταλλάσσουν BGP μηνύματα: § διαφημίζουν paths σε διαφορετικά δίκτυα προορισμού με βάση το prefix (“path vector” πρωτόκολλο) § Ανταλλάσσονται πάνω από ημιμόνιμες TCP συνδέσεις • Όταν το AS 3 διαφημίζει ένα prefix στο AS 1: – Το AS 3 υπόσχεται ότι θα προωθήσει datagrams μέσω αυτού του prefix – Το AS 3 μπορεί να συναθροίσει prefixes κατά τη διαφήμιση 3 c 3 b other networks 3 a BGP message AS 3 1 c 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 ΠΔΤ-119
BGP basics: διανομή της πληροφορίας μονοπατιού v Με τη χρήση e. BGP session μεταξύ των 3 a και 1 c, το AS 3 στέλνει την πληροφορία προσβασιμότητας του prefix στο AS 1. § Ο 1 c μπορεί τότε να χρησιμοποιήσει i. BGP για να διανείμει το νέο prefix info σε όλους τους routers του AS 1 § Ο 1 b μπορεί να ανα-διαφημίσει τη νέα πληροφορία προσβασιμότητας στο AS 2 πάνω από το 1 b-2 a e. BGP session v Όταν ένας router μαθαίνει για ένα νέο prefix, δημιουργεί μία εγγραφή για prefix στον πίνακα προώθησης. e. BGP session 3 b other networks 3 a AS 3 i. BGP session 1 c 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 ΠΔΤ-120
Path attributes - BGP routes • Το διαφημιζόμενο prefix περιλαμβάνει τα BGP attributes – prefix + attributes = “route” • Δύο σημαντικά attributes: – AS-PATH: περιλαμβάνει τα ASs μέσω των οποίων η διαφήμιση του prefix έχει περάσει: e. g. , AS 67, AS 17 – NEXT-HOP: Η IP address της διεπαφής του δρομολογητή που εκκινεί το AS PATH. • Ο gateway router που λαμβάνει διαφήμιση «route advertisement» χρησιμοποιεί import policy για να δεχθεί ή αρνηθεί. – Π. χ. , never route through AS x – policy-based routing ΠΔΤ-121
BGP επιλογή διαδρομής vΟ router μπορεί να μάθει για περισσότερες από μία διαδρομές στον προορισμό AS, επιλέγει με βάση : 1. Τοπική τιμή προτίμησης: πολιτική απόφαση 2. κοντύτερο AS-PATH 3. κοντινότερο NEXT-HOP router: hot potato routing 4. Επιπλέον κριτήρια ΠΔΤ-122
BGP messages • BGP messages ανταλλάσσονται μεταξύ των ομοτίμων πάνω σε TCP σύνδεση • BGP messages: – OPEN: Ανοίγει TCP σύνδεση στον ομότιμο και πιστοποιεί τον αποστολέα – UPDATE: διαφημίζει νέο μονοπάτι (ή αποσύρει το παλιό) – KEEPALIVE: διατηρεί τη σύνδεση ζωντανή ακόμα και με απουσία UPDATES; – NOTIFICATION: Αναφέρει σφάλματα σε προηγούμενο μήνυμα, χρησιμοποιείται για τον τερματισμό σύνδεσης ΠΔΤ-123
Ας τα δούμε όλα μαζί: Πως μπαίνει μία εγγραφή στον πίνακα προώθησης ενός Router; • Η απάντηση είναι πολύπλοκη! • Είναι συνάρτηση της ιεραρχικής δρομολόγησης, BGP και OSPF • Δίνει μία ολοκληρωμένη εποπτεία του BGP! ΠΔΤ-124
Πως μπαίνει μία εγγραφή στον πίνακα προώθησης ενός Router; routing algorithms entry Υποθέτουμε ότι το prefix είναι σε άλλο AS. local forwarding table prefix output port 138. 16. 64/22 124. 12/16 212/8 …………. . Dest IP 3 2 4 … 1 3 2 ΠΔΤ-125
Πως μπαίνει μία εγγραφή στον πίνακα προώθησης ενός Router; High-level overview 1. Ο Router ενημερώνεται για το prefix 2. Ο Router καθορίζει την output port για το prefix 3. Ο Router εισάγει το ζευγάρι prefix-port στον πίνακα προώθησης ΠΔΤ-126
Ο Router ενημερώνεται για το prefix 3 c 3 b other networks v v v 3 a BGP message AS 3 1 c 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 Το BGP μήνυμα περιέχει “routes” Το “route” είναι ένα prefix με attributes: AS-PATH, NEXT-HOP, … Παράδειγμα: route: v Prefix: 138. 16. 64/22 ; AS-PATH: AS 3 AS 131 ; NEXT-HOP: 201. 44. 13. 125 ΠΔΤ-127
Ο Router μπορεί να λάβει πολλαπλά routes 3 c 3 b other networks v v 3 a BGP message AS 3 1 c 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 Ο Router μπορεί να λάβει πολλαπλά routes για το ίδιο prefix Πρέπει να επιλέξει ένα route ΠΔΤ-128
Επιλογή του βέλτιστου BGP route για το prefix • Ο Router επιλέγει το route με βάση το συντομότερο AS-PATH v Παράδειγμα: v v select AS 2 AS 17 to 138. 16. 64/22 AS 3 AS 131 AS 201 to 138. 16. 64/22 ΠΔΤ-129
Βρες τη βέλτιστη εσωτερική διαδρομή στην BGP route • Κάνε χρήση του NEXT-HOP attribute του επιλεγμένου router – Route’s NEXT-HOP attribute είναι η IP address του router interface που εκκινεί το AS PATH. • Παράδειγμα: v AS-PATH: AS 2 AS 17 ; NEXT-HOP: 111. 99. 86. 55 • Ο Router χρησιμοποιεί το OSPF για να βρει το συντομότερο μονοπάτι από τον 1 c στον 111. 99. 86. 55 3 c 3 b other networks 3 a AS 3 111. 99. 86. 55 1 c 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 ΠΔΤ-130
Ο Router βρίσκει την πόρτα για τη διαδρομή • Βρίσκει την πόρτα κατά μήκος του OSPF συντομότερου μονοπατιού • Προσθέτει το ζεύγος prefix-port στον πίνακα προώθησης (138. 16. 64/22 , port 4) router port 3 c 3 b other networks 3 a AS 3 1 1 c 4 2 3 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 ΠΔΤ-131
Hot Potato Routing • Υποθέστε ότι υπάρχουν πάνω από δύο βέλτιστες inter-routes. • Τότε επιλέγεται η διαδρομή με τον εγγύτερο NEXT-HOP – Χρησιμοποιείται το OSPF για να βρεθεί ποιο gateway είναι πιο κοντά – Ερώτηση: Από τον 1 c, διαλέγουμε AS 3 AS 131 ή AS 2 AS 17; – A: route AS 3 AS 201 αφού είναι πιο κοντά 3 c 3 b other networks 3 a AS 3 1 c 1 a AS 1 1 d 2 a 1 b 2 c 2 b other networks AS 2 ΠΔΤ-132
Πως μπαίνει μία εγγραφή στον πίνακα προώθησης ενός Router; Σύνοψη 1. Ο Router ενημερώνεται για το prefix – μέσω BGP διαφημίσεων διαδρομών από άλλους routers 2. Καθορισμός της πόρτας του router για το prefix – – – Χρήση του BGP για την επιλογή διαδρομής ώστε να βρεθεί η βέλτιστη inter-AS route Χρήση του OSPF για να βρεθεί η βέλτιστη intra-AS route που οδηγεί στη βέλτιστη inter-AS route Ο Router ταυτοποιεί την πόρτα για τη βέλτιστη διαδρομή 3. Εισαγωγή της εγγραφής prefix-port στον πίνακα προώθησης ΠΔΤ-133
BGP Πολιτικές Δρομολόγησης legend: B W provider network X A customer network: C Y v v v A, B, C είναι provider networks X, W, Y είναι πελάτες (των provider networks) Ο X έχει δύο παρόχους (dual-homed): συνδέεται σε δύο δίκτυα § Ο X δεν θέλει να δρομολογήσει από το B μέσω του X στο C §. . Έτσι ο X δεν θα διαφημίσει στο B μία διαδρομή στο C ΠΔΤ-134
BGP πολιτικές δρομολόγησης(2) legend: B W provider network X A customer network: C Y v v v Ο A διαφημίζει το μονοπάτι AW στο B Ο B διαφημίζει το μονοπάτι BAW στο X Θα έπρεπε ο B να διαφημίζει το BAW στο C; § Σε καμία περίπτωση! Ο B δεν έχει να “λαμβάνει” για τη δρομολόγηση CBAW αφού κανείς εκ των W ή C είναι πελάτες του § Ο B θέλει να αναγκάσει το C να δρομολογήσει στον w μέσω A § Ο B θέλει να δρομολογεί μόνο από και προς τους πελάτες του! ΠΔΤ-135
Γιατί διαφορετικό Intra-, Inter-AS routing; Πολιτικές: • inter-AS: Ο admin θέλει να ελέγχει πως η κίνησή του δρομολογείται, ποιος δρομολογεί μέσω του δικού του δικτύου. • intra-AS: Ένας admin, έτσι δεν απαιτούνται πολιτικές αποφάσεις Κλίμακα: • Η ιεραρχική δρομολόγηση εξοικονομεί μεγέθη πινάκων και μειώνει την πληροφορία των ενημερώσεων Επιδόσεις: • intra-AS: Εστιάζεται στις επιδόσεις • inter-AS: Η πολιτική μπορεί να κυριαρχεί των επιδόσεων ΠΔΤ-136
Broadcast routing vdeliver packets from source to all other nodes vsource duplication is inefficient: duplicate creation/transmission R 1 duplicate R 2 R 3 R 4 source duplication v R 3 R 4 in-network duplication source duplication: how does source determine recipient addresses? Network Layer 4 -137
In-network duplication • flooding: when node receives broadcast packet, sends copy to all neighbors – problems: cycles & broadcast storm • controlled flooding: node only broadcasts pkt if it hasn’t broadcast same packet before – node keeps track of packet ids already broadacsted – or reverse path forwarding (RPF): only forward packet if it arrived on shortest path between node and source Network Layer 4 -138
Spanning tree vfirst construct a spanning tree vnodes then forward/make copies only along spanning tree A A B c D F D E F G E G (b) broadcast initiated at D (a) broadcast initiated at A Network Layer 4 -139
Spanning tree: creation vcenter node veach node sends unicast join message to center node § message forwarded until it arrives at a node already belonging to spanning tree A A 3 B c 4 F 1 E 2 B c D D F 5 E G (a) stepwise construction of spanning tree (center: E) G (b) constructed spanning tree Network Layer 4 -140
Multicast routing: problem statement goal: find a tree (or trees) connecting routers legend having local mcast group members v tree: not all paths between routers used v shared-tree: same tree from each sender to rcvrs v source-based: different used by all group members group member not group member router with a group member router without group member shared tree source-based trees Network Layer 4 -141
Approaches for building mcast trees approaches: vsource-based tree: one tree per source § shortest path trees § reverse path forwarding vgroup-shared tree: group uses one tree § minimal spanning (Steiner) …we center-based trees § first look at basic approaches, then specific protocols adopting these approaches Network Layer 4 -142
Shortest path tree • mcast forwarding tree: tree of shortest path routes from source to all receivers – Dijkstra’s algorithm LEGEND s: source R 1 1 2 R 2 3 router with attached group member R 4 5 4 R 3 R 6 router with no attached group member R 5 6 R 7 Network Layer i link used forwarding, i indicates order link added by algorithm 4 -143
Reverse path forwarding rely on router’s knowledge of unicast shortest path from it to sender v each router has simple forwarding behavior: v if (mcast datagram received on incoming link on shortest path back to center) then flood datagram onto all outgoing links else ignore datagram Network Layer 4 -144
Reverse path forwarding: example s: source LEGEND R 1 R 4 router with attached group member R 2 R 5 datagram will be forwarded R 3 R 6 v router with no attached group member R 7 datagram will not be forwarded result is a source-specific reverse SPT § may be a bad choice with asymmetric links Network Layer 4 -145
Reverse path forwarding: pruning • forwarding tree contains subtrees with no mcast group members – no need to forward datagrams down subtree – “prune” msgs sent upstream by router with no downstream group members s: source LEGEND R 1 R 4 R 2 router with attached group member P R 5 R 3 P R 6 R 7 Network Layer P router with no attached group member prune message links with multicast forwarding 4 -146
Shared-tree: steiner tree vsteiner tree: minimum cost tree connecting all routers with attached group members vproblem is NP-complete vexcellent heuristics exists vnot used in practice: § computational complexity § information about entire network needed § monolithic: rerun whenever a router needs to join/leave Network Layer 4 -147
Center-based trees • single delivery tree shared by all • one router identified as “center” of tree • to join: – edge router sends unicast join-msg addressed to center router – join-msg “processed” by intermediate routers and forwarded towards center – join-msg either hits existing tree branch for this center, or arrives at center – path taken by join-msg becomes new branch of 4 -148 Network Layer
Center-based trees: example suppose R 6 chosen as center: LEGEND R 1 3 R 2 router with attached group member R 4 2 R 5 R 3 1 1 router with no attached group member path order in which join messages generated R 6 R 7 Network Layer 4 -149
Internet Multicasting Routing: DVMRP • DVMRP: distance vector multicast routing protocol, RFC 1075 • flood and prune: reverse path forwarding, source-based tree – RPF tree based on DVMRP’s own routing tables constructed by communicating DVMRP routers – no assumptions about underlying unicast – initial datagram to mcast group flooded everywhere via RPF – routers not wanting group: send upstream prune Network Layer 4 -150
DVMRP: continued… • soft state: DVMRP router periodically (1 min. ) “forgets” branches are pruned: – mcast data again flows down unpruned branch – downstream router: reprune or else continue to receive data • routers can quickly regraft to tree – following IGMP join at leaf • odds and ends – commonly implemented in commercial router Network Layer 4 -151
Tunneling Q: how to connect “islands” of multicast routers in a “sea” of unicast routers? logical topology physical topology v v v mcast datagram encapsulated inside “normal” (non-multicast -addressed) datagram normal IP datagram sent thru “tunnel” via regular IP unicast to receiving mcast router (recall IPv 6 inside IPv 4 tunneling) receiving mcast router unencapsulates to get mcast datagram Network Layer 4 -152
PIM: Protocol Independent Multicast v not dependent on any specific underlying unicast routing algorithm (works with all) v two different multicast distribution scenarios : sparse: dense: v v group members densely packed, in “close” proximity. bandwidth more plentiful v v v # networks with group members small wrt # interconnected networks group members “widely dispersed” bandwidth not plentiful Network Layer 4 -153
Consequences of sparse-dense dichotomy: dense sparse: • group membership by v no membership until routers assumed until explicitly join routers explicitly prune v receiver- driven construction of mcast tree (e. g. , center • data-driven construction on based) mcast tree (e. g. , RPF) • bandwidth and non-group- v bandwidth and non-grouprouter processing profligate conservative Network Layer 4 -154
PIM- dense mode flood-and-prune RPF: similar to DVMRP but… underlying unicast protocol provides RPF info for incoming datagram v less complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithm v has protocol mechanism for router to detect it is a leaf-node router v Network Layer 4 -155
PIM - sparse mode • center-based approach R 1 • router sends join msg to join rendezvous point (RP) R 2 – intermediate routers update state and join forward join R 3 R 6 • after joining via RP, router can switch to sourceall data multicast from rendezvous specific tree point – increased performance: less concentration, shorter Network Layer paths R 4 join R 5 R 7 rendezvous point 4 -156
PIM - sparse mode sender(s): • unicast data to RP, which distributes down RP-rooted tree • RP can extend mcast tree upstream to source • RP can send stop msg if no attached receivers – “no one is listening!” R 1 R 4 join R 2 R 3 join R 5 join R 6 all data multicast from rendezvous point Network Layer R 7 rendezvous point 4 -157
8822bc4200dbaa8fef09323e170e9fcb.ppt