7 Netzwerke
Serielle Kommunikation
🎯 Lernziele
Nach dieser Einheit sind Sie in der Lage dazu * drei Elemente zum Aufbau von Computernetzen beschreiben * die Analog-Digitalwandlung zur Signalisierung zu beschreiben * die Wichtigkeit von Übertragungskapazität und Latenz verschiedener Anwendungsfälle abzuschätzen * das Konzept der Amplituden und Frequenzmodulation zu erklären
zwingend nötige Elemente für Computernetzwerk
- Mindestens 2 Rechner mit Netzwerkdiensten und Datenstationen
- Server bietet Dienst an
- Client nutzt Dienst (Rolle kann tauschen)
- Kanal / Übertragungsmedium
- Dient dem Austausch von Daten
- Netzwerkprotokolle
- Regeln, die festlegen, wie Rechner miteinander kommunizieren können

Beispiele Rechnernetze
- PCs zu geteiltem Netzwerklaufwerk
- Smartphone zu Internet
- Sensor zu Ergometer

Übermittlung von Signalen durch Analog-Digital-Wandlung
- Grundlage ist z.B. die Dictionary-Repräsentation eines Objekts
- Die binäre Information wird zur Übertragung in ein Analogsignal gewandelt
01011010101010100...(selbiges passiert auch beim Speichern von Dateien)
Signalisierung mittels Elektromagnetischer Wellen
- in Welleneigenschaften einer elektromagnetischen Welle (Frequenz, Wellenlänge und/oder Amplitude) z.B. WLan, Bluetooth
- oder ein Spannungswert auf einem Leiter z.B. Ethernet
Signalisierung auf Kabeln
- Bits auf Kabeln als Leitungscodes z.B. über Spannungen signalisiert
- Non-Return-to-Zero (Abbildung oben)
- jeder Bit-Wert hat genau ein Leitungszustand (z.B. hohe Spannung vs. niedrige Spannung)
Kennzahlen für die Übertragungsqualität
-
Übertragungskapazität (Übertragungsrate, engl.: transfer rate, throughput): Datenmenge pro Zeit in Bits pro Sekunde
-
Latenz (Übertragungsverzögerung, engl.: latency): Verzögerung zwischen dem Versenden und der Ankunft des ersten Datenbits einer Meldung in Millisekunden.
ping www.google.comgibt die Zeit vom absenden der Nachricht bis zur Rückkehr der Antwort an

✍️ Aufgabe
Bei manchen Anwendungen ist die Latenz zweitrangig (z.B. Versenden von Emails.) Bei welcher Anwendung ist die Latenz wichtig? * Telefon * Online-Spiele
Rechnernetze

Strukturelle Kriterien
- Netzwerktopologie definiert, welche Datenstationen (Knoten) in einem Netzwerk mittels Kommunikations-verbindungen (Kanten) physisch miteinander verbunden sind

Stern-Topologie
- Alle Knoten sind direkt an einer zentralen Komponente (Hub oder Switch) angeschlossen
- Ausfall der zentralen Komponente führt zum Ausfall des kompletten Netzes
- Leicht verständlich und erweiterbar
- Ausfall eines Knotens führt nicht zum Ausfall des Netzes
- z.B. Heimnetzwerke, Infrastruktur-Wlan mit zentralem (Access Point)


Bus-Topologie
- Alle Knoten sind mit demselben Übertragungsmedium (dem Bus) verbunden
- Keine aktiven Komponenten zwischen Knoten und Medium
- Ausfall einzelner Knoten führt nicht zum Ausfall des Netzes
- Geringe Kosten für Aufbau (Switches waren mal teuer!)
- Störung des Übertragungsmediums blockiert den gesamten Bus
- Zu jedem Zeitpunkt kann nur eine Station Daten senden. Ansonsten kommt es zu Kollisionen
- z.B. Feldbusse: CAN, Profibus


Maschen-Topologie
- jeder Teilnehmer mit einem oder mehreren anderen Teilnehmern verbunden
- Fällt ein Teilnehmer oder eine Verbindung aus, ist die Kommunikation durch Umleiten (Routing) der Daten im Regelfall weiter möglich
- Ausfallsicher (abhängig vom Verkabelungsaufwand)
- Hoher Verkabelungsaufwand und Energieverbrauch
- Komplexes Routing (Wegfindung für Information)
- z.B. WWW, Ad-hoc-(Funk-)Netze

Baum-Topologie
- Von einer Wurzel gehen eine oder mehrere Kanten aus
- Jede Kante führt zu einem Blattknoten oder zu Wurzeln weiterer Bäume
- Gute Erweiterbarkeit und große Entfernungen realisierbar
- Beim Ausfall eine Wurzel ist der komplette davon ausgehende (Unter)Baum nicht mehr erreichbar
- z.B. Verbindungen zwischen den Verteilern (Hub, Switch) werden mittels eines Uplinks hergestellt

Zellen-Topologie
- Kommt hauptsächlich bei drahtlosen Netzen zum Einsatz
- Zelle: Bereich (Reichweite) um eine Basisstation (z.B. WLAN Access Point), in dem eine Kommunikation zwischen den Endgeräten und der Basisstation möglich ist
- Keine Störung durch Ausfall von Teilnehmern
- Störanfällig abhängig von der Qualität der Basisstation(en)
- z.B. Wireless LAN (IEEE 802.11), Global System for Mobile Communications (GSM)

🤓 Struktur des Internets

- Kommandozeile:
tracert <url> - Der Befehl zeichnet den Weg zum erreichen des Ziels nach

Kommunikationsprotokolle

🎯 Lernziele
Nach dieser Einheit sind Sie in der Lage dazu * die Bedeutung von Kommunikationsprotokollen zu beschreiben - eine Entscheidung für verbindungslose und verbindungs-orientierte Protokolltypen für verschiedene Anwendungsfälle zu treffen * die Bedeutung der Schichten im OSI-Modell zu erläutern * wichtige Netzwerkkomponenten zu unterscheiden
Kommunikationsprotokolle
- festgeschriebene Konvention für die Kommunikation zwischen Datenstationen.
- regelt den Aufbau von Meldungen (Syntax, Repräsentationsgrößen, notwendige Inhalte)
- welche Antworten auf Meldungen erfolgen müssen/können.
- Codierung
- Wann gibt es Feedback?
Menschliche Kommunikationsprotokolle
- Sprache
- Es spricht eine nach der anderen
- Sprecher:innen müssen die gleiche Sprache / Schrift benutzen
- Prozesse und Formulare:
- Steuererklärung beim Finanzamt braucht bestimmte Formulare
- Auf einem Brief muss Adressat mit Namen und Adresse stehen
Kommunikationsprotokolle für Computer
Zu den Vereinbarungen gehören: * Welche Station sendet an wen und aus welchem Anlass? * Was ist die maximale Länge einer Nachricht? * Was geschieht bei Fehlern? * Wie erkennt man das letzte Bit einer Nachricht? * Wie erkennt man, dass eine Nachricht verloren wurde? * Wie kann man eine verlorene Nachricht erneut anfordern?
Beispiel TCP/IP-Proktoll für die Kommunikation im Netzwerk

🧠 OSI-Schichtenmodell

- Wenn sie eine Email schicken, soll dies unabhängig davon sein, ob sie mit dem Handy im LTE-Netz verbunden oder an einem PC über ihr heimisches WLAN und glasfaser-gebunden mit dem Internet verbunden sind.
- Die Anwendung ist ident, auch wenn die Bitübertragung völlig anders ist.
🧠 Open Systems Interconnection (OSI) Model

- Das gliedert die Teilaufgaben der Kommunikation in sieben Funktionsschichten.
- Auf jeder Schicht sind entsprechende Protokolle vorgesehen, für die es mehrere Alternativen geben kann.
1 Bitübertragungsschicht (Physical Layer)

- physikalisch-technischen Eigenschaften
- Darstellung der Zustände "1" und "0"
-
Das bestimmt:
- z.B. Art der Modulation oder Leitungscode
- Wie viele Bits können pro Sekunde gesendet werden?
- Kann die Übertragung in beide Richtungen gleichzeitig stattfinden?
-
Hardware: Repeater, Hubs, Leitungen, Stecker, u. a.
2 Sicherungsschicht (Data Link Layer)

- Zugangsverfahren für das Kommunikationsmedium (z.B. Senderechten)
- potenziell auftretende Übertragungsfehler erkennen und behandeln
- Verkehrspolizist im Dorf
- Hardware auf dieser Schicht: Bridge, Switch
- Protokolle und Normen: IEEE 802.11 (WLAN), Ethernet-Protokoll, ...
- Adressierung der Geräte mit physischen Adressen (MAC-Adressen)
3 Vermittlungsschicht (Network Layer)

- Adressierung von Zielsystemen (Rechnern) über mehrere Teilstrecken hinweg sowie die Steuerung der Wegwahl.
- Der kürzeste Weg ist nicht immer optimal
- Internet Protocol: jedes IP-Paket wird unabhängig an sein Ziel vermittelt (geroutet)
- Adressierung der Geräte mit logischen Adressen (IP-Adressen)
Vermittlungsschicht ist vor allem bei vermaschten Topologien relevant

4 Transportschicht (Transport Layer)

- Verbindungen zwischen zwei Anwendungen
- empfangenen Nachrichten werden in die korrekte Reihenfolge gebracht
- verloren gegangene Nachrichten werden neu angefordert
- Die zwei wichtigsten Transportprotokolle:
- TCP (Transport Control Protocol): verbindungsorientiert
- UDP (Universal Datagram Protocol): verbindungslos
4 Transportschicht: Verbindungslose Protokolle
- Analog zum Briefkasten ohne Einschreiben
- Kein Verbindungsaufbau notwendig
- Nachrichten werden vom Sender verschickt, wenn Sie vorliegen, ohne eine Verbindung aufzubauen
- Keine Zustellungsgarantie, dafür schneller
- z.B. Streaming von Videos
4 Transportschicht: Verbindungsorientierte Protokolle
- Analog zum Schnur-Telefon
- Eine Verbindung zwischen Sender und Empfänger wird aufgebaut, dann werden Daten ausgetauscht und handeln das zu verwendende Protokoll aus. Anschließend wird die Verbindung abgebaut
- Es gibt eine Zustellungsgarantie
- Diese ist aber zeitaufwendig
- Für alles andere


🤓 5 Sitzungsschicht

- Die Sitzungsschicht wird in der Praxis kaum benutzt
- Typischerweise besteht eine Sitzung aus einem Verbindungsaufbau (Anmeldung), dem Austausch von Daten und dem Verbindungsabbau (Abmeldung)
🤓 6 Darstellungsschicht

- Die Darstellungsschicht wird in der Praxis kaum benutzt
- Daten in eine standardisierte Darstellung gebracht.
- In dieser Schicht werden beispielsweise Zeichensätze von (heterogenen) Kommunikationspartnern angeglichen
7 Anwendungsschicht

- Kommunikationsprotokolle für Dateitransfer, E-Mail oder der Zugriff auf Webserver
- Protokolle z.B.:
- HTTP - Websites (später)
- SSH - Secure Shell (Kommandozeile)
- FTP - File Transfer
- SMTP - E-mails
- LDAP - Rechteverwaltung
- In der Anwendungsschicht laufen Dienste (Prozesse)
- Diese werden neben der IP über eine Portnummer gekennzeichnet

- z.B. Port 80 für die Bereitstellung einer Website als HTML
- Dieser wird mit
:an die IP angehängt - z.B. läuft die Facebook-Website auf:
31.13.84.36:80 - Liste der standardisierten Ports
TCP/IP-Protokoll

🎯 Lernziele
Nach dieser Einheit sind Sie in der Lage dazu * valide IP-Adressen zu erkennen * Netzwerk- und Host-Adresse einer IP-Adresse mittels Subnetzmaske zu erkennen * zwischen MAC und IP-Adressen zu unterscheiden
- Zentrales Protokoll des Internets
- Aufgebaut in mehreren Schichten (OSI-Schichtenmodell)
- Die IP-Adresse eine Rechneradresse auf der OSI-Vermittlungsschicht (vergleichbar mit Telefonnummern).
- Interessant in der Software-Entwicklung ist vor allem die Anwendungsschicht

Aufbau IP-Adressen

- 4 Byte (mit je 0 bis 255 Zuständen!) also 32 Bits
✍️ Wie viele IPv4-Adressen gibt es?
- \(2^{32}=4.294.967.296\)
- 2020 über 27 Mrd. vernetze Geräte
- Es gibt auch IPv6: z.B.
2a03:2880:f107:83:face:b00c:25de(128 Bits)
IP-Pakete
- Die IP-Adresse dient der Adressierung (vgl. Absender und Adressat auf einem Brief)
- IP-Nutzdaten werden in IP-Paketen verschickt.

