Was ist ein verteiltes System?
Nenne und erläutere zwei Eigenschaften
Mehrere Systeme, die ihre Funktionalität durch Kommunikation und Zusammenarbeit erzeugen
Essenzieller Baustein:
Netzwerk, Kommunikation, Zusammenarbeit
Erklären Sie den Nutzen von Protokollen in verteilten Systemen
Abstraktion, Formalisierung von Ablauf und Format der Kommunikation
Erläutern Sie den Unterschied zwischen einem verbindungsorientierten Protokoll und einem verbindungslosen Protokoll
+ zentraler Unterschied zw. UDP und TCP
Verbindunglos: -> UDP
Einfaches senden (Post)
Verbindungsorientiert: -> TCP
Expliziter Verbindungsaufbau mit Handshake und Verbindungsabbau
TCP -> bietet Garantien
Zuverlässigkeit unter Reihenfolge der Übertragung
Puffer, Flusskontrolle, Staukontrolle
Http://3 setzt mit QUIC anstelle von TCP auf UDP
Warum?
QUIC kann durch die Nutzung von UDP satt TCP, viele Einschränkungen von TCP umgehen.
reduzierte Latenzzeit, durch schnellere Verbindungsherstellung und Wegfall von 3Way Handshake
QUIC kann bereits ab ersten Handshake Daten senden
Unter welchen Bedingungen erhält ein per MQTT verbundener Client Nachrichten zugestellt?
Grundvoraussetzung:
nach Subscribe auf entsprechendem Topic
Dann:
Wenn Public nach Subscription erfolgt
Wenn retain flag gesetzt
Wenn last will ausgelöst wird
Http:// setzt bis zur Version 2 auf TCP Verbindungen
Oft sind die zu übertragenden Ressourcen sehr klein und enthalten nur wenige Daten. Congestion Control in TCP führt dazu, dass zu Beginn einer Verbindung die Datenrate niedrig ist, was HTTP ineffizient macht.
Welche Änderung führt HTTP1.1 gegenüber HTTP1 ein, um mit dieser Eigenschaft von TCP umzugehen?
Persistenz - D.h. länger genutzte Verbindungen, die helfen die Geschwindigkeit, Geschwindigkeitszugewinne von TCPs AIMD + SlowStart zu nutzen und nicht dauerhaft mit langsamer Verbindung unterwegs zu sein
Was ist ein Web Service?
Beispiel
Webservice ist eine Anwendung, die über eine URL basierte HTTP Verbindung genutzt wird - Ein Webshop
TCP nutzt AIMD (Additive Increase, Multiplicative Decrease) um die Verbindungsgeschwindigkeit zu erhöhen und Congestion zu reduzieren/ vermeiden.
Wäre ein hypothetisches “MIAD” (Multiplicative Imcrease, Additive Decrease) dafür ebenso geeignet?
Nein, die Reduktion durch “Additive decrease” wäre viel zu langsam, um den Schneeballeffekt einer Netzwerküberlastung in verteilter Form entgegenzutreten
Was ist der Unterschied zwischen einer IP Adresse und einer Port Nummer?
IP Adresse:
Identifiziert das Gerät/Host im Netzwerk (Layer3)
Port Nummer:
Identifiziert zusammen mit IP Adressen den spezifischen Dienst oder die Anwendung auf dem Gerät/Host. (Layer 4)
Beide zusammen sorgen dafür, dass Daten an das richtige Ziel und die richtige Anwendung gesendet werden.
Erklären Sie den Ablauf des so genannten “three way handshakes” von TCP beim Verbindungsaufbau
Der Three-Way-Handshake ist der Verbindungsaufbau-Prozess von TCP (Transmission Control Protocol). Er stellt sicher, dass sowohl der Client als auch der Server bereit für die Kommunikation sind und synchronisierte Sequenznummern verwenden.
Ablauf des Three-Way-Handshake:
Client sendet SYN an Serve
ohne Daten, nur mit initialer Sequenznummer
Server empfängt SYN und antwortet mit SYN-ACK
ohne Daten, legt initiale Server Sequenznummer fest
Client empfängt SYNACK und antwortet mit ACK
kann bereits Daten enthalten
Welche Vorteile bietet IPv6 zu IPv4?
Zwei Vorteile
Größere Adressen -> kein Adressmangel
Flowlabels
Größere Pakete ohne Fragmentierung
SLAAC / NDP Zuweisung ohne Server
Erläutern Sie den Nutzen von Slow Start im TCP Verbindungsverhalten
Schnelleres beschleunigen der Verbindung
Exponenziell Wachstum des “Sendefensters” bis die Verbindung in der Nähe der vermuteten Netzwerkkapazität ist
Was ist die Funktion des Neighbor Discovery Protokolls? (NDP)
Auflösung von IPv6 Adressen auf Mac Adressen
finden des Routers/Gateways
Adresspräfix finden
Duplicate Adress Detection
ReDirect
Wie unterscheidet sich ein Multicast von Broadcast?
Multicast:
GruppenAdressierung und Kommunikation
Broadcast:
“alle” in einem Netzwerksegment
Erläutern Sie Routing und Forwarding
Routing:
Planung des Weiterleitens, welche Knoten/Router werden passiert (globale Netzwerkentscheidung)
Forwardingtabellen enthalten, Pfadinformationen
Forwarding:
eigentliches Weiterleiten, entsprechend des geplanten/berechneten Pfades (Lokale Routerentscheidung)
Data Link Layer
Erklären Sie die Funktion und Problem von Congestion Control/ Staukontrolle
Globale Herausforderung
Funktion:
Verhinderung bzw. Behandlung einer Netzwerküberlastung
Problem:
Netzwerküberlastung führt zu hohen Verzögerungen und Paketverlusten
Tritt auf, wenn mehrere Geräte gleichzeitig in einem Netzwerk Daten übertragen
Globale Herausforderung:
verschiedene unabhängige Entitäten müssen den Stau erkennen und kooperieren um ihn zu lösen
Erläutern Sie eine Möglichkeit, um Congestion proaktiv zu verhindern
Pro aktives informieren der Sender bspw. durch:
ChokePakets
Warning Bits
random early detection
Vergleichen Sie einen Multiplexer und einen Konzentrator
Ziele und Unterschiede
Gemeinsames Ziel:
Zusammenlegen mehrere Verbindungen auf eine gemeinsame Verbindung
z.B: Mehrere Kabel auf ein Kabel, mehrere Anwendungsverbindungen auf eine Internetverbindung
Multiplexer:
Festes Slots (Zeit oder Frequenz)
Slots leer, wenn keine Daten gesendet werden
Konzentrator:
Dynamisches Slots mit Adressierung
Daten wird eine Adresse vorangestellt, sodass es zu keinen leeren Slots kommt
Maximale 16 Bit Zahl
65.535
Netzeffekt
Der Nutzen wird durch die Verbreitung für alle größer, wenn mehr Menschen sich anschließen beziehungsweise vernetzen
-> RFC “request for comments” durch IETF und ISOC veröffentlicht
de facto standard
TCP – IP 5 Layer Referenzmodell
TCP – IP 5 Layer Referenzmodell:
Schichtmodell mit dem Vorteil der Abstraktion
Gezielte Konzentration auf eine Schicht
ISO/OSI Referenzmodell (Open System Interconnection)
Internationale Standard
sehr detailliert
Kompliziert, daher wurde TCP – IP als pragmatischer gesehen
Adressen und Dateneinheit per Layer
Physical Layer:
elektrische Signale über Kabel an Router, Transceiver, Switches z.B. switch port #42
Bits
Data Link Layer:
MAC Adressen (media access control)
08-00-20-72-93-18
Rahmen/Frames
Network Layer:
IP Adressen (IPv4 oder IPv6)
Pakete
Transport Layer:
Port Nummern
TCP/443
Segmente (TCP) / Datagramme (UDP)
Application Layer:
Keine spezifische Adresse
Nachrichten zwischen Diensten/Apps
QUIC Sockets
MAC Adresse (Media Access Control)
MAC Adresse (Media Access Control):
MAC Adresse ist spezifisch für die NetzwerkHardware und wird verwendet, um Geräte innerhalb eines lokalen Netzwerks zu identifizieren
48 Bit lang
dargestellt durch 6 Hexadezimalzahlen
Network Layer
IP Adresse (Internet Protokoll Adresse)
IP Adresse wird verwendet, um Geräte im gesamten Netzwerk oder Internet zu identifizieren
2 Hauptversionen:
IPv4: 32 Bit Adresse, die in 4 Dezimalzahlen dargestellt wird
192.168.1.1
IPv6: 128 Bit Adresse, die in 8 Gruppen von 4 Hexadezimalzahlen dargestellt wird
2001:0db8:85a3:0000:0000:8a2e:0370: 73 34
Transport Layer
Portnummer
4 Tupeladresse
Beispiele
PortNummer:
PortNummer wird verwendet, um spezifische Dienste auf einem Gerät zu identifizieren.
16 Bit Zahl
Ermöglicht mehrere Netzwerkverbindungen gleichzeitig zu verwalten
Beispiele:
TCP/443: HTTPS -> sicherer Webverkehr
UDP/53: DNS -> Domainauflösung
4 Tupeladresse:
Quell-IP
Ziel-IP
Quellport
Zielport
Adresse der Application Layer
Anwendungsschicht ist für die Protokolle und Datenformate verantwortlich, die von den Anwendungen verwendet werden
HTTP, FTP
Beschreiben Sie, welche Auswirkungen die Ausbreitungsgeschwindigkeiten unterschiedlicher Frequenzen auf das beim Empfänger gemessene Signal hat und wie es sich von dem Signal unterscheidet, welches vom Sender gesendet wurde.
Wenn sich verschiedene Frequenzen in einem Medium unterschiedlich schnell ausbreiten, dann erreichen die Signale je nach Frequenz bzw. Phasenverschiebung den Empfänger unterschiedlich schnell.
Die einzelnen Oberschwingungen werden daher Phasenverschoben empfangen.
Schlimmstenfalls können Bits/Symbole der Basisfrequenz mit nachfolgenden Bits/Symbolen von Oberschwingungen überlappen.
Auf der SenderSeite Bildet die Summe aus Oberschwingungen exakt die Bitfolge/Symbole nach.
Auf der EmpfängerSeite kann das Signal aufgrund der Phasenverschiebung schlimmstenfalls eine andere Bitfolge/Symbol darstellen.
Was ist der Unterschied zwischen Datenrate (bit/s) und Symbolrate (baud/s)?
Unterschied zw. Daten und Symbolen
Symbole:
konkrete, unterschiedliche Signale die übertragen werden
Daten:
verarbeitete bits
Die Datenrate gibt an, wie viele Bits pro Sekunde übertragen werden, während die Symbolrate angibt, wie viele Symbole pro Sekunde gesendet werden.
Durch Modulationsverfahren, die mehrere Bits pro Symbol codieren, kann die Datenrate die Symbolrate übersteigen
Ein Symbol (Baud) kann mehrere Bits gleichzeitig kodieren. -> Datenrate daher höher als Symbolrate!
Was ist die Aufgabe und Funktionsweise eines Multiplexer?
Ein Multiplexer fasst mehrere Signale/Nachrichten auf ein Medium zusammen. -> gemeinsam genutztes Medium
(Demultiplexer extrahiert wieder die einzelnen Signale/Nachrichten)
Mehrere Funktionsweisen:
Frequency Division multiplexing: Jedes Signal bekommt eine eigene Frequenz beziehungsweise Lichtfarbe.
Time Division multiplexing:
Signale bekommen eigene Zeitslots werden hintereinander übertragen
Was passiert, wenn ein Fehler erst auf Schicht 3 statt auf Schicht 2 erkannt wird?
Fehlererkennung findet idR nicht auf Schicht 3 statt.
IPv4 besitzt nur eine Header Checksum (nur über den Header berechnet), schützt aber nicht die Payload.
IPv6 besitzt gar keine Fehlererkennung
Erläutern Sie den Unterschied zwischen Flusskontrolle und Staukontrolle
Rolle des Empfängers
Flusskontrolle steuert Übertragung zw. Sender und Empfänger schützt langsame Empfänger vor Überlastung durch schnelle Sender!
Bei Flusskontrolle kann der Empfänger selbst eingreifen:
Acknowledgements zurückhalten
Fenstergröße verringern
Staukontrolle steuert Last in einem Netzwerk, soll die Überlastung des Netzwerks durch größere Anzahl an Nurzern verhindern
Empfänger hat keinen Einfluss
Erläutern Sie 3 Unterschiede zwischen IPv4 und IPv6 Paketen
Unterschiedliche Adressgrößen
IPv6 128 Bit statt 32 Bit
Wegfall der Fragmentierung
und entsprechender Header, IPv6 Sender muss Paketgröße anpassen
FlowLabels in IPv6
Pakete können als zusammengehörig gekennzeichnet werden, es können unternehmensintern Regeln in Routern zur Behandlung verwendet werden
HeaderChecksum nur in IPv4
keine Fehlerprüfung auf Schicht 3 mehr mit IPv6
(SLAAC) Stateless address autoconfiguration in IPv6
Methode zur automatischen Adresskonfiguration in IPv6 Netzwerken
Basiert auf Neighbor Discovery Protokoll (NDP und ICMPv6)
Wird verwendet um Geräten eigenständig IPv6 Adressen zuzuweisen
Ohne das zentraler DHCP Server verwendet wird
Begründe warum UDP als verbindungsloses Layer 4 Protokoll erforderlich ist, obwohl bereits IP als verbindungloses Layer 3 Protokoll existiert.
UDP führt Ports auf Schicht 4 ein. Mit Ports können mehrere Anwendungen (mittels Socket) auf Hosts angesprochen/unterschieden werden
Multiplexing
Alternativ:
ein Schicht 4 Protokoll, wie UDP, ist etwa im Falle von NAT unerlässlich!
weitere “Middleboxen”, wie etwa Firewalls, erwarten ein bekanntes Schicht 4 Protokoll
Wie adressiert und identifiziert TCP, Hosts und Applikationen?
Host-Adressierung ist Teil von Schicht 3, also nicht von TCP!
Anwendungen werden mittels Ports adressiert
Mit Zielport 443 wird eine WebServer Anwendung angesprochen
Absenderports werden zufällig vom Betriebssystem vergeben, um Antworten zu ermöglichen
Warum musst der Client am Ende des TCP Verbindungsabbrüche, also nach gesendeten FIN-FIN+ACK-ACK Nachrichten, warten?
Das ACK vom Client an den Server könnte verloren gehen.
Damit wüsste der Server nicht, ob überhaupt das FIN+ACK vom Client empfangen wurde. Daher könnte der Server nach einem Timeout erneut ein FIN+ACK übertragen, dieses müsste der Client dann empfangen und erneut mit dem ACK beantworten können.
daher warten und Verbindung noch offen halten
Welche 4 zentralen Elemente werden durch ein Protokoll der Anwendungsschicht definiert?
Die Nachrichten, insbesondere deren Format (samt Bedeutung), die Reihenfolge von Nachrichten (etwa http response erst nach einem http request) sowie die Aktionen/Regeln (bspw. auf einen http request muss immer mit einer http response geantwortet werden, nach einem timeout überträgt TCP erneut.)
Nachrichten
Format
Reihenfolge
Aktionen/Regeln
Http nutzt bis Version 2 TCP Verbindungen.
Congestion control in TCP führt dazu, dass zu Beginn einer Verbindung die Datenrate niedrig ist, was http bei kleinen Dateien in effizient macht.
Welche Änderung erlaubt es? HTTP/1.1 im Vergleich zu HTTP/1 TCP effizienter zu nutzen?
http:///1.1 erlaubt persistente Verbindungen. Damit entfällt bei nachfolgenden Anfragen der Verbindungsaufbau und die “eingepegelte”TCP-Verbindung kann ggf. nachfolgende Anfragen/Antworten schneller übertragen.
QAM (Quadratamplitudenmodulation)
Idee: Möglichst viele bits gleichzeitig übertragen durch Erhöhung der spektralen Effizienz.
Vorteile und Einsatzgebiete
QAM ist eine Modulationsmethode, die Amplituden- und Phasenmodulation kombiniert, um mehrere Bits pro Symbol zu übertragen.
Durch diese Technik können höhere Datenraten erzielt werden, da sowohl die Stärke (Amplitude) als auch die Ausrichtung (Phase) eines Signals variiert werden
2 Trägersignale, Sinus und Kosinus, zum Einsatz, die sich in ihrer Phase um 90° unterscheiden.
Vorteile:
Höhere Datenraten (z. B. 16-QAM: 4 Bits/Symbol, 256-QAM: 8 Bits/Symbol).
Effiziente Nutzung der verfügbaren Bandbreite.
Einsatzgebiete:
WLAN (z. B. Wi-Fi 5 mit 256-QAM und Wi-Fi 6 mit 1024-QAM).
256QAM 8bit pro Symbol -> 29Mio Symbole/sekunde
1024QAM 10bitw pro Symbol -> WiFi6
4096QAM -> WiFi7
Physical Layer
Störfaktoren: QAM
Dämpfung von Medium
Pfadverlust: Distanz zw. Sender u Empfänger
Medium dämpft nicht nur, sondern verzerrt
Jitter: bits bewegen sich unterschiedlich schnell durch ein Medium
Oberschwingungen gehen nicht durch alle Kabel durch
ab bestimmter Oberschwingung wird auf 0 gedämpft (Bandbreite)
Dämpfung von hohen Frequenzen
Unicast
Varianten
Nachteil
Unicast: 1 zu 1 Kommunikation
häufigste verwendete Datenübertragungsart
1 zu 1 Kommunikation, Direktor Datenaustausch
Daten werden an eine bestimmte IP Adresse gesendet
Uni- oder bidirektional
Varianten:
Link Local Unicast: FE80::10
Nur im lokalen Netzwerk gültig
Nicht ins Internet geroutet
Global Unicast: 2000::/3
weltweit gültig
Über das Internet geroutet
aufrufen von Webseiten im Internet
E-Mail-Verkehr
Video Streaming
Nachteil:
Bei steigender Anzahl von Empfängern steigt die benötigte Bandbreite
Kann zu Leistungengpässen führen z.B Schlechte Übertragungsqualität beim Abspielen von Videos
Multicast Präfix
Vorteil
Multicast: Gezielte Gruppenübertragung
Präfix: FF00::\8
1 zu m Gruppe: Gleichzeitig senden an eine definierte Gruppe von Empfängern
Zielgerichtete Gruppen Kommunikation
Daten werden gezielt an Multicast Adressen einer Gruppe geschickt
Unidirektional
Softwareupdate für mehrere Geräte gleichzeitig
Lifestreaming
Vorteil gegenüber Unicast:
Benötigte Bandbreite wird nur einmal verbraucht, unabhängig von der Anzahl der Empfänger -> effizienter
Broadcast
Vor- und Nachteile
Broadcast: Informationen an alle
1 zu alle - Kommunikation, Datenpaket wird an alle Geräte im Netzwerk gesendet, unabhängig ob benötigt oder nicht
wird für Netzwerkerkennung oder Adressauflösung (ARP) Verwendet
Gießkannenprinzip
Beispiel:
TV Übertragungen (DVB-T, DVB-C)
ARP Abfragen zu Ermittlung der MAC Adresse eines Computers
Informationen können breit gestreut werden
Effiziente Nutzung des Frequenzspektrums
alle Teilnehmer erhalten zur gleichen Zeit die gleichen Daten
Keine Möglichkeit der Antwort
Anycast
Umsetzung
Anycast: Intelligente Lastverteilung
Uni- und Bidirektional
1 zu “Jedem von mehreren”
Daten werden an die nächstgelegene (kürzeste Route) oder effizienteste Station gesendet
Umsetzung:
Verteilung mehrere identische Server, auf räumlich getrennte IP Netze (alle Kontinente)
Jeder Server hat dieselbe IP Adresse
Route über Routing Protokoll
Vorteil:
erhöhte Ausfallsicherheit und Verfügbarkeit des Dienstes
Effektive Lastverteilung, indem Anfragen automatisch zum nächstgelegenen Server geleitet werden
DNS Dienste
Funktionsweise von (SLAAC) Stateless address autoconfiguration in IPv6
3 Phasen
Ableitung der Link Local Adresse
Automatisch aus MAC Adresse abgeleitet
Nur innerhalb lokalen Netzwerks gültig
Einfügen von FF:FE zwischen Hersteller ID und Geräte ID
Präfix FE80:0000:0000:0000 vorne ranhängen
Prüfen auf Adresskonflikt
Mittels Neighbour Solicitation (NS) die MAC Adresse der unter 1. erhalten Link Local Adresse erfragen
Neighbor Advertisement empfangen -> Adresskonflikt!
Kein Neighbor Advertisement empfangen -> Adresse kann genutzt werden!
Ableitung globaler Adresse
Router mittels Router Solicitation (RS) finden oder warten
Zugewiesenes Adresspräfix aus dem Router Advertisement (RA) extrahieren
Lokales Netzwerkpräfix durch globalen Adresspräfix ersetzen
NDP Datentypen
Router Solicitation (RS)
Router Solicitation:
Geräte senden diese Nachricht an Router, um Informationen über das Netzwerk (z.B Präfixe) anzufordern
Router Advertisement (RA)
Router Advertisement:
Router Antworten auf RS oder senden diese Nachrichten periodisch, um Netzwerkpräfixe oder andere Informationen bereitzustellen
Neighbour Solicitation (NS)
Neighbour Solicitation:
eine Anfrage, um die MAC Adresse eines Geräts zu ermitteln oder DAD durchzuführen
ARP - Address Resolution Protokoll
Adressauflösung
Funktionsweise
ARP Adress Resolution Protokoll
ARP WIRD IN IP V4 NETZWERKEN VERWENDET, UM EINE BEKANNTE IP ADRESSE IN EINEM MAC ADRESSE AUFZULÖSEN
Verbindet logische Adressierung mit physische Adressierung im lokalen Netzwerk = IP + MAC
Funktionsweise:
ARP Anfrage (+IP Adresse) wird als Broadcast ins Netzwerk geschickt
Gerät mit entsprechende IP Adresse schickt seine MAC Adresse als Antwort
MAC Adresse wird in ARP Cache gespeichert -> zukünftig effizienter
Neighbour Advertisement (NA)
Neighbor Advertisement
Die Antwort auf eine NS, die nur MAC Adresse des angefragten Geräts liefert.
Neighbor Discovery Protokoll - NDP
Vorteile
Neighbor Discovery Protokoll Ersetzt in IPv6 Netzwerken die Funktionalität des ARP
Basiert auf ICMPv6
Ermöglicht Interaktion zwischen Geräten auf der Network Layer
Adressauflösung:
Ermittlung der MAC Adresse eines Gerätes anhand der IPv6 Adresse (wie ARP)
Multicast statt Broadcast, Effizientere Netzverkehr
Router Entdeckung:
Geräte können herausfinden, welche Router verfügbar sind und welche als Standardgateway Dienen
Präfix Discovery
Geräte erhalten Informationen über das Netz, Präfix für Konfiguration globale IPv6 Adresse
Duplicate Adress detection (DAD)
Überprüfung, ob IP V6 Adresse bereits verwendet wird
Weißt Geräte auf effizienter Routen zum Ziel hin
Effizienz: Multicast statt Broadcast
Sicherheit: Schutzmechanismen wie SeCure Neighbour Discovery
Flexibilität: SLAAC Für automatische Adresskonfiguration
NAT - Network Adress Translation
Nachteile
Network Adress Translation ist eine Übergangslösung aufgrund IPv4 Adressknappheit
Übersetzt viele private IP Adressen in eine einzige öffentliche IP Adresse
Ermöglicht mehreren Geräten innerhalb eines Netzwerks den Zugriff auf das Internet
IP Nummer wird mit Portnummer Ergänzt
192.168.1.10:1050
Client schickt aus lokalen Netzwerk Datenpaket an NAT Router
NAT Router tauscht private gegen öffentliche IP Adresse und Portnummer.
Portzuordnung im NAT table gespeichert, währendessen leitet Router umadressierte Nachricht an Server
Server schickt Antwort an NAT Router
NAT Router erkennt Portzuordnung Und tauscht diese
Zurückadressierte Datenpaket an Client weitergeleitet
Sicherheit:
Im lokalen Netzwerk sind von außen nicht direkt erreichbar
IP Ressourcenschonung:
weniger öffentliche IP Adressen notwendig
Nachteile:
Verstoß gegen Ende zu Ende Prinzip
Herausforderung für Peer to Peer Anwendungen
CIDR - Classless Inter Domain routing
CIDR (Classless Inter-Domain Routing) ist ein Verfahren zur effizienteren Zuweisung von IP-Adressen und Steuerung des Internet-Routings. Es ersetzt das alte, klassenbasierte System (Klasse A, B, C) und hilft, die begrenzten IPv4-Adressen besser zu nutzen.
flexibler als klassenbasiertes adressieren (A,B,C Netzwerkklassen)
IP Adressen Werden durch Suffix gekennzeichnet
192.168.0.0/24
Netzwerkteil/ Hostteil
Subnetze und Subnetting
Subnetzadresse
Hostaddresse
Broadcastaddresse
dient der Aufteilung eines Netzwerks in kleinere logische Subnetze (Vorgang: Subnetting)
Ermöglicht effizientes Routing und Ressourcenzuweisung
Reduzierte Netzwerklast
Mehr Sicherheit da, getrennte Subnetze
Subnetzadresse:
identifiziert das Netzwerk /0
Hostadresse:
Alle zwischen Subnetzadresse und Broadcastadresse /1-254
Broadcastadresse:
Adressiert alle Hosts im Netzwerk /255
DNS - Ressource Records
Aufbau
Ressource Records sind die grundlegenden Dateieneinheiten im Domain Name System (DNS)
Speichert die Zuordnung von Domainname zu IP Adresse
Aufbau:
Name:
Domainname
Time to live:
Zeitspanne in Sekunden die RR im Cache gespeichert bleiben darf
Class:
Protokollfamilie (Internet = IN)
Type:
enthaltene Arten von Daten
RDATA:
eigentliche Daten, die abhängig vom Typen (TypA: IPv4 Adresse)
Gängigste Typen:
A
AAAA
MX
CNAME
NS
TXT
SRV
Typ:
A: IPv4 Adresse eines Hosts
AAAA: IPv6 Adresse eines Hosts
MX: Informationen über Mailverkehr für die Domain
CNAME: Alias für einen anderen Domanin Namen
NS: Name der autorativen Nameserver für die Domain
TXT: beliebige Textinformation
SRV: Informationen über Dienste
DNS Funktion und Aufbau
DNS ist ein hierarchisches, verteiltes System das Domainnamen in IP Adressen übersetzt.
ohne DNS müssten Nutzer numerische IP Adressen eingeben -> Namensauflösung
Zuordnung von MailServern, Lastverteilung und Sicherheitsvorkehrungen
DNS verteilte Datenbank aus mehreren Ebenen
Root DNS Server: 13 weltweit
Top Level Domain Server: .com/.de/.uk
Authorative DNS Server: Unternehmens Server z.B google.de
DNS Namensauflösung und Caching
Zwei Arten der Namensauflöung
DNS Caching
Iterative Namensauflösung:
Client fragt lokalen DNS Server
bei unbekannter Antwort wird auf nächsten DNS Server verwiesen z.B TLD Server
Client fragt selbst weiter Server ab, bis er Antwort erhält
Rekursive Namensauflösung:
lokale DNS Server übernimmt die gesamte Suche für den Client
das spart Client Arbeit, aber belastet den Server stärker
DNS Caching:
lokaler Server speichert bereits gefundene IPAddressen ab
Eintrag bleibt im Cache gespeichert bis TTL abläuft
Reduktion der Abfragen und Ladezeit der Webseite wird verkürzt
DNS
Sicherheitsprobleme und Sicherheitsmaßnahmen
Sicherheitsprobleme DNS:
Denial of Service (DDoS) Angriffe:
Überlastung der Server durch massenhafte Anfragen
DNS Spoofing/ Cache Poisioning:
Manipulation von DNS Antworten
Man in the Middle Angriffe:
Abfangen und Verändern von DNS Anfragen
Sicherheitsmaßnahmen:
DNSSEC: DNS Security Extension
fügt kryptografische Figuren zu DNS Anfragen hinzu, um ihre Echtheit zu garantieren
DNS über HTTPS/ DNS über TLS
verschlüsselte DNS Abfragen, um Abhören und Manipultiom zu verhindern
Routing
Software defined networking
SDN: Software defined networking
-> bietet neue Möglichkeiten für eine effizientere Netzwerkkontrolle
Trennung von Daten- und Steuerungsebene
Zentraler SDN Controller berechnet Routen aller Router
OPENFLOW ist ein Standardprotokoll von SDN
Vorteile von SDN:
einfachere Netwerkverwaltung
flexiblere Verkehrssteuerung
günstigere Hardware (günstige Switches statt teure Router)
IPv4 Header
Version 4 | Header Länge 4 | TypeofService 8 | Länge (max 64kb) 16
Identifikation 16 | Flagge 3 | Fragment Offset 13
TTL 8 | Protokoll 8 | Header Checksum 16
Sender IP Adresse 32
Absender IP Adresse 32
IPv6 Header
Version 4 | Traffic Class 8 | Flow Label 20
Payload Länge (max 64kb) | Next Header | HopLimit
Absender IP Adresse 128
Empfänger IP Adresse / nächster Hop
JumboGram -> 4GB
Präfixe
Multicast
Unicast:
Link Local: FE80::|10
Global: 2000::\3
Anycast: = Unicast
Multicast: FF00::/8
Broadcast: MAC Broadcastadresse
FF:FF:FF:FF:FF:FF:FF:FF
Beschreibe den Unterschied zwischen Stausteuerungsverfahren mit expliziten und impliziten Feedback
Explizites Feedback:
Überlastete Entität informiert den Sender direkt
Implizites Feedback:
Sender leiten die Überlastung aus dem Netzwerkverhalten ab
Ausbleibende Ackknowledgements
TCP - Transmission Control Protokoll
Eigenschaften
Ablauf/Eselsbrücke
Eigenschaften:
verbindungsorientiertes Netzwerkprotokoll, das eine zuverlässige, geordnete und fehlergeprüfte Übertragung von Daten zwischen Computern über das Internet ermöglicht.
Ablauf:
Auf ein SEQ folgt ein ACK+1
Auf ein ACK folgt ein SEQ=
UDP - User Datagram Protocol
Einsatzgebiete
UDP (User Datagram Protocol) ist ein verbindungsloses Netzwerkprotokoll, das eine schnelle, aber nicht garantierte Übertragung von Datenpaketen ohne Fehlerkorrektur oder Reihenfolge-Sicherung ermöglicht.
Verbindunglos und einfach
keine Garantien für Zustellung und Reihenfolge
Effizient durch geringen Header Overhead (zusätzlicher Datenaufwand)
MultimediaStreaming -> Tolerant gegen Datenverlust
DNS und HTTP/3
Quell und Zielport
Länge und Prüfsumme
QUIC -> Quick UDP Internet Connection
Vorteil durch UDP gg TCP
Ein modernes, auf UDP basierendes Transportprotokoll von Google, das schnellere Verbindungen durch integrierte Verschlüsselung, geringere Latenz und verbesserte Fehlerkorrektur ermöglicht.
schneller Verbindungsaufbau
0 Roundtriptime bei bekanntem Server / QUIC Handshake
Sicherheit durch TLS 1.3 integriert
Persistente Verbindungen
Mehrere Datenströme innerhalb einer Verbindung
Kein Head of Line Blocking bei Fehlern
Vorteil durch UDP gg TCP:
kein Head of Line Blocking
großes Paket hindert keine kleinen Pakete oder bei Fehlern
Application Layer
HTTP - Hypertext Transfer Protocol
Client/Server Modell
Nicht-/ persistente Verbindungen
Versionen
Überträgt Hypertext Dokumente (HTML/CSS/Javascript/JSON) zwischen Client und Server
Client:
Browser fordert Daten mittels “https request” an
Server:
Server beantwortet Anfragen des Client mittels “https response”
Nicht persistente Verbindungen:
eine Anfrage pro Verbindung
für mehrere Anfragen, mehrere Verbindungen
persistente Verbindungen:
Mehrere Anfragen Verbindung möglich
HTTP Hypertext Transfer Protocol
HTTP Versionen
HTTP/1: nicht persistente Verbindung
Eine Anfrage proTCP Verbindung -> ineffizient
GET/HEAD/POST
HTTP/1.1: persistente Verbindung
unterstützt Pipelineanfragen, aber leidet an Head of Line Blocking
HTTP/2: persistente Verbindung
Reduziert Blockierungen durch Aufteilung und Priorisierung der Datenpakete
HTTP/3: persistente Verbindung (2022)
nutzt QUIC für geringere Latenz und bessere Leistung
MQTT - Message Queuing Telemetry Transport
4 Nachrichten
Qualitätsstufen
MQTT ein leichtgewichtiges, auf Publish-Subscribe basierendes Netzwerkprotokoll, das für die effiziente Kommunikation zwischen Geräten mit geringer Bandbreite und hoher Latenz, insbesondere im IoT-Bereich, entwickelt wurde
mehrere Clients können über Broker parallel Nachrichten austauschen
Publish-Subscribe Modell
Themenbasiertes Nachrichtenrouting
4 Nachrichten:
Connect: Verbindungsaufbau und Aufrechterhaltung mit Broker
Disconnect: Verbindung trennen mit Broker
Subscribe: Nachricht an Broker, um Interesse am Thema zu zeigen
Publish: Nachricht veröffentlichen und an alle beim Broker verbundenen Client weiterleiten
Qualitätsstufen:
At most once: keine Empfangsbestätigung
keine Garantie für Empfang, nur für einmalige Übertragung
At least once: Empfänger bestätigt Empfang
muss acknowledged werden
Exactly once:
Empfänger garantiert genau einmaligen Empfang
Forwardingtabelle
Auswahl eines Tabelleneintrags
Routing essenziell für Kommunikation im Internet
Unterschiedliche Routingalgorithmen
ForwardingTabelle:
Informationen über ZielNetzwerke und ZielRouter
Zieladresse (Host/Netzwerk)
Netzmaske (Bestimmung d. Netzwerk)
Interface (WLAN oder 5G)
Gateway (Falls Ziel nicht direkt erreichbar)
Auswahl eines Tabelleneintrags:
Router nutzen des Longest Prefix Matching
Längste übereinstimmende Binäre Netzwerkmaske wird ausgewählt
Der mit den meisten matchenden Bits
Routingalgorithmen
Nicht adaptive Routingalgorithmen
Flooding
Adaptive Routingalgorithmen
zentrales
dezentrales
Nicht adaptive Routingalgorithmen:
statische Routen vom Admin manuell konfiguriert
Flooding: Pakete werden an alle Nachbarn weitergeleitet
Ankunft garantiert, aber hohe Netzwerkbelastung
Passen sich Netzwerktopologie/ Verkehrsverbindungen an
2 Varianten
zentrales adaptives:
Zentrales System berechnet die Routen -> Single Point of Failure
dezentrales adaptives:
Router tauschen Informationen untereinander aus und berechnen selbstständig
Linkstate Routing - Intranet
Ablauf
Linkstate Routing:
komplette Karte ist Bekannt, daher kann die kürzeste Route zu jedem Ziel berechnet werden
Router sammeln komplette Karte des Netzwerks
Jeder Router sendet Link State Updates an alle anderen Router
Djikstra Algorithmus berechnet Route
Beispiel: Open Shortest Path First OSPF
OSPF Open Shortest Path First
OSPF Nachrichten
Netzwerke werden in Bereiche unterteilt
Reduziert Overhead, da Router nur Informationen über eigenen Bereich verwalten
OSPF Nachrichten: steigert Effizienz
Hello Pakete:
erkennen und halten von Nachbarschaften
LSA - Link State Announcement
verteilen von Netzwerk Informationen
Path Vector Routing - Internet
Border Gateway Protokoll
Automome Systeme
Path Vector Routing - Internet:
Wird für Routing zwischen autonomen Systemen genutzt
statt Distanzen werden ganze Pfadinformationen gespeichert (A:DBA)
wichtigste Protokoll für Internet routing
läuft über TCP
EBGP und IBGP
BGP Metriken:
Pfadlänge (Cost)
Routingpolitik -> bestimmte Länder meiden
Autonome Systeme:
Sammlung von Router und IP Netzwerken unter der Kontrolle einer Organisation
Stellung beziehen:
“UDP wird nicht benötigt, weil es IP gibt (ist ebenfalls verbindungslos). Lediglich TCP als verbindungorientiertes Protokoll wird benötigt.
Stimmt nicht, weil IP ein Protokoll der Kommunikation zwischen Hosts ist.
UDP und TCP jedoch zwischen Applikationen auf Hosts vermitteln. UDP erkennt Port, IP nicht!!
-> Daher kann nur durch IP ein Datenpaket NICHT an die Ziel Anwendung zugestellt werden!
-> UDP wird benötigt, um Kommunikation zu ermöglichen
Warum implementiert UDP Fehlerkontrolle, wo doch darunter liegende Layer bereits Fehlerkontrolle beinhalten
Fehler, die auf niedrigeren Schichten nicht erkannt werden können durch UDP doch erkannt werden!
-> Fehlererkennung auf niedrigere Schichten nicht garantiert!!
Was ist AIMD und wofür wird es verwendet?
AIMD - Additive Increase Multiple Decrease Ist ein Schema um die Datenrate anzupassen und bei Congestion zu senken.
Datenrate wird additiv gesteigert
um konstanten Wert erhöht (cw+1)
Bei Congestion wird multiplikativ gesenkt -> deutlich schneller als Anstieg
Warum benötigt ein IPv4 Paket “header length” wobei es “length” gibt?
Fast alle Felder des IPv4 Headers haben eine feste Länge!
Dies gilt nicht für das “Options” Feld.
Man benötigt das Feld “header length” , Um festzustellen, wo der Payload (Daten) des Pakets beginnen
Warum wird das Feld ”header length” Bei IPv6 Paketen nicht mehr benötigt?
Der Header Von IPv6 Paketen hat immer eine feste Länge, das Feld “options” existiert in IPv6 nicht mehr!
Optionale Header werden über das “Next Header” Feld verlinkt d.h zwischen IPv6 Header und IPv6 Payload eingefügt
Was ist die Rolle eines DNS Root name Server?
Root Name Server beantworten, Anfragen von lokalen Nameservern, die eine Anfrage nicht beantworten können!
-> verweisen In ihrer Antwort auf autoritative Namensserver für TLDs
Was ist die Aufgabe des MAC Sublayers Im NetzwerkSchichtenmodell?
Der MAC Sublayer organisiert den Zugriff auf das physische Medium, um Chaos bei gleichzeitig Zugriff mehrere Teilnehmer zu vermeiden
Random Early Detection
Nutzen
Schwellenwerte
Wann setzt RED ein?
Vorteile von RED
RED ist ein Mechanismus zur Vermeidung von Netzwerküberlastungen in Router und Netzwerkgeräten
Congestion verhindern bevor Auftritt
Präventiv, zufällige Pakete verwerfen
Zwei Schwellenwerte:
Warteschlange unter unterem Schwellenwert -> Keine Pakete verwerfen
Warteschlange über oberen Schwellenwert -> Alle ankommenden Pakete verwerfen
Dazwischen -> Random early Detection
RED:
Zufälliges verwerfen von Paketen signalisiert den Absender -> Netzwerk überlastet
Dies geschieht bevor Warteschlange komplett voll -> Sanfte Anpassung der Netzwerklast
Vorteile von RED:
Wahrscheinlichkeit von Stau wird verringert
Verhindert, dass alle Verbindungen gleichzeitig ihre Übertragungsrate reduzieren müssen
Warum wird mit der Entwicklung von Quick, UDP nicht vollständig ersetzt?
QUIC befindet sich eine Transportschicht über UDP
QUIC ist ein modernes Transportprotokoll, das auf UDP basiert, um Firewalls und NATs zu umgehen (die oft TCP blockieren, aber UDP durchlassen).
QUIC und UDP haben verschiedene Funktionen
QUIC vorallem Webverkehr
UDP eher Broadcast/ Multicastdienste
Zuletzt geändertvor 19 Tagen