Bonjour Прокси для сна

Компонент с открытым исходным кодом для сетей с нулевой конфигурацией

Служба Bonjour Sleep Proxy от Apple — это компонент с открытым исходным кодом [1] для сетей с нулевой конфигурацией , разработанный для снижения энергопотребления сетевых электронных устройств. [2] Он позволяет устройству, предоставляющему такие услуги, как общий доступ к файлам, общий доступ к принтерам или удаленный вход в систему , перейти в спящий режим, т. е. перейти в режим пониженного энергопотребления, при этом его услуги остаются доступными даже по всему миру, путем регистрации на прокси-сервере сна в локальной сети. Прокси-сервер сна продолжает как рекламировать услуги в локальной сети от имени хоста сна, так и прослушивать входящие соединения, независимо от того, доступны ли услуги только локально или через Интернет. Когда какое-либо устройство пытается использовать любую прокси-службу, прокси-сервер пробуждает спящее устройство, и служба работает так, как если бы спящее устройство оставалось полностью включенным.

Любое устройство, которое может выступать в качестве спящего прокси-сервера, объявляет об этом во всех локальных сетях, частью которых оно является. Устройство, предоставляющее сетевые услуги, такие как обмен файлами, когда его услуги не используются активно, может зарегистрировать свои услуги на доступном спящем прокси-сервере и спать до тех пор, пока одна из его услуг не понадобится. Спящий прокси-сервер продолжает объявлять услуги в Multicast DNS (mDNS) от имени спящего хоста. [2] Когда спящий прокси-сервер видит попытку использования любой такой услуги, он пробуждает спящий хост, и услуга продолжает работать нормально, а в случае SSH сервер с активным сеансом может зарегистрироваться на прокси, спать и быть разбуженным следующим полученным пакетом, продолжая тот же сеанс. [3] [2]

Apple называет эту службу Bonjour Sleep Proxy в своих документах поддержки. [4] Служба использует функцию Wake on Demand , впервые предложенную в Mac OS X Snow Leopard . [5]

Подробности

Протокол разрешения адресов и протокол обнаружения соседей

Когда спящий прокси-сервис принимает запрос на прокси, он фактически берет на себя IP-адреса прокси-серверов, объявляя об этом через протокол разрешения адресов (ARP) и протокол обнаружения соседей (NDP). Чтобы заявить трафик для IPv4-адресов прокси-хоста, он отправляет безвозмездные объявления ARP , чтобы пакеты, адресованные прокси-серверу, вместо этого отправлялись на прокси, а для IPv6 он делает то же самое, используя аналогичный NDP. Чтобы поддерживать ассоциацию, он отвечает от имени спящего хоста на запросы ARP и NDP. Этот процесс эффективно сопоставляет IP-адреса прокси-серверов с физическим портом прокси-сервера.

Когда из любой точки Интернета поступает пакет для проксируемой службы, спящий прокси-сервер пробуждает спящий хост и выполняет описанный выше процесс в обратном порядке, снова используя ARP и NDP для повторной привязки тех же IP-адресов к нужному компьютеру, и любая служба продолжает работу так, как будто сервер не находился в спящем режиме.

Это может показаться запутанным для сетевых администраторов, которые не ожидают такого поведения при смене MAC-адресов .

Wake-on-LAN и магические пакеты

Метод, с помощью которого спящий прокси-сервер пробуждает спящий хост, называется wake-on-LAN . Сетевой интерфейс спящего хоста с этой возможностью разбудит машину, когда получит определенную серию битов, а пакет, содержащий этот шаблон, является магическим пакетом . Ранние реализации Wake on LAN (WoL) требовали проводных сетевых интерфейсов. В беспроводном случае ( Wi-Fi ) пакет пробуждения отправляется через Wireless Multimedia Extensions (WMM). [5] В любом случае функция должна поддерживаться сетевым интерфейсом. Apple предоставляет инструкции по проверке совместимости с этой функцией для компьютеров Macintosh. [4]

