Schüler, die die gesamte Apple-Familie nutzen, haben sicherlich schon Erfahrungen mit der nahtlosen Verbindung mehrerer Geräte gemacht, beispielsweise mit dem Übertragen von Fotos und Dateien per AirDrop, der TV-Bildschirmprojektion per AirPlay, dem automatischen Teilen von Hotspot-Passwörtern, dem Entsperren von Mac und iPhone per Apple Watch, kontinuierlichem Kamera-/Skizzier-/Markierungsvorgang usw. Das Grundprinzip besteht darin, Daten zwischen Geräten, die über WLAN oder Bluetooth in derselben iCloud angemeldet sind, schnell zu synchronisieren. Das Problem besteht darin, dass Geräte die IP-Adressen der anderen Geräte kennen müssen, wenn sie in einem lokalen Netzwerk kommunizieren möchten. Am Beispiel der AirPlay-Bildschirmprojektion besteht der erste Schritt darin, dass das Endgerät wie das iPhone das Zielgerät zur Bildschirmprojektion (also den Fernseher) im lokalen Netzwerk finden muss, bevor Audio-, Video-, Bild- oder Bildschirminhalte auf den Fernseher projiziert werden können. In den meisten Fällen wird die IP-Adresse des Geräts über das dynamisch zugewiesene DHCP-Protokoll bezogen. Wie also erkennen sich Geräte gegenseitig? Hier kommt das Bonjour-Protokoll ins Spiel! Was ist das Bonjour-Protokoll? Bonjour ist ein von Apple implementiertes Netzwerkprotokoll ohne Konfiguration. Das Wort „Bonjour“ kommt aus dem Französischen und bedeutet „Hallo“ oder „Guten Morgen“. Das Protokoll soll die Netzwerkkonfiguration vereinfachen und es Geräten ermöglichen, sich innerhalb eines lokalen Netzwerks problemlos zu erkennen und miteinander zu kommunizieren, ganz so, als würden sich Menschen begrüßen. Mit Bonjour müssen Benutzer IP-Adressen oder Gerätenamen nicht manuell konfigurieren. Geräte oder Anwendungen können die erforderlichen Dienste oder andere interaktive Anwendungen automatisch erkennen und so eine automatische Verbindung, Kommunikation und einen automatischen Datenaustausch ohne Benutzereingriff ermöglichen. Abbildung 1 Zusammenschaltung von Geräten in einem LAN Wie funktioniert das Bonjour-Protokoll? 1. Grundlagen des Bonjour-Protokolls Bonjour basiert hauptsächlich auf zwei Standardnetzwerkprotokollen: mDNS (Multicast-DNS) und DNS-SD (DNS Service Discovery) und ist auf dem Standard-DNS-Framework aufgebaut und erweitert. 1.1 mDNS-Protokoll Das mDNS-Protokoll basiert auf UDP/IP und verwendet zur Kommunikation die Multicast-Adresse 224.0.0.251 und Port 5353. Das mDNS-Protokoll implementiert die Hostnamenauflösung innerhalb eines LAN durch Multicast-Abfragen und -Antworten, ohne dass ein DNS-Server konfiguriert werden muss. Das Datenpaketformat des mDNS-Protokolls entspricht dem Standard-DNS-Protokoll. Es unterstützt standardmäßige DNS-Abfragedatensatztypen und erweitert einige der darin enthaltenen Konzepte. Unter anderem werden Ressourceneinträge zum Austausch von Nachrichteninhalten zwischen Hosts in einem lokalen Netzwerk verwendet und enthalten die folgenden Schlüsselfelder: NAME: gibt den Nachrichteninhalt an TYPE: Gibt den Typ des Nachrichteninhalts an Darüber hinaus können je nach TYPE-Typ die folgenden wichtigen DNS-Eintragformate definiert werden: Ein Datensatz: die Entsprechung zwischen dem Hostnamen und IPv4 AAAA-Eintrag: die Entsprechung zwischen Hostname und IPv6 PTR-Datensatz: Zeichnet die Entsprechung zwischen dem Diensttyp und dem Namen der Dienstinstanz auf und wird im Allgemeinen zum Abfragen und Erkennen von Dienstinstanzen verwendet SRV-Eintrag: zeichnet den Hostnamen und die Portinformationen der Dienstinstanz auf TXT-Eintrag: Bietet zusätzlichen beschreibenden Text für den Dienst, aufgezeichnet im Format „Schlüssel = Wert“, wie z. B. MAC-Adresse, Geräte-ID usw. JEDER Datensatz: beliebiger Typ, im Allgemeinen in Abfragen verwendet 1.2 DNS-SD-Protokoll Das mDNS-Protokoll definiert die grundlegende Struktur von Nachrichten und den Nachrichtenübertragungsprozess. Auf dieser Grundlage definiert das DNS-SD-Protokoll spezifische Elemente wie Dienstname, Dienstinstanzname, Domänennamenlänge/-sequenz usw. weiter, verwendet drei Ressourcendatensätze: PTR, SRV und TXT, um einen Dienst vollständig zu beschreiben, und legt eine einfache Methode zur Diensterkennung und -beschreibung fest. Der Dienstname setzt sich üblicherweise aus einem Unterstrich „_“ und einem Protokollnamen zusammen, als feste Kennung wird am Ende des Domänennamens „local“ verwendet. Das Format ist <Diensttyp>.<Domänenname>.local, z. B.: _printer._tcp.local, _airplay._tcp.local Die Dienstinstanz wird durch ihren Instanznamen im Format <Dienstinstanz>.<Diensttyp>.<Domänenname> identifiziert, z. B.: PrintsAlot._printer._tcp.local MyMac._airplay._tcp.local Das Bonjour-Protokoll implementiert die Hostnamenauflösung sowie die Dienstregistrierung und -erkennung innerhalb des lokalen Netzwerks über die beiden oben genannten Protokolle und bietet so eine Grundlage für Netzwerke ohne Konfiguration. 2. Bonjour-Diensterkennungsprozess Um zu verstehen, wie Bonjour funktioniert, müssen wir nur darüber nachdenken, wie das oben erwähnte mDNS-Protokoll und das DNS-SD-Protokoll kombiniert werden, um zu interagieren. Das Bonjour-Protokoll kann als organische Kombination aus mDNS und DNS-SD betrachtet werden. Insbesondere verweist das DNS-SD-Protokoll über den PTR-Eintrag auf die Dienstinstanz und stellt den Hostnamen und den Port der Instanz über den SRV-Eintrag bereit. Nachdem diese Informationen abgerufen wurden, muss lediglich der Hostname über mDNS aufgelöst werden, um die IP-Adresse abzurufen und die Zuordnungsbeziehung vom Dienstnamen zur IP-Adresse abzuschließen, wodurch eine End-to-End-Verbindung hergestellt wird. Es ist zu beachten, dass die von DNS-SD veröffentlichten und abgefragten Datensatzinformationen basierend auf der von mDNS definierten Multicast-Gruppe und Portnummer übertragen werden. Als Nächstes geben wir ein konkretes Beispiel, um zu veranschaulichen, wie der gesamte Bonjour-Diensterkennungsprozess abgeschlossen wird. Angenommen, ein iPad-Gerät im lokalen Netzwerk möchte einen Musikfreigabedienst veröffentlichen. Dies umfasst im Wesentlichen die folgenden drei Schritte: 2.1 Service-Veröffentlichung Zunächst wählt das Gerät nach dem Zufallsprinzip eine verfügbare Link-Local-IP-Adresse aus, beispielsweise 192.168.1.23, und veröffentlicht sie im LAN. Zweitens wird der mDNS-Responder gestartet und der Hostname my-ipad.local angefordert. Nachdem bestätigt wurde, dass kein Konflikt vorliegt, wird der Hostname verwendet. Anschließend startet das Gerät den Musikfreigabedienst auf TCP-Port 1010. Schließlich wird der Musikdienst veröffentlicht und der DNS-Eintrag über mDNS-Multicast erstellt: SRV-Eintrag: Der Inhalt ist der Dienstinstanzname „Xiao Lis Musikdienst._Musik._tcp.local.“ und verweist auf den TCP-Dienstport 1010 auf dem Hostnamen my-ipad.local. PTR-Eintrag: Der Inhalt ist der Dienstname „_music._tcp.local.“ und verweist auf den Dienstinstanznamen „Xiao Lis Musikdienst._music._tcp.local.“ TXT-Record: liefert zusätzliche Informationen zum Gerät, wie beispielsweise die MAC-Adresse „MAC=D3:AA:E2:30:B0:E1“ Wenn andere Geräte im lokalen Netzwerk diese Datensätze empfangen, werden sie analysiert und zwischengespeichert.
2.2 Diensterkennung Wenn eine Client-Anwendung den Musikfreigabedienst benötigt, erstellt sie eine Dienstabfragenachricht vom Typ _music._tcp und sendet die Abfrageanforderung per Multicast über mDNS an das gesamte LAN. Nach Erhalt der Abfrageanforderung antwortet das Gerät, das den Dienst bereitstellen kann, mit einem PTR-Eintrag. Dieser Antwortdatensatz enthält den Dienstinstanznamen „Xiao Li's Music Service._music._tcp.local“. Die Clientanwendung kann dann den Namen der Dienstinstanz aus dem PTR-Eintrag extrahieren und ihn der Serverliste hinzufügen. Abbildung 3 Beispiel für einen Service-Erkennungsprozess 2.3 Service-Auflösung Die Dienstauflösung wird durchgeführt, nachdem die Diensterkennung abgeschlossen ist. Die Anwendung wählt den Namen der Dienstinstanz aus und sendet per Multicast an das LAN, um den entsprechenden SRV-Eintrag abzufragen. Nachdem der Dienstanbieter geantwortet hat, gibt er den aktuellen Hostnamen und die Portnummer der Dienstinstanz zurück. Nachdem die Anwendung den Hostnamen erhalten hat, sendet sie erneut eine Multicast-mDNS-Abfrageanforderung, um die dem Hostnamen entsprechende IP-Adresse aufzulösen. Schließlich stellt die Anwendung basierend auf der erhaltenen IP-Adresse und Portnummer eine Verbindung mit der Dienstinstanz her, um die Auflösung abzuschließen. Abbildung 4 Beispiel für einen Service-Lösungsprozess An diesem Punkt ist der gesamte Prozess der automatischen Registrierung und Erkennung des Musik-Sharing-Dienstes abgeschlossen. Der gesamte Prozess ist effizient und bequem und erfordert kein menschliches Eingreifen. Durch die Einrichtung eines guten Netzwerkkanals kann das Clientgerät die relevanten Musikressourcen auf dem Server durchsuchen und abspielen. Nach Jahren der Entwicklung hat sich Bonjour zu einem Standarddienst für Apple und andere Plattformen entwickelt und bietet eine offene, praktische und effiziente Lösung für Netzwerke ohne Konfiguration. Bonjour basiert auf den Protokollen mDNS und DNS-SD und ist daher äußerst kompatibel mit der vorhandenen Netzwerkinfrastruktur. Es wird häufig in persönlichen und Unternehmensnetzwerken sowie in IoT-Geräten verwendet und vereinfacht die Netzwerkkonfiguration und -verwaltung erheblich. Angesichts des kontinuierlichen Wachstums des Smart-Hardware-Geschäfts werden die entsprechenden Technologien auch in Zukunft breite Anwendungs- und Entwicklungsperspektiven in der Netzwerkverbindung haben. Verweise [1] Apple. Entwicklerressourcen – Bonjour [EB/OL]. (2023)[2023-07-21]. https://developer.apple.com/bonjour/. [2] Wu Yueqian. LAN-Geräteerkennung: Bonjour-Protokoll [EB/OL]. (28.09.2016)[21.07.2023]. https://blog.csdn.net/yueqian_scut/article/details/52694411. [3] Yuweifeng. Netzwerkprotokoll mDNS20170217[EB/OL]. (2017-02-17)[2023-07-21]. https://www.cnblogs.com/yuweifeng/p/6409182.html. Autor: Wang Jiankai Einheit: China Mobile Smart Home Operation Center |
<<: Die lokale Temperatur sinkt um mehr als 10 °C! Eine neue Kaltluftwelle kommt
Das Thema Gewichtsverlust erfreut sich heutzutage...
Wie das Sprichwort sagt: Es gibt nichts umsonst a...
Naturschutz Die Bilder und Charaktere in diesem A...
Sit-ups sind eine gängige Fitnessmethode, die von...
Yoga-Meister sagen, das Leben sei Übung, Essen un...
Viele Menschen haben die Angewohnheit, morgens Sp...
Ausländischen Medienberichten zufolge wird die Vi...
Wenn wir unseren Körper gesünder halten wollen, m...
Kürzlich gab Tesla offiziell bekannt, dass Benutz...
Als vorherige Generation des Windows-Betriebssyst...
Fettleibigkeit ist für Mädchen ein Tabu und sie a...
Gestern Thema #In Chengdu wird es in den nächsten...
Haben Sie im Alltag die Angewohnheit, Energie zu ...
Dicke Beine sind ein weit verbreitetes Problem mo...
Wir sehen oft, dass viele Männer Frauen schikanie...