프로토콜(Protocol)
인터넷에 연결된 수많은 기기들이 서로 통신하기 위해서는 공통의 언어가 필요합니다. 이것이 바로 프로토콜입니다. 프로토콜은 기기가 인터넷에서 어떻게 통신해야 하는지, 오류가 발생했을 때 어떻게 대처해야 하는지에 대한 규칙을 정의합니다.
주요 통신 프로토콜
대표적인 프로토콜로는 TCP, UDP, QUIC이 있습니다.
- TCP: 패킷을 정확하고 완전한 형태로 전송하지만 속도가 느린 편
- UDP: 정확한 패킷 전달이나 전송 순서보다 속도를 우선시하는 프로토콜
- QUIC: 이 둘의 장점을 결합한 형태로, 여러 개의 빠른 UDP 연결을 활용하면서도 TCP 처럼 정확하고 신뢰할 수 있는 방식으로 데이터 전송하는 프로토콜
표준과 프로토콜을 다루는 국제기구
1) 미국전기전자학회(IEEE) : 802.11과 같은 유무선 네트워크 프로토콜을 담당
2) 국제인터넷표준화기구(IETF) : TCP, UDP 같은 인터넷 통신 프로토콜 담당
3) 국제전기통신연합 표준화 부문(ITU-T): 웹서버와 클라이언트에서 사용되는 암호화 표준 X.509 같은 전기통신 프로토콜을 정의
4) 국제표준화기구(ISO) : 기술, 경영, 정부, 사회 등 다양한 부문의 애플리케이션 표준 결정
인터넷 프로토콜(IP)
인터넷 프로토콜은 IP 주소와 IP 패킷 형식을 규정한 프로토콜로, IP 표준을 따르는 기기들끼리 서로 소통할 수 있게 합니다. IP 주소는 크게 공용 IP 주소와 사설 IP 주소로 나뉩니다.
1. 공용IP 주소
홈 라우터처럼 인터넷에 직접 접속할 수 있는 경우
2. 사설IP 주소
근거리 통신망(LAN)이나 가상 사설망(VPN)처럼 중개자를 통해 접속하는 경우
네트워크 주소 변환(NAT)
라우터는 NAT을 활용해 패킷의 주소 형식을 다시 작성합니다. 망 내에서 사용되는 사설 IP 주소를 외부에서 쓸 수 있는 공용 IP 주소로 변환하는 것이죠. 이는 IPv4에서만 사용되는 기술입니다.
IPv4의 특징과 한계
IPv4는 가장 일반적으로 사용되는 주소 형식으로, 198.51.100.7과 같은 형태를 가집니다. 8비트로 구성된 4개의 묶음으로 이루어져 있으며, 각 블록은 0부터 255까지의 범위를 가집니다. 즉, 주소당 32비트를 사용하는 셈입니다.
사설 IP 주소 범위:
- 192.168.xxx.xxx
- 10.xxx.xxx.xxx
- 172.16.xxx.xxx ~ 172.31.xxx.xxx
이 외의 주소는 모두 공용 IP 주소입니다. IPv4의 가장 큰 단점은 약 43억 개의 주소만 만들 수 있다는 것입니다. 전 세계의 수많은 기기를 생각하면 턱없이 부족한 숫자죠. 이것이 NAT를 통해 여러 디바이스가 하나의 공용 IP를 공유하게 된 이유입니다.
IPv6의 등장
Pv6는 IPv4의 주소 부족 문제를 해결하기 위해 등장했습니다. 16비트로 된 숫자 블록 8개로 구성되어 있고 쌍점 (:)으로 으로 구분합니다. 16진수 8묶음으로 구성되어 주소당 128비트를 사용하므로, 사용 가능한 주소의 개수는 2의 128승 개입니다. IPv6에서는 외부에 접근할 수 없는 네트워크 내 사설 IP 주소로 ULA를 사용합니다.
- 범위:
0000~FFFFex)2001:0DB8:0000:0001:0010:01FF
장점
| IPv4 | IPv6 |
|---|---|
| 한 디바이스는 NAT이 다시 작성한 사설 주소 1개만 받을 수 있어 외부 접근을 할 수 없음 | 홈 라우터 연결 시, 모두가 접근할 수 있는 주소를 여러 개 할당받아 각 디바이스가 인터넷 서비스를 제공하고 능동적 참여 가능 |
전 세계의 IP 주소 할당
전 세계의 IP 주소는 체계적으로 관리됩니다. 라우터는 IANA가 관리하는 고유한 공용 IPv4, IPv6 중 사용 가능한 주소를 가져옵니다. IANA는 대륙별로 인터넷 레지스트리(RIR)를 지정해 IP 주소 범위를 할당하고, RIR은 다시 지역별 인터넷 레지스트리(LIR)에 IP 범위를 할당합니다. LIR은 인터넷 서비스 공급자(ISP)로 IP 주소를 할당해주며, ISP에 속한 라우터들이 공용 IP를 할당받을 수 있습니다.
- IP 할당 방법
1) 정적(static) 방식 : 언제나 같은 주소 사용
2) 동적(dynamic) 방식: 주기적으로 주소가 바뀌는 방식
IP 라우팅
IP 라우팅은 패킷이 목적지까지 도달하는 과정을 말합니다. NAT를 사용하지 않거나 IPv6를 사용하는 경우 태그를 재작성할 필요가 없지만, NAT를 사용하는 경우 홈 라우터가 패킷 태그를 재작성합니다.
라우터에서 시작한 패킷은 근처 ISP의 대형 라우터로 전달되고, 라우터는 헤더를 읽어 목적지나 목적지 근처 라우터에 도달하게 합니다.
보안 위협과 IPSec
패킷이 여러 라우터를 거치면서 패킷 태그를 읽고 수정, 복사하는 등 여러 기능을 라우터가 수행하게 되는데, 이는 악용될 가능성이 있습니다. 대표적인 것이 IP 스푸핑입니다. IP 스푸핑은 패킷 태그에 가짜 IP 주소를 써서 다른 컴퓨터가 보내는 것처럼 만드는 기법으로, 실제 발신지를 숨겨 익명 공격을 가능하게 합니다.
IPSec(인터넷 프로토콜 보안)
이러한 보안 위협을 해결하기 위해 IPSec이 등장했습니다. IPSec은 데이터 패킷의 무결성, 진본성, 신뢰성을 보장하는 다양한 방식을 제공합니다. 패킷 확인 과정을 암호화해 진본성과 무결성을 확보하고, 발신 주소를 수정하거나 훼손하지 못하게 막아 신뢰성을 보장합니다. 또한 신뢰하지 않거나 유효하지 않는 IP 패킷을 모두 배제합니다.
이러한 방식으로 서비스 거부(DoS) 공격으로부터 데이터를 보호할 수 있습니다. 서비스 거부 공격은 발신 주소를 각각 다르게 해서 엄청나게 많은 패킷을 한 IP 주소로 보내는 것입니다. 이렇게 되면 디바이스에 과부하가 걸려 모든 요청에 응답하지 못하게 되는데, IPSec은 이러한 악의적인 패킷을 사전에 차단할 수 있습니다.
'CS' 카테고리의 다른 글
| [네트워크] 도메인 이름은 어떻게 IP 주소로 변환될까? (0) | 2026.02.08 |
|---|---|
| [네트워크] 인터넷의 정보는 어떻게 움직일까 (0) | 2026.02.01 |
| [네트워크] 기기는 어떻게 네트워크에 연결될까? (0) | 2026.01.17 |
| [네트워크] 네트워크는 어떻게 인터넷을 이룰까? (1) | 2026.01.11 |
| [OS] CPU 스케쥴링 (0) | 2025.10.07 |