www.google.com , www.naver.com , www.daum.net 인터넷을 이용하면 모르려야 모를수가 없는것이 바로 도메인(Domain) 주소이다.
지난 글에서 얘기한 IP주소와 매우 관련이 깊은 것이 바로 도메인 주소인데 개발공부를 하기 전만해도 둘이 딴 이야기인줄 알았다는.....
째뜬!!!! 도메인 주소와 DNS에 대해서 기록해보겠다!!!
위 www.google.com와 같은 주소에서 www.을 제외한 부분을 도메인이라고 한다.
클라이언트는 서버의 주소로 통신하여 data를 주고 받는다. 이때 서버의 주소가 IP주소인 170.24.29.30 과 같은 식으로 되어져 있으면 쉽게 접근하기 어려울 것이다. 특히나 클라이언트는 대부분 일반인이니 1~2개는 외운다해도 수많은 서버주소를 다 외울 수는 없는 노릇...
그래서 이 서버에 보다 쉽게 접근하게 하기 위하여 만들어진 것이 바로 도메인이다. 이게 없었으면 google.com이 아니라 위와 같은 숫자로 접근해야했을 것이다.
이 도메인 주소들이 모여있고 또 관리되고 있는 곳이 바로 DNS이다.
위와 같은 이유로 도메인 이름을 사용했을 때 입력한 도메인을 실제 네트워크상에서 사용하는 IP 주소로 바꾸고 해당 IP 주소로 접속하는 과정이 필요하다.
이러한 과정, 전체 시스템을 DNS(도메인 네임 시스템)라고 한다.
이 DNS 시스템은 전세계적으로 약속된 규칙을 공유한다. 상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP 주소로 변경할 수 있는 ‘권한’을 부여한다.
DNS는 이처럼 상위 기관과 하위 기관과 같은 ‘계층 구조’를 가지는 분산 데이터베이스 구조를 가진다.
가령 www.naver.com에 들어간다고 해보자 !
주소창에 www.naver.com을 치면 브라주저는 해당 도메인을 IP주소로 바꿔서 인식을 해야하는 과정이 필요하다.(컴터는 글자를 모른다.)
이때 내 pc에 설정된 local DNS 서버에 위 도메인 주소를 가진 IP주소가 있는지 먼저 찾는다. 보통 로컬 DNS서버는 통신사에 따라 따로 가지고 있다.
여기에 IP주소가 있으면 바로 변환후 연결을 시켜준다.
근데 없다면 ?
root DNS서버에 물어보게 된다. root DNS서버에서는 해당 도메인의 최상위 계층부터 ( 위 예시에서는 .com부터) 타고 들어가서 해당 도메인 주소에 맞는 IP주소를 반환해준다.
위와 같은 시스템을 거칠 때 해커의 공격을 받을 위험이 있을 수 있다.
DNS 스푸핑은 인터넷 사용자를 가짜 또는 악의적인 사기 웹 사이트로 리디렉션하는 데 사용되는 사이버 공격이다.
실제 IP 주소를 다른 IP 주소로 교체하는 공격을 통해 해커들은 무고한 사용자들을 감시하고, 악성 프로그램을 설치하며, 로그인 자격 증명이나 은행 정보와 같은 개인 정보를 훔칠 수 있다.
피해자들은 보통 브라우징을 하느라 실제로 어떤 일이 일어나는지 확인하기 어렵기 때문에 아주 위험하다.
DNS에 대해서 많은 내용들이 있지만 이번 글에서는 여기서 정리하겠다.
참고
얄팍한 코딩사전 - DNS 편
https://hanamon.kr/dns%EB%9E%80-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%EC%9E%91%EB%8F%99-%EB%B0%A9%EC%8B%9D%EA%B9%8C%EC%A7%80/