본문 바로가기

IP 주소와 도메인: 숫자 주소를 사람이 읽을 수 있는 이름으로 바꾸는 구조

📑 목차

    IP 주소와 도메인 이름이 필요한 이유

    인터넷을 사용할 때 대부분의 사람은 주소창에 google.com, daum.net 같은 도메인 이름을 입력한다. 그러나 실제 인터넷 내부에서는 사람이 읽기 쉬운 문자 대신 142.250.206.206 같은 IP 주소라는 숫자 형태의 주소가 사용된다. 사람이 보기에는 도메인 이름이 훨씬 편하지만, 컴퓨터와 네트워크 장비는 여전히 숫자 주소인 IP 주소를 기준으로 서로를 찾아간다.

    이 사이를 연결해 주는 구조가 바로 IP 주소, 도메인 이름, DNS(도메인 네임 시스템)이다. 이 구조를 이해하면 다음과 같은 의문에 답할 수 있다.

    • 도메인 이름을 입력했을 뿐인데 실제 서버를 어떻게 찾아가는지
    • 왜 같은 사이트가 여러 IP 주소를 가질 수 있는지
    • 도메인을 새로 연결했는데 반영되기까지 시간이 걸리는 이유는 무엇인지

    이 글에서는 IP 주소, 도메인 이름, DNS, 인터넷 주소, 네임 서버를 핵심 키워드로 삼아,

    • IP 주소의 기본 개념과 구조
    • 사람이 읽기 쉬운 도메인 이름이 만들어지는 방식
    • 도메인이 실제 IP 주소로 바뀌는 DNS 동작 원리와 실무적인 주의점
      을 전산학 입문 수준에서 차근차근 설명한다.

    IP 주소의 구조와 도메인 이름의 탄생 배경

    1. IP 주소의 개념과 기본 구조

    IP 주소(IP Address)는 인터넷에 연결된 각 기기를 구분하기 위한 숫자 형태의 네트워크 주소이다. 우편 시스템에서 집마다 고유한 주소가 있는 것처럼, 인터넷에서도 각 기기나 서버에 IP 주소가 부여된다.

    대표적인 IP 주소 체계는 다음과 같다.

    1. IPv4 주소
      • 가장 널리 쓰이는 전통적인 형식이다.
      • A.B.C.D 형태의 4개 숫자로 표현되며, 각 숫자는 0~255 범위이다.
      • 예: 192.168.0.10, 203.0.113.25
      • 대략 43억 개 정도의 주소를 지원하지만, 인터넷 기기 수가 크게 늘어나면서 부족 문제가 발생했다.
    2. IPv6 주소
      • IPv4 주소 고갈 문제를 해결하기 위해 도입된 새로운 형식이다.
      • 16진수와 콜론(:)으로 이루어진 더 긴 주소를 사용한다.
      • 예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
      • 실제 인터넷에서는 IPv4와 IPv6가 함께 사용되고 있다. 비전공자 입장에서는 “숫자가 더 길어진 버전의 IP 주소” 정도로 이해해도 충분하다.

    IP 주소는 내부적으로 네트워크 부분과 호스트(기기) 부분으로 나뉜다.

    • 네트워크 부분은 “어느 네트워크에 속해 있는지”를 나타내고,
    • 호스트 부분은 “해당 네트워크 안의 어느 기기인지”를 나타낸다.

    또한 IP 주소는 용도에 따라 대략 다음과 같이 나뉜다.

    • 공인 IP 주소: 인터넷에서 전 세계적으로 유일하게 사용되는 주소
    • 사설 IP 주소: 가정이나 회사 내부 네트워크에서만 사용하는 주소 (예: 192.168.x.x)

    사용자가 브라우저에서 웹사이트에 접속할 때 실제로는 해당 도메인의 서버 공인 IP 주소로 통신이 이루어진다. 다만 사람이 이 숫자를 직접 외우기에는 불편하므로, 여기서 도메인 이름이 필요해진다.

    2. 도메인 이름: 숫자 주소를 사람이 읽기 쉽게 만든 별칭

    도메인 이름(Domain Name)은 IP 주소를 사람이 기억하고 입력하기 쉬운 문자 기반 주소로 표현한 것이다. 예를 들어,

    • 142.250.207.14 대신 google.com
    • 223.130.xxx.xxx 대신 daum.net
      같은 이름을 사용하는 방식이다.

    도메인 이름은 점(.)을 기준으로 계층 구조를 가진다.

    예를 들어 www.example.com이라는 도메인을 보면,

    • com : 최상위 도메인(TLD, Top-Level Domain)
    • example : example.com이라는 2단계 도메인(보통 사이트의 대표 이름)
    • www : 서브도메인(하위 서비스 이름)

    이 구조 덕분에 도메인을 체계적으로 관리할 수 있다.

    • 최상위 도메인(.com, .net, .kr 등)은 전 세계적으로 제한된 기관이 관리한다.
    • 그 아래의 2단계 도메인(example.com 등)은 도메인 등록 업체(레지스트라)를 통해 기업이나 개인이 등록한다.
    • 서브도메인(www.example.com, blog.example.com)은 해당 도메인 소유자가 자유롭게 설정할 수 있다.

    도메인 이름의 핵심 역할은 다음과 같다.

    1. 사람이 읽고 기억하기 쉬운 이름을 제공한다.
    2. 서비스 종류를 구분하는 데 사용된다. (예: www, mail, api 등)
    3. 내부적으로는 하나 이상의 IP 주소와 연결되어 실제 서버 위치를 찾아가는 데 사용된다.

    특히 하나의 도메인 이름이 여러 IP 주소로 연결될 수 있다는 점이 중요하다. 이 구조를 이용해 트래픽을 여러 서버로 분산하거나, 장애 시 다른 서버로 자동 전환하는 등의 구성이 가능하다.

     

    IP 주소와 도메인: 숫자 주소를 사람이 읽을 수 있는 이름으로 바꾸는 구조
    도메인 이름과 IP 주소의 1:1·1:N 매핑 구조 개념도

    3. IP 주소와 도메인 이름을 연결하는 이유

    정리하면, IP 주소와 도메인 이름은 다음과 같은 관계를 가진다.

    • IP 주소는 네트워크 장비가 이해하는 실제 숫자 주소이다.
    • 도메인 이름은 사람이 이해하기 쉬운 문자 주소이다.
    • 둘 사이를 자동으로 변환해 주는 시스템이 DNS(도메인 네임 시스템)이다.

    이 관계를 이해하면,

    • 도메인을 새로 연결했는데 어느 지역에서는 접속이 되고, 어느 지역에서는 안 되는 이유,
    • 같은 도메인으로 접속하는데 어느 날 갑자기 다른 서버로 연결되는 이유 등도 DNS 설정과 전파 과정을 통해 설명할 수 있다.

    DNS 구조와 IP 주소로 변환되는 실제 과정

    1. DNS(Domain Name System)의 역할과 구조

    DNS(Domain Name System)는 간단히 말해 도메인 이름과 IP 주소를 서로 매핑해 주는 분산형 주소록 시스템이다. 전화번호부에서 이름으로 전화번호를 찾는 것과 비슷한 역할을 인터넷 전체 규모에서 수행한다.

    DNS는 중앙 서버 하나가 모든 정보를 가지고 있는 구조가 아니다. 대신 전 세계에 분산된 여러 계층의 서버들이 함께 동작한다. 주요 구성 요소는 다음과 같다.

    1. 루트 네임 서버(Root Name Server)
      • DNS 계층 구조의 가장 꼭대기에 있는 서버들이다.
      • .com, .net, .kr 같은 최상위 도메인(TLD)을 관리하는 서버들의 위치 정보를 알고 있다.
    2. TLD 네임 서버
      • .com 도메인들에 대한 정보, .kr 도메인들에 대한 정보처럼
      • 각 최상위 도메인에 속한 2단계 도메인들의 네임 서버 위치를 관리한다.
    3. 권한 네임 서버(Authoritative Name Server)
      • 실제로 example.com 도메인의 IP 주소 정보(A 레코드, AAAA 레코드 등)를 가지고 있는 서버이다.
      • 도메인 소유자가 DNS 설정 화면에서 A 레코드, CNAME 레코드 등을 수정하면, 이 권한 네임 서버의 데이터가 변경된다.
    4. 리졸버(Resolver, 주로 ISP나 공용 DNS 서버)
      • 사용자의 요청을 대신 받아 위 계층 서버들을 차례대로 조회한 뒤, 최종 IP 주소를 찾아 사용자에게 알려주는 역할을 한다.
      • 흔히 사용하는 공용 DNS(예: 8.8.8.8, 1.1.1.1 등)가 여기에 해당한다.

    2. 브라우저에서 도메인을 입력했을 때의 DNS 조회 흐름

    사용자가 브라우저에 www.example.com을 입력하고 엔터를 눌렀을 때, 실제로는 다음과 같은 순서로 IP 주소가 조회된다.

    1. 브라우저 내부 캐시 확인
      • 브라우저는 최근에 접속한 도메인과 IP 주소를 일정 시간 기억한다.
      • 같은 도메인에 다시 접속할 때는, 캐시된 IP 주소를 바로 사용하는 경우가 있다.
    2. 운영체제와 로컬 캐시 확인
      • 브라우저에 정보가 없다면, 운영체제(윈도우, macOS 등)에 “이 도메인의 IP 주소를 알려 달라”고 요청한다.
      • 운영체제도 자체 DNS 캐시를 가지고 있으며, 먼저 여기에서 찾는다.
    3. 리졸버(예: ISP DNS)에게 질의
      • 로컬에 정보가 없으면, 설정된 DNS 서버(보통 인터넷 회선 사업자의 DNS 또는 공용 DNS)에 질의를 보낸다.
    4. 루트 네임 서버 → TLD 서버 → 권한 네임 서버 순서로 탐색
      • 리졸버는 루트 네임 서버에 문의해 .com에 대한 TLD 서버 위치를 알아낸다.
      • 이어 .com TLD 서버에 문의해 example.com 도메인의 권한 네임 서버 위치를 알아낸다.
      • 마지막으로 해당 권한 네임 서버에 www.example.com의 IP 주소를 물어본다.
    5. 결과 캐시 및 응답 반환
      • 권한 네임 서버는 A 레코드(IPv4) 또는 AAAA 레코드(IPv6)에 기록된 IP 주소를 응답한다.
      • 리졸버는 이 결과를 일정 시간 캐시에 저장하고, 클라이언트(사용자 PC)에 알려 준다.
      • 브라우저는 이 IP 주소를 사용해 실제 서버와 TCP/IP 연결을 맺는다.

    이러한 과정을 거쳐 도메인 이름이 실제 IP 주소로 변환된다. 대부분의 경우 이 과정은 수 밀리초~수십 밀리초 이내에 끝나므로, 사용자는 화면에서 거의 지연을 느끼지 못한다.

     

    사용자 브라우저에서 시작된 DNS 질의가 리졸버와 루트 서버, TLD 서버, 권한 네임 서버를 순서대로 거쳐 최종 IP 주소를 얻는 과정을 화살표로 표현한 다이어그램
    브라우저의 DNS 질의가 루트·TLD·권한 네임 서버를 거쳐 IP 주소를 찾는 과정

    3. DNS 캐시와 전파 지연: 설정을 바꿨는데 바로 적용되지 않는 이유

    도메인과 IP 주소를 연결하는 작업(예: 새 서버로 이전, 호스팅 변경)을 할 때 자주 겪는 현상이 있다.

    • 어떤 컴퓨터에서는 새 서버로 접속되지만,
    • 다른 컴퓨터에서는 여전히 예전 서버로 접속되는 상황이다.

    이 현상은 DNS 캐시와 TTL(Time To Live) 개념과 관련이 있다.

    1. DNS 캐시(Cache)
      • DNS 조회 결과는 리졸버, 운영체제, 브라우저 등 여러 단계에서 일정 시간 동안 저장된다.
      • 캐시를 사용하면 같은 도메인에 대한 반복 조회 시간을 줄일 수 있지만,
      • IP 주소가 변경된 직후에는 예전 정보가 남아 있을 수 있다.
    2. TTL(Time To Live)
      • 각 DNS 레코드에는 유효 기간을 나타내는 TTL 값이 있다.
      • 예를 들어 TTL이 3600초(1시간)인 레코드는,
        • 일단 조회되면 1시간 동안 캐시에 유지될 수 있다.
      • 도메인 정보 변경 후 완전히 전 세계에 반영되기까지 시간이 걸리는 이유가 여기에 있다.
    3. 전파 지연(Propagation Delay)
      • 도메인 설정을 변경한 뒤,
      • 모든 DNS 서버와 캐시들이 새 정보를 사용하기까지의 시간 차를 전파 지연이라고 볼 수 있다.
      • 일반적으로 수 분에서 수 시간, 경우에 따라 24~48시간까지도 차이가 날 수 있다.

    이 구조를 이해하면, 도메인 설정을 바꾸고 나서 일정 시간이 지나야 전 세계적으로 안정적으로 반영된다는 점을 미리 예측할 수 있다.

    4. 실생활에서 자주 마주치는 문제와 해결 관점

    IP 주소, 도메인, DNS 구조를 기본적으로 이해하면, 다음과 같은 상황에서 원인을 조금 더 논리적으로 파악할 수 있다.

    1. 도메인을 입력했는데 “사이트에 연결할 수 없음” 오류가 뜨는 경우
      • 도메인 자체가 만료되었거나
      • DNS 레코드(A 레코드 등)가 잘못 설정되어 있거나
      • 권한 네임 서버가 응답하지 않는 문제일 수 있다.
    2. 어떤 컴퓨터에서는 잘 되는데, 다른 컴퓨터에서는 접속이 안 되는 경우
      • 두 컴퓨터가 서로 다른 DNS 서버를 사용하거나
      • 한쪽에서 오래된 DNS 캐시를 사용하고 있을 가능성이 있다.
      • 이때 DNS 캐시를 삭제하거나, 다른 공용 DNS 서버로 변경해 테스트해 보는 것이 도움이 된다.
    3. 같은 도메인인데, 어느 날 전혀 다른 사이트로 연결된 경우
      • 도메인 소유권 이전, DNS 설정 변경, 또는 악의적인 도메인 하이재킹 등이 원인일 수 있다.
      • WHOIS 조회, DNS 레코드 점검 등을 통해 도메인 상태를 확인할 수 있다.
    4. 사설 IP와 포트 포워딩 관련 문제
      • 집이나 회사 내부에서 사용하는 사설 IP(192.168.x.x 등)와,
      • 외부에서 접속할 때 사용하는 공인 IP, 도메인, 포트 번호의 관계를 이해하면,
      • NAS, 원격 접속 서버 등을 구성할 때 문제 발생 지점을 더 정확히 찾을 수 있다.

    IP 주소와 도메인을 이해하면 인터넷 주소 체계가 정리된다

    이 글에서는 IP 주소와 도메인 이름을 중심으로, 숫자 주소를 사람이 읽을 수 있는 이름으로 바꾸는 구조를 살펴보았다. 핵심 내용을 정리하면 다음과 같다.

    1. IP 주소는 인터넷 기기를 구분하는 실제 숫자 주소이다.
      • IPv4와 IPv6가 있으며, 공인 IP와 사설 IP로 나뉜다.
      • 네트워크 장비는 IP 주소를 기준으로 패킷을 전송한다.
    2. 도메인 이름은 IP 주소에 대한 사람이 읽기 쉬운 별칭이다.
      • www.example.com처럼 계층 구조를 가지며,
      • 최상위 도메인, 2단계 도메인, 서브도메인으로 구성된다.
    3. DNS는 도메인 이름을 IP 주소로 변환하는 분산 주소록 시스템이다.
      • 루트 서버, TLD 서버, 권한 네임 서버, 리졸버가 단계적으로 협력하여 IP 주소를 찾는다.
      • 브라우저는 이 과정을 통해 도메인 이름에서 IP 주소를 얻어 실제 서버와 통신한다.
    4. DNS 캐시와 TTL 때문에 도메인 설정 변경 후 전파 지연이 발생한다.
      • 일부 지역이나 일부 사용자에게만 예전 정보가 보이는 현상은 자연스러운 과정이다.
    5. 기본 구조를 알면 도메인 관련 오류와 네트워크 문제를 더 논리적으로 이해할 수 있다.
      • “사이트에 연결할 수 없음”, “어디서는 되고 어디서는 안 됨” 같은 상황을
      • DNS 설정, 캐시, 네임 서버 문제 관점에서 바라볼 수 있다.

    이제 “도메인 이름을 입력했을 뿐인데 어떻게 실제 서버까지 도달하는가”라는 질문에 대해,

    • 도메인 이름이 DNS를 통해 IP 주소로 변환되고,
    • 그 IP 주소를 기반으로 인터넷 상에서 목적지 서버에 도착한다는 흐름을 설명할 수 있다.

    다음 단계에서 자연스럽게 이어질 수 있는 주제로는 예를 들어 다음과 같은 것이 있다.

    • “포트 번호와 소켓: 하나의 IP 주소에서 여러 서비스를 구분하는 방법”
    • “HTTPS와 인증서: 도메인 이름이 진짜 사이트인지 검증하는 구조”

    이러한 주제를 함께 살펴보면, 전산학에서 중요한 축인 네트워크 주소 체계와 인터넷 보안 구조를 더 깊이 이해하는 데 도움이 될 것이다.