paint-brush
Der Spickzettel zum Systemdesign: Netzwerkeby@gavr
9,570
9,570

Der Spickzettel zum Systemdesign: Netzwerke

Das Erfassen der Grundlagen der Vernetzung, von den Feinheiten der Topologien bis hin zu den Nuancen grundlegender Protokolle, ist nicht nur eine akademische Übung – es ist entscheidend für die Schaffung robuster und effizienter Systeme. Eine solide Kenntnis der Netzwerkprinzipien stellt sicher, dass Systeme nahtlos kommunizieren, sich stabil anpassen und effizient skalieren.

People Mentioned

Mention Thumbnail
featured image - Der Spickzettel zum Systemdesign: Netzwerke
Aleksandr Gavrilenko HackerNoon profile picture

Dies ist eine Fortsetzung einer Artikelreihe, in der ich kurz die Hauptpunkte eines bestimmten Themas im Systemarchitekturdesign beschreibe. Den ersten Artikel können Sie hier lesen.


Jedes komplexe System ist ein Mosaik aus zahlreichen Komponenten, von denen jede ihre spezifische Funktion hat. Diese Komponenten arbeiten nicht isoliert; Sie interagieren ständig über ein Netzwerk und tauschen Daten und Befehle aus. Es ist von entscheidender Bedeutung, die Grundlagen dieser Interaktionen zu verstehen.


Um die Gesamtleistung und Belastbarkeit des Systems wirklich zu verstehen, muss man verstehen, wie Komponenten über das Netzwerk kommunizieren.

Typen

Netzwerke können basierend auf Größe, Architektur, Reichweite und Funktion in vier Typen unterteilt werden:


  • Personal Area Network (PAN) : Entwickelt für den persönlichen Gebrauch, normalerweise innerhalb der Reichweite einer Person. Es kann Geräte wie einen Computer, ein Smartphone und eine Smartwatch verbinden, häufig über Bluetooth.


  • Lokales Netzwerk (LAN ): Verbindet Geräte innerhalb eines begrenzten Bereichs, z. B. zu Hause, im Büro oder in der Schule. Es wird normalerweise zum Verbinden von Computern und zum Teilen von Ressourcen wie Druckern oder Internetverbindungen innerhalb eines begrenzten geografischen Gebiets verwendet.


  • Metropolitan Area Network (MAN): Deckt einen größeren Bereich als ein LAN ab, ist jedoch kleiner als ein WAN und erstreckt sich normalerweise über eine Stadt oder einen großen Campus. Lokale Dienstleister nutzen es häufig, um Verbindungen zu Unternehmen und Haushalten in einer Stadt anzubieten.


  • Wide Area Network (WAN) : Überspannt ein größeres geografisches Gebiet und verbindet oft mehrere LANs. Das Internet ist das bekannteste Beispiel für ein WAN, das Computer und Netzwerke weltweit verbindet.

Komponenten


Der Aufbau und die Wartung von Netzwerken wäre ohne spezielle Hardwaregeräte unmöglich:


  • Kabel- und drahtlose Zugangspunkte : Physische Kabel (wie Ethernet) stellen eine kabelgebundene Verbindung zwischen Geräten her, während drahtlose Zugangspunkte es Geräten ermöglichen, sich ohne physische Kabel über WLAN oder andere drahtlose Technologien mit dem Netzwerk zu verbinden.


  • Netzwerkschnittstellenkarte (NIC) : Dabei handelt es sich um Hardwarekomponenten, häufig in Computern oder anderen Geräten eingesetzte Karten, die ihnen die Verbindung mit einem Netzwerk ermöglichen.


  • Repeater : Ein Netzwerkgerät, das ein Signal verstärkt oder regeneriert, sodass es längere Strecken ohne Beeinträchtigung zurücklegen kann. Es wird hauptsächlich in drahtgebundenen und drahtlosen Netzwerken verwendet, um die Kommunikationsreichweite zu erweitern und die Datenintegrität über größere Entfernungen sicherzustellen.


  • Bridge: Eine Bridge arbeitet auf der Datenverbindungsebene. Eine Bridge ist ein Repeater, der die Funktionalität zum Filtern von Inhalten durch Lesen der MAC-Adressen der Quelle und des Ziels hinzufügt. Es wird auch zur Verbindung zweier LANs verwendet, die mit demselben Protokoll arbeiten.


  • Hub : Diese grundlegenden Netzwerkgeräte verbinden mehrere Geräte in einem LAN und fungieren als ein einziges Netzwerksegment. Der Hub kann keine Daten filtern, daher werden Datenpakete an alle angeschlossenen Geräte gesendet.


  • Schalter : Geräte in einem Netzwerk, die andere Geräte verbinden. Im Gegensatz zu Hubs, die die gleichen Daten an alle Geräte senden, sind Switches intelligenter und leiten Daten nur an das Gerät weiter, das sie benötigt.


  • Router : Geräte, die Datenpakete zwischen Computernetzwerken weiterleiten. Sie bestimmen den besten Weg für die Datenübertragung. Router verbinden typischerweise LANs und WANs und verfügen über eine sich dynamisch aktualisierende Routing-Tabelle, auf deren Grundlage sie Entscheidungen über die Weiterleitung der Datenpakete treffen.

