Was ist der Unterschied zwischen Unicast-, Anycast-, Broadcast- und Multicast-Verkehr?


111

Ich hatte nie das Privileg, in einer Umgebung zu arbeiten, die ein kompliziertes Routing erforderte, oder wenn es dies erforderte, wurde es vor mir gehandhabt. Ich habe immer sehr einfache statische Routing-Konfigurationen verwendet und musste nie Multipath-Routing durchführen - daher meine allgemeine Verwirrung in Bezug auf dieses Thema. Ich möchte Multicasting und Anycasting besser verstehen.

  • Was ist der Unterschied zwischen Unicast-, Anycast-, Broadcast- und Multicast-Verkehr?
  • In welchen Situationen werden sie im Allgemeinen verwendet und warum (z. B. in welchen Anwendungen wird welche Methode verwendet)?
  • Wie berechnen Sie, wie viel Broadcast-Verkehr für ein bestimmtes Netzwerksegment oder eine Broadcast-Domain zu viel ist?
  • Welche Sicherheitsrisiken ergeben sich aus dem Zulassen von Broadcast- und Multicast-Verkehr?

1
Dies könnte Ihnen bei Multicast helfen. ixiacom.com/library/white_papers/display?skey=multicast
SpacemanSpiff

Antworten:


171

Einfach gesagt:

------------------------------------------------------------
| TYPE      | ASSOCIATIONS     | SCOPE           | EXAMPLE |
------------------------------------------------------------
| Unicast   | 1 to 1           | Whole network   | HTTP    | 
------------------------------------------------------------
| Broadcast | 1 to Many        | Subnet          | ARP     |
------------------------------------------------------------
| Multicast | One/Many to Many | Defined horizon | SLP     |
------------------------------------------------------------
| Anycast   | Many to Few      | Whole network   | 6to4    |
------------------------------------------------------------

Unicast wird verwendet, wenn zwei Netzwerkknoten miteinander kommunizieren müssen. Das ist ziemlich einfach, also werde ich nicht viel Zeit damit verbringen. TCP ist per Definition ein Unicast-Protokoll, es sei denn, es handelt sich um Anycast (mehr dazu weiter unten).

Wenn mehr als zwei Knoten den Datenverkehr anzeigen müssen, haben Sie Optionen.

Befinden sich alle Knoten im selben Subnetz, ist Broadcast eine praktikable Lösung. Alle Knoten im Subnetz sehen den gesamten Datenverkehr. Es wird kein TCP-ähnlicher Verbindungsstatus beibehalten. Broadcast ist eine Layer-2-Funktion im Ethernet-Protokoll und eine Layer-3-Funktion in IPv4.

Multicast ist wie ein Broadcast, der Subnetze überqueren kann, aber im Gegensatz zu Broadcast nicht alle Knoten berührt. Knoten müssen eine Multicast-Gruppe abonnieren, um Informationen zu erhalten. Multicast-Protokolle sind in der Regel UDP-Protokolle, da per Definition kein Verbindungsstatus aufrechterhalten werden kann. Knoten, die Daten an eine Multicast-Gruppe senden, wissen nicht, welche Knoten empfangen werden. Standardmäßig leiten Internet-Router keinen Multicast-Verkehr weiter. Für den internen Gebrauch ist es jedoch vollkommen erlaubt; daher "Definierter Horizont" in der obigen Tabelle. Multicast ist eine Layer-3-Funktion von IPv4 und IPv6.

Um Anycast zu verwenden, machen Sie Werbung für dasselbe Netzwerk an mehreren Stellen im Internet und verlassen sich auf Berechnungen auf kürzesten Wegen, um Clients zu Ihren mehreren Standorten zu leiten. Für die Netzwerkknoten selbst wird eine Unicast- Verbindung verwendet, um mit Ihren Anycast-Knoten zu kommunizieren. Weitere Informationen zu Anycast finden Sie unter: Was ist "anycast" und wie ist es hilfreich? . Anycast ist ebenfalls ein Layer-3-Feature, hängt jedoch davon ab, wie das Zusammenführen von Routen erfolgt.


