Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Κατανεμημένα Συστήματα και Υπηρεσίες Ιστού

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Κατανεμημένα Συστήματα και Υπηρεσίες Ιστού"— Μεταγράφημα παρουσίασης:

1 Κατανεμημένα Συστήματα και Υπηρεσίες Ιστού
Δικτύωση & Επικοινωνία Client-Server

2 Κατανεμημένα Συστήματα
Διεργασίες που τρέχουν σε ανεξάρτητες μηχανές και συνεργάζονται χωρίς την ύπαρξη κοινής μνήμης. Πρέπει με κάποιο τρόπο να επικοινωνούν Η διασύνδεσή τους είναι το δίκτυο

3 Τύποι σύνδεσης Circuit-switched Packet-switched δεσμευμένο κανάλι
εγγυημένο bandwidth [σχεδόν] σταθερό latency Packet-switched κοινό κανάλι τα δεδομένα σπάνε σε κομμάτια που ονομάζονται πακέτα κάθε πακέτο περιέχει την διεύθυνση προορισμού διαθέσιμο bandwidth  χωρητικότητα καναλιού μεταβλητό latency

4 Τι είναι τα δεδομένα; Για λειτουργική επικοινωνία Για υπολογιστές:
κάποια γλώσσα, κάποιες συμβάσεις Για υπολογιστές: ηλεκτρική κωδικοποίηση των δεδομένων που είναι η αρχή του πακέτου; ποια bits περιγράφουν το μήκος; υπάρχει checksum; που; πως υπολογίζεται; ποιο είναι το format μιας διεύθυνσης; ποιο το byte ordering;

5 Πρωτόκολλα Αυτές οι εντολές και οι συμβάσεις είναι γνωστά ως πρωτόκολλα

6 Διαστρωμάτωση Διευκολύνει την ανάπτυξη λογισμικού και μεγιστοποιεί την ευελιξία: Τα πρωτόκολλα δικτύου οργανώνονται σε στρώμματα ή επίπεδα (layers) Μπορούμε να αντικαταστήσουμε ένα στρώμα χωρίς να απαιτηθεί αντικατάσταση και των γειτονικών Τα υψηλότερα στρώματα λογισμικού δεν χρειάζεται να γνωρίζουν πως θα κτίσουν ένα πακέτο Ethernet … ή ακόμη και να γνωρίζουν ότι χρησιμοποιείται το δίκτυο Ethernet

7 Διαστρωμάτωση λογισμικού πρωτοκόλλων

8 Ενσωμάτωση δεδομένων σε κάθε επίπεδο πρωτοκόλλου

9 Ενσωμάτωση πληροφορίας σε μήνυμα που μεταδίδεται μέσω TCP/IP σε Ethernet δίκτυο

10 Διαστρωμάτωση μοντέλο αναφοράς OSI
Το δημοφιλέστερο μοντέλο για την διαστρωμάτωση μοντέλο αναφοράς OSI Δημιουργήθηκε από τον ISO 7 επίπεδα πρωτοκόλλων Open Systems Interconnection model (OSI model)

11 Μοντέλο Αναφοράς OSI : Επίπεδο 1
Μεταδίδει και λαμβάνει δεδομένα στο φυσικό μέσο επικοινωνίας. Δεν ενδιαφέρεται για το περιεχόμενο. επίπεδα τάσεων, ταχύτητα, σύνδεσμοι Physical 1 Παραδείγματα: RS-232, 10BaseT, , Bluetooth

12 Μοντέλο Αναφοράς OSI : Επίπεδο 2
Ανιχνεύει και διορθώνει λάθη. Οργανώνει τα δεδομένα σε πακέτα πριν τα περάσει προς τα κάτω στρώματα. Κρατά λογαριασμό για τη σειρά των πακέτων (αν χρειάζεται) Λαμβάνει acknowledgements από τον παραλήπτη. Data Link 2 Physical 1 Παραδείγματα : Ethernet MAC, PPP, SLIP

13 Μοντέλο Αναφοράς OSI : Επίπεδο 3
Αναμεταδίδει και δρομολογεί τα πακέτα πληροφορίας προς τον προορισμό. Διαχειρίζεται το ταξίδι των πακέτων και βρίσκει ενδιάμεσους σταθμούς (αν χρειάζεται). Network 3 Data Link 2 Physical 1 Παραδείγματα : IP (IPv4, IPv6), X.25

14 Μοντέλο Αναφοράς OSI : Επίπεδο 4
Παρέχει μια αξιόπιστη διεπαφή για end-to-end (εφαρμογή-προς-εφαρμογή) επικοινωνία. Διαχειρίζεται τον έλεγχο ροής. Μπορεί να εξασφαλίζει τη σωστή σειρά των πακέτων, και να αναμεταδίδει χαμένα πακέτα Η διεπαφή δικτύου μοιάζει με ένα mailbox. Transport 4 Network 3 Data Link 2 Physical 1 Παραδείγματα : TCP, UDP

