본문 바로가기

개발

IP 주소의 모든 것: 사설 IP (private), 공인 IP (public), CIDR 완벽 이해 가이드

반응형

IP 주소는 인터넷 세상에서 컴퓨터나 스마트폰 같은 장치들이 서로를 찾아 소통하게 해주는 주소라고 생각하면 쉬워요. 우리가 택배를 보낼 때 주소가 필요한 것처럼, 인터넷에서도 데이터가 정확히 목적지에 도달하려면 주소가 필요한 거죠. 이 IP 주소는 크게 '사설(Private) IP'와 '공인(Public) IP'로 나뉩니다. 이 두 가지 IP가 어떻게 다르고, 왜 필요한지, 그리고 개발자들이 알아두면 좋은 CIDR 같은 개념까지 쉽고 재미있게 알아보겠습니다!

목차

  • IP 주소, 왜 필요할까요? (사설 IP vs. 공인 IP)
  • 우리 집 네트워크의 주소, 사설(Private) IP 완벽 파헤치기
    • 사설 IP는 언제, 어디서 사용될까요?
    • 전 세계 어디서든 똑같은 사설 IP를 쓸 수 있다고요? (RFC 1918)
  • 인터넷 세상의 유일한 주소, 공인(Public) IP 이해하기
    • 공인 IP, 인터넷에서 나를 나타내는 주소
    • 클라우드 서버(AWS EC2)도 공인 IP를 사용해요
  • 하나의 공인 IP로 여러 기기가 인터넷하는 마법, NAT (네트워크 주소 변환)
  • IP 주소 뭉치를 효율적으로 관리하는 방법, CIDR (Classless Inter-Domain Routing)
  • IP 주소, 개발 입문자가 꼭 기억해야 할 핵심 정리!

IP 주소, 왜 필요할까요? (사설 IP vs. 공인 IP)

IP 주소는 인터넷 프로토콜(Internet Protocol) 주소의 줄임말이에요. 쉽게 말해 네트워크에 연결된 모든 장치가 가지는 고유한 식별 번호라고 보시면 됩니다. 마치 집집마다 주소가 다른 것처럼, 인터넷에 연결된 모든 장치는 저마다의 IP 주소를 가지고 있죠.

이 IP 주소는 크게 두 가지 종류로 나눌 수 있어요. 바로 사설(Private) IP공인(Public) IP입니다. 이 둘의 차이점을 이해하는 것이 IP 주소 개념을 파악하는 첫걸음입니다.

우리 집 네트워크의 주소, 사설(Private) IP 완벽 파헤치기

사설 IP는 언제, 어디서 사용될까요?

사설 IP 주소는 집이나 회사처럼 작은 내부 네트워크(로컬 네트워크) 안에서만 사용되는 주소입니다. 예를 들어, 여러분 집의 Wi-Fi 공유기에 연결된 스마트폰, 노트북, 스마트 TV 등이 각각 사설 IP를 할당받아요.

이 사설 IP의 가장 중요한 특징은 인터넷에서는 직접적으로 사용되거나 접근될 수 없다는 점이에요. 마치 여러분 아파트의 동-호수가 다른 아파트와 중복될 수 있는 것처럼, 사설 IP는 전 세계적으로 중복될 수 있습니다.

전 세계 어디서든 똑같은 사설 IP를 쓸 수 있다고요? (RFC 1918)

네, 맞습니다! 전 세계의 수많은 가정과 회사에서 192.168.1.x나 10.0.0.x 같은 동일한 사설 IP 주소를 사용할 수 있어요. 이건 IP 주소가 부족해지는 문제를 해결하기 위한 아주 똑똑한 방법 중 하나입니다.

RFC 1918이라는 국제 표준에 의해 사설 IP 주소로 약속된 범위는 다음과 같습니다. 이 범위에 속하는 IP 주소는 내부 네트워크에서만 사용하도록 정해져 있어요.

  • 10.0.0.0 부터 10.255.255.255 (10.0.0.0/8로 표기)
  • 172.16.0.0 부터 172.31.255.255 (172.16.0.0/12로 표기)
  • 192.168.0.0 부터 192.168.255.255 (192.168.0.0/16로 표기)

 

가정 내 공유기를 통해 사설 IP를 사용하는 여러 기기와 외부 공인 IP의 연결 관계를 보여주는 네트워크 다이어그램

인터넷 세상의 유일한 주소, 공인(Public) IP 이해하기

공인 IP, 인터넷에서 나를 나타내는 주소

반면에 공인 IP 주소인터넷에 직접 연결되어 전 세계 어디서든 통신할 수 있는 유일한 주소입니다. 우리가 특정 웹사이트(예: 구글)에 접속할 때, 우리 집의 공인 IP 주소가 해당 웹사이트 서버로 전송되어 통신이 이루어져요.

여러분의 인터넷 서비스 제공업체(SKT, KT, LG U+ 등)가 여러분의 집에 이 공인 IP 주소를 하나 할당해 줍니다. 이 주소는 다른 사람의 공인 IP 주소와 절대 겹치지 않아요. 마치 전 세계에 하나뿐인 여러분의 주민등록번호와 같다고 할 수 있죠.

