Anwendungsprotokolle im Internet



Ähnliche Dokumente
DOMAIN NAME SYSTEM (DNS) JULIA KRISCHIK, INTERNETPROTOKOLLE WS 2012/13

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht

Man liest sich: POP3/IMAP

CNAME-Record Verknüpfung einer Subdomain mit einer anderen Subdomain. Ein Alias für einen Domainnamen.

Konfiguration eines DNS-Servers

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Grundlagen DNS 1/5. DNS (Domain Name System)

Clientkonfiguration für Hosted Exchange 2010

Technische Grundlagen von Internetzugängen

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

Benutzerhandbuch. DNS Server Administrationstool. Für den Server: dns.firestorm.ch V

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Guide DynDNS und Portforwarding

DNS Server einrichten unter Debian Linux. DHCP Server einrichten unter Debian Linux. Querschnittsaufgaben.

Anwendungsprotokolle: HTTP, POP, SMTP

Online-Publishing mit HTML und CSS für Einsteigerinnen

Vorlesung SS 2001: Sicherheit in offenen Netzen

DNS Das Domain Name System

Registrierung am Elterninformationssysytem: ClaXss Infoline

Erstellen von Mailboxen

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Konfiguration des Domänennamensdienstes und Automatische Vergabe von IP-Adressen

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Konfiguration des Mailtools Messenger in Netscape

Modul 13: DHCP (Dynamic Host Configuration Protocol)

How to install freesshd

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

LOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung

Betriebskonzept Einrichtung

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Kurs Notizen Rene Dreher -DNS (Domain Name System)

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen

OP-LOG

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? , Frank Agerholm, Linux User Group Flensburg e.v.

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Hochschulrechenzentrum

Windows 2008R2 Server im Datennetz der LUH

Netzwerk. Um den Hostnamen angezeigt zu bekommen $ hostname $ hostname -f Um den Hostnamen zu ändern $ hostname <neuerhostname>

Gefahren aus dem Internet 1 Grundwissen April 2010

FTP-Leitfaden RZ. Benutzerleitfaden

Windows 2008 Server R2. Peter Unger

So richten Sie Ihr Postfach im Mail-Programm Apple Mail ein:

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Leitfaden zur Nutzung von binder CryptShare

Powermanager Server- Client- Installation

FAQ IMAP (Internet Message Access Protocol)

Vorlesung SS 2001: Sicherheit in offenen Netzen

Kapitel 7 TCP/IP-Konfiguration zum Drucken (Windows NT 4.0)

Web Interface für Anwender

-Bundle auf Ihrem virtuellen Server installieren.

Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems

Anleitung Grundsetup C3 Mail & SMS Gateway V

Einrichtungsanleitung Router MX200

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Verbindung zu WRDS über SAS auf dem Terminalserver

DHCP. DHCP Theorie. Inhalt. Allgemein. Allgemein (cont.) Aufgabe

Infomelde-Server Einstellungen

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

Ihr Benutzerhandbuch für das IntelliWebs - Redaktionssystem

Schritt 2: Konto erstellen

Remote Tools. SFTP Port X11. Proxy SSH SCP.

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

Internetprotokoll TCP / IP

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9

a.i.o. control AIO GATEWAY Einrichtung

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Publizieren von Webs mit SmartFTP

Mail Control System. [ Dokumentation und Hilfe ] Stand

Netzwerkeinstellungen unter Mac OS X

Adressen der BA Leipzig

(elektronische Post)

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

ELV Elektronik AG Leer Tel.:+49-(0)491/ Fax:+49-(0)491/7016 Seite 1 von 10

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

Konfigurationsanleitung Konfiguration unter Outlook Express 6.0

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

we run IT! ArGO Mail Inhaltsverzeichnis Services zurzeit in ArGO Mail aktiv: Mail

Einrichtung eines -konto mit Outlook Express

Port-Weiterleitung einrichten

VERWALTUNG. Postfächer, Autoresponder, Weiterleitungen, Aliases. Bachstraße 47, 3580 Mödring

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme


Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS

Client-Server-Prinzip

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

" -Adresse": Geben Sie hier bitte die vorher eingerichtete Adresse ein.

Transkript:

Anwendungsprotokolle im Internet Skript zur Vorlesung On-/Offline-Produktion/Netze OPN Prof. Dr. Nils Martini

INHALTSVERZEICHNIS 1 Inhaltsverzeichnis 6 Anwendungsschicht 2 6.1 Electronic Mail............................... 2 6.1.1 Grundfunktionen.......................... 2 6.1.2 Simple Mail Transfer Protocol (SMTP).............. 5 6.2 USENET / NetNews............................ 6 6.3 World Wide Web (WWW)......................... 7 6.4 File Transfer Protocol (FTP)....................... 8 6.5 Remote Login................................ 9 6.5.1 Telnet................................ 9 6.5.2 r-befehle............................... 10 6.6 TFTP.................................... 12 6.7 BootP.................................... 13 6.8 Namens-Dienste im Internet........................ 13 6.8.1 hosts-datei............................. 14 6.8.2 Domain Name Service DNS.................... 14 6.8.3 DHCP................................ 18 6.8.4 WINS................................ 19 6.8.5 NIS.................................. 19

