Algorithmen des Internets Sommersemester Vorlesung

Slides:



Advertisements
Ähnliche Präsentationen
Powerpoint-Präsentation
Advertisements

Christian Schindelhauer
Christian Schindelhauer
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Ein Streifzug durch das INTERNET G. Hege und W. Moritz OSA Stuttgart.
Inhalt – Technische Grundlagen
2 Kommunikationssysteme bieten Kommunikationsdienste an, die das Senden und Empfangen von Nachrichten erlauben (sending & receiving messages) bestehen.
Einführung in Berechenbarkeit und Formale Sprachen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Vorlesung.
HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
An's Netz An's Netz An's.
Geschichte und Funktion des Internets.
Rechneraufbau & Rechnerstrukturen, Folie 14.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 14.
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Offene Systeme, Rechnernetze und das Internet
Internet und seine Dienste
Netze Vorlesung 11 Peter B. Ladkin
Christian Schindelhauer
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets Sommersemester Vorlesung Christian.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Christian Schindelhauer
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Martin MauveUniversität Mannheim1 3.6 User Datagram Protocol (UDP) RFC 768. J. Postel. User Datagram Protocol unzuverlässiges Transportprotokoll.
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.
Internet-Protokolle Tanja Witze.
Christian Schindelhauer Sommersemester Vorlesung
Multimedia-Anwendungen und Routing
Internet - Grundkurs - Einführung1 Inhalte Einführung in das Internet Zugang zum Internet Wie funktioniert das Internet? Das Programmpaket Internet Explorer.
Das Internet.
Peer-to-Peer-Netzwerke
DFÜ => Daten-Fern-Übertragung
Referent: Kiron Mirdha Betreuer: Rene Hilden Juli 2012
Geschichte des Internet
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Grundlagen der Netzwerktechnik
Abgeleitet aus dem OSI-Referenzmodell sieben Schichten
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
Netzwerke.
Unterschiedliche Netzwerke
Meldungen über Ethernet mit FINS/UDP
Peer-to-Peer-Netzwerke
Peer-to-Peer-Netzwerke
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Christian Schindelhauer Sommersemester Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Systeme II Christian Schindelhauer Sommersemester 2007
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Systeme II Christian Schindelhauer Sommersemester 2007
Provider und Dienste im Internet
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
TCP/IP.
Schutzvermerk nach DIN 34 beachten TCP / IP. Schutzvermerk nach DIN 34 beachten TCP / IP und das OSI-Referenzmodell Process / Application Host-to-Host.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 1 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
Lisa Huber DHBW Mannheim
LINUX II Harald Wegscheider
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
ISO / OSI Referenzmodell
Netzwerke Netzwerkgrundlagen.
 Präsentation transkript:

Algorithmen des Internets Sommersemester 2005 11.04.2005 1. Vorlesung Christian Schindelhauer schindel@upb.de

Überblick Organisation Termine Unterlagen Prüfung Übung, Literatur und Sprechstunde Das Internet: Einführung und Überblick TCP/IP, Das Web Mathematische Grundlagen IP: Routing im Internet TCP: Das Transport-Protokoll des Internets Die Struktur des World Wide Web und des Internets Suche im Web Web-Caching im Internet Peer-to-peer-Netzwerke Angriffe auf das Internet Jetzt Heute

Termine Vorlesung jeden Montag 16-18 Uhr (c.t.), Raum F0.530 Übung Gruppe A: Mo 15-16, FU.116 (Stefan Rührup) Gruppe B: Mo 18-19, F0.530 (Christian Schindelhauer) Start: Mo, 18.04.1005 Übungsblätter online verfügbar ab dem Dienstag vor der Übung Anmeldung zur Übung im Verlauf dieser Woche über StudInfo zum Vorrechnen spätestens am Freitag vor der Übung (online über StudInfo)

Unterlagen Webseite der Veranstaltung http://wwwcs.uni-paderborn.de/cs/ag-madh/WWW/Teaching/2005SS/internetALG/ enthält alle vorlesungs- und übungsrelevanten Themen, Vorlesungsfolien online zur Veranstaltung als Powerpoint und PDF-Dokument Skript erscheint innerhalb einer Woche als PDF-Dokument ist Grundlage der Prüfung Übungsaufgaben erscheinen online am Dienstag auf der Web-Seite sind Grundlage der Prüfung Lösungen für die Übungsaufgaben gibt es nicht (von uns)

Prüfung(en) Es gibt zwei Prüfungen: schriftliche Prüfung am 30.05.2005 Vier Aufgaben über den ersten Teil in 60 Minuten Bei aktiver Beteiligung an der Übung (≥1 Aufgabe(n) gelöst) Bewertung der besten drei der vier Aufgaben mündliche Prüfung am 25.06.2005 oder 29.08.2005 Dauer 25 Minuten (für DPO 4 und Master-Studiengang Informatik) Bei Bestehen der ersten Prüfung: Prüfung über den zweiten Teil der Vorlesung Sonst (oder falls gewünscht): Prüfung über die gesamte Vorlesung Fall keine aktive Beteiligung an der Übung (≥2 Aufgaben gelöst) Lösen einer Aufgabe eine Stunde vor der Prüfung “Aktive Beteiligung” Aufgabe vorrechnen (Reservierung online möglich) Schriftliche Abgabe und Testat

Übung, Literatur und Sprechstunde Zweck Beantwortung von Fragen zur Vorlesung Präsentation (und Testierung) studentischer Lösungen Aufgabenstellungen hauptsächlich aus dem Gebiet der Algorithmen und Mathematik Einteilung (über StudInfo{flex}) Gruppe A: Stefan Rührup, Mo 15-16 Uhr, FU.116 Gruppe B: Christian Schindelhauer, Mo 18-19 Uhr, F0.530 Literatur W. Richard Stevens, TCP/IP Illustrated Volume I, Addison-Wesley, 1996 (ergänzend) Weitere Literatur wird bekannt gegeben Sprechstunde nach Vereinbarung (schindel@upb.de, Tel.: 05251-60-6692)

Überblick Organisation Termine Unterlagen Prüfung Übung, Literatur und Sprechstunde Das Internet: Einführung und Überblick TCP/IP, Das Web Mathematische Grundlagen IP: Routing im Internet TCP: Das Transport-Protokoll des Internets Die Struktur des World Wide Web und des Internets Suche im Web Web-Caching im Internet Peer-to-peer-Netzwerke Angriffe auf das Internet Jetzt Heute

Das Internet ist das weltweite, offene WAN (wide area network) ist systemunabhängig verbindet LANs (local area networks) hat keine zentrale Kontrolle ist nicht das World Wide Web (WWW)

Die Geschichte des Internets 1961: Packet Switching Theory Leonard Kleinrock, MIT, “Information Flow in Communication Nets” 1962: Konzept des “Galactic Network” J.C.R. Licklider and W. Clark, MIT, “On-Line Man Computer Communication” 1965: Erster Vorläufer des Internet Analoge Modem-Verbindung zwischen zwei Rechnern in den USA Zwischen MIT Lincoln Lab (Calif., USA) und ARPA (Mass., USA) 1967: Konzept des “ARPANET” Entwurfspapier von Larry Roberts 1969: Erster Knoten im “ARPANET” an der UCLA (Los Angelos) Ende 1969: vier Rechner verbunde Originaldiagramme des “Ur-Internets”

Netzwerke offen für alle Architekturen Konzepte von Robert Kahn (DARPA 1972) Jedes (lokale) Netzwerk ist autonom arbeitet für sich muss nicht gesondert konfiguriert werden für das WAN Kommunikation nach “best effort” schafft es ein Paket nicht zum Ziel, wird es gelöscht es wird von der Anwendung wohl wieder verschickt weden Black Box Ansatz für Verbindungen Black Boxes später umgetauft in Gateways und Routers Paketinformation werden nicht aufbewahrt keine Flußkontrolle Keine globale Kontrolle Das sind die Grundprinzipen des Internet

TCP: Flusskontrolle Aus der Kooperation zwischen Vint Cerf und Robert Kahn (1973) ergaben sich folgende grundlegende Ansätze Kommunikation zwischen Prozessen auf Rechnern sind Byte-Ströme Flusskontrolle durch gleitende Fenster (sliding windows) Bestätigungen (acknowledgments) Parameter der Flusskontrolle werden zwischen Quelle und Ziel ausgehandelt Anfangs war dies unspezifiert

Die Schichtung des Internets TCP/IP-Layer Anwendung Application Telnet, FTP, HTTP, SMTP (E-Mail), ... Transport TCP (Transmission Control Protocol) UDP (User Datagram Protocol) Netzwerk Network IP (Internet Protocol) + ICMP (Internet Control Message Protocol) + IGMP (Internet Group Management Protoccol) Verbindung Link LAN (z.B. Ethernet, Token Ring etc.)

Beispiel der Schichtung

Anwendungsschicht (application layer) Anwendungen (z.B WWW, E-Mail, Telnet, FTP) erzeugen Kommunikationsverbindungen zwischen zwei Rechnern im Netzwerk Anforderungen an Kommunikation: Verbindungen sind bidirektional (oftmals Client-Server) Datenmenge kann variieren Die gegenläufigen Datenströme sind meist abhängig Fehlerfreie Übermittlung der Datenströme wird vorausgesetzt Kein Abbruch bei Verbindungspausen Kommunikation wird auf Transportschicht delegiert

Transportschicht (transport layer) TCP (transmission control protocol) Erzeugt zuverlässigen Datenfluß zwischen zwei Rechnern Unterteilt Datenströme aus Anwendungsschicht in Pakete Gegenseite schickt Empfangsbestätigungen (Acknowledgments) UDP (user datagram protocol) Einfacher unzuverlässiger Dienst zum Versand von einzelnen Päckchen Wandelt Eingabe in ein Datagramm um Anwendungsschicht bestimmt Paketgröße Versand durch Netzwerkschicht Kein Routing: End-to-End-Protokolle

TCP (I) TCP ist ein verbindungsorientierter, zuverlässiger Dienst für bidirektionale Byteströme TCP ist verbindungsorientiert Zwei Parteien identifiziert durch Socket: IP-Adresse und Port (TCP-Verbindung eindeutig identifiziert durch Socketpaar) Kein Broadcast oder Multicast Verbindungsaufbau und Ende notwendig Solange Verbindung nicht (ordentlich) beendet, ist Verbindung noch aktiv

TCP (II) TCP ist ein verbindungsorientierter, zuverlässiger Dienst für bidirektionale Byteströme TCP ist zuverlässig Jedes Datenpaket wird bestätigt (acknowledgment) Erneutes Senden von unbestätigten Datenpakete Checksum für TCP-Header und Daten TCP nummeriert Pakete und sortiert beim Empfänger Löscht duplizierte Pakete

TCP (III) TCP ist ein verbindungsorientierter, zuverlässiger Dienst für bidirektionale Byteströme TCP ist ein Dienst für bidirektionale Byteströme Daten sind zwei gegenläufige Folgen aus einzelnen Bytes (=8 Bits) Inhalt wird nicht interpretiert Zeitverhalten der Datenfolgen kann verändert werden Versucht zeitnahe Auslieferung jedes einzelnen Datenbytes Versucht Übertragungsmedium effizient zu nutzen = wenig Pakete

Netzwerkschicht (I) (network layer) IP (Internet Protocol) + Hilfsprotokolle ICMP (Internet Control Management Protocol) IGMP (Internet Group Management Protocol) Ermöglicht Verbund von (lokalen) Netzwerken IP ist ein unzuverlässiger verbindungsloser Datagrammauslieferungsdienst Datagramm besteht aus Anwendungsdaten und Header: Absender, Zieladresse TOS-Feld (type of service) TTL-Feld (time to live) ... (z.B. Paketlänge, Checksum für Header)

IPv4-Header (RFC 791) Version: 4 = IPv4 IHL: Headerlänge in 32 Bit-Wörter (>5) Type of Service Checksum (nur für IP-Header) Time to Live: maximale Anzahl Hops Protocol, identifiziert passendes Protokoll Z.B. TCP, UDP, ICMP, IGMP Source and destination IP-address 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | | Identification |Flags| Fragment Offset | | Time to Live | Protocol | Header Checksum | | Source Address | | Destination Address | | Options | Padding |

Netzwerkschicht (II) (network layer) IP ist ein Datagrammauslieferungsdienst Soweit möglich direkte Übergabe von Sender zu Empfänger Sonst: Hop-Routing über Router IP ist unzuverlässig Fehlerbehandlung: Falls Problem beim Routing: Lösche Datagramm Schicke Fehlermeldung durch ICMP an Absender Falls Problem beim Routing von ICMP-Fehlermeldung Lösche Fehlermeldungspaket Keine Redundanz vorgesehen TTL-Feld begrenzt Anzahl der Hops eines Datagramms

IP-Adressen und Domain Name System (DNS) Jedes Interface in einem Netzwerk hat weltweit eindeutige IP-Adresse 32 Bits unterteilt in Net-ID und Host-ID Net-ID vergeben durch Internet Network Information Center Host-ID durch lokale Netzwerkadministration Domain Name System (DNS) Ersetzt IP-Adressen wie z.B. 131.234.22.29 durch Namen wie z.B. stargate.uni-paderborn.de und umgekehrt Verteilte robuste Datenbank

Routing im Internet durch IP Routing-Prinzip für Datagramm im Router: Falls Ziel = eigene ID, dann Übergabe an Transportschicht Ansonsten falls Ziel-Netz = lokales Netz, dann verschicke Datagramm direkt an Zielrechner Ansonsten suche gemäß Ziel-IP-Adresse den nächsten Router aus lokaler Routingtabelle und sende Datagramm zum nächsten Router Unterhalt von Routingtabellen manuell (LAN) oder automatisch durch RIP (Routing Information Protocol), OSPF (Open Shortest Path First) ... siehe nächste Woche

Verbindungsschicht (link layer) Schnittstelle zu lokalem Netzwerk wie z.B. Ethernet, oder Token Ring Umwandlung von IP-Adressen in lokale Netzwerkadressen durch ARP (Address Resolution Protocol) RARP (Reverse Address Resolution Protocol) Evtl. Unterteilung der Datagramme in noch kleinere Pakete

Beispiel zum Zusammenspiel

Datenkapselung

Das World Wide Web Hypertext-Konzept Vorläufer: Xanada, Ted Nelson, Vannevar Bush Entstand 1989 als Projekt am CERN (Genf) Hypertext-System von Tim Berners-Lee Standards HTTP (Hypertext Transfer Protocol) Information Anfordern von Web-Server durch Web-Browser HTML (Hyptertext Markup Language) Dokumentbeschreibungssprache URL (Uniform Resource Locator) Eindeutige Adresse einer Ressource für Hyperlinks Spätere Standards Cascading Style Sheets (CSS) JavaScript, Hypertext Transfer Protocol Secure (HTTPS)

Überblick Organisation Termine Unterlagen Prüfung Übung, Literatur und Sprechstunde Das Internet: Einführung und Überblick TCP/IP, Das Web Mathematische Grundlagen IP: Routing im Internet TCP: Das Transport-Protokoll des Internets Die Struktur des World Wide Web und des Internets Suche im Web Web-Caching im Internet Peer-to-peer-Netzwerke Angriffe auf das Internet Jetzt

Grundlagen Aus diesen Teilbereichen werden allgemeine Grundlagen vorausgesetzt: Algebra Analysis Kombinatorik Wahrscheinlichkeitstheorie Algorithmen Graphtheorie Typische Lücken (die in Prüfungen negativ auffielen) werden hier jetzt kurz aufgeführt.

Algebra Gesetze des Logarithmus, z.B. Potenzgesetze

Summen Geometrische Reihe Polynomielle Reihen

Logik und Wahrscheinlichkeitstheorie Formale Logik Prädikatenlogik Quantoren z.B. DeMorgansche Regel Wahrscheinlichkeitstheorie Wahrscheinlichkeiten Erwartungswert Varianz Markov-Ungleichung Chebyshev-Ungleichung

Wahrscheinlichkeitstheorie Diskrete Wahrscheinlichkeitsverteilungen Gleichverteilung für n Werte Binomialverteilung Poisson-Verteilung, für ein λ Grenzwert der Binomialverteilung Geometrische Verteilung

Asymptotik ae: Fast immer almost everywhere io: Unendlich häufig infinetly often O, o, Θ, Ω, ω-Notation

Nützliche (Un)-Gleichungen Exponentialfunktion Eulersche Zahl Stirlingsche Formel

Graphtheorie Definition: ungerichteter Graph gerichteter Graph Graphalgorithmen Tiefensuche Breitensuche Grapheigenschaften schwache/starke Zusammenhangskomponenten Eingrad, Ausgrad, Durchmesser Cliquen Spezielle Graphen Vollständiger Graph Bipartite Graphen Bäume

Algorithmen Sortier-Algorithmen Bucket-Sort, Quick-Sort, Heap-Sort, Radix-Sort Hash-Tabellen Binäre Suche Suchbäume Skiplisten höhenbalancierte/gewichtsbalancierte Bäume Komplexitätsklassen P und NP

Vielen Dank. Ende der 1. Vorlesung Nächste Vorlesung:. Mo. 18. 04 Vielen Dank! Ende der 1. Vorlesung Nächste Vorlesung: Mo. 18.04.2005 Nächste Übung: Mo. 18.04.2005 Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 66 92 Fax: 0 52 51/62 64 82 E-Mail: schindel@upb.de http://www.upb.de/cs/schindel.html