Nếu chúng ta có một hệ thống xác định các nút dựa trên IP trên Internet thì tại sao lại cần có DNS?
Nếu chúng ta có một hệ thống xác định các nút dựa trên IP trên Internet thì tại sao lại cần có DNS?
Câu trả lời:
Mặc dù mọi người khác cho rằng DNS không cần thiết để internet hoạt động, tôi không đồng ý. DNS không cần thiết cho một mạng dựa trên IP hoạt động nhưng đối với Internet như chúng ta biết ngày nay thì điều đó là hoàn toàn cần thiết !!
Nếu tôi đăng ký một tên miền với godaddy và không thích godaddy nữa, tôi có thể đến một nhà cung cấp khác và giữ tên miền của mình.
Điều tương tự không thể xảy ra với các địa chỉ IP vì địa chỉ IP được phân bổ cho các công ty cụ thể và không có gì bạn có thể mang theo bên mình.
DNS không chỉ ánh xạ tên người có thể đọc thành địa chỉ IP, nó còn tách máy khách khỏi các chi tiết cụ thể của điểm cuối mạng mà nó muốn kết nối.
Điều đó cho phép các nhà cung cấp dịch vụ triển khai các hệ thống có tính sẵn sàng cao và thay đổi chi tiết triển khai mà không ảnh hưởng đến khách hàng của họ.
Hoàn toàn có thể! Nhưng bạn có một danh sách lớn các mục /etc/hosts
.
Nghiêm túc, mặc dù. "Internet" (hệ thống máy móc cung cấp nội dung cho người dùng) sẽ tiếp tục hoạt động tốt. "Web" (bộ sưu tập thông tin dễ tìm được chuyển qua "internet") sẽ nhanh chóng bị hỏng vì không ai (ngoại trừ những người đam mê thực sự) sẽ nhớ Địa chỉ IP để truy cập Google.
Với DNS, một địa chỉ IP có thể phục vụ các trang web cho nhiều tên miền. (Ít nhất là nếu họ đang chạy HTTP / 1.1.) Nếu không có DNS, mọi trang web về cơ bản sẽ yêu cầu một địa chỉ IP chuyên dụng và những trang này sẽ hết khá nhanh.
Sự khác biệt giữa IP và tên DNS là IP chỉ định vị trí máy chủ, trong khi tên DNS cho phép bạn chỉ định chính dịch vụ. Chiến thắng lớn mà bạn nhận được bằng DNS không nhiều đến mức tên DNS dễ nhớ hơn, nhưng bạn có một lớp trừu tượng giữa dịch vụ và việc triển khai. Vì vậy, việc thực hiện cơ bản có thể thay đổi, các máy chủ có thể di chuyển xung quanh mà người dùng không nhận thấy nó.
Internet có thể làm việc mà không có nó? Không lâu nữa, vì một trong những điều đầu tiên cần làm là triển khai một dịch vụ giống như DNS để khắc phục tất cả những rắc rối mà việc thiếu DNS sẽ gây ra. Nếu không có siêu liên kết DNS đến các trang web khác, chẳng hạn, có thể dễ dàng phá vỡ để web trên toàn thế giới không thể hoạt động bình thường.
Theo một nghĩa nào đó, DNS là một hình thức rất cơ bản của một mạng có thể định địa chỉ nội dung, theo đó bạn nói những gì bạn muốn, nhưng không phải làm thế nào để đến đó. Bạn nói www.google.com
, bởi vì bạn biết google thực hiện tìm kiếm, nhưng bạn không biết máy chủ được đặt ở đâu trên trái đất mà cuối cùng bạn sẽ tìm đến, tất cả những gì được trừu tượng hóa khỏi bạn nhờ DNS.
Mọi người ở đây dường như quên mất rằng không có DNS, việc ghi nhớ địa chỉ IP không phải là lựa chọn duy nhất. ARPANET không có DNS và đó là nơi tập tin máy chủ bắt nguồn. Từ Wikipedia :
ARPANET, tiền thân của Internet, không có cơ sở dữ liệu tên máy chủ phân tán, chẳng hạn như Hệ thống tên miền hiện đại để lấy địa chỉ nút mạng của máy chủ bằng cách sử dụng tên của máy chủ lưu trữ. Mỗi nút mạng duy trì bản đồ riêng của các nút mạng mà nó cần biết và gán cho chúng những tên dễ nhớ đối với người dùng. [...] Kích thước nhỏ của ARPANET khiến việc sử dụng tệp máy chủ trở nên thiết thực [...] tuy nhiên, việc duy trì tệp máy chủ trở thành gánh nặng lớn hơn đối với người quản trị hệ thống [... và] tính chất tập trung và nguyên khối của tập tin lưu trữ cuối cùng cần phải tạo ra Hệ thống tên miền phân tán.
Nếu không có bất kỳ loại DNS nào, Google có thể hoạt động như một 'loại' DNS, cho phép mọi người tìm thấy các trang web (hôm nay bạn sẽ truy cập xyz.com, trong thế giới không có DNS, bạn sẽ truy cập 75.125.127.100 và google xyz, và nó sẽ cung cấp cho bạn theo cách đó)
Internet sẽ hoạt động. Đây có phải là một mạng internet mà tôi muốn trở thành một phần của? Trời ơi không.
Có một số trường hợp "Internet" không cần DNS - ví dụ: nếu bạn chỉ sử dụng các giao thức không yêu cầu DNS (ví dụ: Hầu hết các chương trình chia sẻ tệp ngang hàng).
Ngoài ra, một số internets riêng không cần DNS (nhưng hầu hết sử dụng www ở một mức độ nào đó, điều này thường có nghĩa là dù sao họ cũng có nó).
Có, Internet "hoạt động" mà không cần DNS. Các gói IP được định tuyến dựa trên địa chỉ IP và mặt nạ mạng con. Các bộ định tuyến khác nhau giữa nguồn và đích không quan tâm đến các bí danh có thể đọc được của con người.
Tuy nhiên, đối với con người, "www.google.com" dễ nhớ hơn nhiều so với "74.125.225.209" vì lý do tương tự rằng "1600 Amphitheater Parkway" dễ nhớ hơn "37.423156, -122,084917". Trong cả hai trường hợp, cùng một thông tin được truyền đạt, nhưng trong cả hai trường hợp, người ta dễ nhớ hơn. Đối với con người, dù sao đi nữa.
Internet, ở mức độ thấp? Chắc chắn - toàn bộ điểm của một địa chỉ IP và toàn bộ ngăn xếp IP là để giúp định tuyến các gói từ nơi này sang nơi khác với sự trợ giúp của các giao thức khác, không có giao thức nào phụ thuộc vào hệ thống tên miền.
Mặt khác, hệ thống DNS cho phép một vài điều tốt đẹp - thứ nhất, nó cho phép các cách thân thiện của con người để tìm máy chủ. Thứ hai, đối với các giao thức nhận biết DNS như HTTP, bạn có thể chọn nội dung cần gửi dựa trên đích đến (ví dụ: virtualhost), cho phép sử dụng hiệu quả hơn các tài nguyên có sẵn, cũng như sử dụng những thứ như đa phương tiện , định tuyến địa lý đến các máy chủ gần hơn và những thứ lạ mắt khác giúp cuộc sống dễ dàng hơn.
Internet sẽ hoạt động mà không cần DNS? Chắc chắn rồi. Nó sẽ là một nỗi đau hoàn toàn? Có lẽ - và nếu DNS bị hỏng vào ngày mai, rất nhiều dịch vụ trên internet sẽ bị hỏng.
Không. Mạng Stack Exchange không thể hoạt động mà không có DNS.
Để chứng minh, hãy tìm hiểu IP của stackoverflow.com
:
$ host stackoverflow.com
stackoverflow.com has address 198.252.206.16
Đi đến đó trong trình duyệt của bạn và bạn sẽ nhận được một trang lỗi cho biết:
Không thể tìm thấy 198.252.206.16
Trang web Hỏi & Đáp 198.252.206.16 dường như chưa tồn tại.
(Tôi xin lỗi tôi không thể liên kết với nó, Stack Exchange sẽ không cho phép tôi nhập một liên kết đến một IP.
Đây là những gì bạn nhận được nếu bạn truy cập vào một trang web Stack Exchange không tồn tại, như hsdkgujahr.stackexchange.com
, ngoại trừ thông báo "Trang web Q & A hsdkgujahr.stackexchange.com
dường như chưa tồn tại trên đường."
Bây giờ hãy kiểm tra IP của superuser.com
:
$ host superuser.com
superuser.com has address 198.252.206.16
Lưu ý rằng các địa chỉ IP hoàn toàn giống nhau. Trong thực tế, nếu bạn thực hiện tra cứu DNS cho bất kỳ trang web Stack Exchange nào, bạn sẽ nhận được cùng một IP.
Nếu một IP duy nhất được ánh xạ tới nhiều trang web, làm thế nào để máy chủ biết trang web nào?
Câu trả lời là tiêu đề HTTP Host
đang được gửi đến máy chủ với yêu cầu và nó chứa tên DNS đủ điều kiện của máy chủ.
Vì vậy, không có DNS, bạn không thể truy cập các trang web Stack Exchange yêu thích của mình (hoặc các trang dự án SourceForge, chúng hoạt động theo cùng một cách).
198.252.206.16 stackoverflow.com
vào tệp Máy chủ của bạn và sau đó thử truy cập stackoverflow.com và bạn sẽ thấy nó hoạt động ngay cả khi bạn vừa tắt DNS. Thực dụng? Không đời nào. Nhưng internet có thể hoạt động mà không cần DNS. Bạn sẽ không thể có được IP cho các trang web khác nhau.