15 Μοντέλο Αναφοράς OSI : Επίπεδο 5
Υπηρεσίες για τον συντονισμό διαλόγου και διαχείριση της ανταλλαγής δεδομένων. Λειτουργεί ως διακόπτης υλοποιημένος σε λογισμικό. Διαχειρίζεται πολλαπλές λογικές συνδέσεις. Κρατά λογαριασμό για το ποιος μιλάει: έναρξη και τερματισμός επικοινωνίας. Session 5 Transport 4 Network 3 Data Link 2 Physical 1 Παραδείγματα : HTTP 1.1, SSL, NetBIOS

16 Μοντέλο Αναφοράς OSI : Επίπεδο 6
Αναπαράσταση δεδομένων Ενδιαφέρει η σημασία των data bits Μετατροπή μεταξύ διαφορετικών αναπαραστάσεων σε επίπεδο μηχανής Presentation 6 Session 5 Transport 4 Network 3 Data Link 2 Physical 1 Παραδείγματα : XDR, ASN.1, MIME, MIDI

17 Μοντέλο Αναφοράς OSI : Επίπεδο 7
Συλλογή από πρωτόκολλα επιπέδου εφαρμογής Application 7 Presentation 6 Session 5 Transport 4 Network 3 Data Link 2 Παραδείγματα : (SMTP, POP, IMAP) file transfer (FTP) directory services (LDAP) Physical 1

18 Ορολογία Δικτύων

19 Local Area Network (LAN)
Δίκτυο επικοινωνίας μικρή περιοχή (κτίριο, ομάδα κτιρίων) κοινό (μερικές φορές και διαμοιραζόμενο) μέσο μετάδοσης υψηλός ρυθμός δεδομένων (συχνά): 1 Mbps – 1 Gbps μικρό latency ομότιμες συσκευές κάθε συσκευή μπορεί να αρχικοποιήσει μια μεταφορά δεδομένων όπως κάθε άλλη συσκευή Τα βασικά συστατικά ενός LAN είναι οι σταθμοί εργασίας οι υπολογιστικές μηχανές ενός LAN ονομάζονται κόμβοι (nodes)

20 Σύνδεση κόμβων σε LAN δίκτυο Υπολογιστής (=κόμβος) ?

21 Σύνδεση κόμβων σε LAN Adapter
δίκτυο υπολογιστής Adapter expansion slot (PCI, PC Card, USB) συνήθως είναι ενσωματωμένο στο main board Οι adapters αναφέρονται και σαν Network Interface Cards (NICs) ή adapters ή Network Interface Component

22 Μέσο Σύρματα (ή RF, IR) συνδέουν τις συσκευές που απαρίζουν το LAN μεταξύ τους Twisted pair Πιο κοινά: STP: shielded twisted pair UTP: unshielded twisted pair (π.χ. τηλεφωνικό καλώδιο, Ethernet 10BaseT) Ομοαξονικό καλώδιο Thin (παρόμοιο με το καλώδιο της TV) Thick (π.χ. 10Base5, ThickNet) Οπτική ίνα Ασύρματο

23 Hubs, routers, bridges Hub Switch Concentrator ή repeater Bridge
Συσκευή που λειτουργεί ως κεντρικός κόμβος για τα καλώδια του LAN Παίρνει δεδομένα από τη μια θύρα και τα στέλνει σε όλες τις άλλες θύρες Switch Μετακινεί δεδομένα από τη θύρα εισόδου στη θύρα εξόδου. Αναλύει τα πακέτα και προσδιορίζει τη θύρα προορισμού και δημιουργεί μια λογική σύνδεση μεταξύ των θυρών. Διασυνδέει διαφορετικά ομοειδή LANs, κυρίως τύπου Ethernet. Concentrator ή repeater Αναπαράγει τα δεδομένα που φθάνουν Bridge Συνδέει δύο LANs διαφορετικού τύπου Σύνδεση στο data link layer (επίπεδο 2) Router Προσδιορίζει το επόμενο σημείο του δικτύου προς το οποίο θα μετακινηθεί ένα πακέτο Συνδέει διαφορετικούς τύπους δικτύων LAN και WAN στο network layer (επίπεδο 3)

24 Τοπολογία δικτύου Bus Network

25 Τοπολογία δικτύου Tree Network

26 Τοπολογία δικτύου Star Network

27 Τοπολογία δικτύου Ring Network

28 Mesh (=Πλέγμα) Network
Τοπολογία δικτύου Mesh (=Πλέγμα) Network

29 Παράδειγμα ενός internetwork

30 Δίκτυα μετάδοσης Baseband Broadband
Όλοι οι κόμβοι μοιράζονται ισότιμα την πρόσβαση στο μέσον του δικτύου Τα δεδομένα χρησιμοποιούν το πλήρες bandwidth του μέσου μετάδοσης Broadband Τα δεδομένα χρησιμοποιούν τμήμα του μέσου μετάδοσης το οποίο διαιρείται σε κανάλια (μπάντες συχνοτήτων)

31 Baseband: Ethernet IEEE πρότυπο 802.3 standard
Ταχύτητες: 100 Mbps - 1 Gbps σήμερα Ethernet: 10 Mbps Fast Ethernet: 100 Mbps Gigabit Ethernet: 1 Gbps 10 Gbps, 100 Gbps Η μέθοδος πρόσβασης στο δίκτυο είναι Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Ο κόμβος ακούει πρώτα αν το δίκτυο είναι κατηλειμένο Αποστέλλει δεδομένα Ελέγχει αν υπάρχει σύγκρουση Αναμεταδίδει σε περίπτωση σύγκρουσης

32 Ασύρματο Ethernet Ασύρματο (τοπολογία αστέρι) 802.11 (1-2 Mbps)
802.11b (11 Mbps Mbps πρακτικά) 802.11a (54 Mbps Mbps πρακτικά) 802.11g (54 Mbps - 32 Mbps πρακτικά) 802.11n (108 Mbps Mbps πρακτικά) ethernet Access Point

33 Σύνδεση στο Internet DSL router Modem
Ethernet μετατρέπεται σε ATM data stream Μέχρι 20 Mbps έως ~ 2 km. POTS περιορίζεται σε Hz DSL λειτουργεί > 3500 Hz Modem Δεδομένα διαμορφώνονται επάνω από το εύρος ζώνης της φωνής ( Hz) Σειριακό interface στο τερματικό V.92: 48 kbps download, περίπου 56 kbps upload Χρήση του PPP ή SLIP για τη γεφύρωση με IP πρωτόκολλο

34 Σύνδεση στο Internet Οπτική ίνα Wireless: Ethernet interface
E.g., Verizon’s FiOS 30 Mbps Wireless: WiMax GPRS (<32 Kbps)

35 Clients και Servers Αποστολή μηνυμάτων στις εφαρμογές
όχι απλά στις μηχανές Ο client πρέπει να στείλει δεδομένα στην διεργασία που επιθυμεί Η server διεργασία πρέπει να στείλει τα δεδομένα απάντησης πίσω στην διεργασία πελάτης. Για να προσφέρει μια υπηρεσία, ένας server πρέπει να έχει μια διεύθυνση μεταφοράς για μια συγκεκριμένη υπηρεσία.

36 έναντι διεύθυνση μεταφοράς
Διεύθυνση μηχανής έναντι διεύθυνση μεταφοράς

37 Επίπεδο Μεταφοράς (Transport Layer)
Το στρώμα του λογισμικού που δέχεται ένα μήνυμα για αποστολή στο δίκτυο και πιο συγκεκριμένα σε μια απομακρυσμένη μηχανή (= διεργασία). Δύο κατηγορίες πρωτοκόλλων: connection-oriented πρωτόκολλα connectionless πρωτόκολλα

38 Connection-oriented Πρωτόκολλα
εγκαθίδρυση σύνδεσης [διαπραγμάτευση] ανταλλαγή δεδομένων τερματισμός σύνδεσης

39 Connection-oriented Πρωτόκολλα
αναλογία με τηλεφωνική κλήση εγκαθίδρυση σύνδεσης [διαπραγμάτευση] ανταλλαγή δεδομένων τερματισμός σύνδεσης κλήση αριθμού [επιλογή γλώσσας] ομιλία τερματισμός virtual circuit υπηρεσία παρέχει την ψευδαίσθηση ενός αποκλειστικού καναλιού Παρέχεται εγγύηση άφιξης μηνυμάτων σε ορθή σειρά η εφαρμογή δεν χρειάζεται να προμηθεύει τη διεύθυνση παράδοσης σε κάθε μήνυμα έναντι circuit-switched υπηρεσία

40 Connectionless Πρωτόκολλα
- χωρίς αποκατάσταση σύνδεσης - αποστολή/λήψη δεδομένων (διεύθυνση παραλαβής  πακέτο) - χωρίς τερματισμό σύνδεσης

41 Connectionless Πρωτόκολλα
αναλογία με ταχυδρομείο χωρίς αποκατάσταση σύνδεσης - αποστολή/λήψη δεδομένων (διεύθυνση παραλαβής  πακέτο) - χωρίς τερματισμό σύνδεσης ρίψη γράμματος στο ταχ. κουτί (διεύθυνση  γράμμα) datagram υπηρεσία ο client δεν είναι σίγουρος εάν το μήνυμα έφθασε στον προορισμό δεν διατηρείται κάποια κατάσταση επικοινωνίας στον client ή server φθηνότερη αλλά λιγότερο αξιόπιστη έναντι της virtual circuit υπηρεσίας

