El servicio Bonjour Sleep Proxy de Apple es un componente de código abierto [ 1 ] de redes de configuración cero , diseñado para ayudar a reducir el consumo de energía de los dispositivos electrónicos en red . [ 2 ] Permite que un dispositivo que proporciona servicios, como compartir archivos, compartir impresoras o iniciar sesión remotamente, entre en modo de suspensión , es decir, en un modo de bajo consumo, mientras que sus servicios permanecen disponibles, incluso a nivel mundial, al registrarse con un servidor proxy de suspensión en la red local. El servidor proxy de suspensión continúa anunciando los servicios en la red local en nombre del host de suspensión y escucha las conexiones entrantes, ya sea que los servicios estén disponibles solo localmente o a través de Internet. Cuando cualquier dispositivo intenta usar un servicio proxy, el servidor proxy despierta al dispositivo en suspensión y el servicio funciona como si el dispositivo en suspensión hubiera permanecido completamente encendido.
Cualquier dispositivo que pueda actuar como servidor proxy de suspensión anuncia esto en todas las LAN de las que forma parte. Un dispositivo que proporciona servicios de red, como el intercambio de archivos, cuando sus servicios no se utilizan activamente puede registrarlos con un servidor proxy de suspensión disponible y permanecer en modo de suspensión hasta que se necesite alguno de sus servicios. El servidor proxy de suspensión continúa anunciando los servicios en DNS multicast (mDNS) en nombre del host en suspensión. [ 2 ] Cuando el servidor proxy de suspensión detecta un intento de utilizar alguno de estos servicios, despierta al host en suspensión y el servicio continúa normalmente; en el caso de SSH , un servidor con una sesión activa puede registrarse con un proxy, permanecer en modo de suspensión y despertarse con el siguiente paquete recibido, continuando la misma sesión. [ 3 ] [ 2 ]
Apple se refiere al servicio como Bonjour Sleep Proxy en sus documentos de soporte. [ 4 ] El servicio utiliza la función Wake on Demand , ofrecida por primera vez en Mac OS X Snow Leopard . [ 5 ]
Detalles
Protocolo de resolución de direcciones y protocolo de descubrimiento de vecinos
Cuando un servicio de proxy inactivo acepta una solicitud de proxy, toma el control de las direcciones IP de los servidores proxy mediante el Protocolo de Resolución de Direcciones (ARP) y el Protocolo de Descubrimiento de Vecinos (NDP). Para reclamar el tráfico de las direcciones IPv4 del host proxy, envía anuncios ARP gratuitos para que los paquetes dirigidos al servidor proxy se dirijan al proxy en su lugar, y para IPv6 hace lo mismo utilizando el protocolo NDP análogo. Para mantener la asociación, responde en nombre del host inactivo a las solicitudes ARP y NDP. Este proceso asigna efectivamente las direcciones IP de los servidores proxy a un puerto físico del servidor proxy.
Cuando llega un paquete, desde cualquier lugar de Internet, para un servicio proxy, el servidor proxy en modo de suspensión despierta al host en suspensión e invierte el proceso anterior, utilizando ARP y NDP nuevamente para volver a asociar las mismas direcciones IP con la máquina correcta, y cualquier servicio continúa como si el servidor no hubiera estado en modo de suspensión.
Esto puede resultar confuso para los administradores de red que no esperan el comportamiento de cambio de direcciones MAC .
Wake-on-LAN y paquetes mágicos
El método mediante el cual un servidor proxy de suspensión despierta a un host en suspensión es Wake-on-LAN . La interfaz de red de un host en suspensión con esta capacidad despertará la máquina cuando reciba una serie específica de bits, y un paquete que contenga este patrón es un paquete mágico . Las primeras implementaciones de Wake-on-LAN (WoL) requerían interfaces de red cableadas. En el caso inalámbrico ( Wi-Fi ), el paquete de activación se envía a través de Wireless Multimedia Extensions (WMM). [ 5 ] En ambos casos, la función debe ser compatible con la interfaz de red. Apple proporciona instrucciones para comprobar la compatibilidad con esta función para ordenadores Macintosh. [ 4 ]
Servicios compatibles y ejemplos
El servicio proxy de suspensión puede anunciar cualquier servicio compatible con Bonjour mientras el equipo anfitrión está en modo de suspensión. Algunos ejemplos de servicios compatibles son: [ 4 ]
- Compartir archivos : un servidor que admita el servicio de proxy de suspensión, que ofrece servicios de archivos, puede entrar en modo de suspensión cuando sea necesario. Cuando alguien necesite acceder a los archivos compartidos, el servidor se activará automáticamente.
- Compartir la biblioteca de iTunes : el ordenador que aloja la biblioteca de iTunes puede entrar en modo de suspensión y se reactivará automáticamente cuando alguien desee explorar la biblioteca de iTunes desde otro ordenador.
- Compartir impresora : se puede conectar y compartir una impresora desde un ordenador compatible con el servicio de proxy de suspensión. El ordenador puede entrar en modo de suspensión cuando no se utilice, pero se reactivará cuando sea necesario para procesar un trabajo de impresión enviado desde otro ordenador.
- SSH : un ordenador que ofrece acceso SSH puede entrar en modo de suspensión y reactivarse mediante el servicio de proxy de suspensión cuando se inicia un inicio de sesión SSH.
- Compartir escritorio : similar a los ejemplos anteriores.
Implementaciones
Las implementaciones en una red de área local se pueden ver con el navegador Bonjour .
- Apple AirPort Express con versión de firmware 7.4.1 o 7.4.2 [ 4 ]
- Apple AirPort Extreme con versión de firmware 7.4.1 o 7.4.2 [ 4 ]
- Apple AirPort Time Capsule [ 4 ]
- Apple TV (todas las generaciones)
- HomePod (2018)
- HomePod mini (2020)
- Los ordenadores que ejecutan Mac OS X Snow Leopard actúan como servidores proxy de suspensión Bonjour cuando se habilita el uso compartido de Internet . [ 6 ]
Referencias
- ↑ Nota: consulte el código fuente de mDNSResponder en www.macosforge.org , que incluye una implementación completa del servicio DNS-SD/mDNS Sleep Proxy, disponible bajo la licencia de código abierto Apache 2.0.
- 1 2 3 Marc Krochmal (23-03-2010). "Borrador de Internet: draft-cheshire-dnsext-multicastdns-11" . Apple Inc. Recuperado el 30-05-2010 .
- ↑ Cheshire, Stuart (diciembre de 2009). "Understanding Sleep Proxy Service" . Stuart Cheshire . Recuperado el 11 de abril de 2024 .
- 1 2 3 4 5 6 "Mac OS X v10.6: Acerca de Wake on Demand (Artículo de Apple HT3774)" . Apple. 27 de agosto de 2009. Consultado el 15 de septiembre de 2009.
"Configuración de Wake on Demand", "Configuración de un Bonjour Sleep Proxy"
. - 1 2 Glenn Fleishman (28-08-2009). "Wake on Demand permite que Snow Leopard duerma con un ojo abierto" . Macworld.com. Archivado del original el 16-09-2009 . Recuperado el 15-09-2009 .
"Cómo funciona", "Panel de preferencias de Ahorro de energía
- ↑ Apple Inc. Conferencia Mundial de Desarrolladores (WWDC) 2009, Sesión 508, Redes de configuración cero con Bonjour "Copia archivada" (PDF) . Archivado del original (PDF) el 6 de agosto de 2009. Recuperado el 15 de septiembre de 2009 .
{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
Enlaces externos
- US 7107442 , consulte la pestaña Mosaicos para ver las cifras.
- US 7330986 , consulte la pestaña Mosaicos para ver las cifras.
- US 7447757 , consulte la pestaña Mosaicos para ver las cifras.
- Fscklog.com: Snow Leopard y 2009er Macs: Wake on WLAN (alemán, alemán)
- Macrumors.com: Un vistazo más de cerca a la función Wake on Demand de Snow Leopard
- opensource.apple.com: Implementación de mDNS de código abierto que incluye el servicio de proxy de suspensión.
- UC San Diego: SleepServer: Un enfoque basado exclusivamente en software para reducir el consumo de energía de los ordenadores en entornos empresariales. 22 de junio de 2010. Usenix 2010.
- Microsoft Research: El insomnio en Seattle ya no existe. 22 de junio de 2010. Usenix 2010.
- Stuart Cheshire tiene una página que describe los pasos para solucionar problemas del servicio Sleep Proxy.
- Software de Apple Inc.
- Configuración del ordenador
- Sistema de nombres de dominio
- Protocolos de enlace
- protocolos de red
- Comunicación y servicios de Windows