MACAW (multiple access with collision avoidance fro Wireless)
2016-10-20 22:53
741 查看
Compared with MACA, the MACAW mainly optimizes the backoff algorithm and designs RTS-CTS-DS-DATA-ACK message exchange.
backoff algorithm
In MACA, the binary exponential backoff (EBE) algorithm is used to schedule the retransmission. However, the EBE cannot allocate bandwidth fairly because each node does its own congestion individually without sharing the information with other nodes. In
MACAW, a package header field of current backoff counter value is added. Once the station hears a package, the current backoff value of this package will be copied into the backoff counter value in the station. Then the station will broadcast its current backoff
counter value to all its neighbor nodes. In this way, after a successful data transmission, all nodes will have the same current backoff counter value. Another problem of EBE is its large variations, which means the value of current backoff count varies greatly.
To solve this problem, a multiplicative increase and linear decrease (MILD) is proposed.
RTS-CTS-DS-DATA-ACK message exchange
ACK
In MACA, the error data package is recovered at the transport layer, which is very slow. An acknowledgment packet ACK is introduced in MACAW to accelerate the recovery by moving it to the link layer.
DS
[figure from https://en.wikipedia.org/wiki/Exposed_node_problem]
In the above example, say S1 sends package RTS to R1 and S2 can overhear the RTS. Then R1 sends a package CTS to S1. However, this CTS cannot be overheard by S2. In other words, S2 are not sure about the whether the RTS-CTS exchange was successful or not.
To overcome this problem, the Data-Sending package (DS) is sent by S1 after receiving the CTS from R1. In this way, S2 will know the RTS-CTS exchange succeeds.
RRTS
[figure from https://en.wikipedia.org/wiki/Exposed_node_problem]
Suppose R1 is transferring data to S1. At the same time, R2 sends RTS to S2. Because S2 are deferred to response CTS in order to avoid the inference with the receiving data of S1. The only chance that R2 can content with R1 to send packages to S2 is between
the completion of current the data transmission and the completion of S1's next CTS. So a RRTS (request-for-request-to-send) package is sent to R2 from S2, when S2 find it cannot reply R2's RTS with a CTS. Once R2 receives the RRTS, it will resend RTS to S2.
Then the normal message exchange is commenced. All stations overhearing the RRTS will keep silent for two time slots for the RTS-CTS successful exchange.
backoff algorithm
In MACA, the binary exponential backoff (EBE) algorithm is used to schedule the retransmission. However, the EBE cannot allocate bandwidth fairly because each node does its own congestion individually without sharing the information with other nodes. In
MACAW, a package header field of current backoff counter value is added. Once the station hears a package, the current backoff value of this package will be copied into the backoff counter value in the station. Then the station will broadcast its current backoff
counter value to all its neighbor nodes. In this way, after a successful data transmission, all nodes will have the same current backoff counter value. Another problem of EBE is its large variations, which means the value of current backoff count varies greatly.
To solve this problem, a multiplicative increase and linear decrease (MILD) is proposed.
RTS-CTS-DS-DATA-ACK message exchange
ACK
In MACA, the error data package is recovered at the transport layer, which is very slow. An acknowledgment packet ACK is introduced in MACAW to accelerate the recovery by moving it to the link layer.
DS
[figure from https://en.wikipedia.org/wiki/Exposed_node_problem]
In the above example, say S1 sends package RTS to R1 and S2 can overhear the RTS. Then R1 sends a package CTS to S1. However, this CTS cannot be overheard by S2. In other words, S2 are not sure about the whether the RTS-CTS exchange was successful or not.
To overcome this problem, the Data-Sending package (DS) is sent by S1 after receiving the CTS from R1. In this way, S2 will know the RTS-CTS exchange succeeds.
RRTS
[figure from https://en.wikipedia.org/wiki/Exposed_node_problem]
Suppose R1 is transferring data to S1. At the same time, R2 sends RTS to S2. Because S2 are deferred to response CTS in order to avoid the inference with the receiving data of S1. The only chance that R2 can content with R1 to send packages to S2 is between
the completion of current the data transmission and the completion of S1's next CTS. So a RRTS (request-for-request-to-send) package is sent to R2 from S2, when S2 find it cannot reply R2's RTS with a CTS. Once R2 receives the RRTS, it will resend RTS to S2.
Then the normal message exchange is commenced. All stations overhearing the RRTS will keep silent for two time slots for the RTS-CTS successful exchange.
相关文章推荐
- MACA (Multiple Access with Collision Avoidance)
- 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.
- Share Precompiled Header with multiple projects
- 知识库--Working with Multiple Actors No Using Thread Pool (139)
- 错误:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple err
- Standford 机器学习—第二讲 Linear Regression with multiple variables(多变量线性回归)
- php cannot be built with multiple SAPI
- Machine Learning - IV. Linear Regression with Multiple Variables多变量线性规划 (Week 2)
- Multiple Render Targets in OpenGL with Cg
- Office and SharePoint 2007 User's Guide: Integrating SharePoint with Excel, Outlook, Access and Word
- There are multiple modules with names that only differ in casing. This can lead to unexpected....
- Replace multiple spaces with one space in Python(替换多个空格为一个空格)
- 基于多源文档片段的神经网络排序模型(Neural Ranking Models with Multiple Document Fields)
- Debugging Programs with Multiple Threads
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
- Error:Execution failed for task ':processDebugManifest'. > Manifest merger failed with multiple erro
- Manifest merger failed with multiple errors, see logs 清单文件报错解决方案
- Cousera-stanford-机器学习练习-第二周-Linear Regression with Multiple Variables
- backup contacts/bookmark/events with multiple users device