Neues (Vorab-)Skript:
http://www.peter.gerwinski.de/download/net-2012ss.tar.gz
http://www.peter.gerwinski.de/download/net-20120522.txt

TCP/IP: Motivation
~~~~~~~~~~~~~~~~~~
 - Daten ber weite Strecken austauschen
   US-Verteidigungsministerium
   US-Hochschulen
 - "Soll einen Atomkrieg berstehen"
   mglichst robust
   mglichst dezentral
 - Design-berlegung: verbindungsorientiert oder verbindungslos?
   --> verbindungslos
   verbindungsorientiert: Telefon
   Verbindung wird aufgebaut, besteht (wird reserviert), wird abgebaut
   verbindungslos: Internet
   Nachricht wird in Pakete unterteilt,
   jedes Paket "sucht sich seinen Weg selbst"
 - Problem der Heterogenitt lsen: verschiedene Netze mssen zusammenarbeiten
   Lsung: Internet Protocol (IP)
   
   Tanenbaum:
     "Die Frage, ob der heutige berflu an Netzarten vorbergehender Natur ist
     und verschwindet, sobald alle gemerkt haben, wie wundervoll [tragen Sie
     hier Ihr bevorzugtes Netz ein! *TCP/IP*] ist, [...], ist Gegenstand
     heftiger Kontroversen. [...]
     Wir glauben an den Fortbestand verschiedener Netze [...] aus folgenden
     Grnden: [ca. 2/3 einer Buchseite]"

   Mit anderen Worten: "TCP/IP wird SNA, ATM, IPX, NetBEUI, Appletalk
   und X.233 niemals [vollstndig] ersetzen."

   Realitt: TCP/IP hat alle anderen Netzwerkprotokolle nahezu vollstndig ersetzt.

   --> Problem wurde gelst durch
       verschiedene Netzwerkzugnge fr TCP/IP

  - Warum hat sich gerade TCP/IP durchgesetzt?
     - von Technikern fr Techniker
     - offener Proze: "Request For Comments" (RFC)
       als Diskussions- und Dokumentationsplattform
     - insbesondere: offener Standardisierungsproze
       Experimental, Proposed Standard, Draft Standard, Internet Standard
       hchste Stufe: erfordert mindestens zwei unabhngige, interoperable
       Implementierungen
       --> technisches Ziel, nicht Gewinnoptimierung
    Hier sieht man, was Ingenieure leisten knnen, wenn man sie lt.

    Tanenbaum, S. 473: 10 Prinzipien

Zugnge zum Internet (OSI-Schicht 1 und 2)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wie bekomme ich ein Interface, dem ich eine IP-Adresse geben kann?
 - Ethernet
 - WLAN
 - RS-232 mit Zusatz: PPP
 - Bluetooth mit Zusatz: RS-232-Emulation und PPP, PAN
 - PPP ber Programm, speziell: PPPoE
 - USB (spezielles Gert oder spezielles Kabel)
 - FireWire

RS-232: gekreuztes Kabel ("Null-Modem")

    PC  ~~~~~~~~~\ /~~~~~~~~~  PC
        _________/ \_________


    PC  _________|~~~~~|       |~~~~~|_________  PC
                 |Modem|~~\ /~~|Modem|         
        ~~~~~~~~~|_____|__/ \__|_____|~~~~~~~~~


PPP ber Schnittstelle, z.B. /dev/ttyS0 auf Rechner A, /dev/ttyS3 auf Rechner B

  Auf Rechner A:
  pppd /dev/ttyS0 192.168.42.1:192.168.42.2 debug nodetach noauth

  Auf Rechner B:
  pppd /dev/ttyS3 passive debug nodetach noauth

 - <IP>:<IP>   IP-Adressen zuweisen (erste: eigener Rechner, zweite: fr Partner)
 - passive     auf IP-Adressen-Zuweisung warten
 - noauth      auf Passwrter o.. verzichten
 - debug       Debug-Informationen ausgeben
 - nodetach    nicht in den Hintergrund gehen

  Siehe auch: man pppd

Bluetooth

 - hciconfig                         Bluetooth-Schnittstellen anzeigen
 - hciconfig hci0 up                 Bluetooth-Schnittstelle hci0 in Betrieb nehmen
 - hciconfig hci0 piscan             Bluetooth-Schnittstelle hci0 suchbar machen
 - hcitool scan                      nach mglichen Partnern suchen
 - rfcomm -r listen 0 1              RS-232 emulieren (Server)
    -r                               "raw" - Rohdaten bertragen
    listen                           auf Verbindung der Gegenstelle warten
    0                                Gertedatei /dev/rfcomm0 nennen
    1                                Kanal 1 benutzen
 - rfcomm -r connect 0 <Adresse> 1   RS-232 emulieren (Client)
    -r                               "raw" - Rohdaten bertragen
    connect                          mit Gegenstelle verbinden
    0                                Gertedatei /dev/rfcomm0 nennen
    <Adresse>                        Bluetooth-"MAC"-Adresse der Gegenstelle
    1                                Kanal 1 benutzen

  Siehe auch: man hciconfig, man hcitool, man rfcomm

TCP/IP fr Bluetooth: PAN
 - pand --listen --role NAP          Server
 - pand --connect <Adresse>          Client
 - ifconfig bnep0                    Schnittstelle

PPP ber Programm, das Verbindung aufbaut
 - pppd pty "nc -l -p 1234" 192.168.44.17:192.168.44.18 noauth nodetach debug
 - pppd pty "nc <Rechner> 1234" passive nodetach noauth debug

speziell: PPPoE
 - echo "noauth" > /etc/ppp/pppoe-server-options
 - ifconfig eth1 up
 - pppoe-server -I eth1 -F -L 192.168.42.1 -R 192.168.42.2
 - pppd pty 'pppoe -I eth1' passive debug nodetach noauth

Praxisbung:
  Bauen Sie ein mglichst merkwrdiges (= heterogenes) Netz auf:
  Ethernet, WLAN, Bluetooth, RS-232, PPPoE, was auch immer.

Rtsel:

  DELL Inspiron 1545
  lsusb:
  ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
  hciconfig: zeigt nichts an

  PPPoE richtig eingegeben
  trotzdem: ... Generic Error ... client process ...
