1. 패킷(packet)
- 인터넷 프로토콜은 모든 데이터의 구조를 해체한 후 여러개의 패킷으로 분리해 전송한다.
- 각 패킷에는 발신 및 수신 주소가 포함된 주소 태그가 지정되고, 이 태그는 패킷의 크기와 유형 등의 정보를 담은 패킷 헤더(packet header)에 기록된다.
- 라우터는 패킷의 헤더를 읽고, IP 주소의 앞부분(=네트워크 주소)을 기준으로 같은 네트워크에 있는 목적지로 직접 보내거나, 그렇지 않으면 해당 목적지로 하는 방향에 있는 다음 라우터(다음 홉)로 전달하여 인터넷 상에서 최종 목적지까지 도달하도록 한다.
2. 프로토콜
- 프로토콜은 기기가 어떻게 통신해야 하는지, 오류가 발생했을 때 어떻게 대처해야 하는지를 정의한 규칙
- 예)
- 패킷에 패킷 헤더가 없으면 어떻게 할까?
- 수신자 주소를 찾을 수 없으면 어떻게 해야할까?
- 패킷을 수정할 수 있을까?
- 주요 프로토콜 유형
- TCP: 패킷을 정확하고 안전하게 전송하지만 속도가 느린 편
- UDP: 정확성보다는 속도를 우선시
- QUIC: 여러 개의 빠른 UDP 연결을 활용하면서도 TCP처럼 신뢰 가능
3. 인터넷 프로토콜(IP)
- IP는 IP 주소와 IP 패킷의 형식을 표준화하는 프로토콜
- IP 주소는 인터넷 프로토콜 표준을 따른 네트워크 주소이며, 다음과 같은 유형이 있다.
- 공용 IP 주소: 인터넷에 직접 접속할 수 있는 주소 (예: ISP가 할당한 라우터 주소)
- 사설 IP 주소: 중개자(NAT 등)를 통해 인터넷에 접속하는 주소. 근거리 통신망(LAN)이나 가상 사설망(VPN) 같은 사설망 안에서만 통신 가능
4. 네트워크 주소 변환(NAT: Network Address Translation)
- 인터넷에 사설망이 연결되어 라우터를 거쳐 패킷을 보낼 때, NAT는 출발지/목적지 주소를 공용 IP ↔ 사설 IP로 변환해준다. 즉, 망 안에서만 통용되는 사설 IP를 외부 인터넷에서 사용 가능한 공용 IP로 변환하는 것
- 예시: 내 컴퓨터(사설 IP)가 구글에 접속할 때
- 내 컴퓨터의 IP: `192.168.0.15` (사설 IP)
- 라우터의 공용 IP: `203.0.113.10`
- NAT 작동: 라우터는 패킷을 보내기 전에 출발지 주소를 `192.168.0.15` → `203.0.113.10`으로 변환해 외부로 전송
- 구글 서버가 응답을 보내면, 라우터는 다시 `203.0.113.10` → `192.168.0.15`로 바꿔 내부 장치에 전달
📍포트 포워딩(Port Forwarding)
NAT 환경에서 외부에서 사설 IP를 사용하는 디바이스에 접속하려면 포트 포워딩이 필요하다.
공유기(NAT 장비)에 외부 포트를 지정하여 내부 IP로 트래픽을 전달하는 방식이다.
예: 외부 `203.0.113.5:8080` → 내부 `192.168.0.15:80`
5. IPv4 주소
- IPv4는 32비트 주소 체계로 구성되어 약 43억 개의 고유 주소를 제공한다.
이진수 표기: `11000110.00110011.01100100.00000111`
십진수 표기: `198.51.100.7` (각 블록은 0~255, 8비트 × 4개)
- 사설 IP 주소 대역(RFC1918)
- 192.168.xxx.xxx
- 10.xxx.xxx.xxx
- 172.16.xxx.xxx~172.31.xxx.xxx
- 이 외 대부분은 공용 IP 주소이며, `0.0.0.0 ~ 0.0.0.3`, `127.xxx.xxx.xxx` 등은 예약되어 사용 불가
6. IPv6 주소
- IPv6는 126비트 주소 체계로, 16비트씩 8개 블록으로 구성되며 쌍점(:)으로 구분한다.
- 표현은 16진수로 나타내며, 연속된 0은 `::`으로 축약 가능하다.
이진수 표기: `0010000000000001:...:0000000111111111`
16진수 표기: `2001:0DB8:0000:0001:0000:0000:0010:01FF`
16진수 표기 축약형: `2001:0DB8:0000:0001::0010:01FF`
7. IPv6는 왜 NAT가 필요 없을까?
- IPv6는 주소 공간이 매우 넓어, 모든 디바이스가 전 세계에서 유효한 공용 주소(Global Unicast Address)를 직접 가질 수 있다. 즉, NAT 없이도 디바이스가 직접 인터넷에서 서비스 제공이 가능하다.
- 반면 IPv4에서는 공용 IP 부족 때문에 한 라우터에 여러 디바이스가 연결되고, 각 디바이스는 NAT 뒤에 있는 사설 IP 하나만 할당 받는다. 이로 인해 외부에서 직접 접근이 불가능한 구조였다.
- 단, IPv6에도 사설 IP에 해당하는 ULA(Unique Local Address)가 존재한다. IPv4처럼 사설망 안에서만 패킷을 라우팅한다.
✍️ 『읽자마자 IT 전문가가 되는 네트워크 교과서』의 내용을 참고해 정리한 글입니다.
'CS' 카테고리의 다른 글
| [네트워크] 웹사이트 접속 과정 – DNS, HTTP, HTTPS, TLS (2) | 2025.08.17 |
|---|---|
| [네트워크] 데이터를 전송하는 방법 - UDP, TCP, QUIC (1) | 2025.08.03 |
| [네트워크] 인터넷에서 정보가 이동하는 구조 - BGP, IXP (3) | 2025.07.27 |
| [네트워크] 기기가 네트워크에 연결되는 과정 (0) | 2025.07.07 |