Πρωτόκολλο TCP

10
7. 3 Πρωτόκολλο TCP TCP Συνδέσεις ΚΕΦΑΛΑΙΟ 7ο ΔΙΑΔΙΚΤΥΩΣΗ ΙΝΤΕRNET ΔΡΙΜΥΛΗ ΚΑΤΕΡΙΝΑ ΠΕ19 Τ Ε Χ Ν Ο Λ Ο Γ Ι Α Δ Ι Κ Τ Υ Ω Ν Ε Π Ι Κ Ο Ι Ν Ω Ν Ι Ω Ν

Transcript of Πρωτόκολλο TCP

Page 1: Πρωτόκολλο TCP

7.3 Πρωτόκολλο TCPTCP Συνδέσεις

ΚΕΦΑΛΑΙΟ 7ο

ΔΙΑΔΙΚΤΥΩΣΗ

ΙΝΤΕRNET

ΔΡΙΜΥΛΗ ΚΑΤΕΡΙΝΑ ΠΕ19

Τ Ε Χ Ν Ο Λ Ο Γ Ι Α Δ Ι Κ Τ Υ Ω Ν Ε Π Ι Κ Ο Ι Ν Ω Ν Ι Ω Ν

Page 2: Πρωτόκολλο TCP

ΤCP=Transmission Control ProtocolΤο βασικό πρωτόκολλο του επιπέδου μεταφοράς.

Παρέχει υπηρεσίες προσανατολισμένες σε

σύνδεση, εξασφαλίζοντας την αξιόπιστη μετάδοση

και την από άκρο σε άκρο επικοινωνία.

Αν δεν πάει ταχυδρόμος σε ένα χωριό τότε δεν μπορώ να στείλω

συστημένο γράμμα. Από την στιγμή όμως που πηγαίνει , ξέρω πως το γράμμα θα πάει ολόκληρο και πώς θα το πάρει από μένα και θα το παραδώσει στα χέρια του

παραλήπτη….

1

23

ΠΑΡΑΛΛΗΛΙΣΜΟΣ

Page 3: Πρωτόκολλο TCP

Η διαδικασία εγκατάστασης της σύνδεσης, «απαιτεί» έναν

τριπλό χαιρετισμό ώστε κάθε άκρο να γνωρίζει ότι μπορεί να

επικοινωνήσει με το άλλο.

Γειά σου. Είσαι καλά;

Και εγώ καλά είμαι

Καλά είμαι. Εσύ;

1 Υ Π Η Ρ Ε Σ Ι Ε Σ Π Ρ Ο Σ Α Ν Α Τ Ο Λ Ι Σ Μ Ε Ν Ε Σ Σ Ε Σ Υ Ν Δ Ε Σ Η

Η μεταφορά των δεδομένων, θα ξεκινήσει

μόνο μετά την εγκατάσταση της

σύνδεσης.

Page 4: Πρωτόκολλο TCP

2 Ε Ξ Α Σ Φ Α Λ Ι Ζ Ε Ι Α Ξ Ι Ο Π Ι Σ Τ Ι Α

Το TCP πρωτόκολλο θεωρείται αξιόπιστο, γιατί εξασφαλίζει την σωστή μετάδοση διενεργώντας ελέγχους, ώστε σε περίπτωση

απώλειας ή λάθους να κάνει επαναποστολή δεδομένων.

Συγκεκριμένα

Εγγυημένη παράδοση μηνυμάτων ανεξάρτητα με το μέγεθος του.

Παράδοση με την σωστή σειρά. Παράδοση ενός μόνο αντιγράφου του μηνύματος. Απόρριψη μηνυμάτων με μεγάλη καθυστέρηση. Ελεγχος ροής επικοινωνίας.

Page 5: Πρωτόκολλο TCP

3 Ε Π Ι Κ Ο Ι Ν Ω Ν Ι Α Α Π Ο Α Κ Ρ Ο Σ Ε Α Κ Ρ Ο

Όπως ήδη γνωρίζουμε το βασικό μοντέλο επικοινωνίας που

χρησιμοποιείται στις περισσότερες TCP/IP εφαρμογές είναι το μοντέλο

πελάτη– εξυπηρετητή.

Ο «πελάτης» και ο «εξυπηρετητής» είναι διεργασίες.

Το πρωτόκολλο tcp είναι υπεύθυνο για την επικοινωνία των διεργασιών.

Το πρωτόκολλο TCP μετατρέπει την «υπηρεσία» παράδοσης

δεδομένων μεταξύ υπολογιστών, την οποία παρέχει ένα δίκτυο, σε ένα κανάλι επικοινωνίας μεταξύ διεργασιών (των δύο άκρων).

