DNS 작동 방식

게시 됨: 2016-12-15

컴퓨터는 IP라는 주소 지정 체계를 사용하여 인터넷을 통해 통신합니다. IP 주소는 마침표로 구분된 고유한 숫자 문자열입니다. 그러나 인간은 긴 숫자 문자열을 기억하는 데 서툰 경향이 있습니다. 그래서 컴퓨터에 쉽게 접근하기 위해서는 일종의 전화번호부가 필요했습니다. 컴퓨터 이름을 IP 주소에 매핑하는 전화번호부. 사람과 소프트웨어가 다른 컴퓨터 리소스에 쉽게 연결할 수 있도록.

DNS 이전에 인터넷은 ARPANET이라고 했으며 연결된 컴퓨터가 거의 없었습니다. 따라서 이름 매핑에 대한 IP 주소를 유지 관리하는 데 HOSTS.TXT 파일만 필요했습니다.

주소는 수동으로 관리되었으며 매핑을 변경하려면 SRI의 네트워크 정보 센터(이전에는 Stanford Research Institute라고 함)에 전화를 걸어야 했습니다.

80년대에는 이러한 모든 매핑을 수동으로 관리하는 것이 번거로워서 솔루션이 필요했습니다. Domain Name System이 그 솔루션이 되었습니다.

DNS가 무엇이며 어떤 문제를 해결하는지.

도메인 이름 시스템은 많은 컴퓨터 이름 목록을 유지 관리해야 하는 긴급한 필요성을 해결하기 위해 개발되었습니다. 이것은 "이름 서버"라고 하는 계층적 서버 네트워크와 통신 프로토콜에 의해 구현됩니다. 또한 자연적으로 분산되어 있어 실패 시에도 탄력적입니다. 이름 서버는 도메인 이름 레코드에 대한 정보를 저장하고 다른 서버나 클라이언트의 쿼리에 응답합니다. 이 기사의 뒷부분에서 도메인 이름 레코드가 무엇인지 자세히 알아볼 것입니다. 그러나 먼저 DNS 세계의 몇 가지 주요 개념을 살펴보겠습니다.

루트 네임서버와 그 계층

DNS는 계층적 시스템이라고 앞에서 언급했습니다. 이 계층은 세 가지 수준의 네임서버로 구성됩니다. 루트 네임서버, TLD(Top Level Domain) 네임서버 및 기타 모든 것에 대한 권한 있는 DNS 서버. 전체 인터넷에는 13개의 루트 서버가 있습니다. 분산된 특성으로 인해 여러 시스템에 걸쳐 있을 수 있으므로 물리적 시스템이 아닙니다. 그러나 그들은 어떤 이름 서버가 최상위 도메인(.com, .net 등)을 담당하는지에 대한 권위 있는 답변을 제공합니다. 이러한 루트 서버에는 이러한 TLD 아래의 모든 것을 담당하는 이름 서버와 비교할 때 가장 업데이트되고 정확한 포인터가 포함되어 있습니다.

Pressidium으로 웹사이트 호스팅

60일 환불 보장

계획 보기

최상위 도메인 네임서버

이들은 도메인의 마지막 부분을 담당하는 네임서버입니다. 대부분의 최상위 도메인을 관리하는 주체를 ICANN(Internet Corporation for Assigned Names and Numbers)이라고 합니다. TLD에는 다양한 유형이 있으며 가장 일반적인 것은 국가 코드(.uk, .nl, .us 등)입니다. 또한 .com, .net, .gov, .edu와 같이 매우 친숙한 것들도 있습니다. 이들은 제네릭이라고 합니다.

권한 있는 도메인 네임서버

이들은 특정 도메인(예: pressidium.com)을 담당하는 네임서버입니다. 여기에는 도메인 레코드가 포함되어 있으며 도메인에 대한 가장 정확한 최신 정보를 보유하고 있을 뿐만 아니라 도메인 소유자가 해당 정보를 지정했기 때문에 신뢰할 수 있다고 합니다.

도메인

도메인은 단순히 인터넷 리소스(컴퓨터, 네트워크 등) 집합을 식별하는 레이블입니다. 사람과 조직이 인터넷에서 자신의 신원을 확인하는 데 사용합니다.

레지스트라

도메인 이름 등록 기관은 도메인을 관리하는 상업 단체입니다. 그들은 최상위 도메인 레지스트리에 의해 이 기능을 수행할 권한이 있습니다. 다양한 최상위 유형의 도메인을 구매할 수 있습니다. 도메인은 귀하의 개인 데이터와 연결되어 소유권을 증명합니다.

네임서버 기록

