?? rts-cts-data-ackdescription
字號:
RTS-CTS-DATA-ACK----------------In a Wireless network topolgy, when not all nodes are within each other'srange, carrier sense only provides information about collisions at thesender, not at the receiver. This leads to problems like "hidden terminal"(where two sender nodes out of range of each other transmit packets at thesame time, to the same receiver, resulting in collisions at thereceiver).To solve such problems, control packets (RTS & CTS) are used, as analternative to the carrier sense protocol. When a node wants to transmitpackets, it first sends a RTS (Request To Send) packet to the reciever.All nodes within the sender's range receive this RTS packet. Every nodehearing the RTS packet will defer transmission. If receiver is notreceiving data from any other node, it responds with a CTS (Clear To Send)packet. This packet is again received by every node within receiver'srange. So all nodes in the range defer transmission . Sender node sendsthe data packet after receiving CTS. If sender node does not hear the CTS,it will time-out and schedule retransmission of RTS. On receiving the datapacket, reciever sends an ACK to the sender. Link layer ACKs are used tofacilitate recovery from collision faster. RTS and CTS packets are veryshort, hence their collision is very less likely.If RTS packets from 2sender nodes collide at the receiver, sender nodes will not receive a CTSpacket and the nodes, as a result will back off for certain duration,resulting in collision detection.This protocol solves the hidden terminal problem, even though two sendernodes may be out of range of each other, but they both are in the range ofthe receiver they want to send the data packets to. Hence, when receiverresponds to one node with a CTS packet, it will be heard by the othersender node too and it will defer transmission.In our animation, we have 3 nodes 0, 1, 2.We see how the nodes behave in the following 3 cases :Case 1:-------Both sender nodes, nodes 0 and 2 are in range of each other, but node 1is out of range of node 2.When node 2 wants to send data to node 0 and node 0 wants to send data to node 1. In this case, both nodes 0 and 2 do carrier sense. Node 0 then sendsRTS packet to nodea 1 and 2. Node 2 backs off after hearing thisRTS packet. Node 1 sends a CTS to Node 0 and Node 0 performs itsdata transmission, at the end of which, node 2 again does a carriersense and performs its data transmission, finding the medium free. Case 2:-------Both sender nodes 0 and 2 are in range of each other and in range of node 1.So, they can all hear each other's RTS and CTS packets.In this case, when node 2 wants to send data to node 1 at the same time thatnode 0 wants to send data to node 1, node 2 hears the RTS from node 0 and backs off,thus deferring its transmission till node 0 finishes its transmissionand hence avoiding collision at the receiver.Case 3:-------Both sender nodes 0 and 2 are out of range of each other but are in rangeof node 1, the receiver.In this case, nodes are not able to hear each other's RTS packets, butare able to hear CTS packet from th receiver and hence back off, deferringtransmission till the other node finishes transmission.So, we see in all 3 cases, one node backsoff, thus avoiding collisions at thereceiver and hence solving the hidden terminal problem.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -