Μια επισκόπηση του προγραμματισμού υποδοχών για δικτύωση υπολογιστών

Μια πρίζα είναι μία από τις πιο βασικές τεχνολογίες του προγραμματισμού δικτύων υπολογιστών. Τα πρίζα επιτρέπουν σε εφαρμογές λογισμικού δικτύου να επικοινωνούν χρησιμοποιώντας τυπικούς μηχανισμούς ενσωματωμένους σε υλικό δικτύου και λειτουργικά συστήματα.

Παρόλο που μπορεί να ακούγεται σαν ένα άλλο χαρακτηριστικό της ανάπτυξης λογισμικού στο Διαδίκτυο, η τεχνολογία socket υπήρξε πολύ πριν από το Διαδίκτυο. Και, πολλές από τις πιο δημοφιλείς εφαρμογές λογισμικού δικτύου βασίζονται σε πρίζες.

Τι πρίζες μπορούν να κάνουν για το δίκτυό σας

Μια πρίζα αντιπροσωπεύει μια ενιαία σύνδεση μεταξύ ακριβώς δύο τεμαχίων λογισμικού (μια λεγόμενη σύνδεση από σημείο σε σημείο ). Περισσότερα από δύο κομμάτια λογισμικού μπορούν να επικοινωνούν με το client / server ή τα κατανεμημένα συστήματα χρησιμοποιώντας πολλαπλές υποδοχές. Για παράδειγμα, πολλά προγράμματα περιήγησης στο Web μπορούν ταυτόχρονα να επικοινωνούν με έναν μόνο διακομιστή Web μέσω μιας ομάδας υποδοχών που δημιουργούνται στο διακομιστή.

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

APIs υποδοχής και βιβλιοθήκες

Αρκετές βιβλιοθήκες που εφαρμόζουν τυποποιημένες διεπαφές προγραμματισμού εφαρμογών (API) υπάρχουν στο Διαδίκτυο. Το πρώτο πακέτο mainstream - η Βιβλιοθήκη Socket Berkeley εξακολουθεί να χρησιμοποιείται ευρέως σε συστήματα UNIX. Ένα άλλο πολύ κοινό API είναι η βιβλιοθήκη Windows Sockets (WinSock) για λειτουργικά συστήματα της Microsoft. Σε σχέση με άλλες τεχνολογίες υπολογιστών, τα API socket είναι αρκετά ώριμα: το WinSock έχει χρησιμοποιηθεί από το 1993 και τις πρίζες του Berkeley από το 1982.

Τα API υποδοχής είναι σχετικά μικρά και απλά. Πολλές από τις λειτουργίες είναι παρόμοιες με εκείνες που χρησιμοποιούνται στις ρουτίνες εισόδου / εξόδου αρχείων όπως read () , write () . Η πραγματική κλήση της λειτουργίας εξαρτάται από τη γλώσσα προγραμματισμού και την επιλογή της βιβλιοθήκης υποδοχών.

Τύποι διεπαφών υποδοχής

Οι διασυνδέσεις υποδοχών μπορούν να χωριστούν σε τρεις κατηγορίες:

  • Οι πρίζες ρεύματος, ο πιο συνηθισμένος τύπος, απαιτούν από τα δύο επικοινωνούντα μέρη πρώτα να δημιουργήσουν μια σύνδεση socket, μετά την οποία όλα τα δεδομένα που θα περάσουν από αυτή τη σύνδεση θα φτάσουν στην ίδια σειρά με την οποία στάλθηκαν - ο λεγόμενος προγραμματισμός σύνδεσης μοντέλο.
  • Οι υποδοχές Datagram προσφέρουν σημασιολογία "χωρίς σύνδεση". Με datagrams, οι συνδέσεις είναι σιωπηρές και όχι σαφείς, όπως με τις ροές. Κάθε συμβαλλόμενο μέρος απλώς στέλνει datagrams όπως απαιτείται και περιμένει τον άλλο να απαντήσει. τα μηνύματα μπορούν να χαθούν κατά τη μετάδοση ή να παραληφθούν εκτός της τάξης, αλλά είναι ευθύνη της εφαρμογής και όχι οι πρίζες για την αντιμετώπιση αυτών των προβλημάτων. Η εφαρμογή υποδοχών datagrams μπορεί να δώσει σε ορισμένες εφαρμογές αύξηση της απόδοσης και πρόσθετη ευελιξία σε σύγκριση με τη χρήση υποδοχών ροής, δικαιολογώντας τη χρήση τους σε ορισμένες περιπτώσεις.
  • Ο τρίτος τύπος υποδοχής - η ακατέργαστη υποδοχή - παρακάμπτει την ενσωματωμένη υποστήριξη της βιβλιοθήκης για πρότυπα πρωτόκολλα όπως TCP και UDP . Οι ακατέργαστες υποδοχές χρησιμοποιούνται για προσαρμοσμένη ανάπτυξη πρωτοκόλλου χαμηλού επιπέδου.

Υποστήριξη υποδοχών σε πρωτόκολλα δικτύου

Οι σύγχρονες πρίζες δικτύου χρησιμοποιούνται συνήθως σε συνδυασμό με τα πρωτόκολλα Internet - IP, TCP και UDP. Οι βιβλιοθήκες που χρησιμοποιούν υποδοχές για πρωτόκολλο Internet χρησιμοποιούν TCP για ροές, UDP για datagrams και IP ίδια για ακατέργαστες πρίζες.

Για να επικοινωνούν μέσω του Διαδικτύου, οι βιβλιοθήκες υποδοχής IP χρησιμοποιούν τη διεύθυνση IP για τον εντοπισμό συγκεκριμένων υπολογιστών. Πολλά τμήματα του Διαδικτύου λειτουργούν με υπηρεσίες ονοματοθεσίας, έτσι ώστε οι χρήστες και οι προγραμματιστές υποδοχών να μπορούν να δουλεύουν με υπολογιστές με όνομα ( π.χ. "thiscomputer.wireless.about.com") αντί για διεύθυνση ( π.χ. 208.185.127.40). Οι πύλες ροής και πακέτων δεδομένων χρησιμοποιούν επίσης αριθμούς θύρας IP για να διακρίνουν πολλαπλές εφαρμογές μεταξύ τους. Για παράδειγμα, τα προγράμματα περιήγησης στο διαδίκτυο στο Διαδίκτυο γνωρίζουν ότι χρησιμοποιούν τη θύρα 80 ως προεπιλογή για την επικοινωνία υποδοχής με διακομιστές Web.