Beispiele

Einige Beispiele für die Verwendung von Nicht-Unicast-Methoden im realen Internet.

Broadcast
ARP ist ein Broadcast-Protokoll und wird von TCP / IP-Stacks verwendet, um zu bestimmen, wie Datenverkehr an andere Knoten im Netzwerk gesendet werden soll. Befindet sich das Ziel im selben Subnetz, wird mit ARP die MAC-Adresse ermittelt, die zur angegebenen IP-Adresse gehört. Dies ist ein Level 2 (Ethernet) Broadcast an die reservierte FF: FF: FF: FF: FF: FF MAC-Adresse.

Das Microsoft-Protokoll zum Durchsuchen von Computern basiert bekanntermaßen auf Broadcasts. Workarounds wie WINS wurden erstellt, um das Surfen über Subnetze hinweg zu ermöglichen. Hierbei handelt es sich um ein IP-Broadcast (Level 3), bei dem es sich um ein IP-Paket handelt, dessen Zieladresse als Broadcast-Adresse des Subnetzes aufgeführt ist (in 192.168.101.0/24 wäre die Broadcast-Adresse 192.168.101.255).

Das NTP-Protokoll ermöglicht eine Broadcast-Methode zum Ankündigen von Zeitquellen.

Multicast
Innerhalb eines Unternehmensnetzwerks kann Multicast Live-Videos an mehrere Knoten übertragen, ohne dass der Server, der den Video-Feed bereitstellt, über eine massive Bandbreite verfügen muss. Auf diese Weise kann ein Videoserver einen 720p-Stream nur über eine 100-MB-Verbindung einspeisen und diesen Feed dennoch an 3000 Clients weiterleiten.

Als Novell von IPX zu IP wechselte, mussten sie ein Dienstwerbeprotokoll auswählen, um das SAP-Protokoll in IPX zu ersetzen. In IPX, dem Service Advertising Protocol, wurde jedes Mal eine netzwerkweite Ankündigung durchgeführt, wenn bekannt gegeben wurde, dass ein Dienst verfügbar ist. Da für TCP / IP ein solches globales Ansageprotokoll fehlte, entschied sich Novell stattdessen für ein Multicast-basiertes Protokoll: das Service Location Protocol. Neue Server melden ihre Dienste in der SLP-Multicast-Gruppe an. Kunden, die nach bestimmten Arten von Diensten suchen, geben der Multicast-Gruppe ihren Bedarf bekannt und warten auf Unicast-Antworten.

HP Drucker melden ihre Anwesenheit standardmäßig in einer Multicast-Gruppe an. Mit den richtigen Tools können Sie ganz einfach feststellen, welche Drucker in Ihrem Netzwerk verfügbar sind.

Das NTP - Protokoll auch ermöglicht ein Multicast - Verfahren (IP 224.0.1.1) für mehr als nur eine Subnetz Zeitquellen Bereiche ankündigen.

Anycast
Anycast ist etwas Besonderes, da Unicast-Ebenen darüber liegen. Anycast kündigt dasselbe Netzwerk in verschiedenen Teilen des Netzwerks an, um die für den Zugriff auf dieses Netzwerk erforderlichen Netzwerksprünge zu verringern.

Das 6to4 IPv6-Übergangsprotokoll verwendet Anycast. 6to4-Gateways geben ihre Anwesenheit auf einer bestimmten IP-Adresse (192.88.99.1) bekannt. Clients, die ein 6to4-Gateway verwenden möchten, senden Datenverkehr an 192.88.99.1 und vertrauen darauf, dass das Netzwerk die Verbindungsanforderung an einen 6to4-Router sendet.

NTP-Dienste für besonders beliebte NTP-Hosts sind möglicherweise Anycasts, aber ich habe keinen Beweis dafür. Das Protokoll enthält nichts, was dies verhindern könnte.

Andere Dienste verwenden Anycast, um die Datenlokalität für Endbenutzer zu verbessern. Google erstellt Anycast mit seinen Suchseiten an einigen Stellen (und Geo-IP an anderen Stellen). Die Root-DNS-Server verwenden Anycast aus ähnlichen Gründen. ServerFault selbst könnte dort hingehen, es gibt Rechenzentren in New York und Oregon, aber noch nicht dorthin.


Netzwerkbedenken

Übermäßiger Broadcast-Verkehr kann allen Knoten in diesem Subnetz Bandbreite rauben. Dies ist heutzutage bei Vollduplex-GigE-Ports weniger ein Problem, aber in den 10-MB-Halbduplex-Tagen könnte ein Broadcast-Sturm ein Netzwerk sehr schnell zum Erliegen bringen. Diese Halbduplex-Netzwerke mit einer großen Kollisionsdomäne auf allen Knoten waren besonders anfällig für Broadcast-Stürme, weshalb Netzwerkbücher, insbesondere ältere, den Broadcast-Verkehr im Auge behalten sollen. Switched / Full-Duplex-Netzwerke sind bei einem Broadcast-Sturm viel schwerer zum Erliegen zu bringen, können aber dennoch auftreten. Broadcast ist für die ordnungsgemäße Funktion von IP-Netzwerken erforderlich .

Multicast hat die gleiche Möglichkeit für Missbrauch. Wenn ein Knoten in der Multicast-Gruppe große Datenmengen an diese Gruppe sendet, sehen alle abonnierten Knoten den gesamten Datenverkehr. Wie bei Broadcasts kann übermäßiger Mcast-Verkehr die Wahrscheinlichkeit von Kollisionen bei solchen Verbindungen erhöhen, bei denen dies ein Problem darstellt.

Multicast ist eine optionale Funktion für IPv4, wird jedoch für IPv6 benötigt . Die IPv4-Übertragung wird in IPv6 durch Multicast ersetzt (Siehe auch: Warum kann IPv6 keine Übertragungen senden? ). In IPv4-Netzwerken wird es häufig deaktiviert. Nicht zufällig ist das Aktivieren von Multicast einer der vielen Gründe, warum Netzwerkingenieure den Umstieg auf IPv6 ablehnen, bevor sie dies tun müssen.

Die Berechnung, wie viel Verkehr zu viel Verkehr ist, hängt von einigen Dingen ab

  • Halb- oder Vollduplex : Halbduplex-Netzwerke haben viel geringere Toleranzen für Bcast / Mcast-Verkehr.
  • Geschwindigkeit der Netzwerkports: Je schneller Ihr Netzwerk ist, desto weniger wird dies zum Problem. In den 10-MB-Ethernet-Tagen könnten 5 bis 10% des Datenverkehrs auf einem Port übertragen werden, wenn nicht sogar mehr, aber bei GigE sind weniger als 1% (wahrscheinlich weit weniger) wahrscheinlicher.
  • Anzahl der Knoten im Netzwerk: Je mehr Knoten Sie haben, desto mehr unvermeidbarer Broadcast-Verkehr entsteht (ARP). Wenn Sie bestimmte Broadcast-Protokolle verwenden, ändert sich das Windows-Browsing oder andere Dinge wie Cluster-Heartbeats, bei denen Probleme auftreten.
  • Netzwerktechnologie: Kabelgebundenes Ethernet ist schnell genug, so lange Sie über moderne Geräte verfügen, ist es unwahrscheinlich, dass Bcast / Mcast Probleme verursachen. Auf der anderen Seite kann Wireless unter übermäßigem Broadcast-Verkehr leiden, da es ein von allen Knoten gemeinsam genutztes Medium ist und sich daher in einer einzigen Kollisionsdomäne befindet.

Am Ende rauben Bcast- und Mcast-Datenverkehr die Bandbreite von oben nach unten. Wann Sie sich Sorgen machen müssen, hängt in hohem Maße von Ihrem individuellen Netzwerk und der Toleranz für variable Leistung ab. Im Allgemeinen ist die Anzahl der Netzwerkknoten nicht so hoch wie die Netzwerkgeschwindigkeit, sodass die prozentuale Anzahl der Broadcasts im Laufe der Zeit gesunken ist.

