Asynchronous Transfer Mode

ATM (ראשי תיבות: Asynchronous Transfer Mode) הוא תקן תקשורת של CCITT (ארגון לטלגרפיה וטלפוניה בינלאומי). ATM הוא הבסיס לרשתות BISDN שהן הדור החדש של ISDN. אחד השימושים הנפוצים ל-ATM הוא לריבוב שירותי DSL, כלומר כתשתית לחיבור צרכני קצה רבים לרשת האינטרנט.

פרוטוקול ATM מוגדר בשכבת הקו של מודל ה-OSI. הוא מיועד להעביר מידע מסוגים שונים (למשל קול, וידאו ונתונים) על גבי תשתית פיזית יחידה, במקום לפלג אותו למספר רשתות שונות. 

ב-ATM מחולק המידע לתאים קטנים בגודל קבוע, וזאת בניגוד למנות בגודל משתנה, כמו ב-Ethernet, למשל. בכל תא 48 בתי מידע (Payload), שמתווספים להם 5 בתי פתיח (Header). לכן תקורת הפרוטוקול היא 5/53 ובקירוב 9.5%. חמשת בתי הפתיח מכילים את מאפייני התעבורה של תא ותיקון שגיאות לבתי פתיח.

כל אחת מהתחנות השונות ברשת ATM נקראת מתג. לכל שירות ברשת מגדירים מסלול תעבורה מקצה לקצה. כלומר, אם מידע מסוים ממתג A צריך להגיע למתג D, והוא עובר בדרכו את מתגים B ו-C, תוכנת הניהול של הרשת צריכה לקבוע הגדרות מתאימות בכל המתגים שהמידע עובר דרכם, כדי שיוכל להגיע ליעדו. חלק מההגדרות לכל מתג הן איכות השירות, או העדיפות שמוקצה לכל תא שמגיע, בכל כניסה במתג. 

== מבנה תא ATM ==
ב-ATM מוגדרים שני סוגי תאים, UNI (User-Network Interface) ו-NNI (Network-Network Interface). מבנה התאים שונה רק במקצת, במבנה הפנימי של ה-Overhead:
{| width="90%"
| תרשים של תא UNI - ATM

{| style="text-align: left;" border="1" cellpadding="2" cellspacing="0"
|-----
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | 7
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />

| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />

| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | 4<br />

| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | 3<br />

| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />

| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />

| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | 0<br />
|-----
| colspan="4" rowspan="1" style="background-color: rgb(102, 255, 255); vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | GFC
| colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 204, 255);" | VPI<br />
|-----
| colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 204, 255);" | VPI<br />

| colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 255, 153);" | VCI<br />
|-----
| colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 255, 153);" | VCI<br />
|-----
| colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 255, 153);" | VCI
| colspan="3" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 255, 204);" | PT
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 204, 204);" | CLP<br />
|-----
| colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(153, 255, 153);" | HEC
|-----
| colspan="8" rowspan="1" style="background-color: rgb(204, 204, 204); vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />
<br />
<br />
<br />
(Payload (48 bytes<br />
<br />
<br />
<br />
|}

| תרשים של תא NNI - ATM

{| style="text-align: left;" border="1" cellpadding="2" cellspacing="0"
|-----
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | 7
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | 4<br />
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | 3<br />
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | 0<br />
|-----
| colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 204, 255);" | VPI<br />
|-----
| colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 204, 255);" | VPI<br />

| colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 255, 153);" | VCI<br />
|-----
| colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 255, 153);" | VCI<br />
|-----
| colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 255, 153);" | VCI
| colspan="3" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 255, 204);" | PT
| style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(255, 204, 204);" | CLP<br />
|-----
| colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 12%; background-color: rgb(153, 255, 153);" | HEC
|-----
| colspan="8" rowspan="1" style="background-color: rgb(204, 204, 204); vertical-align: top; text-align: center; white-space: nowrap; width: 12%;" | <br />
<br />
<br />
<br />
(Payload (48 bytes<br />
<br />
<br />
<br />
|}
|}

