esenbyte-header.jpg
Kostenfreie Erstberatung
Jetzt anrufen!
Hervorragend bewertet - Stand 2020
für
iOS
iPad OS
Android
Software-Entwicklung
Ihre
esenbyte
usb
storage
security
App-Agentur
Ihre kompetente App Agentur für Ihre individuelle App für den AppStore oder PlayStore
Ihr App-Entwickler in München


Netzwerk

Netzwerk (35)

Sonntag, 17 Mai 2020 12:00

Teil 3: Transport der Daten via TCP und UDP im Netzwerk

geschrieben von

TCP-Funktionen

Im vorherigen Artikel haben Sie gelernt, dass TCP und UDP die beiden Transportschichtprotokolle sind. In diesem Artikel finden Sie weitere Einzelheiten darüber, was TCP tut und wann es eine gute Idee ist, es anstelle von UDP zu verwenden.

Um die Unterschiede zwischen TCP und UDP zu verstehen, ist es wichtig sich bewusst zu machen, wie jedes Protokoll spezifische Zuverlässigkeitsmerkmale implementiert und wie jedes Protokoll Kommunikation verfolgt. Neben der Unterstützung der Grundfunktionen der Datensegmentierung und -wiederzusammenfügung bietet TCP auch die folgenden Dienste:

  • Aufbau einer Sitzung: TCP ist ein verbindungsorientiertes Protokoll, das vor der Weiterleitung von Datenverkehr eine permanente Verbindung (oder Sitzung) zwischen Quell- und Zielgeräten aushandelt und aufbaut. Durch den Sitzungsaufbau handeln die Geräte die Menge an Verkehr aus, die zu einem bestimmten Zeitpunkt weitergeleitet werden kann, und die Kommunikationsdaten zwischen den beiden Geräten können genau verwaltet werden.
  • Gewährleistet eine zuverlässige Zustellung: Aus vielen Gründen ist es möglich, dass ein Segment bei der Übertragung über das Netzwerk beschädigt wird oder ganz verloren geht. TCP stellt sicher, dass jedes Segment, das von der Quelle gesendet wird, am Ziel ankommt.
  • Bietet Zustellung in der gleichen Reihenfolge: Da Netzwerke unter Umständen mehrere Routen mit unterschiedlichen Übertragungsraten anbieten, können Daten in der falschen Reihenfolge ankommen. Durch Nummerierung und Sequenzierung der Segmente stellt TCP sicher, dass die Segmente in der richtigen Reihenfolge wieder zusammengesetzt werden.
  • Unterstützt Flusskontrolle: Netzwerk-Hosts haben begrenzte Ressourcen (d.h. Speicher und Verarbeitungsleistung). Wenn TCP weiß, dass diese Ressourcen überlastet sind, kann es die sendende Anwendung auffordern, die Datenflussrate zu reduzieren. Dies geschieht, indem TCP die von der Quelle übertragene Datenmenge reguliert. Die Flusssteuerung kann die Notwendigkeit einer erneuten Übertragung der Daten verhindern, wenn die Ressourcen des empfangenden Hosts überlastet sind. Weitere Informationen über TCP finden Sie im Internet unter RFC 793.

 

TCP Header

TCP ist ein zustandsorientiertes Protokoll, d.h. es verfolgt den Zustand der Kommunikationssitzung. Um den Zustand einer Sitzung zu verfolgen, zeichnet TCP auf, welche Informationen es gesendet hat und welche Informationen bestätigt wurden. Die zustandsbehaftete Sitzung beginnt mit dem Sitzungsaufbau und endet mit dem Sitzungsende.

Ein TCP-Segment fügt 20 Byte (d.h. 160 Bit) Overhead hinzu, wenn die Daten der Anwendungsschicht gekapselt werden.

 

Die Tabelle zeigt die Felder in einem TCP-Header, welcher insgesamt 20 Byte umfasst:

Source Port (16)/ Quell-Port (16)   Destination Port (16)/Ziel-Port  
 Sequence Number (32)/Laufende Nummer 
 Acknowledgement Number (32)/Bestätigungsnummer 

Header Length (4)

 Reserved (6)  Control Bits (6) Window (16) 
Checksum (16)/Prüfsumme (16)  Urgent (16)/Dringend  
Options (0 or 32 if any)/Optionen (0 oder 32, falls vorhanden)
Application Layer Data(Size Varies)/Daten der Anwendungsschicht (Größe variiert) 

 

TCP-Header-Felder:

TCP Header FieldBeschreibung
Source Port Ein 16-Bit-Feld, das zur Identifizierung der Quellanwendung anhand der Portnummer verwendet wird.
Destination Port Ein 16-Bit-Feld, das verwendet wird, um die Zielanwendung anhand der Port-Nummer zu identifizieren.
Sequence Number Ein 32-Bit-Feld, das zum Wiederzusammenfügen von Daten verwendet wird.
Acknowledgment Number Ein 32-Bit-Feld, das verwendet wird, um anzuzeigen, dass Daten empfangen wurden und das nächste von der Quelle erwartete Byte.
Header Length Ein 4-Bit-Feld mit der Bezeichnung ʺdata offsetʺ, das die Länge des TCP-Segment-Headers angibt.
Reserved Ein 6-Bit-Feld, das für die zukünftige Verwendung reserviert ist.
Control bits Ein 6-Bit-Feld, das Bitcodes oder Flags enthält, die den Zweck und die Funktion des TCP-Segments angeben.
Window size Ein 16-Bit-Feld, das verwendet wird, um die Anzahl der Bytes anzugeben, die auf einmal akzeptiert werden können.
Checksum Ein 16-Bit-Feld, das zur Fehlerprüfung des Segmentkopfes und der Daten verwendet wird.
Urgent Ein 16-Bit-Feld, das verwendet wird, um anzuzeigen, ob die enthaltenen Daten dringend sind.

 

Anwendungen, die TCP verwenden

TCP ist ein gutes Beispiel dafür, dass die verschiedenen Schichten der TCP/IP-Protokollreihe spezifische Rollen haben. TCP übernimmt alle Aufgaben, die mit der Aufteilung des Datenflusses in Segmente, der Gewährleistung der Zuverlässigkeit, der Kontrolle des Datenflusses und der Neuordnung der Segmente verbunden sind. Durch TCP wird die Anwendung von der Verwaltung dieser Aufgaben befreit.

Anwendungen können den Datenfluss einfach an die Transportschicht senden und die Dienste von TCP nutzen. Hierzu zählen: 

  • HTTP
  • FTP
  • SMTP
  • SSH
  • TCP
  • Und IP zu/durch TCP

Transmission Control Protocol (TCP):

IP befasst sich nur mit der Struktur, Adressierung und Weiterleitung von Paketen, vom ursprünglichen Absender bis zum endgültigen Ziel. IP ist nicht dafür verantwortlich, die Zustellung zu garantieren oder zu bestimmen, ob eine Verbindung zwischen Sender und Empfänger hergestellt werden muss.TCP gilt als ein zuverlässiges, mit allen Funktionen ausgestattetes Transportschichtprotokoll, das sicherstellt, dass alle Daten am Zielort ankommen. TCP enthält Felder, die die Zustellung der Anwendungsdaten sicherstellen. Diese Felder erfordern eine zusätzliche Verarbeitung durch die sendenden und empfangenden Hosts.

TCP unterteilt Daten in Segmente, dabei ist der TCP-Transport analog zum Senden von Paketen, die von der Quelle zum Ziel verfolgt werden. Im Falle, dass ein Versandauftrag in mehrere Pakete aufgeteilt wird, kann ein Kunde online die Reihenfolge der Lieferung überprüfen.TCP bietet Zuverlässigkeit und Flusskontrolle unter Verwendung dieser Grundoperationen:

  • Anzahl und Verfolgung von Datensegmenten, die von einer bestimmten Anwendung an einen bestimmten Host übertragen werden
  • Empfangene Daten bestätigen
  • Nicht bestätigte Daten nach einer bestimmten Zeit erneut senden
  • Sequenzdaten, die in falscher Reihenfolge ankommen könnten
  • Senden von Daten mit einer effizienten Rate, die für den Empfänger akzeptabel ist

