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 Internet- und Intranetservern sowie über Protokolle der höheren Schichten zu vermitteln. Weiterhin werden Sicherheitmaßnahmen zum Schutz der Server und Grundlagen der Planung, Lastberechnung, Lastmessung und Serverstatistik behandelt.

Inhalt

1 Vorkenntnisse

  1. Vorausgesetzt werden 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
  7. Höhere Protokolle
  8. Netzwerkkonfiguration

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 Standard-Server

Aufbau, Installation, Konfiguration anhand einiger Beispielserver;
mehr dazu findet sich in der Begleitliteratur:
Linux-Server für Intranet- und Internet).
  1. HTTP-Server
    1. Administration eines Apache Servers
    2. Webserver Apache
  2. FTP-Server
    1. Administration des ProFTPD
    2. Anlegen des Anonymous-Users
    3. FTP-Server ProFTPD
  3. DNS-Server
    1. DNS-Server einrichten und abfragen
    2. DNS-Server BIND
  4. Proxy und Proxy-Cache
    1. Proxy-Grundlagen
    2. Proxy und Proxy-Cache SQUID

6 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 Die Last mit der Serverlast

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. Hochverfügbarkeit
  6. Lastverteilung

8 Sicherheit

Nahezu jeder Rechner mit Verbindung zum Internet ist ständigen Angriffen
ausgesetzt. Dies Kapitel reißt an, wie man Server "abhärtet".
  1. Allgemeines
  2. System härten
  3. Sicherheits-Tools
  4. Skript Netzwerk-Sicherheit

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)

Download des gesamten Skripts (ohne Perl)


Copyright © FH München, FB 04, Prof. Jürgen Plate
Letzte Aktualisierung: 07. Oct 2004