1 / 22

Σύνοψη

Σύνοψη. 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1.2 Πρωτόκολλα TCP/IP 1.2.1 Διαστρωμάτωση 1.2.2 Μέσα Μετάδοσης 1.3 Το πρωτόκολλο IP 1.3.1 Τάξεις Διευθύνσεων IP 1.3.2 Δρομολόγηση IP 1.3.3 Το πρωτόκολλο ICMP 1.4 Πρωτόκολλα Στρώματος Μεταφοράς

Download Presentation

Σύνοψη

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Σύνοψη • 1 Αρχές διαδικτύου • 1.1 Αναδρομή – εισαγωγή • 1.2 Πρωτόκολλα TCP/IP • 1.2.1 Διαστρωμάτωση • 1.2.2 Μέσα Μετάδοσης • 1.3 Το πρωτόκολλο IP • 1.3.1 Τάξεις Διευθύνσεων IP • 1.3.2 Δρομολόγηση IP • 1.3.3 Το πρωτόκολλο ICMP • 1.4 Πρωτόκολλα Στρώματος Μεταφοράς • 1.4.1 Πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) • 1.4.2 Πρωτόκολλο Πακέτων Χρήστη (User Datagram Protocol, UDP) • 1.5 Η εξέλιξη της Τεχνολογίας του Διαδικτύου • 1.5.1 Το Διαδίκτυο Σήμερα • 1.5.2 Το Διαδίκτυο Επόμενης Γενιάς Τεχνολογίες Διαδικτύου

  2. Πρωτόκολλα Στρώματος Μεταφοράς • Transmission Control Protocol (TCP) • Είναι μια αξιόπιστη υπηρεσία μεταφοράς με σύνδεση • User Datagram Protocol (UDP) • Eίναι μια μη αξιόπιστη υπηρεσία μεταφοράς χωρίς σύνδεση Τεχνολογίες Διαδικτύου

  3. Transmission Control Protocol (TCP) (1) • Το TCP εγκαθιστά ένα νοητό κύκλωμα μεταξύ των δύο σταθμών εργασίας • Διαδικασία handshaking μεταξύ του αποστολέα και παραλήπτη για εγκατάσταση και επιβεβαίωση σύνδεσης • Περνά τα δεδομένα στον προορισμό με την ίδια σειρά με την οποία τα έστειλε η διαδικασία της πηγής • Έλεγχος συμφόρησης. Ο αποστολέας δεν θα κατακλύσει τον παραλήπτη • Οι εφαρμογές που χρησιμοποιούν το πρωτόκολλο TCP, λαμβάνουν από το λειτουργικό σύστημα δύο αριθμούς προκειμένου η επικοινωνία του να καθορίζεται καλά σε σχέση με άλλες επικοινωνίες διεργασιών μεταξύ των δύο ίδιων μηχανημάτων. Οι αριθμοί που λαμβάνουν ονομάζονται TCP port numbers Τεχνολογίες Διαδικτύου

  4. Transmission Control Protocol (TCP) (2) • Η μεταφορά δεδομένων με TCP είναι full-duplex (αμφίδρομη), δηλαδή μπορούμε να έχουμε ταυτόχρονη μεταφορά δεδομένων και προς τις δύο κατευθύνσεις. • Η μονάδα πληροφορίας στο TCP ονομάζεται TCP segment • Κάθε υποδίκτυο καθορίζει ένα Maximum segment size • Χρησιμοποιεί επιβεβαιώσεις, αριθμεί τα πακέτα Τεχνολογίες Διαδικτύου

  5. TCP.. περισσότερα • Point-to-point • Ένας αποστολέας, ένας παραλήπτης • Αποταμιευτές στον αποστολέα και στον παραλήπτη • Αρχικοποίηση της κατάστασης του αποστολέα και παραλήπτη πριν την ανταλλαγή δεδομένων • RFCs: 793, 1122, 1323, 2018, 2581 Τεχνολογίες Διαδικτύου

  6. Το πακέτο TCP 32 bits URG: πεδίο δείκτη επείγοντος Μετράνε αριθμό bytes (όχι segments!) Θύρα πηγής # Θύρα προορισμού # ACK: πεδίο επιβεβαίωσης λήψης Αριθμός ακολουθίας Αριθμός επιβεβαίωσης Δείχνει μετά από πόσες λέξεις 32-bit αρχίζουν δεδομένα 20 οκτάδες not used Data Offset Παράθυρο U A P R S F αριθμό bytes που ο δέκτης επιθυμεί να δεχτεί Άθροισμα ελέγχου Δείκτης επείγον PSH: προωθεί τα δεδομένα τώρα Επιλογές και Συμπλήρωμα (μεταβλητό μήκος) RST, SYN, FIN: εγκατάσταση σύνδεσης (reset, συγχρονίζει, τερματίζει) Δεδομένα (μεταβλητό μήκος) Internet checksum

  7. Περισσότερα για το TCP • Κάθε TCP segment έχει έναν μοναδικό αριθμό που το αναγνωρίζει σε σχέση με τα άλλα πακέτα • Προορισμός στέλνει επιβεβαίωση μόλις λάβει πακέτο • Μη επιβεβαιωμένο πακέτο επαναμεταδίδεται • Εάν ίδιο πακέτο επαναμεταδοθεί απορρίπτεται από τον παραλήπτη Τεχνολογίες Διαδικτύου

  8. Τα πεδία Sequence and Acknowledgement number • Εξασφαλίζουν αξιόπιστη μεταφορά των δεδομένων • Το Sequence numberαναφέρεται στον αριθμό των μεταδιδόμενων bytes γιαμια ροή πακέτων και όχι στη σειρά των μεταδιδόμενων segments • Έστω αρχείο των 500.000bytes • MSS είναι 1000Bytes και το πρώτο byte στην ροή δεδομένων αριθμείται ως 0 • Έχουμε 500 segments, το πρώτο έχει sequence number 0, το δεύτερο 1000, το τρίτο 2000 .... Τεχνολογίες Διαδικτύου

  9. Τα πεδία Sequence and Acknowledgement number • TCP είναι full duplex • Οπότε ένα τερματικό Α μπορεί να στέλνει στο Β αλλά και να λαμβάνει ταυτόχρονα από αυτό • Κάθε segment που φτάνει από το Β έχει ένα sequence number • To acknowledgment number που το τερματικό A βάζει στο segment είναι το sequence number του επόμενου byte που περιμένει να λάβει από τον B Τεχνολογίες Διαδικτύου

  10. Τα πεδία Sequence and Acknowledgement number • Παράδειγμα 1 • Έστω ότι ο A έχει λάβει τα bytes με αριθμούς από 0 έως 535 από τον B και θεωρούμε ότι πρόκειται να στείλει ένα segment στον B • Με άλλα λόγια ο A περιμένει το byte 536 και όλα τα επόμενα bytes • Επομένως ο A βάζει το 536 στο πεδίο acknowledgment number field του segment που στέλνει στο B • Παράδειγμα 2 • Ο Α έχει λάβει το τρίτο segment (bytes 900 έως 1.000) πριν λάβει το δεύτερο segment (bytes 536 έως 899) • Έτσι το τρίτο segment έφτασε εκτός σειράς • Τι κάνει λοιπόν ένα τερματικό όταν λάβει TCP segments εκτός σειράς? Τεχνολογίες Διαδικτύου

  11. Seq. #’s: Αρίθμηση του πρώτου byte σε ένα segment ACKs: seq # του επόμενου byte που αναμένεται από την άλλη πλευρά Q: πως μπορούμε να χειριστούμε εκτός σειράς segments Απόρριψη Αποθήκευση αυτών μέχρι να έρθουν κομμάτια που λείπουν για να συμπληρώσουν τα κενά time Telnet: Μελέτη για τα Sequence and Acknowledgment Numbers Host B Host A User types ‘C’ Seq=42, ACK=79, data = ‘C’ host ACKs receipt of ‘C’, echoes back ‘C’ Seq=79, ACK=43, data = ‘C’ host ACKs receipt of echoed ‘C’ Seq=43, ACK=80 simple telnet scenario Τεχνολογίες Διαδικτύου

  12. Σημείωση: ο αποστολέας και ο παραλήπτης εγκαθιστούν σύνδεση πριν ανταλλάξουν δεδομένα Αρχικοποίηση μεταβλητών TCP: seq. #s ενταμιευτές, πληροφορίας ελέγχου ροής (e.g. RcvWindow) client:ξεκινάει τη σύνδεση Socket clientSocket = new Socket("hostname","port number"); server:συνδέεται πελάτης Socket connectionSocket = welcomeSocket.accept(); TCP Αποκατάσταση Σύνδεσης Three way handshake: Step 1:client host στέλνει TCP SYN segment στον server • Προσδιορίζει αρχικό seq # (client_isn) • Όχι δεδομένα Step 2:server host δέχεται το SYN • Ο server αρχικοποιεί τους ενταμιευτές του • Απαντά με SYNACK segment • Θέτει το SYN field 1 • Αρχικοποιεί το seq. # (server_isn) • Θέτει το acknowledgment field client_isn+1 Step 3: client λαμβάνει SYNACK • Αρχικοποιεί μεταβλητές και ενταμιευτές • Απαντά με ένα ACK • Θέτει το acknowledgment field (server_isn+1) • Θέτει το SYN field 0 (connection established) Τεχνολογίες Διαδικτύου

  13. TCP Αποκατάσταση Σύνδεσης server host client host connection request(SYN=1,seq=client_isn) connection granted(SYN=1,seq=server_isn ack = client_isn+1) ack(SYN=0,seq=client_isn+1,ack=server_isn+1) Τεχνολογίες Διαδικτύου

  14. TCP Τερματισμός κλήσης (1) Κλείσιμο σύνδεσης: client τερματίζει socket:clientSocket.close(); Step 1:client end system στέλνει TCP FIN control segment στον server Step 2:serverλαμβάνει FIN, απαντά με ACK. Κλείνει σύνδεση, στέλνει FIN. client server closing FIN ACK closing FIN ACK timed wait closed closed Τεχνολογίες Διαδικτύου

  15. TCP Τερματισμός κλήσης (2) Step 3:clientλαμβάνει FIN, απαντά με ACK. • Μπαίνει σε “timed wait” – θα απαντήσει με ACK Step 4:server, λαμβάνει ACK. Connection closed. client server closing FIN ACK closing FIN ACK timed wait closed closed Τεχνολογίες Διαδικτύου

  16. ΤCP Connection Management (1) TCP client lifecycle Τεχνολογίες Διαδικτύου

  17. ΤCP Connection Management (2) TCP server lifecycle Τεχνολογίες Διαδικτύου

  18. TCP δημιουργεί μια αξιόπιστη υπηρεσία μετάδοσης πάνω από το IP Pipelined segments Cumulative acks TCP χρησιμοποιεί έναν χρονιστή επαναμετάδοσης TCP - Αξιόπιστη Μετάδοση Δεδομένων • TCP επιβεβαιώνειδεδομένα που έχουν ληφθεί σωστά, και επαναμεταδίδει segments όταν τα segments ή οι αντίστοιχες επιβεβαιώσεις θεωρούνται ότι έχουν χαθεί ή είναι λανθασμένες • TCP χρησιμοποιεί επίσης “pipelining” • Επιτρέπει στον αποστολέα να μεταδώσει πολλαπλά segments αλλά για τα οποία δεν έχει πάρει ακόμα επιβεβαίωση, • Ο αριθμός των ανεπιβεβαίωτων segments που μπορεί να έχει ο αποστολέας καθορίζεται από τους μηχανισμούς του ελέγχου ροής (flow control) και του ελέγχου συμφόρησης (congestion control) • Επαναμεταδόσεις ενεργοποιούνται από: • λήξεις timeout • διπλές (duplicate) acks Τεχνολογίες Διαδικτύου

  19. User Datagram Protocol (UDP) [RFC768] • Επιτρέπει στις εφαρμογές TCP/IP να ανταλλάζουν μονοσήμαντα ανεξάρτητα μηνύματα πληροφορίας πάνω από ένα δίκτυο σε ένα περιβάλλον πολυεπεξεργασίας • Το πρωτόκολλο UDP προσφέρει μια μη αξιόπιστη υπηρεσία μεταφοράς χωρίς σύνδεση, χρησιμοποιώντας το πρωτόκολλο IP για τη μεταφορά των μηνυμάτων μεταξύ μηχανών • Δεν χρησιμοποιεί επιβεβαιώσεις, δεν αριθμεί τα μηνύματα και δεν ελέγχει τη ροή τους. Έτσι ένα μήνυμα UDP μπορεί να χαθεί ή να φτάσει σε δύο αντίγραφα, ή ακόμα να φτάσουν μηνύματα UDP σε λανθασμένη σειρά • Κάθε μονάδα πληροφορίας του UDP ονομάζεται επίσης datagram • Όπως στο TCP έτσι και εδώ ζευγάρια αριθμών 16 bit χρησιμοποιούνται για να ξεχωρίζουν τις διεργασίες που επικοινωνούν Τεχνολογίες Διαδικτύου

  20. Γιατί χρησιμοποιείται το UDP? • Δεν υπάρχει εγκατάσταση σύνδεσης που μπορεί να προκαλέσει επιπλέον καθυστέρηση • Είναι απλό: δεν διατηρείται κατάσταση σύνδεσης στον αποστολέα, παραλήπτη • Μικρή επικεφαλίδα • Όχι έλεγχος συμφόρησης: UDP can blast away as fast as desired Τεχνολογίες Διαδικτύου

  21. Το πακέτο UDP 32 bits • Το UDP χρησιμοποιείται από streaming multimedia εφαρμογές • Ανεκτικές στις απώλειες πακέτων • Ευαίσθητες στον ρυθμό μετάδοσης Θύρα πηγής # Θύρα προορισμού # Μήκος του πακέτου UDP, μαζί με την επικεφαλίδα Άθροισμα ελέγχου Μήκος Δεδομένα UDP segment format Τεχνολογίες Διαδικτύου

  22. Εφαρμογές στο Διαδίκτυο Τεχνολογίες Διαδικτύου

More Related