Mengapa IP Localhost 127.0.0.1?
Geeks di seluruh dunia mengetahui hos tempatan mereka sebagai 127.0.0.1, tetapi mengapa alamat tersebut, dari semua alamat yang tersedia, disediakan untuk hos tempatan? Teruskan membaca untuk menyelidiki sejarah tuan rumah tempatan.
Imej oleh GMPhoenix; boleh didapati sebagai kertas dinding di sini.
Sesi Soalan & Jawapan hari ini datang kepada kami dengan hormat SuperUser-satu bahagian pembahagian Stack Exchange, kumpulan pemanduan komuniti laman web Q & A.
Soalan
Pembaca SuperUser Roee Adler, yang ingin tahu mengenai IP tempatan lalai lalai, menimbulkan persoalan berikut kepada komuniti:
Saya tertanya-tanya apa asalnya keputusan untuk dibuat
localhost
alamat IP127.0.0.1
. Apakah maksud127
? Apakah maksud0.0.1
?
Apa maksudnya? Walaupun mungkin untuk meneruskan kewujudan geeky anda tanpa mengetahui jawapan kepada soalan tersebut, kami bersedia untuk menggali.
Jawapannya
Beberapa penyumbang menunaikan jawapan untuk menjawab soalan Roee, setiap satu daripada sumbangan mereka membantu memberikan lebih banyak cahaya tentang bagaimana 127.0.0.1 adalah tempat yang kita semua panggil. John T menulis:
127 adalah nombor rangkaian terakhir dalam rangkaian kelas A dengan subnet mask
255.0.0.0
.127.0.0.1
adalah alamat yang pertama ditugaskan dalam subnet.127.0.0.0
tidak boleh digunakan kerana itu akan menjadi nombor kawat. Tetapi menggunakan mana-mana nombor lain untuk bahagian tuan rumah harus berfungsi dengan baik dan kembali digunakan127.0.0.1
. Anda boleh cuba sendiri dengan ping127.1.1.1
jika anda mahu. Kenapa mereka menunggu sehingga nombor rangkaian terakhir melaksanakannya? Saya tidak fikir ia didokumenkan.
Hyperslug membungkus beberapa arkib dengan menggali memorandum lama pada subjek:
Sebutan paling awal yang saya dapati mengenai tugasan 127 sebagai loopback ialah November 1986 RFC 990 yang ditulis oleh Reynolds dan Postel:
Alamat sifar hendaklah ditafsirkan sebagai bermaksud "ini", seperti dalam "rangkaian ini".
Sebagai contoh, alamat 0.0.0.37 boleh ditafsirkan sebagai hos yang bermaksud 37 pada rangkaian ini.
...
Nombor rangkaian kelas A 127 diberikan fungsi "loopback", iaitu, datagram yang dihantar oleh protokol tahap yang lebih tinggi ke alamat 127 rangkaian harus dilampirkan semula di dalam tuan rumah. Tiada datagram "dihantar" ke alamat 127 rangkaian harus pernah muncul di mana-mana rangkaian di mana-mana sahaja.
Malah seawal bulan September 1981 RFC 790, 0 dan 127 telahpun dirizabkan:
000.rrr.rrr.rrr Reserved [JBP] ... 127.rrr.rrr.rrr Reserved [JBP]0 dan 127 adalah satu-satunya rangkaian Kelas A yang dikhaskan oleh 1981. 0 digunakan untuk menunjuk kepada tuan rumah tertentu, sehingga ditinggalkan 127 untuk loopback.
Saya tahu ini tidak menjawab soalan, tetapi ini sejauh yang saya dapat digali. Ia mungkin lebih masuk akal untuk memilih 1.0.0.0 untuk loopback tetapi telah diberikan kepada BBN Radio Paket Packet.
Walaupun kita semua tahu dan suka 127.0.0.1 sebagai localhost, perlu diperhatikan bahawa ia tidak akan menjadi localhost selama-lamanya. 127.0.0.1 adalah bagaimana localhost ditetapkan dalam komunikasi IPv4 dan, sebagai IPv6 perlahan mengambil alih, ia akan ditetapkan oleh nombor yang lebih intuitif: 0: 0: 0: 0: 0: 0: 0: 1.
Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Semak benang perbincangan penuh di sini.