반응형

DNS

 

DNS( Domain Name System )는 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었습니다. 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해줍니다. 예를들어 www.test.com -> DNS -> 1.2.3.4와 같이 특정 URL에 매핑되어있는 IP 주소를 반환해 줍니다.

 

 

동작원리

 

 

특정 URL ( www.naver.com ) 접근

 

0. 가장 먼저 로컬의 hosts파일에 접근하여 해당 URL에 대한 정보가 있는지 확인. 이 호스트 파일은 DNS의 초기, 모든 URL에 대한 IP정보를 사용자가 직접 관리했어야 했는데 이때 사용하는 매핑 테이블이며 로컬 캐시보다도 이 파일에 먼저 접근하여 검색 시작. 값이 있으면 IP 반환, 없으면 1. 진행

 

1. 로컬 캐시에 접근하여 값을 검색. 검색 성공시 IP 반환, 실패 시 2. 진행

 

2. 로컬에 설정되어있는 DNS Server에 접근. 따로 설정하지 않았다면 세계에 13개 존재하는 Root DNS Server가 설정되어 있으며 위 예제에서는 Root DNS Server가 아닌 다른 DNS Server를 참조한다고 가정. DNS Server에서 재귀적 쿼리를 실행하며 검색 성공시 IP 반환, 실패시 3. 진행

 

3. (.)Root DNS에서 검색 실행. 성공시 IP 반환, 실패시 4.

 

4. www.naver.com의 URL에서 TLD ( Top Level Domain )인 com에 해당하는 DNS Server IP를 반환

 

5. 재귀적 쿼리가 지속적으로 실행되며 com DNS Server에 접근해 검색 실행. 검색 성공시 IP반환, 실패시 6.

 

6. next LeverlDomain인 naver에 해당하는 DNS Server IP를 반환

 

7. 재귀적 쿼리가 지속적으로 실행되며 naver DNS Server에 접근해 검색 실행. 검색 성공시 IP 반환, 실패시 8.

 

8. 검색 성공 시 104.74.171.196 주소가, 실패시 실패 메세지가 DNS Server로 반환.

 

9. 반환된 IP에 접근 or 실패

 

 

 

 

Record

 

DNS에 매핑되는 값은 여러 종류가 존재하며 이를 레코드라고 부릅니다. 일반적으로 브라우저상에서 사용되는 레코드는 A 레코드로 도메인에 대한 IP가 매핑 됩니다. 레코드는 다음과 같은 종류들이 있습니다.

 

 

확인 방법

cmd > nslookup > set type='record type' > 'URL'

 

 

* dns 캐시 확인 방법

windows : ipconfig /displaydns

 

* dns 캐시 초기화 방법

windows : ipconfig /flushdns

반응형

'이론 정리' 카테고리의 다른 글

한글 인코딩  (0) 2019.06.04
가상화 ( IO )  (0) 2018.02.11
가상화 ( 서버 )  (0) 2018.02.11
TCP/IP  (0) 2018.02.10
Socket / Port  (0) 2018.02.05

+ Recent posts