Mô hình chức năng của SCTP

Một phần của tài liệu 214533 (Trang 50 - 53)

Các dịch vụ truyền tải SCTP có thể đ−ợc chia thành một số các chức năng nh− đ−ợc mô tả trong hình sau:

Chu Quang Hiển – D2001VT 47 A sso ci a ti o n S ta rt u p a n d te a rd o w n Sequenced dilivery within streams

User data fragmentation

Acknowledgement and Congestion Avoidance Chunk Bundling Packet Validation Path Management SCTP User Adaptaion Hình 3.6Các chức năng của SCTP 3.2.3.1 Thiết lập và huỷ bỏ một liên kết

Một liên kết đ−ợc khởi tạo bằng một yêu cầu từ ng−ời sử dụng SCTP. Cơ chế Cookie đ−ợc sử dụng trong quá trình khởi tạo để bảo vệ liên kết khỏi các nguy cơ về bảo mật. Cơ chế Cookie sử dụng một thủ tục bắt tay bốn b−ớc, hai b−ớc cuối cho phép mang dữ liệu ng−ời sử dụng để thiết lập nhanh.

SCTP cho phép đóng (shutdown) một liên kết đang kích hoạt một cách an toàn theo yêu cầu của ng−ời sử dụng. SCTP cũng cho phép huỷ bỏ (abort) một liên kết theo yêu cầu của ng−ời sử dụng hay là kết quả của điều kiện lỗi xác định đ−ợc trong lớp SCTP.

SCTP không hỗ trợ trạng thái half-open nh− TCP. ở trạng thái này một phía của kết nối có thể tiếp tục gửi dữ liệu trong khi phía kia đã đ−ợc đóng. ở liên kết SCTP, khi một đầu cuối thực hiện shutdown, liên kết của đầu cuối đó sẽ không tiếp nhận dữ liệu mới từ ng−ời sử dụng của nó nữa và chỉ phân phát dữ liệu trong hàng đợi tại thời điểm đóng kết nối.

3.2.3.2 Phân phát tuần tự trong luồng

Khái niệm "luồng" (stream) đ−ợc sử dụng trong SCTP cho một chuỗi các bản tin ng−ời sử dụng mà có thể đ−ợc phân phát tới giao thức lớp cao hơn theo thứ tự phù hợp với các bản tin khác trong luồng. Điều này trái ng−ợc với sử dụng khái niệm này trong TCP, khi mà nó đ−ợc dùng để chỉ một chuỗi các byte.

Chu Quang Hiển – D2001VT 48 Ng−ời sử dụng SCTP có thể xác định tại thời gian thiết lập liên kết số các luồng có thể đ−ợc hỗ trợ bởi liên kết. Số l−ợng này đ−ợc thoả thuận với đầu cuối xa. Bản tin ng−ời sử dụng đ−ợc kết hợp với số luồng. SCTP tự nó gán một số thứ tự luồng cho mỗi bản tin đ−ợc truyền tới nó từ ng−ời sử dụng SCTP. ở phía nhận, SCTP đảm bảo rằng các bản tin đ−ợc phân phát tới ng−ời sử dụng SCTP theo thứ tự trong luồng định tr−ớc. Tuy nhiên, trong khi một luồng có thể bị nghẽn và chờ bản tin ng−ời sử dụng theo thứ tự tiếp theo thì việc phân phát bản tin ở các luồng khác vẫn đ−ợc tiếp tục.

SCTP cung cấp một cơ chế cho chuyển tiếp dịch vụ phân phát tuần tự. Bản tin ng−ời sử dụng đ−ợc gửi bằng cơ chế này đ−ợc phân phát tới ng−ời sử dụng SCTP ngay sau khi chúng đ−ợc nhận.

3.2.3.3 Phân mảnh dữ liệu ng−ời sử dụng

Khi cần thiết, SCTP phân mảnh các bản tin ng−ời sử dụng để đảm bảo rằng các gói tin SCTP đ−ợc truyền đến lớp thấp hơn phù hợp với đ−ờng MTU. ở phía thu, các mảnh đ−ợc kết hợp lại thành bản tin hoàn chỉnh tr−ớc khi đ−ợc chuyển đến ng−ời sử dụng SCTP.

3.2.3.4 Công nhận và tránh tắc nghẽn

SCTP gán một Số thứ tự truyền dẫn (TSN) cho mỗi mảnh dữ liệu ng−ời sử dụng hay bản tin không bị phân mảnh. TSN độc lập với số thứ tự luồng đ−ợc gán cho luồng. Phía thu công nhận tất cả các TSN đ−ợc nhận, ngay cả khi có các khoảng trống trong luồng. Theo cách này, việc phân phát tin cậy đ−ợc giữ về mặt chức năng tách biệt khỏi việc phân phát luồng có tuần tự.

Chức năng công nhận và tránh tắc nghẽn chịu trách nhiệm truyền lại gói tin khi không nhận đ−ợc sự công nhận đúng lúc. Việc truyền lại gói tin đ−ợc điều chỉnh bằng các thủ tục tránh tắc nghẽn t−ơng tự nh− trong TCP.

3.2.3.5 Chunk bunding

Gói tin SCTP khi đ−ợc phát tới lớp thấp hơn bao gồm một tiêu đề chung theo sau bởi một hay nhiều chunk. Mỗi chunk có thể chứa dữ liệu ng−ời sử dụng hay thông tin điều khiển SCTP. Ng−ời sử dụng SCTP có thể lựa chọn để yêu cầu kết hợp một hay nhiều gói tin vào một gói tin SCTP. Chức năng này đ−ợc gọi là bundling và chịu trách nhiệm tập hợp thành gói tin SCTP hoàn chỉnh và phân tách tại phía thu.

Trong thời gian tắc nghẽn, SCTP có thể vẫn thực hiện chức năng bundling ngay cả khi ng−ời sử dụng yêu cầu SCTP không thực hiện việc đó. Sự từ chối bundling của ng−ời sử dụng chỉ ảnh h−ởng tới sự thực thi SCTP ở khía cạnh là nó có thể gây ra một thời gian trễ nhỏ tr−ớc khi truyền dẫn (để thực hiện bunding).

Chu Quang Hiển – D2001VT 49 3.2.3.6 Xác nhận tính hợp lệ gói

Trong tiêu đề chung của SCTP có một tr−ờng bắt buộc gọi là tr−ờng Thẻ kiểm tra và một tr−ờng kiểm tra tổng 32 bit. Giá trị Thẻ kiểm tra đ−ợc chọn bởi mỗi đầu cuối của liên kết khi thiết lập. Các gói đ−ợc nhận mà không có giá trị Thẻ kiểm tra mong muốn thì bị huỷ bỏ. Đó đ−ợc coi nh− là một sự bảo vệ chống lại các nguy cơ tấn công và lạc gói từ liên kết SCTP tr−ớc. Tr−ờng kiểm tra tổng 32 bit đ−ợc tạo bởi nơi gửi mỗi gói tin SCTP để cung cấp thêm khả năng bảo vệ chống lại sự sai lệch dữ liệu trong mạng. Nơi nhận SCTP sẽ huỷ bỏ gói tin có tr−ờng kiểm tra tổng không hợp lệ.

3.2.3.7 Quản lý tuyến

Chức năng quản lý tuyến lựa chọn địa chỉ truyền dẫn đích cho mỗi gói tin SCTP đầu ra dựa trên các chỉ dẫn của ng−ời sử dụng SCTP và trạng thái khả dụng hiện tại của tập các địa chỉ hợp lệ. Chức năng quản lý tuyến quản lý trạng thái khả dụng thông qua các nhịp khi l−u l−ợng gói tin khác không đủ để cung cấp thông tin này và thông báo cho ng−ời sử dụng SCTP khi sự khả dụng của địa chỉ truyền dẫn đầu xa thay đổi. Chức năng quản lý tuyến cũng chịu trách nhiệm thông báo tập các địa chỉ truyền tải nội bộ hợp lệ cho đầu xa trong quá trình thiết lập liên kết, đồng thời thông báo các địa chỉ truyền tải từ đầu xa ng−ợc trở lại ng−ời sử dụng SCTP.

Khi thiết lập một liên kết, tuyến cơ bản đ−ợc xác định cho mỗi đầu cuối SCTP và nó đ−ợc sử dụng cho việc truyền bình th−ờng các gói tin SCTP.

ở phía thu, chức năng quản lý tuyến chịu trách nhiệm xác nhận sự tồn tại của một liên kết SCTP hợp lệ mà gói tin SCTP thuộc về tr−ớc khi chuyển tiếp nó cho các b−ớc xử lý tiếp theo.

Chức năng quản lý tuyến và kiểm tra tính hợp lệ của gói tin đ−ợc thực hiện tại cùng một thời điểm.

Một phần của tài liệu 214533 (Trang 50 - 53)