CHƢƠNG 2 GIAO THỨC TRAO ĐỔI SỐ LIỆU
3.3 Đặc tả giao thức SCTP [8]
3.3.3 Gói tin SCTP
Sau một thời gian dài đƣợc sử dụng, định dạng gói tin TCP đã bộc lộ những hạn chế:
Khả năng mở rộng của gói tin TCP: độ lớn của gói tin TCP bị giới hạn bởi MSS (Maximum Segment Size) trong trƣờng option của phần tiêu đề. Vì vậy, khó có thể mở rộng gói tin TCP. Đây cũng là một lí do cần phải phát triển giao thức mới.
Phần tiêu đề của TCP có các cờ điều khiển khơng cịn cần thiết: thiết kế ban đầu của TCP hƣớng tới sự hiệu quả nhƣng kích thƣớc nhỏ nhất có thể, đặc biệt là kích thƣớc của phần tiêu đề. Ngƣời ta đã tìm cách nén 20 byte tiêu đề của gói tin TCP thành 3 byte (trong cùng một kết nối, phần tiêu đề là tƣơng tự nhau). Nguyên nhân là do TCP đƣợc thiết kết để truyền dữ liệu vào những năm 70 và 80 thế kỷ trƣớc, khi mà đƣờng truyền tốt nhất cũng chỉ đạt vài chục KBps. Nhƣng hiện nay, tốc độ và băng thông đã đạt đƣợc những tiến bộ vƣợt bậc, đạt tới hàng trăm Mbps, gấp hàng nghìn lần trƣớc kia thì việc phải giới hạn độ lớn gói tin, nhất là tiêu đề của gói tin khơng cịn cần thiết nữa. Sự hạn chế này lại trở thành một rào cản cho sự phát triển. Yêu cầu khi thiết kế của giao thức truyền dữ liệu hiện đại không cịn là kích cỡ mà là tính đơn giản, dễ mở rộng và dễ xử lý. Việc xử lý một khối rõ ràng là dễ và đơn giản hơn so với xử lý từng bít trong một byte, từng byte tiêu đề sẽ có ý nghĩa tốt hơn nếu đƣợc gộp với từng khối bít cụ thể trong một gói dữ liệu. Gói tin SCTP đƣợc thiết kế để đáp ứng các yêu cầu đó.
Gói tin SCTP gồm phần tiêu đề (header) và tập các khối thông tin gọi là các chunk. Cấu trúc của một gói tin SCTP nhƣ sau:
Một gói tin bao gồm một hoặc nhiều chunk. Số lƣợng các chunk trong một gói tin SCTP phụ thuộc vào kích cỡ cho phép truyền tải của mạng - MTU. Riêng các gói tin INIT, INIT ACK và SHUTDOWN COMPLETE thì chỉ có một chunk. Nếu dữ liệu của ngƣời dùng vƣợt q kích cỡ của gói tin SCTP, nó sẽ đƣợc phân mảnh thành các chunk để truyền đi.