Network/Unix Network Programming

[Unix Network Programming] Chapter 2.5 SCTP(Stream Control Transmission Protocol)

Binceline 2017. 2. 27. 20:46

SCTP는 TCP/UDP와 흡사하다. 클라이언트와 서버 간의 "Association"들을 제공한다. 


TCP처럼 reliablity / sequencing / flow control, full-duplex 통신을 제공한다.


"Association"은 SCTP에서 "connection" 대신에 사용하는 용어이다. connection은 오직 2개의 IP주소끼리의 연결을 의미하기 때문이다.


SCTP는 Multi Homing으로 인해 2개 이상의 IP 주소가 사용될 수 있다.


TCP와 다르게 SCTP는 Message Oriented 방식이다. 그리고 UDP처럼, 송신 측에 의해 작성된 records의 길이가 수신 측에 전달된다.


SCTP는 연결 endpoint들 사이에 Multiple Stream을 사용할 수 있다. 각 Message는 Reliable한 순서대로 전달된다.


Multiple Stream을 이용하면 어느 한 스트림에서 Message가 손실되어도 어떤 다른 Stream들의 Message 전달을 Block시키지 않는다.


만약 단일 ByteStream에서 손실이 발생하면, 연결이 복구될 때까지 모든 데이터 전달을 Block시킨다.


단일 SCTP endpoint가 Multiple IP Address를 지원하도록 하는 Multi Homing 기능을 제공한다. 


이 기능은 Network 장애가 있을 때를 대비할 수 있는 기능이다. 하나의 endpoint가 여러 Connection을 가질 수 있고, 각 network들은 다른 구조의 connection을 가질 수 있다.



반응형