*GFC - ראשי תיבות של Generic Flow Control. ארבע סיביות. ברירת מחדל: ארבעה אפסים.
*VPI - ראשי תיבות של Virtual Path Identifier. שמונה סיביות ב-UNI, 12 ב-NNI.
*VCI - ראשי תיבות של Virtual Circuit Identifier. 16 סיביות.
* PT - ראשי תיבות של Payload Type. שלוש סיביות.
* CLP - ראשי תיבות של Cell Loss Priority. סיבית אחת.
* HEC - ראשי תיבות של Header Error Correction. קוד תיקון שגיאות בן שמונה סיביות. מבוסס על הפולינום X<sup>8</sup> + X<sup>2</sup> + X + 1).

== איכויות שירות ==
מתגי ATM מטפלים בתאי המידע לפי איכות השירות המוגדרת למעגל מידע מסוים. השימוש בהגדרות איכות שונות מאפשר לרשת ATM לטפל במידע רב יותר מאשר רשת SDH שפועלת בקצב זהה, בגלל ההנחה שלא בכל זמן נתון יש להעביר מידע בכל המעגלים ברשת. כלומר, בהסתמך על הנחות סטטיסטיות מסוימות, ניתן להגדיל את כמות המידע המועברת בממוצע, במידה שניתן לסבול פגיעה בחלק מהמידע במקרים נדירים שבהם הרשת עמוסה מאוד.

נוח להשתמש באיכויות שירות שונות מכיוון שלסוגי מידע שונים יש דרישות שונות מאוד. כך לדוגמה, בהעברת קול אפשר לסבול רק השהיה קצרה, אחרת נפגמת איכות השיחה. לעומת זאת, נתונים כמו מסרונים או צפייה בדפי אינטרנט יכולים לסבול השהיות ללא קושי.

האיכויות השונות ברשת ATM הן לפי הרשימה הבאה:
* (CBR (Constant bit rate - קצב סיביות קבוע: המתג מקצה למידע קצב קבוע ושומר אותו עבורו גם אם לא קיים מספיק מידע להשתמש בכל רוחב הסרט שהוקצה.

* (VBR (Variable bit rate - קצב סיביות משתנה: הפרוטוקול מקצה קצב סיביות ממוצע מסוים, שניתן לעבור אותו רק לזמן מוגדר ובמידה מוגבלת.

* (ABR (Available bit rate - קצב סיביות זמין: הפרוטוקול מקצה למידע את הקצב הזמין שנשאר ועדיין מתחייב לקצב ממוצע מינימלי.

* (UBR (Unspecified bit rate - קצב סיביות לא מוגדר: הפרוטוקול מקצה למידע את הקצב הזמין ללא התחייבות.

קביעת האיכויות השונות מתבצעת ברכיב הנקרא convergence sublayer (ר"ת CS) שמקבל את המידע משכבות עליונות ולספק את רמת השירות המתאימה. לאחר מכן ה-PDU (חבילת המידע) מתחלקת לתאים (cell) של ATM, החלוקה מתבצעת ברכיב הנקרא segmentation and reasembly (ר"ת SAR) בשכבה היותר תחתונה שהיא שכבת ה ATM מוספים האוקטטים של ה header וכך מתקבלים 53 octets של ה cell של ה ATM. שני הרכיבים לעיל מרכיבים את השכבה שנקראת AAL כלומר ATM adaptation layer ובעיקרון ישנם 4 סוגים של AAL שתומכים בסוגים השונים של איכויות השירות שנזכרו למעלה:
* AAL 1 נועד על מנת לשלוח מידע הדורש זמן אמת כגון קול, וקובצי מידע לא דחוסים, כאמור הוא תומך ב CBR.
* AAL 2 הוא כמו AAL 1 רק יותר משופר, משתמשים בו בעיקר ל־packets קטנים או לגודל משתנה, אך הוא תומך גם ב CBR.
* AAL 3/4 נועד למידע דחוס כגון וידאו, סוג שירות זה הוא מורכב מאוד ומשתמשים בו כאשר יש צורך גדול.
* AAL 5, סוג זה נועד לספק VBR ומשתמשים בו כדי לספק datagram traffic, ברמת העיקרון אפשר לספק זאת גם ב־AAL 3/4 אך כפי שאמרנו קודם, שירות זה מורכב מאוד ונשתמש בו לעיתים רחוקות.

==קישורים חיצוניים==

קטגוריה:תקנים בתקשורת מחשבים