Поддерживаемые услуги и примеры

Служба sleep proxy может рекламировать любые службы, поддерживаемые Bonjour , пока хост-компьютер спит. Вот некоторые примеры поддерживаемых служб: [4]

  • Файловый обмен : хост, поддерживающий службу sleep proxy, которая предлагает файловые сервисы, может перейти в спящий режим по мере необходимости. Когда кому-то понадобится доступ к общим файлам, хост автоматически проснется.
  • Общий доступ к библиотеке iTunes : компьютер, на котором размещена библиотека iTunes , может перейти в спящий режим и автоматически выйти из него, когда кто-то захочет просмотреть библиотеку iTunes с другого ПК.
  • Общий доступ к принтеру: принтер может быть подключен и доступен с компьютера, поддерживающего службу прокси-сервера сна. Компьютер может перейти в спящий режим, когда он не используется, но выйдет из него, когда это необходимо для обслуживания задания печати, отправленного с другого компьютера.
  • SSH : компьютер, предлагающий доступ по SSH, может перейти в спящий режим и выйти из него через службу прокси-сервера спящего режима при инициировании входа по SSH.
  • Общий доступ к рабочему столу : аналогично приведенным выше примерам.

Реализации

Реализации в локальной сети можно увидеть с помощью браузера Bonjour .

Ссылки

  1. ^ Примечание: см. исходный код mDNSResponder на сайте www.macosforge.org, который включает полную реализацию DNS-SD/mDNS Sleep Proxy Service, доступную по лицензии Apache 2.0 Open Source.
  2. ^ abc Марк Крохмал (2010-03-23). ​​"Интернет-черновик: draft-cheshire-dnsext-multicastdns-11". Apple Inc. Получено 2010-05-30 .
  3. ^ Чешир, Стюарт (декабрь 2009 г.). «Понимание службы Sleep Proxy». Стюарт Чешир . Получено 2024-04-11 .
  4. ^ abcdef "Mac OS X v10.6: About Wake on Demand (Apple Article HT3774)". Apple. 2009-08-27 . Получено 2009-09-15 . Настройка Wake on Demand", "Настройка Bonjour Sleep Proxy
  5. ^ ab Glenn Fleishman (28.08.2009). "Wake on Demand позволяет Snow Leopard спать с одним открытым глазом". Macworld.com. Архивировано из оригинала 16.09.2009 . Получено 15.09.2009 . Как это работает", "Панель настроек энергосбережения
  6. ^ Всемирная конференция разработчиков Apple Inc. (WWDC) 2009, сессия 508, Zero Configuration Networking Using Bonjour "Архивная копия" (PDF) . Архивировано из оригинала (PDF) 2009-08-06 . Получено 2009-09-15 .{{cite web}}: CS1 maint: archived copy as title (link)
  • US 7107442  , см. вкладку «Мозаики» для рисунков
  • US 7330986  , см. вкладку «Мозаики» для рисунков
  • US 7447757  , см. вкладку «Мозаики» для рисунков
  • США прокси
  • Fscklog.com: Snow Leopard и Mac 2009er: Wake on WLAN (немецкий, немецкий)
  • Macrumors.com: более пристальный взгляд на функцию «Пробуждение по запросу» от Snow Leopard
  • opensource.apple.com: реализация mDNS с открытым исходным кодом, включая службу прокси-сервера сна
  • Калифорнийский университет в Сан-Диего: SleepServer: программный подход к снижению энергопотребления ПК в корпоративных средах. 22 июня 2010 г. Usenix 2010.
  • Microsoft Research: Sleepless In Seattle больше не существует 22 июня 2010 г. Usenix 2010.
  • У Стюарта Чешира есть страница с описанием шагов по устранению неполадок службы Sleep Proxy.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Bonjour_Sleep_Proxy&oldid=1226443379"