Was ist ein Rechnernetz?
& 3 Komponenten
Verbund aller Komponenten für Informationsaustausch und Dienstnutzung mehrerer Rechner (Stationen, Knoten)
Komponenten:
physikalische Komponenten (Verkabelung, Schaltstellen, …)
Softwarekomponenten
Protokolle
Schichten des OSI Referenzmodells
Aufgaben der Physikalischen Übertragungsschicht?
regelt Kodierung und Übertragung einzelner Bits auf einem Übertragungskanal (Medium) - Physik der Übertragung
Leistungskodierung = Darstellung von Bits auf dem Medium
Übertragungsmedien und deren Eigenschaften
maximal zulässige Länge
Biegeradien
Anschlussspezifikation
zulässige Signalpegel, Frequenzen
Taktinformationen (synchron, asynchron)
Schnittstelle zur darüberliegenden Schicht
Aufgaben der Sicherhungsschicht?
stellt sicher, dass Datenblöcke (Rahmen) zu einem Empfänger im selben physikalischen Netz zugestellt werden können - Stationen auf demselben Kanal
Aufgaben:
Addressierung physikalischer Empfänger
Zugriffssteuerung auf das Übertragungsmedium
Fehlererkennung bei der Übertragung
Flusskontrolle
2 Teile der Sicherungsschicht?
Logical-Link-Control-Sublayer (LLC)
unabhängig von Übertragungstechnologie
Schnittstelle zur Schicht 3
regelt Flusssteuerung und -erkennung (IEEE 802.2)
Media-Access-Control-Sublayer (MAC)
regelt Medienzugriff für konkrete Netzwerktechnologie (IEEE 802.3, 802.5, 802.6)
regelt Adressierung
Wie funktioniert Adressierung auf Sicherungsschicht?
jede Station hat eindeutige Adresse (MAC-Adresse)
Hersteller von Netzwerkadapter legt Adresse fest
in realen Netzwerken nach IEEE 802.3 (Ethernet) ist sie 48 Bit lang
kein logischer Zusammenhang zwischen MAC-Adresse und Zugehörigkeit zu einem physikalischen Netzwerk
Was macht die Medienzugriffssteuerung?
regelt, welche Station das Medium zum Senden verwenden darf
notwendig, wenn mehrere Stationen ein gemeinsames Medium verwenden und prinzipiell wahlfrei auf dieses zugreifen können
nicht/ nur teilweise notwendig, wenn Stationen direkt miteinander verbunden sind (Point-to-Point)
oder solche Verbindungen durch entsprechende Netzewerkkomponenten geschaltet werden können (z.B. Switch im Ethernet)
Was ist Multiplexing in der Sicherungsschicht?
3 Arten
= mehrere logische Kanäle über einen gemeinsamen physikalischen Kanal bereitstellen
-> Kanal wird in Abschnitte unterteilt:
Time Division Multiple Access (Zeitschlitze)
Frequency Division Mutliple Access (Frequenzbänder)
Space Division Multiple Access (Räumliche Bereiche)
-> jede Station bekommt eigenen Bereich
Unterscheidung Multiplexing in zwei Arten
synchron
Stationen haben feste Abschnitte
macht Station nichts, bleibt Abschnitt ungenutzt
asynchron
dynamische Zuteilung nach Bedarf
höherer Verwaltungsaufwand
durch zentrale Komponente oder dezentral
Medienzugriff bei dezentraler Konkurrenz?
2 Protokollbeispiele
jede Station kann jederzeit Senden
versuchen maximal verfügbare Datenübertragungsrate zu nutzen
Kollision, wenn zwei Stationen gleichzeitig senden
-> braucht:
Kollisionserkennung und -auflösung
oder dezentrale Rechtevergabe
Protokollbeispiele:
Carrier Sense Multiple Access (CSMA)
ALOHA (pure und slotted)
Wie funktioniert ALOHA?
Zugriffsprotokoll für Drahtlosnetzwerke
jede Station sendet jederzeit - keine Vorab-Prüfung, ob Kanal frei
Empfänger quittiert erfolgreichen Empfang
gleichzeitig gesendete Rahmen überlappen einander und müssen neu übertragen werden
-> keine Quittierung
erneute Übertragung nach zufälliger Zeit
Kollisionswahrscheinlichkeit bei ALOHA - maximal erreichbare Auslastung des Kanals
Annahmen:
Rahmenlänge konstant
Sendeverhalten der Knoten folgt Poisson-Verteilung
Station sendet keinen neuen Rahmen, wenn alter Rahmen nochmal gesendet werden muss
maximal erreichbare Auslastung = 18,4%
Was ist Slotted ALOHA?
Verbesserung für Auslastung des Kanals
Startzeitpunkte zum Senden werden diskretisiert
-> Kanal nur für Dauer einer Rahmenlänge betroffen
-> maximal erreichbare Kanalauslastung: 36,8%
Weitere ALOHA-Optimierungen
Voraussetzung:
Sender kann Kanal abhören, um Kollisionen festzustellen
Signallaufzeiten sind hinreichend kurz
Optimierungen:
vor Senden: Sender prüft, ob Kanal verfügbar ist
während Senden: Sender prüft auf Kollisionen und bricht ab, wenn sie auftreten
Wartezeiten bis zum erneuten Senden bei wiederholten Kollisionen erhöhen
Wie funktioniert CSMA/CD
Carrier Sense Multiple Access / Collision Detection
im Ethernet verwendet (eigentlich drahtgebunden)
stellt Station Kollision fest, sendet sie JAM-Signal
alle anderen Stationen brechen Sendevorgang ab
-> erneutes Senden ist schneller wieder möglich
Zeit bis zum erneuten Senden steigt exponentiell
nahezu 100% Auslastung
wenn gesendete Nachrichten lang sind im Verhältnis zur Signallaufzeit
wollen viele Stationen senden, sinkt die Auslastung erheblich
Wie funktioniert Rechtevergabe?
zentral oder dezentral Recht zum Senden aushandeln
zentral:
Busmaster: Station mit Sonderrechten teilt Übertragungsrechte zu
Polling: fragt regelmäßig alle anderen Stationen ab, ob sie Daten senden wollen
mehr Overhead -> längere Wartezeiten bis zum Senden
Busmaster ist Single-Point-of-Failure
Wie funktioniert Token Passing?
= dezentrale Rechtevergabe
Token:
umlaufendes Datenpaket markiert Senderecht
jede Station gibt es an Nachbarn weiter
Token kann frei oder belegt sein
frei -> Station kann Token mit eigenen Daten belegen und an Empfänger adressieren
belegt -> Station prüft, ob sie der Empfänger ist
-> wenn ja, dann Daten entnehmen und Token wird wieder frei
Durchsatz höher als bei konkurrierendem Zugriff
gibt Garantien für Zeit und Übertragungsraten
Verwaltungsaufwand für das Token
besonders bei Verlust des Tokens durch Übertragungsfehler
Aufgaben der Vermittlungsschicht? (auch Netzwerkschicht)
= Nachrichten austauschen über physikalische Netzwerkgrenzen hinweg
-> entsteht ein logischer Verbund von Teilnetzwerken
Ziel: jeder Knoten im Verbund soll mit jedem anderen kommunizieren können
Lösung: Internet Protocol (IP; gibt auch andere)
jeder Knoten hat eine eindeutige Adresse für Identifizierung
Mechanismen um Daten zwischen beliebigen Knoten des Netzwerks zu vermitteln
Zwei Arten der Datenvermittlung in Netzwerken?
Wie funktioniert Leitungsvermittlung?
für Dauer des Datenaustauschs gibt es exklusive Verbindung zwischen zwei Knoten
auf Verbindung werden Daten unterbrechungsfrei und reihenfolgeerhaltend übermittelt
physikalische Leitung ist für die beiden beteiligten Knoten blockiert
auch blockiert, wenn keiner von beiden Daten sendet
hoher Hardwareaufwand
Wie funktioniert Paketvermittlung?
Daten paketweise übertragen
mehrere Absender können Pakete über die gleichen Leitungen senden
Vermittler leiten Pakete individuell weiter
-> Daten nehmen unterschiedliche Wege übers Netz
Empfänger muss ggf. Reihenfolge der Pakete wieder herstellen
Fire-and-Forget: Pakete können verloren gehen
geringerer Hardwareaufwand als bei Leitungsvermittlung
Was ist das Internet Protocol (IP)
verbindungsloses paketvermittelndes Protokoll für logische Netzwerke
setzt auf Sicherungsschicht auf - aber in Vermittlungsschicht beheimatet
effiziente Wegfindung:
Knoten mittels logischer Adressen in Netzwerke mit gemeinsamen Adressanteilen gruppiert
2 Versionen:
IPv4: 32-Bit Adressen (4,3 10⁹ Adressen)
IPv6: 128-Bit Adressen (3,4 10³⁸ Adressen)
Adressierung im IP
Netzadresse: Netzmaske legt fest, welcher Adressbereich innerhalb eines logischen Netzwerkes erreichbar ist
alle Bits, bei denen in Maske 1 gesetzt ist, stimmen für alle Knoten im logischen Netz überein
es wird von rechts aus maskiert -> Maske ist links ist 1, rechts ist 0
Kurschreibweise: 218.98.240/20
erste 20 Bit identifizieren das Netz
verbleibende 12 Bit den Knoten im Netz
Was ist Hostanteil und Netzanteil?
Hostanteil = Teil der durch Maske ausmaskiert wird
= Netzmaske weist 0 aus
Netzanteil = Maske hat 1
Wie funktioniert die Wegefindung?
Knoten eines gemeinsamen physikalischen Netzes werdn in einem gemeinsamen logischen Netz organisiert
-> Netzanteile ihrer Adressen stimmen überein
IP-Adresse und Netzmaske zeigen, ob Empfänger im selben Netzwerk liegt oder draußen
innerhalb selben Netzwerk
muss MAC-Adresse für Ziel-IP-Adresse gefunden werden (physikalisch immer noch verwendet)
Rundnachricht ins physikalische Netzwerk, welche MAC-Adresse zur IP-Adresse gehört
= Adress-Resolution Protocol (ARP)
bei passender Antwort Nachricht über Sicherungsschicht zustellen
außerhalb:
Nachrichten an Vermittler im eigenen Netz weitergeben (Router)
Routingtabelle zeigen, an wen Nachricht weitergegeben werden muss
dort sind nur Netzadressen als Ziele hinterlegt
keine Adressen für einzelne Knoten
Was ist das Internet?
= erdumspannende Struktur, die private, gewerbliche und öffentliche lokale Netzwerke miteinander verbindet
Internetdienstanbieter (Internet Service Provider, ISP) bietetn Zugang zum Zwischennetz
betreiben eigene Routingnetzwerke für Paketvermittlung zwischen eigenen Kunden und anderen ISP
Internetzugang für lokales Netzwerk = Bereitstellung von Vermittlungskapazität zu anderen lokalen Netzwerken
Was sind Autonome Systeme?
Netzwerke der Internetdienstanbiert
können:
Nachrichten an andere AS vermitteln
vewenden weltweit standardisiertes Protokoll zum Austausch von Vermittlungsinformationen zwischen beteiligten Routern
= Border Gateway Protokoll (BGP)
haben:
eindeutige Kennung (Autonomous System Number, ASN)
3 Klassen von ISP
Rang 3 / tier 3
lokal oder regional
Rang 2 / tier 2
überregional
Rang 1 / tier 1
weltweit
Anbieter gleichen Rangs sind z.T. direkt miteinander vernetzt
sonst über höherrangige Anbieter
Internetknoten (Internet Exchange Point, IXP)
für Vernetzung zwischen Anbietern
mehrere ISP mit verbunden
DE-CIX
der weltweit durchsatzstärkste
in Deutschland
2 Arten Pakete weiterzuvermitteln
wenn Pakete nicht selbst zugestellt werden können
Peering
kostenneutral
keine Vermittlung in Fremdnetze
ISP leiten Daten untereinander weiter
typischwerweise zwischen Anbieter gleichen Rangs
Transit
kostenpflichtig
auch Durchgangsvermittlung in andere Netze
muss man bei Anbietern höheren Rangs kaufen
Tier 1 kaufen keinen Transit und machen nur Peering mit anderen Tier 1
Wie funktioniert IP Adressvergabe?
IANA = Internet Assigned Number Authority
verwaltet weltweit verfügbaren IP-Adressraum
RIR = Regional Internet Registries
Nord-, Südamerika, …
NIR = National Internet Registries
für Staaten
jede Vergabe ist gebührenpflichtig
Was sind private Netze?
Adressbereiche 192.168.0.0/16 und 10.0.0.0/8 für privaten Gebrauch
Router vermitteln Nachrichten an die Adressen nicht weiter
z.B. für Heimnetze - dort hat nur der Router eine öffentliche IP-Adresse
-> alle anderen Knoten haben private Adresse
Wie funktioniert NAT = Network Address Translation?
beim Weiterleiten von Nachrichten aus dem lokalen Netz heraus
ersetzt Router Absenderadresse durch seine eigene Adresse
-> “Source-NAT”
Kommt Antwort zurück, ersetzt er Zieladresse der Antwort (=also seine eigene Adresse) durch Adresse des Knotens im lokalen Netz
und leitet Nachricht weiter
Vorgang ist für Knoten im lokalen Netz transparent
senden mehrere Knoten im lokalen Netz an die gleiche Zieladresse braucht man zum Auflösen der Rückantworten Zusatzinformationen
-> die kommen aus Schicht 4 -> nutzt Ports
NAT-Bewertung
erhöhte Sicherheit, da Knoten hinter NAT-Router verborgen bleiben
Komplikationen, wenn Knoten von außen kontaktiert werden sollen (z.B. bei Internettelefonie)
NAT durchbricht Schichtenhierarchie
1-zu-1 Zuordnung Knoten-Adressen wird durchbrochen
-> neue Angriffsszenarien
Notlösung, weil IPv4 nicht genug Adressen hat, um Bedarf in lokalen Netzwerken zu decken
Vor- und Nachteil von IPv6
Vorteil:
jedes Gerät kann dauerhaft und stabil mit einer Adresse versorgt werden
Nachteil:
Tracking von Geräten wird leichter -> Anonymität geht verloren
Wie funktionieren Routingprotokolle?
sollen automatisiert kürzeste Wege finden = kürzeste Pfade
Bewertung von Verbindungen zwischen Routern mit Metriken, z.B.:
Bandbreite
Fehlerrate
Verzögerungen
-> ergibt Kostenwert
2 Arten von Routingprotokollen
zentrale Verfahren = Link-State-Verfahren
jeder Knoten hat vollständiges Wissen über Struktur des Graphen
Router tauschen Informationen über ihre eigenen Verbindungen aus
für kleinere Netzwerke
dezentrale Verfahren = Distanzvektorverfahren
Informationen werden nur zwischen benachbarten Knoten ausgetauscht
Knoten lernen nur, welche Ziele Nachbarn zu welchen Kosten erreichen können (Distanzen)
keine Informationen über Netztopologie
für größere Netzwerke
Voraussetzung bei Dijkstra
= zentrales Verfahren
Netzgraph ist bekannt
Prinzip von Bellman-Ford
= dezentral = Distanzvektoralgorithmus
Initialisierung:
Was ist das Count-To-Infinity-Problem?
Gute Nachrichten verbreiten sich sofort, schlechte nur zögerlich
wenn Link sich verschlechtert oder total ausfällt
Router meint über Nachbarn eine leicht schlechtere Route zu haben, die aber über ihn selbst führt
leicht schlechtere Route wird zwischen den Nachbarn hin und her gereicht
Alternativrouten werden erst spät berücksichtigt
Lösungsansatz:
Split-Horizon = Routinginformationen werden nicht in die Richtung propagiert, aus der sie empfangen wurden (hilft nur lokal)
komplexere Verfahren
Aufgaben der Transportschicht?
in paketvermittelnden Netzen
leitungsvermittelnde braucht die Schicht nicht
Segmentiert Datenströme der übergeordneten Schichten = teilt sie in Pakete auf
adressiert Prozesse auf einem Knoten
stellt virtuelle Verbindungen in paketvermittelnden Netzen bereit
Fehlererkennung und -korrektur
2 Protokolle der Transportschicht?
beide:
Segmetierung von Datenströmen
Adressierung von Anwendungen
UDP = Unified-Datagram-Protocol
Pakete können verloren gehen
Reihenfolge ist nicht garantiert
schnell aber unzuverlässig
gut bei Videostreaming
TCP = Transmission-Control-Protocol
Reihenfolge bleibt erhalten
Pakete bekommen Sequenznummer
Mechanismen der Flusskontrolle
sicher aber langsamer
Bestätigung von Zustellung -> stellt virtuelle Verbindung bereit
Empfänger sendet Nummer des nächsten erwarteten Pakets
Segmentgröße bei TCP
TCP-Paket muss in IP-Paket passen
IP-Paket muss ich Layer-2-Rahmen passen
Nutzlastgröße 1460 Bytes
Ethernet: 1500 Bytes Nutzlast
20 Byte für IP-4-Header
20 Byte für TCP-Header
Wie funktioniert 3-Wege-Handschlag
zum Bestätigungen vom Paketempfang
TCP nimmt Abbrauch is kauf, wenn 3-Wege-Handschlag nicht vollständig durchgeführt wurde
weil eins der benötigten Pakete verloren gegangen ist
3 Elemente des 3-Wege-Handschlags:
Anfrage
Bestätigung
Gegenbestätigung
-> Timeout, wenn eins der 3 Pakete verloren geht
Datenübertragung mit Sequenznummern
nach Verbindungsaufbau sendet Client x+2 als Sequenznummer
Server verwendet y +1
weitere Sequenznummern = Nummer des vorhergehenden Segments + Größe der darin übertragenen Nutzlast (max 1460)
x wird zufällig gewählt
-> initiale Sequenznummer ist so für Angreifer nicht vorhersagbar
Wie funktioniert Paketverlust und erneute Übertragung?
Sender vermerkt Sendezeitpunkt eines Pakets
kommt nach Retransmission Timout (RTO) = Wartezeit keine Bestätigung, sendet er Paket erneut
Wert für RTO wird dynamisch ermittelt -> je nach Übertragungsweg
wenn zu klein, dann zu oft gesendet, nur weil es langsam ist
wenn zu groß, dann unnötige Wartezeiten
Wie funktioniert kumulative Bestätigung?
Server braucht nicht auf Bestätigung jedes einzelnen Pakets zu warten (Stop-and-Wait)
führt zu schlechter Ausnutzung des Kanals
Sender schickt mehrere Segmente hintereinander
Empfänger bestätigt kumulativ -> nur letztes Segment des Bursts wird bestätigt
letztes Segment vor Lücke bestätigt alle vorangehenden Segmente
Sender schicht so viele Pakete wie Empfänger verarbeiten oder zwischenspeichern kann
-> benötigt Flusskontrolle durch:
Sliding Window
Congestion Control
Wie funktioniert Sendefenster?
= für Flusskontrolle (Sliding Window) durch Empfänger
-> Erkennt überlastung beim Empfänger
Empfänger gibt bei Segmentbestätigung Window an
= wieviel Bytes er noch verarbeiten kann
bevor Empfangspuffer überlauft
Sender passt nächsten Burst daran an
Sliding Window, weil Sender den zu sendenden Datenstrom überstreicht
Wie funktioniert Congestion Control?
-> Erkennt Überlastung bei Übertragung
Router speichern Pakete zwischenspeichern, wenn Kanal zum Weiterleiten verstopft ist
andere werden stillschweigend verworfen
TCP erkennt den Zustand durch erhöhte Verlustraten
= nicht bestätigte Pakete
TCP steigert langsam Senderate -> tastet sich an Überlastungsgrenze heran
beginnt mit einer (maximalen) Segmentgröße - slow-start für Congestion Window Size, CWND
mit jeder Bestätigung wird CWND um eine Segmentgröße erhöht
-> CWND wächst exponentiell
weil immer die letzte Segmentgröße addiert wird
Congestion-Avoidance (Überlastvermeidung)
ab Schwellenwert (slow-start-threshhold, SST) wird CWND nur noch um 1 erhöht
nur wenn alle Pakete aus dem Fenster bestätigt wurden
bei Paketverlusten wird SST halbiert
und Algorithmus beginnt mit CWND = 1
besser: wieder bei SST/2 beginnen und CWND um nur eine Segmentgröße erhöhren
Was ist eine Sitzung?
Sitzung = Datenaustausch zwischen Client und Server
nicht zwingend kontinuierlich
Bsp. Webshop: Einkauf mit Pausen
Merkmal:
Sitzungen bestehen zeitlich über mehrere, unabhängige Verbindungen der Transportschicht
Aufgaben der Sitzungsschicht?
Sitzungen verwalten und beenden
Checkpoints speichern, um abgebrochene Sitzungen wiederaufzunehmen
Beispiele:
HTTP Cookies
Sitzungskennung (Session ID) zum Wiedererkennen des Clients durch Server
Datenbankmanagementsysteme
gültiger Zustand der Datenbanken bei Abbruch von Transaktionen
Aufgaben der Darstellungsschicht?
empfangene Daten für Präsentation aufbereiten
zu sendende Daten in geeignete Formate für Übertragung bringen
Verschüsselung und Komprimierung
Verschlüsselung gibt es aber auch auf anderen Schichten (IPSec und TLS)
Big-Endian vs. Small-Endian
Videodaten für Übertragung komprimieren
Aufgaben der Anwendungsschicht?
hier sind Applikationen
Protokolle:
HTTP
DNS
IMAP
POP3
SMTP
Applikationen können eigene Mechanismen haben für:
Ausfallsicherheit
Fehlertoleranz
Komprimierung
Welche Schicht ist für Wegevermittlung zuständig?
Schicht 3 (Vermittlung)
Welche Schicht ist zuständig für: Frame-Bildung
Schicht 2 (Sicherung)
Welche Schicht ist zuständig für: Cookie-Management
Schicht 5 (Sitzung)
Welche Schicht ist zuständig für: Bit-Übertragung
Schicht 1 (Bitübertragung)
Welche Schicht ist zuständig für: Paketierung
Welche Schicht ist zuständig für: Segmentierung
Schicht 2 (Sicherung) oder Schicht 4 (Transport, spez. TCP)
Welche Schicht ist zuständig für: Ende-Zu-Ende-Vermittlung
Welche Schicht ist zuständig für: Dienst-zu-Dienst-Vermittlung
Schicht 4 (Transport)
Welche Schicht ist zuständig für: Leitungskodierung
Schicht 1, ggf. noch Schicht 2
Welche Schicht ist zuständig für: Medienzugriffskontrolle
Schicht 2
Welche Schicht ist zuständig für: Network Address Translation
Welche Schicht ist zuständig für: Flußkontrolle
Sowohl auf Schicht 2 (bspw. durch Switches) als auch Schicht 4 (bspw. TCP)
Welche Schicht ist zuständig für: Aufbau & Verwaltung virtueller Verbindungen
Schicht 4 (Transport), ggf. noch Schicht 5 (Sitzung) mit Synchronisationspunkten
Welche Schicht ist zuständig für: Verwaltung von verbindungsunabhängigen Sitzungen
Welche Schicht ist zuständig für: Einheitliche Darstellung von Daten in heterogenen Systemen
Schicht 6 (Darstellung)
Welche Schicht ist verwendet: CSMA/CD
Schicht 2 (Medienzugriff)
Carrier sense multiple access with collision detection
in Ethernet verwendet
Übermittelnde Schicht merkt Kollisionen mit anderen Schichten
Welche Schicht ist verwendet: IP
Welche Schicht ist verwendet: UDP
Welche Schicht ist verwendet: TCP
Schicht 4 (Transportschicht)
Welche Schicht ist verwendet: DNS
Schicht 7 (Anwendung), nicht Schicht 3!
Welche Schicht ist verwendet: HTTP
Schicht 7 (Anwendung)
Welche Schicht ist verwendet: ICMP
schickt Fehlernachrichten/ Erfolgsnachrichten, wenn mit anderer IP-Adresse kommuniziert wird
Internet Control Message Protocol
Welche Schicht ist verwendet: Sockets
Last changed9 months ago