코드 위의 하루 (A Day on the Code)

DNS? 그게 밥 먹여줄 수 있나요? 아주 쉽게 풀어보자! 본문

🍚전공이 밥 먹여준다믄/📙 데이터 통신

DNS? 그게 밥 먹여줄 수 있나요? 아주 쉽게 풀어보자!

code.with.siyeon 2025. 5. 15. 19:00

도입 ✋

인터넷 주소창에 **www.naver.com**이나 www.daum.net 쳐본 적 있죠?

근데 말이에요… 컴퓨터는 이런 글자를 못 알아봐요!
이런 걸 **숫자로 된 주소(IP)**로 바꿔줘야 접속이 되는 거예요.

그래서 등장한 게 바로 DNS!
DNS는 인터넷 세상의 통역사, 전화번호부, 네비게이션 역할까지 해요!


1. DNS란 무엇인가요?

Domain Name System의 줄임말이에요.

쉽게 말하면?

우리가 쓰는 글자 주소 → 컴퓨터가 읽는 숫자 주소로 바꿔주는 시스템!

예: http://www.daum.net → 211.231.99.17

2. 도메인의 구조 🍰

주소를 잘 보면 층층이 쌓인 케이크 같아요:

www.daum.net

  • www → 웹 페이지 같은 서브 도메인
  • daum → 서비스 이름
  • net → 최상위 도메인 (TLD)

3. DNS는 어떻게 작동할까? 🛠️

 
1️⃣ 주소 입력 (http://www.daum.net)
2️⃣ 내 컴퓨터가 ISP의 DNS 서버에 물어봄
3️⃣ 그 DNS 서버가 루트 → TLD → 책임 DNS 순서로 물어봐서
4️⃣ 최종 IP 주소를 가져와
5️⃣ 우리 컴퓨터에 알려줘서 접속 완료!

4. 질의 방식 🧭

  • 🔁 반복 질의(Iterative): "다음 사람은 네가 직접 물어봐~"
  • 📦 재귀 질의(Recursive): "내가 끝까지 알아봐줄게!"

내 컴퓨터 → DNS: 재귀
DNS들끼리: 반복


5. DNS도 기억력이 있다? 🧠

DNS는 똑똑해요!
한 번 본 건 잠깐 기억해뒀다가 또 물어보면 바로 알려줘요.
이걸 캐싱이라고 해요!

 
보통 1~2일 정도 저장돼요!

6. DNS가 할 수 있는 일들 🎯

✅ 1. 별칭(CNAME) 처리

복잡한 주소를 더 쉬운 별명으로 알려줘요.

nslookup -query=cname http://www.daum.net

✅ 2. 메일 서버 찾기 (MX)

메일도 DNS가 길 안내해줘요!

nslookup -query=mx daum.net

✅ 3. 부하 분산

여러 서버가 번갈아가며 트래픽을 나눠받아요.
→ 덜 밀리고, 더 빠름!


7. DNS 실습! 해볼 사람 여기로 ✋

# 기본 주소 IP 확인
nslookup http://www.naver.com

# 메일 서버 주소 보기
nslookup -query=mx daum.net

# CNAME (별칭) 정보
nslookup -query=cname http://www.daum.net

Wireshark에서도 필터에 dns 넣고 패킷 분석 가능!


8. 요약 정리표 📌

항목 설명
DNS 인터넷 주소를 숫자로 바꿔주는 시스템
도메인 사람이 이해하기 쉬운 주소 이름
재귀 질의 대신 끝까지 찾아주는 질의
반복 질의 다음 DNS를 알려주는 질의
캐싱 최근 본 주소 잠깐 저장
A/CNAME/MX 각각 IP, 별칭, 메일용 레코드
 

마무리 🍽️

"DNS 같은 거 실제로 써요?"
네, 엄청 써요. 우리가 인터넷 할 때마다 자동으로 작동 중!

이렇게 인터넷 주소가 숫자로 바뀌는 배경을 알면,
전공도 재밌고, 진짜 밥이 되기도 합니다.