[CS] DNS Lookup

집중맞은 도둑력·2024년 7월 15일

CS

목록 보기
8/10
post-thumbnail

현재 포스트는 이후에 습득한 지식으로 인해 내용이 추가, 수정, 삭제될 수 있음

0. 🔖 목차


  1. 📶 브라우저 DNS 캐시
  2. 🛠️ 호스트 파일
  3. 💻 운영체제 DNS 캐시
  4. 🦺 로컬 DNS 서버
  5. 🛡️ 루트 네임 서버, TLD, 권한 있는 네임 서버

1. 💾 브라우저 DNS 캐시


브라우저 내에 저장된 DNS 캐시이다.

크롬의 경우 아래 주소창에 접속하면

chrome://net-internals/#dns

브라우저에 저장된 DNS 캐시를 확인할 수 있다.

2. 📃 호스트 파일


운영체제 시스템에 정적으로 저장된 host 파일에

특정 도메인 이름에 대한 IP 주소 매핑이 수동으로 설정될 수 있다.

윈도우의 경우 메모장을 관리자 권한으로 실행하여

아래 경로에 있는 파일을 입력하여 내용을 볼 수 있다.

C:\Windows\System32\drivers\etc\hosts

3. 💻 운영체제 DNS 캐시


운영체제나 브라우저가 요청했던 이전의 DNS 요청 결과를 일시적으로 저장하는

운영체제의 DNS 캐시이다.

윈도우의 경우 CMD에서 아래 명령어를 입력하면 목록을 확인할 수 있다.

ipconfig /displaydns

4. 📡 로컬 DNS 서버


설정된 로컬 DNS서버에 직접 도메인에 대한 IP 주소를 요청한다.

윈도우10 기준 네트워크 연결 세부 정보의 DNS 서버에서

DNS 서버 주소를 확인할 수 있다.

브라우저에서 요청한 도메인 주소가 앞선 세 곳의 캐시에서 히트가 되지 않았을 때

이 도메인의 IP가 어디로 요청되는지 알 수 있다.

내 컴퓨터의 경우 인터넷으로 SK 브로드밴드를 사용하기 때문에

SKT라는 ISP의 DNS 서버로 설정된 것을 볼 수 있다.

5. 🌳 루트 네임 서버, TLD, 권한 있는 네임 서버


로컬 DNS 서버에도 해당 도메인이 없다면 로컬 DNS 서버는

루트 네임 서버에 요청을 보낸다.

루트 네임 서버는 모든 최상위 도메인(top-level domain, TLD)

예컨데 “.com”, “.net” 등의 네임서버의 주소를 알고 있고

로컬 DNS 서버에 해당 도메인의 TLD 주소를 제공한다.

다시 로컬 DNS 서버는 제공된 TLD의 주소에 요청받았던 도메인이 저장된 권한 있는 네임 서버(authoritative name server 줄여서 ANS라고 하겠음)의 주소를 요구한다.

TLD 네임 서버는 해당 도메인의 ANS의 주소를 반환한다.

또또 다시 로컬 DNS 서버는 해당 ANS의 주소에 해당 도메인의 주소를 요구한다.

ANS는 도메인의 IP 주소를 로컬 DNS에 제공하고 이후 클라이언트에 응답한다.

아래 GIF는 내 프로젝트 사이트인 www.onion-pi.com에 접속할 때 마지막 단계 까지 DNS Lookup이 일어났을 때 벌어지는 일들이다.

마지막 IDC는 서울 지역 아마존 ec2가 IDC에서 서비스된다는 말을 듣고 저렇게 그린거지 실제로는 어딘지 모름.

마찬가지로 저기 나온 모든 서버 위치는 임의로 지정한 위치임, 실제로 어딨는지 전혀 모름

profile
틀린_내용이_있다면_말해주세요.

0개의 댓글