Sự khác biệt giữa Locahost và địa chỉ IP địa phương là gì?

Mục lục:

Sự khác biệt giữa Locahost và địa chỉ IP địa phương là gì?
Sự khác biệt giữa Locahost và địa chỉ IP địa phương là gì?

Video: Sự khác biệt giữa Locahost và địa chỉ IP địa phương là gì?

Video: Sự khác biệt giữa Locahost và địa chỉ IP địa phương là gì?
Video: Các mẹo hữu ích cho việc tối ưu hóa chiếc Kindle của bạn - YouTube 2024, Tháng tư
Anonim
 Nếu bạn đang thực hiện rất nhiều tinkering mạng, định cấu hình ứng dụng và công cụ máy chủ dựa trên LAN hoặc chỉ tò mò, bạn có thể nhận thấy rằng có sự khác biệt giữa localhost địa chỉ IP cục bộ. Đọc tiếp để tìm hiểu sự khác biệt.
Nếu bạn đang thực hiện rất nhiều tinkering mạng, định cấu hình ứng dụng và công cụ máy chủ dựa trên LAN hoặc chỉ tò mò, bạn có thể nhận thấy rằng có sự khác biệt giữa localhost địa chỉ IP cục bộ. Đọc tiếp để tìm hiểu sự khác biệt.

Phiên Hỏi & Đáp hôm nay đến với chúng tôi theo lịch sự của SuperUser - một phân khu của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều hành.

Câu hỏi

Người đọc Superuser Diogo muốn biết tại sao lệnh ping xử lý localhost và địa chỉ IP cục bộ khác nhau khi nào, trên bề mặt, chúng xuất hiện giống nhau:

Using cmd and ping on Windows gave me the following results:

Pinging “localhost”:

Pinging “192.168.0.10” (local IP address):
Pinging “192.168.0.10” (local IP address):
Aren’t both situations exactly the same?
Aren’t both situations exactly the same?

I mean, I’m pinging the same interface, the same machine and the same address. Why do I get such different results?

Rõ ràng là có một sự khác biệt của một số loại, nhưng chính xác những gì đang xảy ra khi bạn chuyển đổi giữa hai?

Câu trả lời

Người đóng góp SuperUser Tom Wijsman cung cấp cái nhìn sâu sắc sau đây về sự khác biệt tinh tế giữa hai:

You are not pinging the same interface, without any physical interfaces you still have a “local host”.

Your

localhost

được sử dụng để chỉ máy tính của bạn từ IP "nội bộ" của nó, không phải từ bất kỳ IP "bên ngoài" nào của máy tính của bạn. Vì vậy, các gói ping không truyền qua bất kỳ giao diện mạng vật lý nào; chỉ thông qua một giao diện vòng lặp ảo gửi trực tiếp các gói từ cổng đến cổng mà không cần bất kỳ bước nhảy vật lý nào.

Bạn vẫn có thể thắc mắc tại sao

localhost

đang giải quyết

::1

trong khi theo truyền thống, chúng tôi hy vọng nó sẽ giải quyết thành địa chỉ IPv4

127.0.0.1

. Lưu ý rằng

.localhost

theo truyền thống là một TLD (xem RFC 2606) trỏ trở lại địa chỉ IP vòng lặp (cho IPv4, xem RFC 3330, đặc biệt là 127.0.0.0/8).

Nhìn lên

localhost

sử dụng

nslookup

cho chúng ta:

nslookup localhost

… Name: localhost Addresses:::1 127.0.0.1

Do đó, Windows thích sử dụng địa chỉ IP vòng lặp IPv6

::1

(xem RFC 2373) vì nó được liệt kê đầu tiên.

Được rồi, vậy, nó đến từ đâu, hãy xem tập tin host.

type %WINDIR%System32DriversEtcHosts

… # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost #::1 localhost …

Hmm, chúng ta phải xem xét các thiết lập DNS của Windows.

Bài viết KB này cho chúng ta biết về một cài đặt ảnh hưởng đến những gì Windows thích, được in đậm:

  1. Trong Registry Editor, định vị rồi bấm vào khoá con đăng ký sau:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters

  2. Nhấn đúp vào DisabledComponents để sửa đổi mục DisabledComponents. Chú ý: Nếu mục DisabledComponents không có sẵn, bạn phải tạo nó. Để làm điều này, hãy làm theo các bước sau:

    1. Trong các Chỉnh sửa trình đơn, điểm đến Mới, sau đó bấm Giá trị DWORD (32-bit).
    2. Loại DisabledComponents, và sau đó nhấn ENTER.
    3. Nhấp đúp vào DisabledComponents.
  3. Nhập bất kỳ một trong các giá trị sau vào trường Dữ liệu giá trị: để định cấu hình giao thức IPv6 thành trạng thái mong muốn, sau đó bấm OK:

    • Kiểu

      0

      để kích hoạt tất cả các thành phần IPv6. (Cài đặt mặc định của Windows)

    • Kiểu

      0xffffffff

      để tắt tất cả các thành phần IPv6, ngoại trừ giao diện vòng lặp IPv6. Giá trị này cũng cấu hình Windows thích sử dụng Giao thức Internet phiên bản 4 (IPv4) qua IPv6 bằng cách sửa đổi các mục trong bảng chính sách tiền tố. Để biết thêm thông tin, hãy xem Lựa chọn địa chỉ nguồn và đích.

    • Kiểu

      0x20

      thích IPv4 hơn IPv6 bằng cách sửa đổi các mục trong bảng chính sách tiền tố.

    • Kiểu

      0x10

      để vô hiệu hóa IPv6 trên tất cả các giao diện nontunnel (trên cả giao diện LAN và giao thức điểm-điểm (PPP)).

    • Kiểu

      0x01

      để tắt IPv6 trên tất cả các giao diện đường hầm. Chúng bao gồm Giao thức định địa chỉ đường hầm tự động (ISATAP), 6to4 và Teredo.

    • Kiểu

      0x11

      để tắt tất cả các giao diện IPv6 ngoại trừ giao diện vòng lặp IPv6.

  4. Khởi động lại máy tính để cài đặt này có hiệu lực.

Bảng chính sách tiền tố này là gì?

netsh interface ipv6 show prefixpolicies

(hoặc là

prefixpolicy

trên các phiên bản cũ hơn)

Precedence Label Prefix ---------- ----- -------------------------------- 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

Bảng này quyết định tiền tố nào được ưu tiên hơn các tiền tố khác khi DNS giải quyết.

Ah, do đó, bằng cách sử dụng KB mà chúng ta có thể thêm các mục ở đây biểu thị rằng IPv4 có ưu tiên cao hơn so với IPv6.

Chú thích: Không có lý do gì để ghi đè hành vi này, trừ khi bạn đang gặp phải vấn đề tương tự. Thay đổi cài đặt này trên Máy chủ Windows của chúng tôi đã phá vỡ máy chủ thư của chúng tôi, vì vậy cần xử lý cẩn thận…

Không có gì chúng tôi thích hơn là một câu trả lời toàn diện và mang tính thông tin với các tài liệu hỗ trợ được liên kết để phụ tùng. Rõ ràng localhost và địa chỉ IP cục bộ là các thực thể riêng biệt, phục vụ các mục đích khác nhau, và bây giờ chúng ta đều biết tại sao.

Có cái gì để thêm vào lời giải thích? Â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 có hiểu biết công nghệ khác? Xem toàn bộ chuỗi thảo luận tại đây.

Đề xuất: