Netzwerke und Internettechnologien

Aus Flinkwiki
Wechseln zu: Navigation, Suche
Seitenübersicht
Zur Seite "Programmiersprachen im Internet und in Netzwerken"
Zur Seite "HTML"

Inhaltsverzeichnis

Internet

Definition

Weltweites Computernetzwerk.


The internet is a global network of computers that works much like the postal system, only at sub-second speeds. Just as the postal service enables people to send one another envelopes containing messages, the internet enables computers to send one another small packets of digital data.

For that to work, they use a common ’language’ called TCP/IP (Transmission Control Protocol/Internet Protocol). If you are on the net, you have an IP address. BBC WebWise


Grundlagen Internet

- Netzwerkanwendungen laufen auf Endsystemen, den sogenannten Hosts.

- Die Endsysteme sind über Kommunikationsleitungen miteinander verbunden:
  Kabel (geführt), Funkwellen (ungeführt)

Übertragungsrate / Bandbreite:    1bps = 1 Bit pro Sekunde

 1Kbps = 10³ bps , 1 Mbps = 10 (hoch 6) 10³ Kbps

- Transitsystem zur Datenübermittlung: z.B. durch Router

Regeln & Konventionen: Protokolle ermögliche Netzwerke, z.B. Internet-  
                                           Protokoll IP

Netzwerke sind oft aus weiteren Netzwerken aufgebaut

Zugang zum Netzwerk – z.B. Internet – über ISP: Internet Service Provider

- Zugangsnetzwerke, z.B. : lokales Netzwerk (Firmennetzwerke etc.), Wählverbindung über   
   Telefonleitungen, mobile Zugangsnetzwerke
-------------------------------------------------------------------

ISP: - hierarchischer Aufbau mit Backbone – Netzwerken

- Endgeräte / Systeme / Hosts müssen problemlos an das Netz angefügt werden können, bzw. vom Netz entfernt werden können.

  ► Um dieses zu ermöglichen, bestehen Standards – Internet-Standards:
       IETF – Internet Engineering Task Force
       RFC – Request for Comments:    www.ietf.org/rfc.html

Hosts: Client & Server

Datenübermittlung

  • Leitungsvermittlung: Dauerhafte Reservierung einer Leitung zur Übermittlung (z. B. Telefonie)
  • Paketvermittlung: Einzelne Nutzung der Leitung für jede einzelne Übermittlung
  • Datagramm-Übermittlung im Internet: Nachrichten/Dateien werden evtl. in Pakete / Teildateien unterteilt, und anhand der Zieladresse ( Host) an den Adressaten gesendet. Datagramm
  • Verzögerungen bei der Datenübermittlung:
    • Verarbeitungsverzögerung: (Processing Delay) bezeichnet die Zeitspanne, die aktive Vermittlungskomponenten benötigen, um den richtigen Ausgangsport für die Weiterleitung der zu übertragenden Pakete zu identifizieren.
    • Warteschlangenverzögerung: (Queueing Delay) tritt dann auf, wenn an den Ein- oder Ausgängen der Netzwerkkomponenten bereits mehrere Pakete auf eine Übertragung warten.
    • Übertragungsverzögerung: Die Übertragungsverzögerung ist die Zeit, die ein Router benötigt, um ein Paket abzuschicken. Sie hängt ab von Paketlänge und Übertragungsrate der Verbindungsleitung - hat aber nichts mit der Länge der Leitung zu tun
    • Ausbreitungsverzögerung: Die Ausbreitungsverzögerung ist die Zeit, die ein Bit von einem Router zum nächsten braucht.
=> Gesamtverzögerung: Summe aller Verzögerungen des Ende-zu-Ende-Transports


Schlagwörter: Endsysteme | Verzögerungen im Netzwerk |Paketvermittlung | Store-and-Forward-Verfahren | Verteilungstransparenz | Latenz |

Zusammenfassung


 - Das Internet besteht aus Endgeräten, bzw. Endsystemen, den sogenannten Hosts, aus Kommunikationsleitungen – 
Kabel, Funk – und Transportsystemen (Router etc.).

 - Das Internet transportiert Nachrichten von einem Quellhost zu einem Zielhost über dieses Netzwerk.

  Hosts werden oft in Server und Clients gegliedert.

 - Dabei wird die Nachricht über einen Pfad – die Route – von einem Knoten zum nächsten transportiert.

 - Um den Transport zu ermöglichen, benötigt man ein Internetprotokoll (IP)

 - Das Internet ist eigentlich ein Zusammenschluss verschiedener (Teil-)Netzwerke. 

 - Zugang zum Internet erhält man durch einen ISP – einen Internet-Service-Provider, oder kurz „Provider“.

 - Die Nachrichtenübertragung erfolgt durch die Paketvermittlung, bei der Nachrichten in kleine Pakete geteilt werden, 
die dann parallel durch das Internet über die Route transportiert werden. Dabei kann es zu Paketverlusten kommen.

 - Pakete werden anhand ihrer Zieladresse zugestellt – somit ist das Internet ein Datagramm-Netzwerk.

 - Die Geschwindigkeit, mit der Nachrichten übermittelt werden, nennt sich Übertragungsrate – oder Bandbreite.

 - Bei der Übertragung kann es zu Verzögerungen kommen, die Gesamtverzögerung der Übertragung von der Quelle zum Ziel 
nennt man „Ende-zu-Ende“-Verzögerung.

Netzwerk - Grundlagen

Allgemeines

Grundsätzlich gibt es 2 Gründe, Rechnernetze zu bilden:

  • Resource sharing bzw. data sharing: Betriebsmittel, Funktionen bzw. Daten sollen einem ganzen Netzwerk zugänglich gemacht werden
  • Last-, Leistungs-, Wartungsverbund: Ein Rechnernetz erfüllt dabei eine übergeordnete, gemeinsam Aufgabe.

Grundsätzlich gilt:

  • Ein verteiltes System – bzw. ein Netzwerk - ist eine Ansammlung von unabhängigen Computern, die dem Benutzer als einzelnes kohärentes System erscheint.
  • Dabei befinden sich die Hardware- und/oder Software-Komponenten auf vernetzten Rechnern, die mittels Nachrichten miteinander kommunizieren.
  • Das bedeutet auch, dass das Ersetzen oder Erweitern von Komponenten vom Benutzer unbemerkt bleibt.

Man unterteilt Netze je nach Ausdehnung in:

  • Lokale Netze (local area network, LAN)
  • Regionale Netze ( metropolitan area network, MAN)
  • Weitverkehrsnetze (wide area network, WAN)

Transparenz eines Netzwerkes

Transparenz tritt in verschiedenen Formen auf:

  • Verteilungstransparenz: Die Verteiltheit des Systems (Komplexität und technische Details) wird nicht sichtbar.
  • Ortstransparenz: Der Ort, an dem sich ein Dienst oder eine Ressource befindet ist dem Benutzer nicht bekannt.
  • Zugriffstransparenz: Der Zugriff auf die Ressource erfolgt immer auf die gleiche Art und Weise, egal ob diese sich lokal oder entfernt im Netz befindet.
  • Nebenläufigkeitstransparenz: Es ist mehreren Benutzern möglich, gleichzeitig auf die Dienste und Ressourcen zuzugreifen. Das System sorgt dafür, dass exklusive Zugriffe möglich sind.
  • Fehlertransparenz: Der Fehler wird für den Nutzer nicht sichtbar, weil der Ausfall eines Bestandteils nicht sichtbar ist (z. B. weil er durch eine andere Ressource kompensiert wird).

Zusätzlich soll ein Netzwerk noch migriert und repliziert werden können: Das bedeutet: Wir haben ein Unternehmen, mit Sitz in Frankfurt. Nun wollen wir nach Hamburg umziehen – also nehmen wir unser Firmennetzwerk mit.


Skalierbarkeit eines Netzwerkes

Es gibt 3 Dimensionen, die die Skalierbarkeit definieren:

  • Hinsichtlich der Größe – also das Hinzufügen (oder Entfernen) von Benutzern und Ressourcen
  • Hinsichtlich der geografischen Ausdehnung
  • Administrativ: Ein Netzwerk muss auch dann noch administrativ verwaltet werden können, wenn es aus vielen unabhängigen administrativen Einheiten besteht.



Eigenschaften

Charakteristika dezentraler Algorithmen:

  • Kein Computer hat vollständige Informationen über den Systemstatus
  • Computer entscheiden nur aufgrund von lokalen Informationen
  • Der Ausfall eines Computers schädigt nicht den Algorithmus
  • Es wird nicht implizit angenommen, dass es eine globale Uhr gibt

Verteilte Systeme


Verteilte Systeme

Ein verteiltes System ist ein System ➥ in dem sich Hardware- und Software-Komponenten auf vernetzten Computern befinden und ➥ nur über den Austausch von Nachrichten kommunizieren und ihre Aktionen koordinieren. ➥ Die Grenzen des verteilten Systems werden durch eine gemeinsame Anwendung definiert ➥ Bekanntestes Beispiel: Internet ➥ Kommunikation über die standardisierten Internet-Protokolle ➥ IP und TCP / UDP ➥ Nutzer können Dienste / Anwendungen nutzen, unabhängig vom gegenwartigen Standort.

TU Braunschweig | Fernuni Hagen Verteilte Systeme | Fernuni Hagen Fragenkatalog

