Sự khác biệt giữa 127.0.0.1 và 0.0.0.0 là gì?
Hầu hết chúng ta đã nghe nói về ‘127.0.0.1 và 0.0.0.0’ nhưng có lẽ không nghĩ nhiều đến chúng, nhưng nếu cả hai thực sự dường như chỉ đến cùng một vị trí, thì sự khác biệt thực sự giữa hai loại này là gì? Bài đăng Hỏi và Đáp của SuperUser hôm nay giúp làm sáng tỏ mọi thứ đối với một độc giả đang bối rối.
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 của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều hành.
Ảnh: Kate Gardiner (Flickr).
Câu hỏi
Người đọc SuperUser Sagnik Sarkar muốn biết sự khác biệt giữa 127.0.0.1 và 0.0.0.0 là gì:
Tôi hiểu rằng 127.0.0.1 điểm để localhost và 0.0.0.0 đó cũng hoạt động (hãy sửa cho tôi nếu tôi sai). Vì vậy, sự khác biệt giữa 127.0.0.1 và 0.0.0.0 là gì?
Sự khác biệt giữa 127.0.0.1 và 0.0.0.0 là gì?
Câu trả lời
Người đóng góp cho SuperUser DavidPostill có câu trả lời cho chúng tôi:
Sự khác biệt giữa 127.0.0.1 và 0.0.0.0 là gì?
- 127.0.0.1 là địa chỉ loopback (còn được gọi là localhost).
- 0.0.0.0 là một siêu địa chỉ không thể định tuyến được sử dụng để chỉ định một mục tiêu không hợp lệ, không xác định hoặc không thể áp dụng (một địa chỉ giữ chỗ "không có địa chỉ cụ thể").
Trong ngữ cảnh của một mục nhập tuyến đường, nó thường có nghĩa là tuyến đường mặc định.
Trong ngữ cảnh của máy chủ, 0.0.0.0 có nghĩa là tất cả địa chỉ IPv4 trên máy cục bộ. Nếu một máy chủ lưu trữ có hai địa chỉ IP, 192.168.1.1 và 10.1.2.1 và một máy chủ chạy trên máy chủ lưu trữ lắng nghe trên 0.0.0.0, nó sẽ có thể truy cập được ở cả hai IP đó.
Địa chỉ IP 127.0.0.1 là gì?
127.0.0.1 là địa chỉ giao thức Internet lặp lại (IP) còn được gọi là localhost. Địa chỉ được sử dụng để thiết lập kết nối IP với cùng một máy hoặc máy tính đang được người dùng cuối sử dụng.
Quy ước tương tự được định nghĩa cho các máy tính hỗ trợ định địa chỉ IPv6 bằng cách sử dụng hàm ý :: 1. Thiết lập kết nối bằng cách sử dụng địa chỉ 127.0.0.1 là cách phổ biến nhất; tuy nhiên, sử dụng bất kỳ địa chỉ IP nào trong phạm vi 127… * sẽ hoạt động theo cách tương tự hoặc theo cách tương tự. Cấu trúc loopback cung cấp cho máy tính hoặc thiết bị có khả năng nối mạng khả năng xác thực hoặc thiết lập ngăn xếp IP trên máy.
Nguồn: 127.0.0.1 - Công dụng của nó là gì và Tại sao nó lại quan trọng?
Địa chỉ đặc biệt
Số mạng lớp A 127 được gán cho lặp lại chức năng, 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ó sơ đồ gởi đến một địa chỉ mạng 127 sẽ luôn xuất hiện trên bất kỳ mạng nào ở bất kỳ đâu.
Nguồn: Số mạng
Nếu đó là Toàn bộ Loại A, thì Điểm các Giá trị Tùy ý Khác cho Ba Octet Cuối cùng là gì?
Mục đích của phạm vi vòng lặp là kiểm tra việc triển khai giao thức TCP / IP trên máy chủ. Vì các lớp thấp hơn bị đoản mạch, việc gửi đến một địa chỉ loopback cho phép các lớp cao hơn (IP trở lên) được kiểm tra hiệu quả mà không có khả năng xảy ra sự cố ở các lớp thấp hơn. 127.0.0.1 là địa chỉ thường được sử dụng cho mục đích thử nghiệm.
Nguồn: Địa chỉ IP dành riêng, Vòng lặp lại và Địa chỉ Riêng
Để biết thêm thông tin, hãy xem Hỏi Ubuntu câu hỏi: Thiết bị Loopback là gì và Tôi sử dụng nó như thế nào?
Địa chỉ IP 0.0.0.0 là gì?
0.0.0.0 là một cú pháp địa chỉ hợp lệ. Vì vậy, nó sẽ phân tích cú pháp là hợp lệ ở bất cứ nơi nào mong đợi một địa chỉ IP trong ký hiệu dấu chấm-thập phân truyền thống. Sau khi được phân tích cú pháp và chuyển đổi sang dạng số khả thi, khi đó giá trị của nó sẽ xác định điều gì xảy ra tiếp theo.
Giá trị bằng không có một ý nghĩa đặc biệt. Nên nó là có hiệu lực, nhưng có nghĩa có thể không phù hợp (và do đó được coi là không hợp lệ) cho các trường hợp cụ thể. Về cơ bản, nó là trình giữ chỗ 'không có địa chỉ cụ thể'. Đối với những thứ như ràng buộc địa chỉ của các kết nối mạng, kết quả có thể là gán một địa chỉ giao diện thích hợp cho kết nối. Nếu bạn đang sử dụng nó để định cấu hình giao diện, thay vào đó, nó có thể xóa một địa chỉ khỏi giao diện. Nó phụ thuộc vào ngữ cảnh sử dụng để xác định những gì ‘không có địa chỉ cụ thể’ thực sự làm.
Trong ngữ cảnh của một mục nhập tuyến đường, nó thường có nghĩa là tuyến đường mặc định. Điều đó xảy ra do có nhiều mặt nạ địa chỉ hơn, nó chọn các bit để so sánh. Mặt nạ 0.0.0.0 chọn không có bit nào, vì vậy so sánh sẽ luôn thành công. Vì vậy, khi một tuyến đường như vậy được cấu hình, luôn có một nơi nào đó cho các gói tin đi (nếu được cấu hình với một đích hợp lệ).
Trong một số trường hợp, chỉ đơn thuần là ‘0’ cũng sẽ hoạt động và có tác dụng tương tự. Nhưng điều này không được đảm bảo. Biểu mẫu 0.0.0.0 là cách tiêu chuẩn để nói "không có địa chỉ cụ thể" (trong IPv6, nghĩa là ::0 hoặc chỉ ::).
Nguồn: Ý nghĩa của Địa chỉ IP 0.0.0.0 là gì?
Trong Giao thức Internet phiên bản 4, địa chỉ 0.0.0.0 là một siêu địa chỉ không thể định tuyến được sử dụng để chỉ định một mục tiêu không hợp lệ, không xác định hoặc không áp dụng được. Để cung cấp một ý nghĩa đặc biệt cho một phần dữ liệu không hợp lệ khác là một ứng dụng của báo hiệu trong băng.
Trong ngữ cảnh của máy chủ, 0.0.0.0 có nghĩa là tất cả địa chỉ IPv4 trên máy cục bộ. Nếu máy chủ lưu trữ có hai địa chỉ IP, 192.168.1.1 và 10.1.2.1 và máy chủ chạy trên máy chủ lưu trữ lắng nghe trên 0.0.0.0, nó sẽ có thể truy cập được ở cả hai IP đó (Ghi chú:Văn bản cụ thể này được lặp lại từ phía trên như một phần của câu trả lời tổng thể).
Trong bối cảnh định tuyến, 0.0.0.0 thường có nghĩa là tuyến đường mặc định, tức là tuyến đường dẫn đến 'phần còn lại của Internet thay vì một nơi nào đó trên mạng cục bộ.
Sử dụng Bao gồm:
- Địa chỉ mà máy chủ lưu trữ tuyên bố là của chính nó khi nó chưa được chỉ định địa chỉ. Chẳng hạn như khi gửi gói DHCPDISCOVER ban đầu khi sử dụng DHCP.
- Địa chỉ mà máy chủ chỉ định cho chính nó khi yêu cầu địa chỉ qua DHCP không thành công, miễn là ngăn xếp IP của máy chủ hỗ trợ điều này. Cách sử dụng này đã được thay thế bằng cơ chế APIPA trong các hệ điều hành hiện đại.
- Một cách để chỉ định bất kỳ máy chủ IPv4 nào. Nó được sử dụng theo cách này khi chỉ định một tuyến đường mặc định.
- Một cách để xác định rõ ràng rằng mục tiêu không khả dụng. Nguồn: 127.0.0.1 - Công dụng của nó là gì và Tại sao nó lại quan trọng?
- Một cách để chỉ định bất kỳ địa chỉ IPv4 nào ở tất cả. Nó được sử dụng theo cách này khi định cấu hình máy chủ (tức là khi ràng buộc các ổ cắm lắng nghe). Điều này được các lập trình viên TCP gọi là INADDR_ANY. [bind (2) liên kết với địa chỉ, không phải giao diện.]
Trong IPv6, địa chỉ tất cả các số không được viết là ::
Nguồn: 0.0.0.0 [Wikipedia]
Phát hiện / Yêu cầu DHCP
Khi khách hàng khởi động lần đầu tiên, nó được cho là trạng thái khởi tạovà truyền thông báo DHCPDISCOVER trên mạng con vật lý cục bộ của nó qua cổng Giao thức dữ liệu người dùng (UDP) 67 (máy chủ BootP). Vì máy khách không có cách nào biết được mạng con mà nó thuộc về, DHCPDISCOVER là một chương trình phát sóng tất cả các mạng con (địa chỉ IP đích là 255.255.255.255), với địa chỉ IP nguồn là 0.0.0.0. Địa chỉ IP nguồn là 0.0.0.0 vì máy khách không có địa chỉ IP được cấu hình.
Nếu máy chủ DHCP tồn tại trên mạng con cục bộ này và được cấu hình cũng như hoạt động chính xác, máy chủ DHCP sẽ nghe thấy chương trình phát sóng và phản hồi bằng thông báo DHCPOFFER. Nếu máy chủ DHCP không tồn tại trên mạng con cục bộ, phải có một Tác nhân chuyển tiếp DHCP / BootP trên mạng con cục bộ này để chuyển tiếp thông báo DHCPDISCOVER tới mạng con chứa máy chủ DHCP.
Tác nhân chuyển tiếp này có thể là một máy chủ chuyên dụng (ví dụ: Microsoft Windows Server) hoặc một bộ định tuyến (một bộ định tuyến Cisco được định cấu hình với các câu lệnh của trình trợ giúp IP cấp giao diện, chẳng hạn).
…
Sau khi máy khách nhận được DHCPOFFER, nó sẽ phản hồi bằng một thông báo DHCPREQUEST, cho biết ý định chấp nhận các tham số trong DHCPOFFER và chuyển vào yêu cầu trạng thái. Máy khách có thể nhận được nhiều thông báo DHCPOFFER, một từ mỗi máy chủ DHCP đã nhận được thông báo DHCPDISCOVER ban đầu. Máy khách chọn một DHCPOFFER và chỉ phản hồi với máy chủ DHCP đó, từ chối hoàn toàn tất cả các thông báo DHCPOFFER khác. Máy khách xác định máy chủ đã chọn bằng cách điền vào Mã định danh máy chủ trường tùy chọn với địa chỉ IP của máy chủ DHCP.
DHCPREQUEST cũng là một chương trình phát sóng, vì vậy tất cả các máy chủ DHCP đã gửi một DHCPOFFER sẽ thấy DHCPREQUEST và mỗi máy chủ sẽ biết liệu DHCPOFFER của nó được chấp nhận hay bị từ chối. Bất kỳ tùy chọn cấu hình bổ sung nào mà khách hàng yêu cầu sẽ được đưa vào trường tùy chọn của thông báo DHCPREQUEST. Mặc dù máy khách đã được cung cấp địa chỉ IP, nó sẽ gửi thông báo DHCPREQUEST với địa chỉ IP nguồn là 0.0.0.0. Tại thời điểm này, khách hàng vẫn chưa nhận được xác minh rằng việc sử dụng địa chỉ IP là rõ ràng.
…
Cuộc hội thoại giữa máy khách-máy chủ để một máy khách lấy được địa chỉ DHCP nơi máy khách và máy chủ DHCP nằm trên cùng một mạng con:
Nguồn: Hiểu và khắc phục sự cố DHCP trong Catalyst Switch hoặc Mạng doanh nghiệp
Tuyến đường mặc định
Tài liệu này giải thích cách định cấu hình tuyến đường hoặc cổng mặc định của phương sách cuối cùng. Các lệnh IP này được sử dụng:
- ip default-gateway
- ip mạng mặc định
- tuyến đường ip 0.0.0.0 0.0.0.0
Tuyến IP 0.0.0.0 0.0.0.0
Tạo một đường dẫn tĩnh đến mạng 0.0.0.0 0.0.0.0 là một cách khác để thiết lập cổng kết nối cuối cùng trên bộ định tuyến. Như với ip mạng mặc định , sử dụng đường dẫn tĩnh đến 0.0.0.0 không phụ thuộc vào bất kỳ giao thức định tuyến nào. Tuy nhiên, định tuyến IP phải được bật trên bộ định tuyến.
Ghi chú: IGRP không hiểu đường đến 0.0.0.0. Do đó, nó không thể truyền các tuyến mặc định được tạo bằng cách sử dụng tuyến đường ip 0.0.0.0 0.0.0.0 chỉ huy. Sử dụng ip mạng mặc định lệnh để IGRP tuyên truyền một tuyến đường mặc định.
Nguồn: Định cấu hình Cổng vào Khu nghỉ dưỡng Cuối cùng Sử dụng Lệnh IP
Có điều gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiế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 toàn bộ chủ đề thảo luận ở đây.