Computer and Communication Systems (Lehrstuhl für Technische Informatik) Socket-Programmierung

Größe: px
Ab Seite anzeigen:

Download "Computer and Communication Systems (Lehrstuhl für Technische Informatik) Socket-Programmierung"

Transkript

1 Computer and Communication Systems (Lehrstuhl für Technische Informatik) Socket-Programmierung [RN] Sommer 2012 Socket - Programmierung 1

2 Überblick Allgemeine Grundlagen für die Socket-Programmierung Elementare TCP-Socket-Funktionen Elementare UDP-Socket-Funktionen [RN] Sommer 2012 Socket - Programmierung 2

3 ALLGEMEINE GRUNDLAGEN FÜR DIE SOCKET-PROGRAMMIERUNG [RN] Sommer 2012 Socket - Programmierung 3

4 Kommunikationsmodell Eine Netzwerkverbindung kann durch folgendes 5-Tupel charakterisiert werden: (Protokoll, lokaler Host, lokaler Prozess, fremder Host, fremder Prozess) Das verwendete Protokoll legt fest Format der Host-Adressen Identifikation der kommunizierende Prozesse TCP/IP-Protokollfamilie Internet-Adressen Portnummern [RN] Sommer 2012 Socket - Programmierung 4

5 IP-Nummer Jeder Rechner im Internet hat eine eindeutige Nummer (IP-Nummer), unter der er für alle anderen Rechner im Internet erreichbar ist. Diese Nummer ist weltweit eindeutig. IPv4-Nummer (32 Bit) Besteht aus vier Zahlen (jeweils durch Punkt getrennt) Beispiel: Etwa 4 Milliarden Adressen wären möglich. Diverse Nummern, beispielsweise mit der Endung.0 und.255, sind für andere Zwecke vergeben. 4 Milliarden IP-Adressen sind aber nicht mehr ausreichend. Lösung: IPv6-Adressen (128 Bit lang) [RN] Sommer 2012 Socket - Programmierung 5

6 Portnummern Manche Protokolle können gleichzeitig von mehreren Prozessen genutzt werden Zur Unterscheidung dieser Prozesse werden ganzzahlige 16-Bit Portnummern verwendet. Für bekannte Dienste werden bestimmte Portnummern von der IANA (Internet Assigned Number Authority) festgelegt. Portnummern sind in drei Kategorien eingeteilt: wohlbekannte Portnummern für Standardanwendungen (z.b. 21 für FTP, 80 für HTTP); können meist nur von Superuser- bzw. privilegierten Prozessen benutzt werden Registrierte Portnummern, die von der IANA nicht kontrolliert, aber registriert und gelistet werden (z.b. Ports für X Windows-Server) Dynamische oder private (kurzlebige) Portnummern. Werden vom System automatisch an Benutzerprozesse vergeben, die nicht auf eine bestimmte Portnummer angewiesen sind. [RN] Sommer 2012 Socket - Programmierung 6

7 Socket-Programmierung Ziel: Lernen, wie man eine Client/Server-Anwendung programmiert, die über Sockets kommuniziert. Unter Linux Socket-API Eingeführt in BSD4.1 UNIX, Sockets werden von Anwendungen erzeugt, verwendet und geschlossen. Client/Server-Paradigma Zwei Transportdienste werden über die Socket-API angesprochen: Unzuverlässige Paketübertragung (UDP) Zuverlässige Übertragung von Datenströmen (TCP) Socket Eine Schnittstelle auf einem Host, kontrolliert durch das Betriebssystem, über das ein Anwendungsprozess sowohl Daten an einen anderen Prozess senden als auch von einem anderen Prozess empfangen kann. Ein Socket ist eine Art Tür zum Computernetzwerk. [RN] Sommer 2012 Socket - Programmierung 7

8 ELEMENTARE TCP-SOCKET- FUNKTIONEN [RN] Sommer 2012 Socket - Programmierung 8

9 Socket Socket-Programmierung mit TCP (1) Eine Tür zwischen dem Anwendungsprozess und dem Transportprotokoll (UDP oder TCP). Wichtigster TCP-Dienst (aus Sicht der Anwendung) Zuverlässiger Transport eines Byte-Stroms vom sendenden zum empfangenden Prozess: [RN] Sommer 2012 Socket - Programmierung 9

10 Socket-Programmierung mit TCP (2) Client kontaktiert Server: Server-Prozess muss laufen. Server muss einen Socket angelegt haben, der Client-Anfragen entgegennimmt. Vorgehen im Client: Anlegen eines Client-TCP-Sockets. Angeben von IP-Adresse und Portnummer des Serverprozesses. Durch das Anlegen eines Client-TCP-Sockets wird eine TCP- Verbindung zum Serverprozess hergestellt. [RN] Sommer 2012 Socket - Programmierung 10

11 Socket-Programmierung mit TCP (3) Wenn der Serverprozess von einem Client kontaktiert wird, dann erzeugt er einen neuen Socket, um mit diesem Client zu kommunizieren. So kann der Server mit mehreren Clients kommunizieren. Portnummern der Clients werden verwendet, um die Verbindungen zu unterscheiden. [RN] Sommer 2012 Socket - Programmierung 11

12 Zusammenspiel der Sockets [RN] Sommer 2012 Socket - Programmierung 12

13 Client/Server-Socket-Programmierung - TCP Server socket() bind() Client listen() socket() accept() Verbindungsaufbau connect() read() recv() write() send() write() send() read() recv() read() recv() close() close() [RN] Sommer 2012 Socket - Programmierung 13

14 Includes socket Erzeugen eines Sockets #include <sys/types.h> #include <sys/socket.h> Funktion int socket(int domain, int type, int protocol); Argumente domain: Legt die zu benutzende Protokoll- bzw. Adressfamilie fest. typ: Legt den Typ (Stream-Socket, Datagramm-Socket etc.) fest. protocol: Wählt das zu benutzende Protokoll aus der mit den ersten beiden Parametern festgelegten Protokollfamilie aus. Wählt man 0, dann bestimmt der Kernel das Protokoll. Rückgabewert Socket-Deskriptor, ansonsten -1 (Fehler) [RN] Sommer 2012 Socket - Programmierung 14

15 socket Nützliche Informationen Unter Linux befinden sich alle möglichen Angaben zu domain in der Datei /usr/include/bits/socket.h Für domain kann entweder die Konstante, die mit PF_ (Protokollfamilie) oder die mit AF_ (Adressfamilie) beginnt, angegeben werden. Zweiteilung historisch begründet. Gängige Adressfamilien AF_UNIX: UNIX Domain Sockets; wird gewöhnlich für lokale Interprozesskommunikation verwendet AF_INET: Internet IP-Protokoll Version 4 (IPv4) AF_INET6: Internet IP-Protokoll Version 6 (IPv6) AF_IRDA: IRDA-Sockets; beispielsweise via Infrarot AF_BLUETOOTH: Bluetooth-Sockets [RN] Sommer 2012 Socket - Programmierung 15

16 Includes bind Adresse und Port zuweisen #include <sys/socket.h> Funktion int bind(int socket, const struct sockaddr *address, socklen_t address_len); Argumente socket: Gibt den Socketdeskriptor an. address: Adresse der entsprechenden Socket-Adresstruktur address_len: Größe der Adressstruktur Rückgabewert 0 bei Erfolg, -1 bei Fehler [RN] Sommer 2012 Socket - Programmierung 16

17 bind - Hinweise bind ordnet einem Socket eine lokalen Protokolladresse zu Bei Internetprotokollen: IP-Adresse + Port Server binden beim Start deren bekannte Ports. Clients verzichten meist darauf Dann wählt der Kernel beim Aufruf von connect einen kurzlebigen Port aus. [RN] Sommer 2012 Socket - Programmierung 17

18 Socket-Adresstruktur (1) Die meisten Socket-Funktionen erwarten die Adresse einer Socket-Adressstruktur als Argument. Die unterschiedlichen Protokolle besitzen auch unterschiedliche Adressstrukturen. Socket-Adressstruktur für IPv4 struct sockaddr_in: Wird ausgefüllt und dann in einen struct sockaddr umgewandelt. Vor dem Ausfüllen sollte man immer alles mit 0 befüllen. Generische Adresstruktur struct sockaddr: Bei den Socket-Funktionen vorgesehen. Protokollspezifische Adressstruktur muss in diese Adressstruktur umgewandelt (cast) werden. [RN] Sommer 2012 Socket - Programmierung 18

19 Socket-Adresstruktur (2) Struct sockaddr_in (am zid-gpl): struct sockaddr_in { SOCKADDR_COMMON (sin_); in_port_t sin_port; /* Port number. */ struct in_addr sin_addr; /* Internet address. */ }; /* Pad to size of `struct sockaddr'. */ unsigned char sin_zero[sizeof (struct sockaddr) - SOCKADDR_COMMON_SIZE - sizeof (in_port_t) - sizeof (struct in_addr)]; [RN] Sommer 2012 Socket - Programmierung 19

20 listen Warten auf Verbindungsanforderungen Includes #include <sys/socket.h> Funktion int listen(int socket, int backlog); Argumente socket: Socketdeskriptor backlog: Maximal erlaubte Anzahl von anstehenden Verbindungswünschen Bei Erreichen des Maximums werden Verbindungswünsche abgelehnt. Rückgabewert 0 bei Erfolg, -1 bei Fehler [RN] Sommer 2012 Socket - Programmierung 20

21 accept Akzeptieren von Verbindungen Includes #include <sys/socket.h> Funktion int accept(int socket, struct sockaddr *restrict address, socklen_t *restrict address_len); Argumente socket: Socketdeskriptor (horchendes Socket) address: Adresse, in die vom Systemkern die Adresse des Clients zu schreiben ist. address_len: Länge der übergebenen Adresstruktur (Aufruf) bzw. Anzahl der Bytes, die in die Struktur geschrieben wurden (Rückkehr). Rückgabewert Socketdeskriptor (verbundener Socket) oder -1 (Fehler) [RN] Sommer 2012 Socket - Programmierung 21

22 accept - Hinweise accept ist eine blockierende Funktion. Das bedeutet, accept blockiert den aufrufenden (Server-)Prozess so lange, bis eine Verbindung vorhanden ist. Ändert man die Eigenschaften des Socket-Deskriptors auf nichtblockierend, gibt accept einen Fehler zurück, wenn beim Aufruf keine Verbindungen vorhanden sind. [RN] Sommer 2012 Socket - Programmierung 22

23 connect Aufbau der Verbindung (Client) Includes #include <sys/socket.h> Funktion int connect(int socket, const struct sockaddr *address, socklen_t address_len); Argumente socket: Socketdeskriptor des zu verbindenden Sockets address: Zieladresse des Servers address_len: Länge der Adressstruktur address Rückgabewert 0 bei Erfolg, -1 bei Fehler [RN] Sommer 2012 Socket - Programmierung 23

24 Network-Byte-Order Server und Client können unterschiedliche Architekturen haben Big-Endian <> Little-Endian Um aus einer lokal verwendeten Byte-Reihenfolge (Host Byte Order) eine Network-Byte-Order-Reihenfolge oder umgekehrt zu erstellen, stehen die folgenden vier Funktionen zur Verfügung: #include <netinet/in.h> unsigned long int htonl(unsigned long int hostlong); unsigned short int htons(unsigned short int hostshort); unsigned long int ntohl(unsigned long int netlong); unsigned short int ntohs(unsigned short int netshort); [RN] Sommer 2012 Socket - Programmierung 24

25 Include gethostbyname IP-Adresse ermitteln #include <netdb.h> Funktion struct hostent *gethostbyname(const char *name); Argument name: Name des Rechners (z.b. Rückgabewert Struktur vom Typ hostent oder NULL (Fehler): struct hostent { char * h_name; // Ofizieller Name des Rechners char ** h_aliases; // Array von Strings (Aliasnamen für diesen Rechner) short h_addrtype; // Adresstyp short h_length; // Länge der numerischen Adresse char ** h_addr_list; // Array von Zeigern auf die Adressen }; [RN] Sommer 2012 Socket - Programmierung 25

26 Konvertieren von IPv4-Adressen Includes und Funktionen #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int inet_aton(const char *cp, struct in_addr *inp); Konvertiert cp (IP-Adresse) von der punktierten Dezimaldarstellung in einen numerischen 32-Bitwert. inet_addr-funktion macht das auch! char *inet_ntoa(struct in_addr in); Konvertiert die numerische IP-Adresse in, in die punktierte Dezimaldarstellung. [RN] Sommer 2012 Socket - Programmierung 26

27 Include send Senden von Daten #include <sys/socket.h> Funktion ssize_t send(int socket, const void *buffer, size_t length, int flags); Argumente socket: Socketdeskriptor (Socket zum Senden) buffer: Puffer mit Nachricht length: Länge des Nachricht flags: Für das Beeinflussen des Sendeverhaltens Bei 0 verhält sich send wie write Rückgabewert Anzahl der verschickten Bytes, -1 wenn Fehler [RN] Sommer 2012 Socket - Programmierung 27

28 Include recv Empfangen von Daten #include <sys/socket.h> Funktion ssize_t recv(int socket, void *buffer, size_t length, int flags); Argumente socket: Socketdeskriptor (Socket zum Senden) buffer: Puffer für die Nachricht length: Länge des Nachricht flags: Für das Beeinflussen des Empfangverhaltens Bei 0 verhält sich recv wie read Rückgabewert Anzahl der gelesenen Bytes (auch 0), -1 wenn Fehler [RN] Sommer 2012 Socket - Programmierung 28

29 Include close Schließen eines Sockets #include <unistd.h> Funktion int close(int fildes); Argument fildes: Filedeskriptor (Socket) Rückgabewert 0 bei Erfolg, -1 wenn Fehler [RN] Sommer 2012 Socket - Programmierung 29

30 Einfacher TCP-Echo-Server Beispiel Man kann mit der Clientanwendung unter Angabe des Servers einen einfachen String via Kommandozeile senden. Der Server gibt diesen String mitsamt der Herkunft des Clients (IP-Adresse) und des Datums mit Uhrzeit auf die Standardausgabe aus. Code (siehe OLAT) Weitere Beispiele (Client-Server) Kapitel 25 Kapitel 11 [RN] Sommer 2012 Socket - Programmierung 30

31 ELEMENTARE UDP-SOCKET- FUNKTIONEN [RN] Sommer 2012 Socket - Programmierung 31

32 Socket-Programmierung mit UDP UDP: Keine Verbindung zwischen Client und Server. Kein Verbindungsaufbau! Sender hängt explizit die IP-Adresse und Portnummer des empfangenden Prozesses an jedes Paket an. Betriebssystem hängt die IP-Adresse und Portnummer des sendenden Prozesses an jedes Paket an. Server liest die IP-Adresse und die Portnummer des sendenden Prozesses explizit aus dem empfangenen Paket aus. UDP: Pakete können in falscher Reihenfolge empfangen werden oder ganz verloren gehen. Sicht der Anwendung UDP stellt einen unzuverlässigen Transport einer Gruppe von Bytes ( Paket ) zwischen Client und Server zur Verfügung. [RN] Sommer 2012 Socket - Programmierung 32

33 Client-Server-Socket-Programmierung mit UDP Server socket() bind() Client socket() recvfrom() sendto() sendto() recvfrom() close() [RN] Sommer 2012 Socket - Programmierung 33

34 Senden und Empfangen von Daten (1) Für die Funktionen zum Senden und Empfangen von Datagrammen (UDP-Sockets) werden vorzugsweise sendto() und recvfrom() verwendet. Die Syntax unter Linux/UNIX lautet: #include <sys/socket.h> ssize_t sendto(int socket, const void *message, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len); ssize_t recvfrom(int socket, void *restrict buffer, size_t length, int flags, struct sockaddr *restrict address, socklen_t *restrict address_len); [RN] Sommer 2012 Socket - Programmierung 34

35 Senden und Empfangen von Daten (2) Die Bedeutung der einzelnen Parameter sowie des Rückgabewerts entspricht exakt der von den TCP- Gegenstücken send und recv. Zusätzlich gibt es am Ende zwei weitere Parameter. Mit dem fünften Parameter übergibt man einen Zeiger auf die Adresse des Zielrechners (bei sendto) bzw. einen Zeiger auf die Adresse des Absenders (bei recvfrom). Die Angaben entsprechen dabei dem Parameter address von der Funktion connect. Mit dem letzten Parameter beider Funktionen gibt man wieder die Größe der Struktur address an. [RN] Sommer 2012 Socket - Programmierung 35

36 Senden und Empfangen von Daten (3) Sollte man bei einer UDP-Verbindung die connect- Funktion verwenden, dann kann man auch die Funktionen send und revc verwenden. In diesem Fall werden die fehlenden Informationen zur Adresse automatisch ergänzt. [RN] Sommer 2012 Socket - Programmierung 36

