earl1 MACA-BI(MACA By Invitation) A Receiver Oriented Access Protocol for Wireless Multihop Network F. Talucci, M. Gerla, and L. Fratta Proceedings of IEEE PIMRC'97 (Personal, Indoor and Mobile Radio Communications-1997) Speaker: Earl Kuo
earl 2 Outline Introduction Related Work MACA illustrated MACA-BI illustrated Collisions in MACA-BI Simulation Conclusion
earl 3 Introduction Tx-Rx turn-around time (the transition time from transmit to receive state)
earl 4 Related Work [8]L.Kleinrock and F.Tobagi. “Packet switching in radio channels : Part 1 carrier sense multiple-access modes and their throughput-delay characteristic.” IEEE Trans Comm COM-23 no 12: ,1975. [7]P. Karn. “MACA a new channel access method for packet radio” In 9th Computer Networking Conference, pages ARRL/CRRL Amateur Radio,1990. solves hidden terminal problem [4]C.L. Fullmer and J. Garcia-Luna-Aceves. “Floor acquisition multiple access (FAMA) for packet-radio networks.” In SIGCOMM’9, pages ACM,August 1995.Cambridge, MA(USA). extend MACA by adding carrier sensing
earl 5 MACA and MACA-BI illustrated
earl 6 MACA and MACA-BI illustrated SenderReceiver RTS CTS Data SenderReceiver RTR Data MACA protocol - three way handshake MACA-BI protocol - two way handshake
earl 7 MACA-BI illustrated
earl 8 MACA-BI illustrated (cont.) MACA-BI: The suppression of CTS packet is the main idea Is two way handshake protocol RTR (Ready to Receive) Indicating the readiness to receive a certain number of packets assume that each data packet carries the information about the backlog in the transmitter (sender) From the backlog notification and from previous history (receiver)
earl 9 MACA-BI illustrated (cont.) SenderReceiver RTR Data MACA-BI protocol - two way handshake Reply with the requested and with the new backlog information Predict which neighbors have (how many) packets to send
earl 10 MACA-BI Specifications
earl 11 MACA-BI Specifications (cont.)
earl 12 MACA-BI Specifications (cont.) Status = remote Call receive
earl 13 RTR data RTR Wait(MAX(Pd+2*Tp,Timer) RTR Wait(Pd+2*Tp) s d o o
earl 14 MACA-BI Specifications (cont.) RTR to others wait sender Data RTR receiver RTR to me overhear node Data
earl 15 Collisions in MACA-BI Data collision The channel is assumed to be noise free and symmetric Node A transmits a data packet to B and simultaneously, node C transmits a data packet to B or to D
earl 16 Collisions in MACA-BI C transmits a data packet to B. This is impossible since node B can invite only one node at a time C transmits a data packet to D. This can happen only if C did not hear the RTR from B to A B transmitted RTR to A while C was transmitting This is impossible since transmission from C would have been heard from B, preventing its RTR transmission to A B transmitted RTR to A while C was receiving an RTR from D This is impossible because the RTR from D would have conflicted (at node C) with RTR from B thus preventing the subsequent data transmission from C to D
earl 17 Simulation single-hop case Data packet length=296 bytes Control packet length=20 bytes Propagation delay=54µs (radius =10 miles) Channel speed=10Mbps
earl 18 Simulation multi-hop case (throughput)
earl 19 Simulation multi-hop case (throughput)
earl 20 Simulation multi-hop case (delay)
earl 21 Simulation multi-hop case (delay)
earl 22 Conclusion A new multiple access protocol for wireless networks called MACA-BI has been presented Turn-around time overhead MACA functionality is preserved in MACA-BI MACA-BI is data collision free in the same sense as MACA MACA-BI is less vulnerable to control packet corruption than MACA
earl 23 Discussion About algorithm
earl 24 Thank you!!
earl 25 Status = remote Call receive
earl 26 MACA protocol The MACA protocol. (a) A sending an RTS to B.(b) B responding with a CTS to A.
earl 27 Source Destination Node in Transmission Range RTS NAV(RTS) NAV(CTS) CTS P T DATA P T Propagation time P T: Propagation time MACA protocol
earl 28 MACA-BI state diagram Passive Send RTR Remote RTR to me transmit(data) Wait (random (Ts)) Send RTR wait(2*Tp)
earl 29 Passive Send RTR Remote Wait (random (Ts)) Send RTR wait(2*Tp) RTR to other wait(Td+2*Tp) wait(Td+2*Tp)
earl 30 Passive Send RTR Remote Wait (random (Ts)) Send RTR wait(2*Tp) RTR to other wait(Td+2*Tp) Data PCK to upper layers
earl 31 Passive Send RTR Remote Wait (random (Ts)) Send RTR wait(2*Tp)
earl 32 Passive Send RTR Remote Wait (random (Ts)) Send RTR wait(2*Tp) RTR to other wait(Td+2*Tp) wait(Td+2*Tp)
earl 33 Passive Send RTR Remote Wait (random (Ts)) Send RTR wait(2*Tp) RTR to other wait(Td+2*Tp) wait(Td+2*Tp)
earl 34 Passive Send RTR Remote Wait (random (Ts)) Send RTR wait(2*Tp) RTR to other wait(Td+2*Tp) wait(Td+2*Tp)
earl 35 Passive Send RTR Remote Wait (random (Ts)) Send RTR wait(2*Tp) RTR to other wait(Td+2*Tp) wait(Td+2*Tp)
earl 36 Passive Send RTRRemote 1.RTR to me transmit data 2.Data PCK to upper layers 3.Error RTR to other wait(Td+2*Tp) 1.Wait (random (Ts)) 2.RTR to others wait(Max(Timer,Td+2*Tp)) 3.Data PCK to upper layers wait(Timer) 4.Default wait(Timer) Send RTR wait(2*Tp)
earl 37 Passive Send RTRRemote 1.RTR to me transmit data 2.Data PCK to upper layers 3.Error RTR to other wait(Td+2*Tp) 1.Wait (random (Ts)) 2.RTR to others wait(Max(Timer,Td+2*Tp)) 3.Data PCK to upper layers wait(Timer) 4.Default wait(Timer) Send RTR wait(2*Tp)
earl 38
earl 39