클라우드 서버(AWS EC2)도 공인 IP를 사용해요

개발자들이 많이 사용하는 클라우드 서비스, 예를 들어 AWS의 EC2 인스턴스(가상 서버)도 인터넷과 통신하기 위해 공인 IP 주소를 할당받습니다. 이 공인 IP를 통해 우리는 원격으로 서버에 접속하거나, 서버가 인터넷 사용자들에게 서비스를 제공할 수 있게 됩니다.

하나의 공인 IP로 여러 기기가 인터넷하는 마법, NAT (네트워크 주소 변환)

여기서 흥미로운 기술이 등장하는데, 바로 NAT(Network Address Translation) 즉, 네트워크 주소 변환입니다. 우리 집에는 스마트폰, 노트북, 태블릿 등 여러 기기가 있는데, 공인 IP는 단 하나잖아요? 그런데 이 모든 기기가 어떻게 인터넷을 할 수 있을까요?

바로 NAT 덕분입니다! 여러분의 Wi-Fi 공유기가 이 NAT 역할을 해요. 공유기는 내부의 여러 사설 IP를 가진 기기들의 인터넷 요청을 받아서, 외부의 단 하나뿐인 공인 IP로 변환하여 인터넷으로 내보냅니다. 그리고 외부에서 돌아오는 응답도 다시 원래의 사설 IP 기기로 정확히 전달해 주죠.

이 기술 덕분에 우리는 한정된 공인 IP 주소를 효율적으로 사용할 수 있게 되었고, 외부에서는 우리 집 내부 네트워크의 구조를 알기 어렵게 되어 보안성도 높아지는 효과가 있습니다. 개발 입문자라면 NAT의 원리를 이해하는 것이 중요합니다.

NAT(네트워크 주소 변환) 기능을 수행하는 Wi-Fi 공유기가 여러 사설 IP 장치들을 하나의 공인 IP를 통해 인터넷에 연결하는 그림

IP 주소 뭉치를 효율적으로 관리하는 방법, CIDR (Classless Inter-Domain Routing)

이제 조금 더 심화된 개념인 **CIDR(Classless Inter-Domain Routing)**에 대해 알아볼까요? CIDR은 IP 주소 덩어리(네트워크 블록)를 더 효율적으로 표현하고 관리하기 위한 방법입니다. 보통 192.168.1.0/24와 같이 IP 주소 뒤에 /숫자 형태로 붙어 있습니다.

여기서 /숫자는 프리픽스 길이(Prefix Length) 또는 넷마스크(Netmask) 길이라고 불리는데, 이는 IP 주소에서 네트워크 부분을 나타내는 비트의 길이를 의미해요. 숫자가 작을수록 더 많은 IP 주소를 포함하는 큰 덩어리이고, 숫자가 클수록 더 적은 IP 주소를 포함하는 작은 덩어리입니다.

예를 들어:

  • /24: 앞에 있는 24비트가 네트워크 주소를 나타내고, 뒤의 8비트(256개)는 해당 네트워크 안의 장치(호스트)들을 나타냅니다. (예: 192.168.1.0/24는 192.168.1.0부터 192.168.1.255까지 256개의 IP 주소를 포함)
  • /16: 앞에 있는 16비트가 네트워크 주소를 나타냅니다. (예: 192.168.0.0/16은 192.168.0.0부터 192.168.255.255까지 약 6만 5천 개의 IP 주소를 포함)

CIDR은 IP 주소 할당을 유연하게 만들고, 인터넷 라우팅 테이블의 크기를 줄여 전체 네트워크 효율성을 높이는 데 크게 기여했습니다.

 

IP 주소, 개발 입문자가 꼭 기억해야 할 핵심 정리!

이 글을 통해 IP 주소의 기본적인 개념부터 사설 IP, 공인 IP, NAT, 그리고 CIDR까지 알아보았습니다. 개발자로서 네트워크와 관련된 작업을 하거나, 서버를 다룰 때 이 개념들은 아주 중요하게 사용됩니다.

  • 사설 IP: 내부 네트워크에서만 사용되는 주소 (집, 회사 등). 전 세계적으로 중복 가능.
  • 공인 IP: 인터넷에서 나를 나타내는 유일한 주소. 전 세계적으로 고유.
  • NAT: 하나의 공인 IP로 여러 사설 IP 기기가 인터넷을 사용할 수 있게 해주는 기술 (공유기).
  • CIDR: IP 주소 뭉치를 효율적으로 표현하고 관리하는 방법 (/숫자 형식).

이러한 IP 주소의 기초를 탄탄히 다진다면, 앞으로 마주할 다양한 네트워크 관련 기술과 개념들을 훨씬 쉽게 이해하고 활용할 수 있을 거예요. 궁금한 점이 있다면 언제든지 찾아보고 질문하며 성장해 나가시길 바랍니다!

반응형