인터넷의 핵심 요소 중 하나인 IP 주소는 사용자의 식별 정보가 악의적인 목적으로 사용될 수 있는 잠재적 보안 위험을 내포하고 있습니다.
IP 주소(인터넷 프로토콜 주소)란, 인터넷 프로토콜을 기반으로 통신하는 네트워크에 연결된 모든 장치에 할당되는 고유한 숫자 조합입니다. 이는 디지털 세상에서 마치 우리 집이나 회사의 주소와 같은 역할을 합니다.
인터넷 프로토콜은 데이터를 ‘패킷’이라는 작은 단위로 나누어 네트워크를 통해 전송합니다. 각 패킷에는 전송할 데이터 외에도 헤더 정보가 포함되어 있으며, 이 헤더에는 발신자와 수신자의 IP 주소가 담겨 있습니다.
패킷 헤더에 저장된 주요 정보 중 하나는 패킷을 보낸 장치와 패킷이 도착해야 할 장치의 IP 주소입니다. 네트워크 장비, 예를 들어 라우터는 이 정보를 활용하여 패킷이 최종 목적지까지 정확하게 도달하도록 돕습니다.

DNS는 어떻게 도메인 이름을 IP 주소와 연결할까요?
웹 브라우저 주소창에 IP 주소를 직접 입력하는 사람은 거의 없습니다. 우리는 ‘google.com’, ‘naver.com’과 같은 도메인 이름을 사용합니다. DNS(Domain Name System)는 인터넷 프로토콜 시스템의 또 다른 중요한 부분으로, 사용자가 입력한 도메인 이름에 해당하는 정확한 IP 주소를 찾아 연결해 줍니다.
DNS는 IP 주소 기반의 복잡한 인터넷 구조를 사용자에게 더 편리하게 만들어주는 시스템으로 볼 수 있습니다. 하지만 IP 주소는 인터넷에 연결된 기기를 식별하는 기본적인 방법이며, 도메인 이름 하나가 여러 서버의 IP 주소를 가리키는 경우도 있습니다.
IPv4 주소와 IPv6 주소는 어떻게 다를까요?
IP 주소에는 IPv4와 IPv6 두 가지 버전이 존재하며, 각각 다른 형식을 가집니다. 가장 큰 차이점은 IPv6 주소(2128개)가 IPv4 주소(232개)보다 훨씬 더 많은 고유 주소를 생성할 수 있다는 점입니다.
IPv4 주소는 45.48.241.198
과 같이 점으로 구분된 네 부분으로 이루어져 있습니다. 각 부분은 0부터 255까지의 값을 가지며, 이는 8비트 이진수로 표현됩니다.
이 네 개의 숫자는 10진수 형태로 표현되지만, 컴퓨터는 실제로는 이진수(0과 1)를 사용합니다. IPv4 주소의 각 부분은 8비트 이진수를 나타냅니다.
IPv4 주소는 1983년부터 사용되어 왔습니다. 하지만 IPv6는 IPv4를 대체하는 최신 프로토콜로, 주소는 2620:cc:8000:1c82:544c:cc2e:f2fa:5a9b
와 같이 표현됩니다.
IPv6 주소는 4개가 아닌 8개의 숫자로 구성되어 있고, 점 대신 콜론으로 구분됩니다. IPv6 주소는 16진수(Base 16) 표기법을 사용하므로, 숫자와 함께 문자(A-F)가 포함됩니다. 16진수 한 자리는 16가지 값을 표현할 수 있으며, IPv6 주소의 각 부분은 16비트 이진수를 나타냅니다. 이러한 차이점이 IPv6가 개발된 이유입니다.
IPv4 주소는 32비트 숫자이므로, 총 232개(약 43억 개)의 주소를 만들 수 있습니다. 인터넷 초기에는 충분했지만, 인터넷에 연결되는 기기가 급증하면서 주소 부족 문제가 발생했습니다.
IPv4 주소 고갈에 대한 우려가 IPv6 개발을 촉진했습니다. IPv6 주소는 128비트 숫자이므로, 2128개(약 340 undecillion)라는 엄청난 수의 주소를 만들 수 있습니다.
실제로 IPv4 주소는 여전히 널리 사용되고 있습니다. 이는 IP 주소 할당 방식과 사설 네트워크에서의 제한된 IP 주소 사용과 관련이 있습니다.

