DNS Cache là gì và nó hoạt động như thế nào?

Mục lục:

DNS Cache là gì và nó hoạt động như thế nào?
DNS Cache là gì và nó hoạt động như thế nào?
Anonim

Bộ nhớ cache DNS (đôi khi được gọi là bộ nhớ cache của trình phân giải DNS) 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ượt truy cập gần đây và các lượt truy cập đã cố gắng vào các trang web và các miền internet khác.

Nói cách khác, bộ nhớ cache DNS chỉ là bộ nhớ của các lần 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ó đang cố gắng tìm ra cách tải một trang web.

Image
Image

Thông tin trong bài viết này áp dụng cho những người dùng gia đình chưa thay đổi cài đặt DNS của họ.

Mục đích của DNS Cache

Internet dựa vào Hệ thống tên miền để 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ể coi nó như một danh bạ điện thoại.

Với danh bạ điện thoại, chúng ta không cần 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ể liên lạc: với một số. Tương tự như vậy, 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, đây 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 sau bức màn khi bạn yêu cầu trình duyệt web của mình tải một trang web.

Bạn nhập một URL như lifewire.com và trình duyệt web của bạn hỏi bộ định tuyến của bạn địa chỉ IP. Bộ định tuyến có địa chỉ máy chủ DNS được lưu trữ, vì vậy nó sẽ yêu cầu máy chủ DNS cung cấp địa chỉ IP của tên máy chủ đó. Máy chủ DNS tìm địa chỉ IP thuộc lifewire.com 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 cho mọi trang web bạn muốn truy cập. Mỗi khi bạn truy cập một trang web bằng tên máy chủ của nó, trình duyệt web sẽ khởi tạo một yêu cầu ra internet, nhưng yêu cầu này không thể được 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 tăng tốc quá trình chuyển đổi / phân giải, việc có bản sao cục bộ của "danh bạ" vẫn nhanh hơn nơi bộ nhớ đệm DNS phát huy tác dụng.

Bộ đệm DNS cố gắng đẩy nhanh quá trình hơn nữa 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

Thực tế có các bộ nhớ đệm DNS ở mọi phân cấp của quy trình "tra cứu" để cuối cùng máy tính của bạn tải trang web. Máy tính kết nối với bộ định tuyến của bạn, bộ định tuyến liên hệ với ISP của bạn, có thể chạm vào ISP khác trước khi kết thúc ở cái được gọi là "máy chủ DNS gốc". Mỗi điểm trong quá trình này đều có bộ nhớ cache DNS vì lý do tương tự, đó là để tăng tốc quá trình phân giải 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ó với mạng bên ngoài, máy tính sẽ chặn từng yêu cầu 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 vào lần đầu tiên một yêu cầu được thực hiện.

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

docs.google.com

----------------------------------- -

Tê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…….: Trả lời

A (Người dẫn chương trình) Bản ghi…: 172.217.6.174

Trong DNS, bản ghi "A" là một phần của mục nhập DNS chứa địa chỉ IP cho tên máy chủ nhất định. 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 nhập DNS của máy chủ.

Ngộ độc bộ nhớ đệm DNS 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 đó.

Đôi khi bộ nhớ cache có thể bị hỏng do trục trặc kỹ thuật hoặc sự cố quản trị, nhưng nhiễm độc bộ nhớ cache DNS 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 nhập DNS không hợp lệ vào bộ nhớ cache.

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

Ví dụ: nếu bản ghi docs.google.com ở trên có bản ghi "A" khác, thì khi bạn nhập docs.google.com trong trình duyệt web của mình, 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. Ví dụ: nếu kẻ tấn công chuyển hướng yêu cầu của bạn cho Gmail.com đến một trang web trông giống như Gmail nhưng không giống như vậy, thì cuối cùng bạn có thể phải hứng chịu một cuộc tấn công lừa đảo như săn cá voi.

DNS Flushing: Nó có chức năng gì và làm như thế nào

Khi khắc phục sự cố nhiễm độ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 (tức là xóa, đặt lại hoặc xóa) bộ nhớ cache DNS.

Vì xóa bộ nhớ cache DNS sẽ xóa tất cả các mục nhập, nó cũng xóa mọi bản ghi không hợp lệ và buộc máy tính của bạn phải tạo lại các địa chỉ đó vào lần tiếp theo khi 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ị nhiễm độc và chuyển hướng bạn đến một trang web lạ, việc xóa DNS là bước đầu tiên tốt để khôi phục lại Gmail.com thông thường.

Trong Microsoft Windows, bạn có thể xóa bộ đệm DNS cục bộ bằng cách sử dụng lệnh ipconfig / flushdnstrong Command Prompt. Bạn biết rằng nó hoạt động khi bạn thấy thông báo Windows IP đã xóa thành công DNS Resolver Cachehoặc Đã xóa thành công DNS Resolver Cache.

Thông qua thiết bị đầu cuối lệnh, người dùng macOS nên sử dụng dscacheutil -flushcachenhư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 sẽ không được thông báo nếu nó đã làm việc. Trong một số trường hợp, người dùng Mac cũng sẽ phải hủy trình phản hồi DNS (sudo killall -HUP mDNSResponder) Người dùng Linux nên nhập / etc / rc.d / init. d / lệnh khởi động lại nscd. Tuy nhiên, lệnh chính xác sẽ khác nhau dựa trên bản phân phối Linux của bạn.

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

Đề xuất: