DNS Caching và cách nó làm cho Internet của bạn tốt hơn

Bộ nhớ cache DNS (đôi khi được gọi là bộ đệm DNS resolver ) là một cơ sở dữ liệu tạm thời, được duy trì bởi hệ điều hành của máy tính, chứa các bản ghi của tất cả các lần truy cập gần đây và cố gắng truy cập vào các trang web và các tên miền internet khác.

Nói cách khác, bộ đệm DNS chỉ là bộ nhớ của các tra cứu DNS gần đây mà máy tính của bạn có thể nhanh chóng tham khảo khi nó cố gắng tìm ra cách tải trang web.

Hầu hết mọi người chỉ nghe cụm từ "bộ nhớ cache DNS" khi nó đề cập đến xóa / xóa bộ nhớ cache DNS để giúp khắc phục sự cố kết nối internet. Có nhiều điều hơn ở dưới cùng của trang này.

Mục đích của bộ nhớ cache DNS

Internet dựa vào Hệ thống tên miền (DNS) để duy trì chỉ mục của tất cả các trang web công cộng và địa chỉ IP tương ứng của chúng. Bạn có thể nghĩ về nó như một cuốn sách điện thoại.

Với một danh bạ điện thoại, chúng tôi không phải ghi nhớ số điện thoại của mọi người, đó là cách duy nhất mà điện thoại có thể giao tiếp: với một số điện thoại. Trong cùng một cách, DNS được sử dụng để chúng ta có thể tránh phải ghi nhớ địa chỉ IP của mỗi trang web, đó là cách duy nhất mà thiết bị mạng có thể giao tiếp với các trang web.

Đây là những gì xảy ra phía sau bức màn khi bạn yêu cầu trình duyệt web của bạn tải một trang web ...

Bạn nhập vào một URL như và trình duyệt web của bạn yêu cầu bộ định tuyến của bạn cho địa chỉ IP. Bộ định tuyến có một địa chỉ máy chủ DNS được lưu trữ, vì vậy nó yêu cầu máy chủ DNS cho địa chỉ IP của tên máy chủ đó. Máy chủ DNS tìm địa chỉ IP thuộc về và sau đó có thể hiểu trang web bạn đang yêu cầu, sau đó trình duyệt của bạn có thể tải trang thích hợp.

Điều này xảy ra với mọi trang web bạn muốn truy cập. Mỗi khi người dùng truy cập trang web theo tên máy chủ, trình duyệt web sẽ khởi tạo yêu cầu ra Internet, nhưng yêu cầu này không thể hoàn thành cho đến khi tên của trang web được "chuyển đổi" thành địa chỉ IP.

Vấn đề là mặc dù có rất nhiều máy chủ DNS công cộng mà mạng của bạn có thể sử dụng để cố gắng đẩy nhanh quá trình chuyển đổi / giải quyết, vẫn còn nhanh hơn để có bản sao cục bộ của "danh bạ điện thoại", nơi lưu trữ DNS vào chơi.

Bộ nhớ cache DNS cố gắng tăng tốc quá trình này nhiều hơn bằng cách xử lý độ phân giải tên của các địa chỉ được truy cập gần đây trước khi yêu cầu được gửi ra internet.

Lưu ý: Có thực sự DNS cache ở mỗi phân cấp của quá trình "tra cứu" mà cuối cùng được máy tính của bạn tải trang web. Máy tính tiếp cận với bộ định tuyến của bạn, liên hệ với ISP của bạn, có thể nhấn ISP khác trước khi kết thúc ở những gì được gọi là "máy chủ DNS gốc". Mỗi điểm trong quá trình này đều có bộ đệm DNS cho cùng một lý do, đó là tăng tốc độ xử lý tên.

Cách hoạt động của DNS Cache

Trước khi trình duyệt đưa ra các yêu cầu của nó tới mạng bên ngoài, máy tính chặn từng mạng và tra cứu tên miền trong cơ sở dữ liệu bộ nhớ cache DNS. Cơ sở dữ liệu chứa danh sách tất cả các tên miền được truy cập gần đây và các địa chỉ mà DNS đã tính toán cho chúng lần đầu tiên một yêu cầu được thực hiện.