Klassifikation nach Tanenbaum:

  • Verteilte Computersysteme (Distributed Computing Systems): Verteilte Systeme für Hochleistungsaufgaben, zur Verteilung von Lasten auf mehrere Rechner, z. B. Cluster- und Grid-Systeme.
  • Verteilte Informationssysteme (Distributed Information Systems): Verteilte Informationssysteme bieten dem Benutzer Zugang zu Informationen, basierend auf Daten verschiedener Informationsquellen. Großer Codeumfang, sehr datenorientiert, interaktiv und nebenläufig. Server-Client-Architekturen.
  • Verteilte pervasive Systeme (Distributed pervasive Systems): Sehr kleine, oft mobile und mit Funkverbindung ausgestattete Geräte wie Haus- und Multimediasysteme, Informationssyteme im Gesundheitswesen, Sensornetze.

In der Regel kommen aber auch oft Mischformen vor – die Einteilung ist also nicht zu streng zu betrachten.

Distributed Systems


Links

IT Administrator: Verzögerungen | Wikipedia Internet Protocol | | Heise Navigationssysteme

Netzwerk-Komponenten

LAN-Kabel / Kabelungen / Leitungen
Switch
Bridge
Router
Netzwerk-Adapter
WLAN-Access-Points

Grundlagen eines LAN

  • Rechner (Server, Clients), Geräte (Drucker)
  • Kabel / Leitungen
  • Gegebenenfalls weitere (Transit-)Geräte

MAC-Adresse: Alle Geräte müssen direkt angesprochen werden können. Netzwerk-Adapter - Adresse

Kollision:

Geräte speisen ihre Nachrichten direkt in das Netz ein. Wenn mehrere Nachrichten gleichzeitig unterwegs sind, kommt es zu Kollisionen.

Die angeschlossenen Netzwerkgeräte erkennen die Kollision. Alle diese Nachrichten werden verworfen, und alle Geräte stellen das Senden ein.

Jedes Gerät versucht danach für sich, seine Nachricht wieder in das Netz einzuspeisen.

Kollisionsdomäne: Der Raum, in dem gleichberechtigte Geräte um eine Ressource konkurrieren.

  1. Zum einen brauchen wir Rechner, die die Technik beinhalten, um miteinander verbunden zu werden. Das ist deshalb gewährleistet, weil alle Geräte eine Ethernet-Karte beinhalten.
  2. Ein Rechner, bzw. ein Gerät – wir wollen ja z. B. auch Drucker in unser LAN mit aufnehmen – also ein Gerät braucht eine Adresse, um direkt angesprochen werden zu können:
    Die MAC-Adresse
  3. Geräte, die bestimmte Verbindungsaufgaben übernehmen


Repeater:

bei großen geografischen Ausdehnungen der Netzwerk-Komponenten treten Übertragungsverluste auf ( ca. 100 Meter )

Repeater verstärken das Signal - er leitet das Signal einfach weiter. (etwa 1000 Meter verlustfreier Transport)

Repeater betreffen nur die Bitübertragungsschicht (Schicht 1)

5-4-3-Regel: 5 Kabelsegmente, 4 Repeater , 3 Geräte

Wikipedia Repeater | Elektronik-Kompendium Repeater]

Hub:

Ein Hub ist ein Repeater, der zentral zwischen Geräten geschaltet ist, und diese sternförmig miteinander verbindet.

Ein Hub besitzt entsprechend mehrere Ein-/Ausgänge.

Geräte können mittels Repeater / Hub nicht direkt adressiert werden.
Folglich werden Nachrichten einfach direkt in das Netzwerk eingespeist, und es entstehen Kollisionen. Repeater können Kollisionen über das gesamte Netzwerk nicht verhindern.

Bridge:

Eine Bridge verbindet 2 Teilnetze miteinander, z.B. LAN / Ethernet-Netzwerke. Implementiert die Schicht 1 ( Bitübertragungsschicht) und die Schicht 2 ( Sicherungsschicht)

  • erzeugt einen neuen Bitstrom.
  • kann MAC-Adressen auslesen und Nachrichten direkt zustellen.
  • Kollisionsminimierung durch Teilung des Gesamtnetzes in 2 Kollisionsdomänen
  • erkennt Geräte anhand der Nachrichten, fügen die Geräte in die interne Tabelle ein.
  • kann fehlerhafte Nachrichten erkennen und verwerfen: Effektivere Netzauslastung.

Switch:

  • Ein Switch ist eine Bridge, die mehrere Teilnetze miteinander verbinden kann ("Multiport-Bridge")
  • Schichten 1 und 2 (Bitübertragungs- und Sicherungsschicht)
  • kann Kollisionen verhindern, wenn alle Geräte direkt mit einem Switch verbunden sind.
  • Broadcast-Nachricht über die MAC-Adresse: ff-ff-ff-ff-ff-ff
  • Layer-3-Switche: Switch, der auch die Schicht 3 implementiert.
  • SAT ( Source Adress Table): Der Switch speichert dort die MAC-Adressen der Geräte, die Nachrichten versenden.
  • Initiierung: Broadcast-Nachricht an alle angeschlossenen Geräte.

Safari Switch

Unterschiede Hub - Switch

Hub:

  • Es kann immer nur ein Datenpaket nach dem anderen den Hub passieren
  • Geschwindigkeit 10 oder 10/100 Mbps bei Dual Speed Hubs
  • Hubs wissen nicht, an welchem Port welche Station angeschlossen ist, sie können es auch nicht lernen. Hubs müssen nicht konfiguriert werden.

Switch:

  • Mehrere Datenpakete können den Switch gleichzeitig passieren
  • Die Gesamtbandbreite (der Datendurchsatz) ist wesentlich höher als bei einem Hub
  • Switches lernen nach und nach, welche Stationen mit welchen Ports verbunden sind, somit werden bei weiteren Datenübertragungen keine anderen Ports unnötig belastet, sondern nur der Port, an dem die Zielstation angeschlossen ist
  • Geschwindigkeiten sind heute 10, 10/100 oder 1000 MBit/s (Gigabit Ethernet)
  • Switches müssen nicht konfiguriert werden

Admin STP Spanning Tree

Router

Implementieren die Schichten 1 - 3

Router verbinden auch unterschiedliche Netzwerke miteinander

Gateway

implementiert alle 7 Schichten / OSI-Schichten (alle 5 Internetschichten)

autonomes System AS - innerhalb dessen kann ein Administrator einen Routing-Algorithmus auswählen. Elektronik-Kompendium Gateway | IT Wissen Gateway | Wikipedia

Firewall-Rechner

netzmafia.de | Wikipedia Bastion Host

VLAN

keine lokale, geographische Bedingung vorgegeben

"VLAN sind in der Regel geswitchte Netze, die logisch segmentiert werden können."

Broadcast nur über Teilnetze.

Elektronik-Kompendium VLAN

Warum eigentlich virtuelle Netze?

  1. Antwort: Broadcast-Nachrichten werden nicht über das gesamte Netzsegment verbreitet, sondern nur über das entsprechende Teilnnetz – das spezifische VLAN.
  2. Antwort: Die Organisationsstruktur eines Unternehmens auf die Netzwerkstruktur soll möglichst identisch sein.
  3. Antwort: Unterstützung dynamischer Workgroups
  4. Antwort: Die räumliche Entfernung von Mitarbeitern bzw. Rechnern soll keine Rolle spielen.
    Auch wenn Mitarbeiter umziehen- innerhalb eines Unternehmensgebäudes, oder auch in ein anderes Gebäude, einen anderen Standort etc., soll dieser Mitarbeiter trotzdem noch einem entsprechenden Netz zugeordnet werden können: Es soll in der logischen Arbeitsgruppe bleiben können.
  5. Antwort: Auch entfernte Server in zentralen Technikräumen können entfernten Arbeitsgruppen zugeordnet werden.
  6. Antwort: Teilweise ist kein Routing mehr notwendig.

Topologien

Elektronik-Kompendium Netzwerk-Topologie

Die Topologie bezeichnet bei einem Computernetz die Struktur der Verbindungen mehrerer Geräte untereinander, um einen gemeinsamen Datenaustausch zu gewährleisten.

Es wird zwischen physikalischer und logischer Topologie unterschieden. Die physikalische Topologie beschreibt den Aufbau der Netzverkabelung; die logische Topologie den Datenfluss zwischen den Endgeräten.

Bus-Technologie

Vorteile:

  • Geringe Kosten durch wenig Kabeleinsatz / Technikeinsatz
  • Der Ausfall eines Gerätes wirkt sich nicht negativ auf die übrigen Geräte aus.
  • Es können leicht weitere Geräte hinzugefügt werden, bzw. entfernt werden.
    Eine Skalierbarkeit bzw. der Größe (Anzahl der Elemente) ist somit leicht herzustellen.
  • Geringer administrativer Aufwand

Nachteile:

  • Bei Ausfall des Übertragungsmediums ( Kabel) fällt das gesamte Netz aus
  • Das Auffinden eines / des Fehlers wird dann sehr aufwendig
  • Der Nachrichtenverkehr ist sehr dicht, es kann zu Verzögerungen kommen

Stern-Topologie:

Jedes Gerät ist über ein eigenes Kabel mit der Zentrale über eine Punkt-zu-Punkt-Verbindung angeschlossen. Diese Zentrale wird auch Hub genannt, dessen Aufgabe die Verteilung der Nachrichten über das Netzwerk ist.

