Boot Service Discovery Protocol

Start of Macs over Rechnernetzwerkweke instead from hard disk or CD / DVD; Administration of various system - Images for different Macs

67/UDP ( request, BOOTP ) 68/UDP (Reply )

The boat Service Discovery Protocol ( BSDP ) is a technology developed by Apple, standards-compliant DHCP complement to special options that allow a more detailed description of the existing network bootable images ( system images ). For this purpose, specific DHCP options, namely the " vendor-specific information" option (No. 41, also "vendor encapsulated options" ) and the "vendor class identifier ' option used (No. 60 ). Both options are provided by the DHCP standard for manufacturer 's own messages, thus being included BSDP. Currently, obviously, there are three versions of BSDP, but is used preferably version 1.0. Common to all versions that it is possible to, eg vorzuhalten on a server multiple bootable images, can be selected from those on the client. The reference implementation of BSDP can be found in the BOOTP server from Darwin, who is there part of the advertised " NetBoot " also included in Mac OS X Server and.

Description

Content of Vendor Class

When the DHCP server and DHCP client contains the Vendor Class option " AAPLBSDPC " ( ASCII code ) to display the BSDP ability, and the client also describes - separated by "/" - its architecture ( " ppc " or " i386 " ) and again separated by" / " a system ID example sends an iMac with Intel architecture as a vendor class. :

AAPLBSDPC/i386/iMac4, 1 Content of the Vendor Encapsulated Options

The rest of the communication is done via the Vendor Encapsulated option, one or more messages are strung together into a message here. Each such message is as follows:

The following table describes the possible message types; the data types of all messages, unless they are integer values ​​to interpret unsigned (unsigned ) and as big-endian.

  • 0x00: no
  • 0x01: LIST
  • 0x02: SELECT
  • 0x03: Error
  • 0x0000: Version 0.0
  • 0x0100: Version 1.0
  • 0x0101: Version 1.1

( Compare this with the Apple specification of the number of possible IDs, it is found that a maximum of 65 535 IDs can be assigned. Representing just 16 bits, although 32 bits are reserved. However, were the most significant in all so far compared IDs 16 bits equal to 1000 0001 0000 0000 ( 0x8100 ), indicating that this region contains additional information, possibly of the type and version of the operating system to boot. )

Here is possible to specify a reachable on the network share that is written to the data then necessary for a successful start. If this option is not specified and no local storage medium used, the boot process is aborted at Mac OS X. Mac OS X supports a " shadow mount path" officially only AFP, but was apparently also once thought of using NFS - this works but only after a modification of the system boot files.

Example

To illustrate the structure of a Vendor Encapsulated option here is the following example considered:

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 The first part is here 01 01 02, the nature of this first message part is thus "Message class ", the data is one byte long and indicates the content that the entire package will be a "SELECT " message. The sequence 08 04 81 00 07 e5 stating that the boot image with the ID 2164262885 was selected. Finally, states 82 0a 4e 65 74 42 6f 6f 74 30 30 31 that a string with 0x0a = 10 characters, namely " NetBoot001 " specifies the name to the boot system.

Source

  • Own communications recordings, listened with Wireshark
138779
de