해당 정리본은 Chat-GPT에 검색하여 나온 결과를 정리했으며, 개인적으로 구글링을 통해 찾아서 덧붙인 글입니다.
DNS
DNS란 무엇인가
인터넷에서 모든 장치는 고유한 IP 주소를 가지고 있으며 어떠한 웹 사이트에 접속하기 위해서는 IP 주소를 이용해야 합니다.
실제로 사용자들은 기억하고 사용하기 어려운 IP 주소 대신 기억하기 쉬운 도메인을 사용합니다.
DNS는 도메인 이름을 IP 주소로 변환해주는 시스템으로 DNS가 IP 주소로 변환해 웹사이트에 연결을 해주는 역할을 합니다.
DNS의 구성 요소
- 도메인 이름
사람이 기억하기 쉬운 웹사이트 주소를 뜻합니다. (예: www.example.com
)
- IP 주소
도메인이 가리키는 실제 서버 주소를 뜻합니다. (예: 192.168.1.1
)
- DNS 리졸버(Resolver)
사용자의 DNS 요청을 받아 적절한 서버로 전달해 IP 주소를 찾는 역할을 하는 서버로 주로 인터넷 서비스 제공자(ISP)에 의해 운영됩니다.
- 루트 네임 서버(Root Name Server)
도메인 이름의 최상위 수준(.com, .net, .org 등)을 관리하는 서버로 전 세계에 분산되어 있으며 TLD 네임 서버의 위치를 알려줍니다.
- TLD 네임 서버(Top Level Domain Name Server)
.com
, .net
과 같은 최상위 도메인(TLD)을 관리하며 해당 도메인의 하위 도메인 정보를 제공합니다.
- 권한 있는 네임 서버(Authoritative Name Server)
특정 도메인 이름에 대해 최종적으로 IP 주소를 제공하는 서버로 실제 웹사이트가 호스팅된 서버의 IP 주소를 알려줍니다.
DNS 동작 원리
1. 브라우저 → DNS 리졸버 → 로컬 캐시 확인
브라우저에서 www.example.com
과 같은 도메인을 입력하면, DNS 리졸버는 해당 도메인의 IP 주소를 찾기 위해 요청을 받습니다.
DNS 리졸버는 먼저, 로컬 캐시에서 해당 도메인에 대한 IP 주소가 저장되어 있는지 확인합니다.
만약 캐시에 IP 주소가 있다면 캐시된 정보를 이용해 IP 주소를 반환하고 DNS 요청 과정을 종료합니다.
2. DNS 리졸버 → 루트 네임 서버
로컬 캐시에 정보가 없을 경우, 리졸버는 루트 네임 서버에 요청을 보냅니다.
루트 네임 서버는 도메인 이름의 최상위 수준(.com, .net 등)에 대한 정보를 가지고 있으며, 이 단계에서 해당 최상위 도메인을 담당하는 서버의 위치를 알려줍니다.
3. DNS 리졸버 → TLD 네임 서버
리졸버는 루트 네임 서버에서 받은 정보를 바탕으로 TLD 네임 서버(최상위 도메인 서버)로 요청을 보냅니다.
예를 들어 www.example.com
도메인의 .com
TLD 서버로부터 해당 도메인에 대한 자세한 정보를 요청합니다.
4. DNS 리졸버 → 권한 있는 네임 서버
TLD 네임 서버는 example.com
도메인을 담당하는 권한 있는 네임 서버의 주소를 리졸버에게 반환합니다.
리졸버는 해당 권한 있는 네임 서버에 최종적으로 도메인 이름에 대한 정확한 IP 주소를 요청합니다.
5. 권한 있는 네임 서버 → DNS 리졸버
권한 있는 네임 서버는 www.example.com
에 해당하는 IP 주소를 찾아서 DNS 리졸버에 반환합니다.
이 IP 주소는 해당 도메인을 운영하는 웹 서버의 실제 주소입니다.
6. DNS 리졸버 → 브라우저
DNS 리졸버는 권한 있는 네임 서버에서 받은 IP 주소를 브라우저에 전달합니다.
이 IP 주소는 사용자에게도 캐시되며 브라우저는 해당 IP 주소로 웹 서버에 접속을 시도합니다.
7. 브라우저 → 웹 서버
브라우저는 이제 받은 IP 주소로 웹 서버에 접속하여 최종적으로 해당 웹사이트를 사용자에게 표시합니다.
도메인
도메인 등록?
사용자가 원하는 고유한 도메인 이름을 인터넷에 공식적으로 등록하고 사용할 수 있도록 하는 절차입니다.
이 과정을 통해 도메인 소유자는 원하는 도메인을 소유하고, 해당 이름을 기반으로 웹사이트를 운영할 수 있습니다.
도메인 등록 프로세스 및 필요성
1. 도메인 검색 - 중복 방지
사용자가 도메인 이름을 검색하는 이유는 중복 방지를 위해 필요합니다.
같은 이름의 도메인은 하나만 존재할 수 있기 때문에 이를 확인하는 과정이 필수적입니다.
2. 도메인 등록 대행자 선택 - 공식 등록 절차 수행
도메인 등록 대행자는 도메인 이름을 관리하는 기관과 연결되어 공식적인 등록 절차를 수행합니다.
이를 통해 사용자는 법적 소유권을 확보하고, 도메인 이름을 독점적으로 사용할 수 있습니다.
3. 정보 입력 및 결제 - 소유권 보장
사용자는 도메인 소유자의 정보를 제공해야 하며, 이는 WHOIS 데이터베이스(공개 데이터베이스)에 기록됩니다.
도메인 소유자 정보가 등록되어야 도메인의 소유권이 법적으로 보장되며 도메인을 사용하기 위한 사용료를 지불해야 합니다.
4. WHOIS 데이터베이스 기록 - 투명성 및 보안
등록된 도메인 정보는 WHOIS 데이터베이스에 기록되며, 이를 통해 도메인의 소유자를 누구나 확인할 수 있습니다.
이 과정은 도메인의 투명성을 보장하고, 분쟁이 발생했을 때 소유권을 확인하는 데 중요한 역할을 합니다.
5. 네임 서버 설정 - 웹사이트 연결
네임 서버 설정을 통해 도메인은 실제 IP 주소와 연결되어야 웹사이트가 정상적으로 작동할 수 있습니다.
이를 통해 도메인은 웹사이트, 이메일, 또는 기타 서비스를 운영할 수 있게 됩니다.
6. DNS 업데이트 - 인터넷 사용 가능
네임 서버 설정이 완료되면 DNS 시스템에 도메인 정보가 업데이트 됩니다.
이 과정이 완료되어야 도메인이 실제로 인터넷 상에서 사용 가능해지며, 도메인을 통해 웹사이트에 접근할 수 있습니다.
7. 도메인 사용 시작 - 공식 사용 가능
모든 과정이 완료되면 사용자는 도메인을 공식적으로 사용할 수 있게 됩니다.
등록된 도메인은 전 세계 어디서나 접근 가능하며, 이로 인해 인터넷에서 도메인을 통한 정상적인 서비스 제공이 가능해집니다.
마치며
인터넷에서 어떻게 도메인 이름을 반환 하는지 왜 도메인 등록을 하는지에 대해 알게 되는 계기가 되었습니다.
예전에 했던 프로젝트에서 도메인 등록 방법에 대해서만 알고, 동작 원리에 대해서 모르고 있었는데 이렇게 정리하고 나니 어느 정도 머릿속에 잡힌 느낌이 드네요 ㅎㅎ