6 ANWENDUNGSSCHICHT 2 6 Anwendungsschicht Die Anwendungs- oder Verarbeitungsschicht (Application Layer) im Internet entspricht der Schicht 7 des OSI-Modells bei der Anwendungsschicht handelt es sich um die Schnittstelle zwischen Benutzer- -Programmen und den Netzwerkfunktionen diese Benutzer-Interfaces werden damit unabhängig von der Realisierung von Netzwerkzugriffen auch die Anwendungsschicht arbeitet mit Protokollen, damit Applikationen unabhängig vom Betriebssystem laufen Beispiele: FTP File Transfer Protocol SMTP Simple Mail Transfer Protocol HTTP HyperText Transfer Protocol DNS Domain Name Service NNTP Network News Transport Protocol Telnet beachte: die Anwendungsschicht ist nicht zu verwechseln mit den Benutzer-Programmen (z.b. ein Browser), die lediglich eine betriebssystemspezifische Oberfläche für die Ein-/Ausgabe darstellen und auf den standardisierten Funktionen der Protokolle der Anwendungsschicht aufsetzen 6.1 Electronic Mail 6.1.1 Grundfunktionen elektronische Post (EMail) wird seit den frühen Zeiten des Internets zur Übermittlung von Textnachrichten zwischen Internet-Benutzern verwendet der Protokollstandard für EMail im Internet ist SMTP (Simple Mail Transfer Protocol), das in den RFCs 821 und 822 spezifiziert ist auch für die OSI-Protokollwelt existiert ein Standard: X.400 EMailsysteme bestehen i.allg. aus zwei Subsystemen: Benutzerprogramm (User Agent, UA) Serverprogramm (Message Transfer Agent, MTA) der Benutzeragent ist ein lokales Programm zum Erstellen der Mail, das als einfaches textbasiertes System oder als grafische Oberfläche, einschließlich zusätzlicher Funktionen wie Adressverwaltung, ausgeführt sein kann beim MTA handelt es sich um einen System-Daemon, der die Mail durch das System an die Schnittstelle zur Transportschicht leitet und bei Bedarf zwischenspeichert (Mail-Queue) sowie eingehende EMails annimmt und weiterverarbeitet die Grundfunktionen eines Email-Systems sind:

6 ANWENDUNGSSCHICHT 3 Erstellung und Beantwortung von Nachrichten; Unterstützung bei der Adressierung durch den UA Beförderung der Nachricht vom Absender zum Empfänger durch den MTA; Aufbau einer TCP-Verbindung zum Zielrechner oder Mailgate Meldungen über den Zustand der Nachricht Anzeige der Nachrichten; evtl. Konvertierung des Inhalts Verarbeitung der Nachricht; Speichern Spezialfunktionen Vacation-Funktion (z.b. bei Urlaub) automatische Weiterleitung (forward) Filterfunktionen Mailing-Listen Benachrichtigung, wenn eine Mail vom Empfänger gelesen wurde Priorität einstellen Verschlüsselung Benutzeragent (UA) Programm zum Verfassen, Lesen und Beantworten von Mails Speichern und Bearbeiten der Nachrichten in Mail-Boxen Mail versenden Verfassen eines Textes in einem beliebigen Texteditor Angabe einer Zieladresse (Feld To:) Adressformat im Internet: username@rechnername.domain Adressen im OSI-Format: /c=de/a=d400/o=fh-hamburg/ou=mt/cn=name Angabe eines Titels (Subject) Speichermöglichkeit für private Adresslisten (Alias-Namen) Einrichten von privaten Verteilerlisten Emails lesen automatische Abfrage der Mailbox des Benutzers oder manuelle Abfrage (z.b. bei PCs) Darstellung von Header-Informationen Anzeige von: Flags, Umfang des Headers Möglichkeiten zum Weiterleiten (forward), Antworten (reply), Antworten an alle Empfänger Nachrichtenformate Definition in RFC 821/822: Beschreibung des Headers bzw. Textformats Header-Felder: To: DNS-Adresse des primären Empfängers

6 ANWENDUNGSSCHICHT 4 Cc: Adressen von sekundären Empfängern Bcc: (wie Cc) diese Headerzeile wird beim Versenden entfernt Weitere Header-Informationen: From: bzw. Sender: Absender der Nachricht Received: wird von jedem MTA auf der Route eingetragen Return-Path: Angabe, wie die Mail zurückgeschickt werden kann Subject: Titel der Mail Date: Reply-To: Message-ID: mit dem Nachrichtenformat, das in RFC 821/822 definiert ist, lässt sich nur Text im 7-Bit-ASCII-Format übertragen sind in einer Mail Sonderzeichen enthalten, so können diese verloren gehen eine Übertragung von Binärdaten ist ebenfalls nicht möglich damit trotz dieser Einschränkungen beliebige Datenformate per EMail verschickt werden können, ist eine Umwandlung der Daten in 7-Bit-ASCII erforderlich MIME-Format (Multipurposed Internet Mail Extensions) mit dem MIME-Format steht eine Erweiterung der Nachrichtenformate für EMails zur Verfügung die Einschränkungen von RFC 822 werden hiermit aufgehoben, allerdings nur dann, wenn alle Zwischenstationen einer Mail dieses Format unterstützen es sind folgende zusätzliche Header definiert: MIME-Version Content-Description: Inhaltsbeschreibung der Nachricht Content-ID Content-Transfer-Encoding Content-Type das Content-Transfer-Encoding umfasst die Formate: 7-Bit-ASCII (RFC 822-kompatibel) 8-Bit-ASCII (Zeichensatz 0 bis 255) Base64 Encoding: Zerlegung von Binärdaten in ASCII-Zeichen (Vergrößerung der Datenmenge) Quoted-Printable Encoding: Text mit einigen Formatierungszeichen der Header Content-Type beschreibt die Art der Nachricht: Text: Plain, Richtext Image: Gif, Jpeg Audio: Basic