Vorteile:

  • Der Ausfall eines Gerätes oder Kabels hat keine Auswirkung auf das Gesamtnetz
  • aktiven Signalverstärker
  • Geräte müssen sich keine Kabel teilen: Es steht die volle Bandbreite zur Verfügung
  • Bei Einsatz eines Switches: Kollisionsvermeidung
  • Geräte können problemlos angeschlossen oder entfernt werden
  • Es ist kein Routing notwendig

Nachteile:

  • Größere Kabelmenge
  • Der Ausfall des Verteilers lässt das gesamte Netz ausfallen
  • Bei hoher Anzahl von Geräten und Nachrichten kann das Netz langsam werden, da alle Anfragen nur über ein Gerät laufen können.

Fazit: Gut geeignet für Stockwerk- bzw. Gebäudeebenen

Ring-Topologie

Vorteil

  • Weniger Kollisionen weil die Daten in beide Richtungen fließen können
  • Leichter Erweiterbarkeit
  • relativ schnelles Netzwerk

Nachteil:

  • Bei der Reihenschaltung Ausfall von Geräten betreffen das Netz
  • Große Konfliktmöglichkeit / Kollisionen
  • Gleichzeitiger vermehrter Zugriff auf bestimmte einzelne Geräte können Probleme auslösen
  • Hoher Kabelaufwand
  • Langsame Datenübertragung bei vielen angeschlossenen Endgeräten

Weitere Topologien

  • Stern-Bus-Topologie
  • Stern-Stern-Topologie
  • Baum-Topologie
  • Maschennetz

Architekturen

Client-Server-Architekturen

Ein Server (Hardware), ist ein Computer, auf dem ein oder mehrere Server (Software) laufen.

[https://de.wikipedia.org/wiki/Server Wikipedia Server]

Web-Cache / Proxy-Server

Computer- / Server-Cluster
Virtueller Server 
Dedizierter Server
Shared Server

Zustandslose und zustandsbehaftete Server
Zustandslose Server speichern Informationen über die Clients nicht, zustandsbehaftete Server jedoch schon.

Thin-Client

Es gibt spezifische Gründe, von der herkömmlichen Client-Server-Architektur abzuweichen:
-	Man kann Teile der Anwendung auf den Client übertragen, um die Kommunikation zu reduzieren, und den Server zu entlasten
-	Man kann Teile der Benutzerschnittstelle an den Server übertragen, um vor allem Sicherheit zu erhöhen.
-	Man kann die gesamte Anwendung auf dem Client implementieren, und dazu noch Teile der Datenbank, um vor allem schnelleren Zugriff zu erlangen.

Fehlertoleranz

Absturzfehler
Dienstausfall
Zeitbedingte Ausfälle (z. B. Nameserver überlastet)
Ausfall konkreter Antworten (fehlerhafte Nachrichten)
Byzantinischer Fehler (zufällige Fehler)

Eine Strategie besteht aus der Maskierung durch Redundanz.
-	Informationsredundanz: Hierbei werden den Übertragungen zusätzliche Bits angehängt, um beispielsweise durcheinandergeratene Datenpakete wieder herstellen zu können
-	Zeitliche Redundanz: Sollte eine Übertragung nicht oder nicht vollständig erfolgt sein, so wird diese nochmal versendet
-	Technische Redundanz: Hinzufügen von zusätzlichen Prozessen/ technischen Geräten / Hardware / Software, die einspringen, wenn ein Prozess /…  ausfällt.

Alternativen zu Client-Server-Architekturen

Die Nachteile einer strikten C/S- Architektur sind ersichtlich:

  • Clients können nicht miteinander kommunizieren. Zwar können Hosts miteinander kommunizieren, aber nur dann, wenn beide Client und Server-Technologie implementieren. Und auch dann können nur die jeweiligen Client- mit den jeweiligen Server-Prozessen kommunizieren. 2 Client-Prozesse können eben nicht miteinander kommunizieren.
  • Server können keine Anfragen an Clients senden: Manchmal ist es sinnvoll, wenn auch der Server Nachrichten an den Client senden kann. Jedoch: Clients kennen die Adresse des Servers – Server nicht die der Clients. Ein Server kann antworten – aber nicht selbst aktiv werden.
  • Die Rechenleistung des Servers alleine ist für den Ablauf der Kommunikation / Bearbeitung verantwortlich: Je mehr Clients, desto schwächer die Leistung.
    Sprich: Antwortzeit kann erhöht sein, Übertragungs- und Speicherkapazität hängt vom Server ab, und die Anzahl der gleichzeitigen Verbindungen ist beschränkt.

Peer-to-Peer

Atomisches P2P (Peer-to-Peer):

  • Keine zentrale Verwaltung des Netzes
  • Bei Beitritt gibt es 2 Möglichkeiten
    • Broadcastanfrage an alle Clients, um zu erfahren, welche Dienst vorhanden sind. Beispiel: Datei- und Druckerfreigabe von Microsoft
    • Verbindung zu bekanntem Host (aus Liste) und Erfragung der Topologie und der Dienste

Benutzerzentriertes P2P:

  • Einem Atomischen P2P wird ein für die Vermittlung von Benutzern, egal vom welchem Rechner, zuständiger Server hinzugefügt.
  • Der Vermittlungsserver enthält eine Liste von Benutzern und deren Dienste (Freigabe einer MP3-Datei)
  • Betritt ein Benutzer dieses P2P meldet er sich mit seinen Diensten am Vermittlungsserver an.

Datenzentriertes P2P:

  • Vermittlungsserver merkt sich, wo Daten und Dienste liegen; sonst ähnlich wie bei benutzerzentriertem P2P

Zusammenfassung:

  • Peer-to-Peer-Netzwerke bestehen aus gleichberechtigten Teilnehmern, die alle miteinander kommunizieren können
  • Teilnehmer melden sich im Netz an und bieten ihre Dienste an
  • Für eine bessere Übersicht können Server eingerichtet sein, die die Nutzer und Dienste verwalten
  • Je mehr Teilnehmer, desdo leistungsfähiger das Netz: Das Teilen von Ressourcen oder das gemeinschaftliche Bearbeiten einer übergeordneten Aufgabe kann gut umgesetzt werden
  • Nachteile können bei der Adressierung und der Übersichtlichkeit entstehen
  • Bei großen Netzen wird viel Verwaltungsaufwand benötigt, wenn es zu beherrschbarer Kommunikationsdichte kommen soll.

ITWissen Peer-to-peer

File Server

NFS - Network File System

Client-Server-Architektur

  1. Methode: Die Dateien können auf dem Fileserver bearbeitet werden
  2. Methode: Die Dateien werden auf den Client geladen / kopiert

Grundlagen IT-Kommunikation

Zum Abschnitt "Grundlagen IT-Kommunikation"

Programmiersprachen im Internet und in Netzwerken

Zum Abschnitt "Programmiersprachen im Internet und in Netzwerken"

HTML

Zur Seite "HTML"

MAC-Adresse

pcwelt MAC-Adresse

Definition MAC-Adresse

Jeder Netzwerkcontroller hat eine weltweit einmalige, unverwechselbare und nicht veränderbare MAC-Adresse (Media Access Control), die für die Adressierung der Datenpakete im Internet unverzichtbar ist; die Mac-Adresse ist somit die physische Adresse der Netzwerkkarte, die sich in der Regel in einem festen EEPROM-Speicher auf der Netzwerkkarte beziehungsweise beim Onboard-LAN-Adapter im Bios-Chip befindet. Die MAC-Adressen werden zentral verwaltet, jede Adresse besteht aus zwölf hexadezimalen Ziffern.

MAC-Adresse ermitteln

getmac

Mit dem Kommandozeilen-Befehl getmac kann man schnell die MAC-Adresse des PCs ermitteln. Die hinlänglich bekannten IP-Adressen, die zunächst einmal für die Adressierung der Datenpakete verantwortlich sind, werden auf die MAC-Adressen abgebildet. Bei jeder Internetkommunikation muss also die zu einer IP-Adresse gehörige MAC-Adresse gesucht werden. Dafür ist das Address Resolution Protocol ARP zuständig.

MAC-Adresse herausfinden mit ipconfig /all

Der Allrounder-Befehl ipconfig /all zeigt ebenfalls die MAC-Adresse des Windows-Rechners an: Mit dem Befehl ipconfig /all ermittelt man ebenfalls die physikalische Adresse, also die MAC-Adresse. Über der Ausgabe von ipconfig /all sieht man nochmal das Ergebnis von getmac.

MAC-Adresse ändern

Hardwareseitig kann man die MAC-Adresse nicht ändern, sie wurde vom Hersteller des Netzwerkgerätes (LAN-Chip, WLAN-Karte etc.) fest in die Hardware "eingebrannt". Sie können aber die Windows-Registry so manipulieren, dass dort für den LAN-Chip eine andere Mac-Adresse hinterlegt wird. Windows gibt dann nicht mehr die tatsächliche MAC-Adresse Ihres Netzwerkgerätes aus, sondern eine von Ihnen eingetragene Mac-Adresse. Man nennt das Spoofing (vortäuschen, schwindeln). Das MAC-Adress-Spoofing geht unter Windows aber nur mit LAN-Adaptern und nicht mit WLAN-Chips.

So funktioniert ARP

Das Address Resolution Protocol ARP übernimmt die Umsetzung der MAC-Adresse zu einer IP-Adresse. Im sogenannten ARP-Cache werden IP-Adressen gespeichert, die bereits in MAC-Adressen aufgelöst wurden. Wird ARP hier nicht fündig, wird eine Rundsendung (Broadcast) an alle im Netzwerk erreichbaren Rechner verschickt, um die MAC-Adresse zur angefragten IP-Adresse zu ermitteln. Das Gerät, zu dem die gesuchte IP-Adresse gehört, antwortet und schickt seine MAC-Adresse. Darauf trägt ARP im anfragenden Rechner die IP-Adresse in den ARP-Cache ein. Alle Anfragen an diesen Rechner werden nun direkt zugestellt. Nach einem Neustart werden alle ARP-Einträge gelöscht – das erreichen Sie auch mit arp -d. Arp -a zeigt den Inhalt des ARP-Caches an. Arp -s IP-Adresse „MAC-Adresse“ erzeugt einen statischen Eintrag. Arp /? zeigt alle Optionen an. Mit arp -s IP-ADRESSE MAC-ADRESSE verbindet man die IP-Adresse mit der MAC-Adresse. Nach einem PC-Neustart ist dieser Eintrag allerdings verloren.

ARP-Poisoning bzw. ARP-Spoofing

Die Verwendung des ARP-Protokolls zieht ein spezifisches Sicherheitsproblem namens ARP-Poisoning bzw. ARP-Spoofing nach sich. Hierbei weist ein Angreifer einer IP-Adresse eine falsche Mac-Adresse zu und leitet somit Anfragen um.

Notizen

Hersteller immer identifizierbar

steht auf der hardware  


können geändert werden, einem anderen Gerät zugeordnet werden


DHCP

Das Protokolle DHCP (Dynamic Host Configuration Protocol) ist spezifiziert in RC 2131. Es ermöglicht die Zuweisung der Netzwerkkonfiguration an Netzwerkgeräte mit Hilfe eines DHCP-Clients durch einen DHCP-Server. Zugewiesen werden:

  • IP-Adresse
  • Netzmaske
  • Default-Gateway
  • Nameserver

Mit DHCP werden Netzwerkeinstellungen automatisiert im LAN vergeben. Der DHCP-Server verfügt über einen Pool an IP-Adressen und verteilt diese an anfragende Clients.

Übungsblatt Karl-Kübel-Schule

Zeroconf - konfigurationsfreie Vernetzung von Rechnern

Zeroconf-Adressen

Adressen von 169.254.1.0 bis 169.254.254.255

Ein Rechner versucht bei einem DHCP-Server seine TCP/IP-Adresse und andere wichtige Einstellungsparameter anzufordern.

Erreicht der Rechner jedoch keinen DHCP-Server, z.B. weil keiner im gleichen Segment aktiv und auch über DHCP-Relay nicht zu erreichen ist, so bekommt der Rechner automatisch eine zufällige Adresse aus dem Bereich 169.254.x.x.

Zeroconf ist ein IPv4-spezifisches Verfahren. In IPv6 besteht keine Notwendigkeit für Zeroconf, da jeder Netzwerkschnittstelle automatisch eine Link-Local-IPv6-Adresse zugewiesen wird.

APIPA

Bei Microsoft heißt diese Technik APIPA (Automatic Private IP Adressing).

APIPA ist dafür gedacht, dass Heimanwender ein TCP/IP-Netzwerk betreiben können, ohne mit IP-Adressierung und IP-Parametern konfrontiert zu werden.

In Netzen mit echter IP-Adressplanung haben diese automatischen Adressen jedoch nichts zu suchen.

computerlexicon APIPA

Avahi

Unter Linux heißt dieses Verfahren Avahi.

Mit dem Befehl ps aux | grep ^avahi kann man kontrollieren, ob der avahi-daemon aktiviert ist. Bei Verwendung von ADSL- und WLAN-Routern ist Avahi eigentlich überflüssig. Linux-Distibutionen installieren die Avahi-Pakete in der Regelung aber dennoch wegen der Browsing-Funktionen: Unabhängig von der Netzwerkkonfiguration sehen sich die Rechner gegenseitig und kennen sich namentlich.

Die Avahi-Konfiguration ist in der Datei /etc/avahi/avahi-daemon.conf hinterlegt. Nach einer Änderung der Datei muss man service avahi-daemon restart ausführen.

DNS

Das Domain Name System des Internets ist ein Verzeichnisdienst, der Hostnamen in IP-Adressen übersetzt. Das DNS ist eine verteilte Datenbank, die auf einer Hierarchie von DNS-Servern basiert, und ein Anwendungsschichtprotokoll, das es Hosts ermöglicht, die verteilte Datenbank abzufragen.

Die generelle Syntax für den hierarchisch aus sogenannten Domains aufgebauten Namen lautet:

Hostname.[Subdomain.][Domain.][Top-Level-Domain]

hosts-Datei

Linux: /etc/hosts

Windows: C:\Windows\System32\drivers\etc\hosts

Standardmäßig wird beim Aufruf eines Rechnernamens erst die Datei hosts auf Einträge geprüft. Verwendungsbeispiele:

  • Hier ist z. B. die Adresse 127.0.0.1 localhost definiert, wenn nicht vom Betreiber des Rechners anders festgelegt.
  • Webserver-Anwendungen können unter Umleitung auf den Localhost (127.0.0.1) getestet werden.
  • Setzen privater "Websperren" z. B. für ausforschende Programme oder zum Schutz von Kindern.

Wenn die hosts-Datei keine passende Namensauflösung bietet, geht die Anfrage weiter an die DNS-Server.

Nameserver

Nameserver sind Teil des DNS – und bezeichnen eigentlich Software – werden aber auch synonym für die Server selbst verwendet Ein Nameserver dient dazu, eine uns verständliche Internetadresse – also z.B. www.wbstraining.de in eine Zahlendarstellung umzuwandeln, also z.B. 92.03.43.0 Dabei gibt es Nameserver, die primär für jeweils einen Bereich zuständig sind – sogenannte autorative Nameserver. Diese gelten als „verlässliche“ Nameserver. Dabei ist nicht nur ein Server für ein Gebiet zuständig, sondern es werden mehrere dafür eingesetzt, die miteinander synchron die Abfragen bearbeiten. Daneben gibt es noch eine Vielzahl weiterer Nameserver innerhalb eines Gebietes – die nichtautorativen Nameserver, oder auch sekundäre Nameserver. Während die Eintragungen in die primären Server direkt erfolgt, erhalten sekundäre Nameserver die Informationen über die Internetadressen von anderen Nameservern- also aus „zweiter Hand“, sozusagen.

Wikipedia Root-Nameserver

Definitionen:

  • Autoritativ: Der DNS-Server ist für eine Zone zuständig, und die von ihm darüber ausgegebenen Informationen gelten als "sicher."
  • Primary Nameserver: der autoritative Server einer Zone.
  • Secondary Nameserver: Zusätzlicher Nameserver für eine Zone, der die gleichen Informationen wie der autoritative Server über eine Zone liefert. Die Zonendaten werden mittels Zonentransfer und nicht durch Abfrageweiterleitungen untereinander übermittelt.
  • Nicht-autoritariv: Der DNS-Server bezieht seine Abfrageergebnisse von anderen Nameservern.. Die Ergebnisse zählen als "nicht sicher".
  • Caching-only Nameserver: verwaltet selbst keine Zonen, sondern leitet ihre Anfragen an andere Nameserver weiter. Beispiel: DSL-Router.

Konkreter Ablauf des Adressaufrufs

Nutzer will die Internetadresse www.wbstraining.de aufrufen.

  1. Betriebssystem schaut bei sich nach: Gibt es in der Hosts-Datei vielleicht einen entsprechenden Eintrag?
  2. Wenn ja: System liefert IP-Adresse => Browser kontaktiert den entsprechenden Server mit der IP-Adresse
  3. Wenn nein: Rechner kontaktiert den entsprechenden DNS-Server – z.B. den DNS-Server des eigenen Internet-Providers.
  4. Der DNS-Server schaut in seinem Cache-Speicher nach, ob die Adresse dort abgelegt ist.
  5. Wenn ja: DNS liefert die Adresse => Browser kontaktiert den Server
Wenn nein:
    • Der DNS-Server kontaktiert den Root-Server und fragt nach der Adresse www.wbstraining.de nach.
    • Der Rootserver gibt die Adresse des DNS-Servers zurück, der für die Domäne .de zuständig ist.
    • Der DNS-Server kontaktiert den zuständigen DNS-Server
    • Dieser gibt die Adresse des Servers zurück, der für www.wbstraining.de zuständig ist (z.B. ein Server von 1&1 oder Strato)
    • Der DNS-Server nimmt mit dem, z.B. 1&1-Server Kontakt auf und erfragt die genaue Adresse.
    • Dieser liefert die Adresse an den DNS-Server
    • Der DNS-Server gibt die Adresse an den aufrufenden Rechner
6. Browser kontaktiert den Server und ruft die Internetseite auf.

ROUTER

Ein Router leitet Datenpakete zwischen Netzen mit eigenen logischen Adressbereichen weiter.

Beispiel für Heimanwender: FRITZ!Box 7360

router-faq Handbuch

Schichten in Netzwerken

OSI-Schichtenmodell

Schichtbezeichnung Umschreibung Zuständigkeit
7 - Application layer Anwendungsschicht Hier befindet sich die eigentliche Anwendung. Steuerung der anderen Schichten. Anpassung an Anwendungen. Verbindung der Applikation zur Außenwelt.
6 - Presentation layer Darstellungsschicht Hier werden die gesendeten Daten in entsprechende Repräsentationen umgewandelt, beispielsweise entsprechende Zeichencodierungen. Gemeinsamer Zeichensatz und Syntax. Umwandlung zwischen lokaler und Transport-Syntax.
5 - Session layer Sitzungsschicht Stellt Methoden zur Verfügung, mit denen die kommunizierenden Prozesse ihre Abläufe kontrollieren und synchronisieren können. Geordneter Ablauf des Dialoges. Festlegen und Verwalten der Berechtigunsmarken.
4 - Transport layer Transportschicht Stellt mittels TCP-Protokollen Kommunikationskanäle zwischen Anwendungsprozessen verschiedener Endgeräte zur Verfügung. Erweiterung von Verbindungen zwischen Endsystemen zum Teilnehmerverbindungen.
3 - Network layer Vermittlungsschicht Diese Schicht stellt per IP-Protokoll logische Übertragungskanäle zur Verfügung. Überbrückung geografischer Entfernungen. Kommunikation zwischen Endsystemen.
2 - Data link layer Sicherungsschicht Übertragungskanäle für Datenblöcke und Verfahren zur Fehlererkennung und –korrektur. --> Unverfälschter Datentransport über einen einzelnen Übertragungsabschnitt
1 - Physical layer Bitübertragungsschicht Physikalischer Transport. Spezifikation der Schnittstellen. Die Bitübertragungsschicht stellt die physischen Kanäle zur Verfügung

Schicht 1 - 4 sind transportorientierte Schichte, 5 - 7 sind anwendungsorientierte Schichten.

Die Kommunikation läuft nicht unmittelbar zwischen Schichten der gleichen Ebene. Vielmehr geht der Weg der Information von oben nach unten zum Übertragungsmedium, dann am nächsten Punkt wieder von der physischen Ebene wieder aufwärts zu den Anwendungen.

1) Bitübertragungsschicht:

