Форум русской поддержки ОС Fedora linux
1) По умолчанию в дистре (когда настраиваешь правила фаервола) определяется и правило для мультикаст-DNS (См. в /etc/sysconfig/iptables)
В цепочке правило оформлено так:
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
Обращаем внимание на фигурирующие в этом правиле протокол (UDP), IP-адрес и рассуждаем дальше.
3) При передаче по протоколу UDP (User Datagram Protocol) пакеты передаются БЕЗ ПРОВЕРКИ на правильность, что позволяет повысить скорость.
Формат дейтаграммы включает:
-поле, содержащее порт отправителя (16 бит)
-поле, содержащее порт получателя (16 бит)
-поле содержащие информацию о длине дейтаграммы (в октетах)
-собственно данные
-конотрльную сумму
Так вот, "БЕЗ ПРОВЕРКИ" — это значит, что считываются адреса источника и приемника, а контрольная суммаа НЕ проверяется. То есть длина дейтаграммы, указанная в соответсвующем поле, может не соответствовать ее реальной длине.
Если она не соответствует в меньшую сторону — это ошибка, связанная с потерей данных при передаче по физической среде. А если в большую? Значит в пакете может быть отправлено на самом деле больше информации, чем объявлено в заголовке?
4) Обратимся к адресу.
Согласно RFC-3171 диапазон адресов 224.0.0.Х зарезервирован для mDNS
5) Согласно "азам":
"Multicast DNS is a way of using familiar DNS programming interfaces, packet formats and operating semantics, in a small network where no conventional DNS server has been installed."
(т.е. используется этот механизм для ТОЛЬКО для локальных нужд малых сетей, не имеющих собственных DNS-серверов)
(http://www.multicastdns.org/)
6) На поверку оказвыается, что "Multicast DNS" — это только "драфт" (не принятый, а только выставленный на обсуждение RFC), который:
"Expires 10th February 2007"
(См. тут: http://files.multicastdns.org/draft-che … astdns.txt)
Отсюда возникают вопросы:
------------------------------------------
- Зачем в дистрибутив включено "драфтовое" ?
- Какова может быть дальнейшая судьба зарезервированного IP-адреса, если "драфт" не стал полноценным RFC ? Может ли он быть реализован, например продан?
Да, пингуя сейчас этот адрес, вы получите сообщение о 100% потере пакетов.
Но что это означает? Это означает только то, что ВАШ хост не получил ответ.
Но это вовсе не означает, что отправленные пакеты НЕ БЫЛИ ПРИНЯТЫ удаленным хостом (кем-то и где-то).
Очень хотел бы, чтобы более опытные товарищи, меня поправили, ДОКАЗАВ, что ничего за спиной пользователей происходить В ПРИНЦИПЕ не может.
Потому что, если теоретически все-таки может, но мы должны относиться с доверием, только потому что это, мол, никсы + открытый код (а не какой-нить мелкософт), то... извините...
Скажите честно, есть ли среди простых чайников, юзеров, даже продвинутых пользователей и сисадминов те, кто осилил/осилит миллионы строк открытого кода?
Нужно хорошо знать исходники. Плюс до тонкостей знать протоколы. Плюс недокументированные возможности всей среды...
Иначе трудно и относиться с доверием к тому, что по умолчанию пакеты без проверки контрольной суммы уходят на определенный IP-адрес, судьба которого не определенна. Причем сам механизм предназначается вроде как только для малых лок.сетей...
Кстати вот тут на одном форуме народ тоже озаботился этой проблемой:
http://linuxforum.ru/index.php?act=Prin … amp;t=6569
Там приводят выдержку из "SuSE 9.2 Administration Guide":
"The resolver library treats the top-level domain .local as “link-local” domain and sends multicast DNS queries to the multicast address 224.0.0.251, port 5353, instead of normal DNS queries. This is an incompatible..."
Отредактированно feofan (2008-01-05 03:49:08)
Неактивен