| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- spring security
- java
- Spring
- lombok
- factory
- 일급 컬렉션
- Volatile
- OAuth 2.0
- Google OAuth
- 일급 객체
- synchronized
- builder
- Dependency Injection
- Today
- Total
HJW's IT Blog
DNS: Domain Name System 본문
DNS 란?
DNS란 인터넷에서 사용되는 네트워크 서비스 중 하나로, 컴퓨터나 다른 기기들이 인터넷에 연결되어 있는 IP 주소를 도메인 이름으로 매핑해주는 시스템 이다.
DNS는 인터넷에서 도메인 이름을 사용하여 웹 사이트를 검색하거나 이메일을 보낼 수 있도록 해준다.
사용자가 도메인 이름을 입력시, DNS 서버는 해당 도메인 이름에 해당하는 IP 주소를 찾아서 사용자의 기기에 제공한다.
DNS 는 전 세계적으로 분산된 서버 네트워크로 구성되어 있다.
DNS services
Host name을 IP 주소로 매핑한다.
Host Aliasing - canonical, alias name
Mail server aliasing
Load distribution - Traffic이 한곳에 몰릴 때, 분산시킨다.
DNS는 분산된 서버 네트워크로 구성되어 있는데, 이는 한곳에 집중시켰을때의 문제점이 많기 때문이다.
- Single Point of Faliure
- 트레픽 부하
- 먼 중앙집중식 데이터베이스
- 유지보수 등
분산 DNS 서버 구조

예시) client가 www.amazon.com의 의 IP 주소를 요청시
- Root DNS server에 우선 요청
- Root DNS Server 가 .com DNS server에게 요청하라고 응답
- .com DNS Server에 요청
- .com DNS Server가 amazon.com DNS server에 요청하라고 응답
- amazon.com DNS server에 요청
Root Name Servers
로컬 DNS 서버가 특정 도메인 이름을 해결할 수 없을 때 - mapping 할 수 없을때 연결
Mapping 후 Root Name Server 는 local name server에 mapping 반환

TLD(Top Level Domain) Servers
- Top Level Country Domain 을 관리
- ex) .com, .org, .net, .kr... 등
Authoritative DNS Servers
- 조직이 각자의 DNS 서버 보유하여 직접 Hostname 과 IP 매핑을 하여 조직에 알려진 호스트에 대해
- 조직이나 서비스 제공자가 유지보수를 한다
Local DNS Name Server
- 계층에 묶여있지 않다
- 각 ISP가 하나씩 보유
- Host 가 DNS query를 보냈을 때, 우선적으로 local DNS 서버에 요청
- Name <-> IP 에 대한 캐시 보유
DNS Name Resolution

Iterated Query의 경우 연락받은 서버가 연락할 서버의 이름을 반환해 준다

Recursive Query의 경우 pending의 문제가 생길 수 있다
DNS Chaching
- Name 서버가 메핑을 할게 되면 메핑을 캐시화 하게 된다
- out-of-date일 수 있다
- Cache Entry 들은 시간이 지나면 사라진다 (TTL)
- TLD server들은 보동 local name server에 케싱된다 (root name server 을 덜 방문하기 위함)
DNS records, protocol, messages
RR format: (name, value, type, ttl)
DNS Record 종류
- Type = A
- name is hostname
- value is IP address
- Type = NS
- name is domain
- value is hostname of authoritative name server for this domain
- Type = CNAME
- Name is alias name for some canonical name
- ex) www.ibm.com 은 실제로 servereast.backup2.ibm.com
- value is canonical name
- Name is alias name for some canonical name
- Type = MX
- Value is name of mailserver associated with name
DNS Protocol, Messages
질의 응답 모두 같은 형식이다.

- Identification: 16bit number
- Flags: Query or Reply, recursion desired, recursion available, reply is authritative
- Questions: name, type fields for query
- Answers: RRs in response to query
- Authority: Records for authoritative servers
- Additional Info: Additional "helpful" info that may be used
'컴퓨터 네트워크' 카테고리의 다른 글
| Socket Programming with TCP & UDP (0) | 2023.04.05 |
|---|---|
| P2P, CDN (0) | 2023.04.02 |
| FTP: File Transfer Protocol (0) | 2023.04.01 |
| Web & HTTP (0) | 2023.03.31 |
| 응용 계층: Application Layer (0) | 2023.03.31 |