Tafelübung zu BS 4. Interprozesskommunikation

Tafelübung zu BS 4. Interprozesskommunikation Tafelübung zu BS 4. Interprozesskommunikation Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Netzwerkprogrammierung - Verschiedenes

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

Mehr

Rechnernetze II SS 2015. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Rechnernetze II SS 2015. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Rechnernetze II SS 2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. Juli 2015 Betriebssysteme / verteilte Systeme Rechnernetze

Mehr

Rechnernetze II WS 2012/2013. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Rechnernetze II WS 2012/2013. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Rechnernetze II WS 2012/2013 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 5. Mai 2014 Betriebssysteme / verteilte Systeme Rechnernetze

Mehr

1 Communication Domain und Protokoll

1 Communication Domain und Protokoll U9 9. Übung U9 9. Übung U9-1 Netzwerkkommunikation und Byteorder U9-1 Netzwerkkommunikation und Byteorder Besprechung Aufgabe 7 (lash) Wiederholung: Byteorder Informationen zu Aufgabe 8 (simail) Byteorder

Mehr

Netzwerkprogrammierung mit Sockets und C. Ulrich Vogel

Netzwerkprogrammierung mit Sockets und C. Ulrich Vogel Netzwerkprogrammierung mit Sockets und C Ulrich Vogel Netzwerkprogrammierung mit Sockets und C von Ulrich Vogel Dieses Tutorial ist eine Einführung in die Netzwerkprogrammierung mit Hilfe von Sockets.

Mehr

Michael Golm, Universität Erlangen-Nürnberg, IMMD 4, 1999/2000 1999-12-20 14.51 / Tafelübung 7. Netzwerkkommunikation und Byteorder

Michael Golm, Universität Erlangen-Nürnberg, IMMD 4, 1999/2000 1999-12-20 14.51 / Tafelübung 7. Netzwerkkommunikation und Byteorder 7. Tafelübung Lösung der jsh-aufgabe Erläuterung der rshd-aufgabe Sockets 83 Netzwerkkommunikation und Byteorder Wiederholung: Byteorder big endian little endian 0 1 2 3 11 aa bb cc cc bb aa 11 0x11aabbcc

Mehr

Internetanwendungstechnik (Übung)

Internetanwendungstechnik (Übung) Internetanwendungstechnik (Übung) Sockets Stefan Bissell, Gero Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr.

Mehr

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-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

Mehr

Attribute: Name (Zuweisung eines Namens durch Binding) Communication Domain Duplizieren von Filedeskriptoren. SoS I - Ü

Attribute: Name (Zuweisung eines Namens durch Binding) Communication Domain Duplizieren von Filedeskriptoren. SoS I - Ü U7 7. Übung U7 7. Übung U7-1 Überblick Endpunkte einer Kommunikationsverbindung Besprechung 4. Aufgabe (malloc) Arbeitsweise: FIFO, bidirektional Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung

Mehr

U7-2 Netzwerkkommunikation und Byteorder

U7-2 Netzwerkkommunikation und Byteorder U7 7. Übung U7 7. Übung U7-1 Überblick Besprechung 4. Aufgabe (malloc) Byteorder bei Netzwerkkommunikation Netzwerkprogrammierung - Sockets Duplizieren von Filedeskriptoren Netzwerkprogrammierung - Verschiedenes

Mehr

Einführung in die Netzwerkprogrammierung mit Sockets und C

Einführung in die Netzwerkprogrammierung mit Sockets und C Einführung in die Netzwerkprogrammierung mit Sockets und C 1 BrB/V0.1 1 Vorwort Dieses Tutorial ist eine Einführung in die Netzwerkprogrammierung mit Hilfe von Sockets und der Programmiersprache C. Als

Mehr

Lösung Übungszettel 6

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

Mehr

Dienstspezifikation nach RFC 2396 193

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

Mehr

Projekt: Web-Proxy. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015

Projekt: Web-Proxy. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015 Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

Mehr

Alles Text Sockets à la Plan 9

Alles Text Sockets à la Plan 9 Alles Text Sockets à la Plan 9 Petra Gremeyer, Axel-Tobias Schreiner, Fachbereich Mathematik/Informatik, Universität Osnabrück Plan 9, das neue verteilte Betriebssystem der UNIX-Schöpfer, hat bekanntlich

Mehr

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 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

Mehr

An Open Interface for Network Programming under Microsoft Windows. DI. Dr. Peter René Dietmüller

An Open Interface for Network Programming under Microsoft Windows. DI. Dr. Peter René Dietmüller Windows Sockets An Open Interface for Network Programming under Microsoft Windows DI. Dr. Peter René Dietmüller Institut für Informationsverarbeitung und Mikroprozessortechnik Johannes Kepler Universität

Mehr

Transmission Control Protocol (TCP)

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

Mehr

U7-1 Hinweise zur Evaluation. U7-2 Netzwerkkommunikation und Byteorder. U7-3 Sockets. Evaluation. Frage "eigener Aufwand zur Vor- und Nachbereitung"

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"

Mehr

21 Netzwerkprogrammierung mit Sockets

21 Netzwerkprogrammierung mit Sockets 302 21 Netzwerkprogrammierung mit Sockets Das Socket-API liegt zwischen den transportorientierten und den anwendungsorientierten Netzwerkschichten und tritt in der Praxis in 2 Formen auf: Ursprünglich

Mehr

1 Client-Server-Modell

1 Client-Server-Modell U1 Interprozesskommunikation mit Sockets U1 Interprozesskommunikation mit Sockets U1-1 Organisatorisches U1-1 Organisatorisches Organisatorisches IPC-Grundlagen Adressierung in IP-Netzwerken Betriebssystemschnittstelle

