Skip to main content

TCP, UDP, SCTP

· 3 min read

통신 프로토콜의 개념

  • 디지털 정보를 전송계층에서 포트 기반으로 전송하기 위한 세그먼트 표준 규약
  • TCP의 핸드쉐이킹으로 인한 신뢰성과 UDP의 데이터그램으로 인한 실시간성의 장점을 결합하여 멀티호밍, 멀티스트리밍 기반 SCTP 프로토콜로 발전

TCP, UDP, SCTP

TCP 개념 및 특징

# TCP 헤더
+-----------------+-----------------+
| 소스 포트 | 목적지 포트 |
+-----------------+-----------------+
| 시퀀스 번호 |
+-----------------------------------+
| ACK 번호 |
+-----------------+-----------------+
| 길이 | 플래그 | 윈도우 크기 |
+-----------------+-----------------+
| 체크섬 | 긴급 포인터 |
+-----------------+-----------------+
| 옵션 |
+-----------------------------------+
| |
| 데이터 |
| |
+-----------------------------------+
  • 개념: 신뢰성과 순서를 보장하는 연결지향 프로토콜
  • 특성: 흐름제어, 혼잡제어, 전이중통신, 연결지향

UDP 개념 및 특징

# UDP 헤더
+-----------------+-----------------+
| 소스 포트 | 목적지 포트 |
+-----------------+-----------------+
| 길이 | 체크섬 |
+-----------------+-----------------+
| |
| 데이터 |
| |
+-----------------------------------+
  • 개념: 데이터 전송 속도를 우선시하는 비신뢰성 비연결지향 프로토콜
  • 특징: 비신뢰성, 비연결지향, 단순성, 실시간성

SCTP 개념과 특징

# SCTP 헤더
+-----------------+-----------------+
| 소스 포트 | 목적지 포트 |
+-----------------+-----------------+
| 검증 태그 | 체크섬 |
+-----------------------------------+
| 청크 헤더1 |
+-----------------------------------+
| 데이터1 |
+-----------------------------------+
| 청크 헤더2 |
+-----------------------------------+
| 데이터2 |
| ... |
+-----------------------------------+
  • 개념: 신뢰성 있는 데이터 전송과 다양한 기능을 제공하는 프로토콜로 TCP와 UDP의 장점 결합
  • 신뢰성 보장, 멀티스트림, 멀티호밍, 연결지향

TCP, UDP, SCTP 비교

구분TCPUDPSCTP
연결방식3way - 4way없음4way - 3way
데이터 단위세그먼트데이터그램데이터 청크
신뢰성높음낮음높음
순서보장보장없음보장
HoL블로킹발생없음없음, 멀티스트리밍
속도느림빠름중간
다중경로미지원미지원지원
용도웹, 이메일, 파일전송실시간 스트리밍, DNS, 로깅VoIP, 위성통신, MMORPG
장점신뢰성, 무결성속도, 실시간성신뢰성, 기능안정성
단점느린 속도, 실시간성신뢰성, 데이터손실복잡한 구조, UDP보다 느린 속도