쉬운·기술사전비유로 이해하는 AI·개발 용어
배포와 운영

DNS

DNS

인터넷의 전화번호부예요. 사이트 이름을 실제 주소로 바꿔줘요.

DNS 개념 다이어그램

요즘 전화번호를 외우는 사람은 없죠. 이름을 탭하면 폰이 알아서 번호를 채워줘요. DNS는 인터넷 전체에서 그 역할을 해요.

컴퓨터가 대놓고 말하지 않는 사실이 있어요. 컴퓨터는 google.com이 뭔지 모릅니다. 이름 자체는 아무 의미가 없어요. 웹사이트를 제공하는 모든 서버는 IP 주소라는 숫자 주소를 가져요. 142.250.80.46 같은 형태죠. 이게 진짜 위치예요. 이름은 인간이 숫자를 외우지 않아도 되도록 붙여놓은 스티커일 뿐이에요.

그래서 웹 주소를 입력하고 엔터를 누를 때마다, 페이지가 로드되기 전에 빠른 조회가 먼저 일어나요.

  1. google.com을 입력해요.

  2. 브라우저가 DNS에 묻습니다. "이 이름 뒤에 있는 실제 번호가 뭐야?"

  3. DNS가 IP 주소를 돌려줘요.

  4. 그제서야 브라우저는 어디로 가야 할지 알고, 그곳으로 향하죠.

이 왕복 과정 전체가 페이지가 로드되기 시작하기 전 눈 깜짝할 사이에 일어나요. 사용자에게는 보이지 않아요. 온라인에서 하는 모든 일 아래에서 조용히 돌아가는, 인터넷의 연락처 앱이에요.

알지 못하면서 겪었던 순간.

도메인을 사고 나서 판매자가 "작동하는 데 최대 48시간 걸릴 수 있습니다"라고 말한 경험이 있을 거예요. 그 기다림이 DNS예요. 이름은 샀지만, 세계의 전화번호부들이 아직 업데이트를 받지 못한 거예요. 새 항목이 전 세계의 전화번호부들 사이에 차례로 퍼져나가야 모든 곳에서 같은 번호를 보게 돼요. 이 확산 과정을 전파(propagation)라고 불러요. 새 사이트가 나에게는 열리는데 다른 도시에 사는 친구에게는 안 열리는 이유가 여기 있어요. 내 전화번호부에는 업데이트가 왔고, 친구 것에는 아직 안 온 거예요.

무언가를 인터넷에 올리는 순간 이 개념이 중요해져요.

도메인 소유는 사람들이 늘 뭉뚱그리는 두 가지로 나뉘어요.

사기만 해서는 아무 일도 일어나지 않아요. 번호 없이 저장된 연락처와 같아요. 실제로 어딘가로 연결되게 만드는 건 '연결' 단계예요. 그래서 사이트를 설정할 때 호스팅 서비스가 "이 DNS 레코드를 추가하세요"라고 하면, 연락처 옆에 쓸 번호를 건네주는 거예요. 자신의 이름에 해당하는 전화번호부 항목을 채우는 작업이에요.

자주 마주치는 항목들을 쉽게 풀면 이렇습니다.

이걸 외울 필요는 없어요. 설정 화면에서 이런 항목이 나와도 당황하지 않으면 돼요. 어떤 이름에 어떤 번호를 넣을지 묻는 양식일 뿐이니까요.

실제로 듣게 될 말. 무언가 작동하지 않아서 누군가가 어깨를 으쓱하며 "DNS 문제일 거야"라고 말할 때, 개발자들 사이에 유명한 농담이 있어요. 항상 DNS가 문제라는 거예요. 풀어서 말하면 이렇습니다. 사이트 자체는 멀쩡하고, 서버도 잘 돌아가고 있는데, 이름이 엉뚱한 곳을 가리키고 있거나 (아니면 아직 전파가 덜 됐거나) 해서 아무도 정문을 찾지 못하는 상황이에요. 식당은 열려 있어요. 그런데 간판의 주소가 틀려서 모두가 주변을 맴돌고 있는 거예요.

서버에는 번호가 있고, 사용자에게는 이름이 있어요. DNS는 그 사이에 서서 번역하는 존재이며, 이것 없이는 인터넷의 거의 모든 것이 작동하지 않아요.