Tại sao Localhost lại là IP 127.0.0.1?
Cả thế giới đều biết đến máy chủ lưu trữ cục bộ của họ là 127.0.0.1, nhưng tại sao địa chỉ cụ thể đó, trong số tất cả các địa chỉ có sẵn, lại được dành cho máy chủ lưu trữ cục bộ? Đọc tiếp để tìm hiểu sâu hơn về lịch sử của các máy chủ địa phương.
Hình ảnh của GMPhoenix; có sẵn như hình nền ở đây.
Phiên Hỏi & Đáp hôm nay đến với chúng tôi với sự hỗ trợ của SuperUser — một phân nhánh của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng thúc đẩy.
Câu hỏi
Người đọc SuperUser Roee Adler, tò mò về IP localhost mặc định, đã đặt câu hỏi sau cho cộng đồng:
Tôi tự hỏi nguồn gốc của quyết định đưa ra là gìlocalhost
Địa chỉ IP của127.0.0.1
. "Ý nghĩa" của127
? "ý nghĩa" của0.0.1
?
Thật vậy, ý nghĩa là gì? Mặc dù có thể sống sót toàn bộ sự tồn tại của bạn khi không biết câu trả lời cho những câu hỏi đó, nhưng chúng tôi đã sẵn sàng tìm hiểu.
Những câu trả lời
Một số cộng tác viên đã tham gia để trả lời câu hỏi của Roee, mỗi người trong số những đóng góp của họ giúp làm sáng tỏ hơn cách 127.0.0.1 là nơi mà tất cả chúng ta gọi là nhà. John T viết:
127 là số mạng cuối cùng trong mạng lớp A có mặt nạ mạng con là255.0.0.0
. 127.0.0.1
là địa chỉ có thể gán đầu tiên trong mạng con.127.0.0.0
không thể được sử dụng vì đó sẽ là số dây. Nhưng sử dụng bất kỳ số nào khác cho phần máy chủ lưu trữ sẽ hoạt động tốt và trở lại sử dụng127.0.0.1
. Bạn có thể tự mình thử bằng cách ping127.1.1.1
nếu bạn muốn. Tại sao họ lại đợi đến số mạng cuối cùng để thực hiện điều này? Tôi không nghĩ nó được ghi lại.
Hyperslug thực hiện một số thao tác lưu trữ bằng cách đào qua các bản ghi nhớ cũ về chủ đề:
Đề cập nhiều nhất mà tôi có thể tìm thấy về nhiệm vụ của 127 vì vòng lặp là tháng 11 năm 1986 RFC 990 do Reynolds và Postel tác giả:
Địa chỉ số 0 được hiểu có nghĩa là “cái này”, như trong “mạng này”.
Ví dụ, địa chỉ 0.0.0.37 có thể được hiểu là máy chủ lưu trữ 37 trên mạng này.
…
Số mạng 127 lớp A được gán chức năng “loopback”, nghĩa là, một gói dữ liệu được gửi bởi một giao thức cấp cao hơn đến một địa chỉ mạng 127 sẽ lặp lại bên trong máy chủ. Không có datagram nào được “gửi” đến một địa chỉ mạng 127 sẽ xuất hiện trên bất kỳ mạng nào ở bất kỳ đâu.
Ngay từ đầu tháng 9 năm 1981 RFC 790, 0 và 127 đã được đặt trước:
000.rrr.rrr.rrr Được bảo lưu [JBP] ... 127.rrr.rrr.rrr Được bảo lưu [JBP]
0 và 127 là mạng Lớp A được bảo lưu duy nhất vào năm 1981. 0 được sử dụng để trỏ đến một máy chủ cụ thể, vì vậy còn lại 127 cho vòng lặp.
Tôi biết điều này không trả lời được câu hỏi, nhưng điều này đã trở lại xa nhất mà tôi có thể tìm hiểu. Có thể hợp lý hơn khi chọn 1.0.0.0 cho vòng lặp nhưng điều đó đã được cấp cho Mạng vô tuyến gói BBN.
Mặc dù tất cả chúng ta đều biết và yêu thích 127.0.0.1 là localhost, nhưng cần lưu ý rằng nó sẽ không phải là localhost mãi mãi. 127.0.0.1 là cách localhost được chỉ định trong giao tiếp IPv4 và khi IPv6 tiếp quản chậm, nó sẽ được chỉ định bằng một số trực quan hơn nhiều: 0: 0: 0: 0: 0: 0: 0: 1.
Có điều gì đó để thêm vào lời giải thích? Tắt âm thanh trong các bình luận. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra các chủ đề thảo luận đầy đủ ở đây.