Topologien

Die Netzwerktopologie ist ein struktureller Aufbau, der vorgibt, wie verschiedene Netzwerkgeräte und -komponenten verbunden werden und wie Daten übertragen werden. Die Wahl der Topologie hat erhebliche Auswirkungen auf die Leistung, Skalierbarkeit und Fehlertoleranz des Netzwerks. Es wird in zwei Haupttypen eingeteilt:


  • Physisch : Beschreibt die physische Anordnung von Geräten, Kabeln und anderen Netzwerkkomponenten. Es stellt dar, wie Netzwerkgeräte physisch verbunden sind.


  • Logisch : Beschreibt den Datenfluss innerhalb des Netzwerks, unabhängig von seinem physischen Design. Es stellt dar, wie Daten zwischen Netzwerkgeräten übertragen werden.


Folgende Topologietypen werden unterschieden:


Punkt zu Punkt

Eine direkte Verbindung zwischen zwei Knoten oder Endpunkten. Dies ist die einfachste Form der Netzwerktopologie.



Vorteile :

  • Die direkte und dedizierte Verbindung sorgt für eine schnelle Datenübertragung.

  • Einfache Konfiguration und Einrichtung.

  • Zuverlässige Kommunikation, da nur zwei Knoten beteiligt sind.


Nachteile :

  • Für größere Netzwerke ist es nicht skalierbar, da für jedes Gerätepaar eine eigene Leitung erforderlich wäre.
  • In Szenarien, in denen mehrere Verbindungen erforderlich sind, kann es aufgrund der Notwendigkeit einzelner Verbindungen teurer sein.


Bus

Alle Geräte teilen sich eine einzige Kommunikationsleitung. Von einem Gerät gesendete Daten stehen allen anderen Geräten zur Verfügung, aber nur der vorgesehene Empfänger akzeptiert und verarbeitet diese Daten.





Vorteile :

  • Für kleine Netzwerke einfach zu implementieren.

  • Kostengünstig durch minimalen Verkabelungsaufwand.


Nachteile :

  • Die Leistung nimmt ab, wenn weitere Geräte hinzugefügt werden oder der Netzwerkverkehr zunimmt.
  • Ein einzelner Kabelausfall kann das gesamte Netzwerk lahmlegen.


Ring


Jedes Gerät ist mit zwei anderen Geräten verbunden und bildet einen Ring. Daten werden in eine oder manchmal in zwei Richtungen übertragen.






Vorteile :

  • Es kann größere Datenlasten verarbeiten als die Bustopologie.


Nachteile :

  • Ein Ausfall eines Kabels oder Geräts kann das gesamte Netzwerk lahmlegen.
  • Schwieriger zu installieren und neu zu konfigurieren.


Stern



Alle Geräte sind an ein zentrales Gerät (z. B. einen Switch oder Hub) angeschlossen.