Einige Netzwerke erlauben Multicast aus bestimmten Gründen nicht, andere haben sich nie die Zeit genommen, es einzurichten. Es gibt einige Multicast-Protokolle, die jedem, der nach den richtigen Dingen sucht, interessante Informationen liefern können (SLP ist eines davon). Persönlich stört mich der geringe Multicast-Verkehr nicht, da der größte Ärger, den ich dabei gesehen habe, verschmutzte Netzwerk-Captures sind, wenn ich Netzwerkanalysen durchführe. und dafür gibt es filter.


4
+1. Broadcasts können und werden auf beiden Ebenen 2 und 3 ausgeführt. Eine ARP-Anforderung ist ein Layer-2-Broadcast, während eine NetBIOS-Namensabfrage ein Layer-3-Broadcast ist.
Joeqwerty

1
Eine absolut fantastische Antwort. Ich würde +10, wenn ich könnte. Mir gefällt besonders Ihre Diskussion über SLP, da ich mit mcast verwandte Probleme hatte.

11

Hier sind einige grundlegende Informationen:

Unicast: Unicast-Verkehr ist Verkehr, der für einen einzelnen Host bestimmt ist. Alle anderen Hosts ignorieren Unicast-Verkehr, der nicht für sie selbst bestimmt ist. In einer vermittelten Umgebung wird Unicast-Verkehr im Allgemeinen von keinem anderen Host als dem Host "gehört", für den der Verkehr bestimmt ist. In einer Umgebung, in der Hubs (Shudder) verwendet werden, "hören" alle Hosts den Unicast-Datenverkehr, der für jeden anderen Host bestimmt ist, ignorieren jedoch den gesamten Datenverkehr, der nicht für sich selbst bestimmt ist.

Broadcast: Broadcast-Verkehr ist Verkehr, der mit der Absicht gesendet wird, von allen Hosts in einem bestimmten Netzwerksegment "gehört" zu werden. Beispiele für Broadcast-Verkehr wären eine ARP-Anforderung, die ein Broadcast auf der physischen Ebene (MAC-Adresse FF-FF-FF-FF-FF-FF) ist, oder eine NetBIOS-Namensabfrage, die ein Broadcast auf der Netzwerkebene ist (was auch immer passiert) die Broadcast-Adresse für dieses bestimmte Netzwerk sein, z. B. 64.28.42.63 für das Netzwerk 64.28.42.0/26).

Multicast: Multicast-Verkehr ist Verkehr, der mit der Absicht gesendet wird, von einer bestimmten Gruppe von Hosts in einem Netzwerksegment "gehört" zu werden. Ein Teil des Multicast-Verkehrs kann als Broadcast-Verkehr betrachtet werden, z. B. Verkehr an die Multicast-Adresse 224.0.0.1, bei der es sich um Multicast-Verkehr handelt, der für alle Hosts in demselben Netzwerksegment bestimmt ist. Ein weiteres Beispiel für Multicast-Verkehr wäre der Verkehr, der an die Multicast-Adresse 224.0.0.9 gesendet wird. Mit dieser Adresse senden RIP-Router Routing-Informationen an andere RIP-Router im selben Netzwerksegment.

Ich überlasse Anycast jemand anderem, da ich nicht so viel darüber weiß.


Ich war eigentlich froh, dass es auch beantwortet wurde. Ich wusste auch nicht, was Anycast war.
KCotreau

6

Anycast ist in IPv4 keine allgemein akzeptierte Art der Kommunikation, aber in IPv6 vorhanden.

In IPv4 gibt es drei Kommunikationstypen: 1) Unicast, 2) Multicast und 3) Broadcast.

1) IPv4-Unicast- Eins-zu-Eins-Kommunikationstyp. Ein Netzwerkgerät kommuniziert mit einem anderen Netzwerkgerät. Für Unicast verwendete Layer-3-Adresse sind IPv4-Adressen der Klassen A, B und C. Die Layer 2-Adresse ist eine Unicast-MAC-Adresse.

