Да тут дело в том, что канальный уровень, реализующий CSMA/CA по типу вайфая, сразу автоматом реализует некоторые функции сетевого (адресация) и транспортного (подтверждение) - без них просто не получается. И поэтому выходит, что верхние уровни для мелкого протокола просто вырождаются.
не надо нам гарантий доставки на канальном уровне. упразднить как класс. пускай канальный занимается только доступом к среде. адресацию можно ВСЮ положить на сетевой а гарантии доставки - на транспортный.
это в маленьком должны выродиться функции канального уровня, так как если этого не произойдет - его нельзя будет применять там, где в канальном не нужно подтверждение доставки.
имхо вся схема должна выглядеть примерно так
Канальный уровень - получение доступа к среде
- обработка коллизий
- управление передатчиком (мощность, частота, калибровка)
- методы кодирования тоже тут
упаковка пакета в преамбулу и отправка. получение, вытаскивание пакета из обертки и наверх.
Сетевой-транспортный - адресация
- контроль доставки (проверка контрольных сумм, номеров пакетов, отправка подтверждений)
- адрессация портов
получает пакет от канального, проверяет контрольную сумму, проверяет адрес (обрабатывает дальше-отбрасывает), складывает в буффер приема, отправляет подтверждение получения (если требуется)
таким образом RRF (RoboRF который) канальный будет работать только с радио, RRF сетевой-транспортный с чем угодно.