컴퓨터 네트워크
TCP/IPTCP/IP
TCP/IP(Transmission Control Protocol / Internet Protocol)는 인터넷을 포함한 대부분의 컴퓨터 네트워크에서 데이터를 주고받기 위해 사용하는 핵심 프로토콜 스택이다. 1970년대 ARPANET에서 시작해 현재 인터넷의 표준 통신 규약으로 자리잡았다.
TCP/IP 4계층 모델
TCP/IP는 4개의 계층으로 구성된다. OSI 7계층 모델을 실용적으로 단순화한 것이다.
| 계층 | 이름 | 역할 | 대표 프로토콜 |
|---|---|---|---|
| 4 | 응용 계층 | 사용자 서비스 제공 | HTTP, HTTPS, FTP, DNS, SMTP |
| 3 | 전송 계층 | 종단 간 신뢰성·흐름 제어 | TCP, UDP |
| 2 | 인터넷 계층 | 패킷 라우팅·주소 지정 | IP, ICMP, ARP |
| 1 | 네트워크 접근 계층 | 물리적 데이터 전송 | Ethernet, Wi-Fi |
IP (Internet Protocol)
IP는 패킷의 주소 지정과 라우팅을 담당한다. 데이터를 패킷 단위로 분할해 목적지까지 전달하지만, 순서·신뢰성은 보장하지 않는다.
IPv4 주소
IPv6 주소
서브넷 마스크
TCP (Transmission Control Protocol)
TCP는 신뢰성 있는 양방향 스트림 전송을 보장하는 프로토콜이다.
3-Way Handshake (연결 수립)
4-Way Handshake (연결 종료)
TCP 주요 특성
| 특성 | 설명 |
|---|---|
| 순서 보장 | 시퀀스 번호로 패킷 순서 재조립 |
| 신뢰성 | ACK + 재전송으로 손실 패킷 복구 |
| 흐름 제어 | 수신 버퍼 크기에 맞게 전송 속도 조절 |
| 혼잡 제어 | 네트워크 혼잡 시 전송 속도 감소 |
| 연결 지향 | 데이터 전송 전 연결 수립 필수 |
UDP (User Datagram Protocol)
UDP는 연결 없이 빠른 전송을 위한 프로토콜이다. 신뢰성 대신 속도를 우선한다.
TCP vs UDP
| 항목 | TCP | UDP |
|---|---|---|
| 연결 방식 | 연결 지향 | 비연결 |
| 신뢰성 | 보장 (재전송) | 없음 |
| 순서 보장 | 있음 | 없음 |
| 속도 | 느림 | 빠름 |
| 헤더 크기 | 20~60바이트 | 8바이트 |
| 용도 | 웹, 이메일, 파일 전송 | 스트리밍, 게임, DNS |
주요 응용 계층 프로토콜
| 프로토콜 | 포트 | 전송 | 용도 |
|---|---|---|---|
| HTTP | 80 | TCP | 웹 페이지 |
| HTTPS | 443 | TCP | 암호화 웹 |
| FTP | 21 | TCP | 파일 전송 |
| SSH | 22 | TCP | 원격 접속 |
| DNS | 53 | UDP/TCP | 도메인 이름 해석 |
| SMTP | 25 | TCP | 이메일 전송 |
| DHCP | 67/68 | UDP | IP 자동 할당 |
패킷 캡슐화
데이터가 각 계층을 내려갈 때 헤더가 추가된다.
DNS (Domain Name System)
블록체인과 TCP/IP
Bitcoin, Ethereum 등 블록체인 네트워크는 TCP/IP 위에서 동작하는 P2P 프로토콜이다.
관련 개념
- •네트워크 — 컴퓨터 네트워크 전반
- •P2P — TCP/IP 기반 피어투피어 통신
- •암호학 — HTTPS의 TLS/SSL 기반
- •Bitcoin — TCP/IP 기반 P2P 네트워크
- •Lightning Network — TCP/IP 위의 결제 채널
참고문헌
- •Tanenbaum, A.S. (2011). Computer Networks, 5th Edition
- •Stevens, W.R. (1994). TCP/IP Illustrated, Volume 1
- •RFC 793 — Transmission Control Protocol (1981)
- •RFC 791 — Internet Protocol (1981)