Hier geht es um die physische Datenübertragung. Die Funktionen, die diese Schicht bereithält, sind neben der tatsächlichen elektrotechnischen Übertragung von Daten auch die technische Verbindung zwischen den Geräten, also das Aufbauen einer Verbindung und auch wieder das Abbauen.

Übertragungen erfolgen dabei gebunden (über Kabel) oder ungebunden (über Funk). Es geht also darum, Bitströme direkt physisch in ein Netz einzuspeisen, die Bitströme in das Medium zu übertragen – entweder in die Kabel oder die Erzeugung der Funkwellen.

2) Sicherungsschicht:

Daten können fehlerhaft sein: Z.B. können Datenbestandteile bei der Überführung durch ein Kabel – also in der Bitübertragungsschicht – verloren gehen. Es gibt Verfahren, die wir uns später noch einmal ansehen werden, mit deren Hilfe man dann feststellen kann, ob ein Datenpaket auch vollständig ist. Und das ist der zweite Bereich: Daten werden in dieser Schicht zu Paketen zusammengefasst. Diese Datenpakete werden „Frames“ genannt.

3) Vermittlungsschicht:

Ein Datenpaket soll von einem Sender zu einem Empfänger transportiert werden, und zwar über ein Netzwerk. Wir erinnern uns: In einem Netzwerk gibt es viele Datenleitungen und Transitsysteme, wie Router. Das bedeutet: Wir müssen einen entsprechenden Pfad herausfinden, den das Datenpaket nehmen kann. Die Vermittlungsschicht vermittelt also einen Weg vom Start zum Ziel-Host. Dabei werden verschiedene Strategien angewandt. Die Protokolle dieser Schicht müssen also derart gestaltet sein, daß auch verschiedene Formen der Pfadermittlung durchgeführt werden können. Die Vermittlungsschicht ist also ebenfalls nicht nur eine rein logische Schicht, sondern auch eine physische Schicht – sie besteht nicht nur aus Software- sondern auch aus Hardware-Komponenten, bzw. nutzt Hardware-Komponenten.

4) Transportschicht:

Hier erfolgt der „logische Transfer“ der Daten. Es werden also „logische Verbindungen“ zwischen den Hosts eingerichtet. Es ist also die erste „nicht-physikalische“ Schicht, die auf programmiersprachlicher Ebene funktioniert. Bestimmte Protokolle übernehmen dabei vor allem die Verbindung der Anwendungen auf der einen Seite, mit den physischen Übertragungsmedien auf der anderen Seite. In unserem Basismodell der Nachrichtenübermittlung wäre diese Schicht dann die Verbindungslinien zwischen Quelle und Sender. Es werden Möglichkeiten angeboten, verschiedene Arten von Transportmethoden auszuwählen und zu nutzen.

Während es bei der Vermittlungsschicht auch um die Vermittlung zwischen den Geräten des Transitsystems geht, betrifft diese Schicht schon bereits ausschließlich den Quell- und den Zielhost.

Die physische Verbindung zwischen beiden ist also hier völlig irrelevant und „unbekannt“ – sozusagen.

5) Kommunikationssteuerungs-/Sitzungssteuerungsschicht:

Auf dem Hosts laufen Prozesse ab: Berechnungen, Programme etc. Der eine Prozess des Senderhosts benötigt vielleicht bestimmte Daten, die er von einem bestimmten anderen Host erhalten kann. Dort laufen ebenfalls Prozesse ab – diese müssen koordiniert werden, damit die Daten auch wirklich genau zwischen diesen Prozessen ausgetauscht werden können.

6) Darstellungsschicht:

Bislang bestehen die Daten aus bestimmten Darstellungsformen – z.B. einer ANSII-Codierung. Verschiedene Prozesse nutzen unterschiedliche Codierungen der Daten. Um aber einheitlich mit diesen Daten umgehen zu können, müsse diese für die entsprechenden Anwendungsprozesse aufbereitet, übersetzt werden – und in deiner Form dargestellt werden, die von dem Anwendungsprogramm verarbeitet werden kann. Verschiedene Systeme benutzen teilweise eigene Datendarstellungen – Netzwerke sollen aber Hosts verbinden, die auch unterschiedliche Systeme benutzen. Deshalb müssen die Daten hier „übersetzt“ werden. Ebenfalls erfolgen Verschlüsselungen hier auf dieser Schicht.

7) Anwendungsschicht:

Verarbeitung von Nachrichten, Darstellung einer Webseite etc.--> Die Anwendungsschicht ist der Bereich, der die eigentliche Anwendung darstellt, z. B. einen Browser.

Auf dieser Schicht werden die Nachrichten also erzeugt, z. B. durch Benutzereingaben in einem Browser, oder das Verfassen und Versenden einer E-Mail oder der Zugriffswunsch auf eine Datei eines Dateiservers. Genauso werden die Nachrichten hier auch verarbeitet, z.B. durch das Darstellen einer Webseite, indem der Browser die empfangenen Internetseiten- Dateien verarbeitet.


Das Internet-Schichten-Modell

Schicht Engl. Bezeichnung PDU
5 Anwendungsschicht Application Layer Nachricht
4 Transportschicht Transport Layer Segment
3 Vermittlungsschicht Network Layer Datagram
2 Sicherungsschicht Data Link Layer Rahmen / Frame
1 Bitübertragungsschicht Physical Layer (1-PDU)

Wikipedia Protocol data unit


Modellzuordnung von Internet-Protokollen

Datei:Schichtmodell.JPG


Anwendungsschicht

 Anwendungsschicht:
reine Anwendungsschicht: Erzeugen und Verarbeiten von Nachrichten
Darstellungsschicht: Darstellungsformen, Verschlüsselungen
Sitzungsschicht: Kommunikation zwischen den Prozessen der Hosts koordiniert

Protokolle auf der Anwendungsschicht legen vor allem das Format der Nachrichten fest.
Dazu noch deren Reihenfolge.
Konsequenzen definiert, die sich aus den Nachrichten ergeben.

Die Grundanwendung der Anwendung www ist das Holen von Dokumenten von entfernten Endsystemen
a)	Den Browsern, auf den Clients 
b)	Der Sprache / dem Standard HTML, damit die Browser die Dateien auch anzeigen können
c)	Web-Servern, die die Dokumente bereithalten
d)	http:  einem Protokoll der Anwendungsschicht bzgl. des Internets – hypertext transfer protocoll

http regelt das Anfordern und Holen von Dokumenten, während HTML die Darstellung der Dokumente in den Browsern definiert.

Protokolle der Anwendungsschicht:
http:

Regeln des Protokolls:
Anfragenachrichten , Antwortnachrichten

GET /1801/test.html HTTP/1.1
Host: www.wbstraining.de
Connection: close
User-Agent: Mozilla/42.0
(extra carriage return, line feed)

Version  1.0 unterstützt dabei nur nicht-persistente Verbindungen zwischen den Hosts.
Dagegen verwendet 1.1 persistente Verbindungen: Hier entscheidet der Empfänger – der Client-  wann die Verbindung getrennt 
werden soll.
Timeout-Intervall

persistente Verbindung ohne Pipelining (blockiert Verbindung) - mit Pipelining

Antwort-Nachricht:
HTTP/ 1.1 200 OK
Connection: close
Date: Mon, 04 Jul 2016 12:00:15 GMT
Server: Apache/2.0.35 (Unix)
Last-Modified:….
Content-Length: 6821
Content-Type: text/html


FTP:

Datei-Transfer zwischen Client und Server
Client muss sich beim Server anmelden - oft mittels Kennung und Passwort

2 Verbindungen: Steuerverbindung Datenverbindung

(Möglichkeit zu navigieren, Dateien auszuwählen und evtl. auch Dateien hochzuladen.)

Steuerverbindung: Stabil bis zum Abbau
Datenverbindung: Für jede Datei, danach automatischer Abbau

http: Steuerungsinformationen im Header der Nachricht - in-Band-Steuerinformation
ftp: Steuerungsinformationen bzgl. der Steuerungsverbindung -  out-of-Band-Steuerinformation

FTP wegen Protokollierung zustandsbasiertes Protokol
http zustandsloses Protokoll



E-Mail

E-Mail-Client: Beispiel Thunderbird

  • POP3 - Post Office Protocol
  • IMAP - Internet Message Access Protocol

Telekom Unterschied IMAP POP3

MTA - Mail Transport Agent

  • Prozess, der auf einem Mail-Server läuft
  • Der MTA nimmt die Mail entgegen, und leitet diese an andere MTAs oder Mail-Clients weiter

MUA - Mail User Agent

  • Prozess, der auf den Clients abläuft.

Client: Dienstnutzer

Server: Dienstleister

HTTP: Pull-Protokoll (Webserver nur auf Anfrage aktiv)

SMTP: Push-Protokoll (Server wird von sich aus aktiv)


Protokolle

Datei:Netzwerkprotokolle.png Übergang Anwendungsschicht -Transportschicht

API- Schnittstelle Application Programming Interface

Socket - Steckdose (Andockstelle)

Anwendung benötigt von Transportschicht Zuverlässigkeit Bandbreite Zeit

Vollständigkeit und Zeit konkurrieren

Fernuni Hagen Betriebssysteme und Rechnernetze

Transportschicht

(Teil der logischen Kommunikation)

Die Aufgabe der Transportschicht ist die Bereitstellung von Kommunikationsdiensten für die Anwendungsprozesse, die auf den verschiedenen Endgeräten eines Netzwerks laufen.


Protokolle: TCP und UDP

UDP ist ein verbindungsloser und unzuverlässiger Dienst (sinnvoll für schnelle Übertr., wo Vollst. n. relevant ist.)

TCP ist ein verbindungsorientierter und verlässlicher Dienst

http, ftp, smtp - benutzen TCP.

Schicht-4-Nachrichten: Segmente.


Multiplexen: Hinzufügen der Port-Nummern und IP-Adressen, um die Nachricht an die bestimmten Prozesse des Empfängers zuzustellen.

Demultiplexen: Auslesen der Informationen zur Weiterleitung an den passenden Prozess.

UDP - User Datagram Protocol

UDP bietet folgende Leistungsmerkmale:

  • Multiplexen von Verbindungen: Damit mehrere Prozesse UDP benutzen können, wird der Zugriff über Ports geregelt. Ein Verbindungspunkt besteht aus einer IP Adresse und der UDP Port Adresse.
  • Ende zu Ende Kontrolle: Das UDP gewährleistet keine gesicherte Datenübertragung. Die übermittelten Daten werden vom Empfänger nicht quittiert. Verlorengegangene Datenpakete bleiben unerkannt. Die höheren Protokolle müssen diese Aufgaben wahrnehmen.
  • Verbindungsmanagement: Das UDP baut keine aktive Verbindung zwischen den Kommunikationspartnern auf. Es sendet die einzelnen Datenpakete als voneinander völlig unabhängige Ereignisse.
  • Flusskontrolle: Eine fortlaufende Nummerierung der Datenpakete erfolgt ebenso wenig wie eine Bestätigung der empfangenen Datenpakete. Es wird auch kein Fenstermechanismus unterstützt.
  • Zeitüberwachung der Verbindung: Die Datenübertragung wird zeitlich nicht überprüft.
  • Fehlerbehandlung: Das UDP überprüft die empfangenen Datenpakete weder auf Fehler, noch sendet es Fehler an höhere Protokolle. Es ist die Aufgabe der höheren Schichten, diese Funktion wahrzunehmen.

Anwendungsbeispiel: Livestreams, einmalige Abfragen in kleinen Server-Umgebungen, DNS-Nachrichten

UDP als Beispiel für verbindungslose Kommunikation

Wikipedia UDP


TCP

TCP bietet folgende Leistungsmerkmale:

  • Multiplexen von Verbindungen: Damit mehrere Prozesse TCP benutzen können, wird der Zugriff über Ports geregelt. Ein Verbindungspunkt (Socket) besteht aus einer IP Adresse und der Port Adresse.
  • Ende zu Ende Kontrolle: TCP gewährleistet eine korrekte Datenübertragung durch einen Quittungsmechanismus und eine Wiederholung * Verbindungsmanagement: Ein Verbindungsmanagement ermöglicht einen gesicherten Verbindungsaufbau, die Aufrechterhaltung der Verbindung während der gesamten Datenübertragungsphase und den gesicherten Abbau der Verbindung
  • Flusskontrolle: Eine fortlaufende Nummerierung aller übertragener Datenpakete, die Bestätigung der empfangenen Datenpakete, sowie ein Fenstermechanismus verhindern Datenverluste.
  • Zeitüberwachung der Verbindung: Übertragene Datenpakete müssen innerhalb einer festgelegten Zeitspanne vom Empfänger quittiert werden. Kommt keine Bestätigung, werden die unquittierten Datenpakete noch einmal gesendet.
  • Spezialfunktionen: Das TCP unterstützt die Spezialfunktionen Urgent und Push, durch das Vorrangdaten gekennzeichnet und bevorzugt übermittelt werden können.
  • Fehlerbehandlung: TCP überprüft die empfangenen Datenpakete auf Fehler, meldet Fehler an höhere Protokolle weiter oder fordert das fehlerhafte Datenpaket vom Sender erneut an.

Prinzipien eines zuverlässigen Datentransfers:

  • TCP ist ein zuverlässiges Protokoll über einem unzuverlässigen Datenkanal.
  • Das Transportschicht-Protokoll trifft also auf folgende Probleme:
    • Einzelne Bits einer Nachricht können fehlerhaft sein
    • Ganze Nachrichten können verloren gehen
    • Der Empfänger kann mit Nachrichten überflutet werden, so daß die Datenpakete nicht zugestellt werden können
  • Der Empfänger muss eine Empfangsbestätigung an den Sender zurücksenden. Dies kann entweder eine positive Bestätigung sein – eine ACK (Acknowkledgement), oder eine negative Bestätigung – NACK (negative Acknowledgement).
  • Nachrichten erhalten eine Sequenznummer, um Duplikate zu erkennen, wenn Nachrichten mehrfach versendet werden.
  • Eine Verbindung wird mittels 3-Wege-Handschlag (Hand-Shake) aufgebaut
  1. Das Client-TCP sendet eine spezielle Nachricht- das SYN-Segment an das Server-TCP.
  2. Nach dem Empfang dieser Nachricht richtet der Server eine neue Verbindung ein. Dabei werden schon mal Puffer und Variablen initiiert. Der Server sendet dann die Bestätigung – SYNACK-Segment – zurück.
  3. Nach dem Erhalt der SYNACK stellt der Client ebenfalls die Verbindung her und sendet darüber eine Bestätigung an den Server.

Wikipedia TCP | RFC 793


Vergleich UDP - TCP

UDP:

  1. stellt ein verbindungsloses Protokoll dar, ohne Verbindungsauf- und Abbau
  2. besitzt eine einfache Implementierung, so daß der Server mehrere Clients bedienen kann
  3. kleine Header / Segment-Informationen
  4. es können schnell und viele Daten versendet werden, es bestehen jedoch Probleme bei der Integrität
  5. besondere Eignung für Video- oder Sprachübermittlung

TCP:

  1. stellt eine zuverlässige bidirektionale Verbindung mit Flusskontrolle her
  2. Wartezeit wegen 3-Wege-Handshake
  3. Hohe Verwaltung der Verbindungsdaten, weshalb weniger Clients bedient werden können
  4. Ein ausführlicher Header ist gut geeignet zur Fehlererkennung / -behebung
  5. Anwendungen vor allem im www, email und file transfer

Vermittlungsschicht

Vermittlungsschicht / IP-Schicht

Schicht 3- Nachrichten: Datagram

Aufgaben der Vermittlungsschicht:

Host-zu-Host-Vermittlung


Es werden Schicht-4-Nachrichten (Segmente) von einem Host zum anderen geleitet.

Dabei wird das Transitsystem berücksichtigt, insbesondere Router.

Spezifische Aufgaben

  • Pfadermittlung / Routing
  • Vermittlung von Datenpaketen / Datagrammen

Best-Effort-Dienst

zum Transport von Nachrichten vom Sender zum Empfänger:

  • Pakete können verloren gehen
  • Pakete können in anderer Reihenfolge ankommen
  • Über zeitliche Abstände zwischen gesendeten und empfangenen Paketen wird keine Auskunft gemacht.
  • Es werden keine Zusagen über Bandbreite zwischen Sender und Empfänger gemacht.
  • Es werden keine Informationen bzgl. einer Überlastung des Netzwerkes an Sender- oder Empfängerprozesse weitergeleitet

