SCTP yêu cầu thiết kế nhiều hơn trong ứng dụng để sử dụng nó tốt nhất. Có nhiều tùy chọn hơn TCP, API giống như Sockets xuất hiện sau và nó còn non trẻ. Tuy nhiên, tôi nghĩ rằng hầu hết mọi người dành thời gian để hiểu về nó (và những người biết những thiếu sót của TCP) đều đánh giá cao nó - đó là một giao thức được thiết kế tốt, xây dựng trên ~ 30 năm kiến thức về TCP và UDP của chúng tôi.
Một trong những khía cạnh đòi hỏi một số suy nghĩ là luồng. Các luồng cung cấp (thông thường, tôi nghĩ rằng bạn có thể tắt nó) một đảm bảo đơn hàng trong chúng (giống như kết nối TCP) nhưng có thể có nhiều luồng trên mỗi kết nối SCTP. Nếu dữ liệu của ứng dụng của bạn có thể được gửi qua nhiều luồng thì bạn sẽ tránh bị chặn đầu dòng nơi người nhận chết đói do một gói bị sai. Hiệu quả các cuộc hội thoại khác nhau có thể có trên cùng một kết nối mà không ảnh hưởng lẫn nhau.
Một bổ sung hữu ích khác là hỗ trợ đa hướng - một kết nối có thể đi qua nhiều giao diện ở cả hai đầu và nó đối phó với các lỗi. Bạn có thể mô phỏng điều này trong TCP, nhưng ở lớp ứng dụng.
Nhịp tim liên kết chính xác, là điều đầu tiên mà bất kỳ ứng dụng nào sử dụng TCP cho các kết nối không nhất thời đều được cung cấp miễn phí.
Tóm tắt cá nhân của tôi về SCTP là nó không làm bất cứ điều gì bạn không thể làm theo cách khác (trong TCP hoặc UDP) với sự hỗ trợ ứng dụng đáng kể. Điều nó cung cấp là khả năng không phải tự thực hiện mã đó (rất tệ).
FYI, SCTP được ủy quyền là được hỗ trợ cho Đường kính (cf RADIUS thế hệ tiếp theo). xem RFC 3588
Khách hàng đường kính PHẢI hỗ trợ TCP hoặc SCTP, trong khi các tác nhân và
máy chủ PHẢI hỗ trợ cả hai. Các phiên bản tương lai của thông số kỹ thuật này CÓ THỂ
yêu cầu khách hàng hỗ trợ SCTP.