0. 네트워크 기초 용어 다섯 가지 (IP, MAC, NAT, TCP, ARP)
네트워크를 구성하는 기본 개념을 정확히 이해하는 것이 중요합니다. 아래 표와 함께 각 용어의 역할과 특징을 정리합니다.
| 용어 | 역할 | 특징 및 예시 |
|---|---|---|
| IP (Internet Protocol) | 네트워크 계층(3계층)에서 논리 주소(IP 주소)를 사용해 호스트/네트워크를 식별하고 패킷을 목적지까지 라우팅(경로 결정) | – IP 헤더: 출발지·목적지 IP, TTL, 프로토콜 번호 등 포함- 비신뢰성, 비연결성 전송 – 예시: IPv4 (192.168.0.1, 203.0.113.5), IPv6 (2001:db8::abcd) |
| MAC (Media Access Control) 주소 | 데이터링크 계층(2계층)에서 네트워크 인터페이스를 유일하게 식별하는 물리적 또는 논리적 주소 | – NIC 제조 시 부여, 전 세계 중복 없음 – 6바이트(48비트) 형태 (예: AA:BB:CC:DD:EE:FF) – 브로드캐스트 주소: FF:FF:FF:FF:FF:FF |
| NAT (Network Address Translation) | 사설 IP(예: 192.168.x.x, 10.x.x.x)를 공인 IP(인터넷용 IP)로 변환하여 한정된 공인 IP를 여러 내부 호스트가 공유 사용하도록 지원 | – SNAT: 내부에서 외부로 갈 때 출발 IP/포트 변경 – DNAT: 외부에서 내부로 들어올 때 목적지 IP/포트 변경 – 포트 포워딩: DNAT의 한 형태- 장점: 공인 IP 부족 해결, 내부 망 보호, 사설 IP 자유 사용 가능 |
| TCP (Transmission Control Protocol) | 트랜스포트 계층(4계층)에서 신뢰성 있는 연결 지향 전송 제공 | – 3-way handshake로 연결 설정, 4-way handshake로 연결 해제 – 시퀀스 번호와 ACK 번호를 통해 데이터 수신 보증 – HTTP, HTTPS, SMTP, FTP 등 신뢰가 필요한 프로토콜에서 사용 |
| ARP (Address Resolution Protocol) | IP 주소(논리 주소)를 MAC 주소(물리 주소)로 변환하는 프로토콜 | – 동일 네트워크(브로드캐스트 도메인) 내 “해당 IP를 가진 호스트의 MAC은 무엇인가?” 질문 및 응답 – ARP 캐시에 정보를 저장하여 재사용- 반대 개념: RARP (MAC → IP, 현재는 거의 사용 안 함) |
내부 망에서 외부 망으로 패킷 전송 과정 (OSI 7계층 관점)
패킷이 내부 컴퓨터에서 외부로 전송되어 최종 목적지에 도달하기까지 과정을 OSI 7계층별로 단계적으로 살펴봅니다.
1. OSI 7계층 한눈에 보기
- 물리 계층 (Physical, 1계층)
- 데이터링크 계층 (Data Link, 2계층)
- 네트워크 계층 (Network, 3계층)
- 트랜스포트 계층 (Transport, 4계층)
- 세션 계층 (Session, 5계층)
- 프레젠테이션 계층 (Presentation, 6계층)
- 애플리케이션 계층 (Application, 7계층)
데이터 전송 흐름
- 송신 측: 애플리케이션(7계층) → 물리 계층(1계층) (캡슐화)
- 수신 측: 물리 계층(1계층) → 애플리케이션(7계층) (디캡슐레이션)
2. 데이터 전송 과정 순서도


