Механизм RTS/CTS в протоколе 802.11: Принцип работы и проблемы
IEEE 802.11 RTS/CTS
RTS/CTS в 802.11: механизм снижения коллизий в беспроводных сетях. Решает проблему скрытых узлов, но не решает проблему "открытого" узла. Подробности здесь!
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
RTS/CTS (request to send / clear to send) — это необязательный механизм, используемый беспроводным сетевым протоколом 802.11 для снижения вероятности коллизий кадров, возникающих из-за проблемы скрытых узлов. Изначально протокол также решал проблему с открытыми узлами, но современный RTS/CTS включает подтверждения (ACK) и не устраняет проблему с открытыми узлами.
RTS/CTS (request to send / clear to send) is the optional mechanism used by the 802.11 wireless networking protocol to reduce frame collisions introduced by the hidden node problem. Originally the protocol fixed the exposed node problem as well, but modern RTS/CTS includes ACKs and does not solve the exposed node problem.
Формат рамы
Заголовки RTS, CTS и ACK содержат поле управления кадром (два байта флагов метаданных), поле длительности, поле для MAC-адреса получателя и контрольную последовательность кадров. Кроме того, RTS-кадр содержит MAC-адрес передатчика. Этот протокол был разработан, исходя из предположения, что все узлы имеют одинаковый радиус действия, и не решает проблему скрытого терминала. RTS/CTS-кадры могут вызывать новую проблему, называемую проблемой "открытого терминала", при которой беспроводной узел, находящийся поблизости, но подключенный к другой точке доступа, перехватывает обмен данными и получает сигнал об отказе и прекращении передачи на время, указанное в RTS. RTS/CTS – это дополнительный метод реализации виртуального контроля занятости среды в протоколе множественного доступа с предотвращением коллизий (CSMA/CA). По умолчанию 802.11 полагается только на физический контроль занятости среды, который, как известно, подвержен проблеме скрытого узла. Пороговое значение размера пакета для RTS/CTS составляет от 0 до 2347 октетов. Обычно отправка RTS/CTS-кадров не происходит, если размер пакета не превышает этот порог. Если размер пакета, который узел хочет передать, больше порога, запускается обмен RTS/CTS. В противном случае кадр данных отправляется немедленно. Механизм IEEE 802.11 RTS/CTS может помочь решить проблему "открытого узла", но только если узлы синхронизированы, а размеры пакетов и скорости передачи данных одинаковы для обоих передающих узлов. Когда узел слышит RTS от соседнего узла, но не соответствующий CTS, он может сделать вывод, что является "открытым узлом" и ему разрешено передавать другим соседним узлам. Если узлы не синхронизированы (или если размеры пакетов различны или скорости передачи данных отличаются), может возникнуть проблема, когда "открытый узел" не услышит CTS или ACK во время передачи данных его соседом.
The RTS, CTS and ACK frame headers all contain a frame control field (two bytes of metadata flags), duration field, a field for the receiver MAC address, and a frame check sequence. Additionally, an RTS frame contains the transmitter's MAC address. This protocol was designed under the assumption that all nodes have the same transmission ranges, and does not solve the hidden terminal problem. The RTS/CTS frames can cause a new problem called the exposed terminal problem in which a wireless node that is nearby, but is associated with another access point, overhears the exchange and then is signaled to back off and cease transmitting for the time specified in the RTS. RTS/CTS is an additional method to implement virtual carrier sensing in carrier sense multiple access with collision avoidance (CSMA/CA). By default, 802.11 relies on physical carrier sensing only, which is known to suffer from the hidden node problem. The RTS/CTS packet size threshold is 0–2347 octets. Typically, sending RTS/CTS frames does not occur unless the packet size exceeds this threshold. If the packet size that the node wants to transmit is larger than the threshold, the RTS/CTS handshake gets triggered. Otherwise, the data frame gets sent immediately. IEEE 802.11 RTS/CTS mechanism could help solve exposed node problem as well, only if the nodes are synchronized and packet sizes and data rates are the same for both the transmitting nodes. When a node hears an RTS from a neighboring node, but not the corresponding CTS, that node can deduce that it is an exposed node and is permitted to transmit to other neighboring nodes. If the nodes are not synchronized (or if the packet sizes are different or the data rates are different) the problem may occur that the exposed node will not hear the CTS or the ACK during the transmission of data of its neighbor.