CS5001 Verteilte Systeme
|
|
- Werner Beckenbauer
- vor 8 Jahren
- Abrufe
Transkript
1 Prof. Dr. Th. Letschert CS5001 Master of Science (Informatik) - Netzwerkprogrammierung - Th Letschert FH Gießen-Friedberg
2 Plattformen der Verteiltheit Netzwerk-Programmierung : als interagierende Prozesse Themen: ein Blick zurück Socket-API Server-Struktur einfache Abstraktionen oberhalb der Socket-Ebene in Java 2
3 Plattformen der Verteiltheit Plattformen der Verteiltheit : ein Blick zurück 3
4 Plattformen der Verteiltheit Ende 1980er Plattformen der Verteiltheit ~ Ende 1980-er LAN- / X25-Zeitalter : LANs und Fern-Netze: getrennte Welten wichtige Protokolle (Protokoll-Stack kein Standard-Bestandteil eines BS) Netbios ~1984 eingeführt als API für LAN-Controller, IBMs PC_LAN Netze ungerouteter Protokoll-Stack (keine Schicht-3 / keine Router) SPX/IPX: Protokoll in Novell-Netzen, bis Mitte der 1990er Markt-beherrschend basierend auf Xerox Internetworking Protokollen geroutetes Protokoll ähnlich zu TCP/IP X25 Protokoll (Schicht 2 / 3) in Telekom-Netzen dominierend in kommerziellen eingesetzten Fern-Netzen TCP/IP kommerziell (fast) bedeutungslos Einsatz (fast) nur in Fern-Netzen von Universitäten und Forschungsinstituten 4
5 Plattformen der Verteiltheit 1980er Plattformen der Verteiltheit : 1980-er Anwendungsplattform LANs Netzwerk-Betriebssysteme für Standard-Dienste Betriebssysteme (d.h. DOS) wird um Zugriff auf gemeinsame Ressourcen erweitert DOS-Aufrufe (Interrupts) werden abgefangen und umgeleitet typische Ressource: File- / Drucker-Server (unter speziellem Multitasking-BS) Entwicklung angepasster verteilter Anwendungen auf der Ebene von Interrupt-Handlern C- / Assembler-Routinen Anwendungsplattform Fern-Netze Kommerzielle Systeme: X25, Proprietäre Protokolle mit entspr. speziellen APIs Forschung: OSI-Protokolle, TCP/IP mit speziellen APIs 5
6 Plattformen der Verteiltheit 1980er Anwendungsplattform Beispiel: Datenpaket unter IPX empfangen Interrupt-Handler schreiben (in Assembler) Empfangs-Routine in C schreiben System-Kontext: Kein User-Stack Grobe Analyse des ECB Ablage der Daten im Userspace Anwendungs-Programm System-Kontext: Kein User-Stack Register-Paar ES:SI enthält Zeiger auf ECB ECB, Event-Control-Block: Datenstruktur mit Info über das Ereignis und mit Zeigern auf Fragmente des empfangenen Datenpakets Aufruf C-Routine zur Annahme der Daten Interrupt-Handler installieren Test ob Daten angekommen Daten annehmen, verarbeiten / Fehler behandeln Notwendige Kenntnisse der Anwendungsentwickler Assembler / C / komplexe APIs (Kontroll-Blöcke) BS: Interrupts, Scheduling-/Tasking-Probleme, Funktion bestimmter Register, Stack, Stack-Frames, User-Space vs. System-Space,... Protokoll: Paketformat,... 6
7 Plattformen der Verteiltheit Ende 1980er Plattformen der Verteiltheit ~ Ende 1980-er Protokolle BS mit integriertem Protokoll-Stack installierbare Protokolle Unix-Varianten: TCP/IP Mainframes, Mini-Computer (z.b. DEC): proprietäre Protokolle (Lan-) Netz-Server (Netware): IPX/SPX (Lan-) Netz-Server (IBM / MS, bis Bruch mit IBM->NT), OS/2): NETBIOS PC: Netbios (IBM/MS), SPX/IPX (Netware), TCP/IP (Sun) Mainframes, Mini-Computer: X25, TCP/IP, OSI-Protokolle Typische Anwendungsplattform Fernnetze: wie Ende 1980er, X25 LANs: Netbios, SPX/IPX mit speziellen APIs (abhängig von Protokoll- und Protokoll-Implementierung und BS) Notwendige Kenntnisse der Anwendungsentwickler weit verbreit: LANs (vor allem unter Netware), X25 in Fernetzen LANs unter NETWARE, NETBIOS: BS (Protokoll-Installation, -Konfiguration), API WANs unter X25, TCP/IP, propr. Protokollen: BS-spezifische APIs 7
8 Plattformen der Verteiltheit Frühe 1990er Plattformen der Verteiltheit ~ Frühe 1990-er Protokolle BS mit integriertem Protokoll-Stack installierbare Protokolle Unix-Varianten, Mini-Computer: TCP/IP Mainframes, Mini-Computer (z.b. DEC): proprietäre Protokolle (Lan-) Netz-Server (Netware): IPX/SPX (Lan-) Netz-Server (MS-NT): NETBIOS PC: Netbios (IBM/MS), SPX/IPX (Netware), TCP/IP (Sun) Mainframes, Mini-Computer: X25, TCP/IP Typische Anwendungsplattform Beginn der Vereinheitlichung der LAN- / WAN-Netze unter TCP/IP Socket-API für TCP/IP und SPX/IPX NETBIOS-API für Netbios-basierte LANs Interaktion auf API für Nutzung von Schicht-4-Diensten, z.b. via Socket-API 8
9 Plattformen der Verteiltheit Frühe 1990er Interaktion auf Schicht-4 Rechner-Identifikation (IP-Adresse, DNS-Name,..) Anwendungs-Identifikation (Port, well-known-port,..) Datenaustausch (Pakete senden/empfangen, Verbindungen aufbauen nutzen,..) Verteilte Anwendung: Mangement von Inter-Prozess-Kommunikation Entwicklung einer verteilte Anwendung ~ Socket-Programmierung Notwendige Kenntnisse der Anwendungsentwickler LAN / WAN: Schicht-4- API (Netbios / Socket-) API, Protokolle, Konfiguration der Protokoll-SW WAN: BS-spezifische Schicht-4-APIs Tiefere BS-Kenntnisse nicht mehr notwendig 9
10 Plattformen der Verteiltheit Mitte 1990er Plattformen der Verteiltheit ~ Mitte 1990-er Protokolle alle BS mit integriertem Protokoll-Stack TCP/IP weit verbreitet Trennung der Technologie von LAN und WAN beendet Anwendungsplattformen typisch: Nutzung einer Schicht-4-API (Sockets) Forschungsthema, Anwendung durch fortgeschrittene Entwickler Abstraktion von Schicht-4 Diensten Unterstützung durch spezielle Dienste z.b. RPC Middleware, SOA,... Bereitstellung von Standardlösungen in Bibliotheken z.b. Namensdienste Standard-Code-Bausteine (generiert / bereit gestellt) z.b. OSI: Presentation- / Session-Layer z.b. XDR Integration in Programmiersprachen 10
11 Plattformen der Verteiltheit Mitte 1990er Protokoll-Stack bis Schicht-4 in BS integriert Anwendungs-Protokolle als Anwendungsprogramme Schicht-4- (Socket-) API in Programmiersprachen integriert Höherwertige Unterstützung der Verteilung Wetzwelt / OSI: als Schicht-4 / -5 konzipiert Informatik Forschung: Nicht erfolgreich (Warum?) Fortsetzung der Integration in das BS (transparente Verteiltheit) Praxis: Beginn der Middleware Bibliotheken Generierungs-Werkzeuge Standard-Dienste zur Unterstützung der Entwickler / Entlastung von StandardAufgaben 11
12 Plattformen der Verteiltheit Plattformen der Verteiltheit : als interagierende Prozesse 12
13 Plattformen der Verteiltheit Verteiltes Systeme auf Schicht-4 Diensten System = interagierende Prozesse in der Regel Client-Server-Struktur Interaktion: Kommunikation über Socket-API Themen Nutzung der Socket-API Struktur der Prozesse (der Server) Nebenläufigkeit der System-Komponenten 13
14 Protokolle: OSI / Internet Schicht 7 Anwendungs-Protokolle Schicht 6 Session/Presentation -> Middleware-Protokolle Schicht 5 Schicht 4 Internet-Protokolle Schicht 3 Schicht 2 Schicht 1 ISO/OSI Protokolle Protokoll - (De-) Multiplexing Rahmen- / Paket-Struktur 14
15 Schicht-4 Service Access Point (SAP) : Sockets TFTP SMTP FTP verbindungslos verbindungsorientiert (De-)Multiplexing Anwendungen System... NFS Port TCP Socket-API... UDP P-ID IP P-ID Ethernet Token-Ring Seriell 15
16 Schicht-4 API: Socketkommunikation Sockets Schnittstelle zur Schicht-4-Implementierung (BS) ursprünglich BSD-Unix, heute 'alle' Systeme (z.b. WinSock) Schicht-4 unabhängige Schnittstelle heute meist für TCP/IP Protokollstack Verbindungsendpunkt (SAP Service-Accesspoint) UPD Server stellt Daten-Socket bereit wartet auf Daten-Pakete von Client und antwortet TCP Server stellt Verbindungs-Socket bereit wartet auf Verbindungswünsche von Clients Verbindung -> Daten-Socket -> bi-dirketionaler Datenstrom zum Client 16
17 Socket-Abstraktionen: Zugriff auf Schicht-4-API in Sprachen integriert Java (Package java.net) ServerSocket lokale Adr: IP+Port Server: accept Socket Client: ferne Adr: IP+Port Verbindungsaufbau, Server: autom: ferne Adr Komminikation als Klassenbibliotheken z.b. C++: ACE (Adapitve Communication Environment) etc.: diverse andere Kommunikation C# (Namespace system.net) low-level: Socket IPEndPoint, IPAddress,... high-level: TCP-Client TCP-Listener andere: Perl, TCL, Python,... 17
18 Prozesse / Threads: Nebenläufigkeit in Komponenten Prozesse/ Threads bestehen aus Komponenten, die durch Nachrichten kommunizieren Komponenten sind in der Regel nebenläufige Systeme, die aus Threads und/oder Prozessen bestehen Nebenläufige Komponente Verteiltes System 18
19 als interagierende Prozesse als interagierende Prozesse: Struktur der Komponenten / Server 19
20 Struktur der Komponenten / Server : Nebenläufigkeit in Komponenten Nebenläufigkeit vereinfacht SW-Organisation unabhängige Ereignisverarbeitung, z.b. blockiernde I/O-Operationen möglich Verbesserung des Durchsatzes Nutzung mehrerer CPUs, Parallelität in sonstiger HW Nebenläufigkeit in Client/Server-Systemen besonders wichtig für Server hohe Anforderungen effiziente HW-Nutzung (hohe Last) hohe Anforderung an Verfügbarkeit 20
21 Struktur der Komponenten / Server : Server-Architektur Architektur des Servers Ziele keine ignorierten Service-Anforderungen ( Denial-of-Service ) hoher Durchsatz Einflussfaktoren Randbedingungen Plattformeigenschaften (HW / BS) Struktur der Anwendung Nutzung der Anwendung Protokoll-Struktur Verbindungslos / Verbindungsorientiert Request-Response / Sessions-Konzept 21
22 Serverarchitektur : Einflussfaktor Protokollstruktur Protokollstruktur synchrones Request-Response Protokoll Neue Anfragen erst nach Antwort auf die vorhergehende Einsatz Neue Anfragen hängen von der Antwort ab Kurze Bearbeitungszeit + geringe Netz-Latenz (LAN) Einfachheit vor Performanz synchrones Protokoll asynchrones Request-Response Protokoll Anfragen und Antwort entkoppelt Einsatz Anfragen und Antworten sind nicht eng gekoppelt (z.b. HTTP-Gets) Latenz im Netz groß (WAN) Performanz vor Einfachheit asynchrones Protokoll 22
23 Serverarchitektur : Einflussfaktor Protokoll Dienstdauer Protokoll mit kurz andauerndem Dienst (short duration service) Dienst umfasst eine kurze (feste) Zeitdauer Oft eine Frage / eine Antwort Oft verbindungslos Beispiele: HTTP ARP Time Protokoll mit lang andauerndem Dienst (long duration service) Dienst umfasst eine (unbestimmt) lange Zeitdauer Oft Austausch mehrerer Nachrichten Oft verbindungsorientiert Beispiele Telnet FTP etc. 23
24 Serverarchitektur : Einflussfaktor Dienststruktur interner Dienst Dienst wird im Adressraum des Servers ausgeführt geringere Latenzzeit Server in größerer Gefahr (Absturz / Hänger) Bindung: Dienst statisch externer Dienst dynamisch zum Server gebunden Dienst wird in eigenem Adressraum ausgeführt (Prozess starten) höhere Latenzzeit Server weniger in Gefahr Beispiel inetd kann konfiguriert werden Dienste intern oder extern auszuführen kurze Dienste intern / Lange Dienste extern 24
25 Serverarchitektur : Einflussfaktor Dienststruktur zustandsloser Dienst (stateless service) Dienst wird ohne Zustandsinformation im Server ausgeführt, jede Anfrage enthält alle Informationen, die notwendig sind, um sie auszuführen Beispiel: einfache Dienste, NFS HTTP (ohne Cookies, etc.) zustandsbehafteter Dienst (stateful service) Anfragen werden in Zustand ausgeführt, Zustand Verbindungs-/Sitzungs -Zustand: Protokoll wickelt FSM (endlichen Automat) ab dauerhafter Zustand: Zustand dauerhaft (über die Dauer einer Sitzung hinaus) Zustand Absturz-resistent Beispiel: Telnet / FTP: Sitzungszustand Naming-Services: Absturz-resistent 25
26 Serverarchitektur : Einflussfaktor Dienststruktur einfacher Dienst (single service server) Server ist auf einen Dienst spezialisiert Jeder Dienst benötigt seinen eigenen Server Erhöhter Ressourcenbedarf / adminstrativer Aufwand Robust multipler Dienst (multi-service server) Server bedient mehrere Dienste Server bedient mit internem oder externem Dienst Geringerer Rssourcenverbrauch / adminstrativer Aufwand weniger robust 26
27 Serverarchitektur: Einflussfaktor Bereitschaft Temporärer Server (one shot server) Server wird auf ein Anfrage/Sitzung hin erzeugt, bedient nur diese geringer Ressourcenbedarf erhöhte Latenz stehender Server (standing server) Server wird bei Systemstart erzeugt existiert permanent im Adressraum Beispiel Apache Web-Server 27
28 Serverarchitektur: Einflussfaktor Verbindungs-/Sitzungskonzept Verbindungen und Sitzungen Verbindung (Connection) Schicht-4 Konzept Fehler-/Flusskontrolle erfordert Verbindung (Verbindung = Information über den Zustand der Kommunikation) Sitzung (Session) Anwendungskonzept logische Verbindung der Kommpunikationspartner für die Dauer einer Interaktion OSI-Modell: Session-Layer (so praktisch nie realisiert) 28
29 Verbindung / Session : Beispiel HTTP Beispiel HTTP basiert auf TCP-Verbindung Request-Response Kommunikation Session nach HTTPProtokoll= Frage / Antwort reale Session der Anwendung oft länger Anwendung: Session = Einkaufstour HTTP: Session = Request / Response Schicht-4 : TCP Verbindung Schicht-3 : IP / verbindungslos Schicht-2 : Ethernet / verbindungslos Schicht-1 : physikalische Verbindung 29
30 Verbindung / Session : Multiplexing Verbindungen und Sitzungen ohne Multiplexing der Sitzungen Jede Beziehung Client (Thread) Service-Provider (Thread) (Session / Sitzung) hat ihre eigene Verbindung mit Multiplexing der Sitzungen Eine gemeinsame Verbindung für jede Beziehung Client Service-Provider Sitzungen Client-Threads Sitzungen Server-Threads Client-Threads TCP-Verbindung Server-Threads TCP-Verbindungen 30
31 Serverarchitektur: iterativer Server Iterativer Server behandelt eine Anfrage komplett ab bevor die nächste betrachtet wird WS-Strategie Warteschlange für eintreffende Anfragen Ignorieren geeignet für Dienste mit kurzen Bearbeitungszeiten unregelmäßig und eher selten angefragte Dienste Struktur for ever: retrieve request perform service send response 31
32 Serverarchitektur: iterativer Server Vorteil einfach kein Thread- / Prozess-Overhead Nachteil eventuell schlechte Nutzung der Plattform-Fähigkeiten mehrere CPU's, asynchroner DMA-Transfer,... schlechte Antwortzeiten / Verlust von Anfragen eventuell Sende-Wiederholung bei Time-out -> Problemverschärfung 32
33 Serverarchitektur: Nebenläufiger Server Nebenläufiger Server bearbeitet mehrere Anfragen gleichzeitig Threads (oder Prozesse) Service-Art single service : ein Dienst multiple service : verschiedene Dienste Einsatz I/O-intensive Dienste lang andauernde Dienste Struktur Thread (Prozess) pro Verbindung / Session Thread (Prozess) pro Anfrage 33
34 Serverarchitektur: Nebenläufiger Server Struktur: Thread pro Session / Verbindung do for ever { handle = accept new connection; thread = get SessionThread(handle); thread.start(); } Connection-Handler while (! finished ) { msg = handle.getmsg(); answer = preform service handle.send(answer) } Protocol / Session=-Handler neuer Client Connection-Handler Client C Client B Client A Protocol/Session-Handler Server Clients 34
35 Serverarchitektur: Nebenläufiger Server Struktur: Thread pro Aufgabe: Leader / Follower request = handle.getmsg(); answer = preform service handle.send(answer) if (! finished ) { followerthread = Synchronizer.getThread (); followerthread.activate(handle); } do for ever { handle = accept new connection; thread = get LeaderThread(handle); thread.activate(handle); } Worker-Tread Connection-Handler Worker Clients Leader Followers Conn.Handler Synchronzier Leader nimmt die Anfrage an, gibt sie an den Follower weiter der damit zum Leader wird Leader / Followers Muster, synchron 35
36 Serverarchitektur: Reaktiver Server Reaktive Server (Reactive Server) Verarbeiten mehrere Anfragen / Verbindungen virtuell gleichzeitig ein Thread / Prozess leichtgewichtiges (Anwendungs-) Multitasking Struktur for ever requestevents = select() for each event in requestevents receive request perform service send response 36
37 Serverarchitektur: Reaktiver Server Vorteil kein Thread / Prozess Overhead Nachteil kein Ausnutzen von Plattform-Parallelismus Probleme in einer Verbindung / Verarbeitung (Deadlock / Loop) betrifft den gesamten Server komplexere Programmierung Programmierung kurze / zustandslose Dienste: OK Dienst mit Client-spezifischem Kontext : FSM (endlicher Automat) pro Client verwalten lange andauernde Dienste (z.b. Filetransfer) blockieren Server oder müssen mit Unterbrechungen (auf Anwendungsebene) realisiert werden (Multitasking auf Anwendungsebene) 37
38 Serverarchitektur: Reaktiver Server Struktur Warte auf I/O-Ereignis an einem von mehreren Handlern (select) Verarbeite Ereignis synchroner Event-Demultiplexer BS: select-system-call Java: SocketChannel Clients Client-spezifische Kontexte Server Reaktiver Server 38
39 Serverarchitektur: Reaktiver Server Reaktor-Muster Gestaltung reaktiver Server beobachtet channel bearbeitet I/O-Ereignis z.b. channel Nach Douglas C. Schmidt: Reactor, An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Events. 39
40 Serverarchitektur: Halb reaktiver / Halb nebenläufiger Server Mischform: Halb reaktiv / Halb nebenläufig (Half-sync / Half async) Annahme der Anfragen / Verbindungen reaktiv Weiterverarbeitung iterativ Clients Worker IO-Thread Queue Clients Half-Sync / Half-Async mit Task-Queue Worker Leader Followers Half-Sync / Half-Async mit Leader- und Follower-Threads Synchronzier Struktur 40
41 Serverarchitektur: Thread-Management Threads erzeugen / aufspannen (Thread Spawning) Erzeugungs-Strategien Im Voraus erzeugen (eager spawning) Bei Bedarf erzeugen (on demand spawning) Im Voraus erzeugte Threads bei Start erzeugen und in einem Pool platzieren vermeidet Erzeugungs-/Vernichtungs-Overhead erfordert Thread-Verwaltung Größe des Thread-Pools ~ Zahl der CPUs ~ Last ~ dynamisch variabel ~ Last ~ aktuelle Länge der Warteschlange der Anfragen 41
42 Serverarchitektur: Thread-Management Bei Bedarf erzeugen (on demand spawning) Vorteil Ressourcen-Schonung einfacher Nachteil Schlecht konfigurierbar Performance Probleme längere Reaktionszeit 42
43 Serverarchitektur: Thread-Management Task-basierte Thread-Zuteilung pro Aufgabe ein Thread IO-Thread Task-1 Task-2... Muster z.b.: Pipes and Filters Message Nachrichten-basierte Thread-Zuteilung pro Nachricht / Session / Verbindung ein Thread Message Task-1 Task-2... Muster z.b.: Half-sync / Half-Async Message Task-1 Task
44 Server-Architektur: Threading-Strategie Threading-Strategie ein Thread select Bedienen der Ereignisse andere Aktivitäten zwei Threads select / Ereignise bedienen andere Aktivitäten OK bei 1-Prozessor System (welcher Server ist das noch?) Thread-Pool Thread: select Thread-Pool: Ereignisse bedienden Anpassbar an System Schlecht: select blockiert Mehrere Threads / Thread-Pools Thread: select Thread(-Pool) A: Ereignisklasse A Thread(-Pool) B: Ereignisklasse B etc. Ereignisbehandlung konfigurierbar (Wichtigkeit,...) 44
45 Server-Architektur: Thread-Erzeugung / Thread-Aufgaben Thread-Erzeugung und Thread-Aufgaben Thread-Erzeugung Wann / Wie werden Threads erzeugt Thread vs. Task Welche Aufgaben werden den Threads zugeteilt Thread vs. I/O Ereignis welche(r) Thread(s) bearbeiten I/O-Ereignisse 45
46 Plattformen der Verteiltheit Plattformen der Verteiltheit : Einfache Abstraktionen über der Socket-Ebene in Java 46
47 Abstraktionen oberhalb der Socket-Ebene in Java Einfache Abstraktionen über der Socket-Ebene in Java: URL 47
48 URL Uniform Resource Locator Ein URL lokalisiert Web-Ressourcen: Wo und wie finde ich etwas Beispiele: shttp://meine.bank.de URL Aufbau Beispiel Scheme (Protocol) Zugriffsprotokoll http Authority Besitzer Path lokaler Weg zur Ressource /home/~hg51/index.html Query-String Suche in der Ressource searchstring=java Fragment Id (Ref) Index in der Ressource #intro einzelne Bestandteile können fehlen 48
49 URL Uniform Resource Locator Syntax / Beispiel (aus RFC 3986): foo://example.com:8042/over/there?name=ferret#nose foo Schema example.com:8042 Authority /over/there Path name=ferret Query nose Fragment Zeichensatz: US-ASCII-Zeichen in der Codierung 'der Umgebung' (umgebender Text / Übertragungs-Protokoll) a.. z, A.. Z, 0.. 9, -,., _, ~ (Alphanumerisch, Punkt, Bind-/Unterstrich, Tilde) Zeichen mit besonderer Bedeutung: /? # [ :! $ & ' ( ) * +, ; = % %HEX-Code für alle anderen und die mit besonderer Bedeutung z.b. %25 für %. Sonderformen möglich, z.b. + für ' ' (Blank) Hexcode ist abhängig von der (impliziten) Codierung! 49
50 URL in Java java.net Class URL Umschlagklasse für einen URL: java.net.url mit: Konstruktoren zur Konstruktion getter-/setter-methoden für die URL-Komponenten Methoden zum Aufbau einer Verbindung zur Ressource Verbindungsaufbau basiert auf Protocol-Handler Protocol-Handler von JVM implementiert (abhängig von der JVM) von der Anwendung zur Verfügung gestellt 50
51 URL in Java Beispiel : Test welche Protokoll-Handler stellt die JVM zur Verfügung? import java.net.malformedurlexception; import java.net.url; public class JVMProtocolHandler { public static void main(string[] args) { String[] standardprotocols = { "http", "https", "ftp", "mailto", "telnet", "file", "ldap"}; for ( String p : standardprotocols) try { URL url = new URL(p+"://some.where"); System.out.println(p + "\t is OK"); } catch(malformedurlexception e) { System.out.println(p + "\t is not supported"); } } } mögliche Ausgabe Die Tests auf Wohlgeformtheit der URL sind grob und nicht Protokollspezifisch (z.b. mailto-url ist nicht korrekt). Die Verfügbarkeit des Handlers wird geprüft. - Kein Test ob die URL erreichbar ist. http https ftp mailto telnet file ldap is is is is is is is OK OK OK OK not supported OK not supported 51
52 Zugriff auf URL-Ressource java.net Class URL Zugriff auf die Daten der Ressource auf die eine URL zeigt mit Hilfe der URL-Methoden: InputStream openstream(); verbindet sich mit der Ressource liefert InputStream zum Lesen der Daten URLConnection openconnection(); erzeugt Verbindung zur Ressouce zm lesen / schreiben von Daten, Zugriff auf weitere Info URLConnection openconnection(proxy proxy); erzeugt Verbindung via Proxy Object getcontent(); liest Daten der Ressource und erzeugt ein Objekt aus diesen Daten Object getcontent(class[] classes); liest Daten und erzeugt ein Objekt daraus, die Klassen sind Vorschläge für die Klasse des neu erzeugten Objekts 52
53 Zugriff auf URL-Ressource / Beispiel openstream public class URLViewer { public static void main(string[] args) { Scanner scan = new Scanner(System.in); String urlstring = scan.nextline(); try { URL url = new URL(urlString); InputStream ins = url.openstream(); int c; while ( (c = ins.read())!= -1 ) { System.out.print((char)c); } } catch (MalformedURLException e) { System.err.println("malformed url "+e); } catch (IOException e) { e.printstacktrace(); } } } erzeugt: Zugriff auf lokalen Tomcat mit der URL-Eingabe: <!doctype html public "-//w3c//dtd html 4.0 transitional//en" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>apache Tomcat/5.0</title>... etc... 53
54 Zugriff auf URL-Ressource / Beispiel getcontent public class URLContentGetter { public static void main(string[] args) { Scanner scan = new Scanner(System.in); String urlstring = scan.nextline(); Class[] urltypes = { String.class, Image.class, InputStream.class }; try { URL url = new URL(urlString); Object obj = url.getcontent(urltypes); if ( obj instanceof String ) { System.out.println("String found at "+urlstring); } else if ( obj instanceof Image ) { System.out.println("Image found at "+urlstring); } else if ( obj instanceof InputStream ) { System.out.println("InputStream found at "+urlstring); } else System.out.println("Can not handle "+urlstring); } catch (MalformedURLException e) { System.err.println("malformed url "+e); } catch (IOException e) { e.printstacktrace(); } } } Eingabe: file:///home/thomas/documents/pictures/applelogo.gif Ausgabe: Image found at file:///home/thomas/documents/pictures/applelogo.gif 54
55 Zugriff auf URL-Ressource / Beispiel openconnection public class ConnectionOpener { public static void main(string[] args) { Scanner scan = new Scanner(System.in); String urlstring = scan.nextline(); try { URL url = new URL(urlString); URLConnection connection = url.openconnection(); System.out.println(connection.getContentEncoding()); System.out.println(connection.getContentType()); Object obj = connection.getcontent( new Class[]{ String.class, InputStream.class}); if ( obj instanceof String ){ System.out.println("String found: "+(String)obj); } if ( obj instanceof InputStream ){ System.out.println("InputStream found "); } } catch (MalformedURLException e) { System.err.println("malformed "+e); } catch (IOException e) { e.printstacktrace(); } } } Eingabe: Ausgabe: null text/html;charset=iso InputStream found 55
56 Abstraktionen oberhalb der Socket-Ebene in Java Einfache Abstraktionen über der Socket-Ebene in Java: URI 56
57 URI Uniform Resource Identifier Ein URI identifiziert eine Ressource Verallgemeinerung der URL URL lokalisiert URI identifiziert die Identifikation kann auch lokalisieren, sie muss aber nicht. Alle URLs sind URIs (aber nicht umgekehrt) URI Verwendung: als URL / zur Identifikation in div. XML-Technologien Beispiele: tel: urn:isbn: urn:oasis:names:specification:docbook:dtd:xml:4.1.2 URI Aufbau Scheme Name Beispiel : Schema-spezifischer Teil urn : oasis:names:specification:docbook:dtd:xml:
58 URI Uniform Resource Identifier URI Schemes Beispiele ( URI Scheme Description Reference acap application configuration access protocol [RFC2244] cid content identifier [RFC2392] dns Domain Name System [RFC4501] fax fax [RFC3966] file Host-specific file names [RFC1738] ftp File Transfer Protocol [RFC1738] http Hypertext Transfer Protocol [RFC2616] https Hypertext Transfer Protocol Secure [RFC2818] imap internet message access protocol [RFC2192] info Information Assets with Identifiers in Public Namespaces [RFC4452] ldap Lightweight Directory Access Protocol [RFC4516] mailto Electronic mail address [RFC2368] news USENET news [RFC1738] nfs network file system protocol [RFC2224] nntp USENET news using NNTP access [RFC1738] pop Post Office Protocol v3 [RFC2384] tel telephone [RFC3966] telnet Reference to interactive sessions [RFC4248] urn Uniform Resource Names [RFC2141] 58
59 URI / URL / URN URI Uniform: Syntax entspricht RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax. Resource: Irgendetwas Identification: Identifizieren / Lokalisieren / Holen URL URN URI Entwicklung: Identifizieren / Lokalisieren Ausgangskonzept URL: Identifizieren / Holen URI : Verallgemeinerung von URL URN: Uniform Resource Name Identifikation einer Ressource unabhängig von Ort und Zugriffsmethode/Möglichkeit ( Ein http-uri ist ein URL ) URN wird (eventuell) abgebildet auf URL-1, URL-2,... URI seit 2001 ( URI ist Oberbegriff URL informales Konzept lokalisierbarer Ressourcen ( Klick-bar ) URN ist Schema (hierachisch aufgebaut) (urn:xx:yy:zz) Resolution (Auflösung): nicht global geklärt (dns-uris haben global definierte Auflösung, andere nicht) 59
60 URI in Java java.net Class URI java.net.uri Umschlagklasse für URIs (konstruieren / analysieren) Vergleich zur java.net.url eher konform zu aktuellen WEB-Standards URI identifiziert nur: kein (direkter) Verbindungsaufbau relative und absolute URIs möglich 60
61 URI / URL / URLConnection Idee Schema -> Protokoll -> Protokoll-Handler Klassen In the early days of Java, Sun promised that protocols could be installed at runtime from the server that used them. [...] However, the loading of prtocol handlers from web sites was never implemented, and Sun doesn't talk much about it anymore. Elliotte Rusty Harold in Java Network Programming, O'Reilly URL / URLStreamHandler / URLConnection... definieren zusammen Protokoll-Handler Bewertung OK für vordefinierte Schemata (Protokolle) speziell für HTTP GET / POST (?) Neue Protokolle ~> müssen JVM bekannt gegeben werden Umständliche / Verwirrende API, kaum Mehrwert gegen Sockets Kaum genutzt Neue / Eigene Protokolle ~> Socket-Kommunikation 61
62 URI in Java / Beispiel get-abfrage Verbindungsaufbau via URL public class URIViewer { public static void main(string[] args) { try { URI uri = new URI( "http", //Scheme null, //Authority " ", //Host 8080, //Port "/hg51webapp/getfactorizer", //Path "zahl=12&submit=los+gehts", //Query null //Fragment ); URL url = uri.tourl(); InputStream ins = url.openstream(); int c; while ( (c = ins.read())!= -1 ) { System.out.print((char)c); } } catch (MalformedURLException e){ e.printstacktrace(); } catch (URISyntaxException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); } } } 62
63 URI in Java / Beispiel get-abfrage / HTML als HTML anzeigen public class URIViewer { public static void main(string[] args) { try { URI uri = new URI( "http",null," ", 8080,"/hg51WebApp/GetFactorizer", "zahl=12&submit=los+gehts",null); URL url = uri.tourl(); InputStream ins = url.openstream(); byte[] bytea = new byte[1024]; int c; int i = 0; while ( (c = ins.read())!= -1 ) { bytea[i++] = (byte)c; } JEditorPane jp = new JEditorPane(); jp.setcontenttype("text/html"); jp.settext(new String(byteA, 0, i, "UTF8")); JFrame jf = new JFrame("Result"); jf.setcontentpane(jp); jf.setsize(512, 254); jf.setdefaultcloseoperation(jframe.exit_on_close); jf.setvisible(true); } catch (MalformedURLException e){ e.printstacktrace(); } catch (URISyntaxException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); } } } 63
Technische Grundlagen von Internetzugängen
Technische Grundlagen von Internetzugängen 2 Was ist das Internet? Ein weltumspannendes Peer-to-Peer-Netzwerk von Servern und Clients mit TCP/IP als Netzwerk-Protokoll Server stellen Dienste zur Verfügung
MehrTransmission Control Protocol (TCP)
Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile
MehrAnwendungsprotokolle: HTTP, POP, SMTP
Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort
MehrCS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)
Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 8 Th Letschert FH Gießen-Friedberg Nebenläufige und verteilte Programme Netzwerk-Programme
MehrMotivation. Inhalt. URI-Schemata (1) URI-Schemata (2)
14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen
Mehr2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen
2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen Dienste des Internets Das Internet bietet als riesiges Rechnernetz viele Nutzungsmöglichkeiten, wie etwa das World
MehrIAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version 2.0.1 Deutsch 14.05.2014
IAC-BOX Netzwerkintegration Version 2.0.1 Deutsch 14.05.2014 In diesem HOWTO wird die grundlegende Netzwerk-Infrastruktur der IAC- BOX beschrieben. IAC-BOX Netzwerkintegration TITEL Inhaltsverzeichnis
MehrSAP NetWeaver Gateway. Connectivity@SNAP 2013
SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten
MehrModul 7 Uniform Resource Identifier (URI)
Modul 7 Uniform Resource Identifier (URI) M. Leischner Internetkommunikation Folie 1 Was ist ein URI? Ein URI identifiziert eine abstrakte Ressource Ein URI stellt ein universelles Konzept zur Identifikation
MehrMan liest sich: POP3/IMAP
Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und
MehrRechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.
Rechnernetzwerke Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können. Im Gegensatz zu klassischen Methoden des Datenaustauschs (Diskette,
MehrÜbungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
MehrKonfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0.
Konfigurationsanleitung Access Control Lists (ACL) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0 Seite - 1 - 1. Konfiguration der Access Listen 1.1 Einleitung Im Folgenden
MehrKN 20.04.2015. Das Internet
Das Internet Internet = Weltweiter Verbund von Rechnernetzen Das " Netz der Netze " Prinzipien des Internet: Jeder Rechner kann Information bereitstellen. Client / Server Architektur: Server bietet Dienste
MehrProgrammiermethodik. Übung 13
Programmiermethodik Übung 13 Sommersemester 2010 Fachgebiet Software Engineering andreas.scharf@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA9 Mancala Showroom Client/Server Kommunikation in Java
MehrKontrollfragen: Internet
Kontrollfragen: Internet 1. Zählen Sie mindestens 5 Internet-Dienste auf. 2. Was ist eine virtuelle Verbindung? Vergleichen Sie eine virtuelle TCP/IP-Verbindung mit der Leitungsvermittlung (analoge Telefonverbindung).
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrTCP/IP-Protokollfamilie
TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und
MehrClient/Server-Systeme
Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante
MehrFolgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.
1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent
MehrWiederholung: Beginn
B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben
MehrNetzwerk. Um den Hostnamen angezeigt zu bekommen $ hostname $ hostname -f Um den Hostnamen zu ändern $ hostname <neuerhostname>
Tutorium Anfänger Übersicht Netzwerk Netzwerk Netzwerk Damit ein Rechner in einem Netzwerk aktiv sein kann, braucht er einen einzigartigen Hostnamen Der Hostname dient zur Identifikation des Rechners Netzwerk
MehrClient-Server-Prinzip
Client-Server-Prinzip Kommunikation im Internet erfolgt nach dem Client-Server-Prinzip: Client sendet eine Anfrage (fordert eine Dienstleistung an) Server sendet die Antwort (bietet eine Dienstleistung
MehrARCHITEKTUR VON INFORMATIONSSYSTEMEN
ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll
MehrInstallation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================
Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ 0 Überblick ----------- Die Installation des GeoShop Redirector im Apache
MehrOnline-Publishing mit HTML und CSS für Einsteigerinnen
mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Grundlagen Frau erfahrt, wie das Internet aufgebaut ist, aus welchen
MehrBetriebskonzept E-Mail Einrichtung
Betriebskonzept E-Mail Einrichtung www.bolken.ch Klassifizierung öffentlich - wird an die E-Mail Benutzer abgegeben Versionenkontrolle Version Status Verantwortlich Datum 4.0 Genehmigt Gemeinderat 25.03.2015
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
MehrCCNA Exploration Network Fundamentals. ARP Address Resolution Protocol
CCNA Exploration Network Fundamentals ARP Address Resolution Protocol ARP: Address resolution protocol 1. Eigenschaften ARP-Cache Aufbau 2. Ablauf Beispiel Flussschema 3. ARP-Arten 4. Sicherheit Man-In-The-Middle-Attacke
MehrÜberblick. Netzprogrammierung 7b. Zustand in Web Anwendungen. Zustand in HTTP HTTP ist zustandslos Zwei Interaktionen sind unabhängig voneinander
Überblick 1. Zustand in Web Anwendungen Netzprogrammierung 7b. Zustand in Web Anwendungen Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
MehrTCP/UDP. Transport Layer
TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?
MehrAnalyse und Darstellung der Protokollabläufe in IPv6-basierten Rechnernetzen
Analyse und Darstellung der Protokollabläufe in IPv6-basierten Rechnernetzen Diplomarbeit Harald Schwier Vortragsthema: Integration von IPv6 in IPv4-basierte Netze Harald Schwier 26.05.2005 Themen der
MehrProtokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL
TCP/IP: Standard Protokolle Konrad Rosenbaum, 2006/7 DNS - Domain Name System hierarchische, global verteilte Datenbank löst Namen in IP-Adressen auf Host hat einen primären Nameserver, der Fragen selbst
MehrEinführung in die Netzwerktechnik
Ich Falk Schönfeld Seit 8 Jahren bei eurogard GmbH Entwickler für Remoteserviceprodukte Kernkompetenz Linux Mail: schoenfeld@eurogard.de Telefon: +49/2407/9516-15 Ablauf: Was bedeutet Netzwerktechnik?
MehrWorkflow, Business Process Management, 4.Teil
Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung
MehrICMP Internet Control Message Protocol. Michael Ziegler
ICMP Situation: Komplexe Rechnernetze (Internet, Firmennetze) Netze sind fehlerbehaftet Viele verschiedene Fehlerursachen Administrator müsste zu viele Fehlerquellen prüfen Lösung: (ICMP) Teil des Internet
MehrKonfigurationsanleitung Network Address Translation (NAT) Funkwerk. Seite - 1 - Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.
Konfigurationsanleitung Network Address Translation (NAT) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.1 Seite - 1 - 1. Konfiguration von Network Address Translation 1.1
MehrUniform Resource Identifiers (URI) und Domain Name Service (DNS)
Kurzvortrag zum Thema: Uniform Resource Identifiers (URI) und Domain Name Service (DNS) Beschreiben Sie Aufbau und Einsatzzweck von URI, URL und URN. Lesen Sie die dazu passenden RFCs. Was ist der Domain
MehrDie Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:
Installation des GeoShop Redirector für IIS (Stand 24.8.2007) ============================================================= 0 Überblick ----------- Die Installation des GeoShop Redirector für IIS (Internet
Mehr4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen
Gliederung 1. Was ist Wireshark? 2. Wie arbeitet Wireshark? 3. User Interface 4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen 1 1. Was
Mehr2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn
2.3 Applikationen Telnet, FTP, Rlogin Carsten Köhn Protokolle: TCP/IP Application umfasst Dienste, die als Prozesse des Betriebssystems ausgeführt werden SMTP, FTP, HTTP, MIME Transport regelt die Kommunikation
MehrRESTful Web. Representational State Transfer
RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten
Mehr15 Transportschicht (Schicht 4)
Netzwerktechnik Aachen, den 16.06.03 Stephan Zielinski Dipl.Ing Elektrotechnik Horbacher Str. 116c 52072 Aachen Tel.: 0241 / 174173 zielinski@fh-aachen.de zielinski.isdrin.de 15 Transportschicht (Schicht
MehrFolgende Voraussetzungen für die Konfiguration müssen erfüllt sein:
7. Intrusion Prevention System 7.1 Einleitung Sie konfigurieren das Intrusion Prevention System um das Netzwerk vor Angriffen zu schützen. Grundsätzlich soll nicht jeder TFTP Datenverkehr blockiert werden,
MehrInformatik B. Vorlesung 16 Netzwerkprogrammierung. Dr. Ralf Kunze
Vorlesung 16 Netzwerkprogrammierung 1 Netzwerkprogrammierung Mit Java-Programmen ist es möglich, Verbindungen über Netze aufzubauen Die Basisfunktionalität zur Netzwerkprogrammierung stellt das Paket java.net
Mehr8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung
8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung Im Folgenden wird die Konfiguration von BRRP gezeigt. Beide Router sind jeweils über Ihr Ethernet 1 Interface am LAN angeschlossen. Das Ethernet
MehrGefahren aus dem Internet 1 Grundwissen April 2010
1 Grundwissen Voraussetzungen Sie haben das Internet bereits zuhause oder an der Schule genutzt. Sie wissen, was ein Provider ist. Sie wissen, was eine URL ist. Lernziele Sie wissen, was es braucht, damit
MehrSicherheitsdienste für große Firmen => Teil 2: Firewalls
Seite 21 Sicherheitsdienste für große Firmen => Teil 2: Firewalls Sicherer Zugang zum World Wide Web (HTTP, FTP etc.) Sicherer Übergang zum Internet: Firewalls und Intrusion Detection Verzeichnisdienste
MehrWeb Grundlagen zum Spidering
May 22, 2009 Outline Adressierung 1 Adressierung 2 3 4 Uniform Resource Locator URL Jede Seite im Internet wird eindeutig über eine URL identiziert, z.b. http://www.christianherta.de/informationretrieval/index.html
MehrArchitektur Verteilter Systeme Teil 2: Prozesse und Threads
Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
Mehr2. Architektur von Kommunikationssystemen
2. Architektur von Kommunikationssystemen 2.1 2.2 TCP/IP-basierte Protokollarchitektur Digitale Kommunikationssysteme Prof. Dr. Habermann / Dr. Hischke 12-01 / 1 Das OSI-Referenzmodell wird ausführlich
MehrMan unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.
Netzwerk Ein Netzwerk wird gebildet, wenn mehrere Geräte an einem Switch mit Netzwerkkabeln angeschlossen werden. Dabei können die einzelnen Geräte miteinander kommunizieren und über ein Netzwerkprotokoll
MehrFOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)
1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein
MehrWLAN Konfiguration. Michael Bukreus 2014. Seite 1
WLAN Konfiguration Michael Bukreus 2014 Seite 1 Inhalt Begriffe...3 Was braucht man für PureContest...4 Netzwerkkonfiguration...5 Sicherheit...6 Beispielkonfiguration...7 Screenshots Master Accesspoint...8
MehrSession Management und Cookies
LMU - LFE Medieninformatik Blockvorlesung Web-Technologien Wintersemester 2005/2006 Session Management und Cookies Max Tafelmayer 1 Motivation HTTP ist ein zustandsloses Protokoll Je Seitenaufruf muss
MehrAnleitung zur Nutzung des SharePort Utility
Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner
MehrVerteilte Systeme - 2. Übung
Verteilte Systeme - 2. Übung Dr. Jens Brandt Sommersemester 2011 1. Server-Entwurf a) Beschreiben Sie was sich hinter den Begriffen statusloser bzw. statusbehafteter Server verbirgt. Statusloser Server
MehrMCRServlet Table of contents
Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient
MehrBFV Widgets Kurzdokumentation
BFV Widgets Kurzdokumentation Mit Hilfe eines BFV-Widgets lassen sich die neuesten Ergebnisse und die aktuellen Tabellen des BFV auf der eigenen nicht kommerziellen Webseite mit wenig Aufwand einbeten.
Mehr7.4 Verteilungsabstraktion in heterogener Umgebung
7.4 Verteilungsabstraktion in heterogener Umgebung Szenario: reiner Maschinencode (native code) bei unterschiedlichen Rechnerarchitekturen, unterschiedlichen Betriebssystemen, unterschiedlichen Übersetzern,
MehrConnectivity Everywhere
Connectivity Everywhere Ich bin im Netz, aber wie komme ich sicher nach hause? Tricks fuer mobile Internet Nutzer Überblick Sicherheitsprobleme beim mobilen IP-Nutzer Konventionelle Loesung: IP-Tunnel
MehrStefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung
1. Remote ISDN Einwahl 1.1 Einleitung Im Folgenden wird die Konfiguration einer Dialup ISDN Verbindungen beschrieben. Sie wählen sich über ISDN von einem Windows Rechner aus in das Firmennetzwerk ein und
MehrDynDNS Router Betrieb
1. Einleitung Die in dieser Information beschriebene Methode ermöglicht es, mit beliebige Objekte zentral über das Internet zu überwachen. Es ist dabei auf Seite des zu überwachenden Objektes kein PC und/oder
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrHTBVIEWER INBETRIEBNAHME
HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten
MehrTCP/IP Programmierung. C# TimeServer Java6 TimeClient
TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7
MehrUni-Firewall. Absicherung des Überganges vom Hochschulnetz zum Internet am Wingate (Helmut Celina)
Uni-Firewall Absicherung des Überganges vom Hochschulnetz zum Internet am Wingate (Helmut Celina) Was ist eine Firewall? oder 2 Was ist eine Firewall? Eine Firewall muss ein Tor besitzen Schutz vor Angriffen
MehrVerteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
MehrHaben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?
Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen? Januar 2012 CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Motivation Modernisierung eines Systems mit
MehrKlausur IA12.0/13.0 353 Rechnernetze am 4.2.2002
Klausur IA12.0/13.0 353 Rechnernetze am 4.2.2002 Dauer : 100 Minuten keine externen Hilfsmittel Aufgabe 1 : (20 Punkte) Bestimmen Sie für jede nachfolgend gegebene IP-Hostadresse die zugehörige IP-Teilnetzadresse
MehrPython Programmierung. Dipl.-Ing.(FH) Volker Schepper
Python Programmierung String Operationen i = 25 text1 = "Ich bin " text2 = " Jahre alt" print (text1 + str(i) + text2) print ("ich bin", i, "Jahre alt") print ("ich bin %s Jahre alt" % i) >>> Ich bin 25
MehrThemen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht
Themen Anwendungsschicht DNS HTTP Anwendungsschicht OSI-Schicht 7, TCP/IP-Schicht 4 Dienste für den Nutzer/Anwender Unabhängig von den niederen Schichten Verschiedene Dienste bzw. Services DNS HTTP FTP,
MehrISA Server 2006 - Exchange RPC over HTTPS mit NTLM-Authentifizierung
Seite 1 von 24 ISA Server 2006 - Exchange RPC over HTTPS mit NTLM-Authentifizierung Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2006 Microsoft Windows Server 2003 SP1 Microsoft
MehrWas ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security
Agenda Was ist LDAP Aufbau einer Sicherheitsmaßnahmen Was ist LDAP Abstract RFC4510 The Lightweight Directory Access Protocol (LDAP) is an Internetprotocol for accessing distributed directory services
MehrApplication Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung
2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1
MehrMusterlösung Klausur SS 2004
Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:
MehrSeminar: Konzepte von Betriebssytem- Komponenten
Seminar: Konzepte von Betriebssytem- Komponenten Denial of Service-Attacken, Firewalltechniken Frank Enser frank.enser@web.de Gliederung Was sind DoS Attacken Verschiedene Arten von DoS Attacken Was ist
MehrSeite - 1 - 8. Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung
8. Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung Sie konfigurieren den OOBA, um die Webzugriffe mit HTTP ins Internet zu kontrollieren. Das Aufrufen von Webseiten ist nur authentifizierten Benutzern
MehrÜbersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?
Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS
MehrProxy. Krishna Tateneni Übersetzer: Stefan Winter
Krishna Tateneni Übersetzer: Stefan Winter 2 Inhaltsverzeichnis 1 Proxy-Server 4 1.1 Einführung.......................................... 4 1.2 Benutzung.......................................... 4 3 1
MehrIMAP und POP. Internet Protokolle WS 12/13 Niklas Teich Seite 1
IMAP und POP Internet Protokolle WS 12/13 Niklas Teich Seite 1 IMAP UND POP Inhaltsverzeichnis» Post Office Protocol» Internet Message Access Protocol» Live Beispiel mit telnet Internet Protokolle WS 12/13
MehrVS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel
VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte
MehrDieser Artikel beschreibt die Veröffentlichung eines Microsoft SQL Server 2000 über einen ISA Server 2004.
SQL Server Veröffentlichung ISA Server FAQ Kapitel höher Erstellen einer Firewallrichtlinie Systemrichtlinien Websiten sperren Windowsupdate V5 Zeitsynchronisation Mailzugriff SMTP Server veröffentlichen
MehrVirtual Private Network
Virtual Private Network Allgemeines zu VPN-Verbindungen WLAN und VPN-TUNNEL Der VPN-Tunnel ist ein Programm, das eine sichere Verbindung zur Universität herstellt. Dabei übernimmt der eigene Rechner eine
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrVirtual Desktop Infrasstructure - VDI
Virtual Desktop Infrasstructure - VDI Jörg Kastning Universität Bielefeld Hochschulrechenzentrum 5. August 2015 1/ 17 Inhaltsverzeichnis Was versteht man unter VDI? Welchen Nutzen bringt VDI? Wie funktioniert
MehrSwissdec Standards. Was ist bei der Internetanbindung einer Swissdec-zertifizierten Lohnbuchhaltung zu beachten.
Swissdec Standards Was ist bei der anbindung einer Swissdec-zertifizierten Lohnbuchhaltung zu beachten. Version 20100909 Ausgabe 14.04.2015 Access Kommunikation Der Datentransport von der Lohnbuchhaltung
MehrSTARFACE SugarCRM Connector
STARFACE SugarCRM Connector Information 1: Dieses Dokument enthält Informationen für den STARFACE- und SugarCRM-Administrator zur Inbetriebnahme des STARFACE SugarCRM Connectors. Inhalt 1 Inbetriebnahme...
MehrKonfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems
Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems Hier die notwendigen Einstellungen in der Administratorkonsole des Exchange 2000 Zuerst müssen
MehrISA Server 2004 Einzelner Netzwerkadapater
Seite 1 von 8 ISA Server 2004 - Konfiguration mit nur einer Netzwerkkarte Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 In diesem Artikel wird auf die Konfiguration von
MehrNetworking. Motivation Grundlagen von Sockets Klasse Socket Klasse ServerSocket Exceptions Klasse URL
Networking Motivation Grundlagen von Sockets Klasse Socket Klasse ServerSocket Exceptions Klasse URL Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Netzwerkprogrammierung in Java Programme schreiben,
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrKontrollfragen Firewalltypen
Kontrollfragen Firewalltypen Paketlter Die vier Grundaktionen des Paketlters Ein Paketfilter repräsentiert das Urgestein der Firewallthematik. Er arbeitet mit so genannten Regelketten, welche sequentiell
MehrNetzwerkprogrammierung & Threads
& Threads Praktikum aus Softwareentwicklung 2 Netzwerp. - 1 & Threads URL, URLConnection, UDP, TCP Threads Parallele Programme, Synchronisation, Netzwerp. - 2 Grundlagen (1/2) Kommunikation zwischen verteilten
MehrProseminar: Website-Management-Systeme
Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das
MehrWalther- Übungsaufgabe 24. Januar 2016 Rathenau- Routing Name: Gewerbeschule Freiburg DHCP Klasse: E3FI1T Seite 1 Punkte: /20 Note:
Fach: ITS Walther- Übungsaufgabe 24. Januar 2016 Gruppe: Rathenau- Routing Name: Gewerbeschule VLANs Freiburg DHCP Klasse: E3FI1T Seite 1 Punkte: /20 Note: Hinweise Liebe Leute, bitte versucht so gut als
MehrWindows Server 2008 für die RADIUS-Authentisierung einrichten
Windows Server 2008 für die RADIUS-Authentisierung einrichten Version 0.2 Die aktuellste Version dieser Installationsanleitung ist verfügbar unter: http://www.revosec.ch/files/windows-radius.pdf Einleitung
Mehr