728x90
DNS
IP Address (Internet Protocol address)
- 인터넷에 연결되어 있는 모든 컴퓨터들이 논리적으로 갖게 되는 고유 주소
- OSI의 3계층(Network Layer), 인터넷 프로토콜에서는 3계층(Internet Layer)에 위치
- 32자리로 이루어진 2진수 -> 2^32개(42억9천개)의 IP 수가 존재
GeoIP
- IP Address의 지역 정보
- MAXMIND 유료 서비스(GeoIP2) : Country / City / ISP
- 무료 버전(GeoLite2)도 존재하나 정확도가 떨어짐
Domain Name System
- TCP/IP 프로토콜을 사용하는 네트워크 안에서 Host 식별 목적으로 IP 사용
- 숫자 주소 대신 이름 사용을 선호 -> 주소와 이름 Mapping
- DNS 서버 간 이름 정보 전송 위해 사용
- IP 주소와 관련된 호스트 이름 식별, MX 레코드 같이 다른 이름 검색하는데 사용
- UDP와 TCP 포트 53번을 사용
- UDP - 일반적인 DNS 조회를 할 경우 사용
- TCP - Zone Transfer(영역 전송)와 512Byte를 초과하는 DNS 패킷 전송해야 할 경우
도메인 네임 스페이스 (Domain Name Space)
- DNS가 저장, 관리하는 계층적 구조
네임 서버 (Name Server)
- 숫자로 표현된 IP 주소를 변환시켜 주기 위해서 도메인 네임 스페이스의 트리 구조에 대한 정보가 필요하며, 이 정보를 가지고 있는 서버
FQDN (Full Qualified Domain Name) : 정규화된 도메인 이름
DNS 동작 방식
- DNS 캐시, Hosts 파일에 없으면 시스템에 설정된 DNS 서버인 로컬 DNS 서버에 질의
- 클라이언트(브라우저)에서 /etc/resolv.conf에 지정되어 있는 네임 서버로 www.naver.com에 대한 요청 전달
- 로컬 DNS 서버에 해당 정보가 없으면 루트 DNS 서버에 질의를 보냄
- 루트 DNS 서버에 정보가 없으면 com 등 최상위 레벨 도메인을 관리하는 DNS 서버에 대한 정보 보내줌
- 로컬 DNS 서버는 최상위 DNS 서버에 다시 질의 (.com)
- 최상위 DNS 서버는 해당 정보가 없을 경우 다시 그 주소로 질의하도록 로컬 DNS 서버에 전송 (www.naver.com)
- 로컬 DNS 서버는 마지막으로 찾는 주소에 대한 DNS 서버에 질의(www.naver.com)
- 주소의 DNS 서버로부터 찾는 주소에 대한 IP 주소를 얻음
- 해당 IP 주소를 클라이언트에 전달
DNS 구조 - 레코드
A
- Local DNS 서버가 상위 DNS 서버로부터 단말이 요청한 IP 주소를 얻어올 경우
- IPv4 Address로 매핑
AAAA
- Local DNS 서버가 상위 DNS 서버로부터 단말이 요청한 IP 주소를 얻어올 경우
- IPv6 Address로 매핑
NS(Name Server)
- 상위 DNS 서버가 요청한 hostname의 IP 주소를 가지고 있지 않아 다른 하위 DNS 서버의 IP 주소를 알려 줄 경우
CNAME(Canonical Name)
- 상위 DNS는 Local DNS 서버에게 요청한 Hostname(www.naver.com)이 다른 별칭(www.naver.com.nheos.com)으로 사용되고 있음을 알려주고
- 별칭에 대한 IP는 다른 DNS에게 요청하도록 응답
MX(Mail Exchange)
- 메일 도메인의 정확한 메일 서버에게 전달되도록 도메인의 메일 교환 서버 지정
- 도메인의 사용자 계정을 hst로 하는 서버로 도메인 이메일 전달
TXT
- 도메인 외부 소스에 다양한 목적으로 사용될 수 있는 텍스트 정보 제공
PTR(Reverse Domain)
- 도메인이 아닌 IP를 질의하여 도메인을 확인하는 방법
SOA
- 해당 도메인에 대해서 네임 서버가 인증된 데이터를 가지고 있음을 의미
- 해당 도메인에 대해서 네임 서버가 최적의 상태를 유지할 수 있도록 함
DNS 응답
- DNS는 쿼리와 응답 두 개의 메시지 타입
- 쿼리 - 헤더, 질의 기록
- 응답 - 헤더, 질의 기록, 응답 기록, 권한 기록, 추가 기록
QUESTION SECTION
- DNS 질의 내용을 표시
ANSWER SECTION
- DNS 질의 사항에 대한 DNS 응답 RR(Resource Record) 표시
AUTHORITY SECTION
- DNS 응답 RR이 속한 도메인 존의 NS RR 정보
ADDITIONAL SECTION
- 부가적인 RR 정보 표시
GSLB (Global Server Load Balancing)
- AWS : Route 53
- Azure : Traffic Manager
- GCP : Cloud DNS
- CloudFlare
- Akamai : Edge DNS
- CDNetworks : Cloud Load Balancer
728x90