네임서버와 DNS를 많이들 혼돈하시네요. 네트워크를 공부해 보신분들은 쉽게 이해하실텐데 그렇지 않은 경우 두가지를 혼돈하거나 바꿔서 혹은 두가지가 모두 같은 것으로 이야기하는 경우가 많습니다.
1.네임서버 (Nameserver)
도메인을 구입(할당)하게 되면 이 도메인을 특정 서버에 연결해야 합니다. 서버는 ip 주소를 가지고 있어 식별이 됩니다. 이 서버단위를 host라고 부를 수 있습니다.
도메인을 어떤 ip를 가진 서버와 연결하는 담당을 하는 것이 이 네임서버 가 하는 일입니다.
abc.com -> 111.123.111.123
이런식으로 으로 매핑? 을 하는 서버입니다.
도메인이라는 것을 사용하지 않는다면 필요하지 않았을 기능입니다. 이후 설명할 DNS도 도메인을 사용하기 때문에 필요하게 된 것이구요.
도메인을 사용하지 않는 다면 내가 접속하고 싶은 서비스를 담당하는 서버의 ip 주소를 주소창에 넣고 접속해야 하는데 이를 좀더 쉽고 유연하게 하기 위해 도메인을 대신 사용하게 되는 것 입니다.
클라우드플레어에서 DNS기능만 사용한다는 의미가 내가 구입한 도메인의 네임서버(아이피 매핑기능)을 클라우드플레어 네임서버를 이용한다는 의미입니다.
네임서버는 ip를 관리하는 회사의 것을 사용하던 혹은 호스팅사에서 제공하는 것을 사용하던 혹은 네임서버를 전문으로 제공하는 회사(클라우드플레어와 같은) 의 것을 사용하던 전혀 문제가 되지 않습니다.
내가 구입한 도메인을 관리하는 곳에 내 도메인을 어떤 ip에 연결했는지 알고 있는 네임서버의 주소를 입력하게 되어있습니다.
2.DNS (Domain Name System)
비슷한 작업을 하는것 같지만 상당히 다른 작업을 수행합니다.
위에서 설명한 네임서버는 특정 도메인이 어떤 ip와 연결되었다는 것을 기록하고 그것을 전파하는 역할을 합니다.
(여기서 전파란 DNS들로 전파를 의미합니다. host로 직접 정보를 제공하지 않습니다.)
DNS는 실시간으로 각 네임서버로부터 전파된 모든 도메인의 ip정보를 갱신하며 누군가에게 특정 도메인에 대한 요청이 들어오면 ip 주소를 알려주는 담당을 합니다.(여기서 들어오는 요청은 최종 이용자인 host로 부터 들어오는 것 입니다.)
XE타운에 접속을 하기 위한 절차
내 컴퓨터 또는 휴대폰 등 -> 브라우저 주소창에 xetown.com 주소 입력 -> DNS에 도메인에 대한 ip 요청 -> DNS에서 ip 를 회신 -> 내 컴퓨터 또는 휴대폰 등 에서 회신 받은 ip로 접속
이러한 과정으로 웹에서는 항상 통신을 하기 때문에 DNS의 성능도 매우 중요하게 됩니다.
내 PC에 DNS 서버를 구글에서 운영하는 퍼브릭DNS 8.8.8.8 을 설정해 사용하는 분도 있고 클라우드플레어사의 DNS서버인 1.1.1.1 을 입력해서 사용하는 분도 있고 아니면 따로 설정하지 않고 이용하는 통신사서버를 이용하는 경우도 있습니다.
웹서버의 경우도 이 DNS를 입력하게 됩니다. 왜냐면 다른 사이트와 서버가 접속할 일이 가끔 생기기 때문에 다른 웹사이트 도메인을 ip로 반환받아야 다른 사이트 접속을 할 수 있기 때문입니다.
다르게 말하면 네임서버는 사이트 운영자에게 중요한 것이고, DNS는 방문자에게 중요한 것이라고 할 수 있겠습니다. 사이트 운영자가 네임서버에 자기 도메인과 IP 주소를 등록해 놓으면, 방문자들은 DNS를 통해 그 정보를 받아오게 되니까요. 아주 특별한 경우를 제외하면 방문자들이 네임서버에서 직접 정보를 받아오지는 않습니다.
물론 요즘은 푸시알림, 소셜로그인, 날씨 API 등을 받아오기 위해 내 사이트에서 다른 사이트에 접속하여 방문자 노릇을 해야 할 때가 종종 있기 때문에 사이트 운영자도 DNS에 신경을 쓸 일이 생기긴 하지요.
국내 통신사에서 일반 (초고속인터넷 및 모바일) 사용자를 위해 기본 제공하는 DNS 서비스의 퀄리티는 대체로 괜찮습니다. 그러나 국내 대부분의 호스팅 업체에서 웹호스팅, 가상서버호스팅, 서버호스팅, 코로케이션 고객에게 제공하는 DNS는 평균적으로 쓰레기입니다. 서버의 DNS 설정을 8.8.8.8이나 1.1.1.1로 바꾸기만 해도 푸시알림이나 외부 API 연동이 몇 배나 빨라지는 경우가 종종 있습니다. 그러나 그렇다고 해외업체 DNS에 지나치게 의존하면 네트워크 장애나 디도스 공격 발생시 흥선대원군의 이름으로 접속을 막아버리는 불상사가 발생할 수도 있으므로;;; 서버호스팅 DNS는 해외업체와 국내업체를 함께 사용하도록 잘 세팅해야 합니다.