42 Ethernet Επίπεδα 1 & 2 του OSI μοντέλου
Physical (1) Καλώδια: 10Base-T, 100Base-T, 1000Base-T, κτλ. Data Link (2) Ethernet γεφύρωση Data frame ανάλυση Data frame μετάδοση Ανίχνευση λαθών Αναξιόπιστο, connectionless επικοινωνία

43 Ethernet 48-bit ethernet address Πακέτο μεταβλητού-μεγέθους
1518-byte MTU 18-byte header, 1500 bytes data Πακέτο γίγας για Gigabit ethernet 9000-byte MTU dest addr src addr frame length data (payload) CRC 6 bytes 6 bytes 2 bytes 4 18 bytes + data

44 IP – Internet Protocol Στόχος:
Γεννήθηκε το 1969 ως ένα ερευνητικό δίκτυο για 4 μηχανές Χρηματοδοτήθηκε από το υπουργείο άμυνας (ARPA) Στόχος: Να δημιουργηθεί ένα αποδοτικό και αξιόπιστο δίκτυο που θα μπορεί να συνδέσει ετερογενείς μηχανές και να συνδέσει διαφορετικά δίκτυα μεταξύ τους.

45 Internet Protocol Connectionless πρωτόκολλο που σχεδιάστηκε για να διαχειρισθεί τη διασύνδεση μεγάλου αριθμού τοπικών και ευρείας κλίμακας δίκτυα που απαρτίζουν σήμερα το internet Το IP μπορεί να δρομολογήσει μηνύματα από το ένα φυσικό δίκτυο στο άλλο.

46 IP διευθυνσιοδότηση Κάθε υπολογιστής σε ένα IP δίκτυο έχει μια μοναδική διεύθυνση μήκους 32 bit που χαρακτηρίζει το network layer interface: IP διεύθυνση  διεύθυνση μηχανής (π.χ. Ethernet address) Ένας υπολογιστής που συνδέεται σε πολλά φυσικά δίκτυα θα έχει πολλές IP διευθύνσεις Μια για κάθε δίκτυο

47 IP χώρος διευθύνσεων 32-bit διευθύνσεις  > 4 δισεκατ. διευθύνσεις!
Οι routers όμως θα χρειάζονται πίνακες με ισάριθμες εγγραφές Σχεδίαση των πινάκων δρομολόγησης ώστε μια εγγραφή να μπορεί να καλύψει πολλαπλές διευθύνσεις Ιεραρχία: διευθύνσεις που είναι γεωγραφικά κοντά (π.χ. στον ίδιο οργανισμό) θα μοιράζονται ένα κοινό πρόθεμα

48 IP διευθυνσιοδότηση : δίκτυα & κόμβοι
icsd.aegean.gr C3 FB 04 02 math.aegean.gr C3 FB 0D 03 network # host # τα πρώτα 16 bits αναγνωρίζουν το Παν. Αιγαίου εξωτερικοί routers χρειάζονται μόνον μια εγγραφή Δρομολόγηση των *.* στο Παν. Αιγαίου

49 IP διευθυνσιοδότηση : δίκτυα & κόμβοι
network #: αριθμός δικτύου που ανήκει ο υπολογιστής host #: αριθμός κόμβου (υπολογιστή) στο δίκτυο χρησιμοποιούμε το network # για να δρομολογήσουμε τα πακέτα στο σωστό δίκτυο χρησιμοποιούμε το host # για να μιλήσουμε με έναν συγκεκριμένο υπολογιστή

50 IP διευθυνσιοδότηση Πρόβλεψη:
λίγα μεγάλα δίκτυα και πολλά μικρά δημιουργία διαφορετικών κλάσεων (classes) δικτύων τα πρώτα bits μιας IP διεύθυνσης προσδιορίζουν την κλάση class leading bits bits for net # bits for host # A 7 (128) 24 (16M) B 10 14 (16K) 16 (64K) C 110 21 (2M) 8 (256) Για να είναι εφικτή η υποστήριξη επιπλέον δικτύων σ’ έναν οργανισμό : χρησιμοποιούμε μερικά από τα high bits του host number για να ορίσουμε ένα “δίκτυο εντός δικτύου – subnet

51 IP διευθυνσιοδότηση IBM: 9.0.0.0 – 9.255.255.255
xxxxxxxx xxxxxxxx xxxxxxxxx network # 8 bits host # 24 bits Subnet within IBM (internal routers only) xxxxxx xxxxxxxxx network # 8 bits host # 14 bits subnet # 10 bits