6 ANWENDUNGSSCHICHT 5 Video: Mpeg Application: Octetstream, PostScript Message: RFC 822, Partial, External-body Multipart: mehrteilige Nachrichten z.b. Content-Type: video/mpeg für die Nachrichtenübertragung wird zuerst eine TCP-Verbindung zwischen Quelle und Ziel aufgebaut (dieses Ziel muss nicht notwendigerweise das endgültige Ziel sein), anschließend gibt der MTA die Nachricht vom Absender zum Empfänger weiter die Kommunikation für diesen zweiten Schritt ist im SMTP-Protokoll definiert 6.1.2 Simple Mail Transfer Protocol (SMTP) die Versendung von Mails im Internet erfolgt durch den Aufbau einer TCP- Verbindung zu Port 25 dieser Port wird ständig durch einen EMail-Daemon abgehört, der SMTP spricht der Daemon nimmt Nachrichten an und kopiert sie in die entsprechenden Mailboxen eines Benutzers bei Fehlern wird ein Bericht erstellt und die Mail ggf. an den Absender zurückgeschickt Ablauf einer SMTP-Übertragung: zunächst wird eine Verbindung zu Port 25 aufgebaut und auf die Bereit-Meldung des Empfängers gewartet dann erfolgt die Identifikation des Sende-MTAs und die Übermittlung von Header-Informationen anschließend kann die Nachricht übermittelt werden der letzte Schritt ist der Abbau der TCP-Verbindung die auf diese Weise übertragenen Mails werden in einer Datei je Benutzer gespeichert ein Benutzer muss nun die einzelnen Mails mithilfe eines geeigneten Mailprogramms aus dieser Datei abrufen sofern das Mail-Filesystem nicht als Netzlaufwerk (Unix: NFS) auf dem Arbeitplatzrechner zur Verfügung steht, muss er sich mit dem Mailserver direkt verbinden stehen diese Möglichkeiten nicht zur Verfügung (z.b. bei Remote Access), ist ein zusätzliches Abfrage-Protokoll erforderlich (POP3, IMAP) Mailing-Listen: eine Mailing-Liste hat eine eigene Adresse, hinter der sich viele Einzeladressen verbergen sie werden oft zum Informationsaustausch in Benutzergruppen eingesetzt

6 ANWENDUNGSSCHICHT 6 Verwendung auch als Diskussionsforum 6.2 USENET / NetNews Bei Newsgruppen handelt es sich um Diskussionsforen ( schwarze Bretter ) zu den verschiedensten Themen ein Benutzer kann solche Newsgroups abonnieren (und somit die News-Artikel anderer Benutzer lesen) oder selbst Nachrichten bzw. Anfragen an eine Gruppe schicken zum Lesen und Verfassen von Artikeln stehen News-Reader (User Agent) mit einer zu Mail-Programmen ähnlichen Funktionalität zur Verfügung Newsgroups sind in Themenschwerpunkte unterteilt, die in einer baumartigen Struktur Untereinheiten enthalten: Comp: Computer Sci: Wissenschaft und Technik Humanities: Literatur, Humanwissenschaften News: Forum für News selbst Rec: Freizeit und Hobby Misc: Verschiedenes Soc: gesellschaftliche Themen Talk: Debatten, kontroverse Themen Alt: alternative Schiene Beispiele: comp.lang.c, comp.os.ms-windows.video, alt.alien.visitors in den einzelnen Gruppen werden teilweise technisch/wissenschaftlich anspruchsvolle Themen besprochen, andere Gruppen dienen oftmals nur dem Mitteilungsbedürfnis Einzelner die meisten Gruppen stehen für eine freie Diskussion zur Verfügung (d.h. es gibt keine Beschränkungen), es gibt jedoch auch so genannte moderierte Gruppen, in denen Artikel von einem Moderator vor dem Weiterleiten geprüft werden (z.b. zur Vermeidung von Polemik und Flame-Wars ) Artikel werden über ein Netz von News-Servern verteilt, wobei ein Benutzer die Artikel von seinem nächstgelegenen Server abruft nicht alle Server bieten sämtliche existierenden News-Gruppen an die Übertragung von Artikeln wird durch das Network News Transfer Protocol (NNTP) geregelt NNTP hat Ähnlichkeiten mit SMTP für die Kommunikation der Server gibt es zwei Ansätze: News Pull: Abrufen der News vom Server News Push: Server übermittelt die abonnierten News-Gruppen

