Articulo de referencia

Servicio de transferencia inteligente en segundo plano

El Servicio de transferencia inteligente en segundo plano (BITS) es un componente de Microsoft Windows XP y versiones posteriores del sistema operativo, que facilita la transfer...

El Servicio de transferencia inteligente en segundo plano (BITS) es un componente de Microsoft Windows XP y versiones posteriores del sistema operativo, que facilita la transferencia asíncrona, priorizada y limitada de archivos entre máquinas utilizando el ancho de banda de red inactivo. Su uso más común se da en versiones recientes de Windows Update , Microsoft Edge , Microsoft Office , Windows Server Update Services y System Center Configuration Manager para distribuir actualizaciones de software a los clientes, en el antivirus de Microsoft , Microsoft Security Essentials (una versión posterior de Windows Defender ), para obtener actualizaciones de firmas, y también en los productos de mensajería instantánea de Microsoft para transferir archivos. BITS se expone a través del Modelo de objetos de componentes (COM) y la API UWP Windows.Networking.BackgroundTransfer .

Tecnología

BITS utiliza el ancho de banda disponible para transferir datos. Normalmente, BITS transfiere datos en segundo plano; es decir, solo lo hará cuando haya ancho de banda libre que no esté siendo utilizado por otras aplicaciones. BITS también permite reanudar las transferencias en caso de interrupciones.

La versión 1.0 de BITS solo admite descargas. La versión 1.2 de BITS se incluyó en Windows XP SP1 y Windows 2000 SP3 . A partir de la versión 1.5, BITS admite tanto descargas como cargas. Las cargas requieren el servidor web IIS , con la extensión de servidor BITS, en el lado del receptor.

Transferencias

BITS transfiere archivos de forma asíncrona en nombre de las aplicaciones solicitantes; es decir, una vez que una aplicación solicita una transferencia al servicio BITS, puede realizar cualquier otra tarea o incluso finalizar. La transferencia se ejecuta en segundo plano mientras haya conexión de red y el responsable de la tarea haya iniciado sesión. Las tareas de BITS no se transfieren si el responsable no ha iniciado sesión.

BITS suspende cualquier transferencia en curso cuando se pierde la conexión de red o se apaga el sistema operativo. Reanuda la transferencia desde donde se interrumpió cuando (se enciende el ordenador posteriormente) se restablece la conexión de red. BITS admite transferencias a través de SMB , HTTP y HTTPS .

Ancho de banda

BITS intenta utilizar únicamente el ancho de banda sobrante. Por ejemplo, cuando las aplicaciones utilizan el 80 % del ancho de banda disponible, BITS utilizará solo el 20 % restante. BITS monitoriza constantemente el tráfico de red para detectar cualquier aumento o disminución y limita sus propias transferencias para garantizar que otras aplicaciones en primer plano (como un navegador web ) obtengan el ancho de banda que necesitan. Cabe destacar que BITS no necesariamente mide el ancho de banda real. Las versiones 3.0 y posteriores de BITS utilizarán los contadores del dispositivo de puerta de enlace a Internet , si están disponibles, para calcular con mayor precisión el ancho de banda disponible. De lo contrario, BITS utilizará la velocidad informada por la NIC para calcular el ancho de banda. Esto puede provocar errores en el cálculo del ancho de banda, por ejemplo, cuando un adaptador de red rápido (10  Mbit/s) se conecta a la red a través de un enlace lento (56  kbit/s). [ 1 ]

Empleos

BITS utiliza una cola para gestionar las transferencias de archivos. Una sesión de BITS debe iniciarse desde una aplicación creando un trabajo . Un trabajo es un contenedor que contiene uno o más archivos para transferir. Un trabajo recién creado está vacío. Se deben agregar archivos, especificando las URI de origen y destino . Si bien un trabajo de descarga puede contener cualquier número de archivos, los trabajos de carga solo pueden contener uno. Se pueden configurar propiedades para archivos individuales. Los trabajos heredan el contexto de seguridad de la aplicación que los crea. BITS proporciona acceso a la API para controlar los trabajos. Un trabajo se puede iniciar, detener, pausar, reanudar y consultar su estado mediante programación. Antes de iniciar un trabajo, se debe establecer una prioridad para especificar cuándo se procesa en relación con otros trabajos en la cola de transferencia. Por defecto, todos los trabajos tienen prioridad Normal . Opcionalmente, los trabajos pueden configurarse con prioridad Alta , Baja o Primer plano . BITS optimiza las transferencias en segundo plano, aumentando y disminuyendo (o limitando) la velocidad de transferencia en función del ancho de banda de red disponible. Si una aplicación de red comienza a consumir más ancho de banda, BITS reduce su tasa de transferencia para preservar la experiencia interactiva del usuario, excepto en el caso de las descargas con prioridad en primer plano .

Programación

BITS programa cada tarea para que reciba solo un intervalo de tiempo finito , durante el cual solo esa tarea puede transferirse, antes de que se pause temporalmente para darle a otra tarea la oportunidad de transferirse. Las tareas de mayor prioridad reciben un intervalo de tiempo mayor. BITS utiliza la programación round-robin para procesar las tareas de la misma prioridad y evitar que una tarea de transferencia grande bloquee las tareas más pequeñas.

