| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
Tags
- 함수형 인터페이스
- custom exception
- http 응답코드
- root passwd
- set-version
- 배열 탐색
- REST HTTP API
- ubuntu
- N:N
- Spring 예외처리
- Java
- AOP
- char to int
- Spring MVC
- 스키마 설계
- git workflow
- 탐욕 알고리즘
- 코드스테이츠
- JAVA 재귀함수
- O(log n)
- mapstruct
- ubuntu 패스워드
- RestControllerAdvice
- Spring
- 리눅스 사용권한
- 스키마 디자인
- 자료구조
- file i/o
- git 설정
- ubuntu passwd
Archives
- Today
- Total
개발소설
DNS 본문
Domain name
- 숫자인 IP주소를 기억하기 쉽게 문자열인 이름을 붙여 사용하는것
- IP주소는 숫자이기 때문에 기억하기 어려울수 있어 이름을 붙여 기억하기 쉽게 사용할 수 있다.
- 네이버를 접속하려할때 네이버 서버의 ip주소를 입력해서 접속하는것 보다는 naver.com이라는 이름을 입력하고 들어가는 것이 훨씬 기억하기 쉽고 편리하다.
- 터미널에서 nslookup을 통해 해당 도메인네임에 IP주소를 확인 할 수 있다.

- 해당 IP주소를 브라우저 검색창에 입력하면 네이버로 접속되는걸 확인 할 수 있다.
도메인의 관리 체계
- 도메인 주소는 오른쪽부터 왼쪽으로 최상위 도메인과 여러 개의 도메인으로 구성
- 탑 레벨 도메인은 .com과 .kr .net등 도메인의 가장 오른쪽에 위치하는 도메인
- co, ac와 같은 2단계 도메인과 같이 사용되기도 한다.
- 서브 도메인은 일반적으로 'www, m'과 같이 제일 왼쪽에 위치한 도메인들
Domain Name Sever(zone)
- 도메인을 관리하는 도메인 서버(존)
- 대표적으로 모든 도메인을 관리하는 root 네임 서버, TLD를 관리하는 네임서버, 권한 있는 네임 서버로 구성
- 도메인 이름 서버는 하나의 서버로 구성 되지 않는다., 최소 두개 이상의 서버가 하나의 도메인 네임을 담당
- root DNS 서버는 각 최상위 도메인 네임 서버들의 주소를 알고 있으며 최상위 도메인 네임 서버는 권한 있는 네임 서버의 주소를 알고 있다.
- 권한있는 네임서버는 'example.com' 등의 도메인 ip주소 및 도메인 정보를 관리하는 권한을 가진 서버 입니다.
도메인 질의 과정
- 브라우저에서 www.naver.com을 입력하면
- 브라우저는 리졸버에게 www.naver.com의 IP 주소를 요청
- 리졸버는 우선 기존에 찾아본 도메인 정보가 내용이 담긴 캐시 파일을 살펴 본다.
- 캐시 파일내 해당되는 도메인이 있으면 즉시 IP주소 리턴
- DNS 리졸버는 IP 주소를 얻기 위해 네임 서버들에게 재귀적인 쿼리를 진행
- 루트, 탑레벨, 권한 있는 도메인 서버에 차례대로 쿼리를 진행하여 IP 주소를 알아냄
- root DNS -> .com 서버 주소 반환 ( 최상위 도메인 네임서버 주소 반환)
- TLD DNS -> 권한있는 네임서버 주소 반환 ( 권한 있는 네임서버 주소 반환)
- 권한있는 네임서버 - > naver.com의 IP 주소 반환
- 리졸버는 쿼리수를 줄일 목적으로 기록되지 않은 도메인 네임 서버들의 주소를 저장하기도함
- 마리졸버는 전달 받은 도메인네임에 IP 주소를 기록하고 브라우저의 전달
Zone File
- 도메인 네임 서버는 응답을 보내기 위해 한개 이상의 존 파일을 가지고 있다.
- 존 파일은 name, class, ttl, 레코드타입, 레코드 데이터로 이루어져 있따.
- 네임서버는 질의요청시 존파일을 바탕으로 해당 레코드를 반환
- 리졸버는 이 레코드를 확인하고 IP를 확인하거나 다음 질의를 할 서버의 주소를 확인
| 이름 | 도메인 네임 |
| 레코드 클래스 | 네트워크 타입 |
| TTL (Time To Live) | 클라이언트(리졸버)가 데이터를 저장할 시간 |
| 레코드 타입 | 반환될 데이터 타입 |
| 레코드 데이터 | 반횐되는 데이터 |
레코드 데이터 타입
- A, AAAA - IPv4, IPv6
- CNAME - 도메인 주소
- NS - 권한있는 DNS 주소
- SOA - 도메인 네임 서버중 주 서버의 정보들에 대한 데이터
**
리눅스 -> /etc/hosts에 도메인네임을 지정해놓을 수 있다.
윈도우 -> 윈도우가설치된드라이브\Windows\System32\drivers\etc\hosts
-----------------------------------------223.130.200.107 naver.com------------------------------------------
브라우저 쿠키에 있을수 있다.
Comments