|
||
Κεφάλαιο 18 TCP/IP Θύρες επικοινωνίας: Διευθυνσιοδότηση στο επίπεδο μεταφοράς
Ένας υπολογιστής μπορεί να τρέχει ένα σύνολο απο πολλές εφαρμογές ή διεργρασίες ταυτόχρονα. Καθέμια απο αυτές δημιουργούν ένα σύνολο απο δεδομένα τα οποία και τα προοθούν στα πρωτόκολλο μεταφοράς TCP ή UDP (ανάλογα με το πρωτόκολλο μεταφοράς που χρησιμοποιεί η εκάστοτε εφαρμογή/διεργασία). Στην συνέχεια τα πρωτόκολλα μεταφοράς προοθούν αυτά τα δεδομένα στο επίπεδο δικτύου (IP) προκειμένου αυτά να δρομολογηθούν στον τελικό τους προορισμό.
![]() Αφαιρετική προσέγγιση πολύπλεξης/αποπολύπλεξης Θύρα προορισμού και θύρα πηγής Όπως αναφέραμε παραπάνω τόσο το πρωτόκολλο μεταφοράς UDP όσο και το TCP διαθέτουν στις επικεφαλίδες τους δύο πεδία διευθυνσιοδότησης επιπέδου μεταφοράς, τα πεδία αυτά είναι τα εξής:
Τα δύο αυτά πεδία είναι ανάλογα των πεδίων IP διεύθυνσης πηγής και προορισμού του επιπέδου δικτύου. Δηλαδή αντιπροσωπεύουν μοναδικά κάθε εφαρμογή ή ένα πρωτόκολλο. Για παράδειγμα κάθε πρωτόκολλο διαθέτει μια θύρα επικοινωνίας (όπως για παράδειγμα το HTTP που διαθέτει την TCP θύρα επικοινωνίας 80) και κάθε εφαρμογή διαθέτει μια μοναδική θύρα επικοινωνίας. Η μέγιστη θύρα επιπέδου μεταφοράς είναι η 65535 και η ελάχιστη η 1 καθότι η 0 είναι δεσμευμένη. ![]() Παράδειγμα πολύπλεξης/αποπολύπλεξης Στην παραπάνω εικόνα αποτυπώνεται ο τρόπος με τον οποίο λειτουργεί ο μηχανισμός πολύπλεξης/αποπολύπλεξης. Επίσης παρατηρούμε ότι υπάρχουν τέσσερις διαφορετικές TCP/IP εφαρμογές που επικοινωνούν ταυτόχρονα. Από τις τέσσερις εφαρμογές οι δύο χρησιμοποιούν το TCP και οι άλλες δύο το UDP. Κάθεμια εφαρμογή που τρέχει στον υπολογιστή του πελάτη (client) στέλνει μηνύματα χρησιμοποιώντας συγκεκριμένο αριθμό TCP ή UCP θύρας. Αυτοί οι αριθμοί θύρας χρησιμοποιούνται από τα προγράμματα (TCP ή UDP) του διακομιστή (server) προκειμένου να προωθήσει τα πακέτα στην κατάλληλη διεργασία εφαρμογής. Πολύπλεξη/Αποπολύπλεξη (multiplexing/demultiplexing) με βάση το πρωτόκολλο μεταφοράς TCP Αφού κατανοήσαμε μες τις άκρες την λειτουργία της διευθυνσιοδότησης στο επίπεδο μεταφοράς και την λειτουργία της πολύπλεξης και τις αποπολύπλεξης ας δούμε σε αυτό το σημείο ένα παράδειγμα με βάση το πρωτόκολλο μεταφοράς TCP. Έστω η παρακάτω εικόνα όπου έχουμε έναν πελάτη (client) που ανήκει στο δίκτυο Client LAN και θέλει πρόσβαση στην ιστοσελίδα codebrakes.gr. ![]() Παράδειγμα ενός δικτύου πελάτη - εξυπηρετητή (Client - Server)
Όπως βλέπουμε από την παραπάνω εικόνα έχουμε δύο τοπικά δίκτυα (LANs) με τον διακομιστή (server) να έχει την IP 152.8.7.11 και τον πελάτη (Client) με δημόσια IP (NAT) την 162.103.56.103. Ο διακομιστής (server) του Server LAN προσφέρει διάφορες υπηρεσίες μεταξύ αυτών όπως το HTTP, FTP κλπ. Έστω ότι ο πελάτης (client) θέλει να σερφάρει στο διαδίκτυο (internet) και θέλει πρόσβαση σε μια ιστοδελίδα π.χ. codebrakes.gr, για να το κάνει αυτό θα πρέπει να χρησιμοποιήσει το πρωτόκολλο HTTP. Τυπικά κάθε φορά που εμείς χρησιμοποιούμε το διαδίκτυο εν αγνοία μας ο υπολογιστής μας (και κατά συνέπεια και εμείς) χρησιμοποιούμε ένα σύνολο από διάφορα πρωτόκολλα (όπως για παράδειγμα το HTTP για πρόσβαση στο Web, το FTP για μεταφορά αρχείων κι άλλα πολλά).
![]() Χρήση πρωτοκόλλου HTTP Για να μπορέσει λοιπόν ο πελάτης (client) να αποκτήσει πρόσβαση στην ιστοσελίδα Codebrakes.gr (χρήση HTTP) θα πρέπει στο πακέτο αίτησης που θα στείλει να μπουν τα εξής στοιχεία:
Η παρακάτω εικόνα δίνει ένα σαφές παράδειγμα του πακέτου που θα στείλει ο χρήστης. ![]() Θύρες προορισμού και πηγής στο πακέτο αίτησης HTTP Αυτό το πακέτο προωθείται προς τον server με το domain codebrakes.gr (152.8.7.11). ![]() Προώθηση πακέτου HTTP αίτησης προς τον server με domain codebrakes.gr Στην συνέχεια ο διακομιστής (server) όταν θα στείλει την απάντηση πίσω στον πελάτη (client) το μήνυμα θα περιέχει τα εξής στοιχεία: ![]() Θύρες προορισμού και πηγής στο πακέτο απάντησης HTTP Αυτό το πακέτο προωθείται προς τον client (162.103.56.103). ![]() Προώθηση πακέτου HTTP απάντησης προς τον πελάτη (client) Και με αυτόν τον τρόπο ο πελάτης (Client) μπορεί να έχει πρόσβαση σε μια ιστοσελίδα. ![]() To PC του πελάτη (client) μόλις λάβει το πακέτο HTTP απάντησης από τον server Τελευταία ενημέρωση: 25/04/2018 |
||
|
☰ | |