본문 바로가기

Server

DNS(Domain Name System)

728x90
반응형

개발자 막 초기에 명절이었나 차를 타고 가다가 친형이 질문을 했다. XX야, DNS에 대해 설명해봐라.

막 그때 형이 구글 4차면접과 라인에 붙고 나서였던거 같다(결국 둘다 가지는 않았다). 그래서 속으로 그게 뭐고 했던 기억이 난다. 

DNS, 도메인 네임 시스템이라고 하며 사람이 읽을 수 있는 도메인 이름(예를 들어 naver.com 이나 daum.net 같은 것)을 컴퓨터가 읽을 수 있는 IP 주소로 변환해주는 것을 일컫는다.

 

일반적으로 사람이 IP 주소를 외워서 입력하지는 않고, naver.com 와 같이 도메인 이름을 입력하면 된다.인터넷의 DNS 시스템은 이름과 주소 매핑이 되어 있어 관리가 된다.

 

DNS 서버는 이름을 IP 주소로 변환하여 도메인 이름을 웹 브라우저에 입력할 때 최종 사용자를 어떤 서버에 연결할 것인지를 제어한다. 이 요청을 쿼리라고 한다네...

 

도메인 서비스 유형은 2가지로 나뉜다고 한다. 신뢰할 수 있는 DNS, 재귀적 DNS 가 있다.

신뢰할 수 있는 DNS는 뭐 간단하게 DNS 쿼리에 응답하고 도메인 이름을 IP 주소로 변환한다.

재귀적 DNS는 다른 유형의 DNS 서비스에 연결하는 경우를 말하며, DNS 레코드를 소유하고 있지 않지만 사용자를 대신해서  DNS 정보를 가져올 수 있는 중간자의 역할을 한다고하네... 재귀적 DNS가 일정 기간 캐시된 또는 저장된 DNS 참조를 가지고 있는 경우, 소스 또는 IP 정보를 제공하여 DNS 쿼리에 답을 한다. 그렇지 않으면 해당 정보를 찾기 위해 쿼리를 하나 이상의 신뢰할 수 있는 DNS서버에 전달한다.

 

그러면 이쯤에서 DNS는 트래픽을 웹 애플리케이션에 라우팅하냐??? 라는 의문점을 가질 수 밖에 없다. 위에 말로는 전혀 그림이 그려지지 않기 때문이다.

아래 그림은 재귀적 DNS 서비스와  신뢰할 수 있는 DNS 서비스가 서로 연계하여 최종 사용자를 웹 사이트 또는 애플리케이션으로 라우팅하는 방법에 대한 개요를 보여준다. (AWS 서버를 예로 들고 있다)

 

1번 : 사용자가 웹 브라우저를 열어 주소 표시줄에 www.example.com 을 입력하고 Enter를 누른다.

2번 : www.example.com 에 대한 요청은 일반적으로 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 기업 네트워크 같은 인터넷 서비스 제공업체(ISP)가 관리하는 DNS 해석기(DNS resolver)로 라우팅 된다.

3번 : ISP의 DNS resolver는 www.example.com  에 대한 요청을 DNS 루트 이름 서버(DNS root name server)에 전달함.

4번 : ISP의 DNS resolver는 www.example.com  에 대한 요청을 이번에는 .com 도메인의 TLD 이름 서버(Name server for .com TLD) 중 하나에 다시 전달한다.

5번 : ISP의 DNS 해석기는 Amazon Route 53 이름 서버(Amazon Route 53 name server) 하나를 선택해 www.example.com   에 대한 요청을 해당 이름 서버에 전달한다.

6번 :  Amazon Route 53 name server 는 example.com 호스팅 영역에서 www.example.com  레코드를 찾아 웹 서버의 IP 주소 192.0.2.44 등 연관된 값을 받고 이 ip 주소를 DNS resolver 로 반환한다.

7번 : ISP의 DNS resolver가 마침내 사용자에게 필요한 ip 주소를 확보했다. DNS resolver는 이 값을 웹 브라우저로 반환한다. 또한, DNS resolver는 다음에 누군가 example.com을 탐색할 때 좀 더 빠르게 응답하도록 사용자가 지정하는 일정 기간 example.com의 IP주소를 캐싱(저장)한다.

8번 : 웹 브라우저는 DNS reslover 로부터 받은 IP주소로 www.example.com  에 대한 요청을 전송합니다. 여기가 콘텐츠가 있는 곳으로, 예를 들어 웹 사이트 엔드포인트로 구성된 Amazon 53 버킷 또는 Amazon EC2 인스턴스에서 실행되는 웹서버다.

9번 :192.0.2.44에 있는 웹 서버 또는 그 밖의 리소스는 www.example.com  의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라우저는 이 페이지를 표시한다.

[참고]

https://aws.amazon.com/ko/route53/what-is-dns/

728x90
반응형

'Server' 카테고리의 다른 글

server분리...  (1) 2024.05.29