인터넷에서 데이터를 패킷 단위로 전달하는 주소 체계와 전송 방식을 제공한다.
IPv4는 32비트 주소 체계를 사용하여 약 43억 개의 주소를 표현할 수 있으며, 흔히 사용하는 사설 IP도 IPv4 형식이다. 데이터 전송은 비연결형(Connectionless) 방식으로 이루어져, 발신자가 패킷을 보내면 수신 여부와 무관하게 전송하며 비신뢰성(Unreliable) 특성 때문에 패킷 손실이 발생할 수 있다. 대신 TCP, UDP 같은 상위 계층에서 신뢰성을 보완한다.
192.168.0.1
)[IP Header][Payload]
Header에는 출발지 IP, 목적지 IP, TTL(Time To Live), 체크섬, 프로토콜 등의 정보가 포함된다
예를 들어, 내가 PC에서 구글 DNS 서버 8.8.8.8
로 ping을 보낼 때 IPv4 패킷의 목적지 주소에 8.8.8.8
이 설정된다. 라우터는 이 주소를 기반으로 패킷을 전달하고 응답 패킷에는 출발지와 목적지가 서로 바뀌어 돌아오게 된다.
IPv4 주소 고갈 문제를 해결하기 위해 등장한 차세대 인터넷 프로토콜이다.
IPv6는 128비트 주소 체계를 사용해 사실상 무한대에 가까운 주소를 제공하며 NAT 없이도 전 세계 모든 기기에 고유 주소를 부여할 수 있다. 또한 보안(IPSec)과 확장성을 기본적으로 고려하여 설계되었고 브로드캐스트 대신 멀티캐스트와 애니캐스트를 중심으로 동작한다.
주소 체계: 128비트 → 사실상 무한대 (예: 2001:0db8:85a3::8a2e:0370:7334
)
특징
패킷 구조
[IPv6 Header][Payload]
Header는 IPv4보다 단순화되었으며, 확장 헤더를 통해 유연하게 기능 확장 가능
예를 들어 IoT 기기나 5G 환경에서는 대부분 IPv6 기반 통신을 사용한다. 스마트홈 기기가 클라우드 서버에 직접 통신할 때 공인 IPv6 주소를 가지면 NAT 없이 연결할 수 있어 관리와 성능이 향상된다.
ARP는 같은 네트워크(LAN) 내에서 IP 주소를 MAC 주소로 변환하기 위한 프로토콜이다. 컴퓨터가 같은 서브넷의 다른 기기에 데이터를 전송하려면 먼저 해당 IP에 대응하는 MAC 주소를 알아야 한다. 이를 위해 ARP는 브로드캐스트 요청을 보내고 해당 IP를 가진 장치가 MAC 주소를 응답한다.
특징
동작 예시
실제 확인은 터미널에서 arp -a
명령으로 가능하다.
ICMP는 네트워크 장치 간 오류 보고와 상태 진단을 위한 프로토콜이다.
데이터를 전달하는 주체는 아니지만 네트워크가 정상적으로 동작하는지 확인하거나 문제를 파악할 때 사용된다.
특징
패킷 구조
[IP Header][ICMP Header][Payload]
ICMP Header에는 타입(Type), 코드(Code), 체크섬 등이 포함된다
예를 들어 ping 8.8.8.8
명령을 실행하면 ICMP Echo Request 패킷이 전송되고 구글 DNS 서버에서 Echo Reply를 보내 네트워크가 정상임을 확인할 수 있다. tracert
또는 traceroute
명령어는 ICMP와 TTL 값을 이용해 패킷이 거치는 라우터 경로를 확인한다.
IPv4, IPv6, ARP, ICMP 네 가지 핵심 네트워크 프로토콜을 정리하면서 인터넷 통신의 구조를 폭넓게 이해할 수 있었다. IPv4는 오랫동안 인터넷의 기반이 되어왔지만 32비트 주소의 한계로 인해 IPv6의 도입이 필요했으며 이는 훨씬 넓은 주소 공간뿐 아니라 NAT 없이도 직접적인 통신, 보안 확장(IPSec 기본 옵션) 같은 장점을 제공한다. ARP는 로컬 네트워크에서 IP 주소를 MAC 주소로 변환해 주는 필수 요소이며 이를 통해 LAN 상 장치 간 직접적인 프레임 전송이 가능하다. 또 ICMP는 직접 데이터를 전송하지 않지만 네트워크 오류 메시지나 ping
, tracert
같은 진단 도구의 기반이 되어 네트워크 운영 상태를 실시간으로 파악하는 데 중요한 역할을 한다. 이 네 프로토콜의 상호작용을 이해하면 Ping이나 Traceroute 같은 도구들이 어떻게 실제로 동작하는지, ARP가 왜 필요한지, IPv6 환경에서 ARP 대신 NDP가 사용되는 이유 등이 명확해진다.
참고