Page 6: Πρωτόκολλο TCP

Το TCP μεταδίδει μόνο όταν το πλήθος των δεδομένων που έχει λάβει είναι επαρκές για να συμπληρωθεί το μέγεθος του πακέτου

που έχει συμφωνηθεί κατά την εγκατάσταση της σύνδεσης.

Όταν λάβει δεδομένα τα οποία υπερβαίνουν αυτό το μέγεθος πακέτου, τα σπάει σε μικρότερα.

Τα πακέτα ονομάζονται τμήματα ή segments και αποτελούν την μονάδα μεταφοράς στο πρωτόκολλο TCP. Κάθε τμήμα αποτελείται από την Επικεφαλίδα (Header) και τα προς μετάδοση δεδομένα (Data).

Δ Ε Δ Ο Μ Ε Ν Α T C P S E G M E N T S

Page 7: Πρωτόκολλο TCP

Η επικεφαλίδα αποτελείται από έναν αριθμό πεδίων με δεδομένα που προσθέτει το TCP και είναι απαραίτητα για τη μετάδοση. Αυτά είναι αναπόσπαστο κομμάτι του προς μετάδοση πακέτου.

Τμήμα επικεφαλίδας με το οποίο θα ασχοληθούμε.

Μ Ο Ρ Φ Η T C P Ε Π Ι Κ Ε Φ Α Λ Ι Δ Α Σ

Κάποια από τα δεδομένα της επικεφαλίδας θα χρησιμοποιηθούν για την επανένωση των δεδομένων των segments, προκειμένου να δημιουργηθεί το αρχικό πακέτο, ενώ κάποια άλλα χρησιμοποιούνται για να εξασφαλίσουμε ότι τα δεδομένα ήρθαν όλα και χωρίς λάθη.

Page 8: Πρωτόκολλο TCP

Αριθμός σειράς

Κάθε τμήμα έχει το δικό του αριθμό σειράς, ο οποίος δηλώνει τη θέση του συγκεκριμένου τμήματος στο αρχικό πακέτο.

Αριθμός επιβεβαίωσης

Ο αριθμός επιβεβαίωσης δηλώνει ότι έχουν ληφθεί από τον παραλήπτη όλες οι οκτάδες (bytes) μέχρι το νούμερο που δείχνει. Αν ο αποστολέας δεν λάβει επιβεβαίωση μέσα σε ένα λογικό χρονικό διάστημα, θα επαναλάβει τη μετάδοση των δεδομένων.

Παράθυρο

Ο αριθμός στο πεδίο παράθυρο δηλώνει πόσα δεδομένα (σε οκτάδες) μπορεί να δεχθεί. Μέσω αυτού του πεδίου το TCP κάνει έλεγχο ροής δεδομένων.

Αν συνδυαστούν τότε γνωρίζουμε ποια δεδομένα περιμένει να λάβει ένας υπολογιστής.

Page 9: Πρωτόκολλο TCP

Α ρ ι θ μ ό ς σ ε ι ρ ά ς

Ο αριθμός σειράς μας δείχνει την θέση των δεδομένων του συγκεκριμένου segment μέσα στο αρχικό πακέτο.

Στην πλευρά του αποστολέα τα πακέτα παίρνουν αριθμό σειράς, στην

φάση του τεμαχισμού (δημιουργία των tcp segments).

Στην πλευρά του παραλήπτη ο αριθμός σειράς χρησιμοποιείται ώστε τα δεδομένα να τοποθετηθούν στη ή

σωστή θέση, προκειμένου να δημιουργηθεί το αρχικό πακέτο.

Page 10: Πρωτόκολλο TCP

Α ρ ι θ μ ό ς ε π ι β ε β α ί ω σ η ς

Ο αριθμός επιβεβαίωσης δηλώνει ότι έχουν ληφθεί όλες οι οκτάδες (bytes) μέχρι και αυτό τον αριθμό.

Ουσιαστικά ενημερώνει τον αποστολέα ότι ο παραλήπτης έλαβε τα δεδομένα που του στάλθηκαν. Αν ο αποστολέας δεν λάβει σε εύλογο χρονικό διάστημα αριθμό επιβεβαίωσης τότε υποθέτει ότι έχει γίνει κάποιο λάθος (το πακέτο χάθηκε ή καταστράφηκε, ή η σύνδεση διακόπηκε) και ξαναστέλνει τα δεδομένα.

Ο αριθμός επιβεβαίωσης είναι ένα από τα πεδία που δίνει αξιοπιστία στο TCP πρωτόκολλο.