networking - Why wait DIFS in order to sense if the channel is idle -
station waits in order sense if channel idle difs , starts transmission. question why wait difs , not sifs only. problems, issues may cause (sense sifs instead of difs)?
short answer: sifs
not long enough detect if channel indeed idle. implication of waiting sifs
instead of difs
mac protocol shall no longer able detect busy channel, collisions may happen time, , poor channel efficiency.
long answer:
- what
sifs
? standard defines sifs (short inter-frame space) used separatedata
,ack
frames. station (sta) receivingdata
waitsifs
before sendingack
. should short possible, enough decode frame, mac processing, , preparation time sendack
. 802.11n/ac,sifs
= 16 microseconds. - what
difs
?difs
=sifs + 2*slot_time
. similarsifs
,slot_time
phy-dependent. 802.11n/ac,slot_time
= 9 microseconds.slot_time
defined long enough account for, among others, propogation delays, enable neighbouring stas detect transmitting sta's preamble.
having said that, if sta waits sifs
before transmitting, there no way can detect possible ack
frame being sent neighbouring sta @ exact same time - leads collisions , poor channel efficiency.
others:
- if 1
slot_time
long enough detect transmitting sta's preamble, why not waitsifs + slot_time
? can be,pifs
used ap (to have higher access priority normal stas). - why wait at least
difs
before sending ? givendifs
enough determine whether channel busy or not, why not waitdifs
? that's because there can multiple stas possibly sending channel @ same time. if every sta waitsdifs
send - that's collision. that's why standard mandates if sta sending channel idledifs
, can transmit immediately. but if sta sending channel busy, must waitdifs
plus random backoff time avoid collisions. random backoff time ?? time google on 802.11 csmd/ca then.. - for reference, there a similar q deals
sifs
, touched bit on other channel access timing.
Comments
Post a Comment