Boot Service Discovery Protocol ( BSDP ) es una extensión de DHCP desarrollada por Apple y que cumple con los estándares . [1] Permite que las computadoras Macintosh arranquen desde imágenes de arranque en una red en lugar de medios de almacenamiento locales como CD , DVD o disco duro . Las opciones de DHCP utilizadas son la opción "información específica del proveedor" (número 43) y la opción "identificador de clase del proveedor" (número 60). Hay tres versiones de BSDP, aunque generalmente se utiliza la versión 1.0. Todas las versiones permiten que un cliente elija entre varias imágenes de arranque ofrecidas por un servidor . La implementación de referencia de BSDP es el servidor BOOTP de Darwin , que es parte de la característica NetBoot de Mac OS .
El servidor DHCP y el cliente envían una opción de clase de proveedor que contiene una cadena codificada en ASCII con tres partes delimitadas por un carácter / . La primera parte es AAPLBSDPC , que anuncia la capacidad BSDP. La segunda parte es la arquitectura del cliente (" ppc " o " i386 "). La tercera parte es un identificador del sistema. Por ejemplo, un iMac basado en Intel envía
AAPLBSDPC/i386/iMac4,1
como su clase de proveedor. Puede encontrar una lista de clases de proveedores de Microsoft aquí.
La opción 43 de DHCP está reservada para información específica del proveedor. [2] Esta información se almacena en el siguiente formato:
Código Len Información específica del proveedor +-----+-----+-----+-----+--- | 43 | n | i1 | i2 | ... +-----+-----+-----+-----+---
Si el proveedor desea transmitir múltiples opciones dentro de este campo de opción, esto se hace con extensiones encapsuladas específicas del proveedor. Las extensiones encapsuladas del proveedor contienen uno o más campos concatenados. Cada campo consta de:
En la siguiente tabla se describen los tipos de campos posibles. Todos los campos numéricos se interpretan como números enteros sin signo y Big Endian .
El siguiente ejemplo ilustra la construcción de la opción encapsulada del proveedor:
0000 01 01 02 08 04 81 00 07 e5 82 0a 4e 65 74 42 6f 6f ........ ..NetBoo 0010 74 30 30 31 t001
El primer campo aquí, 01 01 02, significa que el paquete es un mensaje BSDP "SELECT". El 01 declara que el campo especifica el tipo de mensaje BSDP. El siguiente 01 indica que el contenido del campo tiene una longitud de un byte: 02 es el código para "SELECT".
El siguiente 08 04 81 00 07 e5 significa que está seleccionada la imagen de arranque con el ID 2164262885.
Finalmente, 82 0a 4e 65 74 42 6f 6f 74 30 30 31 significa que una cadena con 0x 0a = 10 caracteres, es decir "NetBoot001", es el nombre del sistema a arrancar.