- vừa được xem lúc

[DNS] Các khái niệm cơ bản về DNS

0 0 15

Người đăng: Kien Le

Theo Viblo Asia

DNS là gì?

DNS-Domain Name System là một cơ sở dữ liệu phân tán được các ứng dụng tcp/ip sử dụng để ánh xạ giữa hostname và địa chỉ IP và routing email. Gọi là phân tán bởi vì không có một site đơn lẻ nào quản lý toàn bộ thông tin. Mỗi site sẽ quản lý cơ sở dữ liệu của riêng nó trên server và xử lý các truy vấn từ Internet hoặc từ các clients.

DNS là một cây ngược giống như hệ thống file trong Linux. Trong “cây” này có một gốc gọi là root, được ký hiệu bằng một dấu chấm-dot(.)

1. Domain namespace

Một domain namespace sẽ chứa một “cây” các domain names. Mỗi node trong cây sẽ giữ thông tin đại diện cho domain name. Mỗi một tổ chức có thể tạo riêng cho mình một domain namespace để tự quản lý các host trong mạng của họ. Trong một domain thì tên dành cho một host là duy nhất, không với nhau.

2. Domain names

Mỗi node trong cây có một nhãn riêng. Một nhãn rỗng đại diện cho root. Một domain name đầy đủ của bất kỳ một node nào trong “cây” là thứ tự các nhãn trong đường dẫn từ node đó đến root, tên mỗi node được phân chia bằng các dấu chấm (.) Việc đánh tên này sẽ xác định được vị trí của node đó trong “cây”. Mỗi node trong cây được xác định bằng một FQDN – tên đầy đủ chỉ đường dẫn đến node trong cây.

3. Domains

Một domain là một nhánh của namespace. Domain là tập các node có cùng một node cha, các node này tạo nên một domain. Tên của domain này cũng chính là tên của node cha. Một domain có thể có các nhánh con của nó. Các nhánh này được gọi là subdomain – domain con.

4. Resource records

Dữ liệu ứng với domain names được chứa trong các resource record- bản ghi. Các records được chia thành các classes, mỗi class chứa các types(kiểu) chịu trách nhiệm phân giải cho từng dịch vụ trong namespace. Các class khác nhau có thể định nghĩa các kiểu record khác nhau. Một số RRs thông dụng:

  • SOA(Start of Authority): Chỉ ra rằng server này là nơi tốt nhất để cung cấp dữ liệu và thông tin cho toàn zone. Name server được đánh giá có quyền lực nhất trong zone thông qua SOA record này.
  • NS(Name Server): Record này chỉ ra đâu là nameserver cho toàn zone.
  • A(Address): record này chịu trách nhiệm phân giải tên sang IP
  • PTR(Pointer): record này chịu trách nhiệm phân giả IP sang tên
  • MX(Mail Exchangers): record này chỉ ra đâu là mail server cho domain.

5. Delegation

Một trong những mục đích của DNS đó là quản trị phân tán. Ta có thể chia nhỏ việc quản lý thành nhiều phần khác nhau. Một domain có thể có nhiều subdomains.

Mỗi subdomain có thể đại diện cho một tổ chức và tổ chức đó có toàn quyền để điều khiển DNS của tổ chức đó. Việc phân quyền này làm cho DNS trở nên nhẹ hơn, ko phải quản lý tập trung bởi dữ liệu là rất lớn.

6. Nameserver and Zones

Các chương trình lưu trữu toàn bộ thông tin về domain namespace gọi là nameserver. Nameserver thông thường sẽ có thông tin hoàn chỉnh về một phần nào đó của domain namespace gọi là zone, zone này load từ file hoặc từ nameserver khác.

Hình trên cho ta thấy một domain edu được chia ra thành nhiều zone. Mỗi zone được phân quyền quản lý riêng.

Có 2 kiểu nameserver: primary mastersecondary master:

  • Primary: chứa tất cả các thông tin cho domain
  • Secondary: hoạt động dự phòng, đề phòng trường hợp Primary fail. Quá trình Primary gửi bản sao của nó đến Secondary gọi là zone transfer.

7. Resolvers

Dành cho các clients truy cập vào nameservers. Các chương trình chạy host nếu cần thông tin từ domain namespace sẽ sử dụng resolver. Resolver quản lý:

  • Truy vấn nameserver
  • Quản lý các trả lời từ nameserver
  • Trả thông tin về cho chương trình yêu cầu

Lời kết

Trên đây là các khái niệm cơ bản về DNS. Hi vọng sẽ giúp bạn hiểu rõ hơn về DNS là gì? Chúc các bạn thành công!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Simple Golang DNS Server

Write A Simple DNS Server With Golang. The following DNS knows how to answer A queries and it only knows IP address of domain. go get github.com/miekg/dns.

0 0 15

- vừa được xem lúc

Tìm hiểu về DNS

DNS là gì . DNS (Domain Name System) là hệ thống đứng trung gian để dịch từ tên miền ở ngôn ngữ tự nhiên như google.com thành địa chỉ IP như 172.168.

0 0 11

- vừa được xem lúc

Các bài viết ngắn phần 31

Blog từ tiết kiệm đến miễn phí. Chia sẻ kinh nghiệm viết blog từ tiết kiệm đến miễn phí.

0 0 16

- vừa được xem lúc

Blog#240: 🛠️Unraveling the Domain Name System (DNS): A Deep Dive into System Design Concepts💡

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . 1. Introduction. The Domain Name System (DNS) is a foundational technology for the internet.

0 0 15

- vừa được xem lúc

Blog#243: ドメインネームシステム (DNS) - システムデザインの概念をわかりやすく解説

こんにちは、私はトゥアンと申します。東京からフルスタックWeb開発者です。. 将来の有用で面白い記事を見逃さないように、私のブログをフォローしてください。.

0 0 9

- vừa được xem lúc

Blog#254: Domain Name System (DNS) - System Design Concepts (Song ngữ: VN - JP)

Mình có tạo 1 series để trả lời những câu hỏi mà các bạn đã liên lạc và hỏi mình. Vì câu hỏi khá nhiều nên mình sẽ trả lời dần dần và add vào series này nè.

0 0 9