Um den Zustand einer Konversation aufrechtzuerhalten und die Informationen zu verfolgen, muss TCP zunächst eine Verbindung zwischen dem Sender und dem Empfänger herstellen. Aus diesem Grund wird TCP als verbindungsorientiertes Protokoll bezeichnet. 

User Datagram Protocol (UDP):

UDP ist ein einfacheres Transportschichtprotokoll als TCP. Es bietet keine Zuverlässigkeit und Flusskontrolle, was bedeutet, dass es weniger Header-Felder benötigt. Da die UDP-Prozesse des Senders und des Empfängers keine Zuverlässigkeit und Flusssteuerung verwalten müssen, bedeutet dies, dass UDP-Datagramme schneller verarbeitet werden können als TCP-Segmente. UDP bietet die Grundfunktionen für die Lieferung von Datagrammen zwischen den entsprechenden Anwendungen mit sehr wenig Overhead und Datenkontrolle.

UDP unterteilt Daten in Datagramme, die auch als Segmente bezeichnet werden. Anders als TCP, ist UDP ein verbindungsloses Protokoll. Da UDP weder Zuverlässigkeit noch Flusskontrolle bietet, erfordert es keine etablierte Verbindung. Darüber hinaus verfoglt UDP keine zwischen Client und Server gesendeten oder empfangenen Informationen und wird daher auch als zustandsloses Protokoll bezeichnet.

Ferner wird UDP auch als "Best Effort Delivery"-Protokoll bezeichnet, da es keine Bestätigung gibt, dass die Daten am Zielort empfangen werden, ergo gibt es bei UDP keine Transportschichtprozesse, die den Sender über eine erfolgreiche Zustellung informieren. UDP ist wie ein normaler, nicht eingeschriebener Brief in der Post. Der Absender des Briefes ist sich der Verfügbarkeit des Empfängers für den Empfang des Briefes nicht bewusst. Auch ist die Post nicht dafür verantwortlich, den Brief zu verfolgen oder den Absender zu informieren, wenn der Brief nicht am endgültigen Bestimmungsort eintrifft, sofern man keine spezifische Option zur Verfolgung gewählt hat. 

Das richtige Transportschichtprotokoll für die richtige Anwendung:

Einige Anwendungen können einen gewissen Datenverlust während der Übertragung über das Netzwerk tolerieren, aber Verzögerungen bei der Übertragung sind inakzeptabel. Für diese Anwendungen ist UDP die bessere Wahl, da es weniger Netzwerk-Overhead erfordert. Für Anwendungen wie Voice over IP (VoIP) ist UDP vorzuziehen. Bestätigungen und Weiterleitung würden die Zustellung verlangsamen und das Telefongespräch inakzeptabel machen.

UDP wird auch von Anfrage-und-Antwort-Anwendungen verwendet, bei denen die Daten minimal sind und die Weiterleitung schnell erfolgen kann. Beispielsweise verwendet der Domain Name Service (DNS) UDP für diese Art von Transaktionen. Der Client fordert IPv4- und IPv6-Adressen für einen bekannten Domänennamen von einem DNS-Server an. Wenn der Client innerhalb einer vorgegebenen Zeitspanne keine Antwort erhält, sendet er die Anfrage einfach erneut.

Sollten z. B. ein oder zwei Segmente eines Live-Video-Streams nicht ankommen, führt dies zu einer vorübergehenden Unterbrechung des Streams. Dies kann als Verzerrung im Bild oder Ton erscheinen, ist aber für den Benutzer möglicherweise nicht wahrnehmbar. Wenn das Zielgerät für Datenverluste aufkommen müsste, könnte der Stream während des Wartens auf erneute Übertragungen verzögert werden, wodurch das Bild oder der Ton stark beeinträchtigt werden könnte. In diesem Fall ist es besser, die bestmöglichen Medien mit den empfangenen Segmenten zu liefern und auf Zuverlässigkeit zu verzichten.

Bei anderen Anwendungen ist es wichtig, dass alle Daten ankommen und in der richtigen Reihenfolge verarbeitet werden können. Für diese Art von Anwendungen wird TCP als Transportprotokoll verwendet. Beispielsweise erfordern Anwendungen wie Datenbanken, Webbrowser und E-Mail-Clients, dass alle gesendeten Daten in ihrem ursprünglichen Zustand am Zielort ankommen. Fehlende Daten könnten eine Kommunikation verfälschen und sie entweder unvollständig oder unlesbar machen. So ist es beispielsweise beim Zugriff auf Bankinformationen über das Internet wichtig, sicherzustellen, dass alle Informationen korrekt gesendet und empfangen werden.

Die Anwendungsentwickler müssen je nach den Anforderungen der Anwendungen wählen, welcher Transportprotokolltyp geeignet ist. Video kann über TCP oder UDP gesendet werden. Anwendungen, die gespeichertes Audio und Video streamen, verwenden in der Regel TCP. Die Anwendung verwendet TCP zur Durchführung von Pufferung, Bandbreitensondierung und Staukontrolle, um die Benutzererfahrung besser kontrollieren zu können.

Echtzeit-Video und Sprache verwenden normalerweise UDP, können aber auch TCP oder sowohl UDP als auch TCP verwenden. Eine Videokonferenzanwendung kann standardmäßig UDP verwenden, aber da viele Firewalls UDP blockieren, kann die Anwendung auch über TCP gesendet werden.

Anwendungen, die gespeichertes Audio und Video streamen, verwenden TCP. Wenn Ihr Netzwerk beispielsweise plötzlich die für die Wiedergabe eines On-Demand-Films benötigte Bandbreite nicht mehr unterstützt, unterbricht die Anwendung die Wiedergabe. Während der Pause sehen Sie möglicherweise eine "Pufferung..."-Meldung, während TCP daran arbeitet, den Stream wieder herzustellen. Wenn alle Segmente in Ordnung sind und ein Mindestmaß an Bandbreite wiederhergestellt ist, wird Ihre TCP-Sitzung fortgesetzt, und die Wiedergabe des Films wird fortgesetzt.

Fassen wir  die Unterschiede zwischen UDP und TCP zusammen:

 UDP (verbindungslos)
TCP (verbindungsorientiert)

 VoIP(Ports variieren), DNS(Port 53) IP-Telefonie und 

Domain Name Resolution/Auflösung von Domänennamen

 SMTP(Port 465/587/25), IMAP(Port 993) E-Mail

Erforderliche Protokolleigenschaften:

  • Schnell
  • Geringer Overhead
  • Erfordert keine Bestätigungen
  • sendet verlorene Daten nicht erneut
  • Liefert Daten, sobald sie ankommen

Erforderliche Protokolleigenschaften:

  • Zuverlässig
  • Bestätigt Daten
  • Sendet verlorene Daten zurück
  • Liefert Daten in sequentieller Reihenfolge

 

Sonntag, 10 Mai 2020 12:00

Teil 1: Transport der Daten via TCP und UDP im Netzwerk

geschrieben von

Funktion der Transportschicht:

Programme der Anwendungsschicht erzeugen Daten, die zwischen Quell- und Ziel-Hosts ausgetauscht werden müssen. Die Transportschicht - Sie erinnern sich, Layer 4, Tranportschicht -  ist für die logische Kommunikation zwischen Anwendungen zuständig, die auf verschiedenen Hosts laufen. Dazu können Dienste wie der Aufbau einer temporären Sitzung zwischen zwei Hosts und die zuverlässige Übertragung von Informationen für eine Anwendung gehören. Die Transportschicht die Verbindung zwischen der Anwendungsschicht und den unteren Schichten, die für die Netzwerkübertragung zuständig sind.

Die Transportschicht hat keine Kenntnis über den Ziel-Host-Typ, die Art der Medien, über die die Daten transportiert werden müssen, den Weg, den die Daten nehmen, den Stau auf einer Verbindung oder die Größe des Netzwerks. Die Transportschicht umfasst zwei Protokolle:

  • Transmission Control Protocol (TCP)
  • User Datagram Protocol (UDP)

 

Aufgaben der Transportschicht:

Tracking/Verfolgen einzelner Konversationen

Auf der Transportschicht wird jeder Datensatz, der zwischen einer Quellanwendung und einer Zielanwendung fließt, als Konversation bezeichnet und separat verfolgt. Es liegt in der Verantwortung der Transportschicht, diese Mehrfachkonversationen aufrechtzuerhalten und zu verfolgen. Ein Host kann über mehrere Anwendungen verfügen, die gleichzeitig über das Netzwerk kommunizieren. Die meisten Netzwerke haben eine Begrenzung der Datenmenge, die in einem einzigen Paket enthalten sein kann. Daher müssen die Daten in handhabbare Stücke aufgeteilt werden.

Segmentieren von Daten und Wiederzusammensetzen von Segmenten

Es liegt in der Verantwortung der Transportschicht, die Anwendungsdaten in Blöcke geeigneter Größe aufzuteilen. Je nach dem verwendeten Transportschichtprotokoll werden die Blöcke der Transportschicht entweder Segmente oder Datagramme genannt. Die Transportschicht unterteilt die Daten in kleinere Blöcke (d.h. Segmente oder Datagramme), die einfacher zu verwalten und zu transportieren sind.

Header-Informationen hinzufügen

Das Transportschichtprotokoll fügt jedem Datenblock auch Header-Informationen hinzu, die binäre Daten enthalten, die in mehreren Feldern organisiert sind. Es sind die Werte in diesen Feldern, die es den verschiedenen Transportschichtprotokollen ermöglichen, unterschiedliche Funktionen bei der Verwaltung der Datenkommunikation auszuführen. Beispielsweise werden die Header-Informationen vom empfangenden Host verwendet, um die Datenblöcke wieder zu einem vollständigen Datenstrom für das empfangende Programm der Anwendungsschicht zusammenzusetzen. Die Transportschicht stellt sicher, dass auch bei mehreren auf einem Gerät laufenden Anwendungen alle Anwendungen die korrekten Daten erhalten.

Identifizieren der Anwendungen

Die Transportschicht muss in der Lage sein, mehrere Kommunikationen mit unterschiedlichen Transportanforderungen zu trennen und zu verwalten. Um Datenströme an die richtigen Anwendungen weiterzuleiten, identifiziert die Transportschicht die Zielanwendung anhand einer Kennung, die als Portnummer bezeichnet wird. Jedem Softwareprozess, der auf das Netzwerk zugreifen muss, wird eine für diesen Host eindeutige Portnummer zugewiesen.

Gesprächsmultiplexen

Das Senden bestimmter Datentypen (z. B. ein Video-Streaming) über ein Netzwerk als ein kompletter Kommunikationsstrom kann die gesamte verfügbare Bandbreite beanspruchen. Dies würde verhindern, dass gleichzeitig andere Kommunikationsgespräche stattfinden. Es würde auch die Fehlerbehebung und die erneute Übertragung beschädigter Daten erschweren, daher verwendet die Transportschicht Segmentierung und Multiplexing, um die Verschachtelung verschiedener Kommunikationsgespräche im selben Netzwerk zu ermöglichen. An den Daten im Segment kann eine Fehlerprüfung durchgeführt werden, um festzustellen, ob das Segment während der Übertragung verändert wurde.

 

Transportschicht-Protokolle:

IP befasst sich nur mit der Struktur, Adressierung und dem Routing von Paketen. IP gibt nicht an, wie die Zustellung oder der Transport der Pakete erfolgt. Protokolle der Transportschicht spezifizieren, wie Nachrichten zwischen Hosts übertragen werden, und sind für die Verwaltung der Zuverlässigkeitsanforderungen einer Konversation verantwortlich. Die Transportschicht umfasst die Protokolle TCP und UDP. Verschiedene Anwendungen haben unterschiedliche Anforderungen an die Transportzuverlässigkeit. Daher bietet TCP/IP zwei Transportschichtprotokolle wie folgt: TCP und UDP.  

Im nächsten Artikel  befassen wir uns mit diesen Protokollen ausführlich.

Der Ping - Konnektivität testen:

In diesem Thema erfahren Sie, in welchen Situationen die einzelnen Werkzeuge wie Ping sowie Traceroute eingesetzt werden und wie sie zu verwenden sind. Ping ist ein IPv4- und IPv6-Testtool, das ICMP-Echo-Request- und Echo-Reply-Nachrichten verwendet, um die Konnektivität zwischen Hosts zu testen.

Um die Konnektivität zu einem anderen Host in einem Netzwerk zu testen, wird mit dem Ping-Befehl eine Echoanforderung an die Host-Adresse gesendet. Gesetzt den Fall, dass der Host an der angegebenen Adresse die Echo-Anforderung erhält, antwortet er mit einer Echo-Antwort. Bei jedem Empfang einer Echo-Antwort liefert Ping eine Rückmeldung über die Zeit zwischen dem Senden der Anforderung und dem Empfang der Antwort. Dies kann ein Maß für die Netzwerkleistung sein.

Ping hat einen Zeitüberschreitungswert für die Antwort. Im Falle, dass eine Antwort nicht innerhalb des Timeout-Wertes empfangen wird, liefert Ping eine Nachricht, die anzeigt, dass keine Antwort empfangen wurde. Dies kann darauf hinweisen, dass ein Problem vorliegt, könnte aber auch darauf hinweisen, dass Sicherheitsfunktionen, die Ping-Nachrichten blockieren, im Netzwerk aktiviert wurden. Es kommt häufig vor, dass der erste Ping eine Zeitüberschreitung verursacht, wenn vor dem Senden der ICMP-Echoanforderung eine Adressauflösung (ARP oder ND) durchgeführt werden muss.

Nachdem alle Anforderungen gesendet wurden, liefert das Ping-Dienstprogramm eine Zusammenfassung, die die Erfolgsrate und die durchschnittliche Hin- und Rücklaufzeit bis zum Ziel enthält.

Zu den mit Ping durchgeführten Konnektivitätstests gehören die folgenden:

  • Anpingen des lokalen Loopback
  • Anpingen des Standard-Gateways
  • Anpingen des Remote-Hosts

 

(An-)Pingen des Loopback:

Ping kann verwendet werden, um die interne Konfiguration von IPv4 oder IPv6 auf dem lokalen Host zu testen. Um diesen Test durchzuführen, pingen Sie die lokale Loopback-Adresse von 127.0.0.1 für IPv4 (::1 für IPv6) an.

Eine Antwort von 127.0.0.1 für IPv4 bzw. ::1 für IPv6 zeigt an, dass IP auf dem Host korrekt installiert ist. Diese Antwort kommt von der Netzwerkschicht, ergo Layer 3, Sie erinnern sich, dass es sich dabei um die Network/Vermittlungsschicht handelt. Diese Antwort ist jedoch kein Hinweis darauf, dass die Adressen, Masken oder Gateways richtig konfiguriert sind. Sie sagt auch nichts über den Status der unteren Schicht des Netzwerk-Stacks aus. Damit wird lediglich IP durch die Netzwerkschicht von IP nach unten getestet. Eine Fehlermeldung zeigt an, dass TCP/IP auf dem Host nicht betriebsbereit ist.

  • Das Anpingen des lokalen Hosts bestätigt, dass TCP/IP auf dem lokalen Host installiert ist und funktioniert.
  • Ping 127.0.0.1 veranlasst ein Gerät, sich selbst anzupingen.

 

Anpingen des Standard-Gateways:

Sie können Ping auch verwenden, um die Fähigkeit eines Hosts zur Kommunikation im lokalen Netzwerk zu testen. Dies geschieht im Allgemeinen durch das Anpingen der IP-Adresse des Standardgateways des Hosts. Ein erfolgreicher Ping an das Standard-Gateway zeigt an, dass der Host und die Router-Schnittstelle, die als Standard-Gateway dient, beide im lokalen Netzwerk betriebsbereit sind.

Für diesen Test wird meistens die Adresse des Standardgateways verwendet, da der Router normalerweise immer betriebsbereit ist. Sofern die Standard-Gateway-Adresse nicht antwortet, kann ein Ping an die IP-Adresse eines anderen Hosts im lokalen Netzwerk gesendet werden, von dem bekannt ist, dass er betriebsbereit ist. Verhält es sich so, dass entweder das Standard-Gateway oder ein anderer Host antwortet, dann kann der lokale Host erfolgreich über das lokale Netzwerk kommunizieren. Für den Fall, dass das Standard-Gateway nicht antwortet, aber ein anderer Host antwortet, könnte dies auf ein Problem mit der als Standard-Gateway dienenden Router-Schnittstelle hinweisen.

Eine Möglichkeit ist, dass auf dem Host die falsche Standard-Gateway-Adresse konfiguriert wurde. Eine andere Möglichkeit besteht darin, dass die Router-Schnittstelle wohl voll funktionsfähig ist, aber mit Sicherheitsvorkehrungen versehen ist, die sie daran hindern, Ping-Anfragen zu verarbeiten oder zu beantworten. 

Der Host pingt sein Standard-Gateway an und sendet eine ICMP-Echo-Anforderung. Das Standard-Gateway sendet eine Echo-Antwort, die die Konnektivität bestätigt.

 

Anpingen eines Remote-Hosts (fernen, entfernten, nicht lokalen):

Ping kann auch verwendet werden, um die Fähigkeit eines lokalen Hosts zur Kommunikation über ein Internet-Netzwerk zu testen. Der lokale Host kann einen betriebsbereiten IPv4-Host eines entfernten Netzwerks anpingen. Der Router verwendet seine IP-Routing-Tabelle zur Weiterleitung der Pakete.

Wenn dieser Ping erfolgreich ist, kann der Betrieb eines großen Teils des Internetnetzes verifiziert werden. Ein erfolgreicher Ping über das Internet-Netzwerk bestätigt die Kommunikation im lokalen Netzwerk, den Betrieb des Routers, der als Standard-Gateway dient, und den Betrieb aller anderen Router, die sich im Pfad zwischen dem lokalen Netzwerk und dem Netzwerk des entfernten Hosts befinden könnten.

Zusätzlich kann die Funktionalität des entfernten Hosts überprüft werden. Wenn der Remote-Host nicht außerhalb seines lokalen Netzwerks kommunizieren könnte, hätte er nicht geantwortet.

Viele Netzwerkadministratoren beschränken oder verbieten die Eingabe von ICMP-Nachrichten in das Unternehmensnetzwerk; daher könnte das Ausbleiben einer Ping-Antwort auf Sicherheitseinschränkungen zurückzuführen sein.

 

Möchten Sie eine App entwickeln lassen? 

Als renommierte App-Agentur sind wir Ihr Partner bei der Entwicklung ihrer eigenen App für die Plattformen Android, iOS und iPadOS. Rufen Sie uns an unter 0176 75191818 oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne unterbreiten wir für ihre zu entwickelnde App ein individuelles Angebot. 

Samstag, 02 Mai 2020 17:19

Internet Control Message Protocol: eine Einführung

geschrieben von

Überblick in Bezug auf ICMPv4 sowie ICMPv6

In diesem Thema erfahren Sie mehr über die verschiedenen Arten von Internet Control Message Protokollen (ICMPs) und die Werkzeuge, die zu deren Versand verwendet werden.

Obwohl IP nur ein Best-Effort-Protokoll ist, sorgt die TCP/IP-Suite für Fehlermeldungen und Informationsmeldungen bei der Kommunikation mit einem anderen IP-Gerät. Diese Nachrichten werden über die Dienste von ICMP gesendet. Der Zweck dieser Nachrichten besteht darin, unter bestimmten Bedingungen Rückmeldungen zu Fragen im Zusammenhang mit der Verarbeitung von IP-Paketen zu geben, und nicht darin, IP zuverlässig zu machen. ICMP-Meldungen sind nicht erforderlich und werden aus Sicherheitsgründen innerhalb eines Netzwerks oft nicht erlaubt.

ICMP ist sowohl für IPv4 als auch für IPv6 verfügbar, ergo istICMPv4 ist das Nachrichtenprotokoll für IPv4 und ICMPv6 bietet die gleichen Dienste für IPv6, enthält jedoch zusätzliche Funktionen. In diesem Artikel wird der Begriff ICMP verwendet, wenn er sich sowohl auf ICMPv4 als auch auf ICMPv6 bezieht.

Die Arten von ICMP-Nachrichten und die Gründe, warum sie gesendet werden, sind umfangreich. Zu den ICMP-Nachrichten, die sowohl ICMPv4 als auch ICMPv6 gemeinsam haben und in diesem Aritekel diskutiert werden, gehören:

  • Erreichbarkeit des Hosts
  • Zielort oder Dienst unerreichbar
  • Zeitüberschreitung

 

Erreichbarkeit des Hosts:

Eine ICMP-Echo-Meldung kann verwendet werden, um die Erreichbarkeit eines Hosts in einem IP-Netzwerk zu testen. Der lokale Host sendet einen ICMP-Echo-Request an einen Host. Wenn der Host verfügbar ist, antwortet der Zielhost mit einer Echo-Antwort.

 

Ziel oder Dienst unerreichbar

Wenn ein Host oder Gateway ein Paket empfängt, das er nicht zustellen kann, kann er eine ICMP-Meldung "Ziel unerreichbar" verwenden, um die Quelle zu benachrichtigen, dass das Ziel oder der Dienst unerreichbar ist. Die Meldung enthält einen Code, der angibt, warum das Paket nicht zugestellt werden konnte.

Einige der Destination Unreachable-Codes für ICMPv4 lauten wie folgt:

0 - Netz nicht erreichbar
1 - Host unerreichbar
2 - Protokoll unerreichbar
3 - Port unerreichbar

Einige der Destination Unreachable-Codes für ICMPv6 lauten wie folgt:

0 - Keine Route zum Ziel
1 - Kommunikation mit dem Zielort ist administrativ verboten (z.B. Firewall)
2 - Über den Rahmen der Quelladresse hinaus
3 - Adresse unerreichbar
4 - Port unerreichbar

ICMPv6 hat ähnliche, aber leicht unterschiedliche Codes für "Destination Unreachable" Meldungen.

 

Zeitüberschreitung

Eine ICMPv4 Time Exceeded-Meldung wird von einem Router verwendet, um anzuzeigen, dass ein Paket nicht weitergeleitet werden kann, weil das Time to Live (TTL)-Feld des Pakets auf 0 dekrementiert wurde. Wenn ein Router ein Paket empfängt und das TTL-Feld im IPv4-Paket auf Null dekrementiert, verwirft er das Paket und sendet eine Time Exceeded-Meldung an den Quell-Host.

ICMPv6 sendet auch eine Time Exceeded-Meldung, wenn der Router ein IPv6-Paket nicht weiterleiten kann, weil das Paket abgelaufen ist. Anstelle des IPv4-TTL-Feldes verwendet ICMPv6 das IPv6-Hop-Limit-Feld, um festzustellen, ob das Paket abgelaufen ist.

  • Nachrichten mit Zeitüberschreitung werden vom Traceroute-Tool verwendet.

 

ICMPv6-Meldungen
ICMPv6 enthält vier neue Protokolle als Teil des Neighbor Discovery Protocol (ND oder NDP).

Die Nachrichten zwischen einem IPv6-Router und einem IPv6-Gerät, einschließlich der dynamischen Adresszuweisung, sind wie folgt:

  • Router Solicitation (RS) Nachricht
  • Router Advertisement (RA) Nachricht

Der Nachrichtenaustausch zwischen IPv6-Geräten, einschließlich der Erkennung von Adressduplikaten und der Adressauflösung, läuft wie folgt ab:

  • Neighbor Solicitation (NS) Nachricht
  • Neighbor Advertisement (NA) Nachricht

ICMPv6 ND enthält auch die Umleitungsnachricht, die eine ähnliche Funktion wie die in ICMPv4 verwendete Redirect-Nachricht hat.

 

RA-Nachricht

RA-Nachrichten werden von IPv6-fähigen Routern alle 200 Sekunden gesendet, um IPv6-fähigen Hosts Adressierungsinformationen zur Verfügung zu stellen. Die RA-Nachricht kann Adressierungsinformationen für den Host enthalten, wie Präfix, Präfixlänge, DNS-Adresse und Domänenname. Ein Host, der Stateless Address Autoconfiguration (SLAAC) verwendet, setzt sein Standardgateway auf die link-lokale Adresse des Routers, der die RA gesendet hat.

RS-Nachricht:

Ein IPv6-fähiger Router sendet als Antwort auf eine RS-Meldung ebenfalls eine RA-Meldung aus.

NS-Nachricht

Wenn einem Gerät eine globale IPv6-Unicast- oder link-lokale Unicast-Adresse zugewiesen wird, kann es eine Duplikat-Adressenerkennung (DAD) durchführen, um sicherzustellen, dass die IPv6-Adresse eindeutig ist. Um die Eindeutigkeit einer Adresse zu überprüfen, sendet das Gerät eine NS-Nachricht mit seiner eigenen IPv6-Adresse als Ziel-IPv6-Adresse.
Wenn ein anderes Gerät im Netzwerk über diese Adresse verfügt, antwortet es mit einer NA-Nachricht. Diese NA-Meldung teilt dem sendenden Gerät mit, dass die Adresse verwendet wird, wenn eine entsprechende NA-Meldung nicht innerhalb einer bestimmten Zeitspanne zurückgegeben wird, ist die Unicast-Adresse eindeutig und für die Verwendung akzeptabel.

DAD ist nicht erforderlich, aber RFC 4861 empfiehlt, dass DAD bei Unicast-Adressen durchgeführt wird.

Ein PC sendet eine NS-Nachbarschaftsanforderungsnachricht an seine eigene, neu konfigurierte IPv6-Adresse, um sicherzustellen, dass es im Netzwerk keinen anderen Host mit derselben IPv6-Adresse gibt, dies ist ein DAD, Erkennung doppelter Adressen.

NA-Nachricht

Die Adressauflösung wird verwendet, wenn ein Gerät im LAN die IPv6-Unicast-Adresse eines Ziels kennt, aber nicht dessen Ethernet-MAC-Adresse. Um die MAC-Adresse für das Ziel zu ermitteln, sendet das Gerät eine NS-Nachricht an die angeforderte Knotenadresse. Die Nachricht enthält die bekannte (Ziel-)IPv6-Adresse. Das Gerät, das über die Ziel-IPv6-Adresse verfügt, antwortet mit einer NA-Nachricht, die seine Ethernet-MAC-Adresse enthält.   

 

Frame-Weiterleitungsmethoden auf Cisco-Switches:

Wie Sie im vorherigen Thema gelernt haben, verwenden Switches ihre MAC-Adresstabellen, um zu bestimmen, welcher Port für die Weiterleitung von Frames verwendet werden soll. Bei Cisco-Switches gibt es eigentlich zwei Frame-Weiterleitungsmethoden, und es gibt gute Gründe, je nach Situation eine statt der anderen zu verwenden.

Switches verwenden eine der folgenden Weiterleitungsmethoden für die Vermittlung von Daten zwischen Netzwerk-Ports:

Store-and-Forward-Switching - Diese Frame-Weiterleitungsmethode empfängt den gesamten Frame und berechnet den CRC. CRC verwendet eine mathematische Formel, die auf der Anzahl der Bits (1s) im Rahmen basiert, um festzustellen, ob der empfangene Rahmen einen Fehler aufweist. Wenn der CRC gültig ist, schaut der Switch nach der Zieladresse, die die ausgehende Schnittstelle bestimmt. Dann wird der Rahmen vom richtigen Port aus weitergeleitet.
Cut-Through-Switching - Diese Frame-Weiterleitungsmethode leitet den Frame weiter, bevor er vollständig empfangen wird. Es muss mindestens die Zieladresse des Frames (Rahmens) gelesen werden, bevor der Frame (Rahmen) weitergeleitet werden kann.
Ein großer Vorteil des Store-and-Forward-Switching besteht darin, dass vor der Weiterleitung des Frames (Rahmens) festgestellt wird, ob ein Frame (Rahmen) Fehler aufweist. Wenn in einem Frame ein Fehler entdeckt wird, verwirft der Switch den Frame. Durch das Verwerfen von fehlerhaften Frames wird die von korrupten Daten verbrauchte Bandbreite reduziert. Store-and-Forward-Switching ist für die Analyse der Dienstgüte (QoS) in konvergenten Netzwerken erforderlich, in denen eine Frameklassifizierung zur Priorisierung des Datenverkehrs erforderlich ist. Beispielsweise müssen Voice-over-IP-Datenströme (VoIP) Priorität vor dem Web-Browsing-Verkehr haben.

 

Cut-Through Switching:

Bei dem Cut-Through Switching wirkt der Switch auf die Daten, sobald sie empfangen werden, auch wenn die Übertragung nicht vollständig ist. Der Switch puffert gerade so viel vom Frame, dass er die Ziel-MAC-Adresse lesen kann, damit er bestimmen kann, an welchen Port er die Daten weiterleiten soll. Die Ziel-MAC-Adresse befindet sich in den ersten 6 Bytes des Rahmens nach der Präambel. Der Switch schaut die Ziel-MAC-Adresse in seiner Switching-Tabelle nach, bestimmt den ausgehenden Schnittstellen-Port und leitet den Frame über den bezeichneten Switch-Port an sein Ziel weiter. Der Switch führt keine Fehlerprüfung des Frames durch.

 

Es gibt zwei Varianten des Cut-Through-Switching:

 

  • Fast-forward switching (Schnelles Weiterleiten)

Das Fast-forward-Switching bietet die geringste Latenzzeit. Beim Fast-Forward-Switching wird ein Paket nach dem Lesen der Zieladresse sofort weitergeleitet. Da das fast-forward switching dmit der Weiterleitung beginnt, bevor das gesamte Paket empfangen wurde, kann es Zeiten geben, in denen Pakete mit Fehlern weitergeleitet werden. Dies kommt nur selten vor, und die Ziel-NIC verwirft das fehlerhafte Paket beim Empfang. Im Fast-Forward-Modus wird die Latenzzeit vom ersten empfangenen Bit bis zum ersten übertragenen Bit gemessen. Das Fast-Forward-Switching ist die typische Cut-Through-Methode des Switching.

  • Fragment-free switching (Fragmentfreies Weiterleiten)

