<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Boot_Service_Discovery_Protocol</id>
	<title>Boot Service Discovery Protocol - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Boot_Service_Discovery_Protocol"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Boot_Service_Discovery_Protocol&amp;action=history"/>
	<updated>2026-05-30T13:15:49Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Boot_Service_Discovery_Protocol&amp;diff=878213&amp;oldid=prev</id>
		<title>imported&gt;MarcoMA8: /* Inhalt der Vendor Encapsulated Options */ Archivlink ersetzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Boot_Service_Discovery_Protocol&amp;diff=878213&amp;oldid=prev"/>
		<updated>2023-11-09T00:39:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Inhalt der Vendor Encapsulated Options: &lt;/span&gt; Archivlink ersetzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Netzwerkprotokoll&lt;br /&gt;
|Name=&lt;br /&gt;
|Familie=[[Internetprotokollfamilie]]&lt;br /&gt;
|Einsatzfeld=[[Netzwerkboot]] von Apple-Computern;&amp;lt;br&amp;gt;Verwaltung verschiedener System-Abbilder für verschiedene Macs&lt;br /&gt;
|aufbauend auf=[[Port (Protokoll)|Port]] 67/[[User Datagram Protocol|UDP]] (Anfrage, [[Bootstrap Protocol|BOOTP]])&amp;lt;br&amp;gt;Port 68 (Antwort)&lt;br /&gt;
|Basis zu=&lt;br /&gt;
|Einführung=&lt;br /&gt;
|entwickelt aus=&lt;br /&gt;
|entwickelt zu=&lt;br /&gt;
|Version=&lt;br /&gt;
|Version Datum=&lt;br /&gt;
|Vorabversion=&lt;br /&gt;
|Vorabversion Datum=&lt;br /&gt;
|Entwickler=&lt;br /&gt;
|Standard=&lt;br /&gt;
}}&lt;br /&gt;
{{Netzwerk-UDP-IP-Anwendungsprotokoll|BSDP}}&lt;br /&gt;
Das &amp;#039;&amp;#039;&amp;#039;Boot Service Discovery Protocol&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;BSDP&amp;#039;&amp;#039;&amp;#039;) ist eine von [[Apple]] entwickelte, standardkonforme Ergänzung von [[Dynamic Host Configuration Protocol|DHCP]] um spezielle Optionen, die eine weitergehende Beschreibung über die im [[Rechnernetz|Netzwerk]] vorhandenen [[Booten|bootbaren]] Images (Systemabbilder) ermöglichen. Hierzu werden bestimmte DHCP-Optionen, nämlich die „vendor specific information“-Option (Nr.&amp;amp;nbsp;43, auch „vendor encapsulated options“) und die „vendor class identifier“-Option benutzt (Nr.&amp;amp;nbsp;60). Beide Optionen sind nach dem DHCP-[[Standard]] für Hersteller-eigene [[Nachricht]]en, somit also auch für BSDP vorgesehen.&lt;br /&gt;
Derzeit existieren offenbar drei [[Version (Software)|Versionen]] von BSDP, benutzt wird aber vorzugsweise Version 1.0. Gemeinsam ist allen Versionen, dass es beispielsweise ermöglicht wird, auf einem [[Server]] mehrere bootbare Images vorzuhalten, aus denen am [[Client]] ausgewählt werden kann.&lt;br /&gt;
Die Referenzimplementation von BSDP findet sich im [[Bootstrap Protocol|BOOTP]]-Server von [[Darwin (Betriebssystem)|Darwin]],&amp;lt;ref&amp;gt;{{Internetquelle |abruf=2022-09-29 |offline=ja |url=http://www.opensource.apple.com/darwinsource/tarballs/apsl/bootp-133.8.tar.gz |titel=opensource.apple.com |format=[[gzip]]; 272&amp;amp;nbsp;kB }}&amp;lt;/ref&amp;gt; der auch in [[macOS Server|Mac OS&amp;amp;nbsp;X Server]] enthalten und dort Teil des beworbenen „NetBoot“&amp;lt;ref&amp;gt;apple.com: {{Webarchiv|text=&amp;#039;&amp;#039;NetBoot und Netzwerk-Installation&amp;#039;&amp;#039; |url=http://www.apple.com/de/server/macosx/netbootnetworkinstall.html |wayback=20070510143540 }}&amp;lt;/ref&amp;gt; ist.&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
=== Inhalt von Vendor Class ===&lt;br /&gt;
Bei DHCP-Server und DHCP-Client enthält die Vendor Class-Option „AAPLBSDPC“ ([[American Standard Code for Information Interchange|ASCII]]-codiert), um die BSDP-Fähigkeit anzuzeigen; der Client beschreibt zudem -&amp;amp;nbsp;abgetrennt durch&amp;amp;nbsp;„/“&amp;amp;nbsp;– seine Architektur („[[PowerPC|ppc]]“ oder „[[IA-32|i386]]“) und wiederum abgetrennt durch „/“ eine System-[[Identifikator|ID]]. Beispielsweise schickt ein [[iMac]] mit [[Intel]]-[[Prozessorarchitektur|Architektur]] als Vendor Class:&lt;br /&gt;
 AAPLBSDPC/i386/iMac4,1&lt;br /&gt;
&lt;br /&gt;
=== Inhalt der Vendor Encapsulated Options ===&lt;br /&gt;
Die übrige Kommunikation erfolgt über die Vendor Encapsulated-Option, wobei hier eine oder mehrere Nachrichten zu einer Meldung aneinandergereiht werden. Jede einzelne solche Nachricht ist folgendermaßen aufgebaut:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe6&amp;quot;&lt;br /&gt;
! Byte-Position&lt;br /&gt;
! Inhalt&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| Art der Nachricht&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| Länge n der Nachricht&lt;br /&gt;
|-&lt;br /&gt;
| bis n–2&lt;br /&gt;
| Nachricht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die nachfolgende Tabelle beschreibt die möglichen Nachrichten-Arten; die Datentypen aller Nachrichten sind, sofern es sich um [[Integer (Datentyp)|Integer]]-Werte handelt, ohne [[Vorzeichen (Zahl)|Vorzeichen]] (unsigned) und als [[Big-Endian]] zu interpretieren.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe6&amp;quot;&lt;br /&gt;
!Wert&lt;br /&gt;
!Bedeutung&lt;br /&gt;
!Datentyp der Nachricht selbst&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Nachrichten-Klasse&lt;br /&gt;
|8 [[Bit]] [[Integer (Datentyp)|int]]&lt;br /&gt;
* [[Hexadezimalsystem|0x00]]: keine&lt;br /&gt;
* 0x01: LIST&lt;br /&gt;
* 0x02: SELECT&lt;br /&gt;
* 0x03: Fehler&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|benutzte BSDP-[[Version (Software)|Version]]&lt;br /&gt;
|16 Bit int&lt;br /&gt;
* 0x0000: Version 0.0&lt;br /&gt;
* 0x0100: Version 1.0&lt;br /&gt;
* 0x0101: Version 1.1&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Server-[[Kennung]]&lt;br /&gt;
|[[IP-Adresse]] des Servers, je 1&amp;amp;nbsp;Byte für eine Komponente: &amp;lt;code style=&amp;quot;white-space: nowrap&amp;quot;&amp;gt;c0 a8 64 01&amp;lt;/code&amp;gt; entspricht 192.168.100.1&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Server-[[Priorität]]&lt;br /&gt;
|16 Bit int&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Port für Antwort&lt;br /&gt;
|16 Bit int&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|„boot image list path“&lt;br /&gt;
|[[Zeichenkette|String]]&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ID des Standard-Boot-Images&lt;br /&gt;
|32 Bit int&amp;lt;br /&amp;gt;&lt;br /&gt;
(Vergleicht man dies mit der Apple-Spezifikation&amp;lt;ref&amp;gt;{{Internetquelle |url=https://support.apple.com/en-us/HT3115 |titel=Working with architecture-specific NetBoot images |werk=Apple Support |datum=2012-07-13 |sprache=en |offline=ja |archiv-url=https://web.archive.org/web/20160316082242/https://support.apple.com/en-us/HT3115 |archiv-datum=2016-03-16 |abruf=2023-11-08}}&amp;lt;/ref&amp;gt; über die Anzahl der möglichen IDs, so stellt man fest, dass maximal 65535 IDs vergeben werden können. Dies entspricht gerade 16&amp;amp;nbsp;Bit, obwohl 32&amp;amp;nbsp;Bit reserviert wurden. Bei allen bislang verglichenen IDs waren jedoch die höherwertigen 16&amp;amp;nbsp;Bit gleich &amp;lt;code style=&amp;quot;white-space: nowrap&amp;quot;&amp;gt;1000 0001 0000 0000&amp;lt;/code&amp;gt; (0x8100), was darauf hinweist, dass dieser Bereich zusätzliche Informationen beinhaltet, möglicherweise über Art und Version des zu bootenden Betriebssystems.)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ID des ausgewählten Boot-Images&lt;br /&gt;
|32 Bit int&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Liste der Boot-Images&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|„netboot 1.0 firmware“&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Filter-Liste für Image-Attribut&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|„shadow mount path“&lt;br /&gt;
|String ([[Uniform Resource Locator|URL]])&amp;lt;br /&amp;gt;&lt;br /&gt;
Möglich ist hier die Angabe einer im Netzwerk erreichbaren Freigabe, auf die dann zum erfolgreichen Start notwendige Daten geschrieben werden. Wird diese Option nicht angegeben und ist lokal auch kein Speichermedium verwendbar, so wird der Boot-Prozess bei [[macOS|Mac OS&amp;amp;nbsp;X]] abgebrochen. Mac&amp;amp;nbsp;OS&amp;amp;nbsp;X, das 2016 in macOS umbenannt wurde, unterstützt als „shadow mount path“ offiziell nur [[Apple Filing Protocol|AFP]], allerdings war anscheinend auch einst an die Verwendung von [[Network File System|NFS]] gedacht – dies funktioniert jedoch erst nach einer Modifikation der Startdateien des Systems.&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|„shadow file path“&lt;br /&gt;
|String (URL)&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|„machine name“ (Name des zu bootenden Systems?)&lt;br /&gt;
|String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
Zur Verdeutlichung des Aufbaus einer Vendor Encapsulated-Option sei hier das nachfolgende Beispiel betrachtet:&lt;br /&gt;
 0000 01 01 02 08 04 81 00 07 e5 82 0a 4e 65 74 42 6f 6f ........ ..NetBoo&lt;br /&gt;
 0010 74 30 30 31           t001&lt;br /&gt;
Der erste Teil ist hier 01 01 02, die Art dieses ersten Nachrichten-Teils ist also „Nachrichten-Klasse“, die Daten sind ein Byte lang und der Inhalt besagt, dass das gesamte Paket eine „SELECT“-Meldung darstellen wird. Die Folge &amp;lt;code style=&amp;quot;white-space: nowrap&amp;quot;&amp;gt;08 04 81 00 07 e5&amp;lt;/code&amp;gt; besagt, dass das Boot-Image mit der ID 2164262885 ausgewählt wurde. Schließlich besagt &amp;lt;code style=&amp;quot;white-space: nowrap&amp;quot;&amp;gt;82 0a 4e 65 74 42 6f 6f 74 30 30 31&amp;lt;/code&amp;gt;, dass ein String mit [[Hexadezimalsystem|0x0a]] = 10 Zeichen, nämlich „NetBoot001“ den Namen des zu bootenden Systems angibt.&lt;br /&gt;
&lt;br /&gt;
== Quelle ==&lt;br /&gt;
* eigene Kommunikationsmitschnitte, abgehört mit [[Wireshark]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* math.ohio-state.edu: {{Webarchiv | url=https://www.math.ohio-state.edu/wiki/administration/macosx/netboot/intel | wayback=20060909205118 | text=&amp;#039;&amp;#039;Howto: ISC DHCP NetBoot-Install (PPC/i386)&amp;#039;&amp;#039; }}&lt;br /&gt;
* [http://www.opensource.apple.com/source/bootp/bootp-170.1/Documentation/BSDP.doc Dokumentation zum Boot Service Discovery Protocol] ([[Microsoft Word|MS Word]]; 488&amp;amp;nbsp;kB)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Internet-Anwendungsprotokoll]]&lt;br /&gt;
[[Kategorie:Dynamic Host Configuration Protocol]]&lt;/div&gt;</summary>
		<author><name>imported&gt;MarcoMA8</name></author>
	</entry>
</feed>