INTERNET - Programmierung

1 Netzwerke: Grundlagen (Wiederholung GDVA)

1.1 Datentransport zwischen Computern



    Simplexbetrieb (Richtungsbetrieb)

Die ├ťbertragung der Daten (D├ť) erfolgt nur in einer Richtung. Beispiele: Radio, TV. Diese Art der D├ť besitzt in der EDV praktisch keine Bedeutung.

    Halbduplex (Wechselbetrieb)

Der Sender wird abwechselnd zum Empf├Ąnger und der Empf├Ąnger zum Sender. Die in dieser Betriebsart kommunizierenden Endger├Ąte m├╝ssen also synchronisiert zwischen Sende - und Empfangsbetrieb umschalten. Bei Endger├Ąten ├Ąlterer Bauart ist diese Betriebsart noch verbreitet.
Beispiele: Wechselsprechanlagen, CB - Funk, Gro├črechnerterminals.

    Vollduplex (Gegenbetrieb)
Senden und Empfangen ist gleichzeitig m├Âglich. Diese Betriebsweise ist bei modernen Daten├╝bertragungsverfahren ├╝blich.
Beispiele: Serielle D├ť zwischen zwei Rechnern, Datennetze, Telefon, usw.

    Zeitmultiplexverfahren: Bei digitaler ├ťbertragung k├Ânnen verschiedene Informationen
zeitlich ineinander verschachtelt werden.

1.2 Verschiedene ├ťbertragunsmedien


    Koaxialkabel
Ein Koaxialkabel besteht aus einem Leiterdraht, der in eine Kunststoffmasse eingebettet ist. Um diesen Kunststoff ist ein Drahtgeflecht gewickelt, das der Abschirmung des Innenleiters dient. Das Ganze ist zus├Ątzlich von einem Mantel umgeben. Koaxialkabel werden unter anderem als Verbindung zwischen Fernseher und Dachantenne verwendet. Eingesetzt werden diese Kabel beim "Thin" Ethernet, das wir auch hier in der HTL im Einsatz haben. Datentransferrate: 10MBit/s.

    Verdrillte Kupferkabel (Twisted Pair)
Verdrillte 2 - oder 4 - Drahtleitungen aus Kupfer sind das traditionelle ├ťbertragungsmedium der Fernmeldetechnik. Eingesetzt werden diese Kabel im Ethernet und in Token Ring Netzwerken der Firma IBM. Dabei werden innerhalb der Leiterpaare die Datenbits komplement├Ąr ├╝bertragen. Damit ist schon ein erster Schutz vor Daten├╝bertragungsfehlern und Leitungsst├Ârungen gegeben.
Datentransferrate: 10 MBit/s oder 100MBit/s.

    Glasfaserkabel


Verfahren: Die elektrischen Signale werden ├╝ber einen elektrooptischen Wandler (Elektroluminiszenzdioden = LED oder Laserdioden) in Lichtsignale umgesetzt und ├╝ber ein Glasfaserkabel ├╝bertragen. Am Ende des Kabels werden die Lichtsignale von einem optoelektrischen Wandler (Fotodiode) wieder in elektrische Signale zur├╝ckgewandelt.
Das Prinzip der ├ťbertragung beruht auf der totalen Reflexion. Eine optische Faser besteht aus zwei Regionen. Die innere Region, der Kern, hat eine h├Âhere Phasenbrechzahl als die ├Ąu├čere Region, der Mantel. Wird nun Licht in einem bestimmten Winkel in den Glaskern eingespeist, dann wird der Lichtstrahl aufgrund der unterschiedllichen Phasenbrechzahl an der Grenze zwischen Kern und Mantel vollst├Ąndig reflektiert. Durch diese totale Reflexion bewegt sich der Lichtstrahl innerhalb der Glasfaser fort.

Vorteile: - geringe Verluste bei der ├ťbertragung, d. h. gr├Â├čere Entfernungen m├Âglich
- hohe ├ťbertragungsgeschwindigkeiten (einige GBit/s, Monomode)
- sehr geringe St├Âranf├Ąlligkeit (immun gegen├╝ber elektromagnetischen Feldern)
- sehr hohe Abh├Ârsicherheit
- kleiner Durchmesser (gute Biegsamkeit, einfach zu verlegen)
- geringes Gewicht
- gro├če allgemeine Sicherheit (kein Funkenschlag m├Âglich, daher in explosionsgef├Ąhrdeten Gebieten einsetzbar)
Nachteile: - Stationsanschl├╝sse bringen Probleme (Energieverlust, optische Reflexionen)
- aufwendige Anschlu├čtechnik notwendig (AUI - Adapter)

    Richtfunk und Satelliten

Eine ├ťbertragung durch die Luft ist mit Hilfe von lnfrarotsendern, Laserstrahlen, Mikrowellen und Radiosendern m├Âglich.

Die Mobilfunknetze der Post ├╝bertragen die Daten mit elektromagnetischen Wellen. Wellenl├Ąnge x Frequenz = Lichtgeschwindigkeit.
Eine Richtstrecke muss vorhanden sein. Die unterschiedlichen Netze (C - Netz, D - Netz, GSM) liegen auf eigenen Frequenzbereichen.
Die Daten├╝bertragungssoftware der Vermittlungsrechner der Post m├╝ssen St├Ârungen bei der ├ťbertragung korrekt behandeln.

1.3 Synchronisation des Datentransports


Damit die vom Sender ├╝bermittelte Information von einem Empf├Ąnger wieder korrekt interpretiert werden kann, ist eine Synchronisation zwischen beiden notwendig. Die im folgenden dargestellten Verfahren unterscheiden sich im wesentlichen dadurch,

- wie diese Synchronisation, d. h. die Erzeugung eines Gleichlaufs zwischen Quelle (Sender) und Senke (Empf├Ąnger) hergestellt wird und
- wie lange dieser Gleichlauf anschlie├čend gesichert ist, bzw. in welchen Abst├Ąnden neu synchronisiert werden muss.

    Bei synchroner Daten├╝bertragung ist der Gleichlauf zwischen Sender und Empf├Ąnger ├╝ber eine l├Ąngere Zeitdauer, w├Ąhrend der ├ťbertragung einer ganzen Folge von Zeichen, gew├Ąhrleistet. Derartige Zeichenfolgen werden ├ťbertragungsbl├Âcke genannt. Die Synchronisation erfolgt durch ├ťbertragung spezieller Synchronisationszeichen. Danach beginnt die ├ťbertragung eines Blocks. Im allgemeinen ist ein Block durch Steuerzeichen begrenzt (z. B. STX - Start of Text, ETX - End of Text) und durch ein oder mehrere Pr├╝fsummenbytes abgesichert.
Vorteil: Bessere Leitungsausnutzung, weil der Nutzdatenanteil gr├Â├čer ist
Nachteil: H├Âhere Anforderungen an Sender und Empf├Ąnger

    Bei asynchroner Daten├╝bertragung, auch Start - Stop - Verfahren genannt, ist eine zeichenorientierte ├ťbertragungsart, bei der die Synchronisation zwischen Sender und Empf├Ąnger am Anfang und am Ende jedes ├╝bertragenen Zeichens mittels Start und Stopbits hergestellt wird. Die Zeitabst├Ąnde zwischen den einzelnen Zeichen k├Ânnen unterschiedlich lang sein.
    Vorteil: Gleichlaufanforderungen an Sender und Empf├Ąnger sind verh├Ąltnism├Ą├čig gering, so dass sie mit geringem technischen Aufwand realisiert werden k├Ânnen.
    Ein gro├čer Teil der ├ťbertragungskapazit├Ąt (etwa 30 %) wird f├╝r die Synchronisation verwendet. Die ├ťbertragung ist empfindlich gegen Signalverzerrungen, daher nur f├╝r geringe Geschwindigkeiten geeignet.
    Beispiel: D├ť ├╝ber RS232 - Schnittstelle




    ATM - Asynchroner Transfer Mode
    Wird f├╝r Hochgeschwindigkeits├╝bertragung mit 133 Mbit/s verwendet. Einf├╝hrung erfolgte mit der ├ťbertragung von Bild, Sprache und Daten in ├Âffentlichen Netzen (Breitbandnetze).
    Die Daten werden in Pakete verpackt und asynchron zu ihrem Ziel vermittelt.

├ťbertragungsgeschwindigkeit
Unter ├ťbertragungsgeschwindigkeit versteht man die Anzahl der pro Zeiteinheit ├╝bertragenen bin├Ąren Signale (Brutto - Daten├╝bertragungsrate). Die Einheit ist Bit pro Sekunde (Bit/s oder bps). Ein Baud ist eine ├ťbertragungseinheit pro Sekunde. Bei digitaler ├ťbertragung entspricht ein Baud einem Bit pro Sekunde. Bei analoger ├ťbertragung muss das nicht der Fall sein, weil in eine ├ťbertragungseinheit mehr als ein Bit kodiert sein k├Ânnen.
Transfergeschwindigkeit
Darunter versteht man die Anzahl der ├╝bertragenen Datenbits je Zeiteinheit, welche vom Empf├Ąnger als brauchbar akzeptiert werden (Netto - Daten├╝bertragungsrate).

Verminderung der Transfergeschwindigkeit gegen├╝ber der ├ťbertragungsgeschwindigkeit:
1. Start - und Stopbits bei asynchroner D├ť
2. Synchronisations - und Blockbegrenzungszeichen bei synchroner D├ť
3. Pr├╝finformationen wie Parit├Ątsbit und Pr├╝fsummen
4. Fehleranf├Ąlligkeit des ├ťbertragungsmediums
5. verwendeten Code
6. Verpackung bei ATM

Datenfern├╝bertragung(DF├ť)


Verbindung von einem Computer zu anderen Computern, entfernten Druckern oder Terminals, wenn Entfernungen von ├╝ber 50 m zur├╝ckgelegt werden. Au├čerhalb eines Grundst├╝ckes unterliegt die Herstellung des ├ťbertragungsmediums zumeist einem Monopol der Post. Im Jahre 1995 wurde in ├ľsterreich der erste private Betreiber eines Mobilfunknetzes zugelassen.
Bsp.: Die Post genehmigt ein Modem und f├╝hrt die ├ťbertragung durch. Es wird das bereits bestehende Telefonnetz genutzt. Die Post unterh├Ąlt auch die Datennetze Datex - P (paketvermittelnde DF├ť) und Datex - L (leitungsvermittelnde DF├ť).

Bei Telefonleitungen ist zu unterscheiden zwischen
    W├Ąhlleitung
