정의
•
PSTN망에서 사용되는 signaling message를 인터넷 망의 IP Network상에서 전송하기 위해 IETF SIGTRAN Working group에서 2000년 10월 표준으로 제안한 전송 프로토콜(RFC 2960)
주요 장점
•
전송계층에서 동작하며 UDP의 메시지 지향 특성과 TCP의 연결지향 및 신뢰 전송 특성을 모두 포함하는 등 TCP와 UDP의 장점을 살리도록 설계
•
Association 설정시 발생할 수 있는 Syn Flooding과 같은 DOS 공격이나 Masquerading 공격에 안전하도록 설계
•
Multi-Streaming : TCP의 Head Of Line Blocking으로 인한 성능 저하 문제 해결. 하나의 세션에서 여러 종류의 컨텐츠 전달 가능.
•
Multi-Homing : 특정 경로에 Path Fail이 발생하더라도 미리 설정된 다른 통신 경로로 자동적인 데이터 전송을 가능케 하는 기능(fail-over 기능).
기술적 특징
•
세션인증 및 SACK 메커니즘 : 세션 초기화시 Cookie를 사용한 Key 교환(DOS, Sync Flooding 공격 방지), SACK(Selective ACKnowledgement)를 통한 데이터 수신 확인 및 재전송 요구
•
Path Selection & Monitoring : 하나의 SCTP 세션에 여러 IP 주소 사용(fail over 역할)
•
Flow & Congestion Control : 흐름 제어는 association 별, 혼잡 제어는 전송경로 별로 수행
•
데이터 전송 : 각 데이터 chunk에게 TSN(Transmission Sequence Number: 흐름 제어, 오류 복구), SSN(Stream Sequence Number: 스트림별 순서화) 부여
•
세션 초기화 및 종료 : 초기화에는 4 way handshaking, 종료시에는 3 way handshaking(TCP의 Half Open 문제 해결)
•
protocol ID : 132번
SCTP 프로토콜 스택
•
하나의 패킷에 여러 개의 데이터 및 제어 chunk가 포함 가능
•
데이터 chunk에는 Type, Length, 해당 데이터 chunk에 대한 TSN, SSN 번호를 포함하여 추후 오류제어 및 흐름제어 등에 사용
SCTP에서의 데이터 전송
SCTP는 IP 네트워크 기반에서 효율적인 데이터 전송을 위한 여러 기능을 지원 :
Bundling, Fragment and Reassembly, Flow Control, Congestion Control, Selective Repeat, Ordered and Unordered Delivery, Path MTU Discovery 또한 transport Sequence Number(TSN)을 이용한 패킷 중복 방지 및 손실탐색 메커니즘을 통해 데이터 전송의 신뢰성을 높임.
•
Bundling : SCTP 패킷 안에 여러 개의 Chunk를 포함하는 방법으로 chunk를 묶음.
•
Path MTU Discovery : 주어진 경로에 존재하는 MTU를 측정 및 전송중인 패킷 정지 또는 MTU 변공을 시도.
활용분야
•
전송 프로토콜 수준의 보안기능이 요구되는 시스템 : SCTP 위에 TLS를 적용하여 보안 기능 강화
•
인증, 권한, 과금정보를 관리하는 인증 시스템 장비 : Multi-Homing 기능을 활용한 신뢰성 있는 데이터 전송
•
신뢰성이 요구되는 군 장비 및 위성 통신 장비 : SCTP 데이터 전송의 Unordered 기능 적용, 좋지 못한 환경으로 인한 Path Fail 발생이 쉬운 전쟁에 사용되는 군 장비나 위성 통신을 위해 Multi-Homing 기능을 활용
•
Mobile IP 분야 : Multi-Homing 기능을 이용한 무선 통신 단말기에 적용
•
미래의 HTTP를 위한 전송 프로토콜 : 다중 객체를 송수신해야 하는 HTTP에 SCTP를 사용하여 데이터 전송의 성능 향상.
참고: SCTP Multi-Streaming
•
하나의 SCTP Association에 여러 개의 Stream을 가짐. 각 Stream마다 있는 순서번호(SSN: Stream Sequence Number)를 통해 각 Association 관리.
•
Head of line blocking 현상 방지 : 하나의 Stream으로 구성된 TCP의 경우 Stream에 전송된 데이터에 패킷의 손실이 발생했을 때 손실된 패킷이 재전송되기를 기다리는 동안 application에 데이터를 전달하지 못하는 Head of line blocking 현상을 방지함. 특정 stream에서 패킷 손실로 인한 지연이 발생하더라도 타 stream에는 이상이 없음. 전송 속도 증가 효과를 냄. 또한 패킷 순서 유지 및 비유지 선택 필드를 통해서도 전송 속드 증가 효과를 가져옴.
참고: SCTP Multi-Homing
•
SCTP Association을 맺고자 하는 endpoint들이 Multiple Ethernet의 각각에 IP가 할당된 multi-homed인 경우 적용 가능.
•
여러 경로 중 하나를 Primary Path로 설정하고 다른 경로는 idle 상태로 진입. idle path에 주기적으로 Heart Beat Chunk를 보내 사용 가능한지를 모니터링. Primary Path에 Path Fail이 발생한 경우 idle path 중 하나를 선택하여 Primary Path로 변경하고 데이터 전송을 계속함. 신뢰성 증가.
References
•
SCTP란? by yangck20
•
SCTP 표준기술 분석 및 전망, 전자통신동향분석 18-3 2003/06, 고석주 외 3명
댓글 백업