Apakah Perbezaan Antara Alamat IP Locahost dan Tempatan?
Jika anda melakukan banyak tinkering rangkaian, mengkonfigurasi aplikasi berasaskan LAN dan alat pelayan, atau hanya ingin tahu, anda mungkin menyedari bahawa terdapat perbezaan di antara alamat IP tempatan setempat. Baca terus untuk mengetahui perbezaannya.
Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.
Soalan
Pembaca SuperUser Diogo ingin tahu mengapa arahan ping merawat localhost dan alamat IP tempatan berbeza apabila, di permukaan, mereka kelihatan sama:
Menggunakan cmd dan ping pada Windows memberi saya hasil berikut:
Pinging "localhost":
Pinging "192.168.0.10" (alamat IP tempatan):
Tidak kedua-dua situasi sama persis?
Maksud saya, saya ping muka yang sama, mesin yang sama dan alamat yang sama. Mengapa saya mendapat keputusan yang berbeza??
Jelas sekali terdapat perbezaan sejenis, tetapi apa yang sebenarnya berlaku apabila anda beralih antara kedua-dua?
Jawapan
Penyumbang SuperUser Tom Wijsman menawarkan wawasan berikut mengenai perbezaan halus antara keduanya:
Anda bukan ping antara muka yang sama, tanpa sebarang interface fizikal anda masih mempunyai "tuan rumah setempat".
Anda
localhost
digunakan untuk merujuk kepada komputer anda dari IP "dalaman "nya, bukan dari mana-mana IP" luar "komputer anda. Oleh itu, paket ping tidak melepasi antara muka rangkaian fizikal; hanya melalui antara muka belakang maya yang secara langsung menghantar paket dari pelabuhan ke pelabuhan tanpa sebarang hop fizikal.Anda mungkin masih tertanya-tanya mengapa
localhost
sedang menyelesaikan:: 1
, sementara secara tradisinya kita mengharapkan ia dapat diselesaikan dengan alamat IPv4127.0.0.1
. Perhatikan bahawa.localhost
secara tradisinya adalah TLD (lihat RFC 2606) yang menunjuk ke belakang kembali alamat IP (untuk IPv4, lihat RFC 3330, terutama 127.0.0.0/8).Memandang keatas
localhost
menggunakannslookup
memberi kami:
nhosting nslookup
... Nama: localhost Alamat: :: 1 127.0.0.1
Oleh itu Windows lebih suka menggunakan alamat IP balik gelung IPv6
:: 1
(lihat RFC 2373) kerana ia disenaraikan dahulu.Okay, jadi, dari mana ia datang, mari lihat fail tuan rumah.
type% WINDIR% \ System32 \ Drivers \ Etc \ Hosts
... # Resolusi nama localhost ditangani dalam DNS sendiri. # 127.0.0.1 localhost # :: 1 localhost ...
Hmm, kita perlu melihat tetapan DNS Windows.
Artikel KB ini memberitahu kami tentang tetapan yang memberi kesan kepada apa yang Windows lebih suka, ditekankan dalam huruf tebal:
- Dalam Registry Editor, cari dan kemudian klik subkunci registri berikut:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters
- Klik dua kali DisabledComponents untuk mengubah suai entri DisabledComponents.Note: Jika entri DisabledComponents tidak tersedia, anda mesti menciptanya. Untuk melakukan ini, ikuti langkah berikut:
- Dalam menu Edit, arahkan ke Baru, kemudian klik Nilai DWORD (32-bit).
- Taip DisabledComponents, kemudian tekan ENTER.
- Klik dua kali DisabledComponents.
- Taip salah satu daripada nilai berikut dalam medan Data: medan untuk mengkonfigurasi protokol IPv6 ke keadaan yang dikehendaki, dan kemudian klik OK:
- Taipkan
0
untuk membolehkan semua komponen IPv6. (Tetapan lalai Windows)- Taipkan
0xffffffff
untuk menyahdayakan semua komponen IPv6, kecuali antara muka gelung IPv6. Nilai ini juga mengkonfigurasi Windows untuk memilih menggunakan Protokol Internet versi 4 (IPv4) melalui IPv6 dengan mengubah suai entri dalam jadual dasar awalan. Untuk maklumat lanjut, lihat Pemilihan Alamat Sumber dan Destinasi.- Taipkan
0x20
untuk lebih memilih IPv4 melalui IPv6 dengan mengubah suai entri dalam jadual dasar awalan.- Taipkan
0x10
untuk melumpuhkan IPv6 pada semua antara muka nontunnel (pada kedua-dua LAN dan antara muka Protokol Point-to-Point [PPP]).- Taipkan
0x01
untuk melumpuhkan IPv6 pada semua antara muka terowong. Ini termasuk Protokol Menangani Terowong Automatik (ISATAP), 6to4, dan Teredo.- Taipkan
0x11
untuk melumpuhkan semua antara muka IPv6 kecuali untuk antara muka gelung IPv6.- Mulakan semula komputer untuk tetapan ini berkuatkuasa.
Apakah jadual dasar awalan ini??
antaramuka netsh ipv6 menunjukkan prefixpolicies
(atauprefixpolicy
pada versi terdahulu)Prefix Prefix Precedence ---------- ----- -------------------------------- 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
Jadual ini menentukan awalan apa yang lebih penting daripada awalan lain semasa DNS menyelesaikan.
Ah, jadi dengan menggunakan KB ini kita boleh menambah penyertaan di sini yang menunjukkan bahawa IPv4 mempunyai keutamaan yang lebih tinggi daripada IPv6.
Catatan: Tidak ada sebab untuk menindas tingkah laku ini, melainkan jika anda mengalami masalah yang kompatibel. Menukar tetapan ini pada Windows Server kami memecahkan pelayan mel kami, jadi ia harus ditangani dengan jaga ...
Tidak ada apa-apa yang kita sukai daripada jawapan yang teliti dan bermaklumat dengan dokumen sokongan yang dikaitkan dengan cadangan. Jelas alamat IP localhost dan tempatan adalah entiti yang berbeza, melayani tujuan yang berbeza, dan sekarang kita semua kenapa.
Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.