52 IP ειδικές διευθύνσεις
All bits 0 Έγκυρη μόνο ως διεύθυνση πηγής Αναφέρεται ως “όλες οι διευθύνσεις για αυτή τη μηχανή” Δεν είναι έγκυρη διεύθυνση για αποστολή στο δίκτυο All host bits 1 Έγκυρη μόνο ως διεύθυνση προορισμού Broadcast στο δίκτυο All bits 1 Broadcast σε όλα τα απ’ ευθείας συνδεδεμένα δίκτυα Leading bits 1110 Class D network (multicast group) : δεσμευμένη για τοπική μετάδοση loopback στον ίδιο τον υπολογιστή (localhost)

53 Domain Name Server (DNS)
Σ’ ένα IP δίκτυο οι υπολογιστές ονομάζονται ιεραρχικά, π.χ. hra.icsd.aegean.gr Για να βρούμε μια IP διεύθυνση με βάση το όνομα γίνεται αναζήτηση σε μια ΒΔ. Τα ερωτήματα στην ΒΔ τα διαχειρίζεται μια κατανεμημένη υπηρεσία που είναι γνωστή ως Domain Name Server ή DNS

54 Εξάντληση των διευθύνσεων
Τεράστια ανάπτυξη του Διαδικτύου Η πολιτική των κλάσεων οδηγεί σε σπάταλη κατανομή των δικτύων Πολλές αχρησιμοποίητες διευθύνσεις εντός του δικτύου Κάθε υπολογιστής που συνδέεται στο Διαδίκτυο χρειάζεται μια μοναδική σε όλον τον κόσμο διεύθυνση (IP address) Λύσεις: CIDR, NAT, IPv6

55 Classless Inter-Domain Routing (CIDR)
Εγκατάλειψη των class A, B, C διευθύνσεων: Επί τούτου προσδιορισμός του # of bits για το network number έναντι των προκαθορισμένων 8 (A), 16 (B), 24 (C) bits Αποδοτικότερη κάλυψη των αναγκών ενός οργανισμού Οργανισμός που χρειάζεται 1000 διευθύνσεις : ζητά έναν 22-bit network number (1024 hosts) αντί για class B address (64K hosts)

56 Classless Inter-Domain Routing
Πως ένας router μπορεί να ξέρει # bits για το network? Μια CIDR address πρέπει να το προσδιορίζει: 32-bit-address/bits-for-network-prefix /16 /27 : 1/8 of a class C (32 hosts) /24 : class C /16 : class B Η διαχείριση των CIDR addresses & prefixes μπορεί να είναι επίπονη!

57 IPv6 vs. IPv4 IPv4 IPv6: 4 byte (32 bit) addresses
16-byte (128 bit) addresses 3.6 x 1038 possible addresses Αρκετό για 7 x 1023 IP διευθύνσεις / m2 επί της γης! 8 x 1028 times more addresses than IPv4 8-bit hop limit (Time To Live) Flow label (20-bits)

58 Network Address Translation (NAT)
External IP address External address Virtual port Internal address Int port 17 3455 8 11231 24 12489 20 21908 Internal IP address x .1 .2 .3 .4 .5

59 Network Address Translation (NAT)
Όταν ένας υπολογιστής στο εσωτερικό δίκτυο ενός οργανισμού στέλνει ένα UDP/TCP πακέτο σ’ έναν υπολογιστή στο Διαδίκτυο, ο router του οργανισμού που λαμβάνει το πακέτο, αποθηκεύει την source IP address και port number σε μια διαθέσιμη εγγραφή του πίνακα μετάφρασης διευθύνσεων. Ο router αντικαθιστά την source IP address με την δικιά του IP στο πακέτο και το source port number με ένα virtual port number το οποίο είναι δείκτης στην εγγραφή του πίνακα που περιέχει τα στοιχεία διεύθυνσης του υπολογιστή αποστολέα. Το πακέτο με τα αλλαγμένα IP και port number προωθείται από τον router προς τον παραλήπτη. Ο πίνακας μετάφρασης διευθύνσεων περιέχει μια απεικόνιση από το virtual port number στην πραγματική IP address και port number του αποστολέα υπολογιστή στο εσωτερικό δίκτυο. Όταν ο router λαμβάνει ένα UDP/TCP πακέτο από το Διαδίκτυο χρησιμοποιεί το destination port number στο πακέτο για να βρει την κατάλληλη εγγραφή στον πίνακα μετάφρασης. Αντικαθιστά την διεύθυνση και port number προορισμού στο πακέτο με αυτά που κρατά ο πίνακας για τον εσωτερικό υπολογιστή παραλήπτη του πακέτου.

60 Φθάνοντας το μήνυμα στον υπολογιστή
Το IP είναι ένα λογικό δίκτυο που κτίζεται πάνω από διάφορα φυσικά δίκτυα Υποστήριξη ΛΣ για IP: IP driver receive data send data IP driver receive packet send packet network driver from wire to wire

