a. Nhược điểm của các giao thức UDP và TCP
UDP là giao thức truyền tải trên cơ sở bản tin và hỗ trợ các dịch vụ không kết nối. Điều này khiến nó phù hợp để truyền các bản tin báo hiệu nhạy trễ. Tuy nhiên, UDP chỉ cung cấp một dịch vụ truyền gói tin datagram không tin cậy. Các phương thức điều khiển lỗi, ví dụ như truyền thứ tự bản tin, phát hiện lặp bản tin và truyền lại bản tin bị mất, thì phải được thực hiện bởi ứng dụng.
Ngược lại, giao thức TCP cho phép điều khiển lỗi và điều khiển luồng nhưng lại có những nhược điểm sau:
- TCP là giao thức truyền tải theo kiểu luồng byte. Điều này có nghĩa là việc phân định giới hạn bản tin phải được thực hiện bởi ứng dụng và điểm kết thúc của bản tin cần phải được báo cho TCP bằng cách sử dụng cơ chế đẩy để truyền bắt buộc các octet phụ thuộc.
- Rất nhiều ứng dụng chỉ yêu cầu truyền có thứ tự một phần các bản tin báo hiệu. TCP phân phát dữ liệu theo một thứ tự chặt chẽ. Điều này có thể dẫn đến hiện tượng nghẽn đầu dòng một cách không cần thiết và do đó làm tăng độ trễ của bản tin.
- Một kết nối TCP được xác định trực tiếp bằng một đôi địa chỉ truyền dẫn (địa chỉ IP và địa chỉ cổng). Điều này ngăn cản việc thực hiện hỗ trợ multi-homed host.
- Một sự triển khai TCP tiêu biểu không cho phép điều khiển xác định ứng dụng các thông số giao thức. Tuy nhiên, một số ứng dụng báo hiệu xác định lại yêu cầu phải có điều này để tương thích với giao thức.
b. Sự phát triển của SCTP
Chính những hạn chế của UDP và TCP là động thực thúc đẩy trực tiếp cho sự phát triển của SCTP.
SCTP tồn tại ở lớp ngang bằng với TCP và UDP, cung cấp các chức năng lớp truyền tải cho rất nhiều ứng dụng IP. Dịch vụ cơ bản cung cấp bởi SCTP là truyền dẫn tin cậy bản tin người dùng giữa những người sử dụng SCTP.
SCTP là một giao thức hướng kết nối. Nó thiết lập một kết nối giữa hai điểm đầu cuối SCTP. Kết nối này được gọi là liên kết SCTP (SCTP association). Mỗi một điểm đầu cuối SCTP cung cấp một địa chỉ cổng SCTP và một danh sách điạ chỉ IP cho đầu cuối kia của liên kết. Do đó, mỗi liên kết được xác định bằng hai địa chỉ cổng SCTP và hai danh sách địa chỉ IP [5].
Trong một liên kết, điều khiển tắc nghẽn được thực hiện theo cách tương tự như cơ chế điều khiển tắc nghẽn của TCP. Việc truyền tải dữ liệu người sử dụng không lặp và không lỗi có xác nhận được hỗ trợ bằng các thông báo đều đặn và việc truyền dẫn lại có lựa chọn.