Vorteile :

  • Einfach zu installieren und zu verwalten.
  • Der Ausfall eines Kabels hat keine Auswirkungen auf andere Geräte.


Nachteile :

  • Fällt das Zentralgerät aus, ist das gesamte Netzwerk funktionsunfähig.
  • Erfordert mehr Kabel als Bustopologie.

Baum



Hybridtopologie, die Eigenschaften von Stern- und Bustopologien kombiniert. Gruppen sternförmiger Netzwerke sind an einen linearen Bus-Backbone angeschlossen.






Vorteile :

  • Hierarchisch und skalierbar.

  • Durch die Gruppierung von Geräten ist die Verwaltung einfacher.


Nachteile :

  • Ein Ausfall des Backbones führt zu einer Spaltung des Netzwerks.
  • Es ist mehr Verkabelung erforderlich als bei anderen Topologien.

Gittergewebe


Geräte sind miteinander verbunden. Jedes Gerät ist mit jedem anderen Gerät verbunden.







Vorteile :

  • Bietet hohe Redundanz und Zuverlässigkeit.

  • Daten können von mehreren Geräten gleichzeitig übertragen werden.


Nachteile :

  • Es erfordert mehr Verkabelung, was es teuer macht.
  • Komplex zu installieren und zu konfigurieren.

Hybrid



Kombination aus zwei oder mehr Topologien.








Vorteile :

  • Flexibel und zuverlässig, da es die Vorteile seiner Komponententopologien übernimmt.

  • Skalierbar.


Nachteile :

  • Komplexes Design.
  • Aufgrund mehrerer Konfigurationen kann es teurer sein.

Protokolle

Netzwerkprotokolle sind Regeln oder Standards, die definieren, wie Daten über ein Netzwerk übertragen und empfangen werden. Diese Protokolle stellen sicher, dass Geräte in einem Netzwerk (oder über mehrere Netzwerke hinweg) auf standardisierte Weise miteinander kommunizieren können.

Gemeinsame Protokolle

  • TCP/IP : Die grundlegende Protokollfolge, die das Internet antreibt. TCP stellt sicher, dass die Daten korrekt gesendet werden, und IP sorgt dafür, dass die Daten an den richtigen Ort gesendet werden.
  • UDP : Ein verbindungsloses Protokoll, das im Gegensatz zu TCP vor dem Senden von Daten keine Verbindung aufbaut und die Reihenfolge der Datenpakete nicht garantiert.
  • HTTP, HTTPS: Protokolle zur Übertragung von Webseiten im Internet. HTTPS beinhaltet Sicherheitsmaßnahmen zur Verschlüsselung von Daten.
  • FTP : Ein Protokoll zum Übertragen von Dateien über ein Netzwerk.
  • SMTP : Wird für die E-Mail-Übertragung verwendet.
  • IMAP : Wird zum Abrufen und Speichern von E-Mails von einem Mailserver verwendet.
  • POP3 : Wird zum Abrufen von E-Mails von einem Mailserver verwendet.
  • ICMP : Wird für Fehlerberichte und Diagnosen im Zusammenhang mit der IP-Verarbeitung verwendet.
  • DNS : Übersetzt Domänennamen in IP-Adressen und ermöglicht Benutzern den Zugriff auf Websites mit für Menschen lesbaren Namen.
  • DHCP : Weist Geräten in einem Netzwerk dynamisch IP-Adressen zu.
  • SSL/TLS : Kryptografische Protokolle sollen eine sichere Kommunikation über ein Computernetzwerk ermöglichen.
  • PPP : Point-to-Point Protocol (PPP) ist im Grunde eine asymmetrische Protokollsuite für verschiedene Verbindungen oder Links ohne Framing.
  • Ethernet : Definiert, wie Geräte in einem lokalen Netzwerk (LAN) kommunizieren. Es arbeitet sowohl auf der physikalischen Schicht als auch auf der Datenverbindungsschicht des OSI-Modells.

OSI- und TCP/IP-Modelle

OSI und TCP/IP sind zwei Hauptmodelle, die als Leitrahmen dienen und die Prozesse beschreiben, die an der Datenkommunikation über ein Netzwerk beteiligt sind.


OSI-Modell

Protokoll

Datei Format

TCP/IP-Modell

7

Anwendung

HTTP, DNS, SMTP, FTP

Daten

Anwendung

6

Präsentation

TLS, SSL

Daten

Anwendung

5

Sitzung

Steckdosen

Daten

Anwendung

4

Transport

TCP, UDP

Segment, Paket

Transport

3

Netzwerk

IP, ICMP, IPsec

IP-Datagramm

Internet

2

Datenverbindung

PPP, Ethernet

Rahmen

Netzwerkschnittstelle

1

Körperlich

Glasfaser, WLAN

Bisschen

Netzwerkschnittstelle


Das OSI- Modell (Open Systems Interconnection) ist ein konzeptioneller Rahmen zum Verständnis von Netzwerkinteraktionen in sieben Schichten. Jede Schicht erfüllt eine bestimmte Funktion:


  1. Physisch : Behandelt die physische Verbindung zwischen Geräten. Es definiert die Hardwareelemente wie Kabel, Switches und NICs.


  2. Datenverbindung : Verantwortlich für die Erstellung einer zuverlässigen Verbindung zwischen zwei direkt verbundenen Knoten, die Behandlung von Fehlern und die Regulierung des Datenflusses.


  3. Netzwerk : Bestimmt den besten Pfad zum Übertragen von Daten von der Quelle zum Ziel über das Netzwerk.


  4. Transport : Gewährleistet eine durchgängige Kommunikation, Datenflusskontrolle und Fehlerkorrektur.


  5. Sitzung : Stellt Anwendungsverbindungen an beiden Enden her, pflegt und beendet sie.


  6. Präsentation : Übersetzt Daten zwischen der Anwendungs- und der Transportschicht und stellt so sicher, dass die Daten lesbar sind.


  7. Anwendung : Interagiert direkt mit Endbenutzeranwendungen und gewährleistet so eine effektive Kommunikation zwischen Software und unteren Schichten des OSI-Modells.


TCP/IP ist ein prägnanteres Modell, das vorwiegend im modernen Internet verwendet wird und die OSI-Schichten in vier Kategorien vereinfacht:


  1. Netzwerkschnittstelle : Kombiniert die Funktionen der physischen und Datenverbindungsschichten von OSI und konzentriert sich auf die Art und Weise, wie Daten auf einem Netzwerkmedium gesendet/empfangen werden.


  2. Internet : Entspricht der Netzwerkschicht in OSI und kümmert sich um Datenrouting, IP-Adressierung und Paketweiterleitung.


  3. Transport : Ähnlich der Transportschicht von OSI, stellt sicher, dass Daten die richtige Anwendung erreichen und zuverlässig (TCP) oder schnell (UDP) übertragen werden.


  4. Anwendung : Führt die Funktionen der Sitzungs-, Präsentations- und Anwendungsschichten von OSI zusammen und befasst sich mit Endbenutzer-Anwendungsprozessen.

Sicherheit

Beim Systemdesign ist die Gewährleistung einer robusten Netzwerksicherheit von größter Bedeutung, um sensible Daten zu schützen und das Vertrauen von Benutzern und Interessengruppen aufrechtzuerhalten, die Geschäftskontinuität sicherzustellen und regulatorische Anforderungen zu erfüllen.

