크래프톤 정글(C언어 WEEK 5 ~ 8)

DNS(Domain Name System)

devkty 2025. 5. 6. 10:36
728x90

DNS(Domain Name System)

기본적으로 인터넷 클라이언트와 서버는 서로 통신할 때 IP주소를 사용합니다. 그러나 사람들이 기억하기 어려워서 IP 주소를 도메인 이름(문자, 숫자)으로 매핑하여 정의를 했습니다. 이걸 DNS라고 합니다.

ARPANET 시절에는 일정 주기마다 호스트 명단 파일을 받아서 사용했으나 인터넷 규모와 호스트 수가 증가함에 따라 RFC 1034로 대체되어 새로운 명명 체제로 바뀌었습니다.

→ 사람이 기억하기 어려운 시스템의 IP 주소를 호스트의 이름과 매핑하여 주는 거대한 분산 네임 시스템

이름 체계

도메인은 계층구조를 형성하고 있습니다.

매핑 순서

각 도메인 이름은 계층 구조에서 자신의 위치를 인코드 합니다.
2단계 도메인 이름을 받은 후에는 서브도메인 내에서 어떤 새로운 이름도 자유롭게 생성할 수 있습니다.

개념적으로 DNS DB는 수백만개의 호스트 엔트리로 구성되어 있고, 이들 각각은 도메인 이름의 집합과 IP 주소 집합 사이의 매핑을 정의합니다. 수학적인 의미에서 각 호스트 엔트리는 도메인 이름과 IP 주소들의 동일성 클래스로 생각할 수 있습니다.

nslookup

리눅스에서 NSLOOKUP 프로그램들로 DNS 매핑된 IP 주소들을 확인할 수 있다.
각 인터넷 호스트는 지역적으로 정의된 도메인 이름 localhost를 가지고 있고 항상 루프백 주소 127.0.0.1에 매핑된다.

728x90

'크래프톤 정글(C언어 WEEK 5 ~ 8)' 카테고리의 다른 글

Tiny 서버 C언어 구현  (2) 2025.05.07
WEEK 08 C언어 TIL(5월6일 화요일)  (1) 2025.05.07
TCP / UDP  (1) 2025.05.06
IP(Internet Protocol)  (0) 2025.05.06
HTTP(Hyper Text Transfer Protocol)  (1) 2025.05.06