Κεφ. 3 - Το TCP/IP
Αντιστοίχιση TCP/IP με το μοντέλο OSIΤο TCP/IP είναι ένα σύνολο πρωτοκόλλων που χρησιμοποιείται για την επικοινωνία στο Internet. Ονομάστηκε έτσι από τα τα πιο "διάσημα" πρωτόκολλα που χρησιμοποιούνται για την επικοινωνία στο Internet: To TCP (Transmission Control Protocol) του επιπέδου μεταφοράς και του IP (Internet Protocol) του επιπέδου δικτύου. Παρά το γεγονός ότι στα επίπεδα μεταφοράς και δικτύου μπορούν να χρησιμοποιηθούν και άλλα πρωτόκολλα (όπως πχ UDP στο μεταφοράς ή ICMP/ARP στο δικτύου), με την ονομασία TCP/IP εννοούμε το σύνολο των πρωτοκόλλων σε αυτά τα δύο επίπεδα.
Στο επίπεδο δικτύου, το IP ρυθμίζει τις διευθύνσεις και τη δρομολόγηση των πακέτων/δεδομένων. Σε αυτό το επίπεδο καθορίζεται η IP διεύθυνση της κάθε συσκευής, η οποία στην έκδοση IPv4 αποτελείται από 4 byte και στο δεκαδικό σύστημα απεικονίζεται με τη μορφή a.b.c.d, όπου κάθε αριθμός a/b/c/d παίρνει ακέραιες τιμές από το 0 έως το 255. Παράλληλα, για να στείλει δεδομένα σε μία άλλη συσκευή το πρωτόκολλο IP θα πρέπει να γνωρίζει και την αντίστοιχη διεύθυνση IP του παραλήπτη. Τέλος, στο επίπεδο αυτό πραγματοποιείται και η διαδικασία της δρομολόγησης, καθώς γνωρίζοντας τη διεύθυνση του παραλήπτη τα πακέτα δρομολογούνται προς αυτόν.
Στο επίπεδο μεταφοράς, το TCP χωρίζει τα δεδομένα που πρόκειται να αποσταλλούν σε πακέτα (ή datagrams στην περίπτωση του UDP), ή αντίστοιχα όταν παραλαμβάνει πακέτα (ή datagrams) τα τοποθετεί στη σωστή σειρά ώστε να εξάγει τα δεδομένα. Το TCP προσφέρει αξιόπιστη μεταφορά δεδομένων ενώ το UDP προσφέρει γρήγορη αλλά αναξιόπιστη μεταφορά δεδομένων.
Τέλος, καθώς το επίπεδο μεταφοράς δίνει τα δεδομένα που λαμβάνει στις εφαρμογές, χρησιμοποιεί ένα σύστημα θυρών (ports) με αριθμούς μεταξύ 0-65535 (16bits). Κάθε εφαρμογή που ανοίγει μία σύνδεση χρησιμοποιεί έναν αριθμό θύρας (port) ώστε να δηλώσει από που φεύγουν τα δεδομένα, καθώς και έναν αριθμό θύρας για τον παραλήπτη ώστε να δηλώσει ποιά εφαρμογή του παραλήπτη θα λάβει τα δεδομένα. Οι γνωστότερες εφαρμογές δικτύου "εξυπηρετούν" σε γνωστές θύρες (server ports), όπως π.χ. http -> 80, https --> 443, ftp --> 21, ssh --> 22, dns --> 53 κ.α.
