NetworkJun 16, 2025

IP Address

IP Address

IP 주소



목차



ARP(Address Resolution Protocol)

컴퓨터 간의 통신은 흔히 IP 주소를 이용한다고 알고 있지만, 정확히 말하면 IP 주소에서 ARP를 통해 MAC 주소를 알아내어 통신을 한다. ARP란 IP 주소로 부터 MAC 주소를 알아내는 프로토콜이다. ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환하여 통신을 한다. 이와 비슷하게 RARP를 통해 MAC 주소를 IP 주소로 변환한다.

ARP는 다음과 같은 과정을 거쳐 동작한다:

  1. ARP request broadcast를 통해 질의 IP에 해당하는 MAC 주소를 요청한다.
  2. 해당 IP 주소를 가진 장치가 ARP reply unicast를 통해 자신의 MAC 주소를 응답한다.


홉바이홉(Hop-by-Hop) 통신

IP 주소를 통해 통신하는 과정을 홉바이홉 통신이라고 한다. 여기서 홉(hop)이란 깡총 뛰는 모습을 의미하며 통신망에서 각 packet이 여러 개의 라우터를 건너 뛰는 모습을 비유적으로 표현한 것이다. 즉, 통신 장치에 있는 '라우팅 테이블'의 정보를 바탕으로 packet이 시작 주소로부터 '라우팅' 과정을 거쳐 최종 목적지 주소까지 이동하는 과정을 홉바이홉 통신이라고 한다.


라우팅 테이블(Routing Table)

라우팅 테이블은 송신지에서 수신지까지 도달하기 위해 사용되며 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어있는 리스트를 의미한다. 라우팅 테이블은 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있다.


게이트웨이(Gateway)

게이트웨이는 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어이다. 사용자는 인터넷에 접속하기 위해 수많은 톨게이트인 게이트웨이를 거쳐야 하며 게이트웨이는 서로 다른 네트워크 상의 통신 프로토콜을 변환해주는 역할을 하기도 한다. 게이트웨이는 라우팅 테이블을 통해 볼 수 있으며 라우팅 테이블은 netstat -r 명령어를 통해 확인할 수 있다.



IP 주소 체계

IP 주소는 IPv4와 IPv6으로 나뉜다. IPv4는 32비트 주소 체계로, 4개의 옥텟(8비트)으로 구성되어 있으며, 각 옥텟은 0부터 255까지의 값을 가질 수 있다. 예를 들어, 123.45.67.89와 같은 형식이다. IPv6는 128비트 주소 체계로, 8개의 16비트 블록으로 구성되어 있으며, 각 블록은 4자리의 16진수로 표현된다. 예를 들어, 2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같은 형식이다.


Class 기반 할당 방식

IP 주소 체계는 과거를 거쳐 발전해오고 있으며 처음에는 A, B, C, D, E의 5가지 클래스로 구분하는 클래스 기반 할당 방식(Classful network addressing)을 사용했다. IP를 두 부분으로 나누어 앞에 있는 부분을 네트워크 주소(Network Address)라고 하고 뒤에 있는 부분을 호스트 주소(Host Address)라고 한다. Class A, B, C는 1:1 통신을 위해 사용되며, Class D는 멀티캐스트 통신을 위해 사용되고, Class E는 예비용으로 사용된다.

  • Class A는 0.0.0.0부터 127.255.255.255까지의 범위를 가지며, 1바이트가 네트워크 주소로 사용되고, 나머지 3바이트가 호스트 주소로 사용된다.
  • Class B는 128.0.0.0부터 191.255.255.255까지의 범위를 가지며, 2바이트가 네트워크 주소로 사용되고, 나머지 2바이트가 호스트 주소로 사용된다.
  • Class C는 192.0.0.0부터 223.255.255.255까지의 범위를 가지며, 3바이트가 네트워크 주소로 사용되고, 마지막 1바이트가 호스트 주소로 사용된다.

예를 들어 네트워크 주소가 12.0.0.0인 네트워크는 12.0.0.1부터 12.255.255.254의 호스트 주소를 가질 수 있다. 이 때 가장 첫 번째 주소인 12.0.0.0은 네트워크 주소로, 가장 마지막 주소인 12.255.255.255는 브로드캐스트 주소로 예약되어 임의의 장치에 부여할 수 없다.

하지만, 이 방식은 사용하는 주소보다 버리는 주소가 많은 단점이 있어, 현재는 이를 해소하기 위해 DHCP, IPv6, NAT 등의 기술이 사용되고 있다.


DHCP(Dynamic Host Configuration Protocol)

DHCP는 동적 호스트 구성 프로토콜로, IP 주소를 자동으로 할당하는 프로토콜이다. DHCP 서버는 네트워크에 연결된 장치에 IP 주소를 동적으로 할당하며, 이로 인해 IP 주소의 낭비를 줄일 수 있다. 많은 라우터와 게이트웨이 장비에 DHCP 기능이 있으며 이를 통해 대부분의 가정용 네트워크에서는 DHCP를 통해 IP 주소를 할당받는다.


NAT(Network Address Translation)

NAT는 네트워크 주소 변환으로, 내부 네트워크의 사설 IP 주소를 공인 IP 주소로 변환하는 기술이다. NAT를 사용하면 여러 대의 장치가 하나의 공인 IP 주소를 공유할 수 있어, IP 주소의 낭비를 줄일 수 있다. NAT를 가능하게 하는 소프트웨어는 ICS(Internet Connection Sharing), RRAS(Router Redundant Address Sharing), Netfilter 등이 있다.

공유기와 NAT 공유기가 NAT를 사용하는 대표적인 예이다.

보안 NAT는 내부 네트워크의 사설 IP 주소를 외부에 노출하지 않기 때문에 보안적인 측면에서도 유리하다.

단점 NAT는 내부 네트워크의 장치가 외부 네트워크와 직접 통신할 수 없기 때문에, 일부 서비스나 애플리케이션에서 문제가 발생할 수 있다. 예를 들어, P2P 파일 공유나 VoIP 서비스 등에서는 NAT를 우회하기 위한 추가적인 설정이 필요할 수 있다. 또한 여러 장치가 하나의 공인 IP 주소를 공유하기 때문에, 동시에 많은 장치가 인터넷에 접속할 경우 속도가 느려질 수 있다.



IP 주소를 이용한 위치 정보

IP 주소는 사용자의 대략적인 위치 정보를 제공할 수 있다. 이는 IP 주소가 인터넷 서비스 제공업체(ISP)에 의해 할당되기 때문이며, ISP는 특정 지역에 물리적인 서버를 두고 해당 지역의 사용자에게 IP 주소를 할당한다. 이로 인해 IP 주소를 통해 사용자의 대략적인 위치를 추정할 수 있다. 하지만, 이는 정확한 위치 정보가 아니며, VPN이나 프록시 서버를 사용하면 IP 주소를 변경할 수 있어 실제 위치와 다를 수 있다.

Share this post

N