Prinzipien der Pfadermittlung

  • Gewichteter Graph wird erstellt und ausgewertet.
  • Die Kantenbelegungen werden nach bestimmten Kriterien klassifiziert.
  • Der günstigste Pfad wird aus der Summe der Einzelpfade ermittelt.

Computerwoche Pfadermittlung | Graphen

Klassifizieren von Routing-Algorithmen

global - dezentral

1. Globaler Routing-Algorithmus - Link-State-Algorithmus:

  • Der globale Algorithmus besitzt vollständiges Wissen über das Netzwerk.
  • Er kennt alle Verbindungen und alle Kosten.
  • Die Informationen müssen gesammelt werden.
  • Die Informationen können zentral oder dezentral gesammelt und ausgewertet werden.

2. Dezentraler Routing-Algorithmus - Distanzvektor-Algorithmus

  • Niemand hat vollständige Informationen über das Netzwerk.
  • Jeder Knoten hat nur Kenntnis von seinen direkten Nachbarn.
  • Jeder Knoten kennt die Kosten zu seinem direkten Nachbarn.
  • Es müssen entsprechende Informationen zwischen den Knoten ausgetauscht werden.

statisch - dynamisch

  • Ein statischer Routing-Algorithmus ändert seine Routing-Entscheidungen nur aufgrund manueller Eingaben – z.B. durch das Editieren von Routing-Tabellen in Routern.
  • Es besteht also eine feste Tabelle, die nur dann geändert wird, wenn man manuell auf diese einwirkt.
  • Ein dynamischer Routing-Algorithmus hingegen passt sich automatisch an veränderte Netzwerksituationen an, wie z.B. Netzauslastung, Ausfall von Verbindungen etc.

Im Internet werden nur 2 Klassifikationen der Routing-Algorithmen verwendet:

  • Dynamische Link-State-Algorithmen
  • Dynamische Distanzvektor-Algorithmen

Uni Bielefeld Routing | easynetwork Dynamisches Routing | ITWissen Link-State-Algorithmus |


Dynamischer, zentraler Link-State-Algorithmus

Die Voraussetzung für diesen Algorithmus ist, daß alle Informationen über das Netzwerk bekannt sind, insbesondere die Verbindungskosten.

Alle Knoten haben Informationen über ihre Nachbarn, senden Broadcast-Nachricht an alle anderen => Jeder Knoten entwickelt darauf eine Routing-Tabelle mit allen Informationen.

Bei neuen Netzwerk-Teilnehmern, oder Störungen etc. => Tabelle muss neu berechnet werden.

Dynamischer, dezentraler Distanzvektor-Algorithmus

  • Dezentral: Jeder Knoten empfängt Informationen von seinen direkten Nachbarn, führt eine Berechnung durch und sendet das Ergebnis an seine direkten Nachbarn zurück
  • Iterativ: Das Verfahren läuft so lange, wie noch Informationen zwischen Nachbarn ausgetauscht werden müssen
  • Asynchron: Die Knoten tauschen Informationen aus, wenn sie es müssen – d.h. wenn sich bei ihnen etwas geändert hat in Bezug auf den billigsten Pfad. Andere Knoten müssen auf die Informationen nicht in bestimmter Zeit reagieren

Vergleich Link-State und Distanzvektor

Netzwerk mit n Knoten und L Kanten

  • Komplexität bzgl. Nachrichtenmengen:
    • n*L - viele Nachrichten verschickt werden bei Link-State
    • Distanzvektor: deutlich geringerer Aufwand / lokaler Aufwand
  • Konvergenzgeschwindigkeit:
    • Link-State: n² Operationen notwendig, und n*L-viele Nachrichten notwendig
    • Distanzvektor: deutlich höhere Geschwindigkeit, aber Problem von Routing-Schleifen
  • Robustheit:
    • Link-State-Algorithmus ist robuster, da alle globalen Informationen vorhanden sind

Autonomes System AS

In einem autonomen System wird eine Menge von Transitsystemen zusammengefasst, die alle den gleichen Routing-Algorithmus verwenden.

Diese autonomen Systeme werden dann durch Gateways bzw. Gateway-Router miteinander verbunden.

Ein Gateway ist dabei ein spezielles Transitsystem in einem AS, welches Pakete an Zielorte ausserhalb des Intra-AS weiterleiten kann.

Komponenten der Vermittlungsschicht

Die Vermittlungsschicht im Internet besteht aus drei Komponenten:

  1. Das 'Internetprotokoll IP der derzeit noch oft benutzten Version IPv4 definiert die Adressierung in der Vermittlungsschicht, die Felder eines Datagrammes und die Aktionen, die durch Router und Endsysteme auf einem Datagramm in Abhängigkeit von den Inhalten seiner Felder ausgeführt werden.
  2. Die Pfadbestimmungskomponente bestimmt den Pfad, den ein Datagramm auf dem Weg von dem Sender zum Empfänger durch das Internet nimmt.
  3. Das ICMP-Protokoll ist die Komponente, die es im Internet erlaubt, Fehler in Datagrammen anzuzeigen und Informationen uber die Vermittlungsschicht abzufragen.

ICMP - Internet Control Message Protocol