Die Verbindung wird, wie beim Telefonieren, aufgebaut und besteht nur f├╝r die ├ťbertragungsdauer. Die ├ťbertragungsgeschwindigkeit betr├Ągt 2400 Baud. Grundgeb├╝hr und Geb├╝hr pro verbrauchte Einheit sind zu bezahlen.
    Standleitung
Ist eine st├Ąndige Verbindung der Partner. Sie hat den Vorteil, dass der Partner immer erreichbar ist und man von anderen Teilnehmern nicht gest├Ârt werden kann. F├╝r Standleitungen ist eine monatliche Pauschale zu bezahlen.
    ISDN Integrated Services Digital Network
    Ein ISDN - Anschlu├č besteht aus einem 16KBit Steuerkanal und zwei 64KBit Datenkan├Ąlen. Die ├ťbertragung von Sprache und Daten erfolgt in digitaler Form. Ein MODEM ist nicht notwendig. Die Verbindung wird nur dann aufgebaut, wenn tats├Ąchlich Daten gesendet oder empfangen werden. Danach wird die Verbindung nach einer einstellbaren Zeit wieder abgebaut. Im Stand - By Modus fallen keine Gespr├Ąchsgeb├╝hren an. Kommt ein weiteres Datenpaket, garantiert die Post die Verbindungsaktivierung in 0.5 Sekunden. Diese Form hat sich in Europa durchgesetzt (EURO - ISDN) ATM - Asynchroner Transfer Mode
Ist f├╝r die Hochgeschwindigkeits├╝bertragung von Bild, Sprache und Daten geeignet.

Analoge ├ťbertragung von Daten mit MODEM
Um Daten ├╝ber eine analoge Telefonleitung ├╝bertragen zu k├Ânnen, m├╝ssen sie in eine geeigneter Form umgewandelt (moduliert) und wieder zur├╝ckgewandelt (demoduliert) werden. Modems sind Ger├Ąte zum Umwandeln digitaler Daten in analoge und umgekehrt, die dann ├╝bertragen werden. Da in ein analoges Baud mehrere Bits gepackt werden k├Ânnen, gibt es verschiedene Geschwindigkeitsstandards:
9600 bps, 14400 bps, 28800 bps und 56000 bps.

M├╝ssen mehrere Terminals an einer Fernverbindung angeschlossen werden, so m├╝ssen Konzentratoren (z.B. Terminal - Server) eingesetzt werden, die die ankommende Daten sammeln und weiterleiten.


1.5 Das OSI - Modell von ISO


1980 wurde von der ISO, einem Internationalen Normungsgremium, das OSI - 7 Schichten - Protokoll verabschiedet. OSI: Open System lnterconnect, also eine offenes herstellerunabh├Ąngiges Netzwerkprotokoll.





7.)Verarbeitungsschicht

6.) Darstellungsschicht

5.) Kommunikationsschicht

4.) Transportschicht

3.) Vermittlungsschicht

2.) Sicherungsschicht

1.) Bit├╝bertragungsschicht










Ger├Ąte, die die Verbindung zwischen Netzwerken mit unterschiedlichen Protokollen herstellen, orientieren sich an den Funktionen der entsprechenden Schicht des OSI - Modells:
Schicht 1: Repeater (Ein eintreffendes Signal wird unver├Ąndert wieder ausgesendet)
Schicht 2: Bridge oder Switch (Ein eintreffendes Datenpaket wird nur dann weitergeleitet,
Schicht 3: Router wenn es an einen Partner in einem anderen Netz adressiert ist. Der
lokale Verkehr wird also nicht weitergeleitet)
Schicht 4 - 7: Gateway

1.6 LAN (Local Area Network) lokales Netzwerk (digital)


Diese Netze werden auch B├╝ronetze genannt. Mehrere PCs, Workstations oder Terminals werden mit einer entsprechenden Netzwerk - Topologie mit Gro├črechnern, UNIX - Rechnern oder File - Servern zusammengeschlossen. Jeder Computer des Netzes erh├Ąlt einen eigenen Adapter (wird mit einer Netzwerkkarte eingebaut z.B. NE2000), an den die Verbindungskabel angeschlossen werden. Zumeist sind dies Koaxialkabel f├╝r geringe Entfernungen.

In den 70er und 80er Jahren hatte man Gro├črechenanlagen mit angeschlossenen "dummen" ASCII - Terminals (reine I/O Ger├Ąte lediglich f├╝r ASCII - Zeichen). Die Netzwerke werden von den Computerherstellem entwickelt und waren untereinander nicht kompatibel. Verbindungen zwischen einem Netzwerk der Firma SIEMENS (Transdata - Netzwerk) und einem der Firma IBM (SNA .. Structured Network Architecture) k├Ânnen nur sehr m├╝hsam ├╝ber einen Gateway - Computer hergestellt werden.

Mit der Entwicklung der PCs wurden die PCs mit einem File - Server zu sogenannten Client - Server Netzwerken zusammengeschlossen. ETHERNET entwickelte sich zum Standardnetzwerk. Von der Firma IBM wurde der TOKEN RING als Konkurrenzprodukt auf den Markt gebracht. Auf den PCs kann man die Anwendungen mit einer grafischen Oberfl├Ąche gestalten. Der File - Server dient zum Laden von Software und zur Verwaltung zentraler Datenbest├Ąnde. Der gr├Â├čte Nachteil dieser L├Âsung ist der hohe Betreuungsaufwand f├╝r die Installation und Wartung der PCs.

Vom X - Konsortium des MIT wurde Anfang der 90er Jahre das X - Window - System erfunden. Es vereinigt die Vorteile der Gro├črechner - und der Client - Server - Netzwerke. Die haben jedoch grafische Oberfl├Ąchen wie der PC. Anstelle des File - Servers tritt ein Multi - User /Multitaskingf├Ąhiger Rechner unter den Betriebssystemen UNIX. Als Netzwerk kann weiterhin das ETHERNET verwendet werden.

1.7 WAN (Wide Area Network) Weitverkehrsnetz


Die Netzverbindung geht ├╝ber ├Âffentlichen Grund und unterliegt damit dem Monopol der Post. Diese Netze k├Ânnen sich ├╝ber Kontinente erstrecken.
Bsp.: Netzwerke, die die Niederlassungen von weltweit t├Ątigen Konzernen miteinander verbinden, wie Versicherung, Fluggesellschaft, Reiseb├╝ro mit Filialen, Computerkonzerne. Netzwerke, ├╝ber die Informationen f├╝r Kunden oder die Wissenschaft weltweit verteilt werden, wie das INTERNET oder Compuserve.

CompuServe
Elektronische Enzyklop├Ądie, aktuelles Wetter, Reiseinformationen, medizinische und rechtliche Information, Email

BTX
BTX ist von der ├ľsterreichischen Post. BTX verwendet Datex - P (Paketvermittlung). Die Daten werden in Form von Datenbl├Âcken ├╝ber das Telefonnetz geschickt. Es besteht keine durchgehende physikalische Verbindung vom Sender zum Empf├Ąnger. Der BTX - Teilnehmer ben├Âtigt einen Computer, Software und ein Modem. Angeboten wird Email, Telebrief (Erm├Âglicht das Erstellen und Verschicken von Briefen), Kontostandabfragen, Telebanking.

1.8 INTERNET


Das weltweit verzweigte Internet wird von keiner zentralen Stelle ├╝berwacht. Das Netz wird immer nur im eigenen Bereich (Site) gewartet und erweitert. Jeder kann daher seinen Rechner oder sein gesamtes Netzwerk an das Internet anschlie├čen. Im Jahre 1995 waren 3,8 Millionen Sites angeschlossen.

Um im internationalen Netz erreichbar zu sein, muss ein Internet - Anbieter (Provider) den Namen seines Rechners oder Netzwerks (Domain) beim Name Information Center (Internic) anmelden.
Falls der Name noch nicht vergeben ist, quittiert Internic die Anmeldung mit einem Eintrag ins Namensregister. Internet - Provider sind Rechner, auf denen Dienste f├╝r andere Internet - User zur Verf├╝gung gestellt werden.

Als einheitliches Netzprotokoll wird TCP/IP verwendet. Unter einem DOS/WINDOWS - PC erfolgt die Anbindung meist ├╝ber SLIP (Serial Line Internet Protocol), das eine normale Telefonleitung zu einer Internet - Leitung macht. Die Anbindung ans Internet ├╝ber SLIP erfolgt ├╝ber das 'Windows Socket API". Diese Erweiterung des normalen Windows - API (Application Programming Interface) von Windows erm├Âglicht die Anbindung von Programmen an TCP/IP.

Werden ganze LANs an das Internet angeschlossen, so erfolgt dieser Anschlu├č ├╝ber eine Standleitung oder einen ISDN - Anschlu├č. Damit Datenpakete des LANs ins Internet gelangen k├Ânnen und umgekehrt, ben├Âtigt man einen Router. Normalerweise sind Router hardwarem├Ą├čig implementiert (z.B. von der Firma CISCO). Billiger, jedoch nicht so leistungsf├Ąhig sind softwarem├Ą├čig implementierte Router wie z.B. die Shareware KA9Q (ISDN/IP - Router f├╝r DOS)

Das Internet Protocol IP ├╝bernimmt gleicherma├čen die Rolle der Post und bef├Ârdert die einzelnen Datenpakete ├╝ber das lnternet zum Adressaten. Die Datenpakete werden nicht direkt, sondern ├╝ber mehrere Verteiler, die Router, weitergeleitet. Jeder Router, der ein IP - Paket empf├Ąngt, leitet es an einen Nachbarrechner weiter. Das wiederholt sich, bis der Empf├Ąnger erreicht ist. Dieses Verfahren bezeichnet man als routing (Dynamische Leitwegbildung).

Um das Internet nutzen zu k├Ânnen, braucht man au├čer der geeigneten Software auch eine Zugriffsberechtigung zum Internet. Diese wird von Internet - Anbietern verkauft, und macht einen nicht unerheblichen Teil der Installationskosten aus.

Dienste des Internets:
    Email Der WWW - Browser f├╝r das World Wide Web bietet eine grafische Oberfl├Ąche.(Netscape) Sehr gut eignet sich das Internet als Diskussionsforum f├╝r EDV - Belange und die Wissenschaft. FTP (File - Transfer) mit der Dateiensuchhilfe archie Telnet (Terminal Emulation)

