Tìm hiểu về DNS? DNS Lookup là gì?

1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Chắc hẳn các bạn đều đã nghe đến từ DNS - Domain Name System rồi đúng không? Quản Trị Mạng đã có 1 số bài viết về DNS - mời các bạn đón đọc, và trong bài viết lần này chúng ta sẽ tiếp tục tìm hiểu về thuật ngữ DNS Lookup - hiểu nôm na là tra cứu, tìm kiếm thông tin cơ bản về DNS. 

1. Domain (trong DNS) là gì?

Đây chính là tên miền của 1 website nào đó. Ví dụ:

  • quantrimang.com
  • download.com.vn
  • meta.vn
  • gamevui.com

Tất cả những tên miền trên chính là Domain của website tương ứng. Xét về mặt lý thuyết, cấu trúc chung của 1 domain sẽ là:

  • http://www.domainname.tld

Trong đó http là giao thức kết nối, www hoặc không có wwwWorld Wide Web, domainname là tên miền (tất nhiên rồi!!!) còn ltd là đuôi - top-level domain. Các đuôi gồm có:

  • *.com (commercial organizations - các tổ chức, công ty thương mại...)
  • *.org (non-profit organizations - tổ chức phi lợi nhuận, hoạt động vì cộng đồng, nghiên cứu khoa học...)
  • *.net (commercial - tương tự như cái 1)
  • *.gov (government - các tổ chức chính phủ)
  • *.edu (educational - mục đích giáo dục)
  • *.mil (military - quân sự)
  • *.int (international - quốc tế)

Và với nhu cầu của người sử dụng ngày càng tăng, hiện nay đã có thêm rất nhiều loại đuôi tên miền (theo khu vực địa lý) như:

  • *.asia (Châu Á)
  • *.us (Mỹ)
  • *.in (Ấn Độ)
  • *.ca (Canada)
  • ...

Và các loại TLD thuộc về thể loại, ví dụ:

  • *.tv (chia sẻ, stream video)
  • *.me (cá nhân)

Các phần đuôi tên miền

Trước kia, muốn truy cập vào 1 website nào đó thì bắt buộc chúng ta phải nhập đầy đủ www.domainname.com. Nhưng sau này, các nhà cung cấp dịch vụ hosting đã cho phép chuyển trực tiếp www.domainname.com về domainname.com. Đây có thể coi là 1 sự phát triển lớn, vừa giúp người dùng tiết kiệm thời gian, và giúp cho khả năng SEO của website cũng tốt hơn (theo ý kiến của nhiều người). Khi tiến hành mua 1 domain nào đó, chúng ta bắt buộc phải chọn phần tên miền, đuôi (phần tld), và giá cả cũng chênh lệch phụ thuộc vào tên miền, đuôi domain.

Để tớ giải thích thêm 1 chút nữa về phần domain này nhé. Ví dụ, URL truy cập vào website Quản Trị Mạng là:

  • http://www.quantrimang.com.com
  • Hoặc http://quantrimang.com

Ở đây thì quantrimang là 1 phần của top-level domain (*.com), và nhiều domain sẽ có thêm phần subdomain phụ đi kèm. Ví dụ:

  • www.forum.quantrimang.com

Các bạn có thể hiểu ở đây: forum chính là 1 sub-domain của quantrimang. Ảnh thực tế cho các bạn dễ hình dung:

2. DNS là gì?

Mời các bạn tham khảo bài viết để có khái niệm cơ bản về DNS:

Chúng ta đều biết rằng, số lượng website ngày nay trên Internet là không có giới hạn. Và mỗi 1 website lại có thể có nhiều sub-domain, và việc nhớ địa chỉ IP tương ứng của các website đó lại càng không thể. Đây là 1 lý do chính để chúng ta dùng tên miền - Domain thay vì nhập địa chỉ IP của website vào trình duyệt (trong giới công nghệ còn dùng thuật ngữ alias để nói về domain). 

Ở ngoài kia, có nhiều hệ thống đang làm việc hết công suất để phân giải tên miền qua địa chỉ IP và truyển tải dữ liệu ngược lại cho người sử dụng, đó chính là DNS. Khi bạn nhập quantrimang.com vào thanh địa chỉ trên trình duyệt, toàn bộ nội dung, ảnh, text... trên website Quản Trị Mạng sẽ được hiển thị cho chúng ta. Và đó là quá trình hoạt động của DNS - Domain Name System.

Qua đó, các bạn có thể hình dung rằng cơ chế làm việc của DNS là phân phối, truyền tải các thông tin, dữ liệu có chứa thông tin trùng khớp với tên miền tới địa chỉ IP tương ứng của website.

Như đã nói tới ở bên trên, các domain và sub-domain còn được gọi dưới tên alias. Hệ thống máy chủ, server lưu trữ thông tin về địa chỉ và các alias khác nhau được gọi là Name Server. Và có 2 loại server chính phục vụ cho Domain Name System:

  • Root Server: chứa thông tin về TLD (phần đuôi domain).
  • Server khác xử lý thông tin chính vể domain, sub-domain.

Để dễ hiểu hơn, chúng ta sẽ đi qua ví dụ cụ thể.

Ví dụ 01:

Trong trường hợp abc.xyz.com thì Root Server sẽ chứa thông tin về xyz là 1 dạng đuôi (*.com), bên cạnh đó thì một số Name Server sẽ chứa dữ liệu về địa chỉ xyz.com. Từ khi bạn quản lý và lưu trữ abc.xyz.com, địa chỉ này có thể nằm trên Name Server này hoặc khác. Và nếu bạn thêm 1 sub-domain vào abc.xyz.com thì địa chỉ mới này lại có thể giống hoặc khác nhau so với dữ liệu trên Name Server (tùy thuộc vào server mà bạn đang lưu trữ). "Mối quan hệ" lằng nhằng này có thể dễ hiểu hơn qua sơ đồ bên dưới:

  • xyz có chứa com.
  • abc nằm trong xyz.com.

Nếu bạn thêm sub-domain qwe vào abc.xyz.com:

  • qwe sẽ thuộc về abc.xyz.com

Để thiết lập địa chỉ đến qwe, hệ thống Domain Name System Service sẽ phải giải quyết một số việc sau đây:

  • .com
  • .xyz.com
  • .abc.xyz.com
  • .qwe.abc.xyz.com

Và đây chỉ là 1 trường hợp rất nhỏ mà Domain Name System Service không dùng đến bộ nhớ đệm - cache nào (có lẽ chúng ta sẽ thảo luận về cache trong những bài sau). Biểu đồ trên chỉ ra rằng địa chỉ cuối cùng sẽ là qwe.abc.xyz.com, DNS sẽ phải rà soát toàn bộ cơ sở dữ liệu DNS tới 4 lần. Điều này sẽ càng trở nên phức tạp khi các phần khác nhau của URL lại khác nhau trên mỗi hệ thống Name Server. Nhưng với tốc độ Internet ngày nay, trong trường hợp chậm nhất thì việc phân giải địa chỉ IP và hiển thị nội dung của website cũng chỉ mất vài giây. Các bạn cứ yên tâm nhé!

3. Cơ chế làm việc của DNS Lookup:

Qua phần trên của bài viết, chắc hẳn bạn đã hình dung phần nào về DNS, cách làm việc của DNS... Và quá trình tìm kiếm địa chỉ IP của bất kỳ URL, đường dẫn nào trên Internet đều được gọi là DNS Lookup. Chúng ta hãy tiếp tục với ví dụ tiếp theo.

Ví dụ 02:

Hãy hình dung, trong 1 hệ thống có 1 chiếc máy tính, laptop. Và mỗi 1 máy tính đều có 1 địa chỉ IP riêng biệt, trường hợp có thêm chiếc máy tính thứ 11 có chứa thông tin, cơ sở dữ liệu về tên alias của 10 chiếc máy tính kia, cũng như địa chỉ IP tương ứng. Người dùng có thể truy cập đến bất kỳ máy tính nào qua địa chỉ IP, tên tài khoản. Cụ thể hơn:

  • Máy tính A muốn dùng máy in được kết nối ở máy tính B thì máy A sẽ phải kiểm tra cơ sở dữ liệu trên chiếc máy tính thứ 11 để biết được địa chỉ IP của máy tính B, sau đó máy in được kết nối ở máy B. Sau khi có được những thông tin đó, thì máy A sẽ chuyển lệnh in đến máy in ở máy tính B.

Trong trường hợp đó, có những hành động sau đã diễn ra:

  1. Máy A kết nối tới máy tính thứ 11.
  2. Máy A liên lạc tới máy tính B.
  3. Máy A tạo kết nối tới máy in - đang kết nối với máy tính B.

Các bạn hình dung ra cách thức làm việc của DNS Lookup cũng tương tự như vậy. Đây nhé, khi bạn click chuột và truy cập vào: http://quantrimang.com, thiết bị router, modem... của bạn sẽ "liên lạc" với dịch vụ DNS để tiến hành phân giải DNS tương ứng. Dịch vụ DNS sẽ tiếp tục liên lạc tới Root Server và yêu cầu địa chỉ IP của server đang chứa phần đuôi *.com đó, phần địa chỉ này sẽ được gửi ngược trở lại về dịch vụ DNS. Dịch vụ DNS này sẽ tiếp tục tìm trong Name Server có chứa tất cả các địa chỉ domain *.com và hỏi: "Ê, có quantrimang.com ở đây không" Ví dụ vậy. Sau khi lấy được địa chỉ IP tương ứng của quantrimang.com, dịch vụ DNS sẽ trả địa chỉ IP về máy tính, đó là lúc nội dung, ảnh, text trên website Quản Trị Mạng hiển thị trên trình duyệt. Và trong quá trình này, dịch vụ DNS đã gửi đi ít nhất 2 yêu cầu để lấy về địa chỉ IP của domain. Sơ đồ của quy trình hoạt động trên sẽ trông giống như hình dưới:

mô hình DNS Lookup

Giả sử rằng, với trường hợp trên mà thay http://quantrimang.com bằng http://forum.quantrimang.com thì hệ thống dịch vụ DNS sẽ phải thêm yêu cầu để tìm phần sub-domain forum nữa nhé. Hy vọng rằng qua phần lý thuyết và mô hình như trên, các bạn đã hiểu được cơ chế hoạt động của DNS Lookup. Chúc các bạn thành công!

Nguồn: Quan Tri Mang