Fundamentale Ideen der Informatik

Werbung
Fundamentale
Ideen der
Informatik
PH Weingarten • Sommersemester 2014
Paul Libbrecht • CC-BY
Vorlesung 6:
Netzwerübermittlung
Karte der Themen
Ziel der Vorlesung: zentrale
Themen der Informatik ergreifen:
• historisch
• prozedural
• gesellschaftlich
Programmverlauf
Netzwerk
Suche, Index
Verschlüsselung
Java Instruktionen
von Neumann Modell
Maschinelles Lernen
Datenstrukturen
Betriebsystem
Versionierung
Komplexität
Klassen & Instanzen
Komprimierung
Repräsentationen
Menü
• Idee: Paketnetzwerk
• Idee: Socket
• Netzwerkübermittlung
• Idee: Buffer
• Protokollen
• WebServer
Idee
Paketnetzwerk
Ein Netzwerk von Rechnern mit
Adressen und Routern die kleine
Datenpakete austausche können.
• Jede Knote kann
Pakete schicken
und empfangen
mit Adressen
From:
192.168.3.3
To:
212.23.23.1
• Routern sagen wohin:
•
zu rechts oder links
mit oder ohne Adressenübersetzung
• horizontal? alltag?
das Internet ist überall benützt
• Beschreibung/Repräsentationen:
Grafisch, Postsystem, Routingtabelle
• geschichte:
Vinton Cerf, ~1970: Arpanet
dann das klassischste TCP/IP
Fotoquelle: http://de.wikipedia.org/wiki/Vinton_G._Cerf
Paketnetzwerk:
Fundamentale Idee?
Idee: Socket
1 sur 1
28/05/14 23:09
• Problem: Packete kommen in der
falschen Ordnungsreihe
• Animation ⤤ von PBS’ Nerds 2.0.1 ⤤
• Ziel: wie ein Telefonanruf
Ein Paar von Kanälen zwischen zwei Netzwerkknoten
(A nach B, und B nach A), das Reihen von Bytes
austauschen erlaubt, heisst eine Socket.
Idee Socket:
Fundamental
1 sur 1
• horizontal: in fast jede
Internetverbindungen benutzt
• vertikal: als Telefonanruf, als Paar von
Röhre, als Filmreiehenabo
• zeit: imitiert RS232C
• (seit der 60er, siehe zB hier ⤤)
• leichter zu verarbeiten als Pakete
28/05/14 23:09
Praktisches: eine einfache
Netzwerkübermittlung
• in Paare, Projekt FundIdeen05-Netzwerk ⤤
• einer läuft das Server
• wählt die Datei, übermittelt die Adresse
• besser mit einer Textdatei
• Server startet und erwartet Clients
• der andere das Client
• Gibt die Adresse ein, prüft die empfagene Datei
• Client verbindet, Server schickt die Datei
zu Beobachten
• Byte pro Byte verarbeitet
• Wenn einer Debug und stoppt, wartet der andere
• Blocking Input-Output
• Problem damit?
• Sockets brauchen Speicher (jede Stufe)
• Wie testen, dass ein Socket noch offen ist?
• Protokolle zum Verbindungsmanagement
• eigentlich sollte Netzwerkwartezeit... zu anderen
Prozessen gegeben werden...
Ideee: Buffer
• Ich lese eine Menge
• soviel da ist, aber nur soviel ich kann
• ein Raum als Parameter... bitte füllen
• erlaubt volle Pakete ausgetauscht zu
werden
• wie eine Schubkarre, Korb, ...
(du füllst, ich warte)
Idee Buffer:
Fundamental?
• horizontal: in Industrien, im Postamt
• vertikal & Repräsentationen: als
Tabelle, Wartezimmer
• Zeit: Essenschlange seit...
Network Architecture
Stack: Http
web applications
resources encoding (html, js, …)
URLs
http queries
connection management (http/https)
TCP sockets
IP packets
Domain Name Servers
Network Architecture
Stack: RTSP
media applications (conferencing, video play…)
resources encoding (mp4, ...)
URLs
rtsp queries
protocol negotiation
UDP transport
TCP sockets
IP packets
Domain Name Servers
Visualize:
The Web Inspector
• open Chrome, Firefox,
or Safari
• request inspector
• open network/resources/
timeline
• view running connections
• here spiegel.de
Praktisches II:
Mini Webserver
• Klasse WebServer
• wie Server aber:
• hört das Header vom Client zu
• schickt ein (primitives) Header
• zum Testen mit Browser oder Telefon
• Achtung: sicherer auf dem selben Subnetz
Take Away
• Unser Internet: TCP/IP
• Packete => bis zu Sockets
• Einfaches Input / Output
mit Java Sockets
• das grosses Web? Nur ein Paar Regeln mehr!
danke schön
https://canvas.instructure.com/courses/851238
Herunterladen