Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Σύνοψη 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή
1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1.2 Πρωτόκολλα TCP/IP Διαστρωμάτωση Μέσα Μετάδοσης 1.3 Το πρωτόκολλο IP Τάξεις Διευθύνσεων IP Δρομολόγηση IP Το πρωτόκολλο ICMP 1.4 Πρωτόκολλα Στρώματος Μεταφοράς Πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) Πρωτόκολλο Πακέτων Χρήστη (User Datagram Protocol, UDP) 1.5 Η εξέλιξη της Τεχνολογίας του Διαδικτύου Το Διαδίκτυο Σήμερα Το Διαδίκτυο Επόμενης Γενιάς National Technical University of Athens Τεχνολογίες Διαδικτύου
2
Πρωτόκολλα Στρώματος Μεταφοράς
Transmission Control Protocol (TCP) Είναι μια αξιόπιστη υπηρεσία μεταφοράς με σύνδεση User Datagram Protocol (UDP) Eίναι μια μη αξιόπιστη υπηρεσία μεταφοράς χωρίς σύνδεση National Technical University of Athens Τεχνολογίες Διαδικτύου
3
Transmission Control Protocol (TCP) (1)
Διαδικασία handshaking μεταξύ του αποστολέα και παραλήπτη για εγκατάσταση και επιβεβαίωση σύνδεσης Περνά τα δεδομένα στον προορισμό με την ίδια σειρά με την οποία τα έστειλε η διαδικασία της πηγής Έλεγχος συμφόρησης. Ο αποστολέας δεν θα κατακλύσει τον παραλήπτη Οι εφαρμογές που χρησιμοποιούν το πρωτόκολλο TCP, λαμβάνουν από το λειτουργικό σύστημα δύο αριθμούς προκειμένου η επικοινωνία του να καθορίζεται καλά σε σχέση με άλλες επικοινωνίες διεργασιών μεταξύ των δύο ίδιων μηχανημάτων. Οι αριθμοί που λαμβάνουν ονομάζονται TCP port numbers National Technical University of Athens Τεχνολογίες Διαδικτύου
4
Transmission Control Protocol (TCP) (2)
Η μεταφορά δεδομένων με TCP είναι full-duplex (αμφίδρομη), δηλαδή μπορούμε να έχουμε ταυτόχρονη μεταφορά δεδομένων και προς τις δύο κατευθύνσεις. Η μονάδα πληροφορίας στο TCP ονομάζεται TCP segment Κάθε υποδίκτυο καθορίζει ένα Maximum segment size Χρησιμοποιεί επιβεβαιώσεις, αριθμεί τα πακέτα National Technical University of Athens Τεχνολογίες Διαδικτύου
5
TCP.. περισσότερα Point-to-point
Ένας αποστολέας, ένας παραλήπτης Αποταμιευτές στον αποστολέα και στον παραλήπτη Αρχικοποίηση της κατάστασης του αποστολέα και παραλήπτη πριν την ανταλλαγή δεδομένων RFCs: 793, 1122, 1323, 2018, 2581 National Technical University of Athens Τεχνολογίες Διαδικτύου
6
Επιλογές και Συμπλήρωμα
Το πακέτο TCP 32 bits URG: πεδίο δείκτη επείγοντος Μετράνε αριθμό bytes (όχι segments!) Θύρα πηγής # Θύρα προορισμού # ACK: πεδίο επιβεβαίωσης λήψης Αριθμός ακολουθίας Αριθμός επιβεβαίωσης Δείχνει μετά από πόσες λέξεις 32-bit αρχίζουν δεδομένα 20 οκτάδες Data Offset not used U A P R S F Παράθυρο Άθροισμα ελέγχου Δείκτης επείγον αριθμό bytes που ο δέκτης επιθυμεί να δεχτεί PSH: προωθεί τα δεδομένα τώρα Επιλογές και Συμπλήρωμα (μεταβλητό μήκος) RST, SYN, FIN: εγκατάσταση σύνδεσης (reset, συγχρονίζει, τερματίζει) Δεδομένα (μεταβλητό μήκος) Internet checksum
7
Περισσότερα για το TCP Κάθε TCP segment έχει έναν μοναδικό αριθμό που το αναγνωρίζει σε σχέση με τα άλλα πακέτα Προορισμός στέλνει επιβεβαίωση μόλις λάβει πακέτο Μη επιβεβαιωμένο πακέτο επαναμεταδίδεται Εάν ίδιο πακέτο επαναμεταδοθεί απορρίπτεται από τον παραλήπτη National Technical University of Athens Τεχνολογίες Διαδικτύου
8
Τα πεδία Sequence and Acknowledgement number
Εξασφαλίζουν αξιόπιστη μεταφορά των δεδομένων Το Sequence number αναφέρεται στον αριθμό των μεταδιδόμενων bytes για μια ροή πακέτων και όχι στη σειρά των μεταδιδόμενων segments Έστω αρχείο των bytes MSS είναι 1000Bytes και το πρώτο byte στην ροή δεδομένων αριθμείται ως 0 Έχουμε 500 segments, το πρώτο έχει sequence number 0, το δεύτερο 1000, το τρίτο National Technical University of Athens Τεχνολογίες Διαδικτύου
9
Τα πεδία Sequence and Acknowledgement number
TCP είναι full duplex Οπότε ένα τερματικό Α μπορεί να στέλνει στο Β αλλά και να λαμβάνει ταυτόχρονα από αυτό Κάθε segment που φτάνει από το Β έχει ένα sequence number To acknowledgment number που το τερματικό A βάζει στο segment είναι το sequence number του επόμενου byte που περιμένει να λάβει από τον B National Technical University of Athens Τεχνολογίες Διαδικτύου
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 εκτός σειράς? National Technical University of Athens Τεχνολογίες Διαδικτύου
11
Telnet: Μελέτη για τα Sequence and Acknowledgment Numbers
Seq. #’s: Αρίθμηση του πρώτου byte σε ένα segment ACKs: seq # του επόμενου byte που αναμένεται από την άλλη πλευρά Q: πως μπορούμε να χειριστούμε εκτός σειράς segments Απόρριψη Αποθήκευση αυτών μέχρι να έρθουν κομμάτια που λείπουν για να συμπληρώσουν τα κενά Host A Host B 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 time simple telnet scenario National Technical University of Athens Τεχνολογίες Διαδικτύου
12
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) Σημείωση: ο αποστολέας και ο παραλήπτης εγκαθιστούν σύνδεση πριν ανταλλάξουν δεδομένα Αρχικοποίηση μεταβλητών TCP: seq. #s ενταμιευτές, πληροφορίας ελέγχου ροής (e.g. RcvWindow) client: ξεκινάει τη σύνδεση Socket clientSocket = new Socket("hostname","port number"); server: συνδέεται πελάτης Socket connectionSocket = welcomeSocket.accept(); National Technical University of Athens Τεχνολογίες Διαδικτύου
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) National Technical University of Athens Τεχνολογίες Διαδικτύου
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 National Technical University of Athens Τεχνολογίες Διαδικτύου
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 National Technical University of Athens Τεχνολογίες Διαδικτύου
16
ΤCP Connection Management (1)
TCP client lifecycle National Technical University of Athens Τεχνολογίες Διαδικτύου
17
ΤCP Connection Management (2)
TCP server lifecycle National Technical University of Athens Τεχνολογίες Διαδικτύου
18
TCP - Αξιόπιστη Μετάδοση Δεδομένων
TCP δημιουργεί μια αξιόπιστη υπηρεσία μετάδοσης πάνω από το IP Pipelined segments Cumulative acks TCP χρησιμοποιεί έναν χρονιστή επαναμετάδοσης TCP επιβεβαιώνει δεδομένα που έχουν ληφθεί σωστά, και επαναμεταδίδει segments όταν τα segments ή οι αντίστοιχες επιβεβαιώσεις θεωρούνται ότι έχουν χαθεί ή είναι λανθασμένες TCP χρησιμοποιεί επίσης “pipelining” Επιτρέπει στον αποστολέα να μεταδώσει πολλαπλά segments αλλά για τα οποία δεν έχει πάρει ακόμα επιβεβαίωση, Ο αριθμός των ανεπιβεβαίωτων segments που μπορεί να έχει ο αποστολέας καθορίζεται από τους μηχανισμούς του ελέγχου ροής (flow control) και του ελέγχου συμφόρησης (congestion control) Επαναμεταδόσεις ενεργοποιούνται από: λήξεις timeout διπλές (duplicate) acks National Technical University of Athens Τεχνολογίες Διαδικτύου
19
User Datagram Protocol (UDP) [RFC768]
Επιτρέπει στις εφαρμογές TCP/IP να ανταλλάζουν μονοσήμαντα ανεξάρτητα μηνύματα πληροφορίας πάνω από ένα δίκτυο σε ένα περιβάλλον πολυεπεξεργασίας Το πρωτόκολλο UDP προσφέρει μια μη αξιόπιστη υπηρεσία μεταφοράς χωρίς σύνδεση, χρησιμοποιώντας το πρωτόκολλο IP για τη μεταφορά των μηνυμάτων μεταξύ μηχανών Δεν χρησιμοποιεί επιβεβαιώσεις, δεν αριθμεί τα μηνύματα και δεν ελέγχει τη ροή τους. Έτσι ένα μήνυμα UDP μπορεί να χαθεί ή να φτάσει σε δύο αντίγραφα, ή ακόμα να φτάσουν μηνύματα UDP σε λανθασμένη σειρά Κάθε μονάδα πληροφορίας του UDP ονομάζεται επίσης datagram Όπως στο TCP έτσι και εδώ ζευγάρια αριθμών 16 bit χρησιμοποιούνται για να ξεχωρίζουν τις διεργασίες που επικοινωνούν National Technical University of Athens Τεχνολογίες Διαδικτύου
20
Γιατί χρησιμοποιείται το UDP?
Δεν υπάρχει εγκατάσταση σύνδεσης που μπορεί να προκαλέσει επιπλέον καθυστέρηση Είναι απλό: δεν διατηρείται κατάσταση σύνδεσης στον αποστολέα, παραλήπτη Μικρή επικεφαλίδα Όχι έλεγχος συμφόρησης: UDP can blast away as fast as desired National Technical University of Athens Τεχνολογίες Διαδικτύου
21
Το πακέτο UDP Το UDP χρησιμοποιείται από streaming multimedia εφαρμογές Ανεκτικές στις απώλειες πακέτων Ευαίσθητες στον ρυθμό μετάδοσης 32 bits Θύρα πηγής # Θύρα προορισμού # Μήκος του πακέτου UDP, μαζί με την επικεφαλίδα Μήκος Άθροισμα ελέγχου Δεδομένα UDP segment format National Technical University of Athens Τεχνολογίες Διαδικτύου
22
Εφαρμογές στο Διαδίκτυο
Application Application-layer protocol Transport Protocol electronic mail SMTP TCP remote terminal access Telnet Web HTTP file transfer FTP remote file server NFS typically UDP streaming multimedia Proprietary Internet telephony Network Management SNMP Routing Protocol RIP National Technical University of Athens Τεχνολογίες Διαδικτύου
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.