IP 주소는 어떻게 할당될까요?
IANA(International Assigned Numbers Authority)는 “IPv4 및 IPv6 주소는 일반적으로 계층적 방식으로 할당됩니다”라고 명시하고 있으며, 이 계층 구조의 최상위에 IANA가 있습니다. IANA는 지역 인터넷 레지스트리(RIR)에 IP 주소 블록을 할당합니다. 각 지역에 어떤 주소 범위가 할당되는지 여기에서 확인할 수 있습니다.
지역 레지스트리는 다시 국가 레지스트리에 더 작은 블록을 할당하며, 이 과정은 개별 ISP(인터넷 서비스 제공업체)까지 이어집니다. ISP는 이동통신사를 포함하여 최종 사용자에게 특정 IP 주소를 할당하는 역할을 하며, 이를 위한 다양한 방법을 사용합니다.
고정 IP 주소와 유동 IP 주소의 차이점은 무엇일까요?
고정 IP 주소는 ISP가 특정 장치에 할당하여 변경되지 않는 주소입니다. 예를 들어, 컴퓨터의 주소가 45.48.241.198
이라면, 이 주소는 변경되지 않고 유지됩니다. 고정 IP 주소는 웹 서버나 게임 서버와 같이 인터넷에서 쉽게 접근해야 하는 장치에 중요합니다. 일반적으로 ISP는 고정 IP 주소를 할당하는 데 추가 요금을 부과합니다.
제한된 IPv4 주소를 관리하는 ISP 입장에서 고정 주소 할당은 사용하지 않을 때도 해당 주소를 다른 사용자에게 할당할 수 없다는 단점이 있습니다. 대부분의 사용자는 실제로 인터넷에 접속할 때만 IP 주소가 필요합니다. 이러한 사용자에게 ISP는 유동 IP 주소를 할당합니다. 장치가 네트워크에 연결할 때마다 새로운 IP 주소가 할당되며, 연결이 끊어지면 해당 주소는 사용 가능한 주소 풀로 반환됩니다. 이 기술은 IP 주소 낭비를 막는 데 효과적입니다. 예를 들어 ISP에 100만 명의 고객이 있지만 동시에 온라인에 있는 사용자는 절반에 불과하다면, 100만 개의 주소 풀이 필요하지 않습니다.
IPv4 네트워크에서 IP 주소를 유동적으로 할당하는 과정은 DHCP(Dynamic Host Configuration Protocol)라는 프로토콜에 의해 관리됩니다. DHCP는 대부분의 과정을 자동화하고, 동시에 두 장치에 동일한 주소가 할당되는 것을 방지합니다.
IPv6는 SLAAC(Stateless Address Autoconfiguration)를 지원합니다. 이 방식에서 장치는 네트워크에 연결될 때 자체적으로 사용 가능한 주소 풀에서 주소를 가져옵니다. 하지만 네트워크 제공자의 제어력을 유지하기 위해 DHCP 프로토콜의 업데이트된 버전인 DHCPv6도 사용됩니다.
공용 IP 주소와 사설 IP 주소란 무엇일까요?
지금까지 우리는 IP 주소에 대해 이야기하면서, 마치 전 세계적으로 단일한 주소 세트가 있는 것처럼 생각했을 수 있습니다. 하지만 실제로는 그렇지 않습니다. 우리가 매일 사용하는 대부분의 장치는 공용 인터넷에 직접 연결되어 있지 않으며, 43억 개의 IPv4 주소를 모든 공용 장치가 공유하는 것은 아닙니다.
일반적인 가정이나 회사 네트워크는 라우터를 통해 공용 인터넷에 연결됩니다. ISP는 이 라우터에 공용 IP 주소를 할당합니다. 외부에서 볼 때, 로컬 네트워크의 모든 트래픽은 이 공용 IP 주소에서 발생합니다. 하지만 네트워크 내부의 각 장치(라우터 포함)에는 DHCP를 통해 라우터가 할당한 사설 IP 주소가 있습니다.
이러한 주소는 로컬 개인 네트워크 내에서만 사용되며, 네트워크 외부에서는 볼 수 없습니다. 따라서 동일한 IP 주소를 여러 사설 네트워크에서 중복 없이 사용할 수 있습니다. 실제로 이러한 사설 네트워크에 사용하기 위해 특별히 예약된 IP 주소 블록이 있습니다. (소규모 가정 네트워크의 경우, 192.168로 시작하는 주소가 매우 흔합니다.)
라우터는 NAT(Network Address Translation)라는 프로세스를 통해 패킷이 사설 네트워크와 공용 인터넷 사이를 이동할 때 필요에 따라 패킷 헤더의 출발지 및 목적지 IP 주소를 변경하는 역할을 합니다.
이 과정을 처리하는 방법은 다양합니다. 한 가지 일반적인 방법은 내부 네트워크의 각 장치를 패킷 헤더에 포함된 네트워크 포트와 연결하는 것입니다. 포트 정보는 라우터에 할당된 공용 IP 주소로 들어오는 패킷의 최종 목적지를 결정합니다.
이 내용은 주로 IPv4 주소에 대한 것이며, 로컬 네트워크의 확산은 가정 내 인터넷 연결 기기가 증가하는 상황에서도 IPv4 주소 고갈을 늦추는 데 큰 역할을 했습니다.
반면에, IPv6 주소는 매우 풍부하므로 IPv6가 보편화된 이후에는 이러한 종류의 사설 네트워크가 필요하지 않을 것으로 예상됩니다. 그러나 IPv4를 통해 인터넷에 연결되는 사설 IPv6 네트워크를 구축하고자 한다면, 사용 가능한 사설 IPv6 주소 범위도 존재합니다.
네트워크 장치에서 이 글을 읽고 있다면, 당신의 IP 주소가 궁금할 것입니다. wdzsoft.com/en/what-is-my-ip과 같은 웹사이트에서 확인할 수 있습니다.
그러나 대부분의 경우, 장치가 로컬 네트워크에 연결되어 있다면 이러한 사이트에서 얻는 결과는 라우터에 할당된 공용 IP 주소일 것입니다. 당신만의 비밀 IP 주소를 찾으려면, 로컬 네트워크에서 장치의 네트워크 설정을 확인해야 합니다. Lifehacker는 Windows, macOS, iOS 및 Android에서 이 과정을 수행하는 방법을 자세히 설명합니다.
다른 사람이 내 IP 주소를 알 수 있을까요?
웹 서핑을 할 때, 당신은 당신이 방문하는 모든 웹사이트 또는 서비스에 당신의 IP 주소를 공개하는 것입니다. 서버는 어디로 정보를 보내야 할지 알아야 하기 때문입니다.
당신의 IP 주소는 방문하는 웹사이트의 서버 로그에 저장되며, 해당 정보를 비공개로 유지하기 위한 개인 정보 보호법도 존재합니다. 댓글이나 게시글을 작성하는 것과 같이 웹사이트의 대화형 기능을 사용할 경우, 당신의 IP 주소가 개인 식별 정보와 연결될 수 있습니다.
하지만 이러한 서버 로그는 일반에게 공개되지 않습니다. 물론 웹 서버를 해킹한 공격자가 이러한 로그에 접근할 가능성은 있습니다. 누군가 당신을 직접적으로 공격하려 한다면, 네트워크 라우터에 접속하거나 무선 네트워크 연결을 감시하는 등의 방법으로 IP 주소를 알아낼 수도 있습니다. (과거에는 이메일 헤더에 발신자의 IP 주소가 포함되기도 했지만, Gmail과 같은 웹 기반 서비스가 대세인 지금은 더 이상 그렇지 않습니다.)
누군가가 내 IP 주소를 알아내면 무엇을 할 수 있을까요?
이러한 공격이 사용자에게 큰 피해를 줄 수 있다는 사실을 모를 수도 있습니다. 하지만 점점 더 많은 사람들이 재택근무를 하고, 개인 정보를 온라인에 더 많이 저장하게 됨에 따라, 더욱 주의해야 합니다.
공격자는 당신의 IP 주소를 사용하여 맞춤형 스팸을 보내고, DDoS 공격을 수행하거나, 당신의 IP 주소를 속이는 데 사용할 수 있습니다. 또한, 대부분의 공개 이메일 주소는 최소한 사용자의 위치를 도시 수준으로 좁히는 데 도움이 될 수 있기 때문에, IP 주소는 공격자가 당신에 대한 OPSEC 및 개인 식별 정보를 수집하는 데 필요한 정보가 될 수 있습니다.
VPN으로 IP 주소를 숨기는 방법
당신의 IP 주소는 당신에 대한 많은 정보를 드러낼 수 있습니다. 예를 들어, 당신의 대략적인 지리적 위치를 다른 사람에게 알려주기 때문에, IP 주소를 숨겨야 할 이유가 있을 수 있습니다. 이러한 목적을 달성하는 한 가지 방법은 VPN(가상 사설망)을 사용하는 것입니다. VPN 서비스는 당신의 장치와 VPN 제공자가 호스팅하는 사설 네트워크 사이에 암호화된 터널을 설정합니다. 이것은 마치 당신의 네트워크 라우터가 지구 반대편에 있는 것과 같습니다. 웹사이트는 당신의 실제 IP 주소 대신 VPN 호스트에 할당된 주소를 보게 됩니다. IP 주소 자체는 개인 정보를 보호하는 데 큰 역할을 하지 않을 수도 있지만, VPN은 이를 우회하는 효과적인 방법을 제공합니다.
VPN 터널은 발신 장치에서 시작되어 대상 장치에서 종료될 수도 있습니다. 많은 기업이 자체 네트워크와 VPN 소프트웨어가 호환되는 원격 장치 사이에 터널을 생성하기 위해 VPN 게이트웨이를 사용합니다.
서브넷과 서브넷 마스크란 무엇일까요?
IP 주소는 계층적 구조를 갖습니다. 일반적으로 주소의 왼쪽 부분은 해당 IP 주소를 가진 장치가 속한 네트워크를 나타내고, 오른쪽 부분은 특정 장치를 나타냅니다. 하지만 인터넷 프로토콜은 이 경계선이 어디에 있는지 명확하게 정의하지 않습니다. 또한 주소의 일부 비트는 서브넷을 식별하는 데 사용될 수 있습니다.
라우터는 IP 주소의 어느 부분이 네트워크, 서브넷, 장치를 나타내는지 결정하는 데 서브넷 마스크를 사용합니다. IPv4에서 서브넷 마스크는 표준 IP 주소와 같은 8비트 숫자이지만, 왼쪽은 모두 1이고 오른쪽은 모두 0으로 구성됩니다. 1과 0 사이의 경계선이 서브넷 마스크가 참조하는 IP 주소 공간의 구분을 정의합니다. 여기에는 이진 비트 연산이 포함되므로 다소 복잡합니다. IPv6에서 서브넷팅은 서브넷 주소 범위를 나타내기 위해 주소에서 숫자를 간단히 잘라내는 방식을 사용하므로 훨씬 간단합니다.
서브넷 정보는 패킷 헤더에 포함되어 있지 않으며, 출발지 및 목적지 장치에서도 알 수 없다는 점을 명심해야 합니다. 대신 이 정보는 라우터와 같은 네트워크 장비에서 사용되어, IP 주소를 기반으로 패킷을 올바른 물리적 네트워크의 올바른 장치로 전달하는 방법을 결정합니다. 예를 들어, 네트워크 관리자는 서브넷을 사용하여 IP 주소의 연속적인 블록을 가져와 세 개의 개별 물리적 하위 네트워크에 배포할 수 있습니다. 패킷은 이러한 하위 네트워크에 대한 정보를 알 필요가 없습니다. 라우터는 조회 테이블을 사용하여 패킷을 전송할 위치를 파악합니다.