6 ANWENDUNGSSCHICHT 7 auch bei NNTP wird eine TCP-Verbindung benötigt; die Port-Nr. ist 119 6.3 World Wide Web (WWW) Die Entwicklung des WWW begann um 1990 am physikalischen Forschungszentrum CERN es stellt einen Rahmen für den Zugriff auf verteilte Dokumente im Internet dar die Dokumente werden als so genannter Hypertext auf einem Server angelegt und mit einem Client-Programm (Browser) gelesen der Browser interpretiert die Formatierungen des Quelltextes bei dem Dokumenten-Format handelt es sich um die HyperText Markup Language (HTML) das Abrufen eines Dokuments vom Server verläuft in folgenden Schritten: Aufbau einer Verbindung zum Serverprozess auf TCP-Port 80 senden einer Anfrage durch den Client Übermittlung der Daten durch den Server nach dem Senden des Dokuments wird die Verbindung automatisch getrennt neben dem Protokoll HTTP (HyperText Transfer Protocol) für HTML-Dokumente werden oft weitere Protokolle (z.b. FTP, gopher) unterstützt als Alternative zum direkten Internet-Zugriff bieten viele Web-Server die Funktionalität eines Proxy-Servers HyperText Transfer Protocol (HTTP) Die Interaktion zwischen Server und Client erfolgt als ASCII-Anfrage mit einer MIME-ähnlichen Antwort es sind TCP-Verbindungen üblich, alternativ ist auch ATM (AAL 5) möglich Kommandos: GET Anfrage zum Lesen einer Webseite HEAD Anfrage zum Lesen des Headers PUT Anfrage zum Speichern einer Webseite POST Anhängen an eine bekannte Seite DELETE Entfernen einer Seite LINK Verbindet zwei Resourcen UNLINK Lösen dieser Verbindung die HTTP-Inhalte werden in einem MIME-ähnlichen Format übertragen Uniform Resource Locator URL jedes Dokument im WWW wird mit einer eindeutigen Adresse gekennzeichnet

6 ANWENDUNGSSCHICHT 8 diese besteht aus: Protokollname Rechnername Pfad- und Dateiname der Seite Beispiel: http://www.haw-hamburg.de/welcome.html die Protokolle, die in einem URL verwendet werden können, sind: http, ftp, file, news, gopher, telnet, mailto ein Nachteil von URLs ist der eindeutige Zusammenhang der Dokumenten-Adresse mit einem bestimmten Web-Server, sodass beispielsweise ein Load-Balancing zwischen mehreren Servern, auf denen dasselbe Dokument gespeichert ist, nur eingeschränkt möglich ist eine zukünftige Alternative ist der Uniform Resource Identifier (URI) 6.4 File Transfer Protocol (FTP) Das Übertragen von Dateien von einem Rechner zum einem anderen gehört zu den Standardanforderungen in vernetzten Systemen hierbei ist es sehr wichtig, dass der Austausch von Dateien unabhängig von Rechnertyp, Betriebs- und Dateisystem erfolgen kann diese Anforerungen erfüllt der herstellerunabhängige Internet-Standard FTP (RFC 959), der zu den ältesten Protokollen im Internet gehört FTP setzt direkt auf TCP auf und verwendet zwei TCP-Ports: Port 20: Datenverbindung Port 21: Steuerverbindung vor der Übertragung werden zwischen den beiden Rechnern Optionen ausgehandelt (Einstellungen, die von beiden Systemen unterstützt werden): Kodierung der Daten (ASCII, binär) Dateistruktur (zeilen- oder seitenorientiert) Übertragungsweise (kontinuierlich, blockweise) bei FTP werden die Daten nicht in ein allgemeines Format transformiert (wie z.b. beim telnet-nvt), es ist vielmehr die Aufgabe des jeweiligen Betriebssystems, die Daten in einer geeigneten Weise dem FTP-Dienst bereitzustellen bzw. weiterzuverarbeiten das bedeutet auch, dass das FTP-Protokoll Daten nicht auf Gültigkeit oder Verwendbarkeit auf dem jeweiligen Betriebssystem überprüft für den Benutzer stehen einige Anwendungsprogramme (z.b. WS-FTP für Windows oder IglooFTP für Linux) mit grafischer Oberfläche zur Verfügung, die jedoch alle auf einem Satz von FTP-Kommandos basieren, die sich auch mittels einer einfachen Terminal-Verbindung manuell verwenden lassen: Verbindungsaufbau mit: ftp

6 ANWENDUNGSSCHICHT 9 innerhalb der FTP-Umgebung: open <rechnername> Benutzeridentifikation mit Name und Passwort (bei Anonymous-FTP lautet der Username ftp, Passwort: Email-Adresse) Angabe von Steueroptionen: ascii, binary Kopieren der Daten vom/zum Server: get, put Abbau der Verbindung: quit, bye einige weitere Kommandos: mget/mput, cd, ls/dir, rename, mkdir die Steuerverbindung, die mit dem Kommando ftp aufgebaut wird, bleibt bis zur manuellen Beendigung bestehen die Datenverbindung wird nur für die Dateiübertragung aufgebaut und nach jeder Übertragung automatisch abgebaut 6.5 Remote Login 6.5.1 Telnet Eine weitere Grundanforderung an Rechnernetze ist das Arbeiten auf entfernten Rechnern ein bereits seit den Anfängen des TCP/IP-Protocol-Stacks existierender Standard ist das Telnet-Protokoll Telnet beschreibt Regeln zur Kommunikation zwischen einem Terminal und einem entfernten Rechner die Grundlage ist eine fiktive Ein-/Ausgabeeinheit, das Network Virtual Terminal NVT, wodurch eine Telnet-Verbindung unabhängig vom Betriebssystem und der verwendeten Hardware wird Basisanforderungen an Telnet: Kommunikation von Rechnern unterschiedlicher Hardware Berücksichtigung von Eigenschaften der Endgeräte (z.b. Bildschirmaufbau, Cursor, Terminaltyp, Drucker) Unterstützung der Übertragungseigenschaften der Endgeräte (z.b. Halb- /Vollduplex, Zeichensätze) Weiterreichen von Steuersignalen (Break, CRLF) es wäre eine schwierige Aufgabe, ein Protokoll zu entwickeln und zu pflegen, das bei diversen Terminaltypen immer die obigen Anforderungen erfüllt mithilfe des NVT lässt sich jedoch ein einheitliches Terminal-Protokoll verwenden, das nicht spezifische Eigenheiten von Hardware oder Betriebssystem berücksichtigen muss die Konvertierung der standardisierten NVT-Daten auf den tatsächlichen Terminaltyp wird von der jeweiligen Telnet-Implementierung des Betriebssystem- Herstellers durchgeführt

