Giao thức TCP vs SCTP
Cả TCP (Giao thức điều khiển truyền) và SCTP (Giao thức truyền điều khiển luồng) nằm trong lớp vận chuyển và cung cấp các chức năng vận chuyển chủ yếu trong các ứng dụng internet. TCP cung cấp truyền dữ liệu đáng tin cậy với thứ tự nghiêm ngặt của việc phân phối các gói nhưng một số ứng dụng cần truyền đáng tin cậy nhưng không phải là chuỗi phân phối 100% của gói. Trong những trường hợp này, TCP có thể gây ra sự chậm trễ không cần thiết trong tùy chọn thứ hai trong đó độ tin cậy là quan trọng nhưng không phải là phân phối tuần tự 100%.
Trong vận chuyển các gói có hai ràng buộc chính là một độ tin cậy và một ràng buộc khác là độ trễ. Độ tin cậy được đảm bảo phân phối gói và độ trễ là phân phối kịp thời gói. Cả hai không thể đạt được đến đỉnh cùng một lúc nhưng có thể được tối ưu hóa.
SCTP được phát triển về cơ bản để vận chuyển tín hiệu PSTN qua mạng IP. (SIGTRAN). Nhưng ngày nay, các ứng dụng khác cũng thấy rằng SCTP phù hợp với yêu cầu của họ.
TCP:
Được xác định trong RFC 793
TCP là giao thức định hướng kết nối để kết thúc giao thức đáng tin cậy để hỗ trợ truyền dữ liệu được bảo đảm. Từ chính cơ sở kết nối, TCP đảm bảo độ tin cậy. Một số tính năng chính của TCP là bắt tay 3 bước (SYN, SYN-ACK, ACK), Phát hiện lỗi, Khởi động chậm, Kiểm soát luồng, Kiểm soát tắc nghẽn.
TCP là một cơ chế vận chuyển đáng tin cậy, vì vậy nó sẽ được sử dụng trong đó việc phân phối gói là bắt buộc ngay cả trong các tắc nghẽn. Ví dụ điển hình cho các ứng dụng TCP và số cổng là dữ liệu FTP (20), Kiểm soát FTP (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110) , SNMP (161) và HTTPS (443). Đây là những ứng dụng TCP nổi tiếng.
SCTP:
Được xác định trong RFC4960
SCTP (Stream Control Transmission Protocol) là một giao thức truyền tải IP như TCP và UDP. SCTP là một giao thức unicast và hỗ trợ phân phối dữ liệu từ đầu đến cuối trong chính xác hai điểm cuối. Nhưng điểm cuối có thể có nhiều hơn một địa chỉ IP.
SCTP là một giao thức truyền song công đầy đủ với các tính năng như truyền lại, điều khiển luồng và bảo trì chuỗi.
Ngoài TCP, SCTP có nhiều tính năng hơn và một số tính năng được liệt kê bên dưới
SCTP cho phép dữ liệu được chia thành nhiều luồng và mỗi luồng có trình tự phân phối riêng. Hãy xem xét trường hợp báo hiệu Telephony, cần duy trì chuỗi các gói ảnh hưởng đến cùng một phiên hoặc tài nguyên. (Ví dụ: Cùng một cuộc gọi hoặc cùng một thân cây). Vì vậy, theo dõi chuỗi dựa trên luồng là đủ và sẽ mang lại hiệu suất tốt hơn so với một luồng đầy đủ.
Tính năng này hỗ trợ cho điểm cuối SCTP duy nhất có nhiều địa chỉ IP. Lý do chính cho việc này là để duy trì tính khả dụng của điểm cuối thông qua một số đường dẫn định tuyến dự phòng.
Một bộ đếm được duy trì để theo dõi các xác nhận truyền không thành công đến một đích cụ thể. Có một ngưỡng được xác định và nếu vượt quá địa chỉ đích được khai báo là không hoạt động và SCTP bắt đầu gửi đến địa chỉ thay thế.
Tóm lược:
(1) TCP và SCTP đều hỗ trợ các dịch vụ vận chuyển đáng tin cậy.
(2) TCP hỗ trợ phân phối dữ liệu một luồng trong đó SCTP hỗ trợ nhiều luồng phân phối dữ liệu.
(3) TCP hỗ trợ điểm cuối TCP đơn để có một địa chỉ IP trong đó SCTP hỗ trợ điểm cuối SCTP đơn có thể có nhiều địa chỉ IP cho mục đích chủ yếu là dự phòng.
(4) Thay vì TCP, SCTP an toàn hơn.
(5) Quá trình khởi tạo và tắt SCTP khác với TCP.