Функція розподіленої координації DCF з використанням алгоритму RTS/CTS
У відповідності c алгоритмом RTS/CTS кожен вузол мережі, перед тим як послати дані в «ефір», спочатку відправляє спеціальне коротке повідомлення, що називається RTS (Ready To Send) і означає готовність даного вузла до відправлення даних. Повідомлення RTS містить інформацію про тривалість майбутньої передачі і про адресата і доступно усім вузлам у мережі (якщо тільки вони не сховані від відправника). Це дозволяє іншим вузлам затримати передачу на час, рівний оголошеної тривалості повідомлення. Прийомна станція, одержавши сигнал RTS, відповідає посилкою сигналу CTS (Clear To Send), що свідчить про готовність станції до прийому інформації. Після цього передавальна станція посилає пакет даних, а прийомна станція повинна передати кадр ACK, що підтверджує безпомилковий прийом. Послідовність відправлення кадрів між двома вузлами мережі показана на рис. 5.7.
Рис. 5.7. Взаємодія між двома вузлами мережі відповідно до алгоритму RTS/CTS
Розглянемо ситуацію, коли мережа складається з чотирьох вузлів: A, B, C і D (рис.5.8). Припустимо, що вузол C знаходиться в зоні досяжності тільки вузла A, вузол A знаходиться в зоні досяжності вузлів C і B, вузол B знаходиться в зоні досяжності вузлів A і D, а вузол D знаходиться в зоні досяжності тільки вузла B. Тобто в такій мережі є сховані вузли: вузол C схований від вузлів B і D, вузол A схований від вузла D.
Рис. 5.8. Вирішення проблеми схованих вузлів в алгоритмі RTS/CTS
У подібній мережі алгоритм RTS/CTS дозволяє вирішити проблему виникнення колізій, що не вирішується за допомогою розглянутого базового способу організації колективного доступу в DCF. Дійсно, нехай вузол A намагається передати дані вузлові B. Для цього він посилає сигнал RTS, що, крім вузла B, одержує також вузол C, але не одержує вузол D. Вузол C, одержавши даний сигнал, блокується, тобто припиняє спроби передавати сигнал до моменту закінчення передачі між вузлами A і B. Вузол B, у відповідь на отриманий сигнал RTS, посилає кадр CTS, що одержують вузли A і D. Вузол D, одержавши даний сигнал, також блокується на час передачі між вузлами A і B.
Використання алгоритму RTS/CTS у визначених ситуаціях може приводити до зниження ефективності використання середовища передачі даних. Приміром, у деяких ситуаціях, можливо таке явище, як поширення ефекту помилкових блокувань вузлів, що в кінцевому рахунку може привести до ступору в мережі.
Розглянемо, наприклад, мережу, показану на рис. 5.9. Нехай вузол B намагається передати дані вузлові A, посилаючи йому кадр RTS. Оскільки цей кадр одержує також і вузол C, те він блокується на час передачі між вузлами A і B. Вузол D, намагаючись передати дані вузлові C, посилає кадр RTS, але оскільки вузол C заблокований, то він не одержує відповіді і починає процедуру зворотного відліку зі збільшеним розміром вікна. У той же час кадр RTS, посланий вузлом D, одержує і вузол E, що, помилково припускаючи, що за цим піде сеанс передачі даних від вузла D до вузла С, блокується. Однак це помилкове блокування, оскільки реально між вузлами D і C передачі немає. Більш того, якщо вузол F спробує передати дані помилково заблокованому вузлові E і постеле свій кадр RTS, те він помилково заблокує вузол G.
Описане явище помилкового блокування вузлів може приводити до короткочасного ступору всієї мережі.
Рис. 5.9. Виникнення помилкових блокувань вузлів мережі
Дата добавления: 2015-08-11; просмотров: 794;