MACA (Multiple Access with Collision Avoidance)
2016-10-20 09:19
405 查看
MACA (Multiple access with collision avoidance) is a slotted media access control protocol with collision avoidance for WLAN data transmission. The basic idea of MACA is that a node makes an announcement before initializing its transmission to inform other
nodes to keep silent.
For example, node A attempts to send a data frame to node B. A first sends a Request-to-Send (RTS) package to B. If B receives the RTS package and B is available, then B replies a Clear-to-Send package (CTS) to node A immediately. Both of RTS and CTS contain
the length of the proposed data transmission. Once receiving this CTS, node A sends the data frame to node B immediately.
Any nodes overhearing the RTS defers all transmissions until some time after the associated CTS packet would have finished.
Any nodes overhearing the CTS defers all transmissions until some time after the expected data transmission has finished.
For exposed terminal:
[figure from https://en.wikipedia.org/wiki/Exposed_node_problem]
Node S1 attempts to send packages to R1. Before transmitting, S1 broadcast its RTS to its neighbors node R1 and S2. So node S2 overhears the RTS from S1, S2 will keep silent until the CTS from R1 is received by node S1. But node S2 is out of range of the CTS
from node R1, so node S2 can still transmit data to other nodes when S1 is sending data frame to R1.
For hidden terminal:
[figure from https://en.wikipedia.org/wiki/Hidden_node_problem]
Suppose node A attempts to send packages to B. Before initializing this transmission, A broadcasts RTS to its neighbors. Because node C is out of range of this RTS, there is no effects on node C by now. Once receiving the RTS from A, B broadcasts its CTS
to its neighbors. Node C will hear this CTS and defer its transmission, which will eliminate the possible inference to the transmission from node A to B.
nodes to keep silent.
For example, node A attempts to send a data frame to node B. A first sends a Request-to-Send (RTS) package to B. If B receives the RTS package and B is available, then B replies a Clear-to-Send package (CTS) to node A immediately. Both of RTS and CTS contain
the length of the proposed data transmission. Once receiving this CTS, node A sends the data frame to node B immediately.
Any nodes overhearing the RTS defers all transmissions until some time after the associated CTS packet would have finished.
Any nodes overhearing the CTS defers all transmissions until some time after the expected data transmission has finished.
For exposed terminal:
[figure from https://en.wikipedia.org/wiki/Exposed_node_problem]
Node S1 attempts to send packages to R1. Before transmitting, S1 broadcast its RTS to its neighbors node R1 and S2. So node S2 overhears the RTS from S1, S2 will keep silent until the CTS from R1 is received by node S1. But node S2 is out of range of the CTS
from node R1, so node S2 can still transmit data to other nodes when S1 is sending data frame to R1.
For hidden terminal:
[figure from https://en.wikipedia.org/wiki/Hidden_node_problem]
Suppose node A attempts to send packages to B. Before initializing this transmission, A broadcasts RTS to its neighbors. Because node C is out of range of this RTS, there is no effects on node C by now. Once receiving the RTS from A, B broadcasts its CTS
to its neighbors. Node C will hear this CTS and defer its transmission, which will eliminate the possible inference to the transmission from node A to B.
相关文章推荐
- MACAW (multiple access with collision avoidance fro Wireless)
- CSMA/CD carrier sense multiple access with collision detection
- Building Applications with Force.com and VisualForce(Dev401)( 八):Designing Applications for Multiple Users: Controling Access to Records.
- How to sort an array of hashes into hashes with multiple values for a key?
- Using-jqGrid-s-search-toolbar-with-multiple-filter
- STM32F2x Is it possible to request multiple DMA streams with single request
- How to Do Everything with Microsoft Office Access 2003
- [原创]让我们一起CCNA吧系列文章十:Managing Traffic with Access Lists
- Multiple dex files define与app:transformClassesWithDexForDebug
- 3. Linear Regression with Multiple Variables
- ABAddressBookRequestAccessWithCompletion线程安全
- How to access local directory with script executed in oozie?
- 《2013-Finding Locally Optimal, Collision-Free Trajectories with Sequential Convex Optimization》
- publishing failed with multiple errors eclipse
- 机器学习测试Week2_1Linear Regression with Multiple Variables
- android studio 2.2 错误查找 Manifest merger failed with multiple errors, see logs
- [Angular 2] Pipes with Multiple Parameters
- android studio编译不过,出现Manifest merger failed with multiple errors, see logs
- Parallel Access with ORACLE_LOADER【每日一译】--20121226
- user master page with asp:FormParameter , save only blank data to Database MSAccess