Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- HADOOP
- S3
- 데이터 파이프라인
- 파이썬
- redshift
- Django
- airflow
- http
- PYTHON
- Docker
- 데브코스
- 컴퓨터네트워크
- sql
- 정리
- TCP
- 운영체제
- dockerfile
- Go
- AWS
- 컴퓨터 네트워크
- 가상환경
- 데이터 엔지니어링
- 데이터 웨어하우스
- 자료구조
- 데이터엔지니어링
- airflow.cfg
- linux
- 데이터베이스
- 종류
- TIL
Archives
- Today
- Total
홍카나의 공부방
[컴퓨터 네트워크] 15. DNS 개요 본문
Domain Name System
- DNS는 네트워크에서 사용하는 시스템으로, 도메인 이름을 기반으로 IP 주소를 알려주는 시스템이다.
Domain Name?
- 도메인 이름이란 이름+확장자 구조로 사용자들이 원하는 웹 사이트에 방문하기 위해 웹 브라우저에 입력하는 주소를 의미하며, 고유 값이다.
- 우리가 20.200.245.247과 같은 IP주소를 외우는 것보다는 naver <- 이러한 이름을 기억하기 쉽기 때문에, 도메인 이름이라는 개념을 도입하게 되었다.
- 만약 https://www.wix.com을 웹 브라우저에 입력하게 되면, 웹 브라우저에게 https 프로토콜을 사용하여 wix.com이라는 도메인에 속한 호스트 중 이름이 www인 호스트를 찾고 싶다!라고 이야기 하는 셈.
DNS의 구조
- DNS는 Tree 구조의 분산 구조형 데이터베이스인데, 아래와 같은 계층적 구조를 가지고 있다.
- 최상단 계층은 Root Domain으로, IANA에서 해당 서버의 주소를 직접 확인할 수도 있다.
- 그 아래에는 탑레벨 도메인으로, 도메인 이름의 가장 오른쪽 부분을 담고 있다.
- 그 아래에는 차상위 도메인으로, 탑레벨 도메인 앞에 오는 이름을 담고 있다. google, naver, github.. 등등 브랜드나 웹사이트를 나타내는 단어를 담고 있다.
- 서브 도메인은 도메인 이름에 추가하는 접두사이다. 자체 계층이 필요한 영역을 관리한다.
DNS 요청과 응답 과정
- 첫 번째로 client host에서 https://www.naver.com 을 입력한다고 가정하자.
- 그러면 client가 설정한 DNS 서버 IP주소로 위 도메인 네임의 IP 주소를 얻고자 하는 요청을 보낸다. ( ISP가 KT라면 KT의 DNS 서버 주소는 168.126.63.1~2번이다. )
- DNS는 요청에 응답하여 IP주소를 client로 전송한다. 같은 ISP에 속하는 DNS라면 그만큼 응답이 빠를 확률이 높고, 타 ISP에 속한 DNS (예시로 구글 dns)라면 응답이 그만큼 느릴 확률이 높다.
- 이때 client는 PC 메모리에 DNS 이름과 IP 주소를 저장한다. 이를 DNS Cache라고 한다.
- 이후 네이버 웹 서버와 HTTPS 통신을 진행한다.
- 추후 네이버와 또 통신을 시도할 때, 캐시 된 정보가 있으면 DNS 요청을 굳이 거치지 않는다.
- 만약 DNS가 네이버 주소 요청을 최초로 받아서 IP 주소를 저장하지 않고 있다면, 그때서야 Root DNS에 질의하여 IP 주소를 구해오는 것이다. Root DNS에게 요청한 뒤, -> '.com'을 담당하는 서버 -> 'naver'를 담당하는 서버에게 각각 하위 도메인에 대한 정보를 요청하면서 결과적으로 www.naver.com 주소를 가져오게 된다.
반응형
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] 17. SSH의 정의와 HTTP와의 차이점 (0) | 2024.02.06 |
---|---|
[컴퓨터 네트워크] 16. URL과 URL, HTTP 개요와 응답코드 (0) | 2023.05.05 |
[컴퓨터 네트워크] 14-3. TCP의 흐름제어(+ silly window syndrome), 오류제어, 혼잡제어 (0) | 2023.04.30 |
[컴퓨터 네트워크] 14-2. TCP의 연결설정(3-way handshake), 데이터 전송, 연결 해제 (0) | 2023.04.29 |
[컴퓨터 네트워크] 14-1. TCP 개요 (0) | 2023.04.26 |