Übungen zu Systemprogrammierung 2 (SP2)
|
|
|
- Christian Adenauer
- vor 9 Jahren
- Abrufe
Transkript
1 Übungen zu Systemprogrammierung 2 (SP2) Ü1 Interprozesskommunikation mit Sockets C. Erhardt, J. Schedel, A. Ziegler, J. Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS bis 23. Oktober
2 Agenda 1.1 Organisatorisches 1.2 IPC-Grundlagen 1.3 Betriebssystemschnittstelle zur IPC 1.4 Ein-/Ausgabemechanismen 1.5 Gelerntes anwenden c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1 1
3 Miniklausur-Termin Termin für die Miniklausur Donnerstag, , 18:00 s.t. im H7 und H11 c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.1 Organisatorisches 1 2
4 Organisatorisches Übungsbetrieb Rechnerübungen von SP1 und SP2 finden gemeinsam statt Termine siehe https: //www4.cs.fau.de/lehre/ws15/v_sp2/uebung/univis.ushtml Als unbetreut eingetragene Rechnerübungen sind mit Raumreservierung, aber ohne Tutor SVN-Repository URL: Passwort setzen: /proj/i4sp2/bin/change-password Projektverzeichnisse in diesem Semester unter /proj/i4sp2 SP1-Repository aus dem Vorsemester weiterhin zugreifbar c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.1 Organisatorisches 1 3
5 Programmieraufgaben Durchgängige Verwendung von 64-Bit Programmiersprache ISO C99 Betriebssystemstandard SUSv4 (= POSIX ) Kompilieren & Linken Standard-Flags in SP: -std=c99 -pedantic -Wall -Werror \ -D_XOPEN_SOURCE=700 Zum Debuggen zusätzlich -g In SP2 konsequente Benutzung von Makefiles Ach, übrigens... Fehlerabfragen nicht vergessen! Wir wollen in SP robuste Programme schreiben. c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.1 Organisatorisches 1 4
6 Agenda 1.1 Organisatorisches 1.2 IPC-Grundlagen 1.3 Betriebssystemschnittstelle zur IPC 1.4 Ein-/Ausgabemechanismen 1.5 Gelerntes anwenden c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 5
7 Client-Server-Modell IPC-Grundlagen Ein Server ist ein Programm, das einen Dienst (Service) anbietet, der über einen Kommunikationsmechanismus erreichbar ist Server Akzeptiert Anforderungen, die von außen kommen Führt einen angebotenen Dienst aus Schickt das Ergebnis zurück zum Sender der Anforderung In der Regel als normaler Benutzerprozess realisiert Client Schickt eine Anforderung an einen Server Wartet auf eine Antwort c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 6
8 Kommunikation innerhalb eines Systems IPC-Grundlagen? Wie findet ein Client den gewünschten Dienstanbieter? Intuitiv: über dessen Prozess-ID System A Prozess 1 PID = 23? Prozess 2 PID = 42 Problem: Prozesse werden dynamisch erzeugt/beendet; PID ändert sich Lösung: Verwendung eines abstrakten Namens für den Dienst System A Prozess 1 UNIX-Socket UNIX-Socket /tmp/sock Prozess 2 PID = 23 PID = 42 Prozess 2 ist über den Dienstnamen (hier: einen Dateinamen) erreichbar c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 7
9 Kommunikation über Systemgrenzen hinweg IPC-Grundlagen? Wie findet ein Client nun den gewünschten Dienstanbieter? Über einen zweistufig aufgebauten Namen : 1. Identifikation des Systems innerhalb des Netzwerks 2. Identifikation des Prozesses innerhalb des Systems Beispiel TCP/IP: eindeutige Kombination aus 1. IP-Adresse (identifiziert Rechner im Internet) 2. Port-Nummer (identifiziert Dienst auf dem Rechner) System A ( ) System B ( ) Prozess 1 PID = 23 Port Prozess 2 PID = 42 c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 8
10 Adressierung von Rechnern im Internet IPC-Grundlagen Internet Protocol, Version 4 (IPv4) Protokoll zur Bildung eines weltweiten virtuellen Netzwerks auf der Basis mehrerer physischer Netze (durch Routing) 1981 als Standard verabschiedet 32-Bit-Adressraum ( 4 Milliarden Adressen) Notation: 4 mit. getrennte Byte-Werte in Dezimaldarstellung z. B Nicht zukunftsfähig wegen des viel zu kleinen Adressraums Alle Adressblöcke in Asien/Pazifikraum (2011), Europa/Nahost (2012) und Lateinamerika/Karibik (2014) bereits vergeben! c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 9
11 Adressierung von Rechnern im Internet IPC-Grundlagen Internet Protocol, Version 6 (IPv6) Nachfolgeprotokoll von IPv als Standard verabschiedet, Einführung aktuell im Gange Dual Stack: IPv4 und IPv6 parallel betreibbar 128-Bit-Adressraum ( 3, Adressen) Sollte fürs Erste ausreichen :-) Notation: 8 mit : getrennte 2-Byte-Werte in Hexadezimaldarstellung z. B. 2001:638:a00:1e:219:99ff:fe33:8e75 In der Adresse kann einmalig :: als Kurzschreibweise einer Nullfolge verwendet werden z. B. localhost-adresse: 0:0:0:0:0:0:0:1 = ::1 c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 10
12 Domain Name System (DNS) IPC-Grundlagen IP-Adressen sind nicht leicht zu merken... und ändern sich, wenn man einen Rechner in ein anderes Rechenzentrum umzieht Lösung: zusätzliche Abstraktion durchs DNS-Protokoll DNS-Server faui06a.cs.fau.de: xkcd.com: faui06a.cs.fau.de 1 query: xkcd.com query: xkcd.com connect: faui06a.cs.fau.de Forward lookup: Rechnername IP-Adresse 2. Kommunikationsaufbau 3. Reverse lookup (im Beispiel optional): IP-Adresse Rechnername c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 11
13 Port IPC-Grundlagen Numerische Identifikation eines Dienstes innerhalb eines Systems Port-Nummer: 16-Bit-Zahl, d. h. kleiner als Port-Nummern < 1024: well-known ports Können nur von Prozessen gebunden werden, die mit speziellen Privilegien gestartet wurden (Ausführung als root) z. B. ssh = 22, smtp = 25, http = 80, https = 443 c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 12
14 Kommunikationsarten IPC-Grundlagen Verbindungsorientiert (Datenstrom/Stream) Gesichert gegen Verlust und Duplizierung von Daten Reihenfolge der gesendeten Daten bleibt erhalten Vergleichbar mit einer UNIX-Pipe allerdings bidirektional Implementierung: Transmission Control Protocol (TCP) Paketorientiert (Datagramm) Schutz vor Bitfehlern nicht vor Paketverlust oder -duplizierung Datenpakete können eventuell in falscher Reihenfolge ankommen Grenzen von Datenpaketen bleiben erhalten Implementierung: User Datagram Protocol (UDP) c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 13
15 Beim Austausch von binären Datenwörtern ist die Reihenfolge der einzelnen Bytes zur richtigen Interpretation wichtig IPC-Grundlagen Übertragung von Daten Beim- z. Austausch B. Intel x86 von (litte endian) binärenund Datenwörtern Sun SPARC (big zwischen endian) - verschiedenen setzt einen Rechnern Konsens muss über Einigkeit die verwendete überbyteorder die verwendete voraus Byteorder herrschen! Beispiel: Kommunikation zwischen x86-rechner (little endian) und SPARC-Rechner (big endian) Kommunikation zwischen Rechnern verschiedener Architekturen Definierter Standard: Netzwerk-Byteorder ist auf big endian festgelegt Beispiel: Wert Repräsentation 0xcafebabe big endian ca fe ba be SP - Ü Systemprogrammierung 2 Übungen little endian Definierter Standard: Netzwerk-Byteorder = big endian Konvertierung vor dem Senden und nach dem Empfangen nötig Ausnahme: bei Übertragung von Einzelbytes bzw. Byte-Strings Jürgen Kleinöder, Michael Stilkerich, Jens Schedel, Christoph Erhardt Universität Erlangen-Nürnberg Informatik 4, 2012 U01.fm be ba ca U1.11 Reproduktion jeder Art oder Verwendung dieser Unterlage, außer zu Lehrzwecken an der Universität Erlangen-Nürnberg, bedarf der Zustimmung des Autors. fe c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.2 IPC-Grundlagen 1 14
16 Agenda 1.1 Organisatorisches 1.2 IPC-Grundlagen 1.3 Betriebssystemschnittstelle zur IPC 1.4 Ein-/Ausgabemechanismen 1.5 Gelerntes anwenden c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.3 Betriebssystemschnittstelle zur IPC 1 15
17 Sockets Betriebssystemschnittstelle zur IPC Generischer Mechanismus zur Interprozesskommunikation Implementierung ist abhängig von der jeweiligen Kommunikations-Domäne Innerhalb des selben Systems: z. B. UNIX-Socket Adressierung über Dateinamen, Kommunikation über gemeinsamen Speicher, keine Sicherungsmechanismen notwendig Über Rechnergrenzen hinweg: z. B. TCP/UDP-Socket Adressierung über IP-Adresse + Port, nachrichtenbasierte Kommunikation, Sicherungsmechanismen bei TCP Beim Verbindungsaufbau sind die entsprechenden Parameter zu wählen Anschließende Verwendung im Programm ist transparent... egal, ob der Kommunikationspartner ein Prozess auf dem selben Rechner oder am anderen Ende der Welt ist c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.3 Betriebssystemschnittstelle zur IPC 1 16
18 Erzeugen eines Sockets Betriebssystemschnittstelle zur IPC Sockets werden mit dem Systemaufruf socket(2) angelegt: #include <sys/socket.h> int socket(int domain, int type, int protocol); domain, z. B.: PF_UNIX: UNIX-Domäne PF_INET: IPv4-Domäne PF_INET6: IPv6-Domäne (kompatibel zu IPv4, wenn vom OS unterstützt) type innerhalb der gewählten Domäne: SOCK_STREAM: Stream-Socket SOCK_DGRAM: Datagramm-Socket protocol: 0: Standard-Protokoll für gewählte Kombination (z. B. TCP/IP bei PF_INET(6) + SOCK_STREAM) Ergebnis ist ein numerischer Socket-Deskriptor Entspricht einem Datei-Deskriptor und unterstützt (bei Stream-Sockets) die selben Operationen: read(2), write(2), close(2),... c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.3 Betriebssystemschnittstelle zur IPC 1 17
19 Verbindungsaufbau durch den Client IPC-Schnittstelle connect(2) meldet Verbindungswunsch an Server: int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); sockfd: Socket, über den die Kommunikation erfolgen soll addr: Beinhaltet Namen (bei uns: IP-Adresse und Port) des Servers addrlen: Länge der konkret übergebenen addr-struktur connect() blockiert solange, bis der Server die Verbindung annimmt oder zurückweist Mehr zum Server in der nächsten Übung Socket ist anschließend bereit zur Kommunikation mit dem Server c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.3 Betriebssystemschnittstelle zur IPC 1 18
20 DNS-Anfragen Betriebssystemschnittstelle zur IPC Zum Ermitteln der Werte für die sockaddr-struktur kann das DNS-Protokoll verwendet werden getaddrinfo(3) liefert die nötigen Werte: int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res); node gibt den DNS-Namen des Hosts an (oder die IP-Adresse als String) service gibt entweder den numerischen Port als String (z. B. "25" oder den Dienstnamen (z. B. "smtp", getservbyname(3)) an Mit hints kann die Adressauswahl eingeschränkt werden (z. B. auf IPv4-Sockets). Nicht verwendete Felder auf 0 bzw. NULL setzen. Ergebnis ist eine verkettete Liste von Socket-Namen; ein Zeiger auf das Kopfelement wird in * res gespeichert Freigabe der Ergebnisliste nach Verwendung mit freeaddrinfo(3) c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.3 Betriebssystemschnittstelle zur IPC 1 19
21 DNS-Anfragen Betriebssystemschnittstelle zur IPC struct addrinfo { int ai_flags; // Flags zur Auswahl (hints) int ai_family; // z. B. AF_INET6 int ai_socktype; // z. B. SOCK_STREAM int ai_protocol; // Protokollnummer socklen_t ai_addrlen; // Größe von ai_addr struct sockaddr *ai_addr; // Adresse fuer connect() char *ai_canonname; // Offizieller Hostname (FQDN) struct addrinfo *ai_next; // Nächstes Listenelement oder NULL }; ai_flags relevant zur Anfrage von Auswahlkriterien (hints) AI_ADDRCONFIG: Auswahl von Adresstypen, für die auch ein lokales Interface existiert (z. B. werden keine IPv6-Adressen geliefert, wenn der aktuelle Rechner gar keine IPv6-Adresse hat) ai_family, ai_socktype, ai_protocol für socket(2) verwendbar ai_addr, ai_addrlen für connect(2) verwendbar c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.3 Betriebssystemschnittstelle zur IPC 1 20
22 DNS-Anfragen: Beispiel Betriebssystemschnittstelle zur IPC struct addrinfo hints = {.ai_socktype = SOCK_STREAM, // Nur TCP-Sockets.ai_family = AF_UNSPEC, // Beliebige Adressfamilie.ai_flags = AI_ADDRCONFIG, // Nur lokal verfuegbare Adresstypen }; // C99: alle anderen Elemente der Struktur werden implizit genullt struct addrinfo *head; getaddrinfo("xkcd.com", "80", &hints, &head); // Fehlerbehandlung! Rueckgabewert mit gai_strerror(3) auswerten, um // Fehlerbeschreibung zu erhalten // Liste der Adressen durchtesten int sock; struct addrinfo *curr; for (curr = head; curr!= NULL; curr = curr->ai_next) { sock = socket(curr->ai_family, curr->ai_socktype, curr->ai_protocol); // Fehlerbehandlung! if (connect(sock, curr->ai_addr, curr->ai_addrlen) == 0) break; close(sock); } if (curr == NULL) { // Keine brauchbare Adresse gefunden :-( } // sock kann jetzt fuer die Kommunikation mit dem Server benutzt werden c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.3 Betriebssystemschnittstelle zur IPC 1 21
23 Agenda 1.1 Organisatorisches 1.2 IPC-Grundlagen 1.3 Betriebssystemschnittstelle zur IPC 1.4 Ein-/Ausgabemechanismen 1.5 Gelerntes anwenden c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.4 Ein-/Ausgabemechanismen 1 22
24 Ein-/Ausgabemechanismen Nach dem Verbindungsaufbau lässt sich ein Stream-Socket nach dem selben Schema benutzen wie eine geöffnete Datei Für Ein- und Ausgabe stehen verschiedene Funktionen zur Verfügung: Ebene 2: POSIX-Systemaufrufe arbeiten mit Dateideskriptoren (int) Ebene 3: Bibliotheksfunktionen greifen intern auf die Systemaufrufe zurück wesentlich flexibler einsetzbar arbeiten mit File-Pointern (FILE *) Ebene Variante Ein-/Ausgabedaten Funktionen 2 blockorientiert Puffer, Länge read(), write() blockorientiert Array, Elementgröße, -anzahl fread(), fwrite() 3 zeichenorientiert Einzelbyte getc(), putc() zeilenorientiert \0 -terminierter String fgets(), fputs() formatiert Formatstring, beliebige Variablen fscanf(), fprintf() c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.4 Ein-/Ausgabemechanismen 1 23
25 Ein-/Ausgabemechanismen: FILE * Auf Grund ihrer Flexibilität eignen sich FILE * für String-basierte Ein- und Ausgabe wesentlich besser Erstellen eines FILE * für einen gegebenen Dateideskriptor: FILE *fdopen(int fd, const char *mode); mode kann sein: "r", "w", "a", "r+", "w+", "a+" fd muss im entsprechenden Modus geöffnet worden sein Schließen des erzeugten FILE *: int fclose(file *fp); Darunterliegender Dateideskriptor wird dabei geschlossen Nachfolgendes close(2) nicht notwendig c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.4 Ein-/Ausgabemechanismen 1 24
26 Ein-/Ausgabemechanismen: Sockets und FILE * FILE * benutzen einen eigenen Pufferungsmechanismus Hat möglicherweise unerwünschtes Verhalten, wenn derselbe FILE * für Ein- und Ausgabe verwendet wird Zwei separate FILE * für Empfangs- und Senderichtung erstellen Socket-Deskriptor vorher duplizieren, da nicht mehrere FILE * auf denselben Deskriptor verweisen sollten int sock =...; // FILE * fuers Empfangen erstellen FILE *rx = fdopen(sock, "r"); // Duplikat des Socket-Deskriptors anlegen int sock2 = dup(sock); // FILE * fuers Senden erstellen FILE *tx = fdopen(sock2, "w"); Nach jeder geschriebenen Zeile mit fflush(3) das Leeren des Zwischenpuffers erzwingen c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.4 Ein-/Ausgabemechanismen 1 25
27 Agenda 1.1 Organisatorisches 1.2 IPC-Grundlagen 1.3 Betriebssystemschnittstelle zur IPC 1.4 Ein-/Ausgabemechanismen 1.5 Gelerntes anwenden c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.5 Gelerntes anwenden 1 26
28 Aktive Mitarbeit erforderlich! Aufgabenstellung Mit Hilfe des Programms Netcat (nc, ncat) eine an die eigene Adresse senden Dialog mit dem Mail-Server live nachspielen Sonderbehandlung von Punkten am Zeilenanfang nachvollziehen Programm schreiben, welches den Flächeninhalt verschiedener geometrischer Formen berechnen kann Eingaben werden von STDIN eingelesen Eingabeformat: <zahl> <zahl> <form> Unterstützte Formen: dreieck, rechteck Ausgabeformat soll die eingegebene Werte und den Flächeninhalt beeinhalten c ce, js, az, jk SP2 (Ü1 WS 2015) 1 Client-Sockets 1.5 Gelerntes anwenden 1 27
Übungen zu Systemprogrammierung 2 (SP2)
Übungen zu Systemprogrammierung 2 (SP2) Ü1 Interprozesskommunikation mit Sockets C. Erhardt, J. Schedel, A. Ziegler, J. Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
Netzwerk-Programmierung in C
1 / 26 Netzwerk-Programmierung in C Oliver Bartels Fachbereich Informatik Universität Hamburg 2 Juli 2014 2 / 26 Inhaltsverzeichniss 1 IPv4 und IPv6 Wie werden Daten verschickt? 2 3 Verbindungsaufbau ohne
U7-1 Hinweise zur Evaluation. U7-2 Netzwerkkommunikation und Byteorder. U7-3 Sockets. Evaluation. Frage "eigener Aufwand zur Vor- und Nachbereitung"
U7 Interprozesskommunikation mit Sockets U7 Interprozesskommunikation mit Sockets U7-1 Hinweise zur Evaluation U7-1 Hinweise zur Evaluation Evaluation Frage "eigener Aufwand zur Vor- und Nachbereitung"
Verteilte Systeme - Java Networking (Sockets) -
Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP
TCP-Sockets in Java und C. Verteilte Systeme Hochschule Regensburg Vorlesung 4, 25.04.2012 Universitätsstraße 31, 93053 Regensburg
TCP-Sockets in Java und C Hochschule Regensburg Vorlesung 4, 25.04.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Ziel: Threads sollen unabhängig von ihrer Position kommunizieren
Tafelübung zu BS 4. Interprozesskommunikation
Tafelübung zu BS 4. Interprozesskommunikation Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund [email protected] http://ess.cs.uni-dortmund.de/~os/
Transmission 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
Rechnernetze II SS 2015. Betriebssysteme / verteilte Systeme [email protected] Tel.: 0271/740-4050, Büro: H-B 8404
Rechnernetze II SS 2015 Betriebssysteme / verteilte Systeme [email protected] Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. Juli 2015 Betriebssysteme / verteilte Systeme Rechnernetze
Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Netzwerkprogrammierung - Verschiedenes
U9 9. Übung U9 9. Übung Besprechung Aufgabe 7 (lash) Informationen zu Aufgabe 8 (simail) Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Netzwerkprogrammierung - Verschiedenes U9.1
Protokolle und Schichten. Grundlagen der Rechnernetze Einführung 41
Protokolle und Schichten Grundlagen der Rechnernetze Einführung 41 Protokoll und Interface Host 1 Host 2 High Level Objekt High Level Objekt Service Interface Service Interface Protokoll Peer to peer Interface
Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht
Themen Transportschicht Internet TCP/UDP Transportschicht Schicht 4 des OSI-Modells Schicht 3 des TCP/IP-Modells Aufgaben / Dienste: Kommunikation von Anwendungsprogrammen über ein Netzwerk Aufteilung
Übungen zu Systemprogrammierung 1 (SP1)
Übungen zu Systemprogrammierung 1 (SP1) Ü1-2 Speicherverwaltung Andreas Ziegler, Stefan Reif, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
Ein-/Ausgabe, Dateisystem. Kapitel 9: Ein-/Ausgabe. Programmieren in C für Elektrotechniker. Programmieren in C. Dateisystem. Programmieren in C
für Elektrotechniker Kapitel 9: Dateisystem, Dateisystem E/A-Konzept in UNIX und C UNIX (und damit auch C) verwendet Datenströme (streams) als Konzept zur Verbindung von Programmen mit E/A-Geräten und
Konsequenz für Forwarding Tabellen
Konsequenz für Forwarding Tabellen Subnetznummer : 128. 96. 34. 0 Subnetzmaske : 255.255.255.128 128. 96. 34. 15 H1 128. 96. 34. 1 128. 96. 34.130 R1 Interface 1 Interface 2 128. 96. 34.128 255.255.255.128
Protokollgraph. Host 1. Host 2. Protokoll 2. Protokoll 1. Protokoll 3. Protokoll 4. Grundlagen der Rechnernetze Einführung 46
Protokollgraph Host 1 Host 2 Protokoll 1 Protokoll 2 Protokoll 1 Protokoll 2 Protokoll 3 Protokoll 3 Protokoll 4 Protokoll 4 Grundlagen der Rechnernetze Einführung 46 Nachrichtenkapselung Host 1 Anwendung
Übungen zu Systemprogrammierung 1
Übungen zu Systemprogrammierung 1 Ü1-2 Speicherverwaltung Sommersemester 2018 Christian Eichler, Jürgen Kleinöder Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl
Vorlesung SS 2001: Sicherheit in offenen Netzen
Vorlesung SS 2001: Sicherheit in offenen Netzen 2.2 Transmission Control Protocol - TCP 2.3 User Datagram Protocol - UDP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik,
Lösung Übungszettel 6
Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik SS 03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 1 Aufgabe 1: Parallel-Server 1.1 Client #include
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN UNIX/Linux-Interprozesskommunikation, zugehörige Systemaufrufe und Kommandos 12. UNIX/Linux-Sockets Wintersemester 2016/17 UNIX/Linux-IPC-Mechanismen Nachrichtenbasierter
1. Netzwerkprogrammierung für mobile Geräte
1. Netzwerkprogrammierung für mobile Geräte Lernziele 1. Netzwerkprogrammierung für mobile Geräte Themen/Lernziele: Konzepte der verbindungslosen Kommunikation beherrschen Client/Server-Anwendungen auf
Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.
Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de 1 Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol
U8-3 Netzwerkkommunikation und Byteorder. U8-2 Evaluation. U8-4 Sockets. U8-1 Überblick. Wiederholung: Byteorder. 0 1 2 3 14 a2 b5 c8 0x14a2b5c8
U8 8. Übung U8 8. Übung U8-3 Netzwerkkommunikation und Byteorder U8-3 Netzwerkkommunikation und Byteorder U8-1 Überblick Wiederholung: Byteorder Besprechung der Miniklausur Online-Evaluation big endian
Computer and Communication Systems (Lehrstuhl für Technische Informatik) Socket-Programmierung
Computer and Communication Systems (Lehrstuhl für Technische Informatik) Socket-Programmierung [RN] Sommer 2012 Socket - Programmierung 1 Überblick Allgemeine Grundlagen für die Socket-Programmierung Elementare
Netzwerk-Programmierung. Netzwerke.
Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol (TCP)
Python 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
Netzwerk Linux-Kurs der Unix-AG
Netzwerk Linux-Kurs der Unix-AG Benjamin Eberle 13. Juli 2016 Netzwerke mehrere miteinander verbundene Geräte (z. B. Computer) bilden ein Netzwerk Verbindung üblicherweise über einen Switch (Ethernet)
UDP User Datagramm Protokoll
UDP User Datagramm Protokoll Marco Gerland Janina de Jong Internet Protokolle WS 03 / 04 1/31 Einführung IP Datagramme werden durchs Internet geroutet abh. von der IP Adresse Anhand der Ziel IP Adresse
Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18
Adressauflösung IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 IP Adresse Physikalische Adresse 128.96.34.15??? 128.96.34.16 85:48:A4:28:AA:18 128.96.34.15
Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.
Netzwerk-Programmierung Netzwerke Sven Hartmeier [email protected] Übersicht Netzwerk-Protokolle Protokollfamilie TCP/IP Transmission Control Protocol (TCP) erste Schritte mit sockets Netzwerk-Programmierung
Programmierung mit sockets
Netzwerk-Programmierung Programmierung mit sockets Jan Krueger [email protected] Alexander Sczyrba [email protected] Übersicht Datentypen und Konvertierung Minimaler Client
.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering
.NET Networking 1 Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros Institut für Informatik Software & Systems Engineering Agenda Motivation Protokolle Sockets Anwendung in.net
Dienstspezifikation nach RFC 2396 193
Dienstspezifikation nach RFC 2396 193 Für die Kombination aus Rechnernamen (oder alternativ einer IP-Adresse) und einer Portnummer gibt es mit RFC 2396 einen Standard: hostport host [ : port ] host hostname
Peer-to-Peer- Netzwerke
Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester 2006 2. Vorlesung 27.04.2006 [email protected] 1 Organisation Web-Seite http://cone.informatik.uni-freiburg.de/ teaching/vorlesung/peer-to-peer-s96/
Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming.
Netzwerk - Programmierung Netzwerke Alexander Sczyrba [email protected] Madis Rumming [email protected] Übersicht Netzwerk-Protokolle Protokollfamilie TCP/IP Transmission
Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen
Kommunikationsnetze Gliederung 1. Socket-Programmierung unter C 2. Socket-Programmierung unter Java Gliederung Berkeley Sockets (Erste freie TCP/IP-Implementierung in Berkeley UNIX): SOCKET: Erzeugen eines
Zusammenfassung für CS-Prüfung 3 Seite 1. CS-Zusammenfassung für Prüfung 3 vom Im Beispiel gibt es 3 Deadlocks
Zusammenfassung für CS-Prüfung 3 Seite 1 CS-Zusammenfassung für Prüfung 3 vom 24. 6. 2002 Deadlock Im Beispiel gibt es 3 Deadlocks Unterschied zwischen Blockieren, Verklemmen und Verhungenrn= -> Band 1
Internet und WWW Übungen
Internet und WWW Übungen 6 Rechnernetze und Datenübertragung [WEB6] Rolf Dornberger 1 06-11-07 6 Rechnernetze und Datenübertragung Aufgaben: 1. Begriffe 2. IP-Adressen 3. Rechnernetze und Datenübertragung
Referat: Netzwerkprogrammierung in Java
1.)ISO/OSI und Internet Referenzmodell Referat: Netzwerkprogrammierung in Java ISO/OSI 7 Schichtenmodell (1-Bitübertragung, 2-Sicherung, 3-Netzwerk, 4-Transport, 5-Sitzung, 6- Darstellung, 7-Anwendung)
Vorlesung SS 2001: Sicherheit in offenen Netzen
Vorlesung SS 2001: Sicherheit in offenen Netzen 2.1 Internet Protocol - IP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik, Trier Prof. Dr. sc. nat. Christoph Meinel,
Anwendungsprotokolle: 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
Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012
Rechnernetze Übung 11 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012 IP: 192.168.43.9 MAC: 02-55-4A-89-4F-47 IP: 216.187.69.51 MAC: 08-48-5B-77-56-21 1 2 IP: 192.168.43.15 MAC:
PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker
Netzwerkprogrammierung PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke, Marcus Mews Technische Universität Berlin Fachgebiet Softwaretechnik 17. Juni 2013 Übersicht Grundlagen
Rechnernetze Übung 11
Rechnernetze Übung 11 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Herr Müller (Test GmbH) Sekretärin (Super AG) T-NR. 111 T-NR. 885 Sekretärin (Test GmbH) Herr Meier (Super
Client-Server mit Socket und API von Berkeley
Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................
antrano Fernzugriffslösungen einfach gemacht becom Systemhaus GmbH & Co. KG antrano Handbuch Seite 1
antrano Fernzugriffslösungen einfach gemacht becom Systemhaus GmbH & Co. KG antrano Handbuch Seite 1 Inhalt Fernzugriffslösungen einfach gemacht... 1 antrano.box... 5 Anschließen der Box... 5 Konfiguration
Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien
Informatik I SS 2003 Dateioperationen 1 Textdateien, Öffnen Abspeichern und Einlesen von Texten (Strings) in Dateien 1. Das Öffnen einer Datei a) Deklaration eines Zeigers auf eine Datei FILE *pfile; b)
Einführung. Internet vs. WWW
Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol
Programmieren 2 12 Netzwerke
Programmieren 2 12 Netzwerke Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke [email protected] 1 Motivation Datenaustausch zwischen Programmen Spielstand Chat
Programmieren mit sockets
Netzwerk - Programmierung Programmieren mit sockets Alexander Sczyrba [email protected] Madis Rumming [email protected] Übersicht Datentypen und Konversionsfunktionen minimaler
Transition vom heutigen Internet zu IPv6
Transition vom heutigen Internet zu IPv6 Dr. Hannes P. Lubich Bank Julius Bär Zürich IP Next Generation - Transition vom heutigen Internet zu IPv6 (1) Migration von IPv4 zu IPv6 Das IPv6-Adressformat bleibt
Unified-E OPC-UA Adapter
Unified-E OPC-UA Adapter Betrifft: Version 1.5.0.4 und höher Stand: September 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Adressierung von Datenpunkten... 3 Unified-E OPC-UA
Einführung in unstrukturierte p2p Systeme wie Gnutella. HamzaOuldBakar. Chair for Communication Technology (ComTec(
Einführung in unstrukturierte p2p Systeme wie Gnutella. HamzaOuldBakar Chair for Communication Technology (ComTec( ComTec), Faculty of Electrical Engineering / Computer Science Überblick 1 Einführung in
Programmieren mit sockets
Netzwerk-Programmierung Programmieren mit sockets Sven Hartmeier [email protected] Übersicht Datentypen und Konversionsfunktionen minimaler Client minimaler Server Netzwerk-Programmierung
