SCTP - Stream Control Transmission Protocol
פרוטוקול זה עוצב להעביר הודעות אותות PSTN מעל רשתות IP, אך יכול לפעול גם ב יישומים רחבים יותר.
SCTP הוא פרוטוקול העברת מנדע ברמת היישום הפועל על ראש שירות מנדע לא מהימן כמו UDP.
הפרוטוקול מציע את השירותים הבאים:
· העברה מקובלת נטולת שגיאה ולא כפולה של נתוני משתמש.
· התפלגות ברמת יישום להתאמה לגילוי גודל MTU.
· משלוח סדרתי של מנדעי משתמש דרך זרימה כפולה, עם אפשרות משלוח הזמנת-הגעה של
מנדעים יחידניים.
· ריבוב מנדעי משתמש למנדעי SCTP, נושא להגבלות גודל MTU.
· מהימנות מוגדלת באמצעות תמיכה ב- multi-homing באחד או בשני קצוות ההתחברות.
עיצוב ה- SCTP מכיל התנהגות נאותה של התעלמות מצפיפות והתנגדות להצפה ותקיפות התחזות.
מנדע ה- SCTP כולל כותרת נפוצה וגושים.
הגושים מכילים מידע בקרה או נתוני משתמש.
תבנית כותרת ה- SCTP היא כדלקמן:
בתים 2 |
בתים 2 |
מספר פתחת מקור |
מספר פתחת יעד |
תג אימות | |
Adler 32 בודק סוכם |
מספר פתחת מקור
זהו מספר הפתחה של שולח ה- SCTP.
הוא יכול לשמש את המקבל, בשילוב עם כתובת ה- IP של המקור, לזהות את ההתחברות אליה שייך המנדע.
מספר פתחת יעד
זהו מספר פתחת ה- SCTP אליה המנדע הזה מיועד.
המארח המקבל ישתמש במספר פתחה זה על מנת לבטל את הריבוב של מנדע ה- SCTP ליישום/נקודת קצה המתקבלת התקינה.
תג אימות
המקבל של המנדע בן 32 הביטים משתמש בתג האימות על מנת לזהות את ההתחברות.
בשידור, ערך תג האימות חייב להיות כמו ערך תג האתחול שהתקבל מנקודת הקצה של העמית במהלך אתחול ההתחברות.
עבור מנדעים הנושאים את גוש ה- INIT, המשדר שם בתג האימות אפסים.
אם המקבל מקבל מנדע שבו שדה תג אימות שכולו אפסים, הוא מחפש את מזהה הגוש מיד לאחר הכותרת הנפוצה.
אם סוג הגוש הוא לא INIT או SHUTDOWN ACK , אז המקבל מפיל את המנדע.
עבור מנדעים הנושאים גוש SHUTDOWN-ACK המשדר מכוון את תג האימות לתג האתחול המתקבל מנקודת הקצה של העמית במהלך אתחול ההתחברות, אם ידועה.
אחרת, תג האימות הוא כולו אפסים.
בודק סוכם Adler 32
שדה זה מכיל בודק סוכם Adler 32 על מנדע ה- SCTP הזה.
תאורי שדה הגוש
תבנית שדה הגושים המשודרים במנדע ה- SCTP מוצגת כדלקמן.
לכל גוש יש שדה מזהה גוש, שדה דגל מסוים של הגוש, שדה אורך ושדה ערך.
בית 1 |
בית 1 |
בתים 2 |
מזהה גוש |
דגלי גוש |
אורך גוש |
ערך גוש (משתנה) |
מזהה גוש
סוג המידע המוכל בשדה ערך הגוש.
הערכים מוגדרים כדלקמן:
סוג |
מזהה ערך הגוש |
נתוני payload (DATA) |
00000000 |
אתחול (INIT) |
00000001 |
אישור קבלת אתחול (INIT ACK) |
00000010 |
אישור קבלה סלקטיבי (SACK) |
00000011 |
בקשת דופק (HEARTBEAT) |
00000100 |
אישור קבלת דופק (HEARTBEAT ACK) |
00000101 |
כשלון (ABORT) |
00000110 |
כיבוי (SHUTDOWN) |
00000111 |
אישור קבלת כיבוי (SHUTDOWN ACK) |
00001000 |
פעולת שגיאה (ERROR) |
00001001 |
מצב עוגית (COOKIE) |
00001010 |
אישור קבלת עוגית (COOKIE ACK) |
00001011 |
שמורים עבור הד של הודעת צפיפות ברורה (ECNE) |
00001100 |
שמורים עבור צמצום צפיפות חלון (CWR) |
00001101 |
שמורים עבור IETF |
11111101 - 00001110 |
הרחבות גוש מסוים – Vendor |
11111110 |
הרחבות גוש מסוים - IETF |
11111111 |
דגלי גוש
סוג דגל גוש כמוגדר במזהה הגוש, מגדיר באם הביטים הללו יהיו בשימוש.
ערכם הוא 0 אלא אם צוין אחרת.
אורך גוש
גודל הגוש באוקטטים, כולל מזהה הגוש, דגלים, אורך ושדות ערך.
ערך גוש
שדה זה מכיל את המידע הממשי שיועבר בגוש.
הדבר תלוי במזהה הגוש.
סוגי גוש
אתחול (INIT) – גוש זה נועד לאתחול התחברות SCTP בין 2 נקודות קצה.
גוש ה- INIT מכיל את הפרמטרים הבאים כל פרמטר מוכל רק פעם אחת בגוש ה- INIT, אלא אם צוין אחרת).