И CSMA/CD - не единственное решение, и, вообще говоря, не самое лучшее.
на проводах уже давно не актуально. по проводам full duplex и никаких проблем с разделяемой средой передачи.
А есть и более правильные системы арбитража, как, например, в token ring, коллизии не могут произойти просто по определению =)
в радио тоже есть такое, только вот сложнее оно гораздо выходит. кто-то должен следить за порядком, должен собственно рулить. а это уже много сложнее.
А для нас все эти проблемы типа скрытого узла и т.п. - фигня и мелочи жизни. Потому что пропускная способность выше определенной нам не нужна.
но и НИЖЕ определенной тоже плохо. а на радио гарантировать скорость нельзя в условиях систем не маркерного доступа.
А еще, основательный вопрос, нужен ли нам multicast и прочее.
это уже к протоколам более высоких уровней. в данный момент даже канального уровня нет.
Например, изначально мы общаемся в общем эфире, как только два устройства решают, что им надо установить соединение, они берут, и уходят на другую частоту.
да, вполне решение. только надо сначала определить что частота свободна, этих частот должно хватать на всех (а если не хватает - что будем делать? курить?) да и коллизии все равно не исключены и доставят не мало хлопот.
Если есть - ждем рандомный промежуток времени, проверяем еще раз.
это все понятно. скорость только поделится на всех. даже еще хуже будет, так как модули работающие на скоростях ниже - будут тормозить работу тех кто может работать быстрее.
А еще в пакет запихнем CRC вконец.. байта на 2-4, и подтверждение получения будет включать непосредственно и проверку корректности получения, и сразу появица авто-повторы..
авто-повторы будут автоматом засорять и без того тесный эфир. чтобы уменьшить число ошибок - надо мерять rssi, выбирать правильно скорость (та еще проблема...) и делать это постоянно.
Правда, все это будет тормозить основательно, но на общем канале не нужна будет производительность, для этого будут частные.
самое главное что все это в итоге вытекает в огромный такой пирог из 2-х протоколов, которые будут работать на неизвестно какой скорости.
а ссылки то что.. гугль..
в гугль посылать все горазды.
Добавлено спустя 3 минуты 9 секунд:Я не понимаю, зачем нам разбираться с коллизиями? Разве нет нормальных чипов которые этим занимаются сами? Если есть надо их и использовать.
если мы не привязаны к железу - тогда да. а если принципиально работаем только с СС2500, то тут уж больно не разгуляешься.
Вот только запайка CC2500 на плату это всё портит - менять канал надо будет и платы менять тогда
или на плате будет простаивать модуль.
согласен. если привязывать пользователя к железке, еще и не откатанной, еще и не надежной и не универсальной - это навязывание непонятно чего.
Как вариант - можно сделать на CC2500 недорогой канал, но не сильно надежный - для большинства домашних испытаний и т.п. хватит.
вполне реально. главное точно описать все ограничения, чтобы потом небыло непоняток и проблем.