반응형
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 동작 방식
반응형
'IT > 네트워크' 카테고리의 다른 글
[네트워크] 트래픽이란? 대역폭이란? (5) | 2021.07.22 |
---|---|
x509인증서란? (openssl 을 이용한 인증서 crt 생성) (0) | 2021.06.16 |
포트(Port)의 종류(잘알려진포트/등록된포트/동적포트) (0) | 2021.06.09 |
HTTP/HTTPS통신 암호화 과정(MITM란? PKI란? CA란?) (3) | 2021.06.04 |
대칭암호화(symmetric encryption)와 비대칭암호화(asymmetric encryption)란? (0) | 2021.06.04 |