61 IP driver αρμοδιότητες
Λαμβάνει λειτουργικές παραμέτρους από τον device driver Maximum packet size (MTU) Λειτουργίες για την αρχικοποίηση των HW headers Μήκος του HW header Δρομολόγηση πακέτων Από το ένα φυσικό δίκτυο στο άλλο Κατακερματισμός πολύ μεγάλων πακέτων Send operations για λογαριασμό υψηλότερων επιπέδων Λήψη δεδομένων από τον device driver Απόρριψη bad/expired data MTU = Maximum Transmission Unit

62 Device driver αρμοδιότητες
Ελέγχει το network interface card Επεξεργάζεται διακοπές από το network interface Λαμβάνει πακέτα Τα στέλνει στον IP driver Λαμβάνει πακέτα από τον IP driver Τα στέλνει στο hardware Εξασφαλίζει την αποστολή των πακέτων χωρίς συγκρούσεις

63 Network device Η Network card εξετάζει τα πακέτα που ταξιδευουν στο καλώδιο Συγκρίνει την destination address Πριν αποστείλει ένα πακέτο πρέπει να το φακελώσει (enveloped) για το φυσικό δίκτυο device header IP header IP data payload

64 Device addressing IP address  ethernet address
Address Resolution Protocol (ARP) Έλεγχος της τοπικής ARP cache Αποστολή broadcast μηνύματος με αίτημα την εύρεση ethernet address για μια μηχανή με συγκεκριμένη IP address Αναμονή για απάντηση (με timeout)

65 Routing Router Ένας κόμβος μεταγωγής που συνδέει δύο ή περισσότερες γραμμές μετάδοσης (π.χ. Ethernet) Δρομολογεί πακέτα από το ένα δίκτυο στο άλλο (OSI επίπεδο 3) Υλικό ειδικού σκοπού ή Η/Υ γενικού σκοπού με δύο ή περισσότερες κάρτες δικτύου

66 Routing σε WAN

67 Πίνακες δρομολόγησης

