LwIP поддерживает Zeroconf?

Я вижу, что lwIP имеет некоторый код AutoIP (он же IPv4LL, он же RFC 3927), но я не могу сказать, что он делает что-то выше в стеке Zeroconf, а именно, mDNS и DNS-SDRFC 2782).

Итак, поддерживает ли lwIP обнаружение службы DNS-SD? Если нет, то будет ли легко переносить код из проекта, подобного Avahi (если это разрешено лицензированием)?

4 ответа

Решение

Нет, lwIP не поддерживает ни одну часть Zeroconf, кроме AutoIP. Я не смотрел на Avahi, но портирование Apples mDNSResponder на lwIP довольно просто. Есть один неприятный момент, когда вам нужно отодвинуть заголовки pbuf, чтобы получить доступ к заголовку IP, чтобы получить IP отправителя (я думаю, что "правильный" метод для этого находится в работе для lwIP, но AFAIK еще не выпущен),

С mDNSResponder вы получаете как рекламу услуг, так и обнаружение.

Я не могу комментировать LWIP-часть вашего вопроса (в последний раз, когда я использовал LWIP, у него даже не было поддержки IPv4LL), но вам может быть интересно узнать, что Apple открыла свой код mDNSResponder, доступный здесь: http://developer.apple.com/networking/bonjour

Интересной особенностью этой реализации является то, что они предоставляют уровень платформы VxWorks, который может лучше подходить для переноса на встроенную цель, чем библиотека Avahi.

На веб-сайте lwIP есть средство отслеживания задач со следующими тремя элементами (похоже, что они были добавлены примерно в 2010 году, примерно в то время, когда этот вопрос первоначально задавался):

Вот очень маленький респондент mDNS, который довольно легко перенести на lwIP:

https://bitbucket.org/geekman/tinysvcmdns

Яблоки mDNSResponder все еще довольно тяжелый для очень маленьких систем (с точки зрения использования ОЗУ), поэтому, если требуется только базовая функциональность, эта может быть предпочтительнее.

Другие вопросы по тегам