도메인은 앞에서 언급한 것처럼 인터넷 리소스 집합을 정의하는 레이블입니다. 이름 서버에는 다른 서버나 클라이언트의 쿼리에 응답하는 이러한 정보가 들어 있습니다. 이러한 리소스는 도메인 이름 레코드라고 하는 구조화된 텍스트로 구성 및 표시됩니다.

여러 유형의 레코드가 있지만 가장 일반적으로 사용되는 레코드는 다음과 같습니다.

  • A(주소)
  • CNAME(표준 이름)
  • MX(메일 교환)

가장 기본적이고 널리 사용되는 A 레코드는 이름을 IP 주소에 매핑하는 레코드입니다. 예를 들어 다음 레코드:

website.com. IN A 23.9.62.14

도메인 website.com 을 IP 주소 23.9.62.14 에 매핑합니다.

또 다른 일반적인 방법은 동일한 이름에 대한 IP 매핑이 있는 여러 A 레코드를 사용하는 것입니다. 네임서버가 해당 도메인에 대해 쿼리할 때마다 다른 IP 주소를 반환하기 때문에 이것은 기본적이지만 효과적인 로드 밸런싱 형식을 제공합니다.

CNAME 레코드는 한 이름을 다른 A 레코드에 별칭으로 지정하는 데 사용됩니다. 이것은 일반적으로 동일한 도메인을 가리키기 위해 여러 하위 도메인(www,ftp,mail)이 필요할 때 사용됩니다(같은 서버는 web/ftp/email 서버일 수 있음). 예를 들어:

ftp IN CNAME website.com.

누군가가 ftp.website.com으로 ftp를 보낼 때 website.com으로 리디렉션되도록 ftp 별칭을 website.com 으로 만듭니다.

Τ여기에는 DNS와 이메일 사이에 특별한 관계가 있습니다. ftp 및 웹과 같은 서비스는 실제로 DNS 없이 작동할 수 있지만(즉, IP 주소를 기억할 수 있는 경우) 이메일은 그렇지 않습니다. 이메일이 제대로 작동하려면 DNS가 절대적으로 필요합니다. MX 레코드는 해당 도메인에 대한 모든 수신 이메일을 처리할 A 레코드를 정의하는 데 사용됩니다. 예를 들어 mail.website.com이 website.com으로 주소가 지정된 모든 메일을 처리하도록 하려면 다음을 입력합니다.

website.com. MX 10 mail.website.com
website.com. MX 20 mail-backup.website.com

여기에도 몇 가지 추가 작업이 있습니다.

MX 문자열 옆의 숫자는 우선 순위에 해당합니다. 첫 번째 레코드는 mail.website.com 을 우선순위 10 으로 정의하고 두 번째 레코드는 20 으로 정의합니다. 이렇게 하면 어떤 이유로 mail.website.com을 사용할 수 없게 되면 우선 순위가 20인 두 번째 항목이 인계됩니다.

이름 확인

컴퓨터 이름을 사용하여 어딘가에, 어디에서나 연결할 때 ,다음과 같은 일이 발생합니다(예를 들어 www.pressidium.com을 사용하겠습니다).

partiii-dns-in
  1. 브라우저 또는 클라이언트 소프트웨어는 구성된 DNS 서버를 조회하는 DNS 해석기라는 소프트웨어 모듈을 사용합니다(일반적으로 ISP에서 설정한 것입니다).
  2. 그런 다음 ISP의 네임서버는 답을 알고 있는지 확인하고 그렇지 않은 경우 루트 네임서버를 호출하여 누가 .com을 담당하는지 묻습니다(도메인이 pressidium.com이기 때문에)
  3. 그러면 루트 이름 서버는 .com에 대한 TLD 이름 서버 목록으로 응답합니다.
  4. ISP 네임서버는 TLD 네임서버에 접속하여 어떤 네임서버가 pressidium.com에 대한 권한이 있는지 알고 있는지 묻습니다.
  5. 마지막으로 ISP NS는 해당 도메인의 권위 있는 네임서버에 접속하여 A 레코드에 'www.pressidium.com'을 요청합니다.

이러한 일련의 호출을 재귀적이라고 하며 일반적으로 일부 서버 측 캐싱이 관련되어 있으므로 ISP 네임서버가 이 모든 문제를 겪지 않을 것입니다.

무엇 향후 계획?

앞서 우리는 DNS와 이메일이 갖는 특별한 관계에 대해 설명했습니다. 인터넷 핵심 기술 시리즈의 마지막 기사를 마치면서 이메일을 살펴보겠습니다. 전자 메일은 풍부한 역사를 가지고 있습니다. 많은 변화를 겪었고 여러 경쟁 기술에서 살아남았습니다. 지금도 만연한 "상시 접속" 소셜 인터넷 문화에서 이메일은 비즈니스와 커뮤니케이션에 필수적입니다.