Da mit dem Anschluss an das Internet Sicherheitsrisken verbunden sind, werden die Dienste des Internets in Firmennetzwerken verwendet. Diese Netze nennt man INTRANET. Der Anschluss ans Internet erfolgt mit Firewalls und Proxy - Server.

1.9 Netz - Topologien


Die Topologie eines Netzwerkes ist die Art und Weise der Verbindung durch Kabeln zwischen den einzelnen Knoten (Server, Workstations, Gateways, PCs, Drucker).

1.)Ring - Topologie



Die Computer sind ringf├Ârmig angeordnet, jeder Computer ist mit 2 Computern verbunden. Die ├ťbertragung von Informationen erfolgt von Computer zu Computer in einer Richtung. Der Absender versieht die Information mit der Empfangsadresse, der Empf├Ąnger versieht die Nachricht mit einer Empfangsquittung und schiebt sie weiter. Dabei werden Teile der Nachrichten in den Computern zwischengespeichert und paketweise weitergeleitet. Der Absender kann so erkennen, ob die Information empfangen wurde oder nicht.

Vorteile: Es ist keine Zentrale n├Âtig (jeder Computer ├╝bernimmt Steuerung) Es sind weniger Kabeln als bei der Stern - Topologie notwendig. Theoretisch sind beliebig viele Computer anschlie├čbar.
Nachteile: bei Ausfall einer Station steht das ganze Netz (Abhilfe: ├ťberbr├╝ckungsschaltungen)

2.)Stern - Topologie (Gro├črechnertechnologie)



Alle Computer sind an einen zentralen Vermittlungsrechner (Konzentrator) angeschlossen, der die Steuerung und ├ťberwachung des gesamten Kommunikationssystems wahrnimmt. Entweder ist das ein spezieller Computer, der nur f├╝r die Kontrolle zust├Ąndig ist, oder ein beliebiger Verarbeitungscomputer, der zus├Ątzlich Kontrollaufgaben ├╝bernimmt.
Vorteile: Bei Ausfall eines Computers bleibt das Netz funktionsf├Ąhig Die Hinzunahme oder das Entfernen eines Computers aus dem Netz ist unproblematisch.
Nachteile: Bei Ausfall der Zentrale f├Ąllt auch das Netz aus.
Die Anzahl der Computer ist durch die Leistungsf├Ąhigkeit der Zentrale beschr├Ąnkt.
Aufwendige und teure Verkabelung, da alle Computer mit der Zentrale verbunden werden m├╝ssen.

3.)Bus - Topologie




Alle Computer sind an einem Kabel angeschlossen. Informationen k├Ânnen ohne Mithilfe anderer Computer vom Sender zum Empf├Ąnger gelangen. Dies ist dadurch m├Âglich, da immer aller Computer des Netzes mith├Âren, aber nur die an sie adressierten Informationen verwenden. Die PCs unserer HTL sind mit einem Bus vernetzt.

Vorteile: ausfallsicher (einzige Schwachstelle ist der BUS)
einfache Verkabelung
Drucker und Peripherieger├Ąte k├Ânnen leicht hinzugef├╝gt werden. Bei der ├ťbertragung werden nur die beteiligten Stationen ben├Âtigt.
Nachteile: Abh├Ârsicherheit ist nicht gegeben
Geschwindigkeit ist begrenzt
Es kann nur eine begrenzte Anzahl von Computern an ein Busnetz angeschlossen werden.

4.)Strukturierte Topologie (Derzeitiger Stand der Technik)

Jedes einzelne Endger├Ąt (PCs, Terminals, Drucker) wird sternf├Ârmig an einen zentralen Hub bzw. einen Konzentrator mit vier paarigen, abgeschirmten Kupferkabeln (Twisted Pair) angeschlossen. Anstelle von Hubs (Bus - Topologie) werden immer mehr Switches eingesetzt. Dadurch werden Nachrichten nur mehr zu den tats├Ąchlich betroffenen Stationen gesendet.
Die Konzentratorpunkte werden mit mehreren Glasfaserkabel und einem zus├Ątzlichen Kupferkabel verbunden, um ein Umstecken der Verbindungen im Fehlerfall zu erm├Âglichen.

Vorteile: Bei Ausfall eines Computers bleibt das Netz funktionsf├Ąhig
Die Hinzunahme oder das Entfernen eines Computers aus dem Netz ist unproblematisch.
Bei Ausfall einer Verbindung kann auf eine weitere Verbindung umgeschaltet werden, da die Verkabelung redundant ist.
Nachteile: Aufwendige und teure Verkabelung, da alle Computer mit dem Hub verbunden werden m├╝ssen.

1.10 Netzprotokolle


Mit der Herstellung von Leitungsverbindungen ist das Netz noch nicht komplett. F├╝r den Betrieb des Netzes ist spezielle Software n├Âtig, die den Datentransport im Netz organisiert. Diese Software wickelt zwischen den einzelnen Knoten ein sogenanntes Protokoll (Folge von Steuersignalen) ab, das bewirkt, dass Daten kollisionsfrei und richtig ├╝ber die Leitungen transportiert werden.

1.)CSMA/CD (Carrier Sense Multiple Access/Collission Detection) (OSI Schicht 1+2)

Einsatz in Busnetzen mit ETHERNET oder TOKEN RING - Netzen.
Funktion: Der Sender versieht die Information mit einem Transportetikett, aus dem man Sender und Empf├Ąnger der Nachricht erkennen kann. Danach pr├╝ft der Sender, ob der ├ťbertragungskanal frei ist. Liegt kein Signal (Carrier) an, so beginnt er mit der ├ťbertragung. Alle angeschlossenen Computer empfangen die Nachricht, aber nur der Computer, der seine Adresse im Transportetikett findet, bearbeitet sie weiter.
Es k├Ânnte nun der Fall eintreten, dass 2 Computer gleichzeitig feststellen, dass der ├ťbertragungskanal frei ist und gleichzeitig mit der ├ťbertragung beginnen. In diesem Fall kommt es zum Zusammensto├č der Nachrichten (Collission). Der Computer, der das als erster feststellt, erzwingt dann durch ein spezielles Steuersignal den ├ťbertragungsabbruch. Beide Computer warten danach eine durch einen Zufallsgenerator bestimmte Zeit ab, bevor sie einen neuen Sendeversuch starten.
Einem guten Zeitverhalten bei mittlerer Auslastung steht eine undefinierte maximale Transportzeit gegen├╝ber.

2.) TOKEN Passing(OSI - Schicht 1+2)

Die Sendeberechtigung wird ├╝ber einen Steuerblock vergeben, den sogenannten TOKEN, der von einem Computer zum n├Ąchsten weitergegeben wird. Der Computer, der den TOKEN besitzt, kann senden. Nach durchgef├╝hrter ├ťbertragung gibt er den Token weiter.
Einem hohen Vermittlungsaufwand bei niedriger Auslastung steht eine definierte maximale Transportzeit gegen├╝ber.

2 TCP/IP

2.1 Einleitung


Die Anf├Ąnge von TCP/IP reichen in die fr├╝hen 70er Jahre, als eine amerikanische Verteidigungsbeh├Ârde das Arpanet, ein experimentelles Netzwerk, gr├╝ndetet. Sp├Ąter, nachdem dieses Netz mehrere Universit├Ąten verband, wurde das Protokoll TCP/IP (Transfer Protocol/ lnternet Protocol) entwickelt. Aus dem Arpanet entwickelte sich das Internet, und danach setzte sich TCP/IP als internationales Netzwerkprotokoll auch gegen OSI durch. Die OSI - Protokolle der X.400 - Normungsreihe haben sich nur im Rahmen von EDIFACT (Electronic Data Interchange und Faktorierung) durchgesetzt.


TCP/IP - Architektur:

im wesentlichen besteht die TCP/IP - Architektur aus 4 Schichten.

    Die Netzwerkschicht ├╝bernimmt die physikalische Datenleitung. Sie setzt auf vorhandene Netzstrukturen der Schicht 1+2 auf, wie z.B. das ETHERNET mit CSMA/CD. Diese Schicht stellt sicher, dass die Daten korrekt und an den beabsichtigten Adressaten ├╝bermittelt werden.

    Die lnternet - Schicht (IP - Protocol) ├╝bernimmt die Herstellung und ├ťberwachung von Netzverbindungen zwischen verschiedenen Computern. Sie erm├Âglicht die Kommunikation und die Weitervermittlung von Informationen zwischen verschiedenen Netzen.(routing ├╝ber gateways) (Entspricht OSI Schicht 3)
    Die Transportschicht (TCP - Protocol) verf├╝gt ├╝ber verbindungslose und verbindungsorientierte Protokolle, die den eigentlichen Datenflu├č regeln. (Entspricht OSI Schicht 4)
    Die Applikationsschicht bietet eine Reihe standardisierter Anwendungen wie ping, arp, finger, telnet, ftp, NFS, NIS, DNS, PPP, WWW, NNTP, IRC und Email, die besondere St├Ąrke von TCP/IP darstellen. (Entspricht OSI Schicht 4 - 7)


Der Datenflu├č zwischen den verschiedenen Schichten erfolgt durch die ├ťbergabe der Datenpakete. Jede Schicht dabei ein neues Datenpaket, in dem die empfangenen Daten wieder enthalten sind. Den hinzugef├╝gten Teil nennt man Header. Diese Header werden dann zur Adressierung und ├ťbertragung verwendet.

Eine IP - Adresse besteht aus 4 Zahlen zwischen 0 und 255. Jede dieser vier Zahlen enth├Ąlt, wie bei einer Postanschrift, eine bestimmte Adre├činformation. Diese Nummern sind schwer zu merken, daher werden sie in Namen, die Dom├Ąne, umgesetzt. Aus 193.81.13.2 wird so der Name ftp.ping.at. Anhand dieser Domain - Adresse l├Ąsst sich meist das Land (letztes K├╝rzel) und die Art der Organisation ablesen. (at = Austria, de = Deutschland, USA hat kein L├Ąnderk├╝rzel )
Weiters gilt: com=kommerziell, ac=akademisch, edu=Schulen/Universit├Ąten, net=Provider)

Bei einer Internet - Email - Adresse kommt noch der durch einen Klammeraffen getrennte Benutzername dazu.
r.simon@htlwrn.ac.at ist die E - Mail - Adresse des Benutzers r.simon, der Dom├Ąne htlwrn.ac.at.

Verzeichnis der g├╝ltigen Computer (hosts) der HTL Wr. Neustadt,Abt. EDVO