Häufige Bedrohungen und Schwachstellen

  1. DDoS-Angriffe : Böswillige Versuche, den normalen Datenverkehr eines Zielservers, -dienstes oder -netzwerks zu stören, indem sie mit einer Flut an Internetverkehr überschwemmt werden.


  2. Malware : Software, die dazu dient, ein Computersystem zu stören, zu beschädigen oder sich unbefugten Zugriff darauf zu verschaffen. Dazu gehören Viren, Würmer, Spyware und Ransomware.


  3. Man-in-the-Middle-Angriffe : Angreifer fangen heimlich die Kommunikation zwischen zwei Parteien ab und leiten sie weiter. Sie können eine der Parteien belauschen oder sich als eine der Parteien ausgeben und so die andere täuschen.


  4. Insider-Bedrohungen : Bedrohungen, die von innerhalb der Organisation ausgehen, z. B. von Mitarbeitern, ehemaligen Mitarbeitern oder Partnern mit Insiderinformationen über Sicherheitspraktiken.


  5. Softwarefehler : Fehler oder Schwachstellen in der Software können ausgenutzt werden, um unbefugten Zugriff zu erhalten oder Dienste zu unterbrechen. Beispiele hierfür sind Pufferüberläufe und nicht behandelte Ausnahmen.


  6. Hardwareschwächen : Physische Komponenten können Schwachstellen aufweisen, z. B. Firmware, die manipuliert werden kann, oder von Herstellern installierte Hintertüren.


  7. Falsch konfigurierte Netzwerkgeräte : Geräte wie Router, Switches oder Firewalls, die nicht richtig konfiguriert sind, können das Netzwerk verschiedenen Bedrohungen aussetzen.


  8. Schwache Authentifizierung und Autorisierung : Unzureichende Passwortrichtlinien, fehlende Multi-Faktor-Authentifizierung oder laxe Zugriffskontrollen können unbefugten Zugriff ermöglichen.


  9. Unverschlüsselte Daten : Daten, die nicht verschlüsselt sind, können auf ihrem Weg durch ein Netzwerk leicht abgefangen und gelesen werden.


  10. Veraltete Systeme : Systeme, die nicht mehr unterstützt werden oder nicht aktualisiert wurden, können bekannte Schwachstellen aufweisen, die leicht auszunutzen sind.


  11. Physische Schwachstellen : Dies bezieht sich auf physische Zugangspunkte, über die sich ein Angreifer in das Netzwerk einloggen oder direkt auf Server zugreifen könnte.

Best Practices zur Gewährleistung der Netzwerksicherheit

  1. Firewalls : Stellen Sie Hardware- und Software-Firewalls bereit, um den ein- und ausgehenden Netzwerkverkehr basierend auf Sicherheitsrichtlinien zu überwachen und zu steuern.


  2. Verschlüsselung : Verwenden Sie Verschlüsselungsprotokolle, insbesondere für sensible Daten, sowohl während der Übertragung (wie SSL/TLS für Webverkehr) als auch im Ruhezustand (wie Datenbankverschlüsselung).


  3. Regelmäßige Updates : Halten Sie alle Systeme, Software und Anwendungen auf dem neuesten Stand, um Schwachstellen zu beheben.


  4. Multi-Faktor-Authentifizierung (MFA) : Implementieren Sie MFA, um eine Sicherheitsebene hinzuzufügen und sicherzustellen, dass Benutzer zwei oder mehr Verifizierungsfaktoren bereitstellen, um Zugriff zu erhalten.


  5. Netzwerküberwachung : Verwenden Sie Netzwerküberwachungstools, um das Netzwerk kontinuierlich auf ungewöhnliche Aktivitäten oder unbefugten Zugriff zu überwachen.


  6. Sicherheitsbewusstseinsschulung : Informieren Sie Mitarbeiter und Benutzer über die Bedeutung der Sicherheit und wie man potenzielle Bedrohungen erkennt.


  7. Netzwerksegmentierung : Begrenzt die Ausbreitung von Bedrohungen innerhalb des Netzwerks und bietet eine bessere Kontrolle über den Datenzugriff.


  8. Backup und Disaster Recovery : Gewährleistet Datenverfügbarkeit und Geschäftskontinuität im Falle von Verstößen oder Ausfällen.


  9. Physische Sicherheit : Der physische Zugriff auf Netzwerkgeräte kann zu Sicherheitsverletzungen führen.

Abschluss

Das Erfassen der Grundlagen der Vernetzung, von den Feinheiten der Topologien bis hin zu den Nuancen grundlegender Protokolle, ist nicht nur eine akademische Übung – es ist entscheidend für die Schaffung robuster und effizienter Systeme.


Eine solide Kenntnis der Netzwerkprinzipien stellt sicher, dass Systeme nahtlos kommunizieren, sich stabil anpassen und effizient skalieren.