Beim fragmentfreien Switching speichert der Switch die ersten 64 Bytes des Frames vor der Weiterleitung. Fragment-free switching kann als Kompromiss zwischen Speichern und Weiterleitung sowie schnellem Weiterleiten angesehen werden. Der Grund dafür, dass beim fragmentfreien Switching nur die ersten 64 Bytes des Rahmens gespeichert werden, liegt darin, dass die meisten Netzwerkfehler und Kollisionen während der ersten 64 Bytes auftreten. Beim fragmentfreien Weiterleiten wird versucht, das schnelle Weiterleiten zu verbessern, indem eine kleine Fehlerprüfung an den ersten 64 Bytes des Rahmens durchgeführt wird, um sicherzustellen, dass vor dem Weiterleiten des Rahmens keine Kollision aufgetreten ist. Das fragmentfreie Weiterleiten ist ein Kompromiss zwischen der hohen Latenzzeit und der hohen Integrität des Store-and-Forward-Switching und der niedrigen Latenzzeit und der reduzierten Integrität des schnellen Weiterleitens.
Einige Switches sind so konfiguriert, dass sie Cut-Through-Switching auf einer Pro-Port-Basis durchführen, bis ein benutzerdefinierter Fehlergrenzwert erreicht ist, und dann automatisch auf Store-and-Forward-Switching umschalten. Wenn die Fehlerrate unter den Schwellenwert fällt, wechselt der Port automatisch zurück zum Cut-Through-Switching.

 

Sie benötigen professionelle Hilfe rund um das Thema IT?

Wir bieten Ihnen als IT-Systemhaus in München, rund um das Thema IT, professionelle sowie individuelle Lösungen kostengünstig an. Lassen Sie sich von unseren IT-Experten unverbindlich beraten und überzeugen Sie sich von der Expertise und langjähriger Erfahrung unserer fachlich kompetenten Mitarbeiter. Wir freuen uns auf Ihren Anruf unter der Rufnummer 0176 75 19 18 18 oder via E-Mail an: Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Ihr IT-Systemhaus in München. 

Die MAC-Adresstabelle

 

Switch-Grundlagen:

Da Sie nun alles über Ethernet-MAC-Adressen wissen, ist es an der Zeit, darüber zu sprechen, wie ein Switch diese Adressen verwendet, um Frames an andere Geräte in einem Netzwerk weiterzuleiten (oder zu verwerfen). Wenn ein Switch einfach jeden Frame, den er über alle Ports empfängt, weiterleiten würde, wäre Ihr Netzwerk so überlastet, dass es wahrscheinlich ganz zum Erliegen käme.

Ein Layer-2-Ethernet-Switch verwendet Layer-2-MAC-Adressen, um Weiterleitungsentscheidungen zu treffen. Ihm ist völlig unbekannt, welche Daten (Protokoll) im Datenteil des Rahmens übertragen werden, z. B. ein IPv4-Paket, eine ARP-Nachricht oder ein IPv6-ND-Paket. Der Switch trifft seine Weiterleitungsentscheidungen ausschließlich auf der Grundlage der Layer-2-Ethernet-MAC-Adressen.

Ein Ethernet-Switch untersucht seine MAC-Adresstabelle, um für jeden Frame eine Weiterleitungsentscheidung zu treffen, im Gegensatz zu älteren Ethernet-Hubs, die Bits aus allen Ports mit Ausnahme des eingehenden Ports wiederholen. In unserem Beispiel verwendet der Switch vier Anschlüssen, die gerade eingeschaltet wurden. Die Tabelle zeigt die MAC-Adresstabelle, die die MAC-Adressen für die vier angeschlossenen PCs noch nicht gelernt hat.
Zu Demonstrationszwecken sind die MAC-Adressen in diesem Thema durchgehend gekürzt.

MAC Adressen Tabelle
PortMAC Adresse

Wie Sie sehen könnnen, ist die Switch-MAC-Adresstabelle leer. 

Port 1  Port 2  Port 3   Port 4
       
PC A PC B PC C PC D
 MAC  MAC MAC  MAC
 00-0A  00-0B  00-0C  00-0D

 

Die MAC-Adresstabelle wird manchmal auch als inhaltsadressierbare Speichertabelle (CAM-Tabelle) bezeichnet. Der Begriff CAM-Tabelle ist zwar recht gebräuchlich, für die Zwecke der Artikelserie werden wir sie jedoch als MAC-Adresstabelle bezeichnen.

Switch - Lernen und Weiterleiten:

Der Switch baut die MAC-Adresstabelle dynamisch auf, indem er die Quell-MAC-Adresse der auf einem Port empfangenen Frames untersucht. Der Switch leitet Frames weiter, indem er nach einer Übereinstimmung zwischen der Ziel-MAC-Adresse im Frame und einem Eintrag in der MAC-Adressentabelle sucht.

Untersuchen Sie die Quell-MAC-Adresse!

Jeder Rahmen, der in einen Schalter eingegeben wird, wird auf neue zu lernende Informationen geprüft. Dazu werden die Quell-MAC-Adresse des Frames und die Port-Nummer, an der der Frame in den Switch eingegeben wurde, untersucht. Wenn die MAC-Quelladresse nicht existiert, wird sie zusammen mit der eingehenden Portnummer in die Tabelle aufgenommen. Wenn die MAC-Quelladresse vorhanden ist, aktualisiert der Switch den Aktualisierungstimer für diesen Eintrag. Standardmäßig behalten die meisten Ethernet-Switches einen Eintrag in der Tabelle für 5 Minuten.

In der Tabelle zum Beispiel sendet PC-A einen Ethernet-Frame an PC-D. Die Tabelle zeigt, dass der Switch die MAC-Adresse für PC-A zur MAC-Adresstabelle hinzufügt.

Wenn die Quell-MAC-Adresse zwar in der Tabelle, aber an einem anderen Port vorhanden ist, behandelt der Switch diese als neuen Eintrag. Der Eintrag wird unter Verwendung der gleichen MAC-Adresse, aber mit der aktuelleren Portnummer ersetzt.

 

MAC Adressen Tabelle
PortMAC Adresse
1 00-0A

Port 1 

 

Port 2  Port 3   Port 4

 ↑

 

     

PC A

 

PC B

PC C PC D

 MAC

 

 MAC MAC  MAC

 00-0A

 

 00-0B  00-0C  00-0D

Ziel-MAC  
00-0D

Quell-MAC
00-0A  
 Typ            Daten FCS

 

  1. PC-A sendet einen Ethernet-Frame.
  2. Der Switch fügt der MAC-Adresstabelle die Port-Nummer und die MAC-Adresse für PC-A hinzu.

 

 

 

Unicast-MAC-Adresse:

Im Ethernet werden für die Layer-2-Unicast-, Broadcast- und Multicast-Kommunikation unterschiedliche MAC-Adressen verwendet.

Eine Unicast-MAC-Adresse ist die eindeutige Adresse, die verwendet wird, wenn ein Rahmen von einem einzelnen Sendegerät an ein einzelnes Zielgerät gesendet wird.

Zum Beispiel fordert ein Host mit der IPv4-Adresse 192.168.1.5 (Quelle) eine Webseite vom Server mit der IPv4-Unicast-Adresse 192.168.1.200 an. Damit ein Unicast-Paket gesendet und empfangen werden kann, muss sich eine Ziel-IP-Adresse im IP-Paket-Header befinden. Eine entsprechende Ziel-MAC-Adresse muss ebenfalls im Ethernet-Frame-Header vorhanden sein. Die IP-Adresse und die MAC-Adresse werden kombiniert, um Daten an einen bestimmten Ziel-Host zu liefern.

Der Prozess, den ein Quell-Host verwendet, um die Ziel-MAC-Adresse zu bestimmen, die einer IPv4-Adresse zugeordnet ist, wird als Address Resolution Protocol (ARP) bezeichnet. Der Prozess, den ein Quell-Host verwendet, um die Ziel-MAC-Adresse zu bestimmen, die mit einer IPv6-Adresse verbunden ist, wird als Neighbor Discovery (ND) bezeichnet.  Bei der Quell-MAC-Adresse muss es sich immer um eine Unicast-Adresse handeln.

Broadcast MAC Adresse:

Ein Ethernet-Broadcast-Frame wird von jedem Gerät im Ethernet-LAN empfangen und verarbeitet. Die Merkmale eines Ethernet-Broadcast sind wie folgt:

Er hat eine Ziel-MAC-Adresse von FF-FF-FF-FF-FF-FF-FF in hexadezimaler Form (48 Einsen in binärer Form).
Es werden alle Ethernet-Switch-Ports mit Ausnahme des eingehenden Ports überflutet.
Sie wird nicht von einem Router weitergeleitet.
Wenn es sich bei den eingekapselten Daten um ein IPv4-Broadcast-Paket handelt, bedeutet dies, dass das Paket eine IPv4-Zieladresse enthält, die alle Einsen (1s) im Host-Teil hat. Diese Nummerierung in der Adresse bedeutet, dass alle Hosts in diesem lokalen Netzwerk (Broadcast-Domäne) das Paket empfangen und verarbeiten werden.

Der Quell-Host sendet ein IPv4-Broadcast-Paket an alle Geräte in seinem Netzwerk. Die IPv4-Zieladresse ist eine Broadcast-Adresse, beispielsweise 192.168.1.255. Wenn das IPv4-Broadcast-Paket in den Ethernet-Rahmen eingekapselt ist, ist die Ziel-MAC-Adresse die Broadcast- MAC-Adresse von FF-FF-FF-FF-FF-FF-FF in hexadezimaler Form (48 Einsen in binärer Form).

DHCP für IPv4 ist ein Beispiel für ein Protokoll, das Ethernet- und IPv4-Broadcast-Adressen verwendet.

Allerdings tragen nicht alle Ethernet-Broadcasts ein IPv4-Broadcast-Paket. Beispielsweise verwenden ARP-Requests kein IPv4, aber die ARP-Nachricht wird als Ethernet-Broadcast gesendet.

Multicast-MAC-Adresse:

Ein Ethernet-Multicast-Frame wird von einer Gruppe von Geräten im Ethernet-LAN, die zur gleichen Multicast-Gruppe gehören, empfangen und verarbeitet. Die Merkmale eines Ethernet-Multicasts sind wie folgt:

Es gibt eine Ziel-MAC-Adresse von 01-00-5E, wenn es sich bei den eingekapselten Daten um ein IPv4-Multicastpaket handelt, und eine Ziel-MAC-Adresse von 33-33, wenn es sich bei den eingekapselten Daten um ein IPv6-Multicastpaket handelt.
Es gibt andere reservierte Multicast-Ziel-MAC-Adressen für den Fall, dass die verkapselten Daten nicht IP sind, wie z.B. Spanning Tree Protocol (STP) und Link Layer Discovery Protocol (LLDP).
Es werden alle Ethernet-Switch-Ports mit Ausnahme des eingehenden Ports überflutet, es sei denn, der Switch ist für Multicast-Snooping konfiguriert.
Es wird nicht von einem Router weitergeleitet, es sei denn, der Router ist für das Routing von Multicast-Paketen konfiguriert.
Wenn es sich bei den eingekapselten Daten um ein IP-Multicast-Paket handelt, wird den Geräten, die zu einer Multicast-Gruppe gehören, eine Multicast-Gruppen-IP-Adresse zugewiesen. Der Bereich der IPv4-Multicast-Adressen reicht von 224.0.0.0.0 bis 239.257.257.257. Der Bereich der IPv6-Multicast-Adressen beginnt mit ff00::/8. Da Multicast-Adressen eine Gruppe von Adressen darstellen (manchmal auch als Host-Gruppe bezeichnet), können sie nur als Ziel eines Pakets verwendet werden. Die Quelle wird immer eine Unicast-Adresse sein.

Wie bei den Unicast- und Broadcast-Adressen erfordert die Multicast-IP-Adresse eine entsprechende Multicast-MAC-Adresse, um Frames in einem lokalen Netzwerk zu liefern. Die Multicast-MAC-Adresse ist mit der IPv4- oder IPv6-Multicast-Adresse verknüpft und verwendet Adressierungsinformationen von dieser Adresse.

 

Ethernet MAC Adresse:

In einem Ethernet-LAN ist jedes Netzwerkgerät an die gleichen, gemeinsam genutzten Medien angeschlossen. Die MAC-Adresse wird verwendet, um die physischen Quell- und Zielgeräte (NICs) im lokalen Netzwerksegment zu identifizieren. Die MAC-Adressierung bietet eine Methode zur Geräteidentifizierung auf der Sicherungsschicht des OSI-Modells.

Eine Ethernet-MAC-Adresse ist eine 48-Bit-Adresse, die mit 12 hexadezimalen Ziffern ausgedrückt wird. Da ein Byte 8 Bits entspricht, können wir auch sagen, dass eine MAC-Adresse 6 Bytes lang ist.

MAC-Adressen bestehen aus insgesamt 48 Bits. Diese 48 Bits können in zwölf 4-Bit-Gruppierungen oder 12 Hexadezimalziffern unterteilt werden. Die Kombination von zwei Hexadezimalziffern zusammen ergibt ein Byte, daher entsprechen die 48 Bits auch 6 Bytes.

Alle MAC-Adressen müssen für das Ethernet-Gerät oder die Ethernet-Schnittstelle eindeutig sein. Um dies sicherzustellen, müssen sich alle Anbieter, die Ethernet-Geräte verkaufen, bei der IEEE registrieren, um einen eindeutigen 6 hexadezimalen (d.h. 24-Bit- oder 3-Byte-) Code zu erhalten, der als Organizational Unique Identifier (OUI) bezeichnet wird. Wenn ein Verkäufer einem Gerät oder einer Ethernet-Schnittstelle eine MAC-Adresse zuweist, muss der Verkäufer wie folgt vorgehen:

  • Seine zugewiesene OUI als die ersten 6 Hexadezimalziffern verwenden.
  • Einen eindeutigen Wert in den letzten 6 Hexadezimalziffern zuweisen.

Daher besteht eine Ethernet-MAC-Adresse aus einem 6 hexadezimalen OUI-Code des Herstellers, gefolgt von einem 6 hexadezimalen, die vom Hersteller zugewiesenen Wert enthält. 

Nehmen wir zum Beispiel an, dass ein Hersteller einem neuen Gerät eine eindeutige MAC-Adresse zuweisen muss. Das IEEE hat dem Hersteller X eine OUI von 00-60-2F zugewiesen. Der Hersetsller X würde dann das Gerät mit einem eindeutigen Herstellercode wie 3A-07-BC konfigurieren. Daher würde die Ethernet-MAC-Adresse dieses Geräts 00-60-2F-3A-07-BC lauten.

Es liegt in der Verantwortung des Herstellers, sicherzustellen, dass keinem seiner Geräte die gleiche MAC-Adresse zugewiesen wird. Es ist jedoch möglich, dass aufgrund von Fehlern bei der Herstellung, Fehlern bei einigen Implementierungsmethoden für virtuelle Maschinen oder Änderungen, die mit einem von mehreren Software-Tools vorgenommen wurden, doppelte MAC-Adressen existieren. In jedem Fall wird es notwendig sein, die MAC-Adresse mit einer neuen Netzwerkkarte zu ändern oder Änderungen per Software vorzunehmen.

 

Frame-Verarbeitung:

Manchmal wird die MAC-Adresse als "eingebrannte Adresse" (BIA) bezeichnet, weil die Adresse fest in den Nur-Lese-Speicher (ReadOnlyMemory) der Netzwerkkarte kodiert ist. Das bedeutet, dass die Adresse dauerhaft in den ROM-Chip kodiert ist.

Bei modernen PC-Betriebssystemen und NICs ist es möglich, die MAC-Adresse in Software zu ändern. Dies ist nützlich, wenn man versucht, Zugang zu einem Netzwerk zu erhalten, das auf BIA-Basis filtert. Folglich ist das Filtern oder Kontrollieren des Datenverkehrs auf der Grundlage der MAC-Adresse nicht mehr so sicher.

Wenn der Computer hochfährt, kopiert die Netzwerkkarte ihre MAC-Adresse vom ROM in den RAM-Speicher. Wenn ein Gerät eine Nachricht an ein Ethernet-Netzwerk weiterleitet, sind diese im Ethernet-Header enthalten:

  • Quell-MAC-Adresse - Dies ist die MAC-Adresse der NIC des Quellgerätes.
  • MAC-Zieladresse - Dies ist die MAC-Adresse der NIC des Zielgeräts.

Wenn eine NIC einen Ethernet-Frame empfängt, untersucht sie die Ziel-MAC-Adresse, um festzustellen, ob sie mit der physischen MAC-Adresse übereinstimmt, die im RAM gespeichert ist. Wenn es keine Übereinstimmung gibt, verwirft das Gerät den Frame. Wenn es eine Übereinstimmung gibt, leitet es den Frame an die OSI-Schichten weiter, wo der Entkapselungsprozess stattfindet.
Hinweis: Ethernet-NICs akzeptieren auch Frames, wenn die Ziel-MAC-Adresse ein Broadcast oder eine Multicast-Gruppe ist, zu der der Host gehört.

Jedes Gerät, das die Quelle oder das Ziel eines Ethernet-Frames ist, verfügt über eine Ethernet-NIC und damit über eine MAC-Adresse. Dazu gehören Workstations, Server, Drucker, mobile Geräte und Router.

 

 

Ethernet-Rahmenfelder Detail:

Feld  Beschreibung
Präambel und Start-Rahmenbegrenzer-Felder

Die Felder Präambel (7 Byte) und Start Frame Delimiter (SFD), auch Start of Frame (1 Byte) genannt, dienen der Synchronisation zwischen dem sendenden und dem empfangenden Gerät. Diese ersten acht Bytes des Rahmens werden verwendet, um die Aufmerksamkeit der empfangenden Knoten zu erregen. Im Wesentlichen teilen die ersten paar Bytes den Empfängern mit, dass sie sich auf den Empfang eines neuen Rahmens vorbereiten sollen.

MAC-Zieladressenfeld Dieses 6-Byte-Feld ist die Kennung für den vorgesehenen Empfänger. Wie Sie sich erinnern werden, wird diese Adresse von Schicht 2 verwendet, um Geräte bei der Feststellung zu unterstützen, ob ein Rahmen an sie adressiert ist. Die Adresse im Frame wird mit der MAC-Adresse im Gerät verglichen. Wenn es eine Übereinstimmung gibt, akzeptiert das Gerät den Frame. Kann eine Unicast-, Multicast- oder Broadcast-Adresse sein.
Quell-MAC-Adressfeld Dieses 6-Byte-Feld identifiziert die ursprüngliche NIC oder Schnittstelle des Rahmens.
Typ/Länge Dieses 2-Byte-Feld identifiziert das Protokoll der oberen Schicht, das in den Ethernet-Rahmen eingekapselt ist. Gängige Werte sind, in hexadezimaler Form, 0x800 für IPv4, 0x86DD für IPv6 und 0x806 für ARP.
Dieses Feld kann auch als EtherType, Typ oder Länge bezeichnet werden.
 Datenfeld Dieses Feld (46 - 1500 Bytes) enthält die eingekapselten Daten von einer höheren Schicht, die eine generische Layer-3-PDU oder, häufiger, ein IPv4-Paket ist. Alle Frames müssen mindestens 64 Bytes lang sein. Wenn ein kleines Paket eingekapselt ist, werden zusätzliche Bits, die als Pad bezeichnet werden, verwendet, um die Größe des Rahmens auf diese Mindestgröße zu erhöhen.

Feld Rahmenprüf-sequenz (FCS)

Das Feld Frame Check Sequence (FCS) (4 Byte) wird verwendet, um Fehler in einem Frame zu erkennen. Es verwendet eine zyklische Redundanzprüfung (CRC). Das sendende Gerät fügt die Ergebnisse einer CRC in das FCS-Feld des Rahmens ein. Das empfangende Gerät empfängt den Frame und erzeugt einen CRC, um nach Fehlern zu suchen. Wenn die Berechnungen übereinstimmen, ist kein Fehler aufgetreten. Nicht übereinstimmende Berechnungen sind ein Hinweis darauf, dass sich die Daten geändert haben; daher wird der Rahmen verworfen. Eine Änderung der Daten könnte das Ergebnis einer Unterbrechung der elektrischen Signale sein, die die Bits repräsentieren.

 

Ausgewählte dezimale, binäre und hexadezimale Äquivalente:

Wir erinnern uns an den zweiten Teil dieser Serie, bei der die Konvertierung von Dezimalzahl in Binär- und Hexadezimalzahl erfolgt ist. Daran knüpfen wir an: 

    Dezimal         Binär         Hexadezimal    
        0 0000 0000             00
        1 0000 0001             01
        2 0000 0010             02
        3 0000 0011             03
        4 0000 0100             04
        5 0000 0101             05
        6 0000 0110             06
        7 0000 0111             07
        8 0000 1000             08
       10 0000 1010             0A  
       15 0000 1111             0F
       16 0001 0000             10
       32 0010 0000             20
       64 0100 0000             40
     128 1000 0000             80
     192 1100 0000             C0
     202 1100 1010             CA
     240 1111 0000             F0
     255 1111 1111             FF

 

Bei hexadezimaler Darstellung werden immer führende Nullen angezeigt, um die 8-Bit-Darstellung abzuschließen. Zum Beispiel wird in der Tabelle der Binärwert 0000 1010 hexadezimal als 0A angezeigt.

Hexadezimale Zahlen werden oft durch den Wert mit vorangestelltem 0x dargestellt (z.B. 0x73), um in der Dokumentation zwischen dezimalen und hexadezimalen Werten zu unterscheiden.

Hexadezimal kann auch durch den tiefgestellten Index 16 oder die Hexadezimalzahl gefolgt von einem H (z.B. 73H) dargestellt werden.

Möglicherweise müssen Sie zwischen dezimalen und hexadezimalen Werten konvertieren. Wenn solche Konvertierungen erforderlich sind, konvertieren Sie den dezimalen oder hexadezimalen Wert in einen binären und dann den binären Wert je nach Bedarf in einen dezimalen oder hexadezimalen Wert.

 

 

Unsere Rufnummer

 

App Anfrage

0176 75 19 18 18

Kostenfreie Erstberatung

Das sagen unsere Kunden

Slide One

Sehr gute Beratung bei der Konzeption unserer App. " Ayse

Sehr gute Beratung bei der Konzeption unserer App. " Ayse

Slide One

Usability der Apps sind hervorragend. " Peter

Usability der Apps sind hervorragend. " Peter

Usability der Apps sind hervorragend. Sehr freundlicher und lobenswerter Service " Peter

previous arrow
next arrow

Im Archiv durchstöbern

plg_search_virenlexikon
Search SEO Glossary
Suche - News Artikel
Suche - Kategorien
Suche - Kontakte
Suche - Seiteninhalt
Suche - Newsfeeds
Suche - Weblinks
Suche - Schlagwörter

AJAX Live Search results - Archiv

Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.