# Socketprogrammierung
|
|
|
- Adrian Esser
- vor 7 Jahren
- Abrufe
Transkript
1 # Socketprogrammierung Socketprogrammierung in C/C++ Christian Benjamin Ries Dipl.-Ing. (FH) Christian Benjamin Ries 1
2 # Agenda Ziel Einführung Netzwerkprotokolle Was sind Sockets? Funktionen für Sockets Extensions Fragen, bitte jederzeit stellen! Dipl.-Ing. (FH) Christian Benjamin Ries 2
3 # Einführung: Ziel Grobe Unterschiede zwischen TCP & UDP Ermittlung des Hostnamens einer IP-Adresse Realisierung einer einfachen Client-Server Kommunikation Dipl.-Ing. (FH) Christian Benjamin Ries 3
4 # Einführung Sockets bieten die Möglichkeit protokollunabhängig bidirektionale Kommunikationsverbindungen aufzubauen: Zu unterscheiden sind... verbindungsorientierte und verbindungslose: Muss eine Verbindung zwischen zwei Knoten bestehen oder nicht? stream- und paketorientiert: Kontinuierlicher Datenstrom oder Einzelnachrichten? zuverlässig und nicht zuverlässig: Können Nachrichten verloren gehen, reorganisiert werden, doppelt vorkommen, etc.? Dipl.-Ing. (FH) Christian Benjamin Ries 4
5 # Netzwerkprotokolle Die wohl bekannsteten Protokolle sind TCP & UDP in Verbindung mit IP Anwendungsbeispiele: TCP (virtuelle Verknüpfung zwischen Paketen) SMTP, HTTP, TELNET => Beispiel zeigen! UDP (einzelne Datagramme) DNS, ROUTE (RIP), DHCP, NTP Dipl.-Ing. (FH) Christian Benjamin Ries 5
6 # TCP Handshake 1. SYN-SENT <SEQ=100><CTL=SYN> SYN-RECEIVED 2. SYN/ACK-RECEIVED <SEQ=300><ACK=101><CTL=SYN,ACK> SYN/ACK-SENT 3. ACK-SENT <SEQ=101><ACK=301><CTL=ACK> ESTABLISHED Vorteile: Durch die SYN/ACK-Flags kann eine verlustfreie Verbindung aufgebaut werden. Die Datenübertragungsgeschwindigkeit kann dem Medium angepasst werden. Dipl.-Ing. (FH) Christian Benjamin Ries 6
7 # TCP Teardown 1. FIN-SENT <SEQ=100><CTL=FIN> FIN-RECEIVED 2. FIN/ACK-RECEIVED <SEQ=300><ACK=101><CTL=FIN,ACK> FIN/ACK-SENT 3. ACK-SENT <SEQ=101><ACK=301><CTL=ACK> CLOSED Dipl.-Ing. (FH) Christian Benjamin Ries 7
8 # UDP Besitzt keinen Verbindungsaufbau/-abbau. Sendet die Daten auf gut Glück. Fehlerüberprüfungen müssen von höheren Schichten übernommen werden, dadurch mehr Aufwand bei der Anwendungsentwicklung. weniger Datenverkehr Dipl.-Ing. (FH) Christian Benjamin Ries 8
9 # TCP / UDP Header Dipl.-Ing. (FH) Christian Benjamin Ries 9
10 # TCP/IP Referenzmodell OSI Modell TCP/IP Modell Es besteht eine Peer-to-Peer Verbindung zwischen den Schichten (P2P). Wir beschäftigen uns in diesem Vortrag nur mit der Anwendungsschicht, doch füllen die darunterliegenden Schichten mit Daten. Dipl.-Ing. (FH) Christian Benjamin Ries 10
11 # Socket #include <sys/socket.h> int socket(int domain, int type, int protocol); eine Art Filedeskriptor im VFS (Virtual File System) Vgl. PIPEs, FIFOs, System V IPC (Semaphoren, Message queues, Shared Memory) Dadurch kann mit den bekannten Lese-/Schreibzugriffen gearbeitet werden. Dipl.-Ing. (FH) Christian Benjamin Ries 11
12 # Socket: Interna struct socket *SOCKET_I(struct inode * i ); struct inode *SOCK_INODE(struct socket *s); Zeigerarithmetik zwischen den im Kernelspace befindlichen Speicherbereichen. dup, bind, connect, u.a. Quelle: Protokollspezifische Funktionen: close, connect, sendmsg, u.a. Dipl.-Ing. (FH) Christian Benjamin Ries 12
13 # Socket: API socket: Kreiert einen Socket. (ein Telefon kaufen) bind: Bindet den Socket an eine Adresse/Port auf dem Server. (Eine Telefonnummer zuweisen) listen: Definiert die Menge an max. wartenden Clients. (Länge der Warteschleife) accept: Verbindungen akzeptieren. (Ein Telefonat annehmen) connect: Zu einem Server verbinden. (Jmd. anrufen) send, sendto: Nachrichten versenden. (Sprechen) recv, recvfrom: Nachrichten empfangen. (Zuhören) shutdown: Die Verbindung beenden. (Auflegen) Dipl.-Ing. (FH) Christian Benjamin Ries 13
14 # Socket: TCP Server Folgenden Aufrufe benötigt ein Server: socket: Socket erstellen. bind: Bindet die Adresse des Servers an den Socket. listen: Max. Anzahl an möglich wartenden Clients. accept: Verbindungen akzeptieren. send, recv: Nachrichten empfangen/versenden. shutdown: Verbindung beenden. close: Zugewiesenden Daten im Kernel freigeben. Dipl.-Ing. (FH) Christian Benjamin Ries 14
15 # Socket: TCP Client Folgenden Aufrufe benötigt ein Client: socket: Socket erstellen. connect: Eine Verbindung herstellen. send, recv: Nachrichten empfangen/versenden. shutdown: Verbindung beenden. close: Zugewiesenden Daten im Kernel freigeben. Dipl.-Ing. (FH) Christian Benjamin Ries 15
16 # Socket: TCP Quelle: IBM Dipl.-Ing. (FH) Christian Benjamin Ries 16
17 # int socket(...) #include <sys/socket.h> int socket(int domain, int type, int protocol); int domain AF_INET: Internetkommunikation AF_UNIX: Lokale Kommunikation über Dateien int type: SOCK_STREAM: TCP Verbindung SOCK_DGRAM: UDP Verbindung int protocol: (meist 0 = IP) siehe /etc/protocols Beispiel: socket( AF_INET, SOCK_RAW, icmp); Bau eines eigenes PING Programms. Dipl.-Ing. (FH) Christian Benjamin Ries 17
18 # int bind(...) #include <sys/types.h> #include <sys/socket.h> int bind(int sockfd, struct sockaddr *my_addr, int addrlen); int sockfd: Socket id von socket(...). struct sockaddr * my_addr: Protokollspezifische Adressstruktur Im Internetprotokoll besteht die Adresse aus: IPADDR & PORT int addrlen: Größe in Bytes die my_addr belegt. $ man 3 bind Wie ist die Struktur 'sockaddr' definiert? Dipl.-Ing. (FH) Christian Benjamin Ries 18
19 # struct sockaddr_in struct sockaddr_in (sockaddr_in6 bei Ipv6) { short int sin_family; /* Address family */ unsigned short int sin_port; /* Port number */ struct in_addr sin_addr; /* Internet address */ unsigned char sin_zero[8]; /* Same size as struct sockaddr */ }; Definiert in '/usr/include/sys/socket.h'. sin_port und sin_addr müssen in Network-Byte-Order sein! Dipl.-Ing. (FH) Christian Benjamin Ries 19
20 # Network-Byte-Order zwei verschiedene Ordnungen gibt es: Little-Endian: Kleines Ende zuerst! Big-Endian: Großes Ende zuerst! Die Network-Byte-Order ist nach Big-Endian orientiert! siehe 'byteorder' Beispiel! Dipl.-Ing. (FH) Christian Benjamin Ries 20
21 # Network-Byte-Order #include <arpa/inet.h> uint32_t htonl( uint32_t hostlong ); uint16_t htons( uint16_t hostshort ); uint32_t ntohl( uint32_t netlong ); uint16_t ntohs( uint16_t netshort ); htonl: Host to Network Long htons: Host to Network Short ntohl: Network to Host Long ntohs: Network to Host Short 16 bzw. 32 Bits = für Ports und 32 Bit IP-Adressen Dipl.-Ing. (FH) Christian Benjamin Ries 21
22 # int listen(...) #include <sys/socket.h> int listen(int s, int backlog); int s: Socket id von socket(...). int backlog: Anzahl der Clients die sich gleichzeitig verbinden dürfen. $ man 3 listen Dipl.-Ing. (FH) Christian Benjamin Ries 22
23 # int accept(...) #include <sys/socket.h> int accept(int socket, struct sockaddr * address, socklen_t * address_len); int socket: Socket id von socket(...). struct sockaddr *address: Zeiger auf die Adressstruktur. socklen_t * address_len: Größe der Struktur $ man 3 accept Dipl.-Ing. (FH) Christian Benjamin Ries 23
24 # int connect(...) #include <sys/socket.h> int connect( int socket, const struct sockaddr *address, socklen_t address_len ); int socket: Socket id von socket(...). struct sockaddr *address: Zeiger auf die Adressstruktur. socklen_t address_len: Größe der Struktur $ man 3 connect Dipl.-Ing. (FH) Christian Benjamin Ries 24
25 # int send/sendto(...) #include <sys/socket.h> ssize_t send( int socket, const void * buffer, size_t length, int flags ); ssize_t sendto( int socket, const void *buffer, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len ); int socket: Socket id von socket(...). void *buffer: Die Daten die versendet werden sollen, kann alles drin stehen. size_t length: Größe der Daten in Bytes. int flags: MSG_MORE, MSG_DONTROUTE...: Die Parameter bei sendto(...) sind dieselben wie bei bind(...), diese Funktion findet meist bei UDP Applikationen Anwendung. $ man 3 send $ man 3 sendto Dipl.-Ing. (FH) Christian Benjamin Ries 25
26 # int recv/recvfrom(...) #include <sys/socket.h> ssize_t recv( int socket, void * buffer, size_t length, int flags ); ssize_t recvfrom( int socket, void *buffer, size_t length, int flags, struct sockaddr *addr, socklen_t len ); int socket: Socket id von socket(...). void *buffer: Die Daten die versendet werden sollen, kann alles drin stehen. size_t length: Größe der Daten in Bytes. int flags: MSG_WAITALL, MSG_PEEK (mark unread, read again)...: Die Parameter bei recvfrom(...) sind dieselben wie bei bind(...), diese Funktion findet meist bei UDP Applikationen Anwendung. $ man 3 recv $ man 3 recvfrom Dipl.-Ing. (FH) Christian Benjamin Ries 26
27 # int shutdown(...) #include <sys/socket.h> int shutdown( int socket, int how ); int socket: Socket id von socket(...). int how: Gibt an wie die Verbindung beendet werden soll. SHUT_RD: Beendet die Möglichkeit vom Socket zu lesen. SHUT_WR: Beendet die Möglichkeit auf den Socket zu schreiben. SHUT_RDWR: Beides $ man 3 shutdown Dipl.-Ing. (FH) Christian Benjamin Ries 27
28 # Extensions Arten von Client-Server Verbindungen: Einzelverbindungen, einzelne Direktverbindung langweilig!!! Anzahl von X Verbindungen schon spannender!!! Dipl.-Ing. (FH) Christian Benjamin Ries 28
29 # Extensions Wie verwaltet man mehrere Verbindungen? Im Grunde gibt es zwei Verfahren für diese Aufgabe: Polling (auch langweilig!) Blockierend (nehmen wir das!) Dipl.-Ing. (FH) Christian Benjamin Ries 29
30 # int select(...) #include <sys/select.h> int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); void FD_CLR(int fd, fd_set *fdset); int FD_ISSET(int fd, fd_set *fdset); void FD_SET(int fd, fd_set *fdset); void FD_ZERO(fd_set *fdset); int nfds: höchste Socket ID + 1 fd_set * readfds, writefds, errorfds: Bitfeld mit maskiertem Bit für die jeweilige aktuell geänderte Socket ID. struct timeval *timeout: struct timeval { long int tv_sec; long int tv_usec; }; Sekunden und Mikrosekunden bis select(...) von selbst zurückkehrt. mhmmm ein Beispiel wäre wohl an dieser Stelle sinnig??? Dipl.-Ing. (FH) Christian Benjamin Ries 30
31 # Hostname/IP ermitteln #include <netdb.h> struct hostent *gethostbyname( const char *name ); struct hostent *gethostbyaddr( const char *addr, int len, int type = AF_INET ); struct hostent { char *h_name; /* Offizieller Name des Rechners */ char **h_aliases; /* Aliasliste */ int h_addrtype; /* Host-Adress-Typ */ int h_length; /* Adresslänge */ char **h_addr_list; /* Adressliste */ } #define h_addr h_addr_list[0] /* für Abwärtskompatibilität */ Siehe Beispiel 'gethostbyaddr'! Dipl.-Ing. (FH) Christian Benjamin Ries 31
32 # Optionen #include <sys/socket.h> int setsockopt( int socket, int level, int option_name, const void * option_value, socklen_t option_len ); int level: auf welcher Ebende die Option gesetzt werden soll int option_name: SO_REUSEADDR, SO_DEBUG void * option_value: Wert, auf die die Option gesetzt werden soll. socklen_t option_len: Größe des 'option_value' in Byte. cont int y = 1; setsockopt( socketid, SOL_SOCKET, SO_REUSEADDR, &y, sizeof(int)); $ man 3 setsockopt Dipl.-Ing. (FH) Christian Benjamin Ries 32
33 # Ende Fragen??? Dipl.-Ing. (FH) Christian Benjamin Ries 33
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
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
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/
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
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
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.
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
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.
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
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
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
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.
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"
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
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
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
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
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
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.
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
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
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
UDP-, MTU- und IP- Fragmentierung
UDP-, MTU- und IP- Fragmentierung Jörn Stuphorn [email protected] Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung
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
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
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
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
WS7073: Netzwerk- und Protokollprogrammierung. Dr. Florian Baumgartner Neubrückstrasse 10 3012 Bern
WS7073: Netzwerk- und Protokollprogrammierung Dr. Florian Baumgartner Neubrückstrasse 10 3012 Bern 1 Zur Person: F. Baumgartner Kontakt: Mobil: +41-76-4324154 Büro: +41-31-6318646 Email: [email protected]
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...................................
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
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:
Programmieren mit sockets
Netzwerk-Programmierung Programmieren mit sockets Sven Hartmeier [email protected] Übersicht Datentypen und Konversionsfunktionen minimaler Client minimaler Server Netzwerk-Programmierung
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 [email protected] Dr.
IPv6 in der Praxis. Felix von Leitner CCC Berlin [email protected]. Dezember 2000. IPv6 in der Praxis
IPv6 in der Praxis Felix von Leitner CCC Berlin [email protected] Dezember 2000 IPv6 in der Praxis Agenda 1. Autoconfiguration, Neighbor Discovery 2. Router Discovery, Router Renumbering 3. BSD socket API Erweiterungen
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)
Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm [email protected]
Grundlagen TCP/IP C3D2 Chaostreff Dresden Sven Klemm [email protected] Gliederung TCP/IP Schichtenmodell / Kapselung ARP Spoofing Relaying IP ICMP Redirection UDP TCP Schichtenmodell Protokolle der
Ü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 [email protected] Stephan Sommer [email protected]
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.
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
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
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/
Transportschicht. Einleitung Transmission Control Protocol, RFC793. Transportschicht
Transportschicht 1 / 33 Kommunikationsnetze I 19.11.2008 Dienste der Transportschicht Die Transportschicht bietet einen verbindungsorientierten und einen verbindungslosen Dienst, unabhängig von den Diensten
Praktikum zur Vorlesung Datenkommunikation. Teil I
Praktikum zur Vorlesung Datenkommunikation Teil I 1 1 Praktikum zur Vorlesung Datenkommunikation Ansprechpartner Rainer Krogull [email protected] Tel. 0241 / 80-21 406 URL http://www-i4.informatik.rwth-aachen.de/dk-ma/
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
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?
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
Internetprotokoll TCP / IP
Internetprotokoll TCP / IP Inhaltsverzeichnis TCP / IP - ALLGEMEIN... 2 TRANSPORTPROTOKOLLE IM VERGLEICH... 2 TCP / IP EIGENSCHAFTEN... 2 DARPA MODELL... 3 DIE AUFGABEN DER EINZELNEN DIENSTE / PROTOKOLLE...
Scan-Techniken Ein Überblick
Scan-Techniken Ein Überblick Klaus Möller DFN-CERT GmbH Februar 2002 Agenda Was sind Scans? Scan-Techniken ICMP Scans TCP Scans UDP Scans Weitere Scan-Techniken Umgang mit Scans Was sind Scans? Einbruchszyklus:
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ß
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
Transportschicht (Schicht 4) des Internet
Transportschicht (Schicht 4) des Internet Es gibt zwei Transportprotokolle: TCP = Transmission Control Protocol UDP = User Datagram Protocol a) TCP: baut virtuelle Verbindung auf (verbindungsorientiert)
TCP/IP Socket Programmierung in C# (Ci sharp) Multicast und Broadcast
TCP/IP Socket Programmierung in C# (Ci sharp) Multicast und Broadcast AUFGABE: Schreiben Sie das Beispiel in JAVA um Multicast und Broadcast Bei allen TCP Verbindungen handelt es sich um bidirektionale,
Beispiel TCP-/IP-Datenübertragung
TCP/IP Beispiel TCP-/IP-Datenübertragung Einfach mal Sniffen (im Raum LAN/Filius) --> Installieren Sie das Programm WireShark http://www.wireshark.org/ Lauschen Sie Ihre Netzwerkkarte aus! (10 Sek) Vorsicht!
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
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,
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
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).
TCP/UDP PROF. DR. M. FÖLLER NORD INSTITUT EMBEDDED AND MOBILE COMPUTING
TCP/UDP PROF. DR. M. FÖLLER NORD INSTITUT EMBEDDED AND MOBILE COMPUTING Bereitstellen von logischer Kommunikation zwischen Anwendungsprozessen Multiplexen und Demultiplexen von Anwendungen Prinzipien des
IP Adressen & Subnetzmasken
IP Adressen & Subnetzmasken Jörn Stuphorn [email protected] Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April
Netzwerkprogrammierung
Seminarvortrag Netzwerkprogrammierung Referent: Stefan Renner E-Mail: [email protected] Motivation Einsatz von Netzwerken: Physikalische Ressourcen gemeinsam nutzen Daten unabhängig
Grundlagen Rechnernetze und Verteilte Systeme
Grundlagen Rechnernetze und Verteilte Systeme Kapitel 4 Transportschicht SoSe 2015 Fakultät für Informatik Fachgebiet für Betriebssysteme Prof. Dr. Uwe Baumgarten, Sebastian Eckl Lehrstuhl für Netzarchitekturen
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
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
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)
LAN & Internet. Grundlagen Netzwerke LAN-2. Saarpfalz-Gymnasium. Router. Router LAN-3. Router. Kommunikation in Rechnernetzen
Kommunikation in Rechnernetzen Grundlagen Netzwerke Als Folge des Sputnik-Schocks 1957 wurde Ende der 60er-Jahre von einer Projektgruppe des amerikanischen Verteidigungsministeriums (ARPA) ein Computer-Netz
TCP/IP. Internet-Protokolle im professionellen Einsatz
Mathias Hein TCP/IP Internet-Protokolle im professionellen Einsatz mrnrn 5., aktualisierte und erweiterte Auflage m mitp i Vorwort 15 1 Der Erfolg des TCP/IP-Protokolls 17 2 Kommunikation über Schichten
IPv4 - Internetwork Protocol
IPv4 - Internetwork Protocol Connectionless Pakete werden abgeschickt, eine Bestätigung erfolgt NICHT! Networklayer Erfüllt die Aufgaben der 3. ISO-Schicht Aufbau # Bits Abkürzung Inhalt 4 Vers Version
IP-Netzwerke und Protokolle
IP-Netzwerke und Protokolle Überblick über die IEEE 802.x Richtlinien Grundsätzliches zu TCP/IP und UDP/IP Namen und Adressen (kurz) Gateways, Routing Praktische Übungen anhand der Linux- Standard-Tools
Internet - Grundzüge der Funktionsweise. Kira Duwe
Internet - Grundzüge der Funktionsweise Kira Duwe Gliederung Historische Entwicklung Funktionsweise: -Anwendungen -Rechnernetze -Netzwerkschichten -Datenkapselung -RFC -Verschiedene Protokolle (Ethernet,
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: Netzwerke (TK) WS 2009/10 Kapitel 5 Ende-zu-Ende-Protokolle Session 15
Vorlesung: Netzwerke (TK) WS 2009/10 Kapitel 5 Ende-zu-Ende-Protokolle Session 15 Prof. Dr. Michael Massoth [Stand: 07.01.2009] 15-1 15-2 ACHTUNG: Testat_3 am Mittwoch, den 13.01.2010 Referenzmodelle (OSI,
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
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
15 Transportschicht (Schicht 4)
Netzwerktechnik Aachen, den 16.06.03 Stephan Zielinski Dipl.Ing Elektrotechnik Horbacher Str. 116c 52072 Aachen Tel.: 0241 / 174173 [email protected] zielinski.isdrin.de 15 Transportschicht (Schicht
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
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
Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN
Android VPN Am Beispiel eines Netzwerktunnels für das Domain Name System () 1 Inhalt VPN Framework in Android Übersicht zu Iodine Funktionsweise Demonstration 2 VPN und Android Verfügbar seit Android 4.0
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
