Sự khác biệt giữa CName và A Record

CName so với bản ghi

Các trang web được lưu trữ ở các vị trí được xác định duy nhất bởi một nhóm số, mà chúng tôi gọi là địa chỉ IP; nhưng để truy cập các trang này, chúng tôi thường nhập tên miền tương ứng của chúng, dễ nhớ hơn. Để có được địa chỉ IP chính xác, trình duyệt của bạn sẽ liên hệ với Máy chủ tên miền hoặc DNS và truy vấn cơ sở dữ liệu của nó để tìm địa chỉ IP. Bản ghi A là một loại bản ghi tài nguyên trực tiếp trỏ đến địa chỉ IP. Bản ghi CName, hoặc Canonical Name, cũng là một bản ghi tài nguyên, nhưng nó không trỏ đến địa chỉ IP. Thay vào đó, nó trỏ đến một địa chỉ tên miền khác.

Mặc dù mục đích của việc có DNS là lấy địa chỉ IP của một tên miền nhất định, bản ghi CName được sử dụng để xác định nhiều tên miền trỏ đến cùng một địa chỉ IP. Có rất nhiều cách sử dụng cho các bản ghi CName, nhưng nổi bật nhất là khi sử dụng nhiều dịch vụ đang chạy trên cùng một máy hoặc máy chủ. Máy chủ FTP sẽ có tên miền là ftp.example.com, trong khi máy chủ http sẽ sử dụng www.example.com. Mặc dù vậy, họ sẽ sử dụng cùng một địa chỉ IP. Do đó, một mục CName cũng sẽ tồn tại trong cơ sở dữ liệu cho ftp.example.com, trỏ đến www.example.com. Khi tìm địa chỉ IP của ftp.example.com, bản ghi CName gặp phải và truy vấn được khởi động lại bằng tên miền mới. Quy trình này được lặp lại cho đến khi tìm thấy Bản ghi A cung cấp địa chỉ IP đang được tìm kiếm. Theo cách này, chỉ cần một Bản ghi A duy nhất trỏ đến đúng địa chỉ IP.

Một bản ghi CName rất hữu ích, nhưng nó cũng có thể tạo ra một vấn đề mang tính hệ thống đối với thiết kế của nó. Với các tên miền mẫu được cung cấp ở trên, có thể tồn tại hai bản ghi CName, trong đó ftp trỏ đến www cho lần đầu tiên và ngược lại cho mục nhập thứ hai. Khi truy vấn được khởi động lại sau khi tìm thấy mục CName, có hai mục nhập đó sẽ dẫn đến một vòng lặp vô hạn có thể làm sập máy chủ. Bản ghi không có vấn đề này, vì chúng không trỏ đến một tên miền khác.

Tóm lược:

1. Một CName trỏ đến một tên miền, trong khi Bản ghi A trỏ đến địa chỉ IPv4.

2. Tìm bản ghi CName sẽ sinh ra một tìm kiếm mới, trong khi tìm Bản ghi A sẽ không.

3. Bản ghi CName không đúng cách có thể dẫn đến một vòng lặp vô tận, nhưng Bản ghi A không.