127.0.0.1 loopback #Zum Test, der Rechner wird nicht verlassen
193.170.149.62 novell1 n1 #Novell - Server Karte f├╝r Saal Zuse
193.170.149.158 novell4 n4 #Novell - Server Karte f├╝r Saal Zemanek
193.170.149.33 U101 #1.PC im Saal Zuse
193.170.149.128 U401 #1.PC im Saal Zemanek
193.170.149.151 SUN #Domain Name Server, Mail Server
193.170.149.161 Ts1 #Terminal - Server
193.170.149.154 www #WWW - Server der HTL
    l1 #Linux - Server
193.170.149.156 Firei #1.Netzwerkkarte Firewall im Segment ZEMANEK
193.170.149.190 Fireo #2.Netzwerkkarte Firewall im Segment NEUMANN
193.170.149.189 CISCO #Router ins Internet

2.2 Zeitmultiplexverfahren im Internet und Routing

File - Transfer Bildaufbau
Uni - Wien Yahoo
Univie.ac.at U102 U205
U102 Paket 1
U102 Paket 2
U205 Paket 1
U102 Paket 3
U304 Paket 1 t


Cisco - Router ISDN - Leitung Cisco - Router
Wien Wr. Neustadt

Bildaufbau
Cisco NEW - YORK IBM.com
U304


IBM.com



Yahoo

2.3 TCP/IP - Protokolle


    IP (Internet Protocol): verbindungsloses, unzuverl├Ąssiges Protokoll f├╝r die Auswahl des Daten├╝bertragungsweges zwischen 2 Rechnern (routing). Mit "ping" und "traceroute" wird diese Verbindung ├╝berpr├╝ft.
    TCP (Transmission Control Protocol): Protokoll f├╝r einen verbindungsorientierten, zuverl├Ąssigen Datentransfer.
    ICMP (Internet Control Message Protocol): f├╝r die ├ťbertragung von Fehler - und Diagnoseinformationen.
    ARP und RARP (Reverse Address Resolution Protocol): f├╝r die Umsetzung der 32 - Bit Internet - Adressen in die 48 - Bit Ethernet(MAC) - Adressen. Um die Ethernet - Adresse eines Hosts zu ermitteln, verschickt ARP einen Rundruf an alle ("Broadcast")
    TELNET: Terminalemulation. Mit "finger" wird ├╝berpr├╝ft, wer von wo auf einem Server arbeitet.
    FTP: File Transfer Protocol

    PPP (Point to Point) : Dient zur ├ťbertragung von Datagrammen ├╝ber eine serielle Leitung mit dem Protokoll HDLC (High Level Data Link ) Bei der Konfiguration eines PPP - Clients ist es wichtig, dass die Authorisierung ├╝berpr├╝fbar ist. Dazu dient das PAP(Password Authentication Protocol)
    Hier nur ein Beispiel wie sich ein Client ├╝ber die serielle Schnittstelle an seinen PPP - Server anschlie├čt:
    pppd /dev/cua3 38400 crtscts defaultroute (crtscts : Hardwarehandshake wird durchgef├╝hrt)
    SMTP (Simple Mail Transfer Protocol): Email
    POP3 (Post Office Protocoll Nummer 3): Dient zum Austausch der emails zwischen Mail - Server und lokalem Mail - System wie Microsoft - Exchange oder Netscape Navigator.
    NFS (Network File System): verteiltes Dateisystem, das exportierte Dateisysteme von remote - Rechnern ins lokale Dateisystem "mounten" kann.
    NIS siehe DNS
    HTTP (Hypertext Transfer Protocol) erm├Âglicht das WWW (World Wide Web). Siehe HTML.
    NNTP (Net News Transfer Protocol) erm├Âglicht Newsserver.
    IRC (Internet Relay Chat) erm├Âglicht Konferenzen im Intenet.
    DHCP(Dynmic Host Configuration Protocol): Die angeschlossenen Hosts eines Teilneztes haben keine fixen IP - Adressen. Wenn sich ein Host anmeldet, bekommt er vom DHCP - Server dynamisch eine Nummer zugeordnet. Die IP - Nummer 0.0.0.0 deutet auf DHCP hin. Die Internet - Provider arbeiten mit dieser Technik, da IP - Nummern eine knapper Ressource sind, und niemals alle Kunden gleichzeitig arbeiten.


2.4 Internet - Adressen (IPV4)


Es gibt 4 Klassen von Internet - Adressen, wobei durch das Wachstum des Internets bedingt, nur mehr das Class - C Netz und das CLASS - C - Subnetz wichtig ist.

Class C 110 5 + 8 + 8 Bit Netzwerkadresse 8 - Bit lokale Rechneradressen


Class C - 110 5 + 8 + 8 + (8 - n) Bit Netzwerkadresse n - Bit lokale Rechneradressen
Subnetz

Die Vergabe der Internet - Adressen wird auf Ansuchen von einer zentralen Stelle, dem Internic, vergeben und ist kostenpflichtig (Jahresgeb├╝hr).

Class - C - Adressen: 192.1.x bis 223.254.254.x

    255.255.255.255 Broadcast - Adresse f├╝r das gesamte Internet 255.255.255.224 Class - C - Subnetzmaske wobei n=5. Bei der Netzmaske sind alle Bits des Netzwerkteiles auf 1) (224 ergibt sich aus 27 + 26+25) 193.170.149.255 Broadcast - Adresse unserer Schule 193.170.149.159 Broadcast - Adresse des Segments ZEMANEK 193.170.149.155 Rechner linux1 Netzwerkkarte 1 193.170.149.158 Netzwerkkarte im Novell - Server (Router zwischen S├Ąlen) f├╝r Segment Zemanek
Die Adressen und die zugeordneten Namen werden lokal in der Datei /etc/hosts und zentral durch NIS oder DNS verwaltet.




IPV6 ist derzeit im Standardisierungsprozess und hat folgende Vorteile gegeb├╝ber IPV4:

    mehr IP - Adressen leichteres Routing verbesserte Subnetz - Struktur automatisches Konfigurieren verbesserte Sicherheitsfunktionen Unterst├╝tzung von Multimedia und Echtzeitapplikationen

2.5 DNS (Domain Name System) des Internet


In TCP/IP - Netzwerken wird ├╝ber die 32 - Bit Nummer nnn.nnn.nnn.nnn adressiert. Diese Nummern kann man sich nicht merken. Daher werden normale Namen wie U104 oder sun vergeben. Hostname - Aufl├Âsung ermittelt die IP - Adresse zu einem Namen. Dazu werden die Bibliotheksroutinen gethostbyname und gethostbyaddr verwendet. (Resolver - Bibliothek libc)
Bei kleinen Netzwerken wie ETHERNET wird die Hostname - Aufl├Âsung ├╝ber die Datei /etc/hosts durchgef├╝hrt. Diese Datei muss bei jeder ├änderung auf allen Rechnern aktualisiert werden, was ab einer gewissen Anzahl von Rechnern m├╝hsam wird.

Eine L├Âsung f├╝r dieses Problem ist NIS, das Network Information System von SUN. NIS speichert die hosts - Datei und weitere Dateien in einer zentralen Datenbasis auf einem NIS - Server. NIS - Clients k├Ânnen von dort Informationen beziehen. NIS eignet sich f├╝r mittelgro├če Netze wie LANs, da alle
Hosts zentral verwaltet werden.

Am Beginn des INTERNETS wurden alle Adressen in einer zentralen Datei HOSTS.TXT gespeichert. Diese Datei wurde vom NIC, dem Network Information Center gewartet. Mit dem Wachstum des Internets gab es administrative Probleme. Auch der Aufwand, um die HOSTS.TXT zu verteilen, ├╝berforderte die Server. Daher wurde 1984 das DNS eingef├╝hrt.

DNS organisiert Hostnamen in einer Hirarchie von Dom├Ąnen (engl. domain). Eine Dom├Ąne ist eine Sammlung von ‘sites’, die miteinander verwandt sind. sun.htlwrn.ac.at ist vollqualifizierter Dom├Ąnennamen (FQDN) der den Rechner sun weltweit eindeutig identifiziert. at steht f├╝r ├ľsterreich, in den USA entf├Ąllt diese Dom├Ąne. ac steht f├╝r academic, htlwrn f├╝r die HTL Wr. Neustadt. Der Vorteil von DNS besteht darin, dass wir innerhalb von htlwrn.ac.at unsere Namen und Unterdom├Ąnen lokal, also ohne NIC festlegen k├Ânnen.

DNS, eine verteilte Datenbasis

Wie kann eine Anwendung ohne zenrale Autorit├Ąt feststellen, welche Namen zu welchen Adressen geh├Âren? Wenn eine Anwendung au├čerhalb der HTL Wr. Neustadt einen Namen innerhalb unserer Dom├Ąne wissen will, so muss diese Anwendung unseren Domain Name Server "sun.htlwrn.ac.at" fragen. Diese Anwendung muss jedoch nicht direkt unseren DNS befragen, sondern befragt den DNS ihrer Dom├Ąne, also den lokalen DNS, der die gefragten Daten liefert. Nehmen wir an, der lokale DNS sei "dns.univie.ac.at", so befr├Ągt dieser den DNS von "ac.at", der den DNS von "htlwrn.ac.at" befr├Ągt und so die Daten liefert. Um die Netzlast nicht unn├Âtig zu erh├Âhen, halten die DNS bekannte Informationen gem├Ą├č der "time to live" (TTL) in einem lokalen Cache.

Die DNS Datenbasis

Diese enth├Ąlt nicht nur Hostadressen sondern auch Regeln zum Austausch von Informationen mit anderen Domain Name Servern, die in der Datei named.hosts abgelegt sind.
Jeder Satz in dieser Datei hat einen gewissen Typ.
Ein "A" - Satz ordnet einem FQDN oder einem lokalen Namen eine IP - Adresse zu.
Ein "CNAME" - Satz ordnet einem "A" - Satz einen weiteren Namen zu.
Der "SOA" - Satz ist der "Start of Authority" definiert allgemeine Informationen wie z.B. die TTL.

Namen die nicht mit einem Punkt enden sind keine FQDN sondern lokal zur Dom├Ąne des DNS.
Der spezielle Name "@" ist der Name der Dom├Ąne (z.B. htlwrn.ac.at)
Der "NS" - Satz definiert einen bekannten Domain Name Server, anschlie├čend kommt ein "A" - Satz.
Der mx - Satz definiert den Mailserver. /etc/mail/aliases ordnet die mail - Benutzer den UNIX - Benutzern zu, so wird z.B. "r.simon" die Benutzerkennung sj zugeordnet.

