DNS, IP
DNS, IP
IP
IP 가 인터넷 프로토콜의 약자이고, IP 주소라고 하면, 우리가 네트워크에서 주소 지정 가능 위치라고 생각할 수 있다.
모든 주소는 해당 네트워크 내에서 고유하다.
일반적인 주소 형식인 IPv4 는 다음과 같이 4개의 숫자 세트로 작성된다.
121.121.121.121
DNS
... DNS는 IP 주소 및 기타 데이터를 저장하고 이름별로 쿼리할 수 있게 해주는 계층형 분산 데이터베이스입니다. 즉, DNS는 컴퓨터가 서로 통신하는 데 사용하는 숫자 IP 주소로 변환되는, 쉽게 읽을 수 있는 도메인 이름의 디렉터리입니다.
DNS는 Domain Name System의 약자이다.
DNS 에 대해서 검색해보면 계층형 분산 데이터베이스라고 설명하는 글을 찾을 수 있다.
우리가 어떤 사이트에 접속할 때, 보통 IP대신 도메인으로 접속을 한다.
도메인 이름을 사용하면, 입력한 도메인을 실제 네트워크 상에서 사용하는 IP 주소로 바꾸고 해당 IP 주소로 접속하는 과정이 필요하다.
이러한 과정 + 전체 시스템을 DNS라고 한다. 이 시스템은 전 세계적으로 약속된 규칙을 공유한다.
DNS 는 텍스트 기반 도메인을 숫자 기반 IP로 변환하는 기술 + 시스템을 뜻한다.
DNS 구성 요소
DNS는 아래 세가지 요소로 구성되어있다.
도메인 네임 스페이스(Domain Name Space)
네임 서버(Name Server) = 권한 있는 DNS 서버
리졸버(Resolver) = 권한 없는 DNS 서버
인터넷을 개발한다고 해보자.
우선 특정 도메인으로 특정 IP를 찾는(Key-Value처럼) 데이터베이스가 필요하다.
그리고 데이터가 어디 저장이 됐는지 찾을 프로그램들이 필요할 것이다.
IP를 찾았으면 당연히 해당 IP 주소로 이동시켜주는 프로그램도 필요하다.
과거의 천재들은 이 요구사항을 충족하기 위해서 아래의 3가지를 개발했다.
Domain Name Space라는 규칙으로 도메인 이름 저장을 분산한다.Name Server가 해당 도메인 이름의 IP 주소를 찾는다.Resolver가 DNS 클라이언트 요청을 네임서버로 전달하고, 찾은 정보를 클라이언트에게 전달한다.
Public DNS 와 Private DNS
퍼블릭 DNS
일반적으로 인터넷 서비스 제공업체(ISP)가 기업에 IP 레코드를 제공한다.
이러한 레코드는 일반 대중에게 제공되며, 사용 중인 디바이스 또는 디바이스에 연결된 네트워크에 상관없이 누구나 액세스할 수 있다.
아무나 접근 가능
프라이빗 DNS
프라이빗 DNS는 회사의 방화벽 뒤에 존재한다.
내부 사이트의 레코드만을 보관한다는 점에서 퍼블릭 DNS와 다르다.
프라이빗 DNS의 범위는 내부 사이트 및 사용되는 서비스의 IP 주소를 기억하는 것으로 제한되며, 프라이빗 네트워크 외부에서 액세스할 수 없다.
내부용. 아무나 접근 불가능.
DNSSec
DNSSec 은 캐시 오염을 방지하기 위해서 사용한다.
DNS 캐시 오염은 공격자가 입력된 IP 주소를 손상시키는 경우를 말한다.
이렇게 거짓으로 입력된 IP 주소를 전세계 ISP 에 전파하고, 캐시되어 퍼블릭 DNS 검색에 사용된다.
DNSSec 은 안전한 DNS를 사용하고, 암호화된 서명을 DNS 레코드에 할당한다.
따라서 레코드를 원래 상태와 다르게 변경할 수 없게 된다.
HTTPS와 비슷하게 DNSSec은 쿼리 프로세스를 느리게 하는 강력한 암호화를 수행하지 않고도 DNS 레코드에 액세스할 수 있도록 보안 계층을 추가한다.
Last updated