일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시작 #꾸준히 #과하지않게
- git #intellij
- 몰입학습 #몰입
- 회고록
- 코딩테스트
- jvm
- 호스트주소 #Host주소
- WSL2 #권한
- JAVA기본
- 회고 #주간회고
- WSL #Linux #ubuntu
- 글 foramt
- 피드백
- 공부방식
- OOP
- mapstruct
- 정리글 작성법
- 코드스테이츠 #
- Java환경
- Git #회고록
- String
- 백엔드로드맵
- 롤중독
- 코드스테이츠 #회고록
- 인터넷 #ISP
- 네트워크 기초
- 회고록_코드스테이츠
- 회고
- 에러해결
- 사용자계정 #WSL2
- Today
- Total
느리더라도 꾸준히
DNS와 작동 원리 본문
목표
IP주소, 도메인, DNS 동작원리를 이해해보자.
IP란
인터넷에 연결되어 있는 장치(컴퓨터, 스마트폰, 타블릿, 서버 등등)들은 각각의 장치를 식별할 수 있는 주소를 가지고 있는데 이를 ip라고 한다.
예) 115.68.24.88, 192.168.0.1
도메인이란?
ip는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 각 ip에 이름을 부여할 수 있게 했는데, 이것을 도메인이라고 한다.
naver.com -> 220.95.233.172
도메인의 구성요소
컴퓨터의 이름과 최상위 도메인으로 구성되어 있다. 예를들면 아래와 같다.
opentutorials.org
- opentutorials : 컴퓨터의 이름(호스트이름-5챕터에서 공부)
- org : 최상위 도메인 - 비영리단체
daum.co.kr
- daum : 컴퓨터의 이름
- co : 국가 형태의 최상위 도메인을 의미
- kr : 대한민국의 NIC에서 관리하는 도메인을 의미URL의 이해
- 도메인은 장치를 식별하기 위한 주소
- URL은 도메인 + 경로
예를 들어 [https://opentutorials.org/opentutorials-user-file/module/121/298.png가]있다고 한다면
도메인 : opentutorials.org
URL : https://opentutorials.org/opentutorials-user-file/module/121/298.png
DNS란?
사전적 정의
도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나
그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다.
예를 들면 우리가 자주 접하는 naver.com , google.com 모두 DNS을 가진 DN(Domain Name)이라고 할 수 있다.
그리고 이들은 사실 문자열의 탈을 쓴 IP라고 볼 수 있다.
보다시피 google.com 의 IP 주소는 172.217.175.78이 나왔다.
이렇게 DN을 통해 자기 컴퓨터가 사이트의 어느 IP 주소로 연결 되는지 확인 할 수 있다. (자신과 가까운 DNS서버를 통해 IP주소를 받아온다.)
네임서버(Name Server)
도메인에 해당하는 ip를 알려주는 서비스로 계층적 구조로 이루어져있다.
우리가 브라우저에 도메인(ex-"google.com") 을 입력하면 ISP에서 관리하는 네임서버에서 도메인에 관련된 IP를 내 컴퓨터에 보내준다.
이 해당 IP의 웹서버에 이미지나 특정웹페이지를 요청하면 웹서버는 이 요청에 해당하는 자원을 내컴퓨터로 보내준다. 이 결과는 우리 웹브라우저에 출력된 모습으로 나오게 될것이다.
DNS의 작동원리
1.웹 브라우저에 "www.naver.com"을 입력하면 먼저 Local DNS에게 "www.naver.com"이라는 hostname"에 대한 IP 주소를 질의하여
Local DNS에 없으면 다른 DNS name 서버 정보를 받음(Root DNS 정보 전달 받음)
Root DNS란?
Root DNS (루트 네임서버) 는 인터넷의 도메인 네임 시스템의 루트 존이다.
루트 존의 레코드의 요청에 직접 응답하고 적절한 최상위 도메인(TLD)에 대해 권한이 있는 "네임 서버 목록"을 반환함으로써 다른 요청에 응답한다.
전세계에 961개의 루트 DNS가 운영되고 있다.
2.Root DNS 서버에 "www.naver.com" 질의
3.Root DNS 서버로 부터 "com 도메인"을 관리하는 TLD (Top-Level Domain) 이름의 서버 정보를 전달 받음
여기서 TLD는 .com을 관리하는 서버를 칭함
아래의 TLD구조 그림 확인
4.TLD에 "www.naver.com" 질의
5.TLD에서 "naver.com" 관리하는 DNS 정보 전달
6."naver.com" 도메인을 관리하는 DNS 서버에 "www.naver.com" 호스트네임에 대한 IP 주소 질의
7.Local DNS 서버에게 "www.naver.com"에 대한 IP 주소는 222.122.195.6라고 응답
8.Local DNS는 "www.naver.com"에 대한 IP 주소를 캐싱을 하고 IP 주소 정보 전달
TLD 구조(Top-Level Domain)
- 최상위 ICANN 아래에 REGISTRY, NIC이 있고 REGISTRY 아래에 우리가 흔히 보는(.com이 존재하는) gTLD 서버 그리고 new gTLD가 있다.
- NIC아래에는 공공사이트에서 쓰는 ccTLD 도메인(.kr등등) 주소가 있다.
DNS작동 방식 참고 영상 : https://www.youtube.com/watch?v=2ZUxoi7YNgs&t=136s&ab_channel=CIRANEWS
출처
블로그 : https://velog.io/@goban/DNS%EC%99%80-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC
'http&Internet' 카테고리의 다른 글
[네트워크 기초] 2. 프로토콜 (1) | 2022.12.02 |
---|---|
[네트워크 기초] 1.네트워크란 무엇일까? (0) | 2022.12.01 |
인터넷은 어떻게 작동하는가? (0) | 2022.10.27 |
Host 주소란? 서브넷마스크란? (0) | 2022.10.26 |