Mehr

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes Kapitel 4: Design von Client/Server-Software Definition: Client und Server Client Ein Client ist ein Dienstnutzer, der von einem Server aktiv einen Dienst anfordert und anschließend darauf wartet, dass

Mehr

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. 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

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2006/2007 Teil 2 Sockets cs 0200 ww6 wgs 09-96 Literatur Socket-Schnittstelle J. Martin, J. Leben: TCP/IP Netzwerke. Prentice Hall, 1994, Kapitel

Mehr

Interprozesskommunikation (IPC)

Interprozesskommunikation (IPC) Gliederung 1. Einführung und Übersicht 2. Prozesse und Threads 3. Interrupts Interprozesskommunikation (IPC) 4. Scheduling 5. Synchronisation 6. Interprozesskommunikation 7. Speicherverwaltung IPC Cl.

Mehr

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen

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

Mehr

G.1 Überblick (2) G.1 Überblick (2) G.1 Überblick

G.1 Überblick (2) G.1 Überblick (2) G.1 Überblick G Rechnerkommunikation (TCP/IP) G Rechnerkommunikation (TCP/IP) G.1 Überblick (2) G.1 Überblick G.1 Überblick Ende der 70er Jahre in den USA Entwicklung neuer Netzwerkprotokolle, gefördert durch DARPA

Mehr

Netzprogrammierung: Kommunikation über Sockets

Netzprogrammierung: Kommunikation über Sockets Netzprogrammierung: Kommunikation über Sockets Robert Tolksdorf und Peter Löhr Überblick Internet-Dienste und -Protokolle IP-Adressen und Rechnernamen Portnummern Kommunikation über Sockets TCP UDP Multicast

Mehr

Entwicklung eines IRC-Bots. Nils Gutsche (aka Vellas)

Entwicklung eines IRC-Bots. Nils Gutsche (aka Vellas) Entwicklung eines IRC-Bots Nils Gutsche (aka Vellas) Vorwissen und Werzeuge Für dieses Tutorial sollte man zumindest Grundkenntnisse mit C++, der STL (Standard Template Library) und der Socketprogrammierung

Mehr

1. Netzwerkprogrammierung für mobile Geräte

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

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

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

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

Sockets - Eine Programmierschnittstelle für Kommunikation im Netz

Sockets - Eine Programmierschnittstelle für Kommunikation im Netz Sockets - Eine Programmierschnittstelle für Kommunikation im Netz M. Jäger - FB MNI - FH Gießen-Friedberg 24. November 2002 Inhaltsverzeichnis 1 Socket-Konzept 2 2 Internet-Sockets 2 2.1 Socket-Aufruf...................................

Mehr

TCP/UDP. Transport Layer

TCP/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?

Mehr

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

FOPT 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

Mehr

shri Raw Sockets Prof. Dr. Ch. Reich

shri Raw Sockets Prof. Dr. Ch. Reich shri Raw Sockets Prof. Dr. Ch. Reich Szenario: Verschicken einer gespooften Ping-Message IP-Source-Adresse ist Adresse des Opfers Nachrichtenformat: IP-Header (normal, außer IP-Source-Address ist einstellbar)

Mehr

Ein bisschen TCP/IP. David Vajda 25. Januar 2016

Ein bisschen TCP/IP. David Vajda 25. Januar 2016 Ein bisschen TCP/IP David Vajda 25. Januar 2016 1 TCP/IP 1.1 Der Protokollstack Was ist ein Protokoll? Wenn zwei Menschen miteinander reden, können Sie dabei verschiedene Regel entwickeln, wie sie es tun.

Mehr

7 TCP/IP-Dienste konfigurieren

7 TCP/IP-Dienste konfigurieren 7 TCP/IP-Dienste konfigurieren In diesem Kapitel lernen Sie die Begriffe Ports,Sockets und Connections kennen (LPI 1: 109.1). den Zusammenhang der Ports von TCP/IP-Diensten mit der Datei /etc/services

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2008/2009 Teil 2 Sockets cs 0200 ww6 wgs 09-96 Literatur Socket-Schnittstelle J. Martin, J. Leben: TCP/IP Netzwerke. Prentice Hall, 1994, Kapitel

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2003/2004 Teil 2 Sockets cs 0200 ww6 wgs 09-96 Literatur Socket-Schnittstelle J. Martin, J. Leben: TCP/IP Netzwerke. Prentice Hall, 1994, Kapitel

Mehr

10. Vorlesung Betriebssysteme

10. Vorlesung Betriebssysteme Dr. Christian Baun 10. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/63 10. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik wolkenrechnen@gmail.com Dr.

Mehr

Kontrollfragen: Internet

Kontrollfragen: 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).

Mehr

H Rechnerkommunikation (TCP/IP)

H Rechnerkommunikation (TCP/IP) H Rechnerkommunikation (TCP/IP) H.1 Überblick Ende der 70er Jahre in den USA Entwicklung neuer Netzwerkprotokolle, gefördert durch DARPA (Defense Advanced Research Project Agency) daraus entstandene Protokollfamilie:

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2012/2013 1 / 25 Netzwerkkonfiguration TCP (Forts.) UDP IPC über Unix Domain Sockets 2 / 25 Grundlagen Netzwerk

Mehr

Networking. Motivation Grundlagen von Sockets Klasse Socket Klasse ServerSocket Exceptions Klasse URL

Networking. 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,

Mehr

Übung zur Vorlesung Echtzeitsysteme

Übung zur Vorlesung Echtzeitsysteme Technische Universität München Fakultät für Informatik Forschungs- und Lehreinheit Informatik VI Übung zur Vorlesung Echtzeitsysteme Aufgabe 3 Nadine Keddis keddis@fortiss.org Stephan Sommer sommerst@in.tum.de

Mehr

6.1 Verbindungsorientiert, Verbindunslos

6.1 Verbindungsorientiert, Verbindunslos Kapitel 6 client server Bisher wurden Methoden besprochen, die auf einem Rechner funktionieren. Dabei wurde bei threads bereits wirklich parallel gerechnet, sofern mehrere Prozessoren vorhanden waren.

Mehr

Theoretische Aspekte

Theoretische Aspekte Webserver mit Win32 API Datum: 04.02.03 Autor: Michael Hielscher Homepage: www.genesis-x7.de Theoretische Aspekte Aufbau eines Webservers Als erstes sollte man im Abschnitt Multithreaded SocketServer nachlesen

Mehr

Domain Name Service (DNS)

Domain Name Service (DNS) Domain Name Service (DNS) Aufgabe: den numerischen IP-Adressen werden symbolische Namen zugeordnet Beispiel: 194.94.127.196 = www.w-hs.de Spezielle Server (Name-Server, DNS) für Listen mit IP-Adressen

Mehr

RAW Socket Programmierung und Einsatzfelder. Studienarbeit

RAW Socket Programmierung und Einsatzfelder. Studienarbeit Fachbereich 4: Informatik RAW Socket Programmierung und Einsatzfelder Studienarbeit im Studiengang Computervisualistik vorgelegt von André Volk (201210553) Betreuer: Prof. Dr. Ch. Steigner & Dipl. Inform.

Mehr

IPv6 in der Praxis. Felix von Leitner CCC Berlin felix@ccc.de. Dezember 2000. IPv6 in der Praxis

IPv6 in der Praxis. Felix von Leitner CCC Berlin felix@ccc.de. Dezember 2000. IPv6 in der Praxis IPv6 in der Praxis Felix von Leitner CCC Berlin felix@ccc.de Dezember 2000 IPv6 in der Praxis Agenda 1. Autoconfiguration, Neighbor Discovery 2. Router Discovery, Router Renumbering 3. BSD socket API Erweiterungen

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

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

Mehr

4. Thread- und Netzwerk- Programmierung

4. Thread- und Netzwerk- Programmierung 4. Thread- und Netzwerk- Programmierung 4.1 Ziel dieses Kapitels 4.2 Prozeß versus Thread 4.3 Thread-Programmierung 4.4 TCP/IP Grundlagen 4.5 TCP Programmierung 3. TCP/IP und Threads 3-1 4.1 Ziel dieses

Mehr

Router 1 Router 2 Router 3

Router 1 Router 2 Router 3 Network Layer Netz 1 Netz 2 Netz 3 Router 1 Router 2 Router 3 Router 1 Router 2 Router 3 Netz 1, Router 1, 1 Netz 1, Router 1, 2 Netz 1, Router 2, 3 Netz 2, Router 2, 2 Netz 2, Router 2, 1 Netz 2, Router

Mehr

Einführung in die Systemprogrammierung unter Linux

Einführung in die Systemprogrammierung unter Linux Einführung in die Systemprogrammierung unter Linux Systemsoftware Praktikum Inhalt Übersicht über benötigte Systemfunktionen Programmieren unter Linux Grundlegendes Message-Queue Shared Memory Semaphore

Mehr

UDP-, MTU- und IP- Fragmentierung

UDP-, MTU- und IP- Fragmentierung UDP-, MTU- und IP- Fragmentierung Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung

Mehr

Kapitel 6 Internet 1

Kapitel 6 Internet 1 Kapitel 6 Internet 1 Kapitel 6 Internet 1. Geschichte des Internets 2. Datenübertragung mit TCP/IP 3. Internetadressen 4. Dynamische Zuteilung von Internetadressen 5. Domain-Namen 6. Internetdienste 2

Mehr

Praktikum Computernetze im WS08/09 Begleitdokumentation

Praktikum Computernetze im WS08/09 Begleitdokumentation 1 Technische Universität Braunschweig Institut für Betriebssysteme und Rechnerverbund Kommunikation und Multimedia Prof. Dr. L. Wolf Praktikum Computernetze im WS08/09 Begleitdokumentation Betreuer: Habib-ur-Rehman,

Mehr

Kommunikation im Netzwerk

Kommunikation im Netzwerk Kommunikation im Netzwerk Die Client-Server Beziehung Der Client stellt eine Frage (Request) an den Server, dieser sendet eine Antworte (Response) zurück. Grundlage ist die Verfügbarkeit von Sockets, die

Mehr

Einführung in die Netzwerktechnik

Einfü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?

Mehr

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

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9 1 Überblick In A-Z SiteReader ist das Feature Benachrichtigung enthalten. Dieses Feature ermöglicht einer Installation, beim Auftreten von Ereignissen eine automatische Benachrichtigung für verschiedene

Mehr

KN 20.04.2015. Das Internet

KN 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

Mehr

IP-Adressen und Ports

IP-Adressen und Ports IP-Adressen und Ports Eine Einführung Tina Umlandt Universität Hamburg 2. August 2011 Überblick Präsentationsablauf 1 IP = Internetwork protocol Schematische Darstellung über die Layer IP-Datenpaket (IPv4)

Mehr

Geräte Treiber unter Unix/Linux

Geräte Treiber unter Unix/Linux Geräte Treiber unter Unix/Linux Martin Schäf 7. Oktober 2004 1 Einleitung Die Programmierung von Geräte Treibern unter Linux ist ein sehr populäres Thema, da für viele Geräte keine, oder nur sehr primitive

Mehr

TCP/IP-Protokollfamilie

TCP/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

Mehr

Client-Server mit Socket und API von Berkeley

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..................................................

Mehr

IT- und Medientechnik

IT- und Medientechnik IT- und Medientechnik Vorlesung 6: 14.11.2014 Wintersemester 2014/2015 h_da, Lehrbeauftragter Themenübersicht der Vorlesung Hard- und Software Hardware: CPU, Speicher, Bus, I/O,... Software: System-, Unterstützungs-,

Mehr

Die IP-Adressierung. IP-Adresse Netz- / Hostadressteil Einteilung der Adressen Subnetting Arbeit des Routers Fragmentierung IPv6

Die IP-Adressierung. IP-Adresse Netz- / Hostadressteil Einteilung der Adressen Subnetting Arbeit des Routers Fragmentierung IPv6 Die IP-Adressierung IP-Adresse Netz- / Hostadressteil Einteilung der Adressen Subnetting Arbeit des Routers Fragmentierung IPv6 1 Post-Adresse / IP-Adresse Post-Paket IP-Paket 193.135.244.14 Herr Hans

Mehr

CAN-Bus mit Linux und Python

CAN-Bus mit Linux und Python CAN-Bus mit Linux und Python Grazer Linuxtage 2014 Jörg Faschingbauer 1 / 31 Inhaltsverzeichnis 1 Basics 2 CAN Interfaces 3 Programmierung 4 Hardware, Kernel 5 Schluss 2 / 31 Basics Übersicht 1 Basics

Mehr

Adressen im Internet (Wdh.)

Adressen im Internet (Wdh.) Subnetze und Routen Subnetze werden benötigt, um die nutzbaren IP-Adressen weiter zu strukturieren. Die Diskriminierung erfolgt über die Netzmaske. Zwischen Subnetzen muss per Gateway bzw. Router vermittelt

Mehr

Fachbereich Mathematik / Informatik FG Datenbanken / Interaktive Systeme Prof. Dr. Lutz Wegner Sebastian Pape 21. Juli 2006

Fachbereich Mathematik / Informatik FG Datenbanken / Interaktive Systeme Prof. Dr. Lutz Wegner Sebastian Pape 21. Juli 2006 Sebastian Pape 21. Juli 2006 Interprozeßkommunikation Schlusstest Allgemeines Grundlage des Schlußtests sind die Programme server.cpp, client.cpp und local.h im Verzeichnis /home/ipc/klausur. Als Hilfsmittel

Mehr

Grundlagen der Rechnernetze. Internetworking

Grundlagen der Rechnernetze. Internetworking Grundlagen der Rechnernetze Internetworking Übersicht Grundlegende Konzepte Internet Routing Limitierter Adressbereich SS 2012 Grundlagen der Rechnernetze Internetworking 2 Grundlegende Konzepte SS 2012

Mehr

7 Transportprotokolle

7 Transportprotokolle 7 Transportprotokolle 7.1 Transmission Control Protocol (TCP) 7.2 User Datagram Protocol (UDP) 7.3 Ports 7.1 TCP (1) IP-Pakete (Datagramme) von A nach B transportieren reicht nicht interaktive Verbindungen

Mehr

IPv6. Autor Valentin Lätt Datum 09.07.2010 Thema IPv6 Version V 1.0

IPv6. Autor Valentin Lätt Datum 09.07.2010 Thema IPv6 Version V 1.0 Autor Datum 09.07.2010 Thema Version V 1.0 Inhaltsverzeichnis Inhaltsverzeichnis... - 2-1 Das ISO/OSI Modell... - 3-1.1 Internet Protocol Grundlagen... - 3-1.2 Transmission Control Protocol Grundlagen...

Mehr

Informatik B. Vorlesung 16 Netzwerkprogrammierung. Dr. Ralf Kunze

Informatik 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

Mehr

Lösungen zu Kontrollfragen: Internet

Lösungen zu Kontrollfragen: Internet Lösungen zu Kontrollfragen: Internet 1. Zählen Sie mindestens 5 Internet-Dienste auf. World Wide Web E-Mail News File Transfer Telnet/Secure Shell Domain Name Service 2. Was ist eine virtuelle Verbindung?

Mehr

IPv6 kompatible Programmierung unter Unix. Vortrag von Dipl. Inf. Matthias Scheler Paderborn, Juli 2004

IPv6 kompatible Programmierung unter Unix. Vortrag von Dipl. Inf. Matthias Scheler Paderborn, Juli 2004 1 IPv6 kompatible Programmierung unter Unix Vortrag von Dipl. Inf. Matthias Scheler Paderborn, Juli 2004 2 Was ist IPv6? Internet Protocol Version 6 (auch Internet Protocol Next Generation genannt) Nachfolger

Mehr

NAT und Firewalls. Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de. Universität Bielefeld Technische Fakultät

NAT und Firewalls. Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de. Universität Bielefeld Technische Fakultät NAT und Firewalls Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April 2005

Mehr

4.1 Sockets in der Programmiersprache C

4.1 Sockets in der Programmiersprache C Parallelverarbeitung Folie 4-1 4 Die Socket-Schnittstelle 4.1 Sockets in der Programmiersprache C Sockets wurden zum ersten Mal im Jahr 1982 mit BSD-UNIX 4.1c für VAX-Rechner der ehemaligen Firma Digital

Mehr

Betriebssysteme: Konzepte, Dienste, Schnittstellen (Betriebssysteme und betriebssystemnahe Programmierung)

Betriebssysteme: Konzepte, Dienste, Schnittstellen (Betriebssysteme und betriebssystemnahe Programmierung) BERGISCHE UNIVERSITÄT WUPPERTAL GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0 WWW www.uni-wuppertal.de Fachbereich C MATHEMATIK UND NATURWISSENSCHAFTEN Fachgruppe Mathematik

Mehr

Projektaufgabe Peer-To-Peer Chat Programm

Projektaufgabe Peer-To-Peer Chat Programm Projektaufgabe Peer-To-Peer Chat Programm Betreuer: Dipl. Ing. Thomas Kehrt kehrt@cs.tu-dortmund.de September 10, 2014 1 Einführung Im Rahmen des Vorkurses wird für fortgeschrittene Studenten eine Projektarbeit

Mehr

Vorlesung SS 2001: Sicherheit in offenen Netzen

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,

Mehr

Vorlesung "Verteilte Systeme" Winter 2002. Internet-Protokolle: FTP, TELNET, SMTP, DNS, NSP, NTP, HTTP,... RPC-Protokolle. PVM, MPI, Corba,...

Vorlesung Verteilte Systeme Winter 2002. Internet-Protokolle: FTP, TELNET, SMTP, DNS, NSP, NTP, HTTP,... RPC-Protokolle. PVM, MPI, Corba,... Verteilte Systeme 3. Protokollfamilie TCP/IP Einordnung in OSI-Modell Internet-Protokolle: FTP, TELNET, SMTP, DNS, NSP, NTP, HTTP,... Ebene 4-7 RPC-Protokolle PVM, MPI, Corba,... UDP TCP Ebene 3 IP / ICMP

Mehr

TCP und UDP Sockets in Java

TCP und UDP Sockets in Java TCP und UDP Sockets in Java Grundlegende Mechanismen Server reserviert Port: Klient: - Server: bind Server nimmt Verbindungswünsche an Klient: - Server: listen Klient möchte sich verbinden Klient: connect;

Mehr

Schichtenmodelle Netzkommunikation - Sockets -RPCs - Server-Modelle

Schichtenmodelle Netzkommunikation - Sockets -RPCs - Server-Modelle Folie 1 5. Netzwerkprogrammierung Schichtenmodelle Netzkommunikation - Sockets -RPCs - Server-Modelle Folie 2 5.1 Schichtenmodelle - Definitionen Schichtenmodelle zerlegen Aufgaben in verschiedene Abstraktionsebenen

Mehr

Labor Nachrichtentechnik, Versuch 11 Teil 2: Socket-Programmierung

Labor Nachrichtentechnik, Versuch 11 Teil 2: Socket-Programmierung Labor Nachrichtentechnik, Versuch 11 Teil 2: Socket-Programmierung 1. Hintergrundliteratur Ausgewählte Vorlesungskapitel zur Socket-Programmierung. Linksammlung zu auf jochenkoegel.de/dhbw mit Anleitung

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL5 Folie 1 Dr. Jens Döbler Internet Grundlagen Zusammenschluß

Mehr

15 Transportschicht (Schicht 4)

15 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

Mehr

Leseprobe. Martin Gräfe. C und Linux. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN: 978-3-446-42176-9

Leseprobe. Martin Gräfe. C und Linux. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN: 978-3-446-42176-9 Leseprobe Martin Gräfe C und Linux Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN: 978-3-446-42176-9 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42176-9

Mehr

Network Address Translation (NAT) Prof. B. Plattner

Network Address Translation (NAT) Prof. B. Plattner Network Address Translation (NAT) Prof. B. Plattner Warum eine Übersetzung von Adressen? Adressknappheit im Internet Lösungen langfristig: IPv6 mit 128-bit Adressen einsetzen kurzfristig (und implementiert):

Mehr

1. DAS IP INTERNET PROTOCOL...2. 1.1. Die Protokollschichten des Internet...2. 1.2. Internetadressen...3. 1.3. Das Paketformat von IP...

1. DAS IP INTERNET PROTOCOL...2. 1.1. Die Protokollschichten des Internet...2. 1.2. Internetadressen...3. 1.3. Das Paketformat von IP... ip-tcp-grundlagen IP- UND TCP - GRUNDLAGEN Inhalt 1. DAS IP INTERNET PROTOCOL...2 1.1. Die Protokollschichten des Internet...2 1.2. Internetadressen...3 1.3. Das Paketformat von IP...4 2. ROUTING VON IP-PAKETEN...6

Mehr

Modbus/TCP. Protokoll

Modbus/TCP. Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Pro tokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll Protokoll

Mehr

Unterschiede zu Pipelines 165

Unterschiede zu Pipelines 165 Netzwerkdienste 164 Ein Netzwerkdienst ist ein Prozess, der unter einer Netzwerkadresse einen Dienst anbietet. Ein Klient, der die Netzwerkadresse kennt, kann einen bidirektionalen Kommunikationskanal

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

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

Mehr

Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842.

Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek Mail_02.lib Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Inhalt Mail_02.lib 3 MAIL_SmtpClient...

Mehr

Netzwerk Linux-Kurs der Unix-AG

Netzwerk Linux-Kurs der Unix-AG Netzwerk Linux-Kurs der Unix-AG Benjamin Eberle 5. Februar 2015 Netzwerke mehrere miteinander verbundene Geräte (z. B. Computer) bilden ein Netzwerk Verbindung üblicherweise über einen Switch (Ethernet)

Mehr

Chapter 11 TCP. CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von

Chapter 11 TCP. CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von Chapter 11 TCP CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von Rick Graziani Cabrillo College Vorbemerkung Die englische Originalversion finden Sie unter : http://www.cabrillo.cc.ca.us/~rgraziani/

Mehr

Grundkurs Routing im Internet mit Übungen

Grundkurs Routing im Internet mit Übungen Grundkurs Routing im Internet mit Übungen Falko Dressler, Ursula Hilgers {Dressler,Hilgers}@rrze.uni-erlangen.de Regionales Rechenzentrum der FAU 1 Tag 4 Router & Firewalls IP-Verbindungen Aufbau von IP

Mehr