3. Παρέχει υπηρεσίες
προσανατολισμένες σε
σύνδεση,
εξασφαλίζοντας την
αξιόπιστη μετάδοση και
την από άκρο σε άκρο
επικοινωνία.
Παρέχει υπηρεσίες
προσανατολισμένες σε
σύνδεση,
εξασφαλίζοντας την
αξιόπιστη μετάδοση και
την από άκρο σε άκρο
επικοινωνία.
Αν δεν πάει ταχυδρόμος σε ένα
χωριό τότε δεν μπορώ να στείλω
συστημένο γράμμα. Από την
στιγμή όμως που πηγαίνει , ξέρω
πως το γράμμα θα πάει ολόκληρο
και πώς θα το πάρει από μένα και
θα το παραδώσει στα χέρια του
παραλήπτη….
1
2
3
Π
Α
Ρ
Α
Λ
Λ
Η
Λ
Ι
Σ
Μ
Ο
Σ
4. Η διαδικασία εγκατάστασης της
σύνδεσης, «απαιτεί» έναν
τριπλό χαιρετισμό ώστε κάθε
άκρο να γνωρίζει ότι μπορεί να
επικοινωνήσει με το άλλο.
Γειά σου. Είσαι καλά;
Και εγώ καλά είμαι
Καλά είμαι. Εσύ;
1
Η μεταφορά των
δεδομένων, θα ξεκινήσει
μόνο μετά την
εγκατάσταση της
σύνδεσης.
5. Το TCP πρωτόκολλο θεωρείται αξιόπιστο, γιατί εξασφαλίζει την
σωστή μετάδοση διενεργώντας ελέγχους, ώστε σε περίπτωση
απώλειας ή λάθους να κάνει επαναποστολή δεδομένων.
Το TCP πρωτόκολλο θεωρείται αξιόπιστο, γιατί εξασφαλίζει την
σωστή μετάδοση διενεργώντας ελέγχους, ώστε σε περίπτωση
απώλειας ή λάθους να κάνει επαναποστολή δεδομένων.
Συγκεκριμένα
Εγγυημένη παράδοση μηνυμάτων ανεξάρτητα με το
μέγεθος του.
Παράδοση με την σωστή σειρά.
Παράδοση ενός μόνο αντιγράφου του μηνύματος.
Απόρριψη μηνυμάτων με μεγάλη καθυστέρηση.
Ελεγχος ροής επικοινωνίας.
6. Όπως ήδη γνωρίζουμε το βασικό
μοντέλο επικοινωνίας που
χρησιμοποιείται στις περισσότερες
TCP/IP εφαρμογές είναι το
μοντέλο πελάτη– εξυπηρετητή.
Ο «πελάτης» και ο «εξυπηρετητής»
είναι διεργασίες.
Το πρωτόκολλο TCP μετατρέπει
την «υπηρεσία» παράδοσης
δεδομένων μεταξύ
υπολογιστών, την οποία παρέχει
ένα δίκτυο, σε ένα κανάλι
επικοινωνίας μεταξύ διεργασιών
(των δύο άκρων).
Το πρωτόκολλο TCP μετατρέπει
την «υπηρεσία» παράδοσης
δεδομένων μεταξύ
υπολογιστών, την οποία παρέχει
ένα δίκτυο, σε ένα κανάλι
επικοινωνίας μεταξύ διεργασιών
(των δύο άκρων).
7. Το TCP μεταδίδει μόνο όταν το πλήθος των δεδομένων που έχει
λάβει είναι επαρκές για να συμπληρωθεί το μέγεθος του πακέτου
που έχει συμφωνηθεί κατά την εγκατάσταση της σύνδεσης.
Όταν λάβει δεδομένα τα οποία υπερβαίνουν αυτό το
μέγεθος πακέτου, τα σπάει σε μικρότερα.
Τα πακέτα ονομάζονται τμήματα ή segments και αποτελούν την μονάδα μεταφοράς
στο πρωτόκολλο TCP. Κάθε τμήμα αποτελείται από την Επικεφαλίδα (Header) και τα
προς μετάδοση δεδομένα (Data).
8. Η επικεφαλίδα αποτελείται από έναν αριθμό πεδίων με δεδομένα που
προσθέτει το TCP και είναι απαραίτητα για τη μετάδοση. Αυτά είναι
αναπόσπαστο κομμάτι του προς μετάδοση πακέτου.
Τμήμα επικεφαλίδας με το οποίο θα ασχοληθούμε.
Κάποια από τα δεδομένα της επικεφαλίδας θα χρησιμοποιηθούν για την επανένωση
των δεδομένων των segments, προκειμένου να δημιουργηθεί το αρχικό πακέτο, ενώ
κάποια άλλα χρησιμοποιούνται για να εξασφαλίσουμε ότι τα δεδομένα ήρθαν όλα
και χωρίς λάθη.
Η επικεφαλίδα έχει
ελάχιστο μήκος 20
octets και μέγιστο
60 octets μαζί με το
προαιρετικό
πεδίο options.
Η επικεφαλίδα έχει
ελάχιστο μήκος 20
octets και μέγιστο
60 octets μαζί με το
προαιρετικό
πεδίο options.
9. Αριθμός σειράς
Κάθε τμήμα έχει το δικό του αριθμό σειράς, ο
οποίος δηλώνει τη θέση του συγκεκριμένου
τμήματος στο αρχικό πακέτο.
Αριθμός επιβεβαίωσης
Ο αριθμός επιβεβαίωσης δηλώνει ότι έχουν
ληφθεί από τον παραλήπτη όλες οι οκτάδες
(bytes) μέχρι το νούμερο που δείχνει. Αν ο
αποστολέας δεν λάβει επιβεβαίωση μέσα
σε ένα λογικό χρονικό διάστημα, θα
επαναλάβει τη μετάδοση των δεδομένων.
Παράθυρο
Ο αριθμός στο πεδίο παράθυρο
δηλώνει πόσα δεδομένα (σε
οκτάδες) μπορεί να δεχθεί.
Μέσω αυτού του πεδίου το TCP
κάνει έλεγχο ροής δεδομένων.
Αν συνδυαστούν τότε γνωρίζουμε ποια δεδομένα περιμένει να λάβει ένας υπολογιστής.
10. Ο αριθμός σειράς μας δείχνει την θέση των δεδομένων του συγκεκριμένου segment
μέσα στο αρχικό πακέτο.
Στην πλευρά του αποστολέα τα
πακέτα παίρνουν αριθμό σειράς, στην
φάση του τεμαχισμού (δημιουργία
των tcp segments).
Στην πλευρά του παραλήπτη ο
αριθμός σειράς χρησιμοποιείται ώστε
τα δεδομένα να τοποθετηθούν στη
σωστή θέση, προκειμένου να
δημιουργηθεί το αρχικό πακέτο.
Στην φάση της εγκατάστασης της σύνδεσης παίρνει έναν αυθαίρετο αριθμό
Στην φάση της αποστολής δεδομένων ξεκινάει από το 0 και ανεβαίνει ανάλογα με τις
οκτάδες που αποστέλλονται
11. Ο αριθμός επιβεβαίωσης δηλώνει ότι έχουν ληφθεί όλες οι
οκτάδες (bytes) μέχρι τον αριθμό (όχι και αυτόν).
Ουσιαστικά ενημερώνει τον αποστολέα ότι ο παραλήπτης
έλαβε τα δεδομένα που του στάλθηκαν.
Αν ο αποστολέας δεν λάβει σε εύλογο χρονικό διάστημα
αριθμό επιβεβαίωσης τότε υποθέτει ότι έχει γίνει κάποιο
λάθος (το πακέτο χάθηκε ή καταστράφηκε, ή η σύνδεση
διακόπηκε) και ξαναστέλνει τα δεδομένα.
Ο αριθμός επιβεβαίωσης είναι ένα από τα πεδία που δίνει
αξιοπιστία στο TCP πρωτόκολλο.
12. Πολύπλεξη Αποπολύπλεξη
Οι αριθμοί θύρας χρησιμεύουν στην ταυτοποίηση των διαφορετικών συνομιλιών μεταξύ
των δύο άκρων. Κάθε σύνδεση παίρνει έναν αριθμό (θύρα πηγής) ουσιαστικά αυθαίρετο
και έναν προκαθορισμένο αριθμό (θύρα προορισμού), ανάλογα με την εφαρμογή
προορισμού. Όταν υπάρξει απάντηση, τα νούμερα αυτά αντιστρέφονται.
Οι δύο παραπάνω αριθμοί μαζί με τις διευθύνσεις ΙΡ των
δύο άκρων ταυτοποιούν τις συνδέσεις.
13. Ουσιαστικά το TCP segment περιέχει όλες
πληροφορίες που απαιτούνται ώστε να παρέχει
14. Είναι πρωτόκολλο αυτοδύναμου πακέτου χωρίς σύνδεση. Δεν ελέγχει την σύνδεση
με τον παραλήπτη, αλλά αρχίζει αμέσως την αποστολή.
Είναι όπως το τηλεοπτικό σήμα που εκπέμπει άσχετα αν έχουμε ανοιχτή την τηλεόραση.
Δεν κάνει επαναμετάδοση
δεδομένων.
Δεν διαθέτει έλεγχο λαθών.
Δεν εξασφαλίζει ότι τα
τμήματα θα φτάσουν στον
προορισμό τους με τη σωστή
σειρά.
Δεν κρατάει αντίγραφο των
δεδομένων που στάλθηκαν
για επιβεβαίωση.
Οι έλεγχοι μεταφέρονται από
το επίπεδο μεταφοράς, στις
ίδιες τις εφαρμογές.
Κάνει πολύπλεξη - αποπολύπλεξη των δεδομένων χρησιμοποιώντας τα UDP Ports.
15. Εφαρμογές που δεν ενδιαφέρονται αν
κάποια δεδομένα χαθούν ή δεν έχει
νόημα η επαναμετάδοση τους όπως οι
εφαρμογές φωνής. Αυτό που μας
ενδιαφέρει είναι η μετάδοση να
προχωράει όσο το δυνατόν πιο γρήγορα
και χωρίς καθυστερήσεις, γιατί αλλιώς
θα έχουμε φωνή πολύ κακής ποιότητας.
Εφαρμογές που χρησιμοποιούν UDP
Εφαρμογές που «παράγουν» μικρά μηνύματα , άρα
δεν ενδιαφέρονται για τον τεμαχισμό και την
επανασυγκόληση που μας παρέχει το TCP.
ICMP πακέτα
Αιτήματα DNS
Kάθε μήνυμα που μεταδίδεται από μια εφαρμογή μέσω UDP πρέπει
να χωράει εξ’ολοκλήρου σε ένα τμήμα UDP.