인터넷에 노드를 식별하는 IP 기반 시스템이 있다면 왜 DNS가 필요합니까?
인터넷에 노드를 식별하는 IP 기반 시스템이 있다면 왜 DNS가 필요합니까?
답변:
다른 사람들은 인터넷이 작동하기 위해 DNS가 필요하지 않다고 제안하지만 동의하지 않습니다. DNS는 IP 기반 네트워크가 작동하는 데 필요하지 않지만 오늘날 우리가 알고 있는 인터넷 에는 반드시 필요합니다!
DNS는 사람이 읽을 수있는 이름을 IP 주소에 매핑 할뿐만 아니라 클라이언트를 연결하려는 네트워크 끝점의 특정 세부 정보와 분리시킵니다.
이를 통해 서비스 제공 업체는 클라이언트에 영향을주지 않고 고 가용성 시스템을 구현하고 구현 세부 사항을 변경할 수 있습니다.
DNS를 사용하면 하나의 IP 주소가 여러 도메인의 웹 사이트를 제공 할 수 있습니다 . (적어도 HTTP / 1.1을 실행하는 경우) DNS가 없으면 모든 웹 사이트에는 기본적으로 전용 IP 주소가 필요하며 매우 빠릅니다.
IP와 DNS 이름의 차이점은 IP가 서버 위치를 지정하고 DNS 이름을 사용하면 서비스 자체를 지정할 수 있다는 것입니다. DNS로 얻는 큰 승리는 DNS 이름을 기억하기 쉽지 않지만 서비스와 구현 사이에 추상화 계층이 있다는 것입니다. 따라서 기본 구현이 변경 될 수 있으며 사용자가 알지 않고도 서버가 이동할 수 있습니다.
인터넷이 없으면 작동 할 수 있습니까? 가장 먼저해야 할 일 중 하나는 DNS와 같은 서비스를 구현하여 DNS가 없으면 발생할 수있는 모든 문제를 해결하는 것입니다. 예를 들어 다른 웹 페이지에 대한 DNS 하이퍼 링크가 없으면 쉽게 길을 잃어 월드 와이드 웹이 제대로 작동하지 않습니다.
어떤 의미에서 DNS는 원하는 방식으로 말하지만 도착하는 방법을 말하지 않는다는 점에서 콘텐츠 주소 지정 가능 네트워크의 매우 기본적인 형태입니다. 당신은 www.google.com
구글이 검색한다는 것을 알고 있기 때문에, 지구상에서 서버가 어디에 위치하는지 알지 못하기 때문에 결국 DNS로 인해 추상화됩니다.
여기에있는 모든 사람들은 DNS가 없으면 IP 주소를 기억하는 것이 유일한 옵션이 아니라는 것을 잊고있는 것 같습니다. ARPANET에는 DNS가 없었으며 호스트 파일이 시작된 곳입니다. Wikipedia에서 :
인터넷의 전신 인 ARPANET에는 호스트 이름을 사용하여 호스트의 네트워크 노드 주소를 검색하기위한 최신 도메인 이름 시스템과 같은 분산 호스트 이름 데이터베이스가 없었습니다. 각 네트워크 노드는 알고 있어야하는 네트워크 노드 맵을 유지하고 사용자에게 기억하기 쉬운 이름을 할당했습니다. [...] ARPANET의 작은 크기는 호스트 파일의 사용을 실용적으로 만들었지 만 [...], 호스트 파일의 유지 관리는 시스템 관리자에게 큰 부담이되었습니다. 호스트 파일은 결국 분산 도메인 이름 시스템을 만들어야했습니다.
인터넷 자체가 낮은 수준입니까? 확실히-IP 주소의 전체 지점과 전체 IP 스택은 다른 프로토콜을 사용하여 한 곳에서 다른 곳으로 패킷을 라우팅하는 데 도움이되며 도메인 이름 시스템에는 의존하지 않습니다.
반면에 DNS 시스템은 몇 가지 좋은 점을 허용합니다. 첫째, 인간 친화적 인 방법으로 호스트를 찾을 수 있습니다. 둘째, HTTP와 같은 DNS를 인식하는 프로토콜의 경우 사용 가능한 리소스를보다 효율적으로 사용하고 멀티 캐스팅과 같은 것을 사용할 수 있도록 의도 된 대상 (예 : 가상 호스트)을 기반으로 전송할 콘텐츠를 선택할 수 있습니다. 더 가까운 서버 및 생활을 더욱 편리하게 만드는 다른 멋진 것들로의 지리적 라우팅.
인터넷이 DNS없이 작동합니까? 물론. 그것은 완전한 고통일까요? 아마 - DNS가 내일은를 끊고 경우, 많은 서비스 에 인터넷이 끊어 될 것이다.
아니요. DNS가 없으면 Stack Exchange 네트워크를 사용할 수 없습니다.
그것을 증명하기 위해 다음의 IP를 찾으십시오 stackoverflow.com
.
$ host stackoverflow.com
stackoverflow.com has address 198.252.206.16
브라우저에서 해당 페이지로 이동하면 다음과 같은 오류 페이지가 나타납니다.
198.252.206.16를 찾을 수 없습니다
Q & A 사이트 198.252.206.16은 아직 존재하지 않는 것 같습니다.
(링크에 연결할 수 없어 죄송합니다. Stack Exchange에서 IP에 대한 링크를 입력 할 수 없습니다.
hsdkgujahr.stackexchange.com
"Q & A 사이트 hsdkgujahr.stackexchange.com
는 존재하지 않는 것 같습니다."라는 말을 제외하고는 존재하지 않는 Stack Exchange 사이트를 방문하면 얻을 수있는 것입니다.
이제 IP를 확인하자 superuser.com
:
$ host superuser.com
superuser.com has address 198.252.206.16
IP 주소는 정확히 동일합니다. 당신의 DNS 조회 할 경우 사실, 어떤 스택 Exchange 사이트를 동일한 IP를 얻을.
단일 IP가 여러 웹 사이트에 매핑되면 서버는 어떤 웹 사이트를 어떻게 알 수 있습니까?
대답은 HTTP 헤더 Host
가 요청과 함께 서버로 전송되고 서버의 정규화 된 DNS 이름을 포함한다는 것입니다.
따라서 DNS가 없으면 즐겨 사용하는 Stack Exchange 사이트 (또는 SourceForge 프로젝트 사이트와 같은 방식)로 이동할 수 없습니다.
198.252.206.16 stackoverflow.com
하고 호스트 파일에 추가 한 다음 stackoverflow.com으로 이동하면 DNS를 비활성화 한 경우에도 작동합니다. 실용적인? 절대 안돼. 그러나 인터넷 은 DNS없이 작동 할 수 있습니다 . 다양한 사이트의 IP를 얻을 수 없습니다.