6 ANWENDUNGSSCHICHT 10 das Telnet-Protokoll setzt direkt auf der fehlergesicherten Übertragung der Daten mittels TCP auf der Telnet-Port ist 23 Voraussetzung für den Verbindungsaufbau ist eine gültige Benutzerkennung (Account) und ein dazugehöriges Passwort nach dem Verbindungsaufbau wird eine Halbduplex-Verbindung hergestellt (d.h. Umkehr der Senderichtung erst nach LF) wird das Telnet-Kommando ohne Option aufgerufen, ist ein interaktiver Kommando Modus eingeschaltet, in dem interne Telnet-Kommandos eingegeben werden können Initialisierung einer Verbindung: telnet <ip-adresse> nach dem Login kann mit dem entfernten System genauso wie mit einem lokalen gearbeitet werden (nur im Kommando-Modus, keine grafische Oberfläche, siehe hierzu rlogin Kapitel 6.5.2), d.h. die Tastatur-Eingabe wird an das entfernte System weitergeleitet, dort ausgeführt und die Ausgabe auf das lokale Terminal (Bildschirm) zurückgeschickt Telnet-Kommandos: Anzeige verfügbarer Kommandos:? Verbindungsaufbau open <name> Verbindung beenden close Parameter/Steuertasten anzeigen display senden von Steuersequenzen send setzen von Optionen für die telnet-sitzung set beenden quit einige Einstellungen für das set-kommando sind (beachte: mit Microsoft-Telnet können nur einige dieser Einstellungen über Menüs verwendet werden) Umschalten zwischen interaktivem und Eingabe-Modus escape (z.b. set escape Strg-x) End-of-File-Zeichen eof Löschen von Zeichen erase Abbrechen eines Prozesses interrupt Eingabe-Unterdrückung echo 6.5.2 r-befehle die Unix-Betriebssysteme bieten als Alternative zu telnet oder FTP die so genannten r-befehle diese Remote-Befehle sind z.b.: rlogin, rsh, rcopy die Funktionalität ist ähnlich wie telnet bzw. ftp, ist jedoch nur zwischen Unix- Systemen anwendbar

6 ANWENDUNGSSCHICHT 11 rlogin rsh der Vorteil ist die einfachere und schnellere Kommunikation, z.b. wird eine Benutzer-Kennung automatisch erkannt, wodurch evtl. eine wiederholte Eingabe desselben Passwortes entfallen kann und es ist das Arbeiten mit entfernten grafischen Oberflächen möglich r-befehle werden (aus Sicherheitsgründen) meistens nur in lokalen Umgebungen angewendet mit dem Befehl rlogin wird eine Terminalsitzung auf TCP-Port 513 initialisiert es erfolgt eine automatische Übermittlung des Terminaltyps, weshalb die r-befehle auch nur auf Unix-Systemen funktionieren Kommando: rlogin -l <user> <rechner> oder ohne Benutzerangabe: rlogin <rechner> in einem Rechner-Pool, in dem alle Benutzer dieselbe Kennung auf allen Rechnern verwenden, ist das Login auch ohne Passwort möglich, sofern sich der Benutzer auf einem der Rechner bereits angemeldet hat damit diese Komfort-Funktion nicht zu unerwünschten Sicherheitsproblemen führt, müssen einige Sicherheitsmechanismen eingerichtet werden: Angabe vertrauenswürdiger Rechner und/oder Benutzer Verwendung von Konfigurationsdateien: /etc/hosts.equiv oder $HOME/.rhosts eine mit rlogin aufgebaute Verbindung ermöglicht die Umlenkung der grafischen Oberfläche des entfernten Rechners auf den lokalen Bildschirm hierzu sind zwei Schritte notwendig: auf dem lokalen System muss der Benutzer dem entfernten System die Erlaubnis erteilen, die grafische Ausgabe auf den lokalen Bildschirm umzulenken: Kommando xhost +entfernter rechnername und es muss dem entfernten System mitgeteilt werden, wohin die grafische Ausgabe umzulenken ist, wobei das zu verwendende Kommando allerdings von der Kommando-Shell abhängig ist: bei der auf Linux-Systemen üblichen bash : export DISPLAY=lokaler rechnername:0.0 mit der Remote Shell (rsh, TCP-Port 514) ist die Ausführung von Kommandos auf entfernten Rechnern ohne explizites Login möglich dieses ist insbesondere dann sinnvoll, wenn auf einem entfernten System (evtl. durch Skripte automatisierte) einzelne Kommandos ausgeführt werden sollen die Ausgabe des Kommandos wird an das lokale System geschickt Beispiel: rsh idefix ls -l /etc

