Как стать автором
Обновить

Комментарии 6

Я правильно понимаю, что порядок следования пакетов становиться важен и если мы получим пакет вне очереди, то не будем знать как распаковать его? И усложняется повторная обработка в случае потери пакета, вероятно она потребует отдельной реализации и не потребует ли она остановки обработки очереди?

Забыл рассказать как раз об обработке потери пакетов, но перенесу это в следующий пост. На самом деле есть 2 варианта, либо сбрасывать референсы раз в определенное количество пакетов, либо прокидывать синхропакеты, я пошел как раз вторым путем. По сути существует функция которая формирует пакет из эталонных заголовков и на другой стороне может его принять и обновить уже свой пул эталонов. Первый ваш вопрос я понял не до конца, возможно в силу недостатка опыта.

да, это нужно учитывать: в общем случае IP пакеты могут приходить не в порядке отправления, и получатель должен уметь их упорядочивать, это как раз то что обычно TCP протокол делает, от которого вы отказались. Причин может быть как минимум две - 1) маршрутов может быть больше чем один, 2) даже один маршрутизатор обычно имеет кэш и может отдавать пакеты не совсем последовательно, насколько помню таких гарантий от него не требуется.

Ваша правда, есть куда дорабатывать)

6LoWPAN хорошо компрессию умеет, посмотрите как у них сделано, может подчерпнёте для себя идейку

Перепишите Yggdrasil на C++ лучше, спасибо.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации