Inter netzwerke

Post on 25-Feb-2016

55 views 7 download

description

Inter netzwerke. Datenverkehr (in Exabytes = 1024 6 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. Okt 2011. Internet = Netz der Netze. - PowerPoint PPT Presentation

Transcript of Inter netzwerke

Internetzwerke

Datenverkehr (in Exabytes = 10246 Bytes)

http://www.cisco.com/c/en/us/solutions/collateral/service-provider/ip-ngn-ip-next-generation-network/white_paper_c11-481360.pdf

nach

Inhalten

nach

Geräten

Okt 2011

Internet = Netz der Netze

Adressen im Internet: IPv4 vs. IPv6 Wer verwaltet IPs? Wie viele

unterschiedliche IPs gibt es?

Wann werden sie uns ausgehen?

Was tun wir dann?

http://www.icann.org/http://www.icann.org/en/factsheets/factsheet-ipv6-03feb11-en.pdf

Netz der Netze - Teilnetze LAN:Local area network WLAN:Wireless LAN MAN:Metropolitan area network WAN:Wide area network GAN:Global area network

Netz der Netze – Backbone (GAN/WAN)

Durchschnitt von ca. 1795 Gigabit pro Sekunde (~38 DVDs), das entspricht einer Datenmengen von rund 3.3 Mio DVDs, die pro Tag am Frankfurter Knoten durchfliessen.

Traffic am DE-CIX in Frankfurt (http://www.de-cix.net/about/statistics/)

Fachbegriffe Internet Client Server Router Subnetz Host Provider URL IP DNS Protokoll WWW OSI

Rollenverteilung 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

Provider, stellt Zugang

zum Internet (Leitung

und Adresse/Ro

uter)

(Web) Host,stellt Speicherplatz auf WWW-Server

<html> <head> ... </head> <body> ... </body></html>

HTML-Dokument

wird per FTP auf

den Server

übertragen

(Web) Host,stellt evtl. weitere

Dienste zur Verfügung, z.B. email, PhP,

Datenbanken, etc.

Router Router

... leiten die Informations-pakete von einem Subnetz ins nächste weiter

http://www.dnstools.ch/visual-traceroute.html

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 genannt

Ein Browser ist ein Computerprogramm, mit dem man sich im World Wide Web (WWW) bewegen und WWW-Seiten darstellen kann - Ähnlich wie man zum Betrachten von Textdateien ein Textverarbeitungs-programm benötigt.

Internet Explorer

Mozilla Firefox Safari (Apple) Opera Google Chrome

Ein System, mit dem man den Pfad zu jedem Dokument im WWW angeben kann:

Der erste Teil bezeichnet einen bestimmten Computer (äquivalent zur IP), alles nach dem ersten Backslash ist ein normaler Pfad auf diesem Computer

IP: 80.190.158.9 = www.leo.org

Protokoll Server Domain TLD Ordner Dateiname

(Top Level Domain)

http://www.beispiel.ch/dokumente/reglemente.html

URL (Uniform Resource Locator)

Protokolle

Kommunikation zwischen Computern ist festgelegt durch Protokolle

Beispiel DNS: A: Hallo Bob B: Hallo Alice A: Wie ist die IP von

www.leo.org? B: 80.190.158.9 A: Danke, tschüss B: Tschüss

Protokolle der TCP/IP Familie: HTTP / HTTPS

Webseiten abrufenVerschlüsseltes

HTTP FTP Dateien übertragen POP3 Mailbox abrufen SMTPMail versenden IMAP Mails verwalten VoIP

Voice over IP

http://www.beispiel.ch/dokumente/reglemente.html

Der Reihe nach:

Ein Benutzer gibt in der Adressleiste des Browsers eine URL an – und dann ?

IPvS Bei-Spiel

IPvS(imple)

Wir spielen Internet

IPvS(imple) RollenClient MAC:  IP: 1.2.3.4

DNS: 4.5.6.4

Gateway:

1.2.3.9

DNS-ServerMAC:  IP: 4.5.6.4

DNS: 4.4.4.4

Gateway:

4.5.6.9

WWW-Server MAC:  IP: 7.8.9.4

DNS: 4.4.4.4

Gateway:

7.8.9.9

Ziel Maske Gateway Schnittstelle1.2.3.1 9.9.9.0 1.2.3.9 1.2.3.93.3.3.1 9.9.9.0 3.3.3.1 3.3.3.14.5.6.1 9.9.9.0 3.3.3.2 3.3.3.18.8.8.1 9.9.9.0 3.3.3.3 3.3.3.11.1.1.1 0.0.0.0 3.3.3.3 3.3.3.1

Ziel Maske Gateway Schnittstelle4.5.6.1 9.9.9.0 4.5.6.9 4.5.6.93.3.3.1 9.9.9.0 3.3.3.2 3.3.3.21.2.3.1 9.9.9.0 3.3.3.1 3.3.3.28.8.8.1 9.9.9.0 3.3.3.3 3.3.3.21.1.1.1 0.0.0.0 3.3.3.3 3.3.3.2

Ziel Maske Gateway Schnittstelle3.3.3.1 9.9.9.0 3.3.3.3 3.3.3.38.8.8.1 9.9.9.0 8.8.8.1 8.8.8.11.2.3.1 9.9.9.0 1.2.3.9 3.3.3.34.5.6.1 9.9.9.0 4.5.6.9 3.3.3.37.8.9.1 9.9.9.0 7.8.9.9 8.8.8.11.1.1.1 0.0.0.0 8.8.8.9 8.8.8.1

Router A MAC:  IP: 1.2.3.9

3.3.3.1

Router B MAC:  IP: 4.5.6.9

3.3.3.2

Router C MAC:  IP: 3.3.3.3

8.8.8.1

Ziel Maske Gateway Schnittstelle8.8.8.1 9.9.9.0 8.8.8.2 8.8.8.27.8.9.1 9.9.9.0 7.8.9.9 7.8.9.93.3.3.1 9.9.9.0 8.8.8.1 8.8.8.21.1.1.1 0.0.0.0 8.8.8.1 8.8.8.2

Router D MAC:  IP: 8.8.8.2

7.8.9.9

IPvS(imple) Daten

HTTP-Request des Clients:GET /index.html HTTP/1.1 Host: www.beispiel.chDNS-Request des Clients:URL IPwww.beispiel.ch ?

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>

URL IPwww.beispiel.ch 7.8.9.4www.leo.org 9.8.7.6... ...

Lookup-liste auf DNS-Server:

ARP-Request

TCP-Header

IP Header

Ethernet Frame

Three-Way Handshake

IPvS(imple) Topologie

Client:1.2.3.4

1.2.3.93.3.3.1

3.3.3.24.5.6.9

3.3.3.38.8.8.1

8.8.8.27.8.9.9

DNS-Server:4.5.6.4

WWW-Server:7.8.9.4

Ausprobieren: 1. http://www3.rad.com/networks/2005/clieserv/ClieServ.swf 2. WIKI: TCP_IP_Applet.zip entpacken startApplet.html öffnen

Übersicht

Der Reihe nach:

Ein Benutzer gibt in der Adressleiste des Browsers eine URL an – und dann ...

... stellt der Browser einen http-Request und gibt ihn an das Betriebssystem weiter, dann ...

DNS (Domain Name Service) – auch ein Dienst des Internet

Client (z.B. Browser, via Betriebssystem)... stellt DNS-Anfrage

Router Router

... leiten die Informations-pakete von einem Subnetz ins nächste weiter

http://www.dnstools.ch/visual-traceroute.html

DNS (Domain Name Service) – auch ein Dienst des Internet

Client (z.B. Browser, via Betriebssystem)... empfängt Antwort

DNS Server... löst URL in eine IP-Nummer auf (muss dafür evtl. andere DNS-Server konsultieren)

Http-Request

Client (z.B. Browser via Betriebssystem)... schickt HTTP-Anfrage los (nach IP)

Router Router

... leiten die Informations-pakete von einem Subnetz ins nächste weiter

http://www.dnstools.ch/visual-traceroute.html

Client und Server kommunizieren über das vereinbarte Protokoll (HTTP), ...

Client (Betriebssystem)... sammelt TCP-Packete (Browser) stellt HTML- Seite dar

WWW Server... empfängt die Anfrage, verifiziert den Client, schickt HTML-Reply an Client

http://www3.rad.com/networks/2005/clieserv/ClieServ.swf

Eine Webseite ist also ein HTML-Dokument Wir haben jetzt gesehen, wie diese HTML-

Datei vom Server (=Host) zum Client (=mein Computer) kommt

Erst jetzt fängt die eigentliche Arbeit des Browsers an: er muss die HTML-Datei lesen und auf dem

Bildschirm darstellen das ist gar nicht so einfach, denn die HTML-Datei

enthält meist nur das Grundgerüst der Seite (und den Text)

bevor die Seite angezeigt wird, müssen meist noch weitere Dateien (z.B. Bilder) vom Server geholt werden

und weil der Browser manche Inhalte nicht selbst versteht, muss er ggf. andere Programme (plug-ins) um Hilfe bitten

HTML, die Sprache des Internet“Die Hypertext Markup Language [..] ist eine textbasierte Auszeichnungssprache zur Strukturierung von Inhalten wie Texten, Bildern und Hyperlinks in Dokumenten.”

Wikipedia, Hypertext Markup Language, (23.8.2010), http://de.wikipedia.org/wiki/Hypertext_Markup_Language

Die “Auszeichnung” (Markup) geschieht durch Tags, welche die ausgezeichneten Elemente einschliessenz.B.:

<i>Hallo</i> Hallo

Grundgerüst

<!DOCTYPE ... ><html> <head> ... </head> <body> ... </body></html>

Reines Textdokument: z.B. mit dem Windows Notepad erstellt

Dateiendung nicht .txt sondern .html

Lässt sich mit Browser öffnen. Dieser interpretiert die HTML-Elemente und stellt die Seite dar.

HTML-Elemente Werden gekennzeichnet durch Tag:

<tagname> Die meisten HTML-Elemente benötigen

schliessende Tags: </tagname> Verschachtelung möglich:

<tag1>...<tag2>...</tag2>...</tag1> <tag1>...<tag2>...</tag1>...</tag2>

Aber gemäss definierten Regeln

Übliche Tags im Body-Element

Paragraph:<p>...</p>

Zeilenumbruch:<br />

Bereich:<span>...</span>

Überschriften:<h1>...</h1><h2>...</h2>

Tabellen:<table> <tr> <td>...</td> <td>...</td> </tr> <tr> <td>...</td> <td>...</td> </tr></table>

Tags im Body mit Attributen

Bild:<img src="bild.jpg" alt="Bild“ />

Link:<a href="http://www.sbb.ch">...</a>

<a href=“kontakt.html">...</a>

...

absoluter Pfad, startet bei www

relativer Pfad, startet „hier“ (wo die Datei liegt, in der dieser Code

steht)

„bild.jpg“ = relativer Pfad

HTML-Elemente

<!DOCTYPE ... ><html> <head> <title> Tolle Seite </title> ... </head> <body> ... </body></html>

Der Browser schreibt “Tolle Seite” in die Titelleiste des Fensters, in dem die Seite angezeigt wird

HTML-Elemente

<!DOCTYPE ... ><html> <head> ... </head> <body> <h1>Hallo</h1> Ich grüsse <b>dich</b>

... </body></html>

Der Browser schreibt “Hallo” in das Fensters und formatiert dieses Wort als grosse Überschrift.

Der Browser schreibt “Ich grüsse dich” unter die Überschrift, in normaler Schriftart und –grösse, “dich” in fetter Schrift

HTML-Elemente

<!DOCTYPE ... ><html> <head> ... </head> <body> <img src="bild.jpg" alt="Bild“ /> ... </body></html>

Der Browser fragt beim Server nach der Datei “bild.jpg”, die sich im selben Ordner wie die HTML-Datei befinden soll

Falls das Bild gefunden wird, stellt der Browser es auf der Seite dar – andernfalls schreibt er, dass “Bild” nicht gefunden wurde

HTML-Elemente

<!DOCTYPE ... ><html> <head> ... </head> <body> <embed src="meinFlashFilm.swf” type="application/x-shockwave-flash"> </embed> ... </body></html>

Da Der Browser mit .swf-Dateien nichts anfangen kann, sucht er nach einem Flash-plugin, und überlässt diesem die Darstellung des Videos

Der Browser fragt beim Server nach der Datei “meinFlashFilm.swf”, die sich im selben Ordner wie die HTML-Datei befinden soll

Aufgabe Bild und Link Erstelle eine kleine HTML-Webseite:

Überschrift Text 2-3 Bilder Eine kleine Tabelle Einige passende Links

Lokal abspeichern und im Browser betrachten

Links: http://www.w3schools.com/tags/default.asp http://de.selfhtml.org/html/index.htm

<html> <head> ... </head> <body> ... </body></html>

HTML & CSS

HTML = Struktur & Inhalt

CSS = Darstellung, Layout

z.B. Text Bilder Links Überschriften CSS-Hooks

z.B. Farben Ränder Abstände Positionierung (Bilder)

HTML-CSS

<!DOCTYPE ... ><html> <head> <link rel="stylesheet" href="meinCSS.css" type="text/css" /> </head> <body> <h1>Hallo</h1> ... </body></html>

Der Browser fragt beim Server nach der Datei “meinCSS.css”, und bekommt diese:

Bevor er die grosse Überschrift darstellt, schaut der Browser in “meinCSS.css” nach, ob hier ein bestimmtes Aussehen für h1-Elemente definiert ist – es ist, also wird “Hallo” orange und fett dargestellt

h1 { color: orange; font-weight: bold;}

HTML-CSS<!DOCTYPE ... ><html> <head> <link rel="stylesheet" href="meinCSS.css" type="text/css" />

</head> <body> <div id="nav">

<ul> <li><a

href="home.html">Home</a></li> <li><a

href="about.html">About</a></li> <li><a

href="contact.html">Contact</a></li> </ul>

</div> </body></html>

Noch immer wird “meinCSS.css” benutzt:

Wenn der Browser sieht, dass dieser ganze Abschnitt (div) die id “nav” hat, schaut er in “meinCSS.css” nach, was das für die Darstellung bedeutet – in diesem Fall, dass der Abschnitt mit den drei Links die rechten 60% der Seite einnehmen soll

...#nav { width: 60%; float: right;}...

HTML & CSS Prinzip:

Inhalt & Darstellung voneinander trennen Vorteile:

man muss das Aussehen von Elementen (z.B. h1-Überschriften) nur 1 Mal angeben

man kann übliche Layouts (z.B. Navigationsleiste) besser umsetzen als direkt in HTML – hier geht es nur mit Tabellen

man kann dieselben Styles (=CSS-Datei) für alle Unterseiten verwenden

man kann das gesamte Layout einfach verändern

Wenn HTML nicht ausreicht...

Client side (plugins) JavaScript Flash ....

Server side PhP (Datenbanken) Perl ...

Zeita

chse

kann mySQL Anfragen beantworten und Daten dauerhaft speichern, kümmert sich um die Verwaltung der Daten

WWW genauer

WWW-Server

Browser

Datenbank Server

ServerClient

weiss, wie man WWW-Server findet, versteht HTML (+ Formulare) & CSS, kümmert sich um die Darstellung, kann Parameter übergeben (POST/GET)

Browser

Browser

WWW-Server

WWW-Server

ServerClient

weiss, wie man mit Datenbank Server spricht, kann Parameter auswerten und PHP verarbeiten, gibt Code an Browser weiter

statische Webseitendynamische Webseiten

Dateien, PHP mySQL

1. Http-Request an URL

2. Dateien schicken

3. ggf. Bilder nachladen

Statische Webseiten

Server:Stellt Dateien bereit (HTML, CSS, JavaScript, Bilder,...)

Client/Browser:Erfragt Dateien und stellt sie dar, ggf. neue Anfrage bei Klick auf Hyperlink

Dynamik mit JavaScriptWenn Ereignis eintritt (z.B. Benutzer fährt mit Maus über ein Bild)...

... dann rechnet der Browser mithilfe der bereits heruntergeladenen JavaScript-Dateien aus, wie sich die dargestellte Webseite verändert

Client/Browser:interpretiert JavaScript Programme

4. neuer Request an URL

(ggf. mit Übergabewerten)

5. schickt neu berechnete Seite

zurück

Dynamik mit PHP

Server:Führt PHP-Scripts aus, schickt Ergebnisse zurück

Client/Browser:Stellt neue Anfragen und übergibt vom Benutzer eingegebene Werte

Persistenz mit PHP

Datenbank-Server:Beantwortet Anfragen des PHP-Scripts (erstellen, ändern und löschen von Datensätzen) und speichert die Daten dauerhaft

4. neuer Request an URL

(ggf. mit Übergabewerten)

6. schickt neu berechnete Seite

zurück

5a) erfragt Daten

5b) gibt Daten

zurück

Zeita

chse

kann mySQL Anfragen beantworten und Daten dauerhaft (= Persistenz) speichern, kümmert sich um die Verwaltung der Daten

WWW-Server

Browser

Datenbank Server

ServerClient

weiss, wie man WWW-Server findet, versteht HTML & CSS (und JavaScript), kümmert sich um die Darstellung, kann Parameter übergeben (POST/GET)

Browser

Browser

WWW-Server

WWW-Server

ServerClient

weiss, wie man mit Datenbank Server spricht, kann Parameter auswerten und PHP verarbeiten, gibt HTML-Code an Browser weiter

statische Webseitendynamische Webseiten

HTML-Dateien, PHP,

(CSS, JavaScript)mySQL

JavaScript

Auf einen Blick: