Den logaritmiska backoff-algoritmen i MAC-lagret, främst som används i CSMA/CA (Carrier Sense Multiple Access med kollision av undvikande) protokoll som Wi-Fi (802.11), syftar till att lösa kollisioner genom att införa en randomiserad fördröjning innan man skickar in en ram. Det är "logaritmiskt" eftersom utbudet av möjliga förseningar ökar exponentiellt med varje successiv kollision. Så här implementeras det:
1. Kollisionsdetektering:
* Den sändande noden lyssnar på en kollision efter att ha skickat en ram. Om den upptäcker en kollision (t.ex. genom att avkänna en annan signal på kanalen under överföringen), vet den att överföringen misslyckades.
2. Backoff Counter Initialisering:
* En backoff -räknare initialiseras. Det initiala värdet är vanligtvis "cwmin" (minimum för fönster), ett fast värde definierat av standarden (t.ex. 31 i några 802.11 -konfigurationer). Denna räknare representerar antalet tidsluckor som noden måste vänta innan man försöker vidarebefordra. En tidslucka är ett kort, fördefinierat intervall.
3. Slumpmässig backoff:
* Ett slumpmässigt antal genereras enhetligt mellan 0 och det aktuella värdet på backoff -räknaren (`CW '). Detta slumpmässiga nummer bestämmer den specifika förseningen före vidarebefordran. Denna slumpmässighet hjälper till att undvika ihållande kollisioner som kan uppstå om alla noder skickas om exakt samtidigt.
4. Backoff -räknare:
* Noden väntar på det slumpmässiga antalet tidsluckor. Under denna väntetid fortsätter noden att känna kanalen. Om kanalen är klar, minskar den backoff -räknaren i varje tidslucka tills den når noll.
5. Överföring:
* När backoff -räknaren når noll försöker noden att skicka om ramen.
6. Kollisionsupplösning:
* Om en annan kollision inträffar fördubblas tvistfönstret (`cw ') (eller ökas enligt en specifik algoritm inom standarden), upp till ett maximivärde (` cwmax'). Detta säkerställer att noderna sprider ut sina vidarebefordrade försök under ett större tidsintervall, vilket minskar sannolikheten för ytterligare kollisioner.
7. Exponentiell backoff:
* Den logaritmiska naturen uppstår från den exponentiella ökningen av stridsfönstret. Varje kollision ökar avsevärt utbudet av möjliga förseningar, vilket leder till en snabb minskning av kollisionssannolikheten. Om ett maximalt antal vidarebefordrade försök uppnås utan framgång kastas ramen.
8. Exempel:
Låt oss säga `cwmin` är 31 och` cwmax 'är 1023.
* 1:a kollision: `CW` =31. Slumpmässig fördröjning:0-31 tidsluckor.
* 2:a kollision: `CW` =63 (fördubblats). Slumpmässig fördröjning:0-63 tidsluckor.
* 3:e kollision: `CW` =127. Slumpmässig fördröjning:0-127 tidsluckor.
* ... och så vidare tills `cw 'når' cwmax 'eller ramen överförs framgångsrikt.
Implementeringsdetaljer (802.11 Exempel):
Den exakta implementeringen varierar något beroende på den specifika 802.11 -standarden (t.ex. 802.11a, 802.11b, 802.11g, 802.11n, 802.11ax). Detaljerna skulle vara inbäddade i firmware eller drivrutin för det trådlösa nätverksgränssnittskortet (NIC). Dessa detaljer inkluderar:
* Specifika värden på `cwmin` och` cwmax`.
* Den exakta algoritmen för fördubbling eller ökning av stridsfönstret.
* Mekanismer för hantering av olika typer av fel och kanalförhållanden.
I huvudsak är den logaritmiska backoff -algoritmen en viktig komponent för att göra CSMA/CA effektiv för att hantera samtidig åtkomst till ett delat trådlöst medium, undvika katastrofala kollisioner och möjliggöra effektiv kommunikation.