4.2.3. GIAO DIỆN KĨT NÓI SCTP VĂ LỚP TRÍN
Câc giao thức lớp trín (ULP: upper Layer Protocol) (hay câc User của SCTP) sẽ
gửi câc nguyín hăm (Primitive) xuống cho SCTP (tương tự như lời gọi hăm
trong lập
trình) để yíu cầu dịch vụ đồng thời nhận câc thông bâo từ SCTP cho câc sự kiện khâc
nhaụ Những thực thể SCTP khâc nhau có thể có câc giao diện ULP khâc nhau nhưng
tất cả câc SCTP phải cung cấp bộ dịch vụ tối thiếu đí bảo đảm tất cả câc thực thế
SCTP có thể hồ trợ cùng một hệ phđn cấp giao thức.
4.2.3. ạ ULP -> SCTP
Để mô tả câc bộ phận chức năng trong giao diện ULP -> SCTP, trong phần
năy sẽ
trình băy câc nguyín hăm tương tự theo câc thủ tục gọi hăm trong câc ngôn ngừ lập
trình bậc caọ Định dạng chung của chúng như sau:
TÍN HĂM (tham số 1, tham số 2, [tham số 3]...) -> giâ trị trả về 1, giâ trị
trả về 2...
Trong đó:
- TÍN_HĂM lă tín lệnh (nguyín hăm).
- Tham số lă giâ trị cần cung cấp cho SCTP khi thực hiện lệnh.
Câc tham số không đế trong [] lă câc tham số bắt buộc. Câc tham số đí trong
[] lă
câc tham số tùy chọn có thể có hay không. Neu thiếu câc tham số tùy chọn thì SCTP
sẽ sử dụng câc giâ trị mặc định được quy ước trước. - Giâ trị trả về kết quả mă SCTP trả về cho ULP.
Hiện tại IETF định nghĩa 16 nguyín hăm cơ bản mă SCTP phải thực hỗ trợ lă:
- ĩnitiali/e
- Associate
CHƯƠNG IV: GIAO THỨC SIGTRAN_______________________________________________________________ _______________________________________________________________
Lệnh năy yíu cầu SCTP khởi tạo cấu trúc dừ liệu bín trong nó vă cấp phât tăi nguyín cần thiết để thiết lập môi trường hoạt động. SCTP sẽ trả về cho ULP tín cục
bộ của SCTP tương ứng.
Local port: cổng SCTP (lớp 4) mă ƯLP muốn, nếu tham sổ năy không có thì SCTP
sẽ tự chọn cổng thích hợp.
Local eligible ađress list: Câc địa chỉ IP thích hợp của điểm cuối SCTP cục
bộ mă
ƯLP muốn sử dụng trong kết nối năy (để âp dụng cơ chế multi-homing, hoặc để tiết
kiệm tăi nguyín) chúng sẽ được gửi cho phía đối tâc trong bản tin INIT. Neu
tham số
năy không có thì SCTP sẽ sử dụng toăn bộ địa chi IP mă nút đó có. > Associate: khởi tạo kết nốị
Định dạng: ASSOCIATE(locaỉ SCTP instance name, destination transport ađr,
outbound stream count) -> association id [,destination transport ađr lỉst] [, outbound stream cuunt]
Lệnh năy thực hiện sau lệnh Inittiate đí yíu cầu SCTP khởi tạo kết nối tới địa chỉ
[IP ,port] = destinatỉon transport ađr.
outbound stream count: cho biết số luồng phât mă SCTP muốn tạọ
SCTP sẽ trả về mê danh định của kết nối, danh sâch địa chỉ truyền tải của đối
tâc vă
số luồng phât đê được tạọ Danh sâch địa chỉ truyền tải được dùng đe ULP chọn đường
truyền chính cho việc phât câc gói vă khi cần có thể chọn đường truyền khâc. > Shutdown: kết thúc “mềm” kết nốị
Định dạng: SHUTDOWN (association id) -> result
CHƯƠNG IV: GIAO THỨC SIGTRAN
Unordered fỉag: nếu ULP muốn bản tin đuợc chuyín giao không theo thứ tự luồng
(ở đầu cuối sau khi bản tin được nhận tốt nó sẽ chuyển thẳng lín cho ULP đích mă
không cần quan tđm đến số thứ tự trong luồng.)
No-bimdle fỉag: Yíu cầu SCTP không được gom bản tin năy chung một gói
với câc
bản tin khâc. Tuy nhiín SCTP vẫn có thề thực hiện gom bản tin nếu mạng nghẽn.
Payỉoad protocol-id: giâ trị nguyín 32 bit để chỉ dẫn cho ULP đối tâc biết
loại tải
giao thức đang được truyền. > Set Primarv:
Định dạng: SETPRIMARY (assocỉation ỉd, destination transport ađress [,source
transport ađress] ) -> resuỉt
Bản tin năy được dùng để chọn địa chỉ IP đích vă địa chi IP nguồn cho đường truyền chính của một kết nốị
> Receỉve: đọc bản tin đê nhận.
Định dạng: RECEIVE (association id, buffer ađress, buffer size [,]) -> byte count
[, transport ađress] [,stream idj [,stream seqitence number] [,partiaỉ fỉagj ] [,payỉoad protocoỉ-id]
Lệnh năy yíu cầu SCTP gửi lín cho ULP bản tin đầu tiín trong hăng đợi nhận của
luồng stream id trong kết nối assocỉation id vă đưa văo bộ đệm tại vị trí buffer ađress, số byte tối đa lă buffer sỉzẹ
SCTP trả về số byte đê đọc trong biến byte count. Neu đđy lă toăn bộ bản tin, hoặc
phần cuối của bản tin thì partial/Iag được đặt bằng 0, nếu bản tin chưa đủ thì bit năy
được đặt băng 0, số deỉỉvery mtmber cho biết thứ tự của phần đó đồng thời
stream id
CHƯƠNG IV: GIAO THỨC SIGTRAN____________________________
Neu cho phĩp Heartbeat thì chu kỳ truyền lại sẽ được đặt băng ỉnterval (ms). > Request HeartBeat
Định dạng: REQUESTHEARTBEAT (association id, destination transport ađress)
-> result
SCTp sẽ trả về thông bâo có thănh công hay không. > Get SRTT Report: Lấy thông bâo về SRTT
Định dạng: GETSRTTREPORT (assocỉation id, destinatìon transport
ađress) ->
srtt resùt
Yíu cầu SCTP thông bâo về kết quả đo SRTT trín đường truyền tới địa chỉ đích
destũiation transport ađress của kít nôi associatỉon ỉd.
> Set Failure Threshold:
Định dạng: SETFAILURETHRESHOLD (association id, destỉnation transport
ađress, [ailure threshoỉd) -> resuỉt
Lệnh năy sẽ đặt mức ngưỡng cho Path.Max.Retrans (Ngưỡng tối đa số lần
liín tiếp
truyền lại hoặc gửi Heartbeat không thănh công trín đường truyền) Path.Max.Retrans = faiỉure threshold
> Set Protocol Parameters: Thiết lập câc tham xô giao thức
Định dạng: SETPROTOCOLPARAMETERS (association id, [destination transport
ađress,] protocoỉ parameter ỉỉst) -> resuỉt
Protocol parameter list: Danh sâch câc tham số giao thức gồm tín vă giâ trị mă
ULP muốn thiết lập (Ví dụ: Association.Max.Retrans: ngưởng tối đa số lần liín tiếp
truyền lại hoặc gửi Heartbeat không thănh công trín kết nổi)
CHƯƠNG IV: GIAO THỨC SIGTRAN_______________________________________________________________ _______________________________________________________________
- DATA ARRIVE
- SEND FAILURE
- NETWORK STATUS CHANGE
- COMMUNICATION UP
- COMMUNICATION LOST
- COMMUNICATION ERROR
- RESTART
- SHUTDOVVN COMPLETE
> DATA ARRIVE: Thông bâo cho ULP khi có bản tin User được nhận
thănh
công vă đê sẵn săng chuyển lín.
Câc thông tin kỉm theo được chuyển lín cho ULP bao gồm Association ID vă
Stream ID.
> SEND FAILURE: thông bâo khi một bản tin không thể gửi đị
Câc thông tin kỉm theo gồm associatỉon id, data retrieval id (Số danh định mă
SCTP gân cho dừ liệu không được gửi đi hoặc không được xâc nhận), cause
code (Mê
chỉ thị loại lỗi ví dụ như quâ hạn thời gian sống, kích thước quâ lớn...), context
(giâ trị
năy đê được ULP gân cho bản tin khi gửi yíu cầu Send cho SCTP).
> NETVVORK STATUS CHANGE: thông bâo khi trạng thâi mạng thay
đổi ví
dụ như liín kết bị hỏng hay đê khôi phục lại liín kết.
Nhóm tin bâo
H0/H
1 0001 0010 0011 010001010110011110001001101010111100110111101111
Dư trừ dănh cho sử dung quốc gia vă quốc tế
Dư trữ dănh cho sừ dung quốc gia