.9 Cấu trúc chunk INIT

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu đánh giá hiệu suất giao thức SCTP (Trang 47 - 49)

Trong chunk INIT chứa các thông tin phục vụ việc thiết lập kết nối giữa hai đầu cuối nhƣ độ lớn của bộ đệm sẽ đƣợc sử dụng (tính bằng byte), số luồng bên gửi có thể phát (là giá trị trƣờng Number of Outbound Streams) và số luồng bên nhận sẵn sàng nhận (là giá trị trƣờng Number of Inbound Streams), giá trị bắt đầu của TSN... Hai trƣờng Number of Outbound Streams và Number of Inbound Streams là hai trƣờng phục vụ cho việc vận chuyển dữ liệu đa luồng, là một tính năng nổi bật của giao thức SCTP mà TCP khơng có. Trƣờng Initiate Tag trong chunk INIT có vai trị tƣơng tự nhƣ trƣờng Sequence Number trong gói tin TCP. Ngay khi bắt đầu thiết lập kết nối, nó đƣợc gán một giá trị ngẫu nhiên trong khoản 0 – (232-1). Giá trị này sẽ đƣợc lƣu trữ trong tất cả các gói tin đƣợc truyền tải trong kết nối cũng nhƣ đƣợc

dùng để xác thực tính hợp lệ của một gói tin bằng cách lƣu giá trị này vào trƣờng Verification Tag của phần tiêu đề mỗi gói tin. Điều này khác với TCP vì TCP chỉ dùng giá trị khởi tạo này làm khoá để trao đổi đúng một lần và khơng có cơ chế lƣu trữ lại. Bằng cách dùng giá trị này, SCTP do vậy có thể chống đƣợc các tấn cơng dạng “mù” (blind attacks- là cách tấn công mà khi hai đầu cuối thiết lập kết nối và truyền tin, kẻ tấn cơng sẽ gửi các gói tin giả danh đến hai đầu cuối này) do kẻ tấn cơng khó có thể thử hết đƣợc 232 gói tin để tìm đúng đƣợc giá trị này.

Initiation Acknowledgement (INIT ACK): là chunk dùng để biên

nhận các gói tin điều khiển sử dụng trong q trình khởi động việc thiết lập kết nối. INIT ACK có vai trị tƣơng tự SYN ACK của TCP và có cấu trúc tƣơng tự nhƣ chunk INIT.

Selective Acknowledgement (SACK): là chunk biên nhận các gói dữ

liệu đã nhận thành cơng hay thơng báo các gói bị lỗi. Trong chunk biên nhận này tất nhiên vẫn phải có biên nhận tích luỹ TSN và kích thức cửa sổ nhận cho phép nhƣ trong giao thức TCP.

Trong giao thức TCP, ACK là một trƣờng của gói tin. Vì vậy ACK có trong tất cả các gói tin TCP trừ SYN là gói tin thiết lập kết nối. Đây là một hạn chế của TCP vì nhƣ vậy ACK khơng thể mở rộng, do đó TCP chỉ có thể phát hiện gói tin bị mất hay lặp sau khi nhận đƣợc các báo nhận lặp và truyền lại tất cả các gói tin bắt đầu từ gói tin bị mất, dù các gói tin sau đó có thể đã đƣợc nhận đầy đủ, dẫn đến lãng phí thời gian và băng thơng đƣờng truyền. Đối với các ứng dụng thời gian thực thì điều đó khó chấp nhận đƣợc.

Đó chính là lý do SCTP dùng SACK báo nhận thay ACK. SACK trong SCTP là một chunk hồn tồn độc lập, do vậy có khả năng mở rộng tuy ý, miễn là chƣa vƣợt quá giới hạn độ lớn của chunk cho phép. Cấu trúc của SACK nhƣ sau:

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu đánh giá hiệu suất giao thức SCTP (Trang 47 - 49)

Tải bản đầy đủ (PDF)

(96 trang)