Beispiel: Durchsuchen einer Website, Herunterladen einer Datei über FTP, Herstellen einer Verbindung zu einem anderen Gerät mithilfe von SSH (Secure Shell) usw.

2) IPv4-Multicast Eins-zu-viele-Kommunikationstyp. Ein Netzwerkgerät sendet ein IPv4-Datenpaket und es wird an die Geräte gesendet, die an diesem Datenverkehr interessiert sind. Die für IPv4-Multicast verwendete Layer-3-Adresse ist eine IPv4-Adresse der Klasse D (beginnt bei 224 bis 239). Die Layer-2-Adresse für IPv4-Multicast beginnt mit "01: 00: 5e".

Beispiel: IPTV, OSPF-Hello-Nachrichten, EIGRP-Hello-Nachrichten, RIPv2-Routenaktualisierungen.

3) IPv4-Broadcast- One-to-All-Kommunikationstyp. Ein Netzwerkgerät sendet ein IPv4-Datenpaket und es werden alle Geräte in diesem LAN-Segment ausgeliefert. Das Problem mit dem Broadcast-Verkehr ist, dass Broadcasts alle Geräte im LAN stören und zu Bandbreitenverschwendung führen.

Beispiel: DHCPv4-Ermittlungsnachrichten

In IPv6 gibt es Unicast, Multicast und Anycast. Das Konzept von Unicast und Multicast ist in IPv4 und IPv6 identisch, mit Ausnahme der Änderungen der IPv6-Layer-3-Adressen, die für Broadcast & Multicast verwendet werden, und der Layer-2-Adresse, die für Multicast verwendet wird. Die für den IPv6-Multicast-Verkehr verwendete Schicht-2-Adresse beginnt bei "33:33:" (in IPv4 ist dies "01: 00: 5e").

IPv6-Anycast Der IPv6-Anycast-Kommunikationstyp wird verwendet, um eine Schnittstelle aus einer Gruppe von Schnittstellen zu identifizieren, die denselben Dienst bereitstellen, jedoch in der Nähe des Clients in der Routingentfernung (wir können die Routingentfernung mit der geografischen Entfernung vergleichen). Anycast ist nur mit Hilfe von Routing-Protokollen möglich.

Weitere Informationen zu IPv6 Anycast finden Sie unter dem folgenden Link.

http://www.omnisecu.com/tcpip/ipv6/unicast-multicast-anycast-types-of-network-communication-in-ipv6.php

Beispiel: Mein Zuhause befindet sich in Indien, und ich möchte den vollqualifizierten Domänennamen " www.serverfault.com " in eine IP-Adresse auflösen . Stellen Sie sich vor, ich habe drei DNS-Server, einen in den USA, einen in Kanada und einen in Indien, die alle denselben Service anbieten. Die bessere Wahl ist der DNS-Server aus Indien, da er sich in der Nähe meines Hauses befindet. Ich erhalte eine schnellere Antwort und verursache weniger Netzwerkverkehr, wenn ich den Dienst in meiner Nähe nutze. Anycast kann den Server in meiner Nähe finden und den Dienst von diesem Server erhalten.


0

Nur eine Klarstellung zu Anycast.

Anycast sollte definitiv nicht mit den anderen * Casts gruppiert werden. Allerdings ist die Schicht nicht oben von Unicast auf , weil es IST Unicast. Der Begriff wird einfach verwendet, um zu kennzeichnen, dass dieselbe IP an mehreren Stellen vorhanden sein kann. Insofern handelt es sich um einen eingängigen Missbrauch von "cast". Ein bisschen wie "WiFi" ist ein eingängiger Begriff, der auf dem Begriff "Hi-Fi" basiert, obwohl die beiden nichts miteinander zu tun haben.

Wenn ein Router dasselbe Unicast-Präfix von mehreren Quellen hört, weiß er nicht (und es ist ihm auch egal), ob es sich um verschiedene Ziele handelt (Anycast) oder ob es sich um dasselbe Ziel handelt, das über verschiedene Pfade erreichbar ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.