6 ANWENDUNGSSCHICHT 12 rcp hierbei wird das Login unsichtbar ausgeführt, weshalb die Definition vertrauenswürdiger Rechner mittels hosts.equiv oder.rhosts zwingend erforderlich ist mit der Funktion Remote Copy (rcp) wird das Kopieren einer Datei vom/zum entfernten Rechner realisiert ähnlich wie bei rsh kann auch hier kein Passwort angegeben werden, sodass der Zugang nur über hosts.equiv und.rhosts möglich ist Beispiel: rcp asterix:/home/egon/dat /tmp weitere r-befehle rwall <rechner> : Terminal-Meldung an alle eingeloggten Benutzer von rechner rwho : Anzeige der aktuell im Netzwerk eingeloggten Benutzer rusers <rechner> : ähnlich rwho ruptime : Angabe der Laufzeit der Rechner 6.6 TFTP Das Trivial File Transfer Protocol TFTP ist ähnlich wie FTP ein Protokoll für den Dateitransfer es handelt sich hierbei um ein einfacheres Protokoll mit nur wenigen Kommandos es werden außerdem keine aufwändigen Sicherheitsmechanismen unterstützt TFTP basiert nicht auf TCP sondern auf dem ungesicherten, verbindungslosen UDP (UDP-Port 69), sodass TFTP selbst einige wenige Mechanismen zur gesicherten Übertragung mitbringt die Etablierung einer Client-Server-Beziehung erfolgt einfach mit dem ersten Datenpaket ohne einen gesonderten Verbindungsaufbau (Kommandos READ RE- QUEST oder WRITE REQUEST) die Übertragung einer Datei (Kommando DATA) erfolgt blockweise mit festen Datenblöcken der Größe 512 Byte jedes Paket muss im Stop-and-Wait-Verfahren vor der Übertragung des nächsten bestätigt werden (ACK) bei Fehlermeldungen (ERROR) während des Transfers wird die Datenübertragung abgebrochen das Ende des Transfers ist erreicht, wenn ein Block mit weniger Daten übertragen wird das TFTP-Protokoll verfügt über keine Authentifizierungs-Mechanismen, sodass ein Rechner, der diesen Dienst anbietet, gut gesichert werden sollte

6 ANWENDUNGSSCHICHT 13 TFTP findet insbesondere bei Rechnern oder anderen netzwerkfähigen Geräten Anwendung, die über das Netzwerk gebootet werden müssen 6.7 BootP Das bereits im Kapitel Vermittlungsschicht erläuterte Reverse Address Resolution Protocol (RARP), kann eine IP-Adresse mithilfe der MAC-Adresse von einem RARP-Server erfragen (z.b. bei einem Diskless-Client) hierzu muss jedoch eine IP-Broadcast-Meldung in das Netzwerk gesendet werden, sodass es erforderlich ist, den RARP-Server in demselben Subnetz zu installieren wie die Clients, sofern nicht alle IP-Broadcasts in andere Subnetze geroutet werden sollen das Bootstrap-Protocol BootP vermeidet diese Nachteile und kann außer der IP- Adresse zusätzliche Informationen übertragen BootP setzt auf UDP (UDP-Ports 67 und 68) auf, sodass BootP-Anfragen problemlos in andere Netze geroutet werden können (mittels Filter-Funktionen in Routern) es wird natürlich auch hierbei die IP-Broadcast-Adresse 255.255.255.255 verwendet, sodass ein Paket verschickt wird, ohne dass die Quelladresse bekannt sein muss der BootP-Request eines Clients, der z.b. seine Hardware-Adresse enthält, wird von einem Server beantwortet, der dem Client in einem einzigen Paket Informationen übermittelt diese Informationen sind u.a. die IP-Adresse und der Name des Clients sowie Adressen von Name-, Time-, Log- oder Druck-Servern sollte ein Client keine Antwort auf seinen Request erhalten (verlorene oder beschädigte Pakete), wird nach Ablauf eines Retransmission-Timers der Request erneut gesendet hat ein Diskless-Client auf diese Weise einige Basisinformationen erhalten, kann er beispielsweise Boot-Dateien mithilfe von TFTP von einem TFTP-Server anfordern 6.8 Namens-Dienste im Internet Im Internet (bzw. IP-Protokoll) werden von allen Protokollen zur Kommunikation nur die 32-Bit-Adressen verwendet zum leichteren Merken von Adressen wird oft zusätzlich eine Zuordnung von Rechner-Namen zu den IP-Nummern vorgenommen diese Namen sollten im ganzen Internet zur Verfügung stehen