Da es machmal notwendig ist, den Dom├Ąnennamen zu einer IP - Adresse zu suchen, gibt es auch die umgekehrte Namensaufl├Âsung (reverse lookup). Auf diese Weise kann ein Netzwerkdienst die Identit├Ąt eines Netzwerkklienten ├╝berpr├╝fen. Diese Angaben stehen in der Datei named.rev.


2.5.1 IP - Masquerade


IPV4 - Adressen sind eine knappe und teure Ressource und IPV6 befindet sich noch im Standardisierungsprozess.
IP - Masquerading bietet eine einfachere M├Âglichkeit um ein Netzwerk ans Internet anzuschlie├čen wie DNS mit Class - C - Subnetzen.
Ein spezieller Rechner (z.B. unter linux) wird als Router eingesetzt und ├Ąndert die Adressen in den IP - Paketen, bevor er sie in das n├Ąchste Netz weitergibt. Der Empf├Ąnger sieht als Absender nur die Adresse des Routers und schickt seine Antwort dorthin zur├╝ck. Der Router ├╝bersetzt die Adressen wieder und verteilt die Pakete an die eigentlichen Empf├Ąnger.

2.6 TCP/IP - Anwendungen und TCP/IP konfigurieren


├ťbung TCP/IP - Kommandos:
Probieren Sie folgenden Kommandos auf dem Rechner l1:
ping, /usr/sbin/traceroute, finger, domainname, hostname, mail, telnet, ftp
Verwenden Sie die Manualpages unter linux.
Betrachten Sie die Homepage www.htlwrn.ac.at.

├ťbung TCP/IP - Konfiguration: Dokumentieren sie handschriftlich das Netzwerk der HTL, die folgende
Dateien bzw. Kommandoausgaben enth├Ąlt. (Ziehen Sie auch die Manualseiten zu Rate.
Ausz├╝ge der Datei /etc/hosts finden Sie weiter oben)

    l1: /etc/hosts, /etc/rc.config (Hilfe im yast), /etc/gateways(routing - table), /etc/exports(NFS)
    Kommandoausgabe von: /sbin/route, /sbin/ifconfig, /sbin/arp - a
    sun: /etc/netmasks, /etc/defaultdomain, /etc/defaultrouter, /etc/named.data/named.hosts,
    Kommandoausgabe von /usr/bin/netstat - r
    cisco
    dos: net.cfg
    windows: trumpet winsocket


2.6.1 l1:/etc/rc.config


#
# /etc/rc.config
#
# Copyright (c) 1996 S.u.S.E. GmbH Fuerth, Germany. All rights reserved.
#
# Configuration database for shell scripts in /sbin/init.d, /sbin/SuSEconfig
# Hinweis: Diese Datei wird mit dem Konfigurationswerkzeug YAST bearbeitet
# Es sind nur die TCP/IP - Eintr├Ąge vorhanden
# Also don't forget to edit the following files:
# - /etc/lilo.conf
# - /etc/fstab
# - /etc/profile
# - /etc/hosts
#
# start loopback networking? ("yes" or "no")
START_LOOPBACK=yes
# number of network cards: "_0" for one, "_0 _1 _2 _3" for four cards
#
IPADDR_0="193.170.149.155"
IPADDR_1=""

#
# network device names (e.g. "eth0")
#
NETDEV_0="eth0"
NETDEV_1=""
#
# parameteres for ifconfig, if you put "bootp" into it, bootp will
# be used to configure it
# sample entry for ethernet:
IFCONFIG_0="193.170.149.155 broadcast 193.170.149.159 netmask 255.255.255.224"
IFCONFIG_1=""
#
# network address of the devices (e.g. " - net 192.168.81.32" or
# " - host 192.168.81.33")
#
NETWORK_0="193.170.149.128"
NETWORK_1=""
#
# if this is set, the default route will be set to this gateway
# (e.g. "192.168.81.33")
#
GATEWAY_0="193.170.149.156"
GATEWAY_1=""
#
# setup dummy network device for IPADDR_0? this is useful for non permanent
# network connections (e.g. SLIP, PPP). Some software needs a connection
# to FQHOSTNAME (e.g. plp). (yes, no)
SETUPDUMMYDEV=yes
#
# hostname of the system (full name)
# if zero, and bootp is used above, bootp will also set the hostname
# (e.g. "riemann.suse.de" or "hugo.linux.de")
# don't forget to also edit /etc/hosts for your system
#
FQHOSTNAME=linux1

#
# domain searchlist that should be used in /etc/resolv.conf
# (e.g. "suse.de linux.de uni - stuttgart.de")
# Attention! this has to be filled out, if you want to access a name server
#
SEARCHLIST="sun.htlwrn.ac.at"
#
# space separated list of nameservers that should be used for /etc/resolv.conf
# give a maximum of 3 IP numbers
# (e.g. "192.168.116.11 192.168.7.7")
#
NAMESERVER="193.170.149.151"
# News server.
NNTPSERVER="linux1.htlwrn.ac.at"
# start the inet daemon in multi - user? ("yes" or "no")
# this is needed, if you have to telnet/rlogin to your own machine.
START_INETD=yes
# start portmap? ("yes" or "no")
# this is needed, if the NFS server is started or if NIS is used
START_PORTMAP=yes
# should the NFS server be started on this host? ("yes" or "no")
NFS_SERVER=yes
# start the apache www - server in /local/www/sbin/httpd? ("yes" or "no")
START_HTTPD=yes


2.6.2 l1: /etc/exports


#exports
/home www(rw)

2.6.3 l1:Ausgabe von /sbin/route


Kernel routing table
Destination Gateway Genmask Flags Metric Window Use Iface
ipnet1 * 255.255.255.224 U 0 0 419235 eth0
loopback * 255.0.0.0 U 0 0 1675 lo
default Firei 0.0.0.0 UG 1 0 46553 eth0

2.6.4 l1:Ausgabe von /usr/sbin/traceroute


1 Firei (193.170.149.156) 1.995 ms 1.724 ms 1.704 ms
2 htlwrneu - server (193.170.149.189) 4.516 ms 4.534 ms 4.34 ms
3 193.170.149.5 (193.170.149.5) 36.378 ms 28.177 ms 28.198 ms
4 gw2.bmuvie.gv.at (193.170.115.9) 30.645 ms 30.418 ms 30.428 ms
5 Vienna - RBS.ACO.net (192.153.182.57) 31.213 ms 40.41 ms 31.041 ms
6 iris.cc.univie.ac.at (193.171.14.11) 31.518 ms 34.108 ms 31.682 ms
7 hera.cc.univie.ac.at (131.130.208.2) 31.505 ms 31.454 ms 31.381 ms
8 ftp.univie.ac.at (131.130.1.4) 33.506 ms 32.104 ms 34.245 ms

2.6.5 l1:Ausgabe von /sbin/ifconfig



eth0 Link encap:10Mbps Ethernet HWaddr 00:40:C7:55:21:C0
inet addr:193.170.149.155 Bcast:193.170.149.255 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1643374 errors:0 dropped:0 overruns:0
TX packets:1663116 errors:0 dropped:0 overruns:0
Interrupt:11 Base address:0x340

2.6.6 l1:Ausgabe von /usr/sbin/arp - a und ping


Address HW type HW address Flags Mask
193.170.149.150 10Mbps Ethernet 00:00:0C:3D:DA:7A C *
193.170.149.151 10Mbps Ethernet 08:00:20:74:FA:7E C *
193.170.149.158 10Mbps Ethernet 00:60:8C:96:EC:10 C *


PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.3 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.2 ms

- - - localhost ping statistics - - -
2 packets transmitted, 2 packets received, 0% packet loss
round - trip min/avg/max = 0.2/0.2/0.3 ms


2.6.7 sun:/etc/netmasks


#
# network - number netmask
#
193.170.149.0 255.255.255.224

2.6.8 sun:/etc/defaultdomain


htlwrn.ac.at

2.6.9 sun:/etc/defaultrouter


193.170.149.150


2.6.10 sun:/etc/named.data/named.hosts


; named.hosts 19960205;
; CONTACT should be an username who feels responsible for the DNS .
; change all uppercase tokens to Your local names ....
;

@ IN SOA sun.htlwrn.ac.at. root.sun.htlwrn.ac.at. (
1995092738; Serial
3600 ; Refresh every hours
1800 ; Retry every hour
604800 ; Expire after a week
86400 ) ; Minimum ttl of 1 day

IN NS sun.htlwrn.ac.at.
IN NS ns1.univie.ac.at.
ns1.univie.ac.at. IN A 131.130.1.11
htlwrneu - server IN A 193.170.149.150 ; CISCO Router
lb IN A 127.0.0.1
;
;mailhost IN A 131.130.1.19
localhost IN CNAME lb.htlwrn.ac.at.
sun IN A 193.170.149.151 ; Sun
dns IN CNAME sun
;
; Segment ZUSE (IP: 193.170.149.33 - 193.170.149.62)
n1 IN A 193.170.149.62
u101 IN A 193.170.149.33
...
u122 IN A 193.170.149.54
; segment ZEMANEK (bonus computer)
WWW IN A 193.170.149.154 ;Www
Linux1 IN A 193.170.149.155; Linux1 linux1 l1 L1
l1 IN CNAME Linux1
IN MX 10 sun.htlwrn.ac.at.
IN MX 100 email.univie.ac.at.
ppp - host IN A 193.170.149.193

2.6.11 sun:Ausgabe von usr/bin/netstat - r


Routing Table:
Destination Gateway Flags Ref Use Interface
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
localhost localhost UH 0 1727 lo0
ipnet4 SUN U 3 305 le0
193.170.149.192 ppp - host U 2 0 ipd1
BASE - ADDRESS.MCAST.NET SUN U 3 0 le0
default CISCO UG 0 3192


2.6.12 CISCO (Internet - Router)


interface Ethernet0
description Lokales Ethernet HTL Wr. Neustadt
ip address 193.170.149.150 255.255.255.224
!
interface Serial0
description 64 Kbit Verbindung HTL - Wien 5
ip address 193.170.149.6 255.255.255.252
bandwidth 64
!
ip domain - name htlwrn.ac.at
ip name - server 193.170.149.151
ip route 0.0.0.0 0.0.0.0 193.170.149.5
ip route 193.170.149.32 255.255.255.224 193.170.149.158
ip route 193.170.149.64 255.255.255.224 193.170.149.158
ip route 193.170.149.96 255.255.255.224 193.170.149.158
ip route 193.170.149.192 255.255.255.224 193.170.149.151