2. 내부 망(컴퓨터 A)에서 패킷 생성
예시 상황:
- 내부 IP:
192.168.1.10(컴퓨터 A) - 목적지(외부 IP):
203.0.113.5(원격 서버) - 출발 포트:
50000(임의 할당) - 목적지 포트:
80(HTTP)
(1) 상위 계층 (5~7: 세션/프레젠테이션/애플리케이션)
- 사용자가 애플리케이션(예: 브라우저)에서 “안녕” 입력
- 프레젠테이션 계층: UTF-8 인코딩 처리
- 세션 계층: 세션 정보(세션 ID 등) 포함, 전송 준비
(2) 트랜스포트 계층 (4: TCP/UDP)
- 인코딩된 데이터를 TCP 세그먼트로 변환
- TCP 헤더에
SRC_PORT=50000, DST_PORT=80등 기록 - 결과: “TCP 세그먼트 (포트 정보 + 데이터)”
(3) 네트워크 계층 (3: IP)
- TCP 세그먼트에 IP 헤더 추가
- 예:
SRC_IP=192.168.1.10, DST_IP=203.0.113.5
(4) 데이터링크 계층 (2: Ethernet) & ARP
- 내부망 전송을 위해 이더넷 프레임 형태로 변환
- ARP를 사용해 게이트웨이(192.168.1.1)의 MAC 주소 확인
- 출발 MAC: 컴퓨터 A의 NIC (예:
AA:BB:CC:DD:EE:FF) - 목적 MAC: 라우터 R1(게이트웨이)의 MAC (예:
00:11:22:33:44:55)
ARP 캐시(ARP Table) 확인 절차
- 전송 전, ARP 캐시에 게이트웨이 IP의 MAC이 저장되어 있는지 확인
- 캐시에 존재하면 해당 MAC으로 바로 프레임 생성
- 없으면 ARP 브로드캐스트로 MAC 요청 후 응답 받아 캐시에 저장
결국 이더넷 프레임
Ethernet 헤더(MAC 정보) + IP 패킷(TCP 세그먼트)
(5) 물리 계층 (1)
- 이더넷 프레임을 비트 스트림(전기/광 신호)으로 변환하여 전송
3. 로컬 라우터(R1)에서 NAT 동작
내부 호스트에서 생성된 패킷은 로컬 라우터 R1을 통해 NAT 과정을 거칩니다.
- NAT: 사설 IP(
192.168.1.10)와 포트(50000)를 R1의 공인 IP와 임의 포트로 변환
- 예시:
192.168.1.10:50000→198.51.100.2:40000 198.51.100.2= R1 공인 IP,40000= 라우터가 새로 할당한 포트
(1) 이더넷 헤더 재생성
- 내부망의 이더넷 헤더는 R1에서 제거
- R1 WAN 인터페이스에서 새 이더넷(또는 PPP 등) 헤더를 생성
- 새 출발 MAC: R1의 WAN MAC
- 새 목적 MAC: ISP 라우터(다음 홉)의 MAC (ARP 또는 PPP 과정을 통해 획득)
4. 인터넷(라우터 간 전송) 구간
R1에서 NAT 변환 후 생성된 패킷
- IP 헤더:
SRC_IP=198.51.100.2, DST_IP=203.0.113.5
가 인터넷 상 여러 라우터를 통해 목적지 라우터(R2)로 전달됩니다.
(1) 라우터가 ‘최단 경로’를 찾는 방식
- 라우팅 테이블 및 라우팅 프로토콜(BGP, OSPF 등)을 사용해
목적지 IP(203.0.113.5)에 대해 최적(또는 우선순위 높은) 경로 결정
(2) 매 홉마다의 이더넷 헤더 처리
- 이전 이더넷 헤더 제거
- IP 헤더 분석 후 다음 홉 결정
- 새 이더넷 헤더 생성
이 과정을 중간 라우터마다 반복하여 최종 목적지 라우터(R2)까지 패킷이 전달됩니다.
5. 원격 라우터(R2)에서 내부망(NAT 역변환)
원격 라우터 R2는 도착한 패킷을 내부망으로 전달하기 위해 NAT 역변환을 수행합니다.
- 공인 IP:
203.0.113.5(R2가 가진 공인 IP) - NAT 규칙: “
203.0.113.5:80으로 들어온 트래픽은10.0.0.20:80으로 전달”
따라서 NAT 테이블을 참조해 IP 헤더의 목적지 IP/포트를
203.0.113.5:80 → 10.0.0.20:80
으로 변경합니다.
(1) R2 → 내부 호스트 전송 시 이더넷 헤더
- 내부 호스트(
10.0.0.20)의 MAC 주소를 ARP(또는 기타 L2 프로토콜)로 확인
- 예:
66:77:88:99:AA:BB
- 새 이더넷 헤더 생성
- 출발 MAC: R2 내부 인터페이스 MAC
- 목적 MAC: 내부 호스트의 MAC (
66:77:88:99:AA:BB)
- 이더넷 프레임 형태로 최종 호스트(10.0.0.20)에 전달
송신할 때 수신 측 포트 번호를 알고 있어야 하는 이유
– 포트 번호는 트랜스포트 계층(TCP/UDP)에서 “어느 서비스(프로그램)로 전달할 것인지”를 결정하는 핵심
– 수신 측 포트 번호가 정확히 지정되지 않으면 해당 서비스(프로그램)로 데이터가 도달하지 못함
– 예: 웹 서버가 8080에서 동작 중인데 80으로 보낸다면 연결 실패
라우터가 4계층 정보를 확인하는 이유 (NAT의 경우)
– 전통적 라우팅은 3계층(IP)만 확인
– NAT는 IP + 포트(4계층 정보)까지 파싱하여 IP/포트 매핑 테이블을 관리
– 최근 장비들은 Stateful Inspection 등을 통해 TCP/UDP 세션도 추적
6. 최종 호스트(H)에서 디캡슐레이션
내부 호스트(H, IP: 10.0.0.20)는 수신한 이더넷 프레임을 디캡슐레이션하여 실제 데이터를 꺼냅니다.
- 물리 계층 (1)
- 데이터링크 계층 (2, Ethernet)
- 네트워크 계층 (3, IP)
- 트랜스포트 계층 (4, TCP)
- 세션(5) – 프레젠테이션(6) – 애플리케이션(7)
7. 핵심 포인트 요약
- NAT 과정
- MAC 주소(2계층)의 역할
- 라우터(3계층)의 역할
- NAT 시 4계층 파싱
결국 내부 호스트에서 인터넷을 거쳐 원격 호스트까지 데이터가 도달하려면:
- NAT에 의한 IP/포트 변환
- ARP를 통한 MAC 주소 확인
- 각 라우터의 IP 기반 라우팅과 이더넷 헤더 재생성
이 필수적입니다.
특히,
- 송신 측은 수신 측 포트 번호를 반드시 알아야 해당 서비스로 데이터를 전달할 수 있고,
- NAT 라우터는 4계층 정보(TCP/UDP 포트)까지 파싱해 매핑 테이블을 관리한다
는 점이 핵심입니다.
각 계층의 역할을 정확히 이해하고, NAT 및 ARP 동작 방식을 숙지하면 네트워크 통신 구조를 더욱 명확히 파악할 수 있습니다.
참고 자료
- https://www.youtube.com/watch?v=CjnKNIyREHA
- https://www.youtube.com/watch?v=K9L9YZhEjC0