Internetzwerke.

Slides:



Advertisements
Ähnliche Präsentationen
Sichere Anbindung kleiner Netze ans Internet
Advertisements

HS-Projekt Friedrich Junge-Schule, Kl. 9c, 2011 Wie funktionieren Internet-Server? Web-Server auf eigener Domain und Game-Server für Internet-Spiele Teilnehmer:
Agenda 1. Wie funktionieren Netzwerke ? 2. Agenda 3.
Geschichte und Funktion des Internets.
Paketorientierte Datenübertragung
Internet und seine Dienste
PC I Kursdauer:3 x 3 Stunden Dozentin:Johanna Vohwinkel.
Einführung in die Netzwerktechnik 1 Der ARP-Prozess
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Schulen ans Netz Oberhausener Moderatoren
Einführung in die Technik des Internets
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Internetzwerke.
DNS Domain Name System oder Domain Name Service
IP Adresse / DNS / URL Bernd Liebenwein.
3 Wie funktioniert TCP/IP?
Rechnerkommunikation I
Kollisions-und Broadcast-Domänen CCNA 8.2.2
Begriffe -Technische Geräte
Grundlagen: Client-Server-Modell
Grundlagen der Netzwerktechnik
Netzwerke.
Internetzwerke.
Unterschiedliche Netzwerke
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Client-Server-Modell
Provider und Dienste im Internet
2. Kommunikation und Synchronisation von Prozessen 2
Internetzwerke.
Willkommen zum Brückensemester
Internetzwerke.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
VLAN Virtual Local Area Network
Kirsten Kropmanns Allgemeine Technologien II 9. März 2009
Das World Wide Web Stephan Becker TIT05BGR SS06. Das World Wide Web Übersicht Hypertext & Hypermedia HTML Dokumentenidentifikation Dokumententransport.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
Lisa Huber DHBW Mannheim
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Aufbau eines Netzwerkes
Internetzwerke.
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
TCP/IP Ti ßi pi ai pi. Wozu braucht man TCP/IP? ¥ Um festzustellen, ob das Moorhuhn (oder andere Programme) sicher sind. ¥ Um nachzusehen, ob noch `ne.
Mailserver Kira Skrodzki Definition 2 Ein Mail-Server ist ein Server, der Nachrichten und Mitteilungen empfangen, senden, zwischenspeichern.
LINUX II Harald Wegscheider
Internetzwerke.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Ardan Boral, Dominik Kary und Lukas Libal
Crashkurs Computernetzwerke
ISO / OSI Referenzmodell
Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim
Gruppen Finden Sie sich zurecht Die ersten Schritte in Ihrer Gruppe
Netzwerke.
Verbindung mit einem Netzwerk
Netzwerke Netzwerkgrundlagen.
Kapitel XI: Transportprotokolle (OSI 3+4) TRANSPORTPROTOKOLLE DER
Unterwegs im Internet.
Herzlich Willkommen Präsentation für das Angebot «einfache Verlinkung»
Ich brauche eine Web-Seite vom Server im Internet
Routing … … die Suche nach dem Weg..
Security Labor MitM-Demonstration
Wie funktioniert das Internet?
Elektronische Post BBBaden.
Routing … … die Suche nach dem Weg..
RFC IPv6 Adressaufbau.
Titel: Quelle: Übungsart: Titel: Quelle: Uhr Die Uhr lesen lernen
TCP/IP Transmission Control Protocol/Internet Protocol
 Präsentation transkript:

Internetzwerke

Datenverkehr (in Exabytes = 10246 Bytes) nach Inhalten nach Geräten http://www.cisco.com/c/en/us/solutions/collateral/service-provider/ip-ngn-ip-next-generation-network/white_paper_c11-481360.pdf

IPvS(imple) Part 1: Lokale Netzwerke

Lokale Netzwerke einrichten Für dieses Rollenspiel braucht jede(r) einen Stift. Lesen Sie die Regeln auf der ersten Seite aufmerksam durch. Fragen Sie bei Unklarheiten nach. MAC erfinden und in Systemeinstellungen eintragen: Drei Buchstaben, eindeutig innerhalb der Gruppe Finden Sie sich in Gruppen (=Subnetzen) zusammen. Schreiben Sie als dritte Zahl Ihrer IP die Gruppennummer. Schreiben Sie als vierte Zahl Ihrer IP eine Zahl, die sonst niemand in der Gruppe benutzt

Ping in lokalem (Sub-)netz (LAN) Suchen Sie sich eine Ziel-IP aus, die sich nur an der letzten Stelle von Ihrer eigenen unterscheidet. Schicken Sie eine Ping-Nachricht an diese IP. Halten Sie sich dabei an die entsprechenden Regeln und Protokolle. (jedes Protokoll entspricht einem neuen „Gespräch“)

DNS einrichten Bestimmen Sie ein Gruppenmitglied als DNS-Server. Alle anderen tragen dessen IP in den eigenen Netzwerkeinstellungen ein. DNS-Server: erstellen Sie eine Liste mit Namen – IP Paaren für alle Gruppenteilnehmer, etwa so: Name IP Hans 1.1.5.2 Julia 1.1.5.4 ...

Mini-Unterhaltung per Namen Wählen Sie den Namen von einem Gruppenmitglied. Starten Sie eine Mini-Unterhaltung, indem Sie eine Frage an diesen Namen adressieren. Halten Sie sich dabei an die entsprechenden Regeln und Protokolle. (jedes Protokoll entspricht einem neuen „Gespräch“) (Umschläge wiederverwenden, dafür alte Werte durchstreichen)

Zwischenspiel Um Ihnen zu demonstrieren, wieso die saubere Trennung von logischer Adresse (= IP) und physikalischer Adresse (= MAC) Sinn macht... zwei Gruppenteilnehmer tauschen ihre Systemeinstellungen – nicht aber die MAC! natürlich muss auch der DNS-Server seine Liste updaten die Demonstration besteht darin, dass alles andere immer noch genauso funktioniert

Ein realistisches LAN simulieren mit Filius

Kommunikationsebenen Die Kommunikation zwischen Computern ist in verschiedene Kommunikationsebene bzw. Schichten unterteilt. Jede Schicht hat eigene Protokolle (und zugehörige header) Ein header ist so etwas wie ein Umschlag, in den die Daten der darüber liegenden Ebenen verpackt werden. Der header/Umschlag enthält die für diese Ebene relevanten (Meta-)Daten Auf diese Weise muss sich jede Schicht nur um ihren eigenen Aufgabenbereich kümmern Änderungen auf einer Ebene müssen die anderen Ebenen nicht kümmern z.B. wenn sich eine MAC im Netzwerk ändert, weil der Computer durch einen neuen ersetzt wurde Die Transport-Schicht wurde im Rollenspiel ausgespart

IPs = Logische Adressen im Internet 192.168.0.33 11000000.10101000.00000000.00100001 Eine IPv4 besteht aus 4 Bytes Wie viele unterschiedliche IPs gibt es? Ende 2011 sind uns die IPs ausgegangen  IPv6, besteht aus 128 Bit, funktioniert ansonsten gleich 4*8 = 32 Bit für eine IPv4  232 ~= 4Mrd verschiedene IPs IPv4 ist ein (noch immer funktionierender) Teilbereich des Adressraums von IPv6. Der Übersichtlichkeit halber bleiben wir hier bei IPv4

Netzmasken Eine Netzmaske fasst mehrere IPs zu einer Gruppe (=Subnetz) zusammen Eine Netzmaske gibt an, die ersten wie vielen Stellen gleich sein müssen, damit man zum Subnetz gehört Bsp: alle IPs, die mit 192.168.0 anfangen gehören dazu Wie viele Computer können zu diesem Subnetz gehören? 192.168.0.33 255.255.255.0

Ist die Ziel-IP in meinem Subnetz? Eigene IP Netzmaske Ziel-IP Gleiches Subnetz? 213.45.19.89 255.255.255.0 213.45.17.89 255.255.0.0 88.100.11.17 88.100.11.254 0.0.0.0 10.0.0.0 255.255.255.252 10.0.0.1 Wenn sich die beiden IPs nur an den Stellen unterscheiden, wo in der Maske Nuller stehen Dann gehören sie zum gleichen Subnetz

Ist die Ziel-IP in meinem Subnetz? Eigene IP Netzmaske Ziel-IP Gleiches Subnetz? 213.45.19.89 255.255.255.0 213.45.17.89 nein 255.255.0.0 ja 88.100.11.17 88.100.11.254 0.0.0.0 ja (0.0.0.0 = alle) 10.0.0.0 255.255.255.252 10.0.0.1 ja (252 = letzten 2 binären Stelle frei) Wenn sich die beiden IPs nur an den Stellen unterscheiden, wo in der Maske Nuller stehen Dann gehören sie zum gleichen Subnetz (Bei „schiefen“ Netzmasken muss man binär rechnen)

ABER: nicht an die IP! (= logische Adresse) Subnetze Alle Computer, die im gleichen Subnetz sind, können sich direkt Nachrichten (Pakete) schicken z.B. über Kabel, WiFi, ... ABER: nicht an die IP! (= logische Adresse) Sondern: an die MAC (= physische Adresse) 14:66:99:1B:59:17 F8:84:1E:2C:D7:1C 60:4E:46:F5:08:09 255.255.255.0 Jede Netzwerkkarte hat eine vom Hersteller vergebene, eindeutige, nicht veränderbare MAC-Adresse mit 12 hexadezimalen Stellen 192.168.0.x

ARP (Adress Resolution Protocol): IP  MAC Um eine Nachricht an eine IP abliefern zu können, muss man erst herausfinden, welche MAC zu dieser IP gehört Will eine Nachricht an die IP 192.168.0.34 schicken 1. Mithilfe der Netzmaske herausfinden, ob die Ziel-IP im gleichen Subnetz ist 14:66:99:1B:59:17 2. Mithilfe des ARP herausfinden, welche MAC Adresse dazu gehört F8:84:1E:2C:D7:1C 3. Nachricht an MAC übergeben 60:4E:46:F5:08:09 An Alle in 192.168.0.x: „Wer hat die IP 192.168.0.34?“ 255.255.255.0 „Ich! Meine MAC ist 60:4E:46:F5:08:09“ 192.168.0.x

Filius c 1. Sicherstellen, dass Sie im Entwurfsmodus sind 2. Mehrere Computer und einen Switch ins Fenster ziehen und mit Kabeln verbinden Tipp: Dieses Kästchen ticken, das hilft bei der Übersicht 3. Doppelklick auf Computer IPs und Netzmaske so einstellen, dass alle zum selben Subnetz gehören

Filius c 1. In den Aktionsmodus wechseln 6. Rechtsklick auf einen beteiligten Computer  „Netzwerkverkehr analysieren“. Verstehen Sie die Einträge (insb. ARP)? c 1. In den Aktionsmodus wechseln 2. Doppelklick auf einen Computer öffnet eine Benutzeroberfläche 3. Software installieren – zunächst eine Befehlszeile 4. Befehlszeile-Programm öffnen 5. In der Befehlszeile ein Ping (=minimale Nachricht) an einen anderen Computer im Netzwerk schicken: ping x.x.x.x

Filius - Erweiterungen Installieren Sie auf einem der Computer einen DNS-Server Wenn Sie dessen DNS- Tabelle ausgefüllt und ihn gestartet haben, sollte das Ping auch per Name (=URL) funktionieren Erstellen Sie ein zweites lokales Netz. Schaffen Sie es, die Netzwerkeinstellungen per DHCP konfigurieren zu lassen? (DHCP-Server einrichten, bei allen anderen Clients „DHCP zur Konfiguration verwenden“)

IPvS(imple) Part 2: Routing zwischen Subnetzen

Routing zwischen (Sub-)Netzen einrichten Damit Nachrichten von einem Subnetz in ein anderes gelangen können, braucht es sogenannte Router, die mehrere Netzwerkkarten (+ zugehörige Systemeinstellungen) haben und damit Mitglied in mehreren Gruppen sein können. Heute bekommen Sie vordefinierte Systemeinstellungen zugeteilt (eigentlich wie DHCP). Die Systemeinstellungen definieren lokale Subnetze und einen zentralen DNS-Server (wie beim ersten Rollenspiel), zusätzlich vier Router mit jeweils zwei Netzwerkkarten Wer ein Router ist, wird im Struktogramm manchmal beim Befehl unten rechts landen. Um herauszufinden, welcher andere Router „für die Ziel-IP zuständig ist“, konsultieren Sie ihre Routing-Tabelle.

Routing-Netzwerk setup Wieder braucht jede(r) einen Stift und leere Nachrichten Schreiben/kleben Sie sich Ihre MAC und IP auf die rechte Hand Router benutzen die linke Hand für die zweite Netzwerkkarte Geben Sie Nachrichten nur mit der richtigen Hand weiter Finden Sie sich in Subnetzen zusammen (= erste drei Stellen der IP stimmen überein) Router bilden mit der linken Hand ein zweites Subnetz DNS-Server: lassen Sie sich die Hände zeigen, füllen Sie ihre DNS-Tabelle aus Vereinfachung ARP Wir sparen uns das ARP-Protokoll als eigenes Gespräch. Stattdessen schauen Sie auf den Händen nach, an welche das Paket geht

Ping in anderes Netz (per Namen) Wählen Sie den Namen von jemandem ausserhalb Ihrer Gruppe. Schicken Sie ein Ping an diesen Namen. Halten Sie sich dabei an die entsprechenden Regeln und Protokolle (ausser ARP – schauen Sie auf den Händen nach).

realistisches Routing simulieren mit Filius

Routing Damit eine Nachricht von einem Subnetz in ein anderes gelangen kann braucht es einen Router, der mit jeweils einer Netzwerkkarte Mitglied in beiden Subnetzen ist echt Router haben oft duzende Netzwerkkarten Wohin er ein Paket weitergibt, findet der Router anhand seine Routingtabelle heraus. In der Routingtabelle stehen Regeln, wie mit der Ziel- IP zu verfahren ist, wenn Sie eine bestimmte Form hat (also zum ein oder anderen Subnetz gehört)

Die vereinfachte Form im Rollenspiel sah so aus Ziel-IP hat die Form Weitergeben an (dabei MACs auf Umschlag entsprechend anpassen!) 1.1.1.6 Selbst verarbeiten 3.3.3.2 3.3.3.x An MAC der Ziel-IP weitergeben (mit Hand URI) 1.1.1.x An MAC der Ziel-IP weitergeben (mit Hand TOP) 1.1.3.x An MAC der IP 3.3.3.1 geben (mit Hand URI) 1.1.6.x An MAC der IP 3.3.3.4 geben (mit Hand URI) 1.1.8.x An MAC der IP 3.3.3.8 geben (mit Hand URI) x.x.x.x (alle anderen Ziel-IPs) An MAC der IP 3.3.3.9 (nicht im Bsp.) In wie vielen Subnetzen ist dieser Router Mitglied? Welche Subnetze sind das? Wie viele andere Router kennt dieser?

In echt (und Filius) sehen Routingtabellen so aus Ziel Maske Gateway Schnittstelle 1.1.1.6 255.255.255.255 127.0.0.1 3.3.3.2 3.3.3.0 255.255.255.0 1.1.1.0 1.1.3.0 3.3.3.1 1.1.6.0 3.3.3.4 1.1.8.0 3.3.3.8 1.1.1.1 0.0.0.0 3.3.3.9 Hinweise: Gateway: an wen weitergeben Schnittstelle: über welche Hand (=Netzwerkkarte) weitergeben Gateway == Schnittstelle:  an Ziel-IP abliefern IP 127.0.0.1: bedeutet „ich“ (bzw. localhost), also selbst verarbeiten

Topologie des Rollenspiel-Netzwerks Client: 1.1.1.1 Client: 1.1.1.5 Client: 1.1.3.4 Gruppe 1.1.1.x Client: 1.1.3.1 Gruppe 1.1.3.x Router: 1.1.1.6 3.3.3.2 Router: 1.1.3.9 3.3.3.1 Client: 1.1.8.1 Client: 1.1.3.6 Gruppe 3.3.3.x Gruppe 1.1.8.x Router: 1.1.8.9 3.3.3.8 Client: 1.1.8.2 Router: 3.3.3.4 1.1.6.7 Client: 1.1.6.1 Gruppe 1.1.6.x Client: 1.1.8.5 Router: 3.3.3.9 9.9.9.9 ... ... Backbone DNS-Server: 1.1.6.8 ... Client: 1.1.6.6 ...

Übung Routingtabelle Was geschieht mit der Ziel-IP 1.2.3.213 9.9.9.1 nächster Empfänger über Netzwerkkarte IP Netzmaske Gateway Schnittstelle 1.2.3.1 255.255.255.255 127.0.0.1 9.9.9.1 1.2.3.0 255.255.255.0 9.9.9.0 1.1.1.1 0.0.0.0 9.9.9.254 Was geschieht mit der Ziel-IP 1.2.3.213 9.9.9.1 1.2.4.17 Hinweise: Wenn Gateway und Schnittstelle gleich sind, dann kann der Router das Paket an die Ziel-IP abliefern Die IP 127.0.0.1 (=localhost) bedeutet „ich selbst“

Übung Routingtabelle Was geschieht mit der Ziel-IP nächster Empfänger über Netzwerkkarte IP Netzmaske Gateway Schnittstelle 1.2.3.1 255.255.255.255 127.0.0.1 9.9.9.1 1.2.3.0 255.255.255.0 9.9.9.0 1.1.1.1 0.0.0.0 9.9.9.254 Was geschieht mit der Ziel-IP 1.2.3.213  3.Regel, also über 1.2.3.1 an Ziel-IP abliefern 9.9.9.1  1.Regel, also selbst verarbeiten (127.0.0.1 = localhost) 1.2.4.17  letzte Regel (default Gateway), also über Netzwerkkarte 9.9.9.1 an die IP 9.9.9.254 geben

Routing in Filius Ein zweites (nicht gleiches) Subnetz einrichten & testen Einen Vermittlungsrechner (=Router) mit zwei Netzwerkkarten dazwischen hängen IPs und Masken der beiden Netzwerkkarten des Routers so einstellen, dass sie in das jeweilige Subnetz passen Die richtige Router-IP bei den Clients als Gateway angeben Testen, z.B. von einem Subnetz ins andere pingen

Musterlösung (Eintragen der Gateways nicht vergessen!) Für solch einfache Netzwerke erstellt Filius die Routingtabellen automatisch. Schauen mal hinein - Verstehen Sie die Einträge?

Erweiterungen Im einen Subnetz einfache Clients einrichten, im anderen Server, die verschiedene Dienste zur Verfügung stellen (z.B. DNS)

Weitere Erweiterungen DHCP einrichten (wie im Schul-WLAN) Datenverkehr eines Clients anzeigen lassen (=Sniffer) ... noch mehr Subnetze (und Router). Jetzt müssen Sie die Routingtabellen ggf. manuell konfigurieren

Fachbegriffe und Grundkonzepte

Internet = Netz der Netze Gleicher Aufbau wie im Rollenspiel, aber noch mehr Router-Netze mit grösserer Reichweite Die physikalische Übertragung der Daten geschieht auf unterschiedliche Weise (Funk, Kupferkabel, Glasfaserkabel, Satellit,...) – das spielt für den Aufbau aber keine Rolle. Dank der separaten Kommunikationsschichten spielt es auch für die Protokolle keine Rolle

Überblick Fachbegriffe Internet Client Server Router Subnetz Host Provider (ISP) URL IP MAC DNS Protokoll

Client / Server ist immer ein Programm, nicht ein ganzer Computer! Rollenverteilung Client / Server ist immer ein Programm, nicht ein ganzer Computer! Clients (z.B. Browser) ... stellen Anfragen Server ... stellen Dienste oder Dokumente zur Verfügung (sind immer online) Router ... weisen den Informationspaketen ihren Weg (haben mindestens zwei Netzwerkkarten)

Dienstleistungen im Internet <html> <head> ... </head> <body> </body> </html> HTML-Dokument wird per FTP auf den Server übertragen Backbone des Internet regionale bis globale Netzwerke von Routern, die Pakete weiterleiten (Web) Host, stellt Speicherplatz auf WWW-Server Provider, stellt Zugang zum Internet (Leitung und Adresse / Router) (Web) Host, stellt evtl. weitere Dienste zur Verfügung, z.B. Email, PHP, Datenbanken, etc.

Wem gehört das Internet? gestellt von Provider DNS-Server MAN Client Browser Router LAN gestellt von Provider Router Router GAN (Backbone) gehört Privatpersonen, Firmen, Institutionen, ... Router Die globale Infrastruktur (Kabel und Router) wird hauptsächlich von Telekommunikationsunternehmen und Universitäten bereitgestellt und gewartet. (NSP = national service provider) WWW-Server gestellt von Host

Internet = INTERconnected NETworks Private Netzwerke, z.B. bei Ihnen zuhause, oder hier in der Schule, oder in einer Firma ... Routernetzwerke auf regionaler (ISP), nationaler (NSP) und globaler (backbone, Zusammenarbeit von NSPs) Ebene. Hier gibt es meist verschiedene Wege von einem Router zum anderen - das garantiert eine gewisse Robustheit des Systems

Internet = INTERconnected NETworks Das ist der Router im privaten Wohnzimmer, der mit einem vom Provider betriebenen Router kommuniziert Das entspricht dem vom ISP betriebenen DNS-Server, ohne den man nur per IP surfen könnte Das ist der vom ISP betriebene Router, der in weiteren Routernetzwerken Mitglied ist und damit den Zugang zum Internet ermöglicht Der erste Router des ISP fungiert meist als (Nat/Pat)-Proxy: er ersetzt die privaten IPs (oft 192.168.x.x) der Kunden durch seine eigene (öffentliche). So wird verhindert, dass eine vom privaten User falsch eingestellte IP das globale System stört - und es brauchte weniger (öffentliche) IPs.

World Wide Web (WWW) auch W3 oder schlicht Web genannt Das WWW ist nur einer von vielen Diensten im Internet! Das World Wide Web ist eine riesige Sammlung von Dokumenten. Diese sind auf Computern auf der ganzen Welt gespeichert und können Querverweise auf andere Dokumente enthalten (Links oder Hyperlinks). Für die eindeutige Adressierung eines Dokuments im WWW benötigt man eine URL Zum Darstellen des Dokuments braucht man einen Browser

Browser (auch WWW-Browser oder Web-Browser) Ein Browser ist ein Computerprogramm, mit dem man Dateien aus dem Internet (genauer: aus dem WWW) anfordern kann, indem man eine Adresse (URL) angibt Alle Aufgaben, bei denen es um das Senden und Empfangen von Nachrichten geht, übernimmt das Betriebssystem Der Browser ist dann wieder für die Darstellung der empfangenen (HTML-)Dateien zuständig Internet Explorer Mozilla Firefox Safari (Apple) Opera Google Chrome ...

URL (Uniform Resource Locator) Ein System, mit dem man einen eindeutigen Pfad zu jedem Dokument im WWW angeben kann: Protokoll Server Domain TLD Ordner Dateiname (Top Level Domain) http://www.beispiel.ch/dokumente/reglemente.html Der erste Teil bezeichnet einen bestimmten Computer (äquivalent zur IP), z.B.: IP: 80.190.158.9 = www.leo.org Alles nach der TDL ist ein normaler Pfad auf diesem Computer, zuletzt die Datei

Kommunikationsebenen Die Kommunikation zwischen Computern ist in verschiedene Kommunikationsebenen bzw. Schichten unterteilt. Ein Datenpaket im Internet besteht daher aus mehreren headern (wie Umschläge), die jeweils alle Daten der darunterliegenden Schichten als payload “einpacken“ Der Vorteil dieses Aufbaus besteht darin, dass sich jede Schicht nur um ihre eigenen Aufgaben kümmern muss z.B. muss sich der Browser (=Application) nicht darum kümmern, wie seine Daten durch das Internet gelangen z.B. wird ein Datenpaket immer von einer MAC an eine andere übergeben, um welche Daten es geht, ist irrelevant

Kommunikationsebenen Jede Ebene hat ihre Aufgabe(n) und ihre Art der Adressierung – festgelegt in standardisierten Protokollen Application (Client ⟺ Server) Standardisierte Gespräche zwischen Programmen ermöglichen Transport (Port ⟺ Port) Datenpakete verwalten (Bestätigung, Reihenfolge, Zuordnung zu Gesprächen, ...) Internet (IP ⟺ IP) Transport von Datenpaketen zwischen Client und Server – über Subnetze hinweg Link (MAC ⟺ MAC) Weitergabe von Datenpaketen von einer Netzwerkkarte zur nächsten

Protokolle http://www.beispiel.ch/dokumente/reglemente.html Kommunikation zwischen Computern ist (zeitlich und inhaltlich) geregelt durch Protokolle Beispiel daytime protocol: A: Hallo Bob B: Hallo Alice A: Was ist die Aktuelle Uhrzeit? B: 11:46 und 17.234673 Sekunden A: Danke, tschüss B: Tschüss Typische Anwendungsprotokolle der TCP/IP Familie: HTTP / HTTPS Webseiten abrufen Verschlüsseltes HTTP FTP Dateien übertragen POP3 Mailbox abrufen SMTP Mail versenden IMAP Mails verwalten VoIP Voice over IP Im Rollenspiel auch weggelassen: Die meisten Protokolle verlangen eine formalisierte „Begrüssung“ bzw. „Verabschiedung“ (z.B. Three-Way-Handshake)

Protokolle Ein Protokoll regelt, bzw. definiert den zeitlichen Ablauf der Kommunikation und das Format der einzelnen Nachricht(en). Nur so können die übertragenen Bits richtig interpretiert werden. Wie bei Dateiformaten bestehen Kommunikationsformate aus den eigentlichen Daten (=payload) und zugehörigen Metadaten (=header) Auf der obersten Ebene (=Application) geht um das standardisierte Gespräch zwischen Server und Client bspw. wie man bei einem Daytime-Server die Uhrzeit erfragt Auf den tieferliegenden Ebenen regeln die Protokolle die Organisation des (ggf. längeren) Gesprächs (Transport-Schicht) den Transport über Subnetze hinweg (Internet-Schicht) die konkrete Übergabe von Paketen (Link/Ethernet-Schicht)

IP Header (Internet-Schicht) Dieser IP-Header zeigt, dass (im Gegensatz zum vereinfachten Rollenspiel) neben der Quell- und der Ziel-IP noch weitere Metadaten enthalten sind Beispielsweise kann man mit der Prüfsumme herausfinden, ob das Paket noch intakt ist – und es andernfalls nochmal anfordern

TCP-Header (Transport-Schicht) Der hier dargestellte TCP-Header gehört zu der oberhalb der IP-Ebene angesiedelten Schicht, die im Rollenspiel nicht thematisiert wurde Auf dieser Ebene geht es um die Organisation längerer „Gespräche“, bspw. können so Daten gesendet werden, die aufgrund ihrer Grösse auf mehrere Pakete (Folgenummer) aufgeteilt werden müssen

Ethernet Frame (Link/Ethernet-Schicht) Der Ethernet Frame ist sozusagen der äusserste Umschlag, er enthält als payload die anderen header und die zur eigentlichen Nachricht (Application-Schicht) gehörenden Daten Die Grösse eines Datenpakets ist daher limitiert auf insgesamt max. 1518 Byte, damit bleiben für die eigentliche Nachricht weniger als 1.5 KB

Routing & Schichten Bei der Paketweitergabe ändern sich die MACs im Ethernet Frame ständig, sie zeigen, wer an wen weitergibt Die IPs ändern sich nicht, sie zeigen, wer mit wem kommuniziert Interaktive Visualisierung: http://www.dnstools.ch/visual-traceroute.html

Zusammenfassung Wie funktioniert ein typischer Webseitenaufruf

Durchs Internet und zurück: HTTP-Request des Clients: GET /index.html HTTP/1.1 Host: www.nksa.ch INTER-NET index.html auf WWW-Server: <!DOCTYPE ... > <html> <head> <title>NKSA</title> <link rel="stylesheet" type="text/css“ href="css/nksa.css"> </head> <body> ... </body> </html>

Der Reihe nach: Ein Benutzer gibt in der Adressleiste des Browsers eine URL an Dann erstellt der Browser einen http-Request: Der Request (Application Schicht) wird an das Betriebssystem übergeben, dann ... HTTP-Request des Clients: GET /index.html HTTP/1.1 Host: www.leo.org

DNS (Domain Name Service) – auch ein Dienst des Internet Client (Betriebssystem) ... stellt DNS-Anfrage (= neues Gespräch), um die zur URL gehörende IP herauszufinden

Die DNS-Anfrage wird durchs Internet geroutet Client: 1.1.1.1 Client: 1.1.1.5 Client: 1.1.3.4 Gruppe 1.1.1.x Client: 1.1.3.1 Gruppe 1.1.3.x Router: 1.1.1.6 3.3.3.2 Router: 1.1.3.9 3.3.3.1 Client: 1.1.8.1 Client: 1.1.3.6 Gruppe 3.3.3.x Gruppe 1.1.8.x Router: 1.1.8.9 3.3.3.8 Client: 1.1.8.2 Router: 3.3.3.4 1.1.6.7 Client: 1.1.6.1 Gruppe 1.1.6.x Client: 1.1.8.5 Router: 3.3.3.9 9.9.9.9 ... ... Backbone DNS-Server: 1.1.6.8 ... Client: 1.1.6.6 ...

DNS (Domain Name Service) – auch ein Dienst des Internet DNS Server ... löst URL in eine IP- Nummer auf (muss dafür evtl. andere DNS- Server konsultieren) Client (Betriebssystem) ... empfängt Antwort und kennt jetzt die Ziel-IP für den ursprünglichen HTTP-Request des Browsers

Http-Request Client (Betriebssystem) ... schickt HTTP-Anfrage los (nachdem er per ARP die MAC des Gateways erfragt hat, weil die Ziel-IP ja ausserhalb des eigenen Subnetzes liegt...)

Die HTTP-Anfrage wird durchs Internet geroutet Client: 1.1.1.1 Client: 1.1.1.5 Client: 1.1.3.4 Gruppe 1.1.1.x Client: 1.1.3.1 Gruppe 1.1.3.x Router: 1.1.1.6 3.3.3.2 Router: 1.1.3.9 3.3.3.1 Client: 1.1.8.1 Client: 1.1.3.6 Gruppe 3.3.3.x Gruppe 1.1.8.x Router: 1.1.8.9 3.3.3.8 Client: 1.1.8.2 Router: 3.3.3.4 1.1.6.7 Client: 1.1.6.1 Gruppe 1.1.6.x Client: 1.1.8.5 Router: 3.3.3.9 9.9.9.9 ... ... Backbone DNS-Server: 1.1.6.8 ... Client: 1.1.6.6 ...

Three-Way Handshake Erst nach beidseitiger Bestätigung kann die eigentliche Kommunikation beginnen (im TCP – Protokoll)

HTTP-Reply WWW Server ... empfängt die Anfrage, verifiziert den Client, schickt HTML-Datei (vermutlich in mehreren Paketen) Client (Betriebssystem) ... sammelt TCP-Pakete und übergibt die Datei an den Browser

Der Browser macht sich an die Darstellung... ... kommt aber nicht sehr weit, bevor er weitere Dateien (per HTTP- Request) erfragen muss index.html auf WWW-Server: <!DOCTYPE ... > <html> <head> <title>Beispiel Webseite</title> <link rel="stylesheet" type="text/css" href="css/beispiel.css"> ... </head> <body> <h1>Hallo</h1> <img src="bilder/bild.jpg" alt="Bild“ /> </body> </html> Beispielsweise eine CSS-Datei für die Layout-Informationen ... ... und ein Bild, das hier eingefügt werden soll ... ...

... und das in wenigen Millisekunden HTTP-Request des Clients: GET /index.html HTTP/1.1 Host: www.nksa.ch INTER-NET index.html auf WWW-Server: <!DOCTYPE ... > <html> <head> <title>NKSA</title> <link rel="stylesheet" type="text/css“ href="css/nksa.css"> </head> <body> ... </body> </html>

www.dnstools.ch Traceroute PING DNS Reverse-IP Meine IP Diese Dienste laufen auf einem Server bei Frankfurt – äquivalente Anfragen kann man per Kommandozeile beim eigenen Betriebssystem machen (nur ohne die hübschen Visualisierungen) Traceroute Zeigt an, welchen Weg die Datenpakete zu einer URL oder IP nehmen PING Erreichbarkeit testen, das kennen Sie schon aus Filius DNS zur URL gehörige IP erfragen Reverse-IP welche URLs teilen sich eine IP Meine IP mit welcher IP sind Sie gerade im Internet unterwegs? Welche weiteren Informationen (=Metadaten) sind auslesbar?

Aufruf einer Webseite, Zusammenfassung Interaktive Visualisierung: ClieServ.swf