boost :: asio Multicast-Beispiel

8

Ich habe gerade angefangen, Informationen über Multicast-Übertragungen mit boost :: asio zu lesen, und ich bin etwas verwirrt über Folgendes:

Warum brauchen wir im folgenden boost :: asio Beispiel eine "Listening Address"? Was ist der Sinn davon? Warum sollte man etwas anderes als localhost wählen?

Ссылка

    
deinocheirus 06.11.2012, 11:17
quelle

2 Antworten

12

Die Angabe der IP-Adresse für das Abhören ist erforderlich, wenn Sie mehr als eine Netzwerkkarte haben (jede Netzwerkkarte ist an eine andere IP-Adresse gebunden).

    
mac 06.11.2012, 12:06
quelle
11

In deiner Wohnung ...

Wenn Sie zu Hause auf Ihrem Laptop arbeiten, ist Ihnen das wahrscheinlich egal. Das primäre Ziel ist normalerweise, alles mit allem zu verbinden, was es in Ihrer Maschine will, in diesem Fall localhost ist in Ordnung.

... aber Server tun Vorsicht!

High-End-Server andererseits haben in der Regel mehr als eine Netzwerkkarte . Noch besser, Hochleistungs-Netzwerkkarten haben oft mehr als einen physischen Stecker, und beide sind möglicherweise mit verschiedenen DHCP-Leases aktiv.

Server sind häufig auch Teil von öffentlichen und privaten Netzwerken , die möglicherweise ein VPN enthalten, das über eigene Subnetz- und Zugriffsparameter verfügt. Sysadmins denken viel über diese Adressen nach, und sie interessieren sich tief darüber, welche bestimmte Adresse für jeden Dienst verfügbar ist. Ist es ein privater Service? Gibt es ein nicht vertrauenswürdiges Subnetz, das diese Anforderungen nicht ausführen sollte?

Diese Fragen beziehen sich sowohl auf die Sicherheit und Systemorganisation . Es ist nicht spezifisch für Multicast: Der UNIX bind Systemaufruf nimmt auch eine spezifische Adresse für alle über den Gründen.

    
Andres Jaan Tack 06.11.2012 12:09
quelle