CSS 1타 강사 · CONCEPT 09/25
Browser가 domain name을 실제 IP address로 바꾸는 동안 누가 누구에게 물을까요?
Client는 recursive resolver에 묻고, resolver는 필요하면 root → TLD(.de) → authoritative server 순서로 찾아갑니다. 받은 위임과 답은 TTL 동안 cache할 수 있습니다. A/AAAA는 주소, MX는 메일 서버, NS는 nameserver 정보를 나타냅니다.
전문 용어를 보기 전에 이 장면부터 잡으세요
학교 대표번호(root)가 학과 사무실(TLD)을 알려 주고, 학과가 담당 연구실(authoritative)을 알려 주는 방식입니다.
주소록 한 권이 아니라 위임된 계층 구조입니다
00
한 장면으로 문제를 시작해 봅시다
이번 페이지에서 끝까지 따라갈 예시
Client가 www.example.org의 A record를 처음 조회해 local cache에 답이 없는 상황을 따라갑니다.
비유와 실제 시스템을 정확히 연결하기
- 대신 전화해 주는 안내 직원recursive resolver
- 국가별 부서를 알려 주는 대표 안내root server
- 담당자의 최종 주소록authoritative server
이 예시에서 사람·장치·데이터·화살표를 먼저 찾습니다. 아직 용어를 완벽히 몰라도 “누가 무엇을 가지고, 어떤 처리를 거쳐, 무엇이 달라지는가”를 말할 수 있으면 출발점은 충분합니다.
01
긴 이름을 작은 용어로 분리하기
한 제목에 여러 단어가 들어 있어도 같은 기능을 뜻하지 않습니다. 아래 카드를 하나씩 읽고 각 용어의 대상과 역할을 따로 잡으세요.
Root부터 authoritative server까지 이름을 찾는 순서
DNS 이름은 오른쪽에서 왼쪽으로 계층을 이룬다. tu-darmstadt.de에서 de는 top-level domain(TLD), tu-darmstadt는 그 아래 domain이다. Root nameserver는 최종 IP를 보통 직접 주지 않고 .de TLD nameserver를 알려 준다. TLD server는 tu-darmstadt.de의 authoritative nameserver를 알려 주고, authoritative server가 최종 A, AAAA, MX 같은 record를 답한다.
TERMS FROM ZERO
Root부터 authoritative server까지 이름을 찾는 순서 핵심 용어
아래 단어는 이미 안다고 가정하지 않습니다. 먼저 쉬운 뜻을 읽고, 본문에서 같은 단어가 나오면 이 정의로 다시 바꾸어 읽으세요.
Root server
최상위에서 `.de`, `.com` 같은 TLD의 nameserver 방향을 알려주는 DNS server입니다.
TLD server
특정 top-level domain 아래의 authoritative server 방향을 알려줍니다.
Authoritative server
해당 zone의 실제 DNS record에 권한 있는 최종 답변자입니다.
Referral
최종 IP 대신 다음에 물어볼 nameserver 정보를 주는 응답입니다.
DNS와 resolver, cache를 처음부터 이해하기
사람은 tu-darmstadt.de 같은 domain name을 사용하지만 packet은 IP address로 전달된다. DNS는 이름을 IP와 다른 정보로 바꾸는 분산 데이터베이스다. 사용자의 질문을 대신 처리하는 프로그램이 recursive resolver이고, authoritative nameserver는 특정 zone의 공식 record를 가진다. Resolver는 받은 답을 TTL 동안 cache해 같은 질문을 빠르게 답한다.
TERMS FROM ZERO
DNS와 resolver, cache를 처음부터 이해하기 핵심 용어
아래 단어는 이미 안다고 가정하지 않습니다. 먼저 쉬운 뜻을 읽고, 본문에서 같은 단어가 나오면 이 정의로 다시 바꾸어 읽으세요.
DNS
domain 이름을 IP 주소 등 resource record로 찾아주는 분산 이름 시스템입니다.
Recursive resolver
client 대신 여러 DNS server에 질의해 최종 답을 찾아주는 server입니다.
Cache
이전에 받은 DNS 답을 일정 시간 저장해 재사용하는 공간입니다.
TTL
DNS record를 cache에서 얼마나 오래 재사용할 수 있는지 나타내는 시간값입니다.
DNS Resource Record 한 줄 읽는 법
DNS의 정보 한 줄을 Resource Record(RR)라고 한다. 일반 형식은 NAME TTL CLASS TYPE RDATA다. NAME은 어느 이름의 정보인지, TTL은 몇 초 동안 cache할 수 있는지, CLASS의 IN은 Internet, TYPE은 정보 종류, RDATA는 실제 값이다. MX record는 해당 domain의 메일을 받을 mail server와 우선순위 값을 나타낸다.
TERMS FROM ZERO
DNS Resource Record 한 줄 읽는 법 핵심 용어
아래 단어는 이미 안다고 가정하지 않습니다. 먼저 쉬운 뜻을 읽고, 본문에서 같은 단어가 나오면 이 정의로 다시 바꾸어 읽으세요.
Resource Record
DNS에서 이름, type, 값, TTL 등을 담는 한 줄의 정보 단위입니다.
A / AAAA
Domain 이름을 각각 IPv4 또는 IPv6 주소에 연결하는 record type입니다.
MX
Domain의 mail을 받을 mail server와 우선순위를 지정하는 record입니다.
NS
해당 DNS zone의 authoritative nameserver를 나타내는 record입니다.
02
실제 시스템에서는 이 순서로 움직입니다
예시를 단계별로 해체하기
- 1단계Client의 stub resolver가 recursive resolver에 질문합니다.
- 2단계Resolver가 root server에서 .org TLD server의 위치를 referral로 받습니다.
- 3단계Resolver가 .org TLD에서 example.org authoritative server를 안내받습니다.
- 4단계Authoritative server가 www.example.org의 A 또는 AAAA record를 답합니다.
- 5단계Resolver는 TTL 동안 답과 referral을 cache하고 client에 최종 IP를 반환합니다.
- 6단계다음 조회에서는 유효한 cache가 있으면 위 계층을 다시 방문하지 않을 수 있습니다.
이 단계들은 시험 답안에서 원인과 결과가 빠지지 않도록 만든 설명 순서입니다.
손으로 따라가는 초보 예제
`www.example.org`를 처음 찾을 때 네 번 묻는 과정
Client와 recursive resolver의 cache가 모두 비어 있고 A record를 요청합니다.
- 1단계Client stub resolver가 recursive resolver에 `www.example.org A?`를 보냅니다.
- 2단계Resolver는 root에 묻고 `.org` TLD nameserver referral을 받습니다. Root가 최종 IP를 주는 것은 아닙니다.
- 3단계Resolver는 `.org` TLD에 묻고 `example.org` authoritative server referral을 받습니다.
- 4단계Authoritative server가 최종 A record `203.0.113.10`을 답합니다.
- 5단계Resolver는 TTL 동안 답과 referral을 cache하고 client에 IP를 돌려줍니다.
- 6단계TTL이 남아 있는 다음 질문은 cache에서 바로 답해 root부터 다시 갈 필요가 없습니다.
그래서 무엇을 배웠나? DNS resolution은 client→resolver와 resolver→root/TLD/authoritative라는 두 층의 대화를 구분해야 합니다.
03
관련 개념도 하나씩 따로 이해하기
Root부터 authoritative server까지 이름을 찾는 순서
비유에서 실제 시스템으로 옮겨 보기
먼저 떠올릴 장면 · 국가 안내소가 독일 지역 안내소를 알려 주고, 지역 안내소가 대학 담당 사무실을 알려 주며, 담당 사무실이 최종 방 번호를 알려 주는 과정이다.
정확한 뜻 · DNS 이름은 오른쪽에서 왼쪽으로 계층을 이룬다. tu-darmstadt.de에서 de는 top-level domain(TLD), tu-darmstadt는 그 아래 domain이다. Root nameserver는 최종 IP를 보통 직접 주지 않고 .de TLD nameserver를 알려 준다. TLD server는 tu-darmstadt.de의 authoritative nameserver를 알려 주고, authoritative server가 최종 A, AAAA, MX 같은 record를 답한다.
- 1단계Resolver cache에 최종 답이나 delegation이 있는지 먼저 본다.
- 2단계없으면 root에 질의해 TLD nameserver referral을 받는다.
- 3단계TLD에 질의해 domain authoritative nameserver referral을 받는다.
- 4단계Authoritative server에 최종 record를 질의한다.
- 5단계각 답과 delegation을 TTL 동안 cache한다.
DNS와 resolver, cache를 처음부터 이해하기
비유에서 실제 시스템으로 옮겨 보기
먼저 떠올릴 장면 · DNS는 이름으로 전화번호를 찾는 분산 전화번호부다. Resolver는 여러 전화번호부 기관에 대신 문의하는 안내원이고 cache는 최근 찾아본 번호를 메모해 두는 수첩이다.
정확한 뜻 · 사람은 tu-darmstadt.de 같은 domain name을 사용하지만 packet은 IP address로 전달된다. DNS는 이름을 IP와 다른 정보로 바꾸는 분산 데이터베이스다. 사용자의 질문을 대신 처리하는 프로그램이 recursive resolver이고, authoritative nameserver는 특정 zone의 공식 record를 가진다. Resolver는 받은 답을 TTL 동안 cache해 같은 질문을 빠르게 답한다.
- 1단계사용자 stub resolver가 recursive resolver에 이름을 묻는다.
- 2단계Cache에 유효한 답이 있으면 즉시 사용한다.
- 3단계없으면 root, TLD, authoritative nameserver 방향으로 위임을 따라간다.
- 4단계받은 record를 TTL 동안 저장한다.
DNS Resource Record 한 줄 읽는 법
비유에서 실제 시스템으로 옮겨 보기
먼저 떠올릴 장면 · 주소록 한 줄에 이름, 메모 유효 기간, 정보 분류, 전화·메일 같은 종류, 실제 값이 차례로 적혀 있다고 생각하면 된다.
정확한 뜻 · DNS의 정보 한 줄을 Resource Record(RR)라고 한다. 일반 형식은 NAME TTL CLASS TYPE RDATA다. NAME은 어느 이름의 정보인지, TTL은 몇 초 동안 cache할 수 있는지, CLASS의 IN은 Internet, TYPE은 정보 종류, RDATA는 실제 값이다. MX record는 해당 domain의 메일을 받을 mail server와 우선순위 값을 나타낸다.
- 1단계NAME에서 record가 속한 domain을 읽는다.
- 2단계TTL을 초 단위 cache 가능 시간으로 읽는다.
- 3단계TYPE이 A, AAAA, NS, MX, TXT 중 무엇인지 확인한다.
- 4단계MX RDATA의 작은 preference 값이 더 우선임을 확인한다.
- 5단계끝의 점이 붙은 이름은 root까지 적은 FQDN임을 이해한다.
04
강의 스크립트 원본과 연결하기
Record 종류·계층적 name resolution·cache를 보여 주는 대표 슬라이드입니다. 먼저 위의 초보 설명을 읽고, 원본에서는 같은 개념이 어떤 기호와 독일어·영어 용어로 표현되는지 확인하세요.
Vorlesung/08 Domain Name System.pdf · p.8, p.15, p.17 · Record 종류·계층적 name resolution·cache08 Domain Name System.pdf· p.8, p.15, p.17
05
시험 함정과 답안에 적용하기
- Root부터 authoritative server까지 이름을 찾는 순서 · 모든 질의마다 반드시 root부터 시작하는 것은 아니다. 유효한 cache가 있으면 가장 구체적으로 알려진 지점부터 재개한다.
- DNS와 resolver, cache를 처음부터 이해하기 · Resolver와 authoritative nameserver를 같은 서버 역할로 쓰지 말고, cache에 오래된 거짓 답이 들어가는 cache poisoning과 전송 암호화를 구분한다.
- DNS Resource Record 한 줄 읽는 법 · MX의 숫자를 port나 TTL로 읽지 말고, 여러 MX가 있으면 preference 순서와 장애 대체 관계를 설명한다.
서술형 답안 골격
Client→Resolver와 Resolver→Root/TLD/Authoritative를 구분하고 각 응답이 referral인지 final answer인지 씁니다.
정의 → 등장 주체 또는 입력 → 작동 순서 → 보안 효과 → 조건과 한계 순서로 쓰고, 위 단계별 예시에서 필요한 문장을 골라 붙이세요.
책을 덮고 “Browser가 domain name을 실제 IP address로 바꾸는 동안 누가 누구에게 물을까요?”에 대해 핵심 용어 두 개, 작동 단계 세 개, 대표 함정 하나를 말해 보세요.
다음 개념으로 넘어가기 전 확인
- Root server가 보통 주는 것은 final IP인가 referral인가?
- TTL은 무엇을 제한하는가?
- Recursive resolver와 authoritative server의 역할 차이는?