본문으로 바로가기
반응형

Intro

  • 오늘은 웹브라우저에서 도메인을 입력할때 어떤일이 일어날지 알아보도록 하겠습니다.
  • Windows OS에서 크롬과 같은 웹브라우저에 www.google.com 이라고 입력하고 Enter를 치면 아래와 같은 일들이 일어납니다.

1. 웹브라우저에 입력한 URL분석

  • URL구조가 맞지 않으면 웹브라우저의 검색엔진(크롬의 경우 구글)으로 입력어를 검색함
  • URL구조가 맞으면 다음으로 넘어감

2. HSTS(HTTP strict Transport Security)목록을 로드하여 확인

  • HSTS목록에 있으면 요청을 HTTPS로 보내고 아닌경우 HTTP로 보냄
  • HSTS : HTTP 대신 HTTPS를 사용하여 통신해야 한다고 웹 사이트가 웹 브라우저에 알리는 것

3. 웹브라우저 캐시 확인

  • 가장먼저 웹브라우저 상에서 도메인 캐시를 확인 함
  • 크롬 도메인 캐시확인 URL chrome://net-internals/#dns

4. OS 캐시 확인

  • 웹브라우저에서 캐시된 도메인이 없으면 OS에 도메인 캐시를 확인
  • 윈도우 도메인 캐시 확인 cmd명령어 ipconfig /displaydns

5. 로컬 PC OS의 hosts설정 확인

  • OS에 도메인 캐시 정보가 없으면 로컬 PC의 OS PC자체가 도메인서버 역할을 하여 hosts 파일에 설정된 도메인에 맞는 IP를 매핑 함
  • hosts 파일 위치 (Windows) C:\Windows\System32\drivers\etc\hosts

6. DHCP & ARP를 통한 라우터 정보 확인

  • DHCP(Dynamic Host Configuration Protocol)프로토콜을 이용하여 호스트의 IP주소와 TCP/IP 설정을 클라이언트에 자동으로 제공
  • ARP(Address Resolution Protocol)프로토콜을 이용하여 IP주소를 기반으로 가장 가까운 라우터의 MAC주소를 알아냄

7. 내 로컬 DNS 서버 확인

  • 별도의 로컬 DNS서버가 구성이 되었을 경우에 해당됨 (라우터를 DNS서버로 사용하기도 함)
  • 로컬 PC의 hosts 설정에도 도메인 정보가 없으면 내 로컬에 설정되어있는 DNS서버를 확인
  • 이 경우 내 로컬 DNS가 리졸버 역할을 하게 되며 캐시된 도메인 정보가 있으면 이를 반환함
  • 로컬 DNS서버 확인 (Mac) : /etc/resolv.conf
  • 로컬 DNS서버 확인 (Windows) : 제어판 - 네트워크 및 공유센터 - 이더넷 - 속성 - 네트워킹 - 인터넷프로토콜버전4

8. ISP DNS서버 확인

  • 별도의 로컬 DNS서버가 구성되어있지 않았을 경우 ISP의 DNS서버를 확인

  • 이 경우 내 ISP DNS가 리졸버 역할을 하게 되며 캐시된 도메인 정보가 있으면 이를 반환

  • 인터넷 공급자 ISP(KT,SK브로드밴드,LGU+)

  • <참고> ISP별 도메인 서버 주소

    SK 기본 DNS 서버 : 219.250.36.130
    KT 기본 DNS 서버 : 168.126.63.1
    LG 기본 DNS 서버 : 164.124.101.2
    google 기본 DNS 서버 : 8.8.8.8

9. Root DNS서버 확인

  • 내 로컬 DNS 서버에도 도메인 정보가 없으면 Root DNS서버를 확인
  • ROOT DNS서버는 전세계 13대가 구축되어있음. 미국10대, 일본,네덜란드,노르웨이 (우리나라는 ROOT DNS서버의 미러링 서버 3대가 있음)

10. 최상위 도메인(TLD) DNS 서버 확인

  • 최상위 도메인(Top-Level Domain, TLD)
  • Root DNS서버에도 없으면 최상의 도메인을 관리하는 서버를 확인
  • 최상위 도메인은 com, org, edu, net, int, gov 등

11. 해당 도메인의 DNS서버 확인

  • 해당 도메인, 예를들어 www.google.co.kr의 도메인서버에서 IP정보를 확인
  • 획득한 IP정보를 내 로컬 DNS서버가 가져와서 클라이언트에게 전달

DNS 동작 방식

반응형