2.6.13 LAN WORKPLACE FOR DOS, NET.CFG


Link driver DE - 200
Protocol IPX 0 Ethernet_802.3
Protocol IPX 8137 Ethernet_II
Port 320
Int 5
Netware Dos Requester
preferred server = NETWARE
file handles = 70
Protocol TCPIP
PATH SCRIPT n:\lwp\SCRIPT
PATH TCP_CFG n:\lwp\TCP
ip_netmask 255.255.255.224
ip_address 193.170.149.142
ip_router 193.170.149.158

2.6.14 TRUMPET WINSOCK


Trumpet Winsock Version 2.1 Revision F
Ethernet address = 00:80:C8:24:30:1C
WINPKT packet driver located on vector $62
IP buffers = 32 Packet buffers = 16
My IP = 193.170.149.142 netmask = 255.255.255.224 gateway = 193.170.149.150




3 HTML


Das World Wide Web (WWW) ist ein Hypertext - System, das in gro├čem Ausma├č ├╝ber das gesamte Internet verteilt installiert ist. Dieses System besteht aus Dokumenten, die Verkn├╝pfungen (Hyper - Links) zu anderen Dokumenten, Dateien und anderen Internet - Ressourcen enthalten.

3.1 URLs


Urls (Uniform Ressource Locators) bestimmen die genaue Adresse der Internet - Ressourcen.

URL - Syntax


http:// www.htlwrn.ac.at :80 /r.simon/index.html

Protokoll Internet - Rechner Dokumentadresse
Protokoll - Port - Nummer

Protokolle: ftp, http, shttp (secure), gopher, telnet, news, wais, mailto (E - mail)

3.1.1 HTTP


Das HTTP (Hypertext Transfer Protocol) erlaubt es dem Benutzer, Hyperlinks in den Dokumenten zu verwenden, um weitere Informationen zu erlangen. Ein WWW - Server antwortet auf entsprechende Anforderungen, indem er als Antwort eine Datei im MIME - Format zur├╝cksendet.

3.1.2 MIME


Das MIME - Format (Multipurpose Internet Mail Extension) stellt eine Konvention f├╝r den Austausch von Dateien jeglichen Formats dar. Eine MIME - Datei enh├Ąlt folgende Header - Informationen:
    MIME - Typ, der beschreibt, welcher Art die Daten sind, die die MIME - Datei enth├Ąlt Kodierungstyp, der beschreibt, wie die Daten dekodiert werden k├Ânnen

Bei HTTP kann der Empf├Ąnger angeben, welchen MIME - Typ er ben├Âtigt, der Server kann die geeignete Kodierung w├Ąhlen.

MIME - Typ Beschreibung .
application/msword Microsoft Word Dokument
image/gif GIF - Bild
text/html HTML - Text
text/plain ASCII - Text
application/zip ZIP - komprimiert


3.2 WWW - Browser


Der wichtigste Browser ist Netscape. Microsoft versucht mit dem Internet - Explorer Anschluss zu finden.
Unter linux ist der freie Browser "arena" verf├╝gbar.

├ťbung - Netscape: Probieren Sie die Optionen Netscapes und einige HTML - Dokumente.
Sehen Sie sich die Dokumentation zu HTML und JAVA in der Homepage
http://www.htlwrn.ac.at/r.simon an. Netscape zeigt auf Wunsch die HTML - Sourcen an.
Java - Programme sind auf l1:/home/sj/java vorhanden.


3.3 HTML: Struktur - Tags, ├ťberschriften, Umbr├╝che


Ein HTML - Dokument besteht aus HTML - Tags, die in ASCII - Text notiert werden. Die Darstellung dieses Textes erfolgt durch WWW - Browser, dieser beeinflusst massgeblich das Aussehen.
Mehrere Leerzeichen oder Tabulatoren hintereinander werden durch ein einzelnes ersetzt, ausgenommen sie verwenden spezielle Textformate.

