Ποια είναι η διαφορά μεταξύ του Locahost και της τοπικής διεύθυνσης IP;
Εάν κάνετε πολλά tinkering δικτύου, τη διαμόρφωση των εφαρμογών και των εργαλείων διακομιστή LAN, ή απλώς περίεργες, πιθανότατα έχετε παρατηρήσει ότι υπάρχει μια διαφορά μεταξύ του localhost της τοπικής διεύθυνσης IP. Διαβάστε παρακάτω για να μάθετε τις διαφορές.
Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.
Το ερώτημα
Ο αναγνώστης SuperUser Diogo θέλει να μάθει γιατί η εντολή ping αντιμετωπίζει το τοπικό hosthost και την τοπική διεύθυνση IP διαφορετικά όταν στην επιφάνεια φαίνονται να είναι τα ίδια:
Χρησιμοποιώντας cmd και ping στα Windows μου έδωσε τα ακόλουθα αποτελέσματα:
Pinging "localhost":
Pinging "192.168.0.10" (τοπική διεύθυνση IP):
Δεν είναι και οι δύο καταστάσεις ακριβώς ίδιες?
Θέλω να πω, είμαι pinging την ίδια διεπαφή, το ίδιο μηχάνημα και την ίδια διεύθυνση. Γιατί έχω τόσο διαφορετικά αποτελέσματα?
Προφανώς υπάρχει κάποια διαφορά, αλλά τι ακριβώς συμβαίνει όταν αλλάζετε μεταξύ των δύο?
Η απάντηση
Ο συνεργάτης SuperUser Tom Wijsman προσφέρει την ακόλουθη εικόνα για τις λεπτές διαφορές μεταξύ των δύο:
Δεν πατάτε την ίδια διεπαφή, χωρίς φυσικές διεπαφές έχετε ακόμα έναν "τοπικό κεντρικό υπολογιστή".
Τα δικα σου
localhost
χρησιμοποιείται για να αναφέρεται στον υπολογιστή σας από την "εσωτερική" διεύθυνση IP του, όχι από οποιαδήποτε "εξωτερική" διεύθυνση IP του υπολογιστή σας. Έτσι, τα πακέτα ping δεν περνούν από οποιαδήποτε φυσική διεπαφή δικτύου. μόνο μέσω μιας διεπαφής εικονικού βρόχου που στέλνει απευθείας τα πακέτα από τη θύρα στη θύρα χωρίς φυσικό λυκίσκο.Μπορεί ακόμα να αναρωτιέστε γιατί
localhost
επιλύει:: 1
, ενώ παραδοσιακά θα περίμενε κανείς να επιλύσει τη διεύθυνση IPv4127.0.0.1
. Σημειώστε ότι.localhost
είναι παραδοσιακά ένα TLD (βλέπε RFC 2606) το οποίο επιστρέφει στην διεύθυνση IP back loop (για IPv4, βλ. RFC 3330, ειδικά 127.0.0.0/8).Ψαχνωντας
localhost
χρησιμοποιώνταςnslookup
μας δίνει:
nslookup localhost
... Όνομα: localhost Διευθύνσεις: :: 1 127.0.0.1
Επομένως, τα Windows προτιμούν να χρησιμοποιούν τη διεύθυνση IP του βρόχου IPv6
:: 1
(βλ. RFC 2373), όπως αναφέρεται πρώτα.Εντάξει, από πού προέρχεται, ας δούμε το αρχείο hosts.
πληκτρολογήστε% WINDIR% \ System32 \ Drivers \ Etc \ Hosts
... # η επίλυση ονομάτων τοπικών ονομάτων χειρίζεται εντός του ίδιου του DNS. # 127.0.0.1 localhost # :: 1 localhost ...
Χμμ, πρέπει να δούμε τις ρυθμίσεις DNS των Windows.
Αυτό το άρθρο KB μας λέει για μια ρύθμιση που επηρεάζει τα Windows που προτιμά, με έμφαση με έντονους χαρακτήρες:
- Στον Επεξεργαστή Μητρώου, εντοπίστε και στη συνέχεια κάντε κλικ στο ακόλουθο δευτερεύον κλειδί μητρώου:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Παράμετροι
- Κάντε διπλό κλικ στο στοιχείο Απενεργοποιημένα συστατικά για να τροποποιήσετε την καταχώρηση DisabledComponents.Σημείωση: Εάν η καταχώρηση DisabledComponents δεν είναι διαθέσιμη, πρέπει να την δημιουργήσετε. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
- Στο μενού Επεξεργασία (Edit), τοποθετήστε το δείκτη του ποντικιού στην εντολή Δημιουργία (New) και κατόπιν κάντε κλικ στην επιλογή Τιμή DWORD (32 bit).
- Πληκτρολογήστε DisabledComponents και, στη συνέχεια, πιέστε το πλήκτρο ENTER.
- Κάντε διπλό κλικ στην επιλογή Απενεργοποιημένα στοιχεία.
- Πληκτρολογήστε οποιαδήποτε από τις ακόλουθες τιμές στο πεδίο Δεδομένα τιμής: για να ρυθμίσετε το πρωτόκολλο IPv6 στην επιθυμητή κατάσταση και, στη συνέχεια, κάντε κλικ στο κουμπί OK:
- Τύπος
0
για να ενεργοποιήσετε όλα τα στοιχεία IPv6. (Προεπιλεγμένη ρύθμιση των Windows)- Τύπος
0xffffffff
για να απενεργοποιήσετε όλα τα στοιχεία IPv6, εκτός από τη διασύνδεση loopback IPv6. Αυτή η τιμή ρυθμίζει επίσης τα Windows να προτιμούν να χρησιμοποιούν το πρωτόκολλο Internet Protocol version 4 (IPv4) μέσω IPv6, τροποποιώντας τις καταχωρήσεις στον πίνακα πολιτικής προθέματος. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα Επιλογή πηγής προέλευσης και προορισμού.- Τύπος
0x20
να προτιμάτε το IPv4 μέσω IPv6 τροποποιώντας τις καταχωρήσεις στον πίνακα πολιτικής προθέματος.- Τύπος
0χ10
για να απενεργοποιήσετε το IPv6 σε όλες τις διεπαφές nontunnel (τόσο στις διασυνδέσεις LAN όσο και σε σημείο-προς-σημείο [PPP].- Τύπος
0x01
για να απενεργοποιήσετε το IPv6 σε όλες τις διεπαφές σήραγγας. Αυτά περιλαμβάνουν το Πρωτόκολλο Διεύθυνσης Αυτόματης Διεύθυνσης (ISATAP) Intra-Site, 6to4 και Teredo.- Τύπος
0x11
για να απενεργοποιήσετε όλες τις διεπαφές IPv6 εκτός από τη διασύνδεση loopback IPv6.- Κάντε επανεκκίνηση του υπολογιστή για να ενεργοποιηθεί αυτή η ρύθμιση.
Τι είναι αυτός ο πίνακας πολιτικής προθέματος?
η διεπαφή netsh ipv6 δείχνει τα προθέματα
(ήprefixpolicy
σε προηγούμενες εκδόσεις)Πρόθεμα Πρότυπο ετικέτας ---------- ----- -------------------------------- 50 0 :: 1/128 45 13 fc00 :: / 7 40 1 :: / 0 10 4 :: ffff: 0: 0/96 7 14 2002 :: / 16 5 5 2001 :: / 32 1 11 fec0 :: / 10 1 12 3ffe :: / 16 1 10 :: / 96
Αυτός ο πίνακας αποφασίζει ποια προθέματα έχουν προτεραιότητα έναντι άλλων προθεμάτων κατά τη διάρκεια των λύσεων DNS.
Ας, χρησιμοποιώντας αυτό το KB θα μπορούσαμε να προσθέσουμε καταχωρήσεις εδώ που υποδηλώνουν ότι το IPv4 έχει υψηλότερη προτεραιότητα από το IPv6.
Σημείωση: Δεν υπάρχει λόγος να παρακάμψετε αυτήν τη συμπεριφορά, εκτός εάν αντιμετωπίζετε προβλήματα συμβατά. Η αλλαγή αυτής της ρύθμισης στον Windows Server μας έσπασε τον διακομιστή αλληλογραφίας μας, οπότε θα πρέπει να αντιμετωπίζεται με προσοχή ...
Δεν υπάρχει τίποτα που μας αρέσει περισσότερο από μια εμπεριστατωμένη και ενημερωτική απάντηση με τα συνδεδεμένα έγγραφα υποστήριξης για χάρη. Σαφώς η τοπική διεύθυνση και η τοπική διεύθυνση IP είναι διακριτές οντότητες, εξυπηρετούν διαφορετικούς σκοπούς και τώρα όλοι γνωρίζουμε γιατί.
Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.