728x90
반응형
📌 DNS
DNS
DNS는 도메인 네임을 IP 주소로 변환해주는 프로토콜이자 계층형 구조로 구현된 분산 데이터베이스 입니다.
호스트가 도메인 네임에 대한 IP 주소를 요청하면 DNS는 계층 질의를 통해 IP 주소를 얻어다가 줍니다.
만약 로컬 DNS에 해당 IP 주소가 캐싱되어 있다면 바로 받습니다.
빠른 응답을 제공하기 위해 DNS는 UDP 기반으로 동작하고 DNS 서버들은 요청 정보를 캐싱해둡니다.
DNS 작동 방식
사용자가 웹 브라우저에서 도메인 이름을 입력합니다.
브라우저는 해당 도메인을 DNS 서버에 보내서 IP 주소를 요청합니다.
DNS는 IP주소를 찾아서 브라우저에 보내고, 브라우저는 IP주소를 통해 서버에 요청을 보냅니다.
DNS 질의 종류
재귀적 질의는 도메인 네임에 해당하는 IP주소를 통해 DNS가 다른 DNS에게 재귀적으로 IP 주소를 물어보는 것을 뜻합니다.
반복적 질의는 IP 주소를 찾기 위해 반복적으로 질의하는 것입니다.
로컬 DNS가 루트 DNS에게 IP주소를 물어봤는데 없으면 TLD DNS에게 물어보고 또 없으면
authoriative DNS에 반복적으로 물어보는 것을 예시로 들 수 있습니다.
DNS 서버에게 IP 주소를 요청할 때, UDP를 사용하는 이유
DNS는 신뢰성보다 속도가 더 중요한 서비스이기 때문에 연결 설정에 드는 비용이 없는 UDP를 사용합니다.
DNS는 연결 상태를 유지할 필요가 없고, TCP보다 많은 클라이언트를 수용할 수 있는 UDP를 사용합니다.
DNS 레코드
DNS 서버는 데이터베이스 서버의 한 유형이며, 클라이언트로부터 질의를 받았을 때 그에 맞는 데이터를 응답해야 합니다.
데이터베이스의 한 항목(row)을 DNS 서버에서는 리소스 레코드라고 부릅니다.
- A
- IP 주소와 도메인 주소를 매핑할 때 사용하는 레코드입니다.
- CNAME
- 기존 도메인에 별명을 붙인 레코드입니다.
- TXT
- 텍스트를 입력할 수 있는 레코드입니다.
- 개인 프로젝트에서 무료 SSL 인증서를 등록하는 과정에서 사용하였습니다.
728x90
반응형
'CS' 카테고리의 다른 글
[네트워크] TCP (3) | 2023.11.22 |
---|---|
[네트워크] UDP (0) | 2023.11.21 |
[데이터베이스] 데이터베이스 트랜잭션, 회복 (0) | 2023.10.12 |
Token과 Session, Cookie와 Local Storage (0) | 2023.02.13 |