✍️ Aufgabe
-
Kann Ihr Browser die IPs erreichen?
31.13.84.3631.13.84.36:80[2a03:2880:f107:83:face:b00c:25de]:80
-
Menschen können eher mit Worten als mit Bits arbeiten
- Übersetzung symbolische Adressen auf IP-Adressen erfolgt über den Internet-Dienst DNS (domain name service): facebook.com, der die URL / den Hostname auf die IP-Adresse übersetzt
⌛ 3 Minuten
🧠 Internet-Dienst DNS

Externe vs Lokale IP-Adressen

- weitere Möglichkeit den Adressraum zu vergrößern: NAT (Network Address Translation (Layer 3))
- der Router nimmt die Übersetzung mittels Network address translation (NAT) vor
- finden der lokalen IP: Eingabeaufforderung
ipconfig - finden der öffentlichen IP: externe Websites
Netzwerkadresee für IPv4 im lokalen Netz

- legt fest welche IP-Adressen ein Gerät im eigenen Netz ohne die Zuhilfenahme eines Routers erreichen kann (vgl. Ortsvorwahl beim Telefon)
- Der Netzwerkteil muss bei allen Geräten des jeweiligen Netzes gleich sein
🧠 Was bedeutet das?

- Subnetzmaske is
255.255.254.0 - In Bit-Schreibweise:
1111 1111.1111 1111.1111 1110.0000 0000 - IP wird zerlegt
193.171.235.190 - In Bit-Schreibweise:
1100 0001.1010 1011.1110 1011.1011 1110
🧠 Beispiel Netzwerkmaske
- gibt die Bits an, die Teil der Netzwerkadresse sind
- Nur die letzten drei Stellen sind Teil der Hostadresse:
| IPv4-Adresse | 192.168.173.134 | |
|---|---|---|
| UND | Netzmaske | 255.255.255.0 |
| = | Netzwerkteil | 192.168.173.0 |
- Nur die letzten drei Stellen sind Teil der letzten sechs Stellen:
| IPv4-Adresse | 192.168.173.134 | |
|---|---|---|
| UND | Netzmaske | 255.255.0.0 |
| = | Netzwerkteil | 192.168.0.0 |
🧠 Übereinanderlegen von Adresse und Maske
1) 1111 1111.1111 1111.1111 1110.0000 0000 (Maske)
1) 1100 0001.1010 1011.1110 1011.1011 1110 (Adresse)
1) 1100 0001.1010 1011.1110 101________ (Netzwerkteil)
1) ____________________________1.1011 1110 (Host-Adresse)
* Wie viele Teilnehmer kann das Netzwerk haben?
* Host-Adresse hat 9 Stellen
* maximal \(2^9=512\) Teilnehmer
* Zwei spezielle IPs für Hostanteil:
* 0.0000 0000 - Netzadresse: erreicht beschreibt das Netzwerk
+ 1.1111 1111 - Broadcast: erreicht alle IPs im Netz
Frage
- Welche der folgenden Zahlen sind valide Subnetzmasken?
255.0.0.01111 1111.0000 0000.0000 0000.0000 0000- Ja
0.255.255.00000 0000.1111 1111.1111 1111.0000 0000- Nein, da die Maske zu Beginn aus
1bestehen muss
255.255.255.2531111 1111.1111 1111.1111 1111.1111 1101- Nein, da die Maske mit einer Folge von
0Enden muss
CIDER Darstellung
192.168.2.7/24- \(24\) ist die Anzahl an Bits in der Netzmaske
192.168.2.7IP255.255.255.0Subnetzmaske hat 24 Bit gesetzt11000000.10101000.00000010.00000111IP11111111.11111111.11111111.00000000Netzmaske
MAC-Adressen

- IP-Adresse:
- konfigurierbar je nach Netzwerk (vgl. Kennzeichen beim KFZ)
- Schicht 3: Vermittlungsschicht
- MAC-Adresse:
- in der Regel unveränderbar (vgl. Fahrwerksnummer beim KFZ)
- Schicht 2: Sicherungsschicht
Zuordnung MAC (physikalische) und IP-Adressen

