CSMA

CSMA (ראשי תיבות באנגלית של: Carrier Sense Multiple Access), הוא אלגוריתם אקראי שנועד להגדיר את אופן הגישה לשכבת הקו. לפני תחילת השידור מוודא האלגוריתם שערוץ התקשורת פנוי ואין תחנה אחרת שכבר משדרת באותו מתחם התנגשות. אם שתי תחנות מתחילות לשדר במקביל, האלגוריתם אינו מזהה כי קרתה התנגשות אלא מסתמך על מנגנוני בקרת השגיאות של שכבת התעבורה כדי לקבל את החבילות שנשלחו.

 סוגי CSMA 
 CSMA/CD 
Carrier Sense Multiple Access with Collision Detection או CSMA/CD הוא הרחבה לאלגוריתם CSMA בעל מנגנון לזיהוי התנגשויות. היישום הנפוץ ביותר של CSMA/CD הוא תקן ה-Ethernet.

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

 CSMA/CA 
Carrier Sense Multiple Access with Collision Avoidance או CSMA/CA הוא הרחבה לפרוטוקול CSMA בעל מנגנון למניעת התנגשויות הפועל ברשתות אלחוטיות (למשל WIFI). 

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

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

כל כותרת של מידע בWIFI מכילה שדה הנקרא (NAV (network allocation vector.
כאשר תחנה משדרת הודעה היא מוסיפה לשדה זה את משך זמן ההודעה. כל תחנה ששומעת את ההודעה מעדכנת אצלה את שדה ה־NAV (במידה ושדה ה NAV שלה מכיל ערך יותר נמוך), ויודעת שאין באפשרותה לשדר עד שיעבור זמן זה.
גם התחנה המקבלת, כאשר היא שולחת הודעות אישור, מוסיפה בכותרתה את שדה ה־NAV המעודכן כך שתחנות שלא קולטות את התחנה השולחת אך קולטות את התחנה המקבלת יוכלו גם הם להתעדכן בשדה זה.

 פרוטוקולים המשתמשים ב-CSMA 
 רשתות Ethernet משתמשות ב-CSMA/CD
 רשתות IEEE 802.11 משתמשות ב-CSMA/CA
 רשתות LocalTalk (מבית אפל) משתמשות ב-CSMA/CA

 לקריאה נוספת 
Andrew S. Tanenbaum, Computer Networks, fourth edition, pages 255-258,296-297.

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

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