120 likes | 223 Views
3 Netzdienste im Internet. Netzdienste = über Ports ansprechbare Dienste , die hauptsächlich (aber nicht nur) für die Fernnutzung gedacht sind. Anwendungssoftware. Anwendungssoftware. zusätzliche Dienste, insbes. Netzdienste. BS-Dienste. Betriebssystem. 3.1 Standarddienste.
E N D
Netzdienste = über Ports ansprechbare Dienste, die hauptsächlich (aber nicht nur) für die Fernnutzung gedacht sind Anwendungssoftware Anwendungssoftware zusätzliche Dienste, insbes. Netzdienste BS-Dienste Betriebssystem vs3
3.1 Standarddienste sind „überall“ verfügbar: TELNET, SSH (secure shell) - Fernbenutzung FTP (file transfer protocol) - Dateiübertragung TFTP (trivial file transfer protocol) - einfache Dateiübertragung SMTP (simple mail transfer protocol) - Elektronische Post HTTP (hypertext transfer protocol) - World-Wide Web . . . . . vs3
Zusätzlich betriebssystemspezifische Standarddienste, z.B. für Unix: rlogin (remote login) - Fernbenutzung rsh (remote Shell) - Fernausführung einzelner Programme Als Klienten fungieren meist Systemprogramme mit geeigneter Benutzerschnittstelle (Dialog statt simpler Frage/Antwort!), z.B. Unix-Befehlftp hostnamemit zeilenorientiertem Dialog, Unix-Befehlssh hostnamemit vollständiger Sitzung (!), Web Browser mit GUI, etc. . . . . . vs3
Ansprechen der jeweiligen Server: über wohlbekannte Ports(well-known ports) Portnummern: 1 – 255 Standarddienste (BS-unabhängig) 512 – 1023 BS-spezifische Dienste 1024 – sonstige „reservierte Ports“ vs3
Klient Dienst Port Prot. Socket Login Programm daytimedaytime 13 tcp/udp stream root /etc/daytimed ftp ftp 21 tcp stream root /etc/ftpd ssh ssh 22 tcp stream root /etc/sshd telnettelnet 23 tcp stream root /etc/telnetd mailtool smtp 25 tcp stream root /etc/sendmail tftp tftp 69 udp dgram root /etc/tftpd browser http 80 tcp stream root /etc/httpd rloginlogin 513 tcp stream root /etc/rlogind rsh rsh 514 tcp stream root /etc/rshd rcp ..... vs3
( Für Protokollfamilie IPv6 statt IPv4: tcp6 , udp6 ) Beachte: Server ist nicht an bestimmtes Klientenprogramm gebunden ! Beispiele:telnet localhost 25 erlaubt direkten Dialog mit dem lokalen Mail Server (sofern nicht aus Sicherheitsgründen abgeblockt) telnet jefe 79 fink produziert (fast) die gleiche Ausgabe wie finger fink@jefe vs3
3.2 Fernerzeugung von Prozessen erfolgt durch einschlägigen Server: Prozesserzeuger(process server, spawner) ! Verschiedene Varianten möglich für - Autorisierung des erzeugten Prozesses - Ein/Ausgabe-Umgebung des erzeugten Prozesses - ausgeführtes Programm vs3
3.2.1 Internet Superserver (auch „Internet Daemon“, Programminetd) • bedient alle wohlbekannten Ports (gemäß 2.4.3), • erzeugt Prozesse (gemäß 2.4.3d), • die jeweils portspezifisches Programm ausführen (gemäß 3.1) • Typische Arbeitsweise nach demfork: • - erzeugten Socket auf Standard-E/A 0, 1, 2 legen, • - execfür erforderliches Programm (z.B.ftpd) ausführen vs3
Initialisierung des Internet Daemon bei Systemstart (Unix): • 1./etc/inetd.confenthält die Beschreibung der zu unterstützenden • Dienste (gemäß Tabelle in 3.1) – außer der Portnummer; • entsprechende Sockets werden erzeugt (socket). • 2./etc/servicesenthält Zuordnung der Portnummern zu den Diensten; • die Sockets werden entsprechend benannt (bind). • Warten auf Dienstanforderungen (select).Achtung! Dienste sind i.d.R. öffentlich und werden mit root-Autorisierung erbracht Sicherheit gefährdet ! vs3
3.2.2 Fernausführung beliebiger Programme Standarddienst „Fernausführung“ (remote execution) durch Server „Prozeßerzeuger“ (process server) (Verallgemeinerung des Internet Daemon) = Prozeß, der beliebig programmierbare Prozesse erzeugt vs3
z.B. Auftrag = Unix-Befehl Effekt der Bauftragung: hinter Socket verbirgt sich die Standard-E/A des erzeugten Prozesses Server ist/etc/rshd(passender Klient istrsh) Oder Fernbenutzung (remote login) Server ist/etc/rlogind(passender Klient istrlogin) ! Sicherheit gewährleisten Zugangskontrolle ! [Literatur: W.R. Stevens: UNIX Network Programming. Prentice-Hall 1999] vs3