Cuando se crea un trabajo, se suspende (o pausa) automáticamente. Para activarlo, debe reanudarse explícitamente. Al reanudarlo, el trabajo pasa al estado de cola . Cuando le toca transferir datos, primero se conecta al servidor remoto y luego comienza la transferencia. Una vez transcurrido el intervalo de tiempo asignado al trabajo, la transferencia se pausa temporalmente y el trabajo vuelve al estado de cola . Cuando se le asigna otro intervalo de tiempo, debe conectarse de nuevo antes de poder transferir. Cuando el trabajo finaliza, BITS transfiere la propiedad del trabajo a la aplicación que lo creó.

BITS incluye un mecanismo integrado para el manejo de errores y los intentos de recuperación. Los errores pueden ser fatales o transitorios ; en ambos casos, el trabajo pasa al estado correspondiente. Un error transitorio es un error temporal que se resuelve solo después de un tiempo. En caso de un error transitorio, BITS espera un tiempo y luego vuelve a intentarlo. En caso de errores fatales , BITS transfiere el control del trabajo a la aplicación que lo creó, proporcionándole toda la información posible sobre el error.

Herramientas de interfaz de línea de comandos

Comando BITSAdmin

Microsoft proporciona una utilidad de línea de comandos, la UtilidadBITSAdmin de administración de BITS ( ) , para administrar trabajos de BITS. Esta utilidad forma parte de Windows Vista y versiones posteriores. [ 2 ] [ 3 ] También está disponible como parte de las Herramientas de soporte de Windows XP Service Pack 2 [ 4 ] o las Herramientas de soporte de Windows Server 2003 Service Pack 1. [ 5 ]

Ejemplo de uso:

C:\> bitsadmin /transfer myDownloadJob /download /priority normal https://example.com/file.zip C:\file.zip 

Transferencia de bits de PowerShell

En Windows 7 , la BITSAdminutilidad está obsoleta y se recomienda usar cmdlets de Windows PowerShell . [ 6 ] El BitsTransfermódulo de PowerShell proporciona ocho cmdlets para administrar trabajos de BITS. [ 7 ]

El siguiente ejemplo es el equivalente al ejemplo de BITSAdmin anterior:

PS C:\> Start-BitsTransfer -Source "https://example.com/file.zip" -Destination "C:\file.zip" -DisplayName "myDownloadJob"

Lista de aplicaciones que no son de Microsoft y que utilizan BITS.

Véase también

Referencias

  1. "Ancho de banda de red MSDN BITS" . Archivado del original el 19 de abril de 2017. Consultado el 1 de mayo de 2015 .
  2. Satran, Michael; Smith, Peter (5 de marzo de 2019). "Herramienta BITSAdmin" . Centro de desarrollo de Windows . Microsoft . Archivado del original el 18 de abril de 2020. Recuperado el 28 de abril de 2020 .
  3. Ross, Elizabeth; White, Steven; Poggemeyer, Liza; Lee, Thomas; Plett, Corey (16 de octubre de 2017). "bitsadmin" . Windows IT Pro Center . Microsoft. Archivado del original el 30 de abril de 2019. Recuperado el 9 de junio de 2019 .
  4. "Herramientas de soporte para Windows XP Service Pack 2" . Centro de descargas . Microsoft. 10 de agosto de 2004. Archivado del original el 29 de abril de 2020. Consultado el 28 de abril de 2020 .
  5. "Herramientas de soporte para Windows Server 2003 Service Pack 1 de 32 bits" . Centro de descargas . Microsoft. 30 de marzo de 2005. Archivado del original el 21 de julio de 2020. Consultado el 28 de abril de 2020 .
  6. "Administrar BITS (Servicio de transferencia inteligente en segundo plano) con Windows PowerShell" . Revista TechNet . Microsoft. Archivado del original el 22 de agosto de 2020. Consultado el 25 de septiembre de 2015 .
  7. "BitsTransfer" . Centro de soporte técnico de Windows . Microsoft. Archivado del original el 11 de noviembre de 2020. Consultado el 28 de abril de 2020 .
  8. "BITS Download Manager" . Archivado del original el 15 de agosto de 2020. Consultado el 7 de enero de 2010 .
  9. "BITSync" . Archivado del original el 24/01/2009 . Consultado el 31/12/2008 .
  10. Instalador infinito para la clase DownloadManager de Windows
  11. "Firefox 68.0, vea todas las nuevas funciones, actualizaciones y correcciones" . Mozilla. Archivado del original el 11 de julio de 2019. Consultado el 9 de julio de 2019 .
  12. Plataforma de medios de Oxygen
  13. "SharpBITS" . Archivado del original el 22/01/2018 . Consultado el 31/03/2021 .
  14. "WinBITS" . Archivado del original el 18 de mayo de 2019. Consultado el 19 de noviembre de 2007 .
  15. "Zenworks 7" . Archivado del original el 12 de febrero de 2009. Consultado el 31 de marzo de 2021 .
  16. "Specops Deploy/App" . Archivado del original el 20/12/2020 . Consultado el 31/03/2021 .
  • Servicio de transferencia inteligente en segundo plano en Windows Server 2008
  • Solucionar el problema del Servicio de transferencia inteligente en segundo plano en Windows 10
  • Historial de versiones de BITS
  • bitsadmin | Documentación de Microsoft