Nội dung của bộ nhớ đệm DNS cục bộ có thể được xem trên Windows bằng lệnh ipconfig / displaydns, với kết quả tương tự như sau:

docs.google.com
-------------------------------------
Tên bản ghi. . . . . : docs.google.com
Loại bản ghi. . . . . : 1
Thời gian để sống . . . . : 21
Độ dài dữ liệu. . . . . : 4
Phần . . . . . . . : Câu trả lời
Bản ghi A (Máy chủ). . . : 172.217.6.174

Trong DNS, bản ghi "A" là phần của mục nhập DNS chứa địa chỉ IP cho tên máy chủ đã cho. Bộ nhớ cache DNS lưu trữ địa chỉ này, tên trang web được yêu cầu và một số tham số khác từ mục DNS lưu trữ.

DNS Cache ngộ độc là gì?

Bộ nhớ cache DNS bị nhiễm độc hoặc bị ô nhiễm khi các tên miền hoặc địa chỉ IP trái phép được chèn vào nó.

Đôi khi một bộ nhớ cache có thể bị hỏng do trục trặc kỹ thuật hoặc tai nạn hành chính, nhưng ngộ độc DNS cache thường liên quan đến vi-rút máy tính hoặc các cuộc tấn công mạng khác chèn các mục DNS không hợp lệ vào bộ nhớ cache.

Ngộ độc làm cho các yêu cầu của khách hàng được chuyển hướng đến các đích đến sai, thường là các trang web độc hại hoặc các trang đầy quảng cáo.

Ví dụ: nếu bản ghi docs.google.com từ trên có bản ghi "A" khác thì khi bạn nhập docs.google.com vào trình duyệt web, bạn sẽ được đưa đến một nơi khác.

Điều này đặt ra một vấn đề lớn cho các trang web phổ biến. Nếu một kẻ tấn công chuyển hướng yêu cầu của bạn cho Gmail.com , ví dụ, đến một trang web trông giống như Gmail nhưng không phải là, bạn có thể sẽ phải chịu đựng một cuộc tấn công lừa đảo như đánh bắt cá voi .

DNS Flushing: Những gì nó làm và làm thế nào để làm điều đó

Khi khắc phục sự cố ngộ độc bộ nhớ cache hoặc các sự cố kết nối internet khác, quản trị viên máy tính có thể muốn xóa (bộ nhớ cache DNS rõ ràng, đặt lại hoặc xóa).

Vì việc xóa bộ nhớ cache DNS sẽ xóa tất cả các mục nhập, nó sẽ xóa bất kỳ bản ghi không hợp lệ nào và buộc máy tính của bạn phải lặp lại các địa chỉ đó vào lần tiếp theo bạn thử truy cập các trang web đó. Các địa chỉ mới này được lấy từ máy chủ DNS mà mạng của bạn được thiết lập để sử dụng.

Vì vậy, để sử dụng ví dụ ở trên, nếu bản ghi Gmail.com đã bị đầu độc và chuyển hướng bạn đến một trang web lạ, việc xóa DNS là một bước đầu tiên tốt để nhận lại Gmail.com thông thường.

Trong Microsoft Windows, bạn có thể xóa bộ nhớ cache DNS cục bộ bằng cách sử dụng lệnh ipconfig / flushdns trong Command Prompt . Bạn biết nó hoạt động khi bạn thấy cấu hình Windows IP thành công flushed DNS Resolver Cache hoặc thành công flushed DNS Resolver Cache message.

Thông qua một thiết bị đầu cuối lệnh, người dùng macOS nên sử dụng dscacheutil -flushcache , nhưng biết rằng không có thông báo "thành công" sau khi nó chạy, vì vậy bạn không được thông báo nếu nó hoạt động. Người dùng Linux nên nhập lệnh /etc/rc.d/init.d/nscd restart .

Một bộ định tuyến có thể có một bộ nhớ cache DNS là tốt, đó là lý do tại sao khởi động lại một bộ định tuyến thường là một bước xử lý sự cố. Vì lý do tương tự, bạn có thể xóa bộ đệm DNS trên máy tính của mình, bạn có thể khởi động lại bộ định tuyến để xóa các mục DNS được lưu trữ trong bộ nhớ tạm thời của nó.