1. 연결형 전송 서비스의 진화, SCTP의 개요
정의: TCP의 신뢰성 있는 연결 지향적 특성과 UDP의 메시지 지향적 특성을 결합하여 IP망 위에서 신뢰성 있는 시그널링 송수신을 위해 설계된 전송 계층 프로토콜(RFC 4960).
등장 배경: TCP의 HOL(Head-of-Line) Blocking 문제 해결, 멀티호밍(Multi-homing)을 통한 고가용성 확보 및 보안성 강화를 위해 등장함.
2. SCTP의 주요 특징 및 TCP/UDP와의 비교
가. SCTP의 핵심 특징
Multi-Homing: 하나의 연결(Association)에 여러 개의 IP 주소를 할당하여 경로 장애 시 즉시 우회 가능(고가용성).
Multi-Streaming: 하나의 연결 내에 여러 독립적인 스트림을 생성하여 특정 스트림의 패킷 손실이 다른 스트림에 영향을 주지 않음(HOL Blocking 해결).
Message Oriented: UDP처럼 데이터의 경계를 보존하여 애플리케이션 계층에서 메시지 단위로 처리 가능.
4-Way Handshake: Cookie 메커니즘을 도입하여 TCP의 취약점인 SYN Flooding 공격을 방어.
나. 전송 계층 프로토콜 비교
| 구분 | TCP | UDP | SCTP |
| 연결 방식 | Connection-Oriented | Connectionless | Association-Oriented |
| 데이터 단위 | Byte Stream | Message | Message |
| 신뢰성 | 높음 (Ack, Retransmit) | 낮음 | 높음 (SACK 활용) |
| 특이 사항 | HOL Blocking 발생 | 순서 보장 불가 | Multi-homing, Multi-streaming |
3. SCTP 프로토콜 구조 및 동작 방식
가. SCTP 패킷 구조 (Protocol Structure)
SCTP 패킷은 공통 헤더(Common Header)와 여러 개의 청크(Chunk)로 구성됩니다.
Common Header: Source/Destination Port, Verification Tag(연결 식별), Checksum(CRC-32) 포함.
Chunks: 제어 정보를 담는 Control Chunk와 실제 데이터를 담는 Data Chunk로 구분되며, 하나의 패킷에 여러 Chunk를 번들링 가능.
나. SCTP의 주요 동작 방식 (4-Way Handshake)
보안성 강화를 위해 Cookie 메커니즘을 활용한 연결 설정을 수행합니다.
INIT: 클라이언트가 서버로 연결 요청(Verification Tag 포함).
INIT-ACK: 서버는 상태 정보를 포함한 State Cookie를 생성하여 응답(서버 자원 할당 전).
COOKIE-ECHO: 클라이언트는 받은 Cookie를 그대로 서버로 전송.
COOKIE-ACK: 서버가 Cookie를 검증하고 정상일 경우에만 자원을 할당하여 연결(Association) 완성.
4. SCTP의 활용 분야 및 기술사적 제언
ALL-IP망 시그널링: VoIP(SIP), 5G 핵심망 내의 지그널링 프로토콜(Diameter 등)의 전송 기구로 활용.
재난안전망(PS-LTE): 고가용성이 필수적인 환경에서 멀티호밍 기능을 통한 중단 없는 통신 보장.
결언: SCTP는 TCP의 구조적 한계를 극복한 강력한 프로토콜이나, NAT/방화벽 통과 등의 호환성 문제로 인해 공중망보다는 전용망 및 코어망 위주로 활용됨. 기술사는 차세대 네트워크 설계 시 데이터의 특성에 따라 SCTP의 멀티호밍 및 스트리밍 기능을 최적으로 배치해야 함.
댓글 없음:
댓글 쓰기