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

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

National Technical University of AthensΤεχνολογίες Διαδικτύου Σύνοψη 1Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1.2 Πρωτόκολλα TCP/IP 1.2.1 Διαστρωμάτωση.

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


Παρουσίαση με θέμα: "National Technical University of AthensΤεχνολογίες Διαδικτύου Σύνοψη 1Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1.2 Πρωτόκολλα TCP/IP 1.2.1 Διαστρωμάτωση."— Μεταγράφημα παρουσίασης:

1 National Technical University of AthensΤεχνολογίες Διαδικτύου Σύνοψη 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 Η εξέλιξη της Τεχνολογίας του Διαδικτύου Το Διαδίκτυο Σήμερα Το Διαδίκτυο Επόμενης Γενιάς

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

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

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

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

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

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

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

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

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

12 National Technical University of AthensΤεχνολογίες Διαδικτύου TCP Αποκατάσταση Σύνδεσης Σημείωση: ο αποστολέας και ο παραλήπτης εγκαθιστούν σύνδεση πριν ανταλλάξουν δεδομένα Αρχικοποίηση μεταβλητών TCP: seq. #s ενταμιευτές, πληροφορίας ελέγχου ροής (e.g. RcvWindow) client: ξεκινάει τη σύνδεση Socket clientSocket = new Socket("hostname","port number"); server: συνδέεται πελάτης Socket connectionSocket = welcomeSocket.accept(); 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 National Technical University of AthensΤεχνολογίες Διαδικτύου TCP Αποκατάσταση Σύνδεσης client host server 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 National Technical University of AthensΤεχνολογίες Διαδικτύου TCP Τερματισμός κλήσης (1) Κλείσιμο σύνδεσης: client τερματίζει socket: clientSocket.close(); Step 1: client end system στέλνει TCP FIN control segment στον server Step 2: server λαμβάνει FIN, απαντά με ACK. Κλείνει σύνδεση, στέλνει FIN. client FIN server ACK FIN closing closed timed wait closed

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

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

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

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

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

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

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

22 National Technical University of AthensΤεχνολογίες Διαδικτύου Εφαρμογές στο Διαδίκτυο ApplicationApplication-layer protocol Transport Protocol electronic mailSMTPTCP remote terminal access TelnetTCP WebHTTPTCP file transferFTPTCP remote file serverNFStypically UDP streaming multimediaProprietarytypically UDP Internet telephonyProprietarytypically UDP Network ManagementSNMPtypically UDP Routing ProtocolRIPtypically UDP


Κατέβασμα ppt "National Technical University of AthensΤεχνολογίες Διαδικτύου Σύνοψη 1Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1.2 Πρωτόκολλα TCP/IP 1.2.1 Διαστρωμάτωση."

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


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