6 ANWENDUNGSSCHICHT 14 6.8.1 hosts-datei In kleineren Netzen oder solchen Netzen, die nicht an das Internet angeschlossen sind, ist es oftmals unnötig, einen aufwändigen Name-Service zu betreiben in diesen Fällen ist die Verwendung einer lokalen Datei ausreichend, in der die Zuordnung von allen IP-Adressen und Rechnernamen im LAN gespeichert ist diese einfache so genannte hosts-datei wurde in den Anfangszeiten sogar für alle Rechner im Internet verwendet die hosts-datei befindet sich je nach Betriebssystem in unterschiedlichen Verzeichnissen Unix: /etc/hosts NT: \winnt\system32\drivers\etc\hosts Win9x: \windows\hosts Mac: nicht vorhanden, nur DNS OS/2: \mptn\etc\hosts NetWare: SYS:etc\hosts DOS: abhängig vom verwendeten TCP-Stack ein Nachteil bei der Verwendung dieser Datei ist die umständliche Aktualisierung (jede Änderung muss auf allen Rechner eingetragen werden) 6.8.2 Domain Name Service DNS Bei DNS handelt es sich um eine verteilte Datenbank, in der die Zuordnungen von Rechnernamen und IP-Adressen eingetragen sind DNS stellt keine zentrale Datenbank zur Verfügung, vielmehr betreut jedes Subnetz eine eigene Teil-Datenbank, in der nur die Namen und Adressen der eigenen Rechner eingetragen sind diese Teil-Datenbanken können von jedem Rechner aus dem Internet abgefragt werden, um die IP-Adresse zu einem Rechnernamen zu erhalten oder umgekehrt DNS ist wie ein Dateisystem strukturiert, d.h. ausgehend von der Wurzel können viele Unterverzeichnisse so genannte Domains angelegt sein ein vollständiger Domain-Name setzt sich aus den Bezeichnungen aller Parent- Domains zusammen: mt.haw-hamburg.de. die administrative Verantwortung für eine Subdomain kann von einer beliebigen Domain übernommen werden Vorteile: Vermeidung von Namenskonflikten durch die hierarchische Struktur, es gibt nur eindeutige Domainnamen eine heute sehr häufig eingesetzte Implementierung von DNS ist BIND (Berkley Internet Name Domain) da alle Internet-Dienste ausschließlich mit IP-Adressen arbeiten, ist das Betreiben eines DNS-Dienstes ist nicht zwingend erforderlich

6 ANWENDUNGSSCHICHT 15 Der Domain-Namensraum: die Wurzel des Baumes nennt sich root-domain (mit einem Punkt bezeichnet) die Abzweigungen heißen Knoten (engl. nodes) maximale Verzweigungstiefe: 127 Ebenen maximal 63 Zeichen pro Knotenname ein absoluter Domainname wird als Fully Qualified Domain Name (FQDN) bezeichnet Knotennamen müssen relativ zur Parent-Domain eindeutig sein innerhalb einer Domain werden eindeutige Host-Namen vergeben die Rechnernamen stehen in einer logischen Beziehung zueinander, die häufig durch organisatorische Zugehörigkeiten gegeben ist, aber nicht notwendigerweise durch Netzwerke in besonderen Fällen (z.b. Mail-Adressen) können Knotennamen auf Rechnernamen verweisen Child-Domains der Root-Domain heißen Top-Level-Domains Child-Domains der Top-Level-Domains heißen Second-Level-Domains usw. Delegierung: die Dezentralisierung des Namensraumes wird durch Delegieren der Administration von Domains erreicht, d.h. es gibt keinen zentralen Internet- Nameserver! die Pflege der Daten wird von der jeweiligen Organisation übernommen, zu der die Domain gehört eine weitere Delegation der Verantwortung an die Subdomains ist möglich Der Nameserver: ein Nameserver speichert Informationen über einen Teil des Domain-Namensraums dieser Teil wird als Zone bezeichnet ein Nameserver besitzt die authority über diese Zone, d.h. nur von einem einzigen Server werden die Original-Informationen verwaltet Arten von Nameservern: Primary Server Secondary Server (Ausfall-Server oder zur Lastverteilung) Der Resolver: hierbei handelt es sich um eine Funktion auf dem Client, die den Zugriff auf einen Nameservice ermöglicht die Abfrage des Nameservers wird auch als Query bezeichnet der Resolver interpretiert die Antworten und gibt sie an die Programme weiter, die eine Namensauflösung angefordert

6 ANWENDUNGSSCHICHT 16 haben Die Namensauflösung: Nameserver können den Domain-Namensraum nach Daten absuchen (name resolution) die Auflösung beginnt bei einem Root-Nameserver es wird zwischen rekursiver und iterativer Auflösung unterschieden bei der rekursiven Auflösung verlangt der Resolver vom befragten Nameserver eine vollständige Namensauflösung bei der iterativen Auflösung antwortet der befragte Nameserver nur mit einer Teilantwort Adressen auf Namen abbilden (inverse Abfrage): die inverse Abfrage ist eine schwierige Aufgabe, da DNS nach Namen organisiert ist als Lösung wurde ein gesonderter Ast im Namensbaum angelegt: in-addr.arpa die Knotennamen von in-addr sind Zahlen von IP-Adressen (0-255) die Subdomains sind wieder Zahlen 0-255 dies führt zu einer Abbildung aller IP-Adressen in einem 4-stufigen Teilbaum von in-addr.arpa jede Subdomain muss daher außer dem eigenen Namens-Ast einen zusätzlichen Adress-Ast bereitstellen Caching: zur Vermeidung von neuen Verbindungen zum Nameserver bei wiederholten Anfragen können Nameserver Daten temporär speichern, die sie im Laufe einer Namenssuche erhalten beispielsweise erhält ein Nameserver, der rekursive Queries bearbeitet, viele Informationen über Namen und Adressen aus anderen Domains, die er bei erneuten Anfragen direkt weitergeben kann hierzu gehört auch negatives Caching (Speicherung von Informationen über falsche Anfragen) nur damit sind schnelle Anfragen im Namensraum möglich da sich Daten ändern, darf eine Information nicht zu lange gecached bleiben die Time to Live (TTL) ist die Zeitspanne, über die Daten im Cache gehalten werden dürfen kurze TTL: Konsistenz der Daten, hohe Last lange TTL: schnelle Auflösung, eventuell inkonsistente Daten DNS-Datenbank-Dateien: es existiert für jede Name-Domain und jede in-addr.arpa-domain eine eigene (Klartext-)Datei

