요즘 기본기가 많이 부족하다는 생각이들어서.. 정말 기본적인 것들도 한번 짚고 넘어가기로했다. 오늘은 DNS에 대해서 정리해보겠다.
DNS란?
Domain Name System의 약자로, IP 네트워크에서 사용하는 시스템이다. IP는 숫자체계로 구성이 되어있는데 (ex) IPv4기준: 200.123.432.111) 이 서버주소 IP를 외우기는 쉽지 않으며, 의미도 알기가 힘들다. 따라서 DNS는 주소체계를 사람이 의미를 알아보고 또 기억하기 쉽도록 문자열로 나타낸다.
- https://xggames.tistory.com
- https://www.naver.com
- https://www.google.com
와 같이 주소 URL을 입력하면, 해당하는 IP주소를 찾아서 사이트를 연결해준다.
telnet으로 도메인 입력시, 해당되는 IP(공인)로 매핑이 되는 모습을 간단히 확인할 수 있다.
도메인 체계
우리가 흔히 사용하는 .com / .kr 등은 최상위 도메인이라고 하며, 2단계, 3단계에 맞추어 정해져있는 체계에 따라서 결정이 된다.
그리고 국내에서는 이러한 도메인 등록 및 사용을 대행해주는 업체들이 있는데, 아래의 링크를 참고해보자.
=> https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/popup/agencyIng.jsp
이외에도 AWS나 GCP 등 클라우드플랫폼에서도 도메인 호스팅 서비스를 이용할 수 있다.
DNS의 흐름
최초 사용자 요청시, Local DNS Server에서 Root Server에 도메인 주소를 확인한다. 이때 Root Server가 다 알아서 찾아주는 것이 아니라, Root Server 자신에 등록되어 있는 최상위 도메인에서 해당 도메인에 붙어있는 Top-Level Domain 주소를 찾아서 Local DNS Server로 전달해주고, 이후로는 찾을때까지 반복한다.
그리고 한가지 특이사항으로는 사용자가 도메인으로 요청시 매번 위와같은 동작을 한다면, DNS서버에 부담을 주는 상황이기 때문에, DNS Cache를 활용하여 자주쓰는 Domain Name 주소를 저장해두어 사용한다. 그러면 찾는 과정을 매번 반복하지 않고, 바로 IP주소를 찾아서 줄 수 있게된다. 아래 그림으로 한번더 흐름을 확인해보자.
참고자료
= https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/domainInfo/domainInfo.jsp
'Server & Infra' 카테고리의 다른 글
Server - WS(웹서버)와 WAS(웹어플리케이션서버)의 차이 (0) | 2022.03.10 |
---|---|
Infra - 로드밸런서와 세션관리 (0) | 2022.03.10 |
Server - ubuntu에 mariaDB 설치하기 (0) | 2021.10.20 |
Server - 리눅스(ubuntu)에서 계정생성 ~ sudo권한 추가까지 한번에 하기 (0) | 2020.03.21 |
Server - ubuntu에서 필요한 것들 설치명령어 (0) | 2020.03.21 |