의심할 바 없이 익숙하시겠지만, 웹사이트를 탐색하려면 브라우저에 해당 도메인 이름을 입력해야 합니다. 그러면 브라우저가 꺼지고 요청한 웹사이트가 로드됩니다. URL에 특정 페이지 이름을 지정하면 브라우저는 웹 서버에서 해당 특정 페이지를 요청합니다. 그것이 관련된 모든 복잡성이라고 가정하기 쉬울 수도 있지만, 그 이상의 것이 있습니다.
트래픽을 올바른 위치로 라우팅하기 위해 라우터는 라우팅 테이블을 유지 관리합니다. 라우팅 테이블은 목적지에 따라 라우터가 트래픽에 사용해야 하는 물리적 연결을 추적하는 신호음을 울립니다. 그러나 도메인 이름을 사용하는 경우 이러한 라우팅 테이블을 관리하는 것은 힘든 작업입니다.
모든 웹사이트가 서로 다른 도메인 이름을 가지면 테이블 크기가 엄청나고 검색이 비효율적입니다. 대신 라우터는 IP 주소를 사용하여 트래픽을 라우팅합니다. IP 주소는 숫자이며 여러 도메인을 호스팅합니다. 라우팅 테이블은 훨씬 더 짧고 더 쉽게 검색될 수 있습니다.
불행하게도 IP 주소는 사람이 읽을 수 없습니다. 적어도 그들은 확실히 기억에 남지 않습니다. Technipages.com을 잘 기억하실 수도 있지만, IP 주소 104.18.0.74를 인식하는 것을 훨씬 덜 선호하고 IPv6 주소 2606:4700:20::681a: 14a를 기억할 가능성도 훨씬 적습니다. 사람에게는 기억에 남는 도메인 이름을 사용하고 컴퓨터에는 효율적인 IP 주소를 사용할 수 있도록 합니다. 번역 메커니즘을 사용해야 합니다. 그 번역 시스템은 DNS입니다.
DNS란?
DNS는 도메인 이름 시스템을 의미합니다. 도메인 이름을 IP 주소로 변환하는 프로토콜입니다. 프로토콜의 전제는 DNS 서버에 DNS 요청을 하는 것입니다. 요청에는 번역하려는 도메인 이름이 포함되어 있습니다. 그런 다음 요청은 장치에 구성된 DNS 서버로 이동합니다. 이 서버가 대답을 모르면 요청을 루트 DNS 서버로 재귀적으로 전달합니다. 어떤 시점에서는 하나의 DNS 서버에 캐시된 항목이 있게 됩니다. 또는 요청된 도메인에 대한 권한 있는 DNS 서버에 대한 항목입니다.
메모: 권한 있는 DNS 서버는 해당 도메인에 대한 데이터가 로컬 파일에 구성되어 있는 서버입니다. 다른 모든 DNS 서버는 단지 이 답변을 캐시할 뿐 신뢰할 수 있는 서버는 아닙니다.
도메인에 대한 신뢰할 수 있거나 캐시된 DNS 결과가 발견되면 해당 결과는 체인을 통해 최종적으로 장치로 다시 전달됩니다. 그런 다음 체인의 각 DNS 서버는 결과를 캐시하여 향후 요청을 더 빠르게 해결할 수 있습니다.
권한 있는 DNS 서버에 저장된 실제 데이터는 DNS 영역입니다. DNS 또는 리소스 레코드(₩₩) 요청한 도메인과 연결된 항목이 반환됩니다.
DNS 레코드의 구조
DNS 레코드는 DNS 구문을 사용하여 작성됩니다. 형식은 이름, TTL, 레코드 클래스, 레코드 유형 및 레코드 데이터를 사용합니다. TTL 및 Record 클래스는 두 형식 모두 유효하므로 저장될 수 있습니다. 기본 TTL(생존 시간)는 명시적으로 지정된 TTL 없이 영역의 모든 DNS 레코드에 적용되는 영역 파일의 시작 부분에 지정할 수도 있습니다.
이름 필드는 레코드가 적용되는 URL을 정의합니다. 'technipages.com'일 수 있습니다. "ww.technipages.com" .technipages.com" 와일드카드 별표가 지원됩니다. 지정하는 도메인이 해당 영역의 도메인과 동일한 경우 "기호를 사용할 수 있습니다.
TTL은 권한이 없는 DNS 서버가 응답을 캐시할 수 있는 기간을 지정합니다. 이 시간이 길수록 권한 있는 DNS 서버에 표시되는 트래픽이 줄어듭니다. 그러나 업데이트가 전파되는 데 시간이 더 오래 걸린다는 의미이기도 합니다.
Record 클래스는 거의 항상 "N"입니다. 이는 인터넷 레코드를 정의합니다. 그러나 "H" 값을 사용하는 Chaosnet과 같이 사용률이 상당히 낮은 소수의 네트워크가 운영되고 있습니다.
레코드 유형은 제공되는 DNS 레코드의 유형을 정의합니다. 예를 들어 IPv4 주소는 레코드 유형 A로 정의되는 반면 이메일 서버는 MX 유형으로 정의됩니다. 다음 섹션에서는 보다 일반적인 레코드 유형 중 일부를 다룹니다.
레코드 데이터에는 실제 확인된 값이 포함됩니다. 이는 일반적으로 다른 IP 주소이지만 다른 도메인 이름일 수도 있습니다. 다시 말하지만, 일반적으로 다른 도메인 이름이 지정된 경우입니다. 해당 도메인 이름은 영역 파일의 다른 위치에 있는 IP 주소로 확인됩니다. 하지만 항상 그런 것은 아닙니다. Zone 파일에 세미콜론 "." 뒤에 설명을 추가할 수 있습니다. 이러한 설명은 DNS 응답에 포함되지 않습니다.
DNS 레코드 유형
DNS에서 가장 일반적인 레코드 유형은 "주소"를 나타내는 "레코드"입니다. “기록은 항상 IPv4 주소를 반환합니다. IPv6 주소의 레코드 유형은 "AAA"입니다. 이는 128비트 길이의 IPv6 주소가 32비트 IPv4 주소보다 4배 길다는 것을 반영합니다.
"NAME" 레코드 유형은 Canonical NAME을 나타내며 "요청된 도메인이 이 도메인과 동일한 IP를 가지고 있습니다"라고 말하는 데 사용됩니다. CNAME 레코드는 A, AAAA 또는 기타 CNAME 레코드를 가리킬 수 있습니다. 그러나 CNAME을 다른 CNAME 레코드로 지정하는 것은 재귀 요청으로 인해 사용자에 대한 요청 시간이 연장되므로 적극적으로 권장되지 않습니다. 이메일 서버는 Mail eXchange를 나타내는 "X" 레코드 유형을 사용합니다. MX 레코드의 레코드 값에는 우선순위 번호와 도메인 이름이 포함되어야 합니다. CNAME 레코드와 유사하게 MX 레코드는 도메인 이름을 가리켜야 합니다.
"S" 레코드 유형은 요청된 도메인에 대한 권한 있는 DNS 서버를 정의합니다. NS 레코드는 두 개 이상 있을 수 있지만 항상 도메인을 가리켜야 합니다. SOA 레코드는 권한 시작을 정의합니다. 모든 Zone 파일에는 하나가 포함되어야 합니다. 값이 변경되었는지 확인하기 전에 DNS 서버가 기다려야 하는 시간과 같은 관리 세부 사항을 설명합니다.
이 정보가 사용되는 방법
따라서 DNS 요청은 클라이언트로부터 숨겨집니다. 대다수의 프로그램은 사용자가 DNS 프로토콜의 존재를 결코 알 수 없는 지점까지 백그라운드에서 조용히 DNS 요청을 실행합니다. 일부 도구를 사용하면 네트워크 트래픽을 모니터링하여 네트워크에 나타나는 DNS 트래픽을 확인할 수 있습니다. Windows의 "조회" 유틸리티와 같은 다른 도구를 사용하면 DNS 요청을 할 수 있습니다. 이러한 도구는 일반적으로 사람이 읽을 수 있는 방식으로 출력 형식을 지정하여 IP 주소 또는 응답에서 반환된 주소와 같은 의미 있는 응답만 제공합니다.
결론
DNS 레코드는 권한 있는 DNS 서버에 있는 DNS 영역 파일의 한 줄입니다. 각 줄에는 레코드 유형과 실제 값을 정의하는 값 선택이 포함됩니다. 권한이 없는 DNS 서버는 TTL 기간 동안 이러한 DNS 레코드를 볼 때 캐시할 수 있습니다. 사용자 장치는 DNS 요청을 하고 응답을 기다린 다음 정의된 IP 주소에 대해 HTTPS 요청 또는 사용 중인 소프트웨어에 따라 다른 프로토콜을 만듭니다.