SCTP
IT 위키
Stream Control Transmission Protocol; 스트림 제어 전송 프로토콜
TCP 와 UDP 의 단점을 보완하기 위해 만들어진 전송 계층 프로토콜
- RFC 4960
- 원래 전화망 시그널링(SS7)을 IP 망으로 옮기기 위해 설계되었고, 현재는 LTE·5G 코어망 시그널링에 널리 쓰인다.
| 구분 | TCP | UDP | SCTP |
|---|---|---|---|
| 연결 | 연결형 | 비연결형 | 연결형 |
| 신뢰성 | 보장 | 없음 | 보장 |
| 전달 단위 | 바이트 스트림 | 메시지 | 메시지 |
| 순서 보장 | 엄격 | 없음 | 선택 가능 |
| 다중 스트림 | 없음 | 해당 없음 | 지원 |
| 멀티호밍 | 없음 | 없음 | 지원 |
- 다중 스트림(Multi-streaming)
- 하나의 연결 안에 독립적인 스트림 여러 개를 둔다.
- 한 스트림에서 패킷이 손실되어도 다른 스트림은 막히지 않는다. TCP 의 HOL 블로킹(Head-of-Line Blocking) 문제를 해결한 것이다.
- 멀티호밍(Multi-homing)
- 하나의 연결에 여러 IP 주소를 묶는다.
- 한쪽 경로가 끊겨도 다른 경로로 자동 전환되어 통신이 유지된다. 통신망 장비에 중요한 특성이다.
- 4-way 핸드셰이크와 쿠키
- 연결 설정 시 서버가 쿠키를 발급해 자원을 나중에 할당한다.
- 덕분에 TCP 의 SYN 플러딩 같은 자원 고갈 공격에 강하다.
- 메시지 경계 보존 : 응용이 보낸 메시지 단위를 그대로 전달한다.
