Τι χρησιμοποιείται η θύρα 0;

Η θύρα 0 δεν είναι πραγματικός αριθμός θύρας, αλλά υπάρχει ένας σκοπός για αυτό

Σε αντίθεση με τους περισσότερους αριθμούς θυρών , η θύρα 0 είναι μια αποκλειστική θύρα στη δικτύωση TCP / IP , πράγμα που σημαίνει ότι δεν θα πρέπει να χρησιμοποιείται σε μηνύματα TCP ή UDP .

Η θύρα 0 έχει ιδιαίτερη σημασία στον προγραμματισμό του δικτύου , ιδιαίτερα τον προγραμματισμό της υποδοχής Unix, για να ζητήσει δυναμικές θύρες που έχουν εκχωρηθεί στο σύστημα. Η θύρα μηδέν είναι σαν μια θύρα μπαλαντέρ που λέει στο σύστημα να βρει έναν κατάλληλο αριθμό θύρας.

Οι θύρες δικτύου στην περιοχή TCP και UDP κυμαίνονται από το μηδέν μέχρι το 65535. Οι αριθμοί θυρών που κυμαίνονται μεταξύ μηδέν και 1023 ορίζονται ως θύρες συστήματος ή πολύ γνωστές θύρες. Η Αρχή Ηλεκτρονικών Αναγνωρισμένων Αριθμών (IANA) διατηρεί μια επίσημη λίστα με την προβλεπόμενη χρήση αυτών των αριθμών θύρας στο διαδίκτυο και η θύρα συστήματος 0 δεν πρέπει να χρησιμοποιηθεί.

Πώς λειτουργεί η θύρα 0 στον προγραμματισμό δικτύου

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

Η IANA διαθέτει προκαθορισμένες θύρες συστήματος για βασικές εφαρμογές διαδικτύου, όπως web servers (θύρα 80), αλλά πολλές εφαρμογές δικτύου TCP και UDP δεν έχουν τη δική τους θύρα συστήματος και πρέπει να αποκτούν ένα από το λειτουργικό σύστημα της συσκευής τους κάθε φορά που αρχίζουν να εκτελούνται.

Για την κατανομή του αριθμού θύρας προέλευσης, οι εφαρμογές καλούν λειτουργίες δικτύου TCP / IP όπως bind () για να ζητήσουν μία. Η εφαρμογή μπορεί να παράσχει έναν σταθερό (σκληρό κωδικοποιημένο) αριθμό για να δεσμεύσει () εάν προτιμά να ζητήσει έναν συγκεκριμένο αριθμό, αλλά ένα τέτοιο αίτημα μπορεί να αποτύχει επειδή κάποια άλλη τρέχουσα εφαρμογή στο σύστημα μπορεί αυτή τη στιγμή να τη χρησιμοποιεί.

Εναλλακτικά, μπορεί να παρέχει στη θύρα 0 την δέσμευση () ως παράμετρο σύνδεσης. Αυτό ενεργοποιεί το λειτουργικό σύστημα για αυτόματη αναζήτηση και επιστροφή κατάλληλης διαθέσιμης θύρας στην περιοχή αριθμών δυναμικών θυρών TCP / IP.

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

Τα Unix, τα Windows και άλλα λειτουργικά συστήματα διαφέρουν ελαφρώς όσον αφορά τον χειρισμό της θύρας 0, αλλά ισχύει η ίδια γενική σύμβαση.

Θύρα 0 και ασφάλεια δικτύου

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

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