├ťbung - html - tags: Erstellen Sie ihr 1. HTML - Dokument mit der Darstellung ihrer Person.
Verwenden Sie und als Beginn und Ende.
Machen Sie einen mit , Kommentar mit <! - - Kommentar - - >,<br> einen <BODY> mit mehreren ├ťberschriften <H1> bis <H6>,<br> f├╝gen Sie Abs├Ątze mit <P> ohne Ende - Tag und Zeilenumbr├╝che mit <BR> ein und Linien mit <HR Size=Pixel Width=Pixel|n% Align=Left|Right|Center> ein.<br> Im BODY kann mit BGCOLOR oder BACKGROUND="Bilddatei" der Hintergrund ver├Ąndert werden.<br> <h2>3.4 HTML:Listen, Zeichenformatierung</h2> <br> ├ťbung - html - listen: Erweitern Sie ihr HTML - Dokument mit der Darstellung ihrer F├Ąhigkeiten und Hobbys.<br> Verwenden Sie verschiedene Listenformate um diese darzustellen.<br> Verzeichnisliste <DIR><LI></DIR><br> Geordnete Liste <OL><LI></OL><br> Ungeordnete Liste <UL><LI></UL><br> Men├╝ - Liste <MENU><LI></MENU><br> Definitionsliste <DL><DT><DD></DL><br> <br> Besonders fleissige k├Ânnen noch mit den verschiedenen Textformate experimentieren:<br> Fettschrift <B></B><br> Hervorgehoben <EM></EM><br> Stark hervorgehoben <STRONG></STRONG><br> Kursivschrift <I></I><br> Text bleibt unver├Ąndert <PRE></PRE><br> Nicht proportionaler Text <TT></TT><br> Text ausrichten Align="Left|Middle|Center" (Bei mehreren Tags optional verwendbar)<br> Adresse des Autors <ADDRESS> </ADDRESS><br> Sonderzeichen <>&"├č├ť <,> & " ├č ├ť<br> Textgr├Â├če und - farbe <FONT SIZE=[1 - 7]> </FONT> <FONT COLOR=#RGB> </FONT><br> <br> Hinweis: HTML unterst├╝tzt weiters noch wundersch├Âne Tabellen und Frames. Frames teilen das Fenster in mehrere Unterbereiche.<br> <br> <h2>3.5 HTML: Grafiken, Hyperlinks, Java - Applets referenzieren</h2> <br> Grafikdateien vom Typ GIF, JPEG und XBM k├Ânnen mit<br> <IMG Src="URL" Alt="Text, falls Bild nicht angezeigt werden kann"> eingef├╝gt werden.<br> <A HREF="URL"><IMG Src=""></A> f├╝gt die Grafik ein, auf die der Hyperlink verweist.<br> <br> Video und Sound - Dateien werden in Standard - HTML noch nicht unterst├╝tzt.<br> <br> Hyperlinks (Anker) werden mit <A Href="URL"> Mit Hyperlink verkn├╝pfter Text </A> definiert.<br> Der URL kann relativ zum aktuellen Serverpfad oder absolut angegeben werden.<br> <br> <br> Bsp1: <A HREF="http://www.htlstpoe.ac.at"> HTL St. P├Âlten </A><br> Bsp2: <IMG align=middle SRC="htlhand.gif"><A HREF="mailto:user@htlwrn.ac.at">Write me! </A><br> <br> Sie k├Ânnen Verkn├╝pfungen zwischen mehreren Dokumenten wie z.B. ein Inhaltsverzeichnis mit<br> benannten Ankern aufbauen. <A NAME="Ankername"> Text </A>. Der URL ist dann #Ankername.<br> <br> Ein JAVA - Applet l├Ąsst sich auf folgende Weise einbinden:<br> <APPLET Code=Name der Klassendatei.class Width=Breite Heigth=H├Âhe in Pixel><br> <PARAM Name=AppletParameter Value=Wert><br> </APPLET><br> <br> ├ťbung html - grafik: Scannen Sie ihr Bild und f├╝gen Sie es in ihr HTML - Dokument ein.<br> F├╝gen Sie ein Bild, ihre Email - Adresse und f├╝r sie interessante Hyperlinks ein.<br> Erstellen Sie ein Inhaltsverzeichnis Ihres Dokuments mit Ankern.<br> F├╝gen Sie ein JAVA - Applet aus der Bespielssammlung ein.<br> <br> <br> <h2>3.6 CGI - Skripte</h2> <br> Wir wollen mit dem WWW - Browser nicht nur Dokumente ansehen k├Ânnen, sondern auch Eingaben durchf├╝hren k├Ânnen, die dann von einem Server bearbeitet werden. Dieser Server kann eine Datenbank betreiben und wir geben eine Datenbankabfrage ein, oder der Server f├╝hrt sonstige Berechnungen durch und sendet uns die Ausgabe.<br> <br> <h3>3.6.1 Technik ohne JAVA</h3> Man definiert in HTML sogenannte Formulare. Wenn der Anwender die Submit - Schaltfl├Ąche anklickt, werden der Text aus den Textfeldern und die Einstellungen der Schaltfl├Ąchen zum Server zur├╝ckgesendet. Auf dem Server wird das Programm (CGI - Skript) gestartet, welches bei Action im FORM - Tag angegeben ist. Der http - D├Ąmon auf dem Server schlie├čt das CGI - Skript an und gibt ihm die entsprechenden Daten. Das CGI - Skript verarbeitet die Formulardaten und sendet eine Antwortseite an den Browser zur├╝ck. Deren 1.Zeile muss sein: "Content - type: <Mime - type>" ├ťblicherweise wird das CGI - Skript in Perl (Erweiterung von UNIX - Shell - Script) geschrieben, C oder JAVA ist jedoch genauso m├Âglich.<br> <br> <br> Antwort= Formular=<br> seite daten<br> CGI - Web - Browser Formular<br> Skript http - des Client<br> Server<br> <br> <br> Die Formulardaten k├Ânne mit den Methoden GET oder POST gesendet werden. Bei der GET - Methode werden die Eingabedaten alsTeil des URL ├╝bergeben, bei der POST - Methode in der Standardeingabe. Der Server sendet kein EOF, daher muss der Programmierer das Ende an Hand der ENVIRONMENT - Variable "CONTENT_LENGTH" ermitteln.<br> <br> GET - Methode:Der httpd bekommt vom Browser folgende Anforderung: GET scriptname?parameters<br> Dieser Zeichenkette muss eine Leerzeile folgen.<br> Bsp.: GET /cgi - bin/priceinfo?Toaster+Herd\n\n<br> Das Skript Priceinfo w├╝rde diese Information, gefolgt von dem ? als Befehlszeilenparameter empfangen (argv[0] f├╝r Toaster und argv[1] f├╝r Herd). Sie k├Ânnen also mehr als eine Anweisung in die Befehlszeile eingeben, getrennt durch "+" .<br> URL - Kodierung: Alle nicht alphanumerischen Zeichen, ausgenommen "+" und "&" werden durch ein "%" - Zeichen gefolgt von einer zweistelligen Hexadezimalzahl kodiert. Dies verhindert, dass alle Zwischenprogramme durch Eingabe von Zwischenr├Ąumen und Sonderzeichen durcheinandergebracht werden. Bsp.: "Mastering C++" wird zu "Mastering+C%2b%2b" weil die Hexadezimalzahl "2b" der ASCII - Code von "+" ist.<br> In der ENVIRONMENT - Variable "QUERY_STRING" steht der gesamte Eingabestring zur Verf├╝gung. (C - Funktion getenv)<br> <br> Formulare<br> <br> Formular <FORM Action="URL"> <FORM Mehtod="GET|POST"> </FORM><br> Kontrollk├Ąstchen <INPUT Type="CHECKBOX"><br> Textfeld <INPUT Type="TEXT"><br> Passwort <INPUT Type="PASSWORD"><br> Gruppe von Optionsfeldern <INPUT Type="RADIO"><br> Sende - Schaltfl├Ąche <INPUT Type="SUBMIT"><br> Listenelement <OPTION><br> Auswahlliste <SELECT></SELECT><br> Mehrzeiliges Textfeld <TEXTAREA></TEXTAREA><br> <br> CGI - Programme in C<br> <br> Perl ist zwar die 1. Wahl f├╝r CGI - Programme, vieles spricht aber f├╝r C. Vorteil 1: sie beherrschen C, aber nicht Perl. Vorteil 2: C ist schneller. Vorteil 3: C als binary ist besser zu sch├╝tzen.<br> <br> Die ├ťbergabe von Parametern an CGI - Programme erfolgt entweder ├╝ber die GET - oder POST - Methode. Die L├Ąnge der Parameter ist nicht beschr├Ąnkt. Da die ├ťbernahme der Parameter vom Browser in C kompliziert ist, gibt es diverse Routinensammlungen, die das Leben erleichtern.<br> NCSA - Daemon: http://hoohoo.ncsa.uiuc.edu/docs/setup/Compilation.html<br> cgic: http://www.boutell.com/cgic/<br> gd: http://www.boutell.com/gd/ Zeichenfunktion zur Erstellung von Grafiken<br> <br> ├ťbung - html - cgi: Erstellen Sie ein Formular in Ihrem Dokument und ein CGI - Skript in C mit der<br> GET - Methode.<br> z.B.: Suchmaschine (Suchbegriff, gesucht wird in Dateien am Server)<br> Hotel - , Flugzeugreservierung<br> Bestellung von z.B. CDs (incl. Verwaltung des Bestandes)<br> Fernwartung des WWW - Servers (ps, df - Kommandoausgabe ├╝ber CGI schicken)<br> <br> <br> <br> <h4>3.6.1.1 Technik mit JAVA</h4> Auf dem Client l├Ąuft das JAVA - Applet und kann bereits sehr viel berechnen, formatieren und darstellen. Bei Bedarf kann ├╝ber CGI, Sockets oder Mailto Verbindung mit dem JAVA - Programm auf dem Server aufgenommen werden um Daten zu sammeln oder abzulegen.<br> <br> CORNELL/HORSTMANN (S. 623 - 633) haben Perl, C und JAVA verglichen und kommen zu folgendem Ergebnis:<br> JAVA schl├Ągt C bei Netzwerkprogrammierung, Zeichenketten und Absturzsicherheit.<br> JAVA schl├Ągt Perl, da es einfacher zu lesen und zu warten ist.<br> <br> Ein Perl - Bsp.: $url =<<Tilde>> s/%([a - fA - F0 - 9][a - fA - F0 - 9])/pack("C", hex($1)) /eg;<br> ($name, $aliases, $proto) = getprotobyname (‘tcp’);<br> socket (S, $AF_INET, $port, $thataddr);<br> <br> <br> Hinweis: JAVA - Skript hat mit JAVA nur den Namen gemeinsam. Auch Java - Skript l├Ąuft auf der Client - Seite. JAVA - Skript hat den Vorteil, auch auf 16 - Bit - Betriebssystemen wie WINDOWS 3.1 zu laufen. Dieser Vorteil wird jedoch bald nicht mehr relevant sein. Progammiertechnisch ist JAVA vorzuziehen.<br> <br> Hinweis: CGI ist nicht sehr komfortabel um wird von einer neuen Technik abgel├Âst werden. Microsoft versucht derzeit mit seinem Internet Information Server 3.0 verlorenes Terrain wiederzugewinnen und stellt mit ASP (Advanced Server Pages) eine CGI - Alternative vor, die kontr├Ąr zur Linie aller anderen Firmen geht. Diese wollen IIOP (Internet Inter Object Request Broker) als den weltweiten Standard implementieren.<br> <br> <h2>3.7 WWW - Server Apache konfigurieren</h2> <br> ├ťbung - apache: Durchsuchen Sie den experimentellen WWW - Server auf der l1.<br> <ul> Verzeichnisse conf, cgi - bin, data, ftp in /local/www /etc/passwd in bezug auf ftp - user (chroot bei /home/ftp/./home/hlab bewirkt, das der Benutzer nur ftp durchf├╝hren kann und sein HOME - Verzeichnis als Wurzel hat) ├ťbertragen Sie eine HTML - Seite in das ├ťbungsverzeichnis und betrachten Sie diese in Netscape ├╝ber den Internet - Namen htttp://l1.htlwrn.ac.at/.....</ul> <h1>4 JAVA</h1> <br> <h2>4.1 java.applet.Applet</h2> <br> Die grundlegenden Methoden zur Steuerung eines Applets sind:<br> <br> init() Diese Methode ruft der Browser sofort nach dem Konstruktor des Applets auf.<br> Sie dient der Initialisierung der verwendeten Daten.<br> <br> start() Nach der Initialisierung des Applets ruft der Browser diese Methode auf.<br> Diesen Aufruf wiederholt er nach jedem erneuten Laden der Applet - Seite ohne dann jedoch zuvor init() auszuf├╝hren.<br> <br> stop() Beim Verlassen der Seite und vor dem Beenden des Browsers arbeitet er die Methode stop() ab.<br> <br> destroy() Methode soll das Applet vollst├Ąndig l├Âschen.<br> <br> Mit der Methode getAppletContext() kann man unerw├╝nschte Wirkungen hervorrufen.<br> <br> // Datei jf/kapitel4/abschnitt4/LookAtMeApplet.java<br> <br> public class LookAtMeApplet extends Applet {<br> public void start() {<br> In der Startmethode versucht das Applet sofort, eine andere HTML - Seite zu laden. Es nutzt<br> dazu die Methode showDocument() der Klasse AppletContext.<br> <br> try {<br> getAppletContext().showDocument(<br> new URL( getDocumentBase(), "ThisIsWhatYouGet.htm" ));<br> }<br> catch( java.net.MalformedURLException e ) {<br> System.out.println( e.toString() );<br> }<br> }<br> <br> Bindet man das Applet in eine Seite ein, so wird tats├Ąchlich ThisIsWhatYouGet.htm geladen.<br> <br> <br> <br> Hier ein weiteres applet mit einer Zeichenfl├Ąche (canvas)<br> <br> import java.applet.*;<br> import java.awt.*;<br> import java.awt.image.*;<br> import java.lang.Boolean;<br> import java.net.*;<br> <br> public class AppTest extends java.applet.Applet<br> {<br> String cMsg;<br> public void init()<br> {<br> String cImage;<br> String cWidth;<br> String cHeight;<br> String cDisplayGif;<br> int iWidth;<br> int iHeight;<br> Boolean bDisplayGif;<br> //<br> // Parameter auslesen<br> //<br> cMsg = getParameter("message");<br> cWidth = getParameter("width");<br> cHeight = getParameter("height");<br> iWidth = Integer.parseInt(cWidth);<br> iHeight = Integer.parseInt(cHeight);<br> //<br> // Applet auf gewuenschte Groesse<br> //<br> resize(iWidth, iHeight);<br> }<br> public void start()<br> {<br> this.Info ();<br> }<br> public void stop()<br> {<br> }<br> public void destroy()<br> {<br> }<br> public void Info ()<br> {<br> System.out.println( getAppletInfo() );<br> <br> System.out.println( getCodeBase() );<br> <br> System.out.println( getDocumentBase() );<br> }<br> <br> public void paint(Graphics g) // Grafikobjekt f├╝r Zeichenfl├Ąche<br> {<br> FontMetrics fm;<br> int iWidth;<br> int iHeight;<br> Dimension dim;<br> dim = size();<br> fm = g.getFontMetrics();<br> iHeight = fm.getHeight();<br> iWidth = fm.stringWidth(cMsg);<br> g.drawString( cMsg, (dim.width - iWidth)/2, (dim.height - iHeight)/2 );<br> }<br> }<br> <br> Aufruf des applets ├╝ber HTML<br> <br> <CENTER><STRONG><H1> Applet </H1></STRONG></CENTER><br> <HR><br> <APPLET Code="AppTest.class"Width=400 Height=200><br> <param NAME="height" VALUE=200><br> <param NAME="width" VALUE=400><br> <param NAME="message" VALUE="AppletTest"><br> <param NAME="display" VALUE=true><br> </APPLET><br> <h2>4.2 java.net.Socket</h2> <br> In der Programmierung unter Unix sind Sockets ein ├╝bliches Mittel zur Herstellung von Kommunikationsverbindungen zwischen Prozessen auf m├Âglicherweise verschiedenen Rechnern.<br> Sockets abstrahieren dabei von dem konkreten ├ťbertragungsprotokoll (TCP/IP, UDP/IP), der Programmierer muss sich lediglich an einen bestimmten Ablauf beim Verbindungsauf - und - abbau halten.<br> Die wichtigsten Klassen sind InetAddress (Internet - Adresse), ServerSocket (Socket f├╝r den Server in einer Client - Server - Verbindung), Socket (Socket f├╝r den Client) und URL (Repr├Ąsentation eines URL - Objekts).<br> <br> In einer TCP - Verbindung ├╝bernimmt ein Prozess die Rolle des Servers und ein anderer die Rolle des Clients. Der Server ├Âffnet einen Socket (open), bindet eine lokale Adresse (bind), spezifiziert die Anzahl der gleichzeitig zu bearbeitenden Clients (listen) und wartet dann auf Clients (select und accept). Ein Client ├Âffnet ebenfalls einen Socket (open) und verbindet diesen dann mit der Adresse des Servers (connect). Im Erfolgsfall ist nach diesem Procedere zwischen Server und Client eine Verbindung hergestellt, ├╝ber die sie Nachrichten austauschen k├Ânnen.<br> <br> public final class ServerSocket extends Object<br> <br> Konstruktoren<br> <br> public ServerSocket( int port ) throws IOException<br> // Lokaler Port, unter dem der Server zu erreichen ist.<br> public ServerSocket( int port, int count ) throws IOException<br> // Anzahl akzeptierter Clients.<br> <br> Auswahl der Methoden<br> <br> public InetAddress getInetAddress()<br> // eigene Internet - Adresse<br> public int getLocalPort()<br> // eigener Port<br> public Socket accept() throws IOException<br> // Akzeptieren von Clients<br> public void close() throws IOException<br> // Schliessen der Verbindung<br> <br> Ein Objekt der Klasse ServerSocket wird in einer Endlosschleife mit accept() auf Clients warten. Meldet sich ein Client an, so kann der Server den von accept() zur├╝ckgegebenen Socket zum Nachrichtenaustausch mit dem Client verwenden und dessen Anforderung bearbeiten. F├╝r die Bearbeitung startet der Server im allgemeinen einen eigenen Thread, damit er gleichzeitig auf weitere Clients warten kann.<br> <br> Die Klasse Socket definiert die eigentliche ├ťbertragungsfunktionalit├Ąt, indem sie Ein - und Ausgabestr├Âme nach aussen reicht.<br> <br> public final class Socket extends Object<br> <br> Auswahl der Konstruktoren<br> <br> public Socket( String host, int port )<br> throws UnknownHostException, IOException<br> // Verbindungsaufbau zu einem Server auf dem Rechner host am Port port<br> public Socket( InetAddress address, int port ) throws IOException<br> // Verbindungsaufbau ├╝ber die Internet - Adresse<br> <br> Auswahl der Methoden<br> <br> public InetAddress getInetAddress()<br> // Internet - Adresse des Servers<br> public int getPort()<br> // Port des Servers<br> public int getLocalPort()<br> // eigener Port<br> public InputStream getInputStream() throws IOException<br> // Eingabestrom f├╝r die Daten├╝bertragung<br> public OutputStream getOutputStream() throws IOException<br> // Ausgabestrom f├╝r die Daten├╝bertragung<br> public synchronized void close() throws IOException<br> // Verbindungsabbau<br> <br> <br> In dem kleinen Beispiel sendet der Server jede vom Client erhaltene Zeile umgehend gespiegelt zur├╝ck. Er nutzt dazu die Klasse jf.kapitel3.abschnitt4.StringMirror.<br> <br> public class EchoServer {<br> public static void main ( String[] args ) {<br> new EchoServer().start();<br> }<br> public void start() {<br> ServerSocket serverSocket = null;<br> Socket clientSocket = null;<br> try {<br> serverSocket = new ServerSocket( 5574 );<br> while (( clientSocket = serverSocket.accept() ) != null )<br> ( new EchoService( clientSocket )).start();<br> }<br> <br> Ein Objekt der Klasse EchoService liest Bytes vom Client, wandelt sie in eine Zeichenkette, vertauscht die Reihenfolge der Buchstaben und sendet das Ergebnis als Bytes zur├╝ck.<br> <br> <br> class EchoService extends Thread {<br> private byte[] buffer = new byte[ 1024 ];<br> private int readLength = 0;<br> private Socket socket = null;<br> private String line = null;<br> public EchoService( Socket socket ) { this.socket = socket; }<br> public void run() {<br> try {<br> OutputStream out = socket.getOutputStream();<br> InputStream in = socket.getInputStream();<br> while (( readLength = in.read( buffer ))> 0 ) {<br> line = new String( buffer, 0, readLength );<br> line = StringMirror.doMirror( line );<br> out.write( line.getBytes(), 0, line.length() );<br> }<br> }<br> <br> Der gerade akzeptierte Client wird in einem parallelen Thread bedient. Der Server kann durch die<br> Verwendung von Threads also mehrere Clients gleichzeitig bearbeiten.<br> <br> An dieser Stelle sei noch einmal darauf verwiesen, dass Applets in NetScape nur Socket - Verbindungen zu dem Rechner aufbauen d├╝rfen, von dem die Seite geladen wurde.<br> Der folgende Client funktioniert also nur, wenn der Echo - Server auf demselben Rechner gestartet wird, von dem die HTML - Seite stammt.<br> <br> Unter linux sind sockets im Normalfall nicht offen. Die Beispiele funktionieren nur, wenn man sie als Superuser startet.<br> <br> <br> // Datei jf/kapitel5/abschnitt4/EchoClientApplet.java<br> <br> public class EchoClientApplet extends Applet<br> implements ActionListener {<br> private Socket socket = null;<br> private TextField iTF = null, oTF = null;<br> private Button button = null;<br> private InputStream in = null;<br> private OutputStream out = null;<br> private String host = null;<br> private byte[] buffer = new byte[ 1024 ];<br> public void init() {<br> Panel bPanel = new Panel();<br> Panel tPanel = new Panel();<br> bPanel.setLayout( new GridLayout( 2, 1 ));<br> bPanel.add( ( button = new Button( "Sende" )));<br> button.addActionListener( this );<br> bPanel.add( ( new Label( "Empfangen:" )));<br> tPanel.setLayout( new GridLayout( 2, 1 ));<br> tPanel.add( ( iTF = new TextField( 30 )));<br> iTF.addActionListener( this );<br> tPanel.add( ( oTF = new TextField( 30 )));<br> setLayout( new FlowLayout() );<br> add( bPanel ); add( tPanel );<br> <br> Das Applet kann nur Verbindungen zum Rechner der eigenen DocumentBase aufbauen, deshalb<br> wird host auf diese Weise initialisiert.<br> <br> host = getDocumentBase().getHost();<br> if ( host.equals( "" )) host = "localhost";<br> }<br> public void start() {<br> if ( socket == null )<br> try {<br> socket = new Socket( host, 5574 );<br> in = socket.getInputStream();<br> out = socket.getOutputStream();<br> }<br> catch ( UnknownHostException e ) {<br> oTF.setText( "unbekannter Rechner" );<br> }<br> catch ( IOException e ) {<br> oTF.setText( "IO - Fehler " +e );<br> }<br> }<br> public void stop() {<br> if ( socket != null )<br> try { socket.close();}<br> catch ( IOException e ) {}<br> socket = null; in = null; out = null;<br> }<br> <br> public void actionPerformed( ActionEvent actionEvent ) {<br> if ( socket != null ) {<br> try {<br> String line = iTF.getText();<br> int readLength = 0;<br> out.write( line.getBytes(), 0, line.length() );<br> readLength = in.read( buffer );<br> oTF.setText( new String( buffer, 0, readLength ));<br> <br> <h2>4.3 java.net.URL</h2> Eine komfortable Klasse zum Datenaustausch im World Wide Web ist die Klasse URL. Mit ihr k├Ânnen entfernte World Wide Web - Dateien oder Server (z.B. ftp) adressiert, gelesen und ausgewertet werden.<br> <br> public final class URL extends Object<br> <br> Konstruktoren<br> <br> <br> public URL( String prot, String host, int port, String file )<br> throws MalformedURLException<br> // URL - Adresse in Komponenten<br> public URL( String protocol, String host, String file )<br> throws MalformedURLException<br> // Standard - Port<br> public URL( String spec ) throws MalformedURLException<br> // URL - Adresse als String<br> public URL( URL context, String spec ) throws MalformedURLException<br> // Hierarchie<br> <br> Auswahl der Methoden<br> <br> public int getPort()<br> // Port der URL - Adresse<br> public String getProtocol()<br> // Protokoll der URL - Adresse<br> public String getHost()<br> // Host der URL - Adresse<br> public String getFile()<br> // Dateiname<br> public URLConnection openConnection() throws IOException<br> // Verbindungsaufbau<br> public final InputStream openStream() throws IOException<br> // Eingabestrom<br> public final Object getContent() throws IOException<br> // Inhalt<br> <br> Als Abschlu├čbeispiel soll ein Programm dienen, mit dem man von der Kommandozeile aus WWW - Seiten abfragen kann. Diese werden im Quelltextformat angezeigt.<br> // Datei jf/kapitel5/abschnitt4/ShowUrl.java<br> <br> URL url = new URL( args[ 0 ] );<br> BufferedReader in = new BufferedReader(<br> new InputStreamReader(<br> url.openStream() ));<br> String line = null;<br> while (( line = in.readLine()) != null )<br> System.out.println( line );<br> <br> <br> <br> <br> <br> <br> <br> <br> ├ťbung java - URL:<br> <br> <ul> Entwerfen Sie ein Applet, das die Zugriffe auf die eigene WWW - Seite z├Ąhlt.<br> Es soll sich dazu einer Z├Ąhlerdatei auf dem WWW - Server bedienen. Diese Z├Ąhlerdatei soll durch ein CGI - Programm in C aktualisiert werden.<br> Das Applet soll einen Button besitzen, mit dem der Z├Ąhlerstand erh├Âht wird. Dazu muss das CGI - Programm aus dem JAVA - Applet heraus aktiviert werden. /Java bis in Detail S.594 - 612/<br> Dazu muss ein Socket auf den WWW - Server und dem Port 80 ge├Âffnet werden. ├ťber diesen Socket muss zuerst das Script aufgerufen werden und anschlie├čend die Daten empfangen werden.<br> In einer Textarea sollen alle Zeilen aus der Log - Datei des Servers, die diese Seite betreffen, aufgelistet werden.</ul> <br> <br> <br> </p> <p class="text_object_info"> 8865 Worte in "deutsch"  als "hilfreich"  bewertet </p> </div> <div id="partner_links_container"> <div class="raw_html_container"> </div> </div> </div> </div> </div> </div> <div id="page_footer"> <p id="footer_links"><a href="impressum.php">Impressum</a> • <a href="nutzung.php">Nutzungsbedingungen</a> • <a href="werbung.php">Werbung</a></p> <div id="footer_disclaimer"> <span>© 2007-2024 by MK-Multimedia, wir distanzieren uns hiermit ausdrücklich von allen Inhalten aller verlinkter Seiten.</span> </div> </div> </div> </body> </html>