Siapa yang memilih 127.0.0.1 sebagai localhost dan mengapa? Apa artinya itu?

21

Saya hampir positif semua orang di sini tahu arti 127.0.0.1. Tapi, mengapa itu SELALU localhost? Siapa yang memilih IP sewenang-wenang itu? Mengapa IP itu dipilih? Mengapa bukan sesuatu yang lebih sederhana seperti 1.0.0.0? Apakah ada arti khusus untuk 127.0.0.1?

James Graham
sumber
3
Carilah dan kamu akan menemukan RFC
SpacemanSpiff
@SpacemanSpiff RFC?
James Graham
4
RFC ( Request for Comments ) adalah blok bangunan dasar Internet. Lihat jawaban saya di bawah ini untuk informasi lebih lanjut.
Michael Hampton

Jawaban:

41

Jon Postel memilih 127.

Sebelum Internet Assigned Numbers Authority mengambil alih ( RFC 3232 ) sekitar waktu kematiannya ( RFC 2468 ), ia adalah "raja" alamat Internet dan penugasan pelabuhan, yang pada dasarnya mencalonkan diri untuk tugas itu. ( RFC 349 )

Kembali pada awal 1980-an, ketika IPv4 seperti yang kita tahu pertama kali di-hash, jaringan yang ada diberi blok alamat "kelas A" di ruang alamat 32-bit yang akan mulai berlaku pada tahun 1983 ( RFC 801 ). Baik penugasan awal dan penugasan yang Anda tanyakan, serta definisi pertama dari "kelas A", "kelas B" dan "kelas C" alamat IP, pertama kali diterbitkan dalam Postel's RFC 790 . (Perhatikan bahwa "kelas" digantikan oleh CIDR di RFC 1519 , sekarang RFC 4632. )

Dalam RFC 790, Postel mendefinisikan 127 sebagai "milik".

      127.rrr.rrr.rrr                 Reserved                     [JBP]

Definisi formal pertamanya muncul di RFC 990 , di mana ia didefinisikan sebagai berikut:

Kelas A nomor jaringan 127 ditugaskan fungsi "loopback", yaitu, datagram yang dikirim oleh protokol tingkat yang lebih tinggi ke alamat jaringan 127 harus loop kembali ke dalam host. Tidak ada datagram "dikirim" ke alamat jaringan 127 yang akan pernah muncul di jaringan mana saja di mana saja.

Dan lagi di RFC 1060 :

(g) {127, <any>}

Alamat loopback host internal. Seharusnya tidak pernah muncul di luar host.

Dengan demikian, alamat apa pun dalam 127.0.0.0/8 akan dianggap sebagai loopback dan dialihkan kembali ke host lokal.

Daftar saat ini dari alamat IPv4 penggunaan khusus adalah RFC 6890 , yang usang RFC 5735 , yang pada gilirannya RFC 3330 usang . RFC 5735 menyatakan:

127.0.0.0/8 - Blok ini ditugaskan untuk digunakan sebagai alamat loopback host Internet. Datagram yang dikirim oleh protokol tingkat tinggi ke alamat di mana saja di dalam blok ini akan kembali ke dalam host. Ini biasanya diimplementasikan hanya menggunakan 127.0.0.1/32 untuk loopback. Seperti dijelaskan dalam [RFC1122], Bagian 3.2.1.3 , alamat dalam seluruh blok 127.0.0.0/8 tidak muncul secara sah di jaringan mana pun.

Akhirnya, dalam subnet IPv4 apa pun , alamat terendah tidak dapat digunakan karena mewakili rute jaringan. Jadi alamat yang dapat digunakan pertama di subnet, dan karena itu yang paling umum dilihat, adalah 127.0.0.1.

Michael Hampton
sumber
28

Dari RFC :

127.0.0.0/8 - Blok ini ditugaskan untuk digunakan sebagai alamat loopback host Internet. Datagram yang dikirim oleh protokol tingkat yang lebih tinggi ke alamat di mana saja di dalam blok ini harus diulang kembali di dalam host. Ini biasanya diimplementasikan hanya menggunakan 127.0.0.1/32 untuk loopback, tetapi tidak ada alamat dalam blok ini yang akan pernah muncul di jaringan mana pun di mana pun [RFC1700, halaman 5].

Dari wikipedia :

Seperti semua alamat IP, mendefinisikan nama host yang identik hanya membuat hidup lebih mudah bagi pengguna manusia - dan localhost adalah pelopor jaringan alias yang digunakan.

Perhatikan juga bahwa 127 dalam biner adalah 01111111 , nilai terbalik dan terbalik 1 ( 00000001 )

oɔɯǝɹ
sumber
4
Terima kasih! Saya akan memilih. Tapi, sayangnya, reputasi saya adalah anak.
James Graham
7
Eh, 10000000 (128)adalah notdari 01111111 (127). "Seberang" bukanlah operasi yang sedikit bijaksana dan tidak masuk akal dalam konteks seperti itu.
Chris S
Saya menduga nilai bitwise dari alamat bersifat sementara dan tidak memiliki arti otoritatif dalam pilihan 127 menjadi blok jaringan loopback.
Matthew Ife
6
@Meruskan nilai bitwise dari 127 tidak langsung: itu adalah alamat "terakhir" kelas A, yang semuanya memiliki bit terkemuka 0
KutuluMike