도메인 네임과 DNS, 그리고 URL 및 URI
1. 네트워크 상의 식별 체계
네트워크에서 호스트와 자원을 식별하기 위한 주요 정보:
1. 호스트 식별: 메시지를 송수신하는 주체를 특정.
- IP 주소: 호스트 식별의 기본 정보.
- 도메인 네임: IP 주소 대신 사람이 이해하기 쉬운 방식으로 호스트를 특정.
- 자원 식별: 네트워크에서 송수신되는 정보(리소스)를 특정.
- URI: 자원의 식별자.
- URL: 위치 기반의 식별.
- URN: 이름 기반의 식별.
2. 도메인 네임
- 정의:
- 사람이 이해하기 쉬운 문자열 형태의 호스트 식별 정보.
- IP 주소에 대응되며, 이를 대체하여 사용.
- 필요성:
- IP 주소의 외우기 어려움과 변경 가능성 해결.
- 도메인 네임은 IP 주소와 동적으로 연결되므로 관리 용이.
- 예시:
www.example.com
, google.com
.
도메인 네임의 계층 구조
- 도메인 네임은 점(
.
)을 기준으로 계층적으로 구성.
- 구조:
- 루트 도메인: 마지막 점(
.
). 생략 가능.
- 최상위 도메인(TLD):
com
, org
, kr
등.
- 2단계 도메인:
example
, google
등.
- 하위 도메인:
www
, mail
등.
FQDN (Fully Qualified Domain Name)
- 정의: 하나의 호스트를 특정하기 위한 전체 도메인 네임.
- 예시:
www.example.com.
(루트 도메인 포함).
서브도메인
- 다른 도메인 네임을 포함하는 하위 도메인.
- 예시:
news.google.com
은 google.com
의 서브도메인.
3. DNS (Domain Name System)
- 역할: 도메인 네임과 IP 주소 간의 매핑 관리.
- 구조:
- DNS 서버는 계층적으로 분산 관리.
- 주요 서버 유형:
- 루트 네임 서버: TLD 네임 서버의 주소를 반환.
- TLD 네임 서버: 2단계 도메인의 네임 서버 주소 반환.
- 책임 네임 서버: 최종적으로 IP 주소를 반환.
DNS 작동 방식
- 클라이언트 요청: 로컬 DNS 서버에 도메인 네임 질의.
- DNS 리졸빙:
- 루트 → TLD → 책임 네임 서버 순으로 질의.
- 두 가지 방식:
- 재귀적 질의: DNS 서버가 단계별로 질의하고 최종 응답 반환.
- 반복적 질의: 클라이언트가 각 DNS 서버에 직접 반복 질의.
DNS 캐시
- 질의 응답 결과를 임시 저장하여 중복 질의 방지.
- TTL(Time To Live): 캐시의 유효 기간.
- 정의: 네트워크 상의 자원을 식별하기 위한 통일된 방식.
- 종류:
- URL (Uniform Resource Locator): 자원의 위치 기반 식별.
- URN (Uniform Resource Name): 자원의 이름 기반 식별.
URL (위치 기반 식별자)
URN (이름 기반 식별자)
- 자원의 이름을 통해 식별.
- 위치 변화와 관계없이 자원을 특정 가능.
- 예시:
- ISBN:
urn:isbn:0451450523
- RFC:
urn:rfc:2141
- 제한점: URL에 비해 널리 사용되지 않음.
5. HTTP와 URL
- HTTP 프로토콜:
- 자원을 요청/응답하는 데 사용.
- URL을 기반으로 자원을 요청.
- 쿼리의 역할:
6. 주요 개념 요약
구분 | 정의 | 예시 |
---|
도메인 네임 | 사람이 읽기 쉬운 호스트 식별 정보 | www.google.com |
DNS | 도메인 네임과 IP 매핑 관리 시스템 | 8.8.8.8 (Google 퍼블릭 DNS) |
URI | 자원을 식별하는 통일된 식별자 | URL과 URN 포함 |
URL | 자원의 위치 기반 식별자 | https://www.example.com/home |
URN | 자원의 이름 기반 식별자 | urn:isbn:0451450523 |
질문이나 추가 설명이 필요하다면 언제든 말씀해주세요! 😊