68 Δρομολόγηση Τα πακέτα περνούν από διάφορους ενδιάμεσους σταθμούς (hops) πριν καταλήξουν στον προορισμό τους Εύρεση μονοπατιού σε γράφο Λειτουργία router έλεγχος διεύθυνσης προορισμού If destination = local address, deliver locally else Increment hop count (discard if hop # = TTL) Use destination address to search routing table Each entry has address and netmask. Match returns interface Transmit to destination interface Στατικό routing

69 Δυναμικό Routing Κλάση πρωτοκόλλων μέσω των οποίων οι κόμβοι μπορούν να προσαρμόσουν τους πίνακες δρομολόγησης ώστε να είναι ενημερωμένοι σε σχέση με αλλαγές στο φορτίο του δικτύου ή αποτυχίες κόμβων του δικτύου Κόστος διαδρομής: Hop count (# routers στο μονοπάτι) Time: Tic count – time in 1/18 second intervals

70 Πρωτόκολλα Δυναμικού Routing
RIP (Routing Information Protocol) Ανταλλαγή routing tables με γειτονικούς routers σε εσωτερικά δίκτυα Επιλογή καλύτερου route εάν υπάρχουν πολλές εναλλακτικές επιλογές OSPF (Open Shortest Path First) Έλεγχος της κατάστασης του καναλιού σύνδεσης σε κάθε γείτονα. Αποστέλλει την κατάσταση διαθεσιμότητας καναλιού στους γείτονες. Το κόστος μπορεί να ορισθεί ως προς την αξιοπιστία και χρόνο BGP (Border Gateway Protocol) TCP σύνδεση μεταξύ ζευγαριών μηχανών Επιλογή διαδρομής βασισμένη σε distance vector Ανταλλαγή πληροφορίας για προσβάσιμα δίκτυα Περιοδικά keep-alive μηνύματα

71 RIP routing algorithm Περιοδικά, και όταν το τοπικό routing table αλλάζει, κάθε router, αποστέλλει τον πίνακά του σε όλους τους προσπελάσιμους γείτονες. Δηλαδή, στέλνει ένα RIP πακέτο που περιέχει ένα αντίγραφο του πίνακα σε κάθε λειτουργικό κανάλι (link) στο οποίο συνδέεται. Όταν ένας γειτονικός router λαμβάνει ένα RIP πακέτο, εάν περιέχει μια διαδρομή σ’ έναν καινούριο προορισμό (router), ή μια καλύτερη (μικρότερου κόστους) διαδρομή σε γνωστό προορισμό, τότε ενημερώνει κατάλληλα τον πίνακα. Εάν το πακέτο παραλήφθηκε από το κανάλι n και περιέχει διαφορετικό κόστος από τον τοπικό πίνακα για μια διαδρομή που ξεκινά από το κανάλι n, τότε αντικαθιστά το τοπικό κόστος με το νέο κόστος. Το παραπάνω γίνεται επειδή το RIP πακέτο ήρθε από έναν router o οποίος είναι εγγύτερα στον σχετικό προορισμό και συνεπώς είναι πιο έγκυρος για να προσδιορίσει κόστος διαδρομών που περνούν από αυτόν.

72 RIP routing algorithm

73 RIP routing algorithm Στον προηγούμενο ψευδοκώδικα Tr είναι ο πίνακας που λαμβάνεται από άλλον router και Τl είναι ο τοπικός πίνακας. Η συχνότητα t με την οποία οι πίνακες μεταδίδονται από τον έναν router στον άλλο, ακόμη και εάν δεν έχει συμβεί κάποια αλλαγή, έχει προβλεφθεί για εξασφάλιση, για παράδειγμα στην περίπτωση που κάποιο πακέτο RIP χαθεί. Η τιμή t για το Διαδίκτυο είναι 30 seconds. Κάθε router παρακολουθεί τα κανάλια στα οποία συνδέεται για σφάλματα. Όταν αναγνωρίσει ένα ελαττωματικό κανάλι n, τότε θέτει το κόστος του ίσο με  για όλες τις εγγραφές στον τοπικό πίνακα που αναφέρονται στο κανάλι αυτό και εκτελεί την λειτουργία Send. Όταν αυτή η πληροφορία διαδοθεί στους γειτονικούς routers τότε θα επεξεργασθεί σύμφωνα με την λειτουργία Receive (ισχύει ότι +1=) και σιγά σιγά θα διαδοθεί και σε άλλους κόμβους μέχρι να φθάσει σε κάποιον, εάν υπάρχει, που έχει έγκυρη σύνδεση με τους προορισμούς που είχαν πρόβλημα.

74 Transport-layer protocols πάνω από IP
Δεν παρέχεται μηχανισμός για τον προσδιορισμό της εφαρμογής που στέλνει ή λαμβάνει Το Transport layer χρησιμοποιεί ένα port number για τον προσδιορισμό της εφαρμογής TCP – Transmission Control Protocol UDP – User Datagram Protocol

75 TCP – Transmission Control Protocol
Virtual circuit service (connection-oriented) Αποστέλλει acknowledgement για κάθε πακέτο που λαμβάνεται Checksum για την εγκυροποίηση των δεδομένων Τα δεδομένα μπορεί να μεταδίδονται ταυτόχρονα και προς τις δύο κατευθύνσεις

76 UDP – User Datagram Protocol
Datagram service (connectionless) Τα δεδομένα μπορεί να χαθούν Τα δεδομένα μπορεί να φθάσουν εκτός σωστής σειράς Υποστηρίζεται checksum για τα δεδομένα, αλλά όχι επαναμετάδοση Απόρριψη των μη-ακέραιων πακέτων (bad packets)

77 IP header device header 20 bytes IP header TCP/UDP header IP data
payload vers hlen svc type (TOS) total length fragment identification flags fragment offset TTL protocol header checksum 20 bytes source IP address destination IP address options and pad

78 Headers: TCP & UDP device header UDP header TCP header 20 bytes
IP header TCP/UDP header IP data payload TCP header UDP header src port dest port seq number ack number hdr len flags checksum urgent ptr options and pad - window src port dest port seg length checksum 20 bytes 8 bytes

79 Device header (Ethernet II)
IP header TCP/UDP header IP data payload dest addr src addr frame type data CRC 6 bytes 6 bytes 2 bytes 4 18 bytes + data

80 Προβλήματα QoS στο IP Μεγάλη κυκλοφορία στο δίκτυο
Συμφόρηση Μη-αποδοτική μετάδοση πακέτου 59 bytes για την αποστολή 1 byte μεTCP/IP! 20 bytes TCP + 20 bytes IP + 18 bytes ethernet Αναξιόπιστη παράδοση Λογισμικό για διάσωση – TCP/IP Μη-προβλέψιμη παράδοση πακέτου

81 IP ανίχνευση ροής Ανίχνευση ροής στους routers:
Ροή: σύνολο πακέτων από μια εφαρμογή (address:port) σε μια άλλη (address:port) που μεταδίδονται με το ίδιο πρωτόκολλο Το δίκτυο ελέγχει το ρυθμό ροής πακέτων είτε καθυστερώντας τη μετάδοση πακέτων, είτε με την απόρριψη πακέτων Με την τεχνική της ανίχνευσης ροής: απόρριψη TCP πακέτων υπέρ UDP Εγκατάλειψη της UDP ροής για να εξασφαλισθεί QoS για άλλες ροές Με την ανίχνευση ροής επιτυγχάνεται: Traffic Shaping Αναγνώριση κυκλοφοριακής ροής Αποθήκευση πακέτων σε ώρες αιχμής και απελευθέρωση αργότερα Κανάλι υψηλού-bandwidth με Κανάλι χαμηλού-bandwidth Traffic Policing Απόρριψη κυκλοφορίας που υπερβαίνει το όριο του δικτύου

82 Αντιμετώπιση συμφόρησης
FIFO ουρές Ουρές προτεραιότητας Flow-based weighted fair queuing Ομαδοποίηση όλων των πακέτων μιας κοινής ροής Class-based weighted fair queuing Βάσει πρωτοκόλλου, λίστας ελέγχου πρόσβασης, κτλ. Άλλες ουρές A flow-based queuing algorithm used in Quality of Service (QoS) network applications that schedules low-volume traffic first, while letting high-volume traffic share the remaining bandwidth. This is handled by assigning a weight to each flow, where lower weights are the first to be serviced. A stream of packets within a single session of a single application is known as flow. Weighted Fair Queuing is a flow based method that sends packets efficiently over the network and ensures packets transmission efficiency which is critical to the system. This method automatically stabilizes network congestion between individual packet transmission lines. This method combines the source Internet Protocol (IP), destination IP, source Transmission Control Protocol (TCP), destination TCP, User Datagram Protocol (UDP) port numbers and the IP protocol field value and forms a hash number. These packets are queued and sorted by these hash numbers. If two packets have the same source and destination address, TCP, UDP port numbers, IP protocol field values then they belong to the same flow.

83 Διαφοροποίηση υπηρεσιών (soft QoS)
Κάποια κυκλοφορία πακέτων έχει περισσότερα προνόμια από κάποια άλλη Στατιστική επιβεβαίωση – όχι εγγυημένη TOS bits & Diff-Serv στο IP header Η χρήση τους είναι περιορισμένη στο Διαδίκτυο διότι απαιτεί την σύμπνοια των επικοινωνούντων μερών σε κάθε περίπτωση.

84 TOS bits Ετικέτα στο IP header που χρησιμοποιούν οι routers
TOS: Type Of Service, 4 bits Minimum Delay [0x10] FTP, telnet, ssh Maximum Throughput [0x08] ftp-data, www Maximum reliability [0x04] SNMP, DNS Minimum cost [0x02] NNTP, SMTP Simple Network Management Protocol (SNMP) Network News Transfer Protocol (NNTP) RFC 1349, July, 1992

85 Διαφοροποίηση υπηρεσιών (Diff-Serv)
Αναθεώρηση ερμηνείας των ToS bits ToS πεδίο στο IP header Differentiated Sevices Control Point (DSCP) p p p d t r - - Reliability: normal/high Priority: 0-7 Throughput: normal/high Delay: normal/low RFC 2475, December 1998

86 Εγγυημένο QoS (hard QoS)
Εγγύηση μέσω end-to-end δέσμευσης πόρων

87 Reservation & Delivery Protocol
RSVP: ReSerVation Protocol Οι κόμβοι αιτούνται συγκεκριμένο quality of service Οι routers δεσμεύουν πόρους RFC 2205

88 Media Delivery Protocols
Real-Time Control Protocol (RTCP) Παρέχει ενημέρωση για QoS (jitter, loss, delay) RFC 3550 RTP: Real-Time Transport Protocol Δεν είναι routing πρωτόκολλο Δεν παρέχει εγγυήσεις Παρέχει: Payload identification sequence # time stamp RTP/RTCP δεν παρέχουν QoS ελέγχους

89 ATM: Asynchronous Transfer Mode
Τέλη δεκαετίας 1980 Στόχος: Κοινό δίκτυο για φωνή & δεδομένα networking Χαμηλό bandwidth σε σταθερή βάση Υψηλό bandwidth κατά κύματα

90 ATM Παραδοσιακό φωνητικό δίκτυο ATM Circuit switching
Ακριβό Φτωχή αξιοποίηση των πόρων Δεν επιτρέπει multicasting ATM Βασίζεται σε fixed-size πακέτα πάνω από virtual circuits Fixed-size cells παρέχουν την δυνατότητα για predictive scheduling Μεγάλα cells δεν θα καθυστερούν μικρότερα Γρήγορο switching

91 ATM Τρέχον πρότυπο: 53-byte cell: 48-byte data, 5-byte header Ο αποστολέας προσδιορίζει το είδος της κυκλοφορίας κατά την σύνδεση : CBR Constant bit-rate bandwidth Uncompressed video, voice VBR Variable bit-rate Avg, peak bandwidth Compressed video, voice ABR Available bit-rate -none- ftp, web access

92 ATM Μικρά cells  πολλά interrupts σε κάθε υπολογιστή
>100,000/second ATM hardware υποστηρίζει ATM Adaptation Layer (AAL) Μετατρέπει cells σε variable-sized (μεγαλύτερα) πακέτα: AAL 1: for CBR AAL 2: for VBR AAL 3/4: ABR data AAL 5: ABR data, simplified AAL 6: MPEG-2 video

93 Ερωτήσεις;


Κατέβασμα ppt "Κατανεμημένα Συστήματα και Υπηρεσίες Ιστού"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google