Bs-7.41 7.4 Kommunikation Kommunikation zwischen Benutzerprozessen (IPK) stellt andere Anforderungen als auftragsorientierte Kommunikation in mikrokernbasierten.

Slides:



Advertisements
Ähnliche Präsentationen
Einer der Dienste im Internet
Advertisements

Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Attribute Protocol.
Kapitel 4: Design von Client/Server-Software
1 Spezielle Packages des Java SDK (1.4) java.nio.
2.4 Kommunikationsdienste des Betriebssystems
4 Verteilte Algorithmen
2 Kommunikationssysteme bieten Kommunikationsdienste an, die das Senden und Empfangen von Nachrichten erlauben (sending & receiving messages) bestehen.
4.2 Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozeßgruppe (process.
Vs Klassifizierung von Kommunikationsdiensten synonym:Nachrichtensystem/dienst(message service) Kommunikationssystem/dienst(communication service)
Der SmartPump-Server Ein tolles Stück Technik. 2Der SmartPump Server Architektur Kontrollkommunikation RTP-Videostrom Client Server RTSP Pipeline Daten.
Konfiguration eines VPN Netzwerkes
Anwendungen in Rechnernetzen Tobias Wawryniuk
FH-Hof Sockets in Java Richard Göbel. FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
Internet und seine Dienste
OSI-Schichtenmodell Unterschiedliche Rechner brauchen eine gemeinsame Basis, um sich miteinander zu „unterhalten“. Geklärt werden muss dabei u. a. Folgendes:
Einführung in die Netzwerktechnik 1 Der ARP-Prozess
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Martin MauveUniversität Mannheim1 3.6 User Datagram Protocol (UDP) RFC 768. J. Postel. User Datagram Protocol unzuverlässiges Transportprotokoll.
Einführung in die Technik des Internets
Datenströme DVG Datenströme.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
CCNA2 – Module 4 Learning about Other Devices
von Julia Pfander und Katja Holzapfel E 12/2
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
3 Wie funktioniert TCP/IP?
Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,
Rechnerkommunikation I
Referent: Kiron Mirdha Betreuer: Rene Hilden Juli 2012
1 Übersicht Absicherung Internet Layer Absicherung Transport Layer Absicherung Application Layer.
WAP = Wireless Application Protocol Protokollstack Ein Protokoll ...
Socket-Programmierung
PSI - Überblick und Szenarien
Dateisysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Dateisysteme Was ist eine Datei?
Das OSI Schichtenmodell
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Allgemeine Technologien I Sitzung am Mailserver
Information und Kommunikation
Netzwerkprogrammierung
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002.
Referat von Markus Hertel
FINS Kommunikation.
Netzwerke.
Meldungen über Ethernet mit FINS/UDP
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Provider und Dienste im Internet
2. Kommunikation und Synchronisation von Prozessen 2
FTP File Transfer Protocol. Geschichte Das File Transfer Protocol (engl. für „Dateiübertragungsverfahren“, kurz FTP) ist ein im RFC 959 von 1985 spezifiziertes.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
 Sind Adresskomponenten (an der IP- Adresse angehängt, von ihr durch Doppelpunkt getrennt)  Werden in Netzwerkprotokollen eingesetzt um Datenpakete.
TCP/IP.
Schutzvermerk nach DIN 34 beachten TCP / IP. Schutzvermerk nach DIN 34 beachten TCP / IP und das OSI-Referenzmodell Process / Application Host-to-Host.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Kirsten Kropmanns Allgemeine Technologien II 9. März 2009
Vs31 3 Netzdienste im Internet. vs32 Netzdienste = über Ports ansprechbare Dienste, die hauptsächlich (aber nicht nur) für die Fernnutzung gedacht sind.
Vs41 4 Verteilte Algorithmen. vs42 Prozesse als Systemkomponenten:  Spezifikation eines Prozesses ? (Vgl. Spezifikation eines ADT) syntaktisch:z.B. Ports.
C Tutorium – Shared Memory – Knut Stolze. 2 Shared Memory Ein Speicherbereich, auf den mehrere Prozesse Zugriff haben – Also kein privater Speicher –
Lisa Huber DHBW Mannheim
Mailserver IT-Zertifikat der Phil.-Fak.: Advanced IT Basics
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Netzwerke Alexander Sczyrba Jan Krüger.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
2 Kommunikationssysteme
ISO / OSI Referenzmodell
Netzwerke Netzwerkgrundlagen.
Tutorstunde 10.
 Präsentation transkript:

bs Kommunikation Kommunikation zwischen Benutzerprozessen (IPK) stellt andere Anforderungen als auftragsorientierte Kommunikation in mikrokernbasierten Betriebssystemen, vor allem großzügige Pufferung, sowohl Auftragsbeziehungen als auch Nachrichten- oder Byte-Ströme, sowohl lokal als auch übers Netz Ein/Ausgabe !

bs Pipes Zur Erinnerung (2.4 ): Pipe = Byte-Puffer fester Größe,2.4 erzeugt mit pipe(channel), benutzt mit read(channel[0]) für das Empfangen von Bytes (kann blockieren), benutzt mit read(channel[1]) für das Senden von Bytes (kann blockieren!), eingesetzt für Byteströme zwischen verwandten Prozessen.

bs-7.43 Gepufferte Repräsentation: - typischerweise 0 – 4 KB, - entweder in anonymer Datei fester Größe, die durch pipe eingerichtet wird, - oder desgl. auf RAM disk (da nicht notwendig persistent) - oder in speziellem Arbeitsspeicherbereich; - channel[0] und channel[1] verweisen auf zwei Iteratoren mir unabhängigen Lese- bzw. Schreibzeigern, die zyklisch durch den Puffer wandern. read write

bs Benannte Pipes (named pipes, fifo special files, fifos) sind Zwitter zwischen Dateien und Pipes, erlauben IPK zwischen beliebigen Prozessen, typischerweise mit Pufferkapazität 0. Erzeugung: mknod(path,(mode&0777)|S_IFIFO,0) * oder mkfifo(path,mode) oder Befehl mkfifo [ –m mode ] path

bs-7.45 Benutzung z.B. so: >: mkfifo buffer >: ls -l prw lohr institut 0 Jul 10 11:08 buffer >: process input1 >buffer & >: process input2 >buffer & >: more buffer zeigt gemischte Ausgabe Kapazität 0: Sender wartet, bis Empfänger übernimmt Empfänger erhält EOF, wenn jeder Sender seinen Kanal geschlossen hat

bs-7.46 Beachte: mit benannten Pipes lassen sich nicht nur Pipelines, sondern beliebige Datenflußgraphen aufsetzen ! >: mkfifo a b c d e f g >: 1 a b & 2 a c & 3 b d e & 4 c d f & 5 e g & 6 f g a d c b f e g

bs Message Queues (Unix) werden im Arbeitsspeicher gehalten, sind unabhängig von den Lebensdauern ihrer Benutzer, übertragen Einzelnachrichten, werden durch einen Schlüssel (Typ key_t ) identifiziert. msqid = msgget(key,msgflag) erzeugt und/oder öffnet die M.Q. key mit Zugriffsrechten gemäß msgflag

bs-7.48 Senden und Empfangen: fd = msgsnd(msqid,&buffer,length,flag) buffer ist vom Typ struct msgbuf {long mtype; char mtext[1]; } msgrcv(msqid,&buffer,length,type,flag)

bs Sockets dienen vorwiegend der Kommunikation im Netz (aber auch lokal einsetzbar, dann ähnlich wie Pipes) Socket =Duplex-Kanalanschluss (Senden und Empfangen) mit unterschiedlich wählbaren Semantiken (socket = Steckdose) Socket 1 Socket 2 Prozess PProzess Q

bs Benutzung von Sockets Alternative Semantiken: zuverlässiger Byte-Strom oder Einzelnachrichten ohne Reihenfolgegarantie, ohne Schutz gegen Verlust 1. Erzeugung 2. Namensgebung 3. Binden an anderen Socket 4. Duplex-Kommunikation über den so entstandenen Kanal

bs Familie Dienst PF_UNIX PF_INET PF_NS SOCK_STREAM TCPSPP SOCK_DGRAM UDP IDP SOCK_RAW IP Erzeugung eines – ungebundenen – Socket: int socket(int family, int type, int protocol) prozeßlokaleProtokoll- Dienst Protokoll Socket-NummerFamilie (i.d.R. 0 [Null]) (file descriptor!)

bs int bind(int socket, struct sockaddr *address, int addrlen) (Protokollfamilie, Port-Nummer, Internet-Adresse) Benennung eines Socket mit netzweit eindeutigem Namen, bestehend aus Internet-Adresse des Rechners (IP address) Port-Nummer (lokal)

bs SOCK_DGRAM für Internet: unzuverlässige Nachrichtenübertragung mit UDP int sendto(int socket, char *buffer, int length, int flags, struct sockaddr *to, int addrlen) Absender socket sendet an Adressat to int recvfrom(int socket, char *buffer, int length, int flags, struct sockaddr *from, int *addrlen) socket empfängt an ihn gesendete Nachricht sowie deren Absender Pufferung der Nachrichten teils beim Sender, hauptsächlich aber beim Empfänger

bs SOCK_STREAM für Internet: zuverlässiger Byte-Strom mit TCP Orientierung an Szenario Auftraggeber/Auftragnehmer : 1. Klient stellt Verbindung mit Server her; 2. sodann Nachrichtenaustausch mittels (Klient)(Server) write(s1,request,length); read(s3,request,length);... write(s3,reply,length); read(s1,reply,length);

bs Herstellung der Verbindung: (Klient)(Server) s1 = socket(...);s2 = socket(...); [ bind(s1,..); ] bind(s2,&local,l); listen(s2, qlength); connect(s1,&dst,l);s3 = accept(s2,&src,&l); write(s1,..);read(s3,..);... close(s1);close(s3); ( Statt write/read auch send/recv(.,.,.,flags) ! )

bs Java unterstützt das Arbeiten mit Sockets durch Bibliotheksklassen Socket, ServerSocket, DatagramSocket, MulticastSocket,..... siehe java.net.*

bs Implementierung von Sockets Protokollfamilie PF_UNIX :wie Pipes Protokollfamilie PF_INET : Transportsystem des Internet, bestehend aus Treiber des Netzanschlusses (network interface) + Internet-Kommunikationsprotokolle:

bs Protokollhierarchie: Software ist in Schichten strukturiert 7Anwendung (application) 6Darstellung (presentation) 5Sitzung (session) 4Transport (transport) 3Vermittlung (network) 2Sicherung (data link) 1Bitübertragung (physical !) ISO OSI Anwendungsprotokolle: TELNET, FTP, HTTP,... TCP, UDP IP (Netztreiber) Internet Transportsystem Anwendungssystem (Systemschnittstelle - Sockets)

bs Protokollstapel (protocol stack) ist entweder fest eingebaut oder dynamisch modifizierbar durch Einziehen/Löschen von Schichten: Streams, bestehend aus einer Folge von Modulen, existieren zwischen Benutzerprozess und Netzanschluss stream head nimmt socket-bezogene Systemaufrufe entgegen

bs Beachte: Streams sind auch bei Pipes einsetzbar, erlauben dynamisches Einfügen von Treibern ! Systemaufruf in Unix: wiederum ioctl(channel,command,arg) mit typischen command -Werten I_PUSH Einfügen eines Moduls hinter dem stream head I_POP Entfernen......