6 ANWENDUNGSSCHICHT 17 die verschiedenen Typen von Einträgen werden durch Resource-Records gekennzeichnet SOA (Start of Authority): Optionen NS (Nameserver): Hinweis auf andere Server A (Address): Abbildung von Namen auf Adressen PTR (Pointer): Abbildung von Adressen auf Namen CNAME (canonical name): Aliasnamen TXT (Text): Kommentare DNS und Email ein Mail-Server muss zum Versenden einer EMail immer eine TCP-Verbindung zu einem Rechner aufbauen, der durch Name oder IP-Adresse genau definiert ist dies hätte zur Folge, dass eine Mail-Adresse immer einen vollständigen Rechnernamen enthalten müsste um dies zu vermeiden, bietet DNS einen Mechanismus, um Mails an Knotennamen zu schicken eine weitere Funktionalität ist das Umleiten von Mails an Backup-Ziele für den Fall, dass der Ziel-MTA zeitweilig nicht erreichbar ist hierzu wird der Resource Record MX (Mail exchanger) eingesetzt Die Resolver-Konfiguration: auf Unix-Betriebssystemen wird der Resolver in der Datei /etc/resolv.conf konfiguriert in dieser (Klartext-)Datei wird die Suchreihenfolge für Domains angegeben search mt.haw-hamburg.de abc.com und die IP-Adressen der rekursiv abfragbaren Nameserver nameserver 141.22.50.74 nameserver 141.22.192.32 bei Windows-Betriebssystemen werden die genannten Parameter bei der TCP/IP-Konfiguration angegeben in der Datei /etc/nsswitch.conf (Linux, Solaris) bzw. netsvc.conf (AIX) wird festgelegt, in welcher Reihenfolge die Namensdienste kontaktiert werden: hosts: dns files nis Das DNS-Protokoll: Nameserver bzw. Resolver tauschen ihre Informationen über UDP (UDP- Port 53) aus Domain Message Format: Identification: eindeutige Nummer Parameter: Typ der Anfrage und Optionen

6 ANWENDUNGSSCHICHT 18 6.8.3 DHCP No. of Questions/Answers No. Of Authority/Additional Die Einrichtung und Pflege von Rechnernamen und IP-Adressen ist mit einem gewissen Aufwand verbunden, vor allem wenn sich diese Einträge häufig ändern Fehlkonfigurationen (z.b. versehentlich doppelt vergebene Adressen) können den Betrieb eines Netzwerks beeinträchtigen und sind meistens schwer auffindbar in einigen LANs stehen nicht genügend IP-Adressen zur Verfügung, um alle Rechner mit einer festen Adresse auszustatten, sodass nur die gleichzeitig eingeschalteten Rechner eine Adresse erhalten sollen das Dynamic Host Configuration Protocol (DHCP) bietet zur Vermeidung dieser Probleme eine Plug-and-Play TCP/IP-Adressierung ein DHCP-Server verwaltet die verfügbaren IP-Adressen und vergibt sie nach Bedarf an die Clients außerdem ist die automatische Vergabe weiterer Netzwerkparameter (z.b. Subnetzmaske) möglich Automatische IP-Adresszuweisung: Zuweisung einer beliebigen aber festen Adresse dynamische Adresszuweisung: Zuweisung einer Adresse für einen bestimmten Zeitraum manuelle Adresszuweisung: gezielte, feste Adresse für einen Rechner DHCP ist eine Weiterentwicklung von BootP der DHCP-Server hat eine feste Adresse der Server verwaltet eine Datenbank mit einem Adressbereich Der Prozess funktioniert auch bei mehreren Netzwerkadaptern auf einem DHCP- Client DHCP-Initialisierung: DHCP discover: Anfrage nach DHCP-Servern DHCP offer: Antworten der Server DHCP request: Annehmen eines Angebots DHCP ack: Bestätigung des Servers DHCP nak: Ablehnung einer Anfrage nach bestimmten Parametern DHCP decline: Client an Server: ungültige Adresse DHCP release: Rückgabe einer Adresse an Server

6 ANWENDUNGSSCHICHT 19 6.8.4 WINS Der Windows Internet Name Service (WINS) ist ein dynamischer Namensdienst im Microsoft-Netzwerk WINS verwaltet die NetBIOS-Computernamen (nicht die DNS-Namen!) und ordnet ihnen IP-Adressen zu hierzu ist die Installation von WINS-Services auf Server und Client erforderlich startet ein WINS-Client, registriert er automatisch NetBIOS-Namen und IP- Adresse beim Server die WINS-Datenbank wird dadurch immer automatisch aktualisiert kann auch zusammen mit DHCP verwendet werden 6.8.5 NIS Der Network Information Service (NIS) ist ein Namensdienst in Unix-Umgebungen zentrale Verwaltung von Informationen (nicht nur Rechnernamen) alle Clients, die über einen NIS-Server verwaltet werden sind in einer NIS-Domain zusammengefasst der Server wird als NIS-Master bezeichnet zentrale Verwaltung von System- und Konfigurationsdateien (z.b. hosts, group, passwd, services, aliases, netmask,...) dadurch ist es möglich, z.b. nur eine einzige Passwort-Datei zu pflegen und diese im ganzen Netz zur Verfügung zu stellen welche Dateien ein Client über NIS beziehen soll, wird in /etc/nsswitch.conf festgelegt Ausfallsicherheit durch Slave-Server NIS-Domains sind einstufig