Internet-Technologie

Prof. Jürgen Plate

Internet-Technologie

Any sufficiently advanced technology is indistinguishable from magic.
-- Arthur C. Clarke



Ziel der Vorlesung ist es, Kenntnisse über Aufbau, Funktionsweise und Programmierung von Netzwerkservern sowie über Protokolle der höheren Schichten zu vermitteln. Weiterhin werden dynamische Webseiten (Formulare, CGI) und der Zugriff auf Datenbanken behandelt.

Inhalt

1 Vorkenntnisse

  1. Wünschenswert sind Kenntnisse über die Funktionsweise von Computernetzen (LAN, WAN), insbesondere die Kapitel "Die TCP/IP-Protokolle" und "Höhere Protokolle" aus dem Skript "Computernetze".

  2. Grundlegende praktische Erfahrungen mit dem Betriebssystem UNIX/Linux, das die Basis der Serveranwendungen in der Vorlesung und in der Praxis darstellt. Zur Wiederholung und Einstimmung kann das Skript "Betriebssystem UNIX" herangezogen werden.

  3. Die Programmiersprache Perl wird für Beispiele verwendet, weil sich mit dieser C-ähnlichen Sprache in wenigen Zeilen exemplarische Server-, Client- und Testprogramme realisieren lassen. Daher sind Vorkenntnisse in dieser Sprache nötig. Sie sollten sich in Perl während der ersten Vorlesungswochen parallel zur Vorlesung einarbeiten, indem Sie die beiden ersten Kapitel des Perl-Skripts, Überblick über Perl und Einführung in Perl, durcharbeiten. Dies ist gewissermassen der erste Teil des Praktikums.

  4. Für die Programmierung von CGI-Anwendungen sind Grundkenntnisse in HTML erforderlich, um Formulare schreiben zu können. Die speziellen Formularelemente der Sprache werden hier knapp besprochen, allgemeine HTML-Kenntnisse bietet das HTML-Einsteiger-Skript.

2 Einführung und Standard-Tools

In diesem Kapitel werden einige notwendige Programme und
Konfigurationsdateien der Netzwerk-Funktionen von UNIX behandelt.
  1. Client und Server
  2. Ports - Eingänge für Server
  3. Dokumentation
  4. Standard-Tools
  5. Triviale Anfragen an höhere Protokolle
  6. Einfache Protokolle

3 Netzwerkprogrammierung

Hier werden die grundlegenden System-Calls zur Socket-Programmierung
(in C) und die Socket-Schnittstelle des TCP/IP-Netzes vorgestellt.
  1. Die Socket-Netzwerkschnittstelle
  2. Parallelität und Signale
  3. TCP/IP-Sockets: Die Funktionen
  4. Der Internet-Superserver
  5. Ein-/Ausgabe-Polling mit select()
  6. Erste Perl-Server und Clients

4 Client und Server programmieren

Die Porgammiersprache für die Vorlesung ist Perl. Dies Kapitel
behandelt die diversen Netzwerkfunktionen und -Module von Perl.
  1. Netzwerk-Funktionen in Perl
  2. Single-Thread-Server in Perl
  3. Multi-Thread-Server in Perl
  4. Perl-Clients für Standard-Dienste

5 CGI-Programmierung

Programmierung dynamischer Web-Applikationen in Perl
  1. CGI - Common Gateway Interface
  2. CGI-Beispiele
  3. Session-Tracking
  4. CGI-Upload
  5. CGI und geschützte Verzeichnisse
  6. Komplexes Beispiel: Steuern per Internet
  7. Wanzen in der Webseite

6 Datenbank-Programmierung

Programmierung dynamischer Web-Applikationen in Perl
  1. MySQL und Perl
  2. Übersicht Perl-Funktionen für MySQL

7 Lastmessung, Monitoring und Sicherheit

In diesem Kapitel wird die Auswertung der Logdateien behandelt
und gezeigt, was man bei höherer Serverbelastung unternehmen kann.
  1. Verzögerung und Verlust in paketvermittelten Netzen
  2. Serverstatistik
  3. Lastmessung (Benchmarks)
  4. Monitoring
  5. Sicherheit
  6. System härten
  7. Sicherheits-Tools

Anhang

  1. Perl-Beispielprogramme
  2. Prozesse und Signale in C
  3. UNIX-Socket-FAQ
  4. Portnummern
  5. Übungsaufgaben
  6. "Client-Server Applications" aus "The Perl Journal, Issue 15, Fall 1999
  7. Literatur und Linux-Links
  8. Formular zur Relais-Steuerung
  9. Sockets in Linux (Prof. R. Thomas)
  10. UNIX-Domain-Sockets in Linux (Prof. R. Thomas)
  11. INET-Sockets in Linux (Prof. R. Thomas)
  12. Fit in einem Tag für TCP/IP-Sockets (Fa. Wiesemann & Theis)

Download des gesamten Skripts (ohne Perl)


Copyright © FH München, FB 04, Prof. Jürgen Plate
Letzte Aktualisierung: 18. Apr 2012