DNS(도메인 이름 시스템)란 무엇이며 어떻게 작동합니까?
게시 됨: 2020-12-09DNS 정의
DNS는 Domain Name System의 약자로 클라이언트가 요청 쿼리를 시작할 때 도메인 이름을 해당 IP 주소로 변환하는 매체로 사용됩니다. DNS는 네트워크에 등록된 모든 도메인 이름과 해당 IP 주소의 데이터베이스를 저장합니다.
그것은 인터넷에 존재하는 다양한 웹사이트에 대한 출석 등록부로 생각할 수 있습니다. DNS의 경우 전 세계에서 운영되는 모든 웹사이트의 Domain Name과 IP(Internet Protocol) 주소의 데이터베이스를 유지 관리합니다.
DNS의 역사
DNS의 기원은 데이터베이스에 항목을 가져올 컴퓨터가 몇 대 밖에 없었던 ARPANET 시대로 거슬러 올라갑니다. HOSTS.TXT 파일은 모든 시스템의 데이터를 구성하는 Stanford Research Institute에서 유지 관리했으며 모든 호스트 시스템에서 복사하여 업데이트 상태를 유지했습니다.
Information Sciences Institute의 Jon Postel은 1983년에 Paul Mockapetris에게 University of California, Irvine에서 최초의 DNS 구현을 설계하도록 요청했습니다. 그런 다음 1984년에 4명의 학생 Douglas Terry가 BIND(Berkeley Internet Name Domain)를 만들었습니다. Mark Painter, David Riggle, Songnian Zhou, Unix 머신용.
1985년 Kevin Dunlap이 일부 수정한 후 나중에 Windows 시스템으로 이식되었으며 여전히 지구상에서 가장 널리 사용되는 DNS입니다.
DNS는 어떻게 작동합니까? – 쉬운 DNS 예
DNS의 기본 작동을 이해하기 위해 호텔의 예를 들어 설명하겠습니다. 어떤 호텔에 친구를 방문해야 한다고 가정해 보겠습니다. 이제 어떻게 하시겠습니까? 호텔 리셉션에 도착하여 리셉션 직원에게 친구의 방 번호를 물어봅니다.
그렇게 하려면 접수원에게 친구의 이름을 말해야 합니다. 접수원은 그녀의 데이터베이스에서 같은 내용을 확인하고 친구의 방 번호를 알려줄 것입니다. 그녀는 또한 당신의 친구에게 전화를 걸어 그가 가능한지 확인할 것입니다.
이제 예제를 DNS의 작동과 연관시키십시오. 이 경우 귀하는 DNS 서버, 접수원에 요청을 보내는 클라이언트이고 친구의 이름은 도메인 이름이고 그의 방 번호는 그의 IP 주소입니다.
접수원은 도메인 이름 공간이라고 하는 모든 손님의 데이터베이스가 포함된 친구의 컴퓨터에 친구의 이름을 입력합니다. 당신의 친구가 호텔에 묵고 있다면 그녀는 당신에게 방 번호를 말해줄 것이고, 그렇지 않으면 말하지 않을 것입니다.
DNS 작업에서도 비슷한 일이 발생합니다. 브라우저에 웹사이트 이름을 입력하면 브라우저가 DNS 서버에 요청을 보냅니다. 웹사이트 도메인 이름이 DNS로 데이터베이스에 등록된 경우 액세스하려는 웹사이트의 IP 주소(예: 117.234.214.14)로 응답합니다.
도메인 이름 및 IP 주소 이해
이제 도메인이 무엇인지 묻는다면? 인터넷상의 다양한 웹사이트 및 서비스를 식별하는데 사용됩니다. 도메인 이름 www.google.com을 사용합니다. 명명 규칙은 IP 주소의 경우 오른쪽에서 왼쪽으로 또는 그 반대로 이동합니다. Google의 도메인 이름에서 DNS는 먼저 상용 도메인을 나타내는 최상위 도메인인 com 을 확인합니다.
계속해서 Google은 com의 하위 도메인이고, 이후 www 는 Google 도메인의 하위 도메인입니다. 점(.)은 도메인과 하위 도메인을 구분하는 데 사용됩니다. 전체 도메인 이름은 253자로만 구성할 수 있습니다.
이제 누군가가 IP 주소에 대해 등록된 도메인 이름을 알고 싶어하면 웹 사이트의 IP 주소로 DNS 서버를 요청합니다. 보낸 IP 주소가 31.13.79.246이라고 가정하면 DNS는 먼저 31을 확인한 다음 13, 79, 마지막으로 246을 확인하여 IP 주소가 www.fb.com에 속한다고 결론을 내립니다.
DNS는 생물학적 계층이 아닌 트리의 계층 구조와 유사합니다. 컴퓨터 데이터 구조에는 주소 31이 트리의 최상위 위치에 속하고 계층의 기본 도메인이고 주소 13, 79, 246이 연속적인 하위 도메인인 다른 트리가 있습니다.
숫자 246은 www.fb.com 웹사이트를 호스팅하는 서버 시스템을 나타냅니다. 이러한 모든 도메인 및 하위 도메인 항목은 생각만큼 복잡하지 않지만 이 개념이 처음인 경우 올바르게 이해하는 데 시간이 걸립니다.
더 읽어보기: HTTP/2란 무엇이며 어떻게 작동합니까?
DNS의 진화
초기에는 마스터 파일이 하나의 주 서버에서 유지 관리되었으며 모든 새 웹 사이트의 항목으로 수동으로 업데이트된 다음 다른 서버에서 복사했습니다. 그러나 시간이 지남에 따라 웹 사이트의 수가 증가함에 따라 도메인 이름 데이터베이스를 수동으로 유지 관리하기가 어려웠습니다. 따라서 자동화된 시스템의 필요성을 느꼈고 전 세계적으로 데이터베이스를 자동으로 업데이트하는 기능이 새로운 세대의 DNS에 도입되었습니다.
도메인 이름 등록 기관에 웹 사이트 이름을 등록하면 웹 사이트가 전 세계의 DNS 데이터베이스에 표시되는 데 약 24시간이 걸립니다.
마스터-슬레이브 서버 관계는 마스터 서버가 데이터베이스를 유지 관리하고 슬레이브 서버가 업데이트된 상태를 유지하기 위해 데이터베이스를 복사하기만 하면 되는 방식으로 도입되었습니다. DNS 데이터베이스에 대한 동적 업데이트를 용이하게 하기 위해 NOTIFY 및 IXFR 메커니즘이 도입되었습니다.
NOTIFY에서는 마스터 서버가 데이터베이스를 업데이트할 때 슬레이브 서버에 업데이트에 대한 알림을 보낸 다음 데이터베이스를 복사합니다. IXFR(증분 영역 전송)을 사용하면 단일 항목이 만들어질 때마다 전체 데이터베이스를 복사할 필요가 없습니다. 슬레이브 서버는 데이터베이스에 업데이트된 항목만 추가할 수 있으므로 노력이 줄어들고 동적 업데이트 프로세스가 빨라집니다.
IP 주소 확인
도메인 이름을 해당 IP 주소로 변환하는 프로세스를 나타냅니다. DNS 확인자는 클라이언트 PC(호텔 예에서 당신)이며, 이 클라이언트는 DNS 서버인 접수원에게 쿼리를 보냅니다. 해결에는 두 가지 방법이 사용됩니다.
재귀: 이제 호텔 DNS 예제를 계속해서 호텔에 도시에 두 개 이상의 지점이 있고 접수원이 친구의 방 번호를 찾을 수 없다고 가정합니다. 그런 다음 그녀는 친구가 다른 지점에 머물고 있는지 여부를 그곳에 있는 안내원에게 연락하여 확인합니다.
따라서 DNS 서버가 쿼리에서 보낸 도메인 이름과 연결된 IP를 찾을 수 없으면 연결된 다른 서버에 요청한 도메인의 IP 주소를 확인하도록 요청합니다. 해당 서버에서 정보를 수집하고 적절한 IP 주소로 회신합니다.
반복: 친구의 방이 있는 층도 알고 싶어한다고 가정해 봅시다. 그렇게 하기 위해 다시 접수원에게 물어볼 것입니다. 마찬가지로 DNS 확인자가 도메인에 대한 추가 정보를 원하는 경우 동일한 DNS 서버에 대한 새 쿼리를 시작합니다.
DNS 캐시
DNS 서버는 요청 쿼리를 임시로 캐시 형식으로 저장하여 다른 DNS 확인자가 동일한 쿼리를 요청할 경우 응답 시간을 줄입니다. TTL(Time To Live)이라고 하는 캐시 정보가 유효한 시간은 캐시에 저장된 각 쿼리 레코드에 대해 관리자가 설정합니다.
DNS 애플리케이션
DNS의 첫 번째이자 가장 중요한 응용 프로그램은 DNS 서버가 쿼리에서 요청한 도메인 이름의 IP 주소로 응답하는 nslookup입니다. DNS는 Microsoft Exchange Server 및 IBM Domino와 같은 다양한 MTA(Mail Transfer Agent)에서 사용하여 전자 메일을 보다 효율적으로 전달합니다.
DNS는 또한 인터넷을 통해 블랙리스트에 있는 IP 주소를 식별하고 사용자가 해당 주소에 액세스하는 것을 방지할 수 있습니다. 이는 스팸 이메일 및 잠재적인 해킹 공격으로부터 사용자를 보호하는 데 도움이 됩니다.
각 도메인 이름과 해당 IP 주소에 대한 데이터는 둘 이상의 DNS 서버에 보관되어 하나의 서버에서 문제가 발생할 경우 데이터를 쉽게 검색할 수 있습니다.
DNS 취약점
캐시 중독: DNS 스푸핑이라고도 하며 악의적인 사람들이 사용하는 기술입니다. 그들은 DNS 서버의 리졸버 캐시에 있는 데이터를 변경하여 DNS 리졸버에 잘못된 IP 주소를 렌더링하여 사용자를 해커의 시스템으로 전환할 수 있습니다.
DNS 응답은 암호화되지 않으므로 잠재적인 공격 가능성이 있습니다. 그러나 DNSSEC(Domain Name System Security Extensions)는 암호화 서명 된 DNS 응답을 렌더링하는 데 사용됩니다.
피싱 공격은 일부 화면에서 문자 l과 1이 동일하게 표시되는 것처럼 사용자 화면의 일부 문자가 시각적으로 유사하여 계획될 수 있으므로 원래 웹 사이트와 동일한 모양과 느낌을 표시하여 사용자를 다른 IP 주소로 리디렉션합니다. .
내 DNS는 어떻게 찾습니까?
컴퓨터에서 DNS 서버 주소를 찾는 것은 매우 쉬운 작업입니다. Windows PC를 실행 중인 경우 설정 > 네트워크 및 인터넷으로 이동합니다. 여기에서 연결 속성을 클릭하고 아래로 스크롤하여 DNS 서버를 찾습니다.
사용자 지정 DNS 사용
그 호텔 접수원이 매우 느리고 많은 사람들이 동시에 방 번호를 묻는다면? 그러면 그녀는 정확한 방 번호를 신속하게 제공하지 못할 것입니다. 따라서 접수 창구에 있는 다른 사람에게 귀하의 우려 사항을 처리해 달라고 요청할 수 있습니다. 마찬가지로 인터넷에 연결할 때 일반적으로 ISP에서 제공하는 DNS 서버를 사용합니다.
그러나 기본 DNS 서버가 응답하지 않거나 주어진 순간에 많은 수의 쿼리를 처리할 수 없다면 어떻게 될까요? 이러한 인스턴스는 브라우징 경험을 저하시킬 뿐입니다. 하지만 걱정하지 마세요. 다른 방법이 있습니다. IP 주소를 확인하기 위해 다른 DNS 서버를 사용하도록 시스템을 구성할 수 있습니다.
더 읽어보기: 5가지 최고의 DNS 서버 – 빠른 연결을 위한 무료 퍼블릭 DNS
일부 인기 있는 DNS 서버:
Google의 공개 DNS: 검색 대기업은 주어진 순간에 수백만 건의 요청을 처리할 수 있는 몇 가지 심각한 고급 DNS 서버를 설정했습니다. 또한 Google의 다른 서비스와 마찬가지로 완전히 무료입니다. 다음 DNS 주소를 사용하도록 시스템을 구성할 수 있습니다.
8.8.8.8 및 8.8.4.4
OpenDNS: 안전하고 신뢰할 수 있는 DNS 서버를 무료로 제공하는 민간 기업입니다. 컴퓨터에서 다음 주소를 구성하기만 하면 됩니다.
208.67.222.222 및 208.67.220.220
컴퓨터에서 DNS를 구성하는 방법을 모르는 독자는 아래 링크를 참조하십시오.
권장 사항: DNS 해킹을 사용하여 더 빠른 인터넷 속도를 얻는 방법
감기
DNS는 전 세계 수백만 개의 웹사이트와 서버로 구성된 거대한 데이터베이스를 유지 관리하기 위한 체계적인 방법으로 등장한 이래 가장 중요한 주제였습니다. DNS가 없었다면 모든 도메인 이름과 IP 주소가 엉망이 되었을 것이고 모든 도메인 이름의 무작정 수집에서 google.com을 찾는 데만 오랜 시간이 걸렸을 것입니다.
DNS는 IP 확인 프로세스를 간소화했으며 진지하게 DNS가 없었다면 그 모든 IP 주소를 기억하기 위해 두뇌 회로를 태워버렸을 것입니다. 그리고 제가 위에서 언급한 Facebook의 IP 주소를 기억하십니까? 그리고 지금 위로 스크롤하지 마십시오. DNS가 우리를 위해 그것을 기억할 수 있기 때문에 기억이 나지 않습니다. 우리는 DNS가 지난 30년 동안 수행한 고귀한 작업에 대해 감사를 표하기만 하면 됩니다.
DNS에 대한 이 비디오 보기:
더 읽어보기: DDoS 공격은 어떻게 작동합니까?
이제 DNS와 그 목적에 대해 알게 되었습니다. 의견에 생각을 적고 기사의 링크를 사용하여 DNS 서버를 구성해 보십시오.
이 간단한 설명이 마음에 들면 짧은 바이트 섹션을 확인하십시오. 우리는 복잡한 기술 주제를 짧고 이해하기 쉬운 기사로 나눕니다.