호스트 레코드와 A 레코드의 차이점

호스트 레코드와 A 레코드의 차이점

호스트 레코드와 A 레코드의 실제 차이점은 무엇입니까? 둘 다 IP를 가리키고 있는데 차이점은 무엇입니까?

답변1

실제 DNS 사양에는 호스트 레코드라는 것이 없습니다. 호스트 레코드는 일반적으로 논리적 구조입니다.DDI(DNS, DHCP 및 IPAM)같은 솔루션인포블록스다른 사람. 이는 다양한 DNS 레코드 유형(A, AAAA, PTR, CNAME 등)과 "호스트"와 관련된 기타 메타데이터로 구성됩니다.

답변2

다른 사람들이 언급했듯이 DNS 사양에는 "호스트" 레코드와 같은 것이 없습니다. 대부분의 사람들은 호스트 이름과 DNS 레코드를 혼동합니다. DNS는 A, AAAAPTR레코드 유형 으로 표시되는 호스트 이름과 IP 주소 간의 관계를 저장하는 데 자주 사용되기 때문입니다 .

DNS는 그 이상입니다.

  • DNS는 다양한 정보를 저장하는 데 사용할 수 있는 널리 분산된 계층적 데이터베이스입니다. 이름을 IP 주소로 매핑하거나 그 반대로 매핑하는 데 특화되어 있습니다. 왜냐하면 그것이 인터넷이 그러한 데이터베이스에서 가장 필요로 하는 것이기 때문입니다.
  • 모든 호스트 이름은 합법적인 DNS 레이블입니다. (레이블 = DNS 레코드의 왼쪽)
  • 모든 DNS 레이블이 합법적인 호스트 이름 엔터티는 아닙니다.사람들이 혼란스러워하는 곳이 바로 여기입니다.Wikipedia는 이 주제를 꽤 잘 다루고 있습니다., 그러나 짧은 버전은많은호스트 이름에 사용하기에 적합하지 않은 DNS에 대한 구문 검사를 통과하는 문자입니다. 이는 DNS가 호스트 이름 사양의 노예가 아니라는 매우 중요한 힌트입니다.

위의 주제를 마무리하고 강화하기 위해 두꺼운 텍스트 벽을 여기에서 떨어뜨릴 것입니다.RFC-2181:

  1. 이름 구문

때때로 도메인 이름 시스템은 인터넷 호스트 이름을 데이터에 매핑하고 인터넷 주소를 호스트 이름에 매핑하는 목적만 제공한다고 가정합니다. 이것은 정확하지 않습니다. DNS는 일반적인(다소 제한적이지만) 계층적 데이터베이스이며 거의 모든 목적을 위해 거의 모든 종류의 데이터를 저장할 수 있습니다.

DNS 자체는 리소스 레코드를 식별하는 데 사용할 수 있는 특정 레이블에 한 가지 제한만 적용합니다. 그 한 가지 제한 사항은 라벨 길이와 전체 이름과 관련이 있습니다. 한 레이블의 길이는 1~63옥텟으로 제한됩니다. 전체 도메인 이름은 255옥텟(구분 기호 포함)으로 제한됩니다. 길이가 0인 전체 이름은 DNS 트리의 루트를 나타내는 것으로 정의되며 일반적으로 "."로 작성 및 표시됩니다. 이러한 제한 사항은 제쳐두고 모든 바이너리 문자열을 리소스 레코드의 레이블로 사용할 수 있습니다. 마찬가지로 모든 이진 문자열은 도메인 이름을 해당 값의 일부 또는 전부(SOA, NS, MX, PTR, CNAME 및 추가할 수 있는 기타 항목)로 포함하는 모든 레코드의 값으로 사용될 수 있습니다. DNS 프로토콜 구현에서는 사용할 수 있는 레이블에 어떠한 제한도 가해서는 안 됩니다. 특히 DNS 서버는 일부 DNS 클라이언트 프로그램에서 허용되지 않는 레이블이 포함되어 있다는 이유로 영역 서비스를 거부해서는 안 됩니다. 의심스러운 것으로 간주될 수 있는 레이블이 포함된 기본 영역을 로드할 때 경고를 발행하거나 심지어 로드를 거부하도록 DNS 서버를 구성할 수 있지만 기본적으로 이런 일이 발생해서는 안 됩니다.

그러나 DNS 데이터를 사용하는 다양한 애플리케이션에는 해당 환경에서 허용되는 특정 값에 대한 제한이 있을 수 있습니다. 예를 들어, 모든 이진 레이블에 MX 레코드가 있을 수 있다고 해서 모든 이진 이름이 전자 메일 주소의 호스트 부분으로 사용될 수 있다는 의미는 아닙니다. DNS 클라이언트는 DNS 조회 요청의 키로 사용하는 값과 DNS에서 반환하는 값에 대해 상황에 따라 적절한 제한을 가할 수 있습니다. 클라이언트에 그러한 제한 사항이 있는 경우 해당 데이터를 사용하기 전에 클라이언트가 준수하는지 확인하기 위해 DNS의 데이터를 검증하는 것은 전적으로 클라이언트의 책임입니다.

마지막 단락이 특히 중요합니다. DNS 표준은 저장하는 것이 합법적이라는 측면에서 매우 개방적입니다.DNS 내에서하지만 다른 표준에 따라 서비스 방식이 결정될 수 있습니다.소비하다DNS이며 애플리케이션이 그곳에서 찾아야 할 것과 기대하지 말아야 할 것에 제한을 가할 수 있습니다. 이는 RFC에 의해 정의된 호스트 이름의 경우에도 마찬가지입니다.밖의DNS 표준 중 하나입니다.

답변3

DNS는 A 레코드를 가능한 레코드 유형 중 하나로 지정합니다. A 레코드를 호스트 레코드라고도 합니다. 그것들은 똑같지만 공식적으로는 "A 레코드"라고 부르기 때문에 "A 레코드"를 사용하는 것이 더 좋습니다.

서로 다른 의미로 보이는 상황에서 두 개념을 모두 접하셨나요? 나는 Infoblox DNS 어플라이언스가 '호스트 개체' 개념을 지원한다는 것을 알고 있습니다. 호스트 개체는 DNS 서버의 A 및 PTR 레코드로 변환되는 구성의 데이터 구조입니다.

답변4

네, 저는 Infoblox와 거래하고 있었습니다. 그리고 여러분 말이 맞았습니다. 호스트 레코드는 A 레코드와 PTR 레코드를 동시에 생성하기 위해 Infoblox에서 만든 개체입니다.

또한 개별 정방향 및 역방향 조회도 생성할 수 있습니다. 대규모 데이터베이스를 검색하는 동안 약간 느리긴 하지만 Infoblox는 많은 일에 좋습니다.

의견을 보내주셔서 감사합니다. 많이 배웠습니다 :)

관련 정보