DNS(Domain Name System)란?
DNS는 인터넷 전화번호부이다. 대부분 naver.com 또는 google.com과 같은 도메인 이름을 통해 온라인으로 정보에 액세스 한다. 웹 브라우저는 인터넷 프로토콜(IP) 주소를 통해 상호작용한다. DNS는 브라우저가 인터넷 자원을 로드할 수 있도록 도메인 이름을 IP 주소로 변환한다. 인터넷에 연결된 각 기기에는 다른 컴퓨터가 기기를 찾는 데 사용하는 고유한 IP 주소가 있다. DNS 서버를 사용하면 사람이 192.168.1.1(IPv4의 경우)과 같은 IP 주소 또는 2400:cb00:2048:1::c629:d7 a 2(IPv6의 경우)처럼 영문과 숫자로 된 복잡한 IP 주소를 기억할 필요가 없다.
DNS 작동 방식
DNS 서버는 URL과 도메인 이름을 컴퓨터가 이해하고 사용할 수 있는 IP 주소로 변환한다. 그들은 사용자가 브라우저에 입력한 내용을 기계가 웹 페이지를 찾는 데 사용할 수 있는 것으로 변환이라고하는데. 이 변환 및 조회 프로세스를 DNS 확인이라고 한다.
DNS 확인의 기본 프로세스는 다음 단계를 따르게 된다.
- 사용자가 웹 브라우저에 'naver.com'을 입력하면, 쿼리가 인터넷으로 이동하고 DNS 재귀 확인자가 이를 수신한다.
- 이어서 확인자가 DNS 루트 이름 서버(.)를 쿼리 한다.
- 다음으로, 루트 서버가, 도메인에 대한 정보를 저장하는 최상위 도메인(TLD) DNS 서버(예:. com 또는. net)의 주소로 확인자에 응답한다. naver.com을 검색할 경우의 요청은. com TLD를 가리킨다.
- 이제, 확인자가. com TLD에 요청한다.
- 이어서, TLD 서버가 도메인 이름 서버(naver.com)의 IP 주소로 응답한다.
- 마지막으로, 재귀 확인자가 도메인의 이름 서버로 쿼리를 보낸다.
- 이제, naver.com의 IP 주소가 이름 서버에서 확인자에게 반환된다.
- 이어서, DNS 확인자가, 처음 요청한 도메인의 IP 주소로 웹 브라우저에 응답한다.
- 브라우저가 IP 주소로 HTTP 요청을 보냅니다.
- 해당 IP의 서버가 브라우저에서 렌더링 할 웹 페이지를 반환한다(10단계).
다양한 서버를 쿼리 하는 전체 프로세스는 몇 분의 1초가 걸리며 일반적으로 사용자가 인지할 수 없다
DNS 서버는 자체 도메인 내부 및 외부와 소통을 한다. 서버가 도메인 내부의 이름이나 주소에 대한 정보를 도메인 외부에서 요청하면 신뢰할 수 있는 응답을 제공하게 된다. 서버가 해당 도메인 외부의 이름이나 주소에 대한 요청을 도메인 내에서 받으면 일반적으로 ISP가 관리하는 다른 서버로 요청을 전달한다.
DNS 구조
도메인 이름은 일반적으로 URL에 포함되어 있다. 도메인 이름은 레이블이라는 여러 부분으로 구성이 되는데 도메인 계층 구조는 하위 구분을 나타내는 각 레이어와 함께 오른쪽에서 왼쪽으로 읽는다.
TLD는 도메인 이름의 마침표 뒤에 나타난다. 최상위 도메인의 예로는. com,. kr,. us 등 일부는
국가 코드 또는 지리 위치를 나타낼 수 있다.
TLD의 왼쪽에 있는 각 레이블은 오른쪽 도메인의 다른 하위 도메인을 나타낸다. 예를 들어 URL www.naver.com에서 "naver"은. com의 하위 도메인이고 "www."는 하위 도메인이다. naver.com의 하위 도메인이다.
DNS 서버 유형
DNS 확인을 완료하는 데 관련된 여러 서버 유형이 있는데 다음 목록은 쿼리가 통과하는 순서대로 4대의 이름 서버를 설명하겠다.
- 재귀 서버 재귀 서버는 웹 브라우저와 같은 애플리케이션에서 DNS 쿼리를 가져온다. 사용자가 액세스 하는 첫 번째 리소스이며 캐시 된 경우 쿼리에 대한 답변을 제공하거나 그렇지 않은 경우 다음 수준 서버에 액세스 한다. 이 서버는 클라이언트에 응답을 반환하기 전에 쿼리를 여러 번 반복할 수 있다.
- 루트 이름 서버 이 서버는 응답이 캐시 되지 않은 경우 재귀 서버가 쿼리를 보내는 첫 번째 위치이다. 루트 이름 서버는 쿼리 되는 정보를 갖게 될 모든 서버의 색인이다. 이러한 서버는 Internet Corporation for Assigned Names and Numbers, 특히 Internet Assigned Numbers Authority라고 하는 ICANN의 지부에서 감독한다.
- TLD 서버 루트 서버는 최상위 도메인(URL의. com,. edu 또는. org)을 기반으로 쿼리를 지시합니다. 조회의 보다 구체적인 부분이다.
- 신뢰할 수 있는 이름 서버 신뢰할 수 있는 이름 서버는 DNS 쿼리의 최종 체크포인트이다. 이러한 서버는 주어진 도메인에 대한 모든 것을 알고 있으며 도메인 이름의 하위 도메인 부분을 처리한다. 이러한 서버에는 A 레코드와 같은 도메인에 대한 특정 정보가 있는 DNS 리소스 레코드가 포함되어 있다. 필요한 레코드를 재귀 서버로 반환하여 클라이언트로 다시 보내고 향후 조회를 위해 클라이언트에 더 가깝게 캐시 한다.
기술 출처
https://www.techtarget.com/searchnetworking/definition/domain-name-system
What is DNS? How Domain Name System works
Learn about the domain name system, how it works, the types of DNS servers in use, DNS security concerns and the history of the technology.
www.techtarget.com
https://www.cloudflare.com/ko-kr/learning/dns/what-is-dns/
'DevOps > CS' 카테고리의 다른 글
[DevOps] 데이터베이스 정규화 (0) | 2022.12.19 |
---|---|
[DevOps] HTTP가 뭐길래 (0) | 2022.12.07 |
[DevOps] DevOps가 뭔지알아??? 내가알려줄게 (2) | 2022.11.29 |
[DevOps] SaaS??? 너 누구야!!! (1) | 2022.11.28 |
[DevOps] 온 프레미스와 클라우드의 차이점 (0) | 2022.11.11 |