IP 주소

김명주·2025년 1월 4일

IP 주소의 기본 개념

  • IP 주소는 네트워크상의 기기들이 서로 통신할 때 사용하는 고유한 식별자다

  • IPv4(32비트) 또는 IPv6(128비트) 형식으로 제공된다.

    • 예: 192.168.0.1은 이진수로 11000000.10101000.00000000.00000001 이다.
    • 32비트 구조는 총 2^32 (약 42억) 개의 고유한 IP 주소를 제공할 수 있다.
  • IP 주소는 일반적으로 네개의 숫자 그룹으로 구성되며 각 그룹은 0~255 사이의 값을 가진다.

  • IP 주소는 네트워크 부분과 호스트 부분으로 나뉘며 이를 통해 네트워크 관리자는 효율적으로 IP 주소를 할당하고 관리할 수 있다.

  • IP 주소의 32비트 구조

    • IPv4 주소는 32비트로 구성되며 이는 8비트씩 4개의 그룹으로 나뉜다.
    • 각 8비트 그룹은 0~255 사으이 십진수로 표현된다.

이더넷 인터페이스

이더넷 인터페이스는 네트워크 장치가 물리적으로 네트워크에 연결되는 지점이다.

주요 특징

  • 각 이더넷 인터페이스는 고유한 MAC 주소를 가진다.
  • IP 주소는 이더넷 인터페이스에 할당된다.
  • 하나의 물리적 이더넷 인터페이스에 여러 IP 주소를 할당할 수 있다.

이더넷 인터페이스와 IP 주소의 관계

  • DHCP를 통해 자동으로 주소를 할당받거나, 수동으로 설정할 수 있다.
    • DHCP란 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜
  • 네트워크 통신 시 IP 주소는 이더넷 인터페이스의 MAC 주소와 연결되어 사용된다.
  • 이더넷 인터페이스의 상태에 따라 해당 IP 주소의 사용 가능 여부가 결정된다.

공인 IP와 사설 IP

공인 IP(Public IP)

  • 공인 IP는 인터넷에서 직접 접근 가능한 고유한 주소로, 인터넷 서비스 제공업체에 의해 할당된다.
  • 전세계적으로 유일한 주소이며 주로 웹 서버, 이메일 서버, VPN 서버 등 인터넷에 직접 연결되어야 하는 장치에 사용된다.
  • 공인 IP는 인터넷 어디에서나 접근 가능하므로 보안에 특히 주의해야 한다.

사설 IP(Private IP)

  • 사설 IP는 내부 네트워크에서만 사용되는 주소로 인터넷에 직접 연결되지 않는다.
  • 주로 가정이나 기업의 내부 네트워크에서 사용되며 라우터를 통해 공인 IP로 변환되어 인터넷에 접속한다.
  • 사설 IP 주소 범위는 RFC 1918에 정의되어 있으며 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 등이 있다.
    • RFC 1918은 private IP (사설망의 내부IP)의 국제 규격

ISP를 통해 제공받는 가정 인터넷의 경우 주로 아래와 같은 구조로 사용된다.

  • 인터넷은 공인 IP를 통해 공유기(라우터)에 연결된다.
  • 공유기는 하나의 공인 IP를 가지고 있으며 이를 통해 인터넷과 통신한다.
  • 공유기는 내부 네트워크의 여러 기기들에게 사설 IP를 할당한다.
  • 내부 기기들(컴퓨터, 스마트폰 등)은 사설 IP를 사용하여 공유기와 통신하고 공유기를 통해 인터넷에 접속한다.

NAT (Network Address Translation)

NAT는 이러한 공유기에서 사설 IP와 공인 IP 간의 변환을 담당하는 중요한 기술이다. NAT를 통해 여러 기기가 하나의 공인 IP를 공유하여 인터넷에 접속할 수 있게 된다.
이는 IP 주소 부족 문제를 해결하고 내부 네트워크의 보안을 강화하는데 도움을 준다.

작동 원리

  • 내부 네트워크의 기기가 외부로 패킷을 보낼 때, NAT는 해당 패킷의 출발지 IP 주소를(사설 IP) 공유기의 공인 IP로 변경한다.
  • NAT는 이 변환 정보를 NAT 테이블에 저장한다.
  • 외부에서 응답이 돌아오면 NAT는 저장된 정보를 바탕으로 올바른 내부 기기로 패킷을 전달한다.
  • 이러한 과정을 통해 NAT는 내부 구조를 외부로부터 숨긴다.
  • 결과적으로 NAT는 제한된 공인 IP를 효율적으로 사용할 수 있게 해준다.
profile
개발자를 향해 달리는 사람

0개의 댓글