Address Resolution Protocol (ARP)-Protokoll
- Media Access Code (Physikalische Adresse): Nummer eines Gerätes auf einer Datenverbindung. Anhand dieser Nummer werden über die Verbindung laufende Daten den Geräten zugeordnet.
- Jede Ethernet-, WLAN- oder Bluetooth-Netzwerkkarte besitzt solch eine eindeutige MAC-Adresse, unter der sie angesprochen werden kann. Obwohl sie effektiv nur in lokalen Netzen eine Bedeutung haben, sind MAC-Adressen üblicherweise global eindeutig und besitzen keinerlei Strukturmerkmale, die für die Wegewahl (Routing) genutzt werden können.
- Sicherungsschicht (Schicht 2) des OSI-Modells
- Die IP-Adresse wird vom Betriebssystem konfiguriert. Die physische Adresse, auch MAC-Adresse genannt, befindet sich im ROM der Netzwerkkarte.
Ermittlung von MAC-Adressen für IP-Adressen
- über das ARP-Protokoll
- Der Absender sendet einen Broadcast (Meldung an alle) im lokalen Subnetz, mit dem er die MAC-Adresse zu einer IP erfragt.
- Ist die Zieladresse im lokalen Subnetz, antwortet der Zielrechner.
- Ist der Rechner in einem anderen lokalen Subnetz, so antwortet der Vermittlungsknoten (Defaultgateway), der die Weiterleitung für die Daten übernimmt.

Beispiel ARP-Protokoll
-
Wenn A an die IP-Adresse von B Daten verschicken möchte, kann B direkt auf diesen Broadcast antworten.
-
Möchte A an die IP-Adresse von C Daten verschicken und C liegt in einem anderen Teilnetz, so antwortet der Vermittlungsknoten R1 mit seiner MAC-Adresse, die dann von A für die Verschickung von Daten an C genutzt wird.


- Spezielle IP:
127.0.0.1- genannt Localhost: bezieht sich immer auf den aktuellen Rechner
✍️ Aufgabe: Netzwerke mit Windows
- Wie lautet Ihre lokale IPv4-Adresse?
- Wie lautet Ihre MAC-Adresse?
-
Wie lautet die Subnetzmaske des Netzwerks?
-
Hinweis: Nutzen Sie ggf. die google-Suche, um an Ihr Ziel zu gelangen
⌛ 15 Minuten
Netzwerkverbindungen anzeigen / Details

Eingabeaufforderung / ipconfig

🎯 Lernfortschritt
Nach dieser Einheit sind Sie in der Lage dazu * valide IP-Adressen zu erkennen * Netzwerk- und Host-Adresse einer IP-Adresse mittels Subnetzmaske zu erkennen * zwischen MAC und IP-Adressen zu unterscheiden
✍️ Übung mit Filius

- Installieren Sie die Java Runtime Environment
- Installieren Sie Filius Windows Installer
- Skriptum
Entwurfsmodus

Aktionsmodus

✍️ Netzwerkkonfiguration
- Bearbeiten Sie die Aufgaben 1-7 im Skriptum
⌛ 45 Minuten
🏆 Sakai-Aufgabe 7: Netzwerke
Allgmeine Aufgaben
- 0: Ist 255.255.255.200 eine valide IP-V4-Adresse?
- 1: Zwei Computer sind wie folgt konfiguriert:
- Computer A:
- IP-Adresse: 192.168.1.10
- Subnetzmaske: 255.255.255.0
- Computer B:
- IP-Adresse: 192.168.0.55
- Subnetzmaske: 255.255.255.0
- Befinden sich Computer A und Computer B im selben Netzwerk?
- Computer A:
Aufgaben zu Filius
- A2: An welche Physikalische Adresse (MAC Adresse) wird die erste Nachricht auf Vermittlungssicht gesendet. Wofür steht diese Physikalische Adresse?
- A4.1: Welche IP-Adresse hat der Echo-Server?
- A4.2: Welches Protokoll nutzt der Echoserver/Client auf der Transportschicht? Ist dieses verbindungs-orientiert oder nicht?
- A4.3: Welchen Port nutzt der Echo-Client(nicht der Echo-Server)?