Tôi nghĩ rằng DNS là một giao thức lớp ứng dụng bởi vì nếu tôi muốn tạo kết nối TCP, tôi cần địa chỉ IP đích trong lớp 4, tôi có đúng không?
IP là giao thức lớp 3.
DNS chỉ là một dịch vụ dịch tên máy chủ thành địa chỉ IP, bạn cần điều này bởi vì con người nhớ tên tốt hơn số.
Vì vậy, khi bạn nhập tên trang web, trình duyệt của bạn có một số API để yêu cầu hệ điều hành đưa ra yêu cầu DNS cho tên bạn đã nhập.
Các yêu cầu DNS được truyền đến một địa chỉ IP máy chủ DNS cụ thể nằm ở đâu đó trên internet (Địa chỉ mà bạn đã cấu hình thủ công hoặc nhận được thông qua cập nhật DHCP). Để máy chủ đó biết dịch vụ nào bạn muốn cụ thể (vì máy chủ này cũng có thể là máy chủ HTTP chẳng hạn), bạn cũng cần chỉ định số cổng, DNS sử dụng cổng UDP 53. Vì vậy, vì lý do đó, nó phải là giao thức lớp ứng dụng.
Nếu máy chủ DNS của bạn luôn nằm trên mạng con cục bộ, bạn có thể có giao thức Lớp 4 để thực hiện việc này (máy chủ sẽ xác định yêu cầu đến bằng địa chỉ IP phát đa hướng duy nhất dành riêng cho dịch vụ này - ví dụ như cơ chế như OSPF).