Im Internet benutzen Hosts, Router und Gateways das ICMP-Protokoll (Internet Control Message Protocol für den Austausch von Vermittlungsschicht-Informationen, wie z. B. Fehlermeldungen oder Informationen uber benutzte Netzwerkpfade. ICMP benutzt zur Kommunikation IP-Datagramme, d. h. ICMP-Nachrichten werden von ICMP direkt in IP-Datagramme verpackt. Konzeptionell ist ICMP daher ein Protokoll der über IP liegenden Schicht.

Beispiele fur die Verwendung von ICMP:

  • ping
  • traceroute

IP-Adressen

Für den Datenaustausch in Netzen, die das IP-Protokoll verwenden, muss jeder Rechner eine eindeutige Adresse haben. Die Version des aktuellen Protokolls lautet IPv4, sein Nachfolger ist IPv6.

Fernuni Hagen Vermittlung in Rechnernetzen | Karl Kübel Schule: IP-Adressen und Netzmasken

IP-Header: Sender- und Empfänger-Adressen (IP-Adresse)
wird dem Segment hinzugefügt => Datagram

IPv4

RFC 791 |

Routing von IP-Datagrammen

Ein IP-Datagram - also ein IP-Datenpaket – besteht aus

  • IP-Adresse des Senders
  • IP-Adresse des Empfängers
  • dem TCP- oder dem UDP-Segment
  • weiteren Angaben.

Fragmentierung und Reassembling

LAN-generiertes Datagram (groß) -> Internet

Router / Vermittlungsschicht

Pfadbestimmung im Internet

RIP Routing Information Protocol - Distanzvektor-Verfahren

maximal 15 "Hops" - Sprünge. Netzwerke mit maximal 15 Routern

RIP-Router tauschen alle 30 Sekunden Informationen aus.

180-Sekunden- Zeitlimit.

Adressenaufbau

Die Adressen bestehen aus 32 Bits (4 Bytes); diese sind jeweils durch Punkte voneinander getrennt. Jedes Byte kann in dezimaler Schreibweise einen Wert zwischen 0 und 255 erhalten, z. B. 192.168.0.1.

In binärer Darstellung sieht das so aus:

 192

11000000

 168

10101000

   0

00000000

   1

00000001

Sicherheit

Regeln für sichere Passwörter

  1. Mindestens acht, besser mehr Zeichen verwenden.
  2. Kombination aus Klein- und Großbuchstaben, Zahlen und Sonderzeichen nutzen, deutsche Umlaute meiden.
  3. Wörter aus dem persönlichen Umfeld (Eigennamen, Kosenamen, Haustiernamen etc.) sind tabu.
  4. Keine Wörter aussuchen, die im Duden oder irgendeinem (Fremdsprachen-)Lexikon stehen. Also auch keine Comicfiguren oder Herr-der-Ringe-Helden.
  5. Geburtstage oder andere relevante Daten vermeiden.
  6. Nicht einfach nur Sonderzeichen anhängen, sondern sie in das Passwort integrieren.
  7. Keine Wörter obiger Kategorien einfach nur rückwärts schreiben oder anders verfremden.
  8. Das Passwort nicht unter die Tastatur oder hinter den Monitor kleben! Wenn man es überhaupt aufschreibt, dann den Zettel zumindest sicher aufbewahren.
  9. Für jedes System ein eigenes Passwort wählen.
  10. Das Passwort niemals weitergeben.

BSI Empfehlungen für Passwörter

Malware

Arten von Malware

Viren:

  • Code innerhalb von Programmen
  • Kann sich selbst reproduzieren
  • Bewirkt Schäden oft auf Betriebssystem-Ebene

Würmer:

  • Eigenständige Programme
  • Können sich selbst reproduzieren

Trojaner:

  • Eigenständiges Programm
  • Kann sich nicht selbst vervielfältigen
  • Ist Teil oder Anhang bestehender Daten/Dateien/Programm

DoS – Denial of Service:

  • Überflutung eines Servers mit Anfragen auf allen offenen Ports

Sniffing:

  • Ausspionieren durch Datenleitungsleitungen

Spoofing:

  • Ein Gerät „fälscht“ seine (MAC-)Adresse und gibt sich als vertrauenswürdiger Bestandteil des Netzwerkes aus.

Man-in-the-Middle:

  • Der Angreifer bemächtigt sich einer Zwischenstation.

Phishing:

  • Abgriff sensibler (Zugangs-)Daten durch gefälschte E-Mails oder Webseiten
  • Identitätsdiebstahl

Trojaner-Schadfunktionen

  • Überwachung des Datenverkehrs oder aller Benutzeraktivitäten mit Hilfe von Sniffer.
  • Ausspähen sensibler Daten (Passwörter,Kreditkartennummern, Kontodaten und Ähnliches), Dateien kopieren und weiterleiten.
  • Fernsteuerung des Rechners durch Unbekannte, u. a. für kriminelle Zwecke, z. B. zum Versenden von Werbe-E-Mails oder Durchführung von DoS-Attacken.
  • Deaktivierung oder Austausch sicherheitsrelevanter Computerdienste (wie z. B. Antivirenprogramm oder Firewall ).
  • Installation von illegalen Dialer-Programmen (heimliche Einwahl auf Telefonnummern etc.)
  • Benutzung der Speicherressourcen zur Ablage von illegalen Dateien, um sie von hier aus anderen Nutzern aus dem Internet zur Verfügung zu stellen.
  • Anzeige unerwünschter Werbung oder Umleiten des surfenden Anwenders auf präparierte Webseiten (siehe auch Phishing).
  • Verschlüsselung der auf dem Computer gespeicherten Dateien zur Erpressung von Lösegeld (Ransomware).

Ransomware

  • Als Ransomware werden Schadprogramme bezeichnet, die den Zugriff auf Daten und Systeme einschränken oder verhindern und eine Freigabe dieser Ressourcen erfolgt nur gegen Zahlung eines Lösegeldes.
  • 2010 / 2011 Ransomware-Start, ab 2015: Verschlüsselung
  • Die folgenden Punkte zeigen, warum sich das Geschäftsmodell für die Angreifer rentiert:
    • Hoher Leidensdruck beim Opfer
    • Bei Geschädigten sind ggf. die Wiederherstellungsaufwände größer als die Erpressersumme.
    • Zahlungen in Bitcoins sind anonym und sofort realisierbar. Sie müssen nicht aufwändig über Geldboten und Warenagenten gewaschen werden.

Infizierungswege:

  1. Schwachstellen bei Servern, bzw. Webserver
  2. Exploit-Kits, Zero-Day-Exploits
  3. Ungeschützte Fernwartungszugänge
  4. Vor allem aber: Spam

Potentielle Schäden:

  • Schäden für eine Organisation durch Cyber-Sicherheitsvorfälle
    • Eigenschäden
    • Reputationsschäden
    • Fremdschäden

Einflussfaktoren auf das Schadensausmaß:

  1. Wie schnell ist die Organisation in der Lage, die Störung überhaupt als solche zu identifizieren?
  2. Wie schnell (und sicher) kann die Organisation die Geräte identifizieren, von denen aus die Ransomware die Verschlüsselung durchführt?
  3. Wie alt ist sind die jüngsten, vollständigen und intakten Backups?
  4. Ist das Wiedereinspielen / die Rücksicherung vorbereitet und geübt?
  5. Welche Geräte sind von der Verschlüsselung betroffen?

Präventionsmaßnahmen

  1. Aktuelle Versionen und Updates aller relevanten Systeme / Programme
  2. Abschaltung oder Deinstallation nicht notwendiger Systeme: Angriffsflächen minimieren
  3. Umgang mit E-Mails
  4. E-Mail-Clients: Während Browser deutlich höhere Sicherungsmaßnahmen ergreifen, sind Mail-Clients oft schlechter ausgestattet, vor allem bezüglich HTML-basierten E-Mails. Diese sollten entweder gar nicht dargestellt werden („nur Text“-Modus), oder zumindest Verhinderung der Ausführung aktiver Inhalte der HTML-Mails
  5. E-Mail-Server:

Spam sollte bereits durch einen Spamfilter serverseitig gefiltert oder mindestens markiert werden. Grundsätzlich sollten folgende Dateien blockiert oder zumindest in Quarantäne verschoben werden: Alle ausführbaren Anhänge, auch wenn diese in Archiven enthalten sind. Beispiele (nicht abschließend): .exe, .scr, .chm, .bat, .com, .msi, .jar, .cmd, .hta, .pif, .scf Verschlüsselte Archive / Zip-Dateien. MS-Office-Dokument-Makros (MIME/HTML-Kodierung betrachten)

  1. Sicherer Umgang mit Administrator-Account

Z.B. kein Internet-Surfen, oder E-Mail öffnen innerhalt eines solchen Accounts.

  1. Virenschutz
  2. Backups: Vor allem Offline-Backups
  3. Awareness / Schulungen / Mitarbeitersensibilisierung: Der Nutzer ist oft das größte Sicherheitsrisiko.
  4. Erkennung von Ransomwaredateien auf Fileservern: Modifizierung von Fileservern 8z. B. Positivliste für Dateien mit bestimmten Endungen).

Antiviren-Software

Antivirenprogramme müssen

  • die Netzwerk-Bereiche überwachen
  • die Eingänge von Rechnern überprüfen

Welche Komponenten sollte eine gute Antiviren-Software mitbringen?

  • Schutz vor Viren und Trojanern – bzw. deren Entfernung
  • Eine eigene Firewall für die Überprüfung der Ports – Paketfilterung
  • Passwort-Sicherung des Programms selbst
  • Spielmodus ohne Unterbrechungen

Für den Web-Bereich noch wichtig:

  • Tracking-Schutz
  • Browser-Cleaner
  • Phishing-Schutz
  • E-Mail-Scanner
  • Spamfilter

Zusätzlich noch sinnvoll:

  • Passwort–Manager
  • Update-Warner

Sicherheitskonzept

Klassifikation:

  • Ausfälle / Fehler durch technische Störungen
  • Schädigungen durch Schadsoftware
  • Abhören von Kommunikation
  • Software- und Benutzerfehler


1. Sicherungsmaßnahme: Stromausfall

  • USV - Unterbrechungsfreie Stromversorgung

2. Ausfall von Servern / Diensten, Überlastung etc.:

  • Replizierende Systeme

3. Back-Up und Recovery / Log-Daten
4. Allgemeines Netzwerk-Sicherheitskonzept
Zentrale Maßnahmen:

  • Firewall, also DMZ, Proxy etc.
  • Antivirensoftware, Aktualisierungen der Software / regelmäßige Updates, Überwachung des Datenverkehrs / Monitoring etc.
  • Mitarbeiterschulungen hinsichtlich des richtigen Umgangs mit E-Mails, Daten, Geräten.
  • Umgang mit Administrator-Accounts etc.
  • Viele andere Komponenten, je nach Ausrichtung der Netzwerkstruktur und der Anforderungen. Beispiel: Lieber ein eigener Webserver, als ein externer Dienst – oder genau das Gegenteil, je nach Bedürfnissen.

5. Verschlüsselungen

  • SSH - Secure Shell als bessere Alternative zu telnet.
  • SSH-2 bietet auch Zugriff bzgl. SFTP
  • SSL / TLS - Verschlüsselung von Diensten (https)

Wikipedia TLS

Content-Management-Systeme

Content = Inhalt (Texte, Bilder, Dateien etc.)

Wir haben also erst mal folgende Anforderungen:

  • Wir wollen gemeinsam Inhalte bearbeiten
  • Wir wollen dabei dezentral arbeiten
  • Wir brauchen Sicherheitsmechanismen gegen unberechtigten Zugriff
  • Wir brauchen Rollen mit entsprechenden Rechten

Man benutzt Content Management Systeme heute vor allem für:

  • Webseiten
  • Portale
  • E-Commerce: Ein Online-Shop ist letztlich nichts anderes, als ein spezialisiertes CMS
  • Blogs und News-Seiten

Somit bestehen Content Management Systeme aus den beiden Teilen:

  • Frontend
  • Backend

Open-Source: GNU - Generell Pubilc Licence

  • Die Software wird frei zugänglich zum Download angeboten, in der Regel mit ein wenig Support – Hilfestellungen zur Installation etc.
  • Die Software ist nicht weiter gekapselt – der Programmiercode ist also offen und frei zugänglich, und kann deshalb auch problemlos verändert werden
  • Oft bieten Open-Source-Produkte einen gewissen Grad an Grundfunktionalität, die dann eigenständig erweitert bzw. verändert werden kann.

Produkte:

  • Wordpress
  • Joomla – ein deutsches Produkt
  • Typo 3
  • Drupal

Mindestanforderungen der Themenfeldprüfung

  • Theoretische Fragen zu Internet und Netzwerken
  • Netzwerk-Komponenten auswählen +
  • Netzwerk-Topologien beschreiben +
  • ISO/OSI-Modell erläutern +
  • Netzwerk-Protokolle beschreiben +
  • IPv4 Adressen beschreiben (und Subnet-Masken erstellen -)
  • Sicherheitsmaßnahmen im Netzwerk verwenden +
  • Internet-Provider auswählen und Vertragsdetails verstehen -
  • Sicheren Internetzugang mit (WLAN)Router einrichten -
  • Browser installieren und einrichten -
  • Email-Client einrichten
  • Firewall installieren und einrichten

Fernuni Hagen Fragenkatalog | Filius Lernsoftware

Aufgaben zu Netzwerken und Internettechnologien

Zu den Aufgaben



| |