IP와 인터넷 계층의 핵심 프로토콜 및 개념 이해하기
인터넷에서 모든 기기들은 IP 주소를 통해 서로를 식별하고 통신합니다.
하지만 단순히 IP 주소만으로 통신이 이루어지는 것은 아니며, 여러 프로토콜과 기술이 함께 작동해 우리가 인터넷을 안정적이고 효율적으로 사용할 수 있도록 돕습니다.
IP가 주로 사용되는 인터넷 계층에서 동작하는 다양한 프로토콜과 개념들을 하나씩 살펴보겠습니다.
ARP와 RARP : IP와 MAC 주소의 연결 고리
ARP (Address Resolution Protocol)
- 기본 역할
ARP는 IP 주소라는 가상 주소를 실제 데이터 전송에 필요한 물리 주소(MAC 주소)로 변환하는 프로토콜입니다. - 작동 원리
- ARP Request (브로드캐스트)
통신을 시작하는 호스트는 네트워크 상의 모든 장비에게 "이 IP 주소를 가진 장비의 MAC 주소가 무엇인가요?"라는 메시지를 브로드캐스트 방식으로 전송합니다.- 브로드캐스트(Broadcast): 네트워크에 연결된 모든 호스트에게 데이터를 전달하는 방식입니다.
- ARP Reply (유니캐스트)
해당 IP 주소를 가진 장비는 자신의 MAC 주소를 응답(유니캐스트)으로 보내어 요청한 호스트와 직접 통신할 수 있도록 합니다.- 유니캐스트(Unicast): 특정 하나의 목적지로 데이터를 전송하는 방식입니다.
- ARP Request (브로드캐스트)
RARP (Reverse Address Resolution Protocol)
기본 역할
ARP와 반대로, RARP는 MAC 주소를 가지고 해당 장비의 IP 주소를 알아내는 프로토콜입니다.
- 주로 초기 부팅 시, 스스로의 IP 주소를 모르는 장비가 자신의 MAC 주소를 기반으로 IP 주소를 할당받을 때 사용되곤 했습니다.
오늘날에는 DHCP(Dynamic Host Configuration Protocol)가 보편화되어 RARP의 사용은 많이 줄어들었지만,
RARP의 개념은 네트워크 초기화 과정에서 주소 매핑의 원리를 이해하는 데 도움이 됩니다.
홉바이홉 통신과 라우팅 테이블
홉바이홉 통신 (Hop-by-Hop Communication)
- 개념 설명
IP 패킷은 출발지에서 목적지까지 한 번에 도달하지 않고, 여러 라우터(중간 장비)를 거치며 이동합니다.
이 과정을 홉(hop)이라고 하며, 각 홉마다 라우터의 라우팅 테이블을 참고해 다음 목적지를 결정합니다.
라우팅 테이블과 게이트웨이
- 라우팅 테이블(Routing Table)
라우터 내부에 저장된 리스트로, 각 목적지 IP와 해당 목적지로 가기 위한 최적의 경로(다음 라우터, 인터페이스 등)의 정보를 담고 있습니다.
라우팅 테이블을 통해 패킷이 목적지까지 빠르고 효율적으로 전달됩니다. - 게이트웨이(Gateway)
서로 다른 네트워크 간의 통신을 가능하게 하는 장비나 소프트웨어를 의미합니다.
예를 들어, 가정이나 소규모 사무실의 네트워크에서 공유기가 외부 인터넷과의 연결을 위해 게이트웨이 역할을 수행합니다. - netstat -r
Windows의 경우 명령 프롬프트에서 netstat -r 명령어를 입력하면 IPv4/IPv6 경로 테이블과 게이트웨이, 인터페이스 등을 확인할 수 있습니다.
IP 주소 체계
IPv4와 IPv6
- IPv4
- 32비트 주소 체계를 사용하며, 보통 8비트 단위로 구분하여 점(.)으로 표기합니다.
ex) 192.168.1.1 - 한정된 주소 공간으로 인해 주소 고갈 문제가 발생하여 여러 가지 주소 관리 기법이 도입되었습니다.
- 32비트 주소 체계를 사용하며, 보통 8비트 단위로 구분하여 점(.)으로 표기합니다.
- IPv6
- 128비트 주소 체계를 사용하며, 16비트 단위로 구분하여 콜론(:)으로 표기합니다.
ex) 2001:0db8:85a3:0000:0000:8a2e:0370:7334 - 훨씬 넓은 주소 공간을 제공하여 미래 인터넷 확장성을 보장합니다.
- 128비트 주소 체계를 사용하며, 16비트 단위로 구분하여 콜론(:)으로 표기합니다.
클래스 기반 할당 방식
IPv4 주소는 원래 클래스 기반으로 할당되었습니다. 주로 사용되는 클래스는 A, B, C, 그리고 D, E 클래스가 있습니다.
- 클래스 A (0.0.0.0 ~ 127.255.255.255)
- 네트워크 부분: IP 주소의 앞부분
- 호스트 부분: 나머지 부분
- 구분비트: 0으로 시작
- 클래스 B (128.0.0.0 ~ 191.255.255.255)
- 구분비트: 10으로 시작
- 클래스 C (192.0.0.0 ~ 223.255.255.255)
- 구분비트: 110으로 시작
- 클래스 D와 E
- 클래스 D는 멀티캐스트 통신용으로 사용
- 클래스 E는 연구 및 미래 확장을 위해 예약된 주소
ex)
예를 들어, 12.0.0.0 네트워크는 클래스 A에 해당합니다.
- 12.0.0.0: 네트워크 식별 주소 (호스트 주소로 사용할 수 없음)
- 12.255.255.255: 브로드캐스트 주소 (네트워크 전체에 데이터를 전송하기 위한 주소)
- 따라서 실제 호스트에 할당 가능한 주소 범위는 12.0.0.1 ~ 12.255.255.254가 됩니다.
실제 네트워크에서는 서브넷 마스크(subnet mask)를 이용하여 네트워크와 호스트 부분을 세분화하는 CIDR(Classless Inter-Domain Routing) 방식을 주로 사용합니다.
이는 기존의 클래스 기반 할당 방식보다 더 유연하게 IP 주소를 할당할 수 있게 합니다.
DHCP: 자동 IP 주소 할당
DHCP (Dynamic Host Configuration Protocol)는 네트워크에 연결되는 장비에 IP 주소 및 기타 통신 매개변수(서브넷 마스크, 기본 게이트웨이, DNS 서버 등)를 자동으로 할당하는 프로토콜입니다.
주요 기능
- 관리자가 수동으로 IP 주소를 설정할 필요 없이, 네트워크에 접속할 때마다 자동으로 필요한 정보를 할당받을 수 있습니다.
- 주로 라우터나 게이트웨이 장비에 내장되어 가정용 네트워크나 기업 네트워크에서 널리 사용됩니다.
- 작동 원리
DHCP 서버가 IP 주소 풀(pool)에서 사용 가능한 주소를 선택하여 클라이언트에게 할당하며, 임대(lease) 기간이 만료되면 다시 갱신하는 방식으로 관리됩니다.
NAT: IP 주소 부족 문제의 해결책
NAT (Network Address Translation)는 IPv4 주소의 한계를 극복하기 위해 도입된 기술입니다.
- 기본 개념:
하나의 공인 IP 주소(인터넷 상에서 고유하게 인식되는 주소)를 사용하여, 내부 네트워크에 있는 여러 사설 IP 주소(내부 네트워크 전용 주소)를 외부와 통신할 때 서로 매핑(mapping)하는 방법입니다. - 동작 방식
- 내부 네트워크에서 발생한 패킷은 NAT 기능을 탑재한 라우터(또는 공유기)를 통해 외부로 나갈 때, 해당 패킷의 출발지 IP 주소를 공인 IP 주소로 변경합니다.
- 외부에서 응답 패킷이 오면, NAT 장비는 이를 다시 내부의 해당 사설 IP 주소로 전달합니다.
- 이 과정에서 여러 내부 호스트가 하나의 공인 IP 주소를 공유할 수 있게 되어, IP 주소의 효율적 활용이 가능해집니다.
- 장점과 단점
- 장점:
- 제한된 공인 IP 주소를 효율적으로 사용할 수 있습니다.
- 내부 네트워크의 IP 주소를 외부에 노출시키지 않아 보안 측면에서도 유리합니다.
- 단점:
- 많은 사용자들이 동시에 NAT를 통해 인터넷에 접속하면, 변환 과정에서 약간의 지연이 발생해 속도가 느려질 수 있습니다.
- 장점:
추가 설명:
NAT는 ICS, RRAS, Netfilter 등 다양한 소프트웨어 솔루션을 통해 구현할 수 있으며, 오늘날 가정이나 소규모 사무실의 공유기에도 기본적으로 내장되어 있어 손쉽게 NAT 기능을 이용할 수 있습니다.
IP 주소와 지리적 추적
- IP 주소의 활용
인터넷 상에서 각 기기는 고유한 IP 주소를 가지고 있으며, 이 주소 정보를 통해 어느 정도 지리적 위치를 추적할 수도 있습니다. - 프라이버시와 보안
때문에 VPN이나 프록시 서버를 사용하는 등, 자신의 실제 위치를 숨기거나 보안성을 높이기 위한 다양한 기술들이 사용되고 있습니다.
'CS_네트워크' 카테고리의 다른 글
[CS_네트워크] HTTP와 HTTPS (3) | 2025.02.06 |
---|---|
[CS_네트워크] 네트워크 기기 (0) | 2025.02.03 |
[CS_네트워크] TCP/IP 4계층 모델 (2) | 2025.01.30 |
[CS_네트워크] 네트워크 분류, 성능 분석, 프로토콜 표준화 (1) | 2025.01.24 |
[CS_네트워크] 처리량, 지연 시간, 네트워크 토폴로지, 병목 현상 (0) | 2025.01.23 |