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.
Netzwerke können basierend auf Größe, Architektur, Reichweite und Funktion in vier Typen unterteilt werden:
Der Aufbau und die Wartung von Netzwerken wäre ohne spezielle Hardwaregeräte unmöglich:
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:
Folgende Topologietypen werden unterschieden:
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 :
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 :
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 :
Alle Geräte sind an ein zentrales Gerät (z. B. einen Switch oder Hub) angeschlossen.
Vorteile :
Nachteile :
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 :
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 :
Kombination aus zwei oder mehr Topologien.
Vorteile :
Flexibel und zuverlässig, da es die Vorteile seiner Komponententopologien übernimmt.
Skalierbar.
Nachteile :
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.
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:
Physisch : Behandelt die physische Verbindung zwischen Geräten. Es definiert die Hardwareelemente wie Kabel, Switches und NICs.
Datenverbindung : Verantwortlich für die Erstellung einer zuverlässigen Verbindung zwischen zwei direkt verbundenen Knoten, die Behandlung von Fehlern und die Regulierung des Datenflusses.
Netzwerk : Bestimmt den besten Pfad zum Übertragen von Daten von der Quelle zum Ziel über das Netzwerk.
Transport : Gewährleistet eine durchgängige Kommunikation, Datenflusskontrolle und Fehlerkorrektur.
Sitzung : Stellt Anwendungsverbindungen an beiden Enden her, pflegt und beendet sie.
Präsentation : Übersetzt Daten zwischen der Anwendungs- und der Transportschicht und stellt so sicher, dass die Daten lesbar sind.
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:
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.
Internet : Entspricht der Netzwerkschicht in OSI und kümmert sich um Datenrouting, IP-Adressierung und Paketweiterleitung.
Transport : Ähnlich der Transportschicht von OSI, stellt sicher, dass Daten die richtige Anwendung erreichen und zuverlässig (TCP) oder schnell (UDP) übertragen werden.
Anwendung : Führt die Funktionen der Sitzungs-, Präsentations- und Anwendungsschichten von OSI zusammen und befasst sich mit Endbenutzer-Anwendungsprozessen.
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.
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.
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.
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.
Insider-Bedrohungen : Bedrohungen, die von innerhalb der Organisation ausgehen, z. B. von Mitarbeitern, ehemaligen Mitarbeitern oder Partnern mit Insiderinformationen über Sicherheitspraktiken.
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.
Hardwareschwächen : Physische Komponenten können Schwachstellen aufweisen, z. B. Firmware, die manipuliert werden kann, oder von Herstellern installierte Hintertüren.
Falsch konfigurierte Netzwerkgeräte : Geräte wie Router, Switches oder Firewalls, die nicht richtig konfiguriert sind, können das Netzwerk verschiedenen Bedrohungen aussetzen.
Schwache Authentifizierung und Autorisierung : Unzureichende Passwortrichtlinien, fehlende Multi-Faktor-Authentifizierung oder laxe Zugriffskontrollen können unbefugten Zugriff ermöglichen.
Unverschlüsselte Daten : Daten, die nicht verschlüsselt sind, können auf ihrem Weg durch ein Netzwerk leicht abgefangen und gelesen werden.
Veraltete Systeme : Systeme, die nicht mehr unterstützt werden oder nicht aktualisiert wurden, können bekannte Schwachstellen aufweisen, die leicht auszunutzen sind.
Physische Schwachstellen : Dies bezieht sich auf physische Zugangspunkte, über die sich ein Angreifer in das Netzwerk einloggen oder direkt auf Server zugreifen könnte.
Firewalls : Stellen Sie Hardware- und Software-Firewalls bereit, um den ein- und ausgehenden Netzwerkverkehr basierend auf Sicherheitsrichtlinien zu überwachen und zu steuern.
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).
Regelmäßige Updates : Halten Sie alle Systeme, Software und Anwendungen auf dem neuesten Stand, um Schwachstellen zu beheben.
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.
Netzwerküberwachung : Verwenden Sie Netzwerküberwachungstools, um das Netzwerk kontinuierlich auf ungewöhnliche Aktivitäten oder unbefugten Zugriff zu überwachen.
Sicherheitsbewusstseinsschulung : Informieren Sie Mitarbeiter und Benutzer über die Bedeutung der Sicherheit und wie man potenzielle Bedrohungen erkennt.
Netzwerksegmentierung : Begrenzt die Ausbreitung von Bedrohungen innerhalb des Netzwerks und bietet eine bessere Kontrolle über den Datenzugriff.
Backup und Disaster Recovery : Gewährleistet Datenverfügbarkeit und Geschäftskontinuität im Falle von Verstößen oder Ausfällen.
Physische Sicherheit : Der physische Zugriff auf Netzwerkgeräte kann zu Sicherheitsverletzungen führen.
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.