Client/Server-Systeme



Ähnliche Dokumente
Client/Server-Systeme

15 Transportschicht (Schicht 4)

Transmission Control Protocol (TCP)

Verteilte Systeme - 1. Übung

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

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

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

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

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht

Client-Server mit Socket und API von Berkeley

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

TCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen

Netzwerkprogrammierung unter Linux und UNIX

TCP/IP-Protokollfamilie

FileMaker Go 13 ohne Connects

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

Kontrollfragen: Internet

2. Architektur von Kommunikationssystemen

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

STARFACE SugarCRM Connector

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Scharl 2010 Dokument ist Urheberrechtlich geschützt. Port Forwarding via PuTTY und SSH. Was ist Port forwarding?

Ether S-Net Diagnostik

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Online-Publishing mit HTML und CSS für Einsteigerinnen

CONVEMA DFÜ-Einrichtung unter Windows XP

Collax PPTP-VPN. Howto

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Timer. Sockets.

Radius Server. Bericht im Studiengang Computerengineering an der HS-Furtwangen. Student: Alphonse Nana Hoessi Martikelnr.:227106

SNMP und der MIB- Browser von MG-Soft

Anleitung Grundsetup C3 Mail & SMS Gateway V

TCP/UDP. Transport Layer

Man liest sich: POP3/IMAP

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Uni-Firewall. Absicherung des Überganges vom Hochschulnetz zum Internet am Wingate (Helmut Celina)

HTBVIEWER INBETRIEBNAHME

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Konfigurationsanleitung Network Address Translation (NAT) Funkwerk. Seite Copyright Stefan Dahler Oktober 2008 Version 1.

ESB - Elektronischer Service Bericht

IMAP und POP. Internet Protokolle WS 12/13 Niklas Teich Seite 1

Local Control Network Technische Dokumentation

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

Anwendungsprotokolle: HTTP, POP, SMTP

mmone Internet Installation Windows XP

KN Das Internet

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

MC-Hx 006. Einbindung des MC-Hx Modul als MODBus TCP Slave. MB DataTec GmbH. Stand:

3 Netzdienste im Internet. vs3 1

EDI Connect goes BusinessContact V2.1

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Konfigurationsanleitung Fax over IP (T.38) und CAPI Fax Server (T.30) Graphical User Interface (GUI) Seite - 1 -

3. Stored Procedures und PL/SQL

Einführung in die Netzwerktechnik

Betriebssystem Windows - SSH Secure Shell Client

DCOM??? Seite 1

Fernwartung von Mac OS 9 u. X per VNC

Einleitung Sniffing, Analyzing, Scanning Scanning. Netzwerke. Bierfert, Feresst, Günther, Schuster. 21. März 2006

MODBUS/TCP und Beckhoff Steuerelemente

LOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung

Einrichtung von VPN-Verbindungen unter Windows NT

Betriebssysteme Kap. 5: Netzwerkmanagement

Powermanager Server- Client- Installation

Einführung: Grundlegende Design-Prinzipien des Internet B. Plattner, H. Lubich Internet Intro 1

Netzwerk. Um den Hostnamen angezeigt zu bekommen $ hostname $ hostname -f Um den Hostnamen zu ändern $ hostname <neuerhostname>

macs Support Ticket System

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Datenbanken auf Sybase SQL-Anywhere

SolarWinds Engineer s Toolset

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

ecall sms & fax-portal

Verbindung zu WRDS über SAS auf dem Terminalserver

Einrichtungsanleitung Router MX200

Virtual Private Network

Websites mit Dreamweaver MX und SSH ins Internet bringen

Die Konfigurationssoftware»WT-1 Configurator«

END USER GUIDE IBS TICKET SYSTEM HOW-TO. Dokumenten Kontrolle. Version 1.1. Datum IBS Ticket System End User How-To D.doc.

Drucker über die USB-Schnittstelle des AC WLAN ansteuern. Direkte Ansteuerung ( Windows )

Inhaltverzeichnis 1 Einführung Zugang zu den Unifr Servern Zugang zu den Druckern Nützliche Links... 6

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Bedienungsanleitung. 1. Eine direkte (1 1) Verbindung muss mit einem gekreuzten (Crossover) Netzwerkkabel hergestellt werden.

Konfigurationsanleitung Astimax (SIP) an RT1202 (ISDN) Graphical User Interface (GUI) Seite - 1 -

INSTALLATIONSANLEITUNG der Version 2.1 (Jänner 2014)

jet IDS HIGH-LEIT OPC-GATEWAY zur Anbindung von Automatisierungssystemen Ein offenes, skalierbares SCADA System für alle Infrastrukturanwendungen

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Transkript:

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 18. D. E. Comer, D. L. Stevens: Internetworking with TCP/IP. Prentice Hall, 1991, Band 1, Kapitel 21. D. E. Comer, D. L. Stevens: Internetworking with TCP/IP. Prentice Hall, 1991, Band 3, Kapitel 5. J. Bloomer: Power Programing with RPC. O Reilly&Assiciates, 1992, S. 125. vs1608 ww6 wgs 06-97

Schicht 7 Anwendung Telnet, FTP, SMTP Schicht 6 Darstellung Schicht 5 Sitzung Schicht 4 Transport TCP Transmission Control Protokoll Schicht 3 IP Internet Netwerk Protokoll Schicht 2 Ethernet, Tokenring Sicherung HDLC, ATM Schicht 1 Bitübertragung Kupfer, Glasfaser, drahtlos Einordnung von TCP/IP in das OSI Schichtmodell css0208 ww6 sch 10-96

Schicht 7 SNMP, Telnet, FTP Anwendung vom Benutzer geschriebene Anwendungen Schicht 6 Darstellung XDR, ASN.1, Kompression, Sicherheit, Authentifizierung Schicht 5 Sitzung RPC (Remote Procedure Call) Sockets, DCE, CORBA Schicht 4 Transport TCP Transmission Control Protokoll Schicht 3 IP Internet Protokoll Netwerk Schicht 2 Ethernet, Tokenring Sicherung HDLC, ISDN, ATM Schicht 1 Bitübertragung Kupfer, Glasfaser, drahtlos Einordnung von TCP/IP in das OSI Schichtmodell cs 0207 ww6 wgs 10-96

Sockets: Schnittstelle zu Netzwerkprotokollen Sockets sind eine allgemeine Schnittstelle zu unterschiedlichen Transportprotokollen der Schicht 4 (z.b. NetBIOS, SNA, IPX) und verbergen weitgehend Architektur des verwendeten Transportprotokolls. Sie sind die Defacto Standard Schnittstelle zu den TCP/IP Stacks in allen Betriebssystemen. Bei einem Austausch des Transportprotokolls muß Applikationsprogramm nur geringfügig verändert werden. Ein Socket ist ein Endpunkt einer Kommunikationsverbindung. Die Verbindung ist sowohl lokal als auch entfernt möglich. Bei einer entfernten Verbindung wird über den Socket eine Anwendung mit einem Transportmechanismus (z.b. TCP oder UDP) verbunden. Für TCP- und UDP-Protokolle ist die Socketadresse eindeutig durch die Kombination Internetadresse plus Portnummer definiert. Der Socket Kommunikationsendpunkt besteht aus der IP Adresse (Netzwerk-ID und Rechner-ID) und der Portnummer. Ein Port ist eine eindeutige Zuordnung der TCP oder UDP Pakete zur nächst höheren Schicht 5. Eine TCP/IP Verbindung ist immer eindeutig durch 6 Größen bestimmt: IP Adresse des Senders Port des Senders Protokoll des Senders IP Adresse des Empfängers Port des Empfängers Protokoll des Empfängers Beispiel Socket Telephon Netzwerk-ID Ortsvorwahl Rechner-ID Telephon Nr. Portnummer Nebenstelle cs 0210x ww6 wgs 08-97

21 000 Klienten ISDN Verbindung Sockets CAPI TCP/ IP Oracle ISDN Net Oracle Ticket Service der Deutschen Post cs 0213x ww6 wgs 08-97

Verbindungsloses Protokoll Verbindungsorientiertes Protokoll Sitzung - Session Open Do Work Close Sitzungsstatus speichern cs 0220 ww6 wgs 09-00

Drei Typen von Sockets Stream Sockets (SOCK_STREAM) für zuverlässige verbindungsorientierte Duplex-Verbindungen. Werden im Internet-Bereich durch das TCP Protokoll unterstützt. TCP verwendet die Abstraktion einer "Verbindung", die aus zwei Endpunkten, definiert durch 2 Integer Paare (IP-Adresse/Portnummer) besteht.der Zustand einer Verbindung wird durch den "Transmission Control Block" (TCB, nicht zu verwechseln mit dem "Task Control Block des Betriebssystems) gesteuert. Der TCB wird beim Aufbau einer Verbindung erzeugt, während der Dauer der Verbindung modifiziert, und beim Abbau der Verbindung wieder gelöscht. Datagram Sockets (SOCK_DGRAM) für verbindungslose, nicht-garantierte Nachrichtenübertragung. Werden im Internet-Bereich durch das UDP Protokoll unterstützt. UDP betrachtet einen Port als eine FIFO Warteschlange, in die es IP Datagramme überträgt. Raw Sockets (SOCK_RAW) greifen direkt auf untere Ebenen der Netzwerkarchitektur zu. Sie ermöglichen Eigenentwicklungen von Transportmechanismen. Beispiel: Light Weight Sockets für Switch gekoppelte Parallelrechner. cs 0210 ww6 wgs 05-94

Einfache Client/Server-Transaktion Client Server Warten auf Bereitstellung Verbindung mit des Kommunikadem Server tions-mediums Ankoppeln an das Medium Ankoppeln an das Medium Anfrage absenden Anfrage empfangen Warten auf Antwort Anfrage bearbeiten Antwort empfangen Verbindung lösen Antwort absenden Verbindung lösen sc 0219 wgs 09-00

Client Server socket (..) bind (..) recvfrom (..) socket (..) blockiert sendto (..) blockiert recvfrom (..) sendto (..) close (..) close (..) Verbindungsunabhängiges Socketprotokoll cs 0215x ww6 wgs 10-96

Befehl 1. Socket erzeugen socket (... (Datenstruktur innerhalb des Adressenraums Datenbereich des Betriebssystems) 2. Socket mit einem nach außen bind (... sichtbaren Namen versehen (mit einer TSAP Adresse) * 3. Warteschlange erstellen, um listen (... eingehende Nachrichten zu speichern 4. Auf Nachricht warten. Socket accept (... Deskripter an child process weitergeben 5. Verbindung zwischen connect (... 2 Sockets herstellen 6. Daten senden, emfangen send (... recv (... 7. Beenden close (... Socket Transportdienst Aufrufe * Nachdem dies geschehen ist, kann der Name bekanntgegeben bzw. verteilt werden vs0943 ww6 wgs 10-96

Client Server socket bind socket listen connect send recv TCP 3-way handshake accept recv send close close Verbindungsabhängiges Socketprotokoll cs 0212 ww6 wgs 10-96

wgs 05-96 Server Server- Client- Server- Clientadresse adresse adresse adresse Server- Client- Server- Clientport port port Port aktiver aktiver Serversocket x Serversocket y Serveradresse Client Server-? port passiver Server Socket Server- Client- Server- Clientadresse adresse adresse adresse Servert- Client- Server-- Clientport port port Port Clientsocket Clientsocket Client I Client II cs 0214x ww6 wgs 08-97

cs 0216 ww6 wgs 09-00

Resolver Routine für die Umsetzung von Host-Namen und IP- Adressen gethostbyname (... ) gethostbyadress (... ) IP-Adresse eines Host-Namens wird ermittelt Host-Name einer IP-Adresse wird ermittelt gethostbyname (... ) durchsucht Tabelle /etc/hosts nach verschiedenen Kriterien. Liefert Struktur struct hostent {... Umsetzung dieser Information ist Aufgabe der Anwendung cs 0726 ww6 wgs 07-96

cs 0217 ww6 wgs 09-00

statt listen (r_sd, 5) besser if (listen (r_sd, 5) = = -1) { perror ("listen"); exit (1); } vs0909 ww wgs 05-95

Sequentieller Serverbetrieb Client A Client B Server sock_init() sock_init() sock_init() s=socket() s=socket() s=socket() bind() bind() bind() /*optional*/ /*optional*/ listen() t=accept() connect() send(s,...) recv(s,...) soclose(s) connect() send(s,...) recv(s,...) soclose(s) recv(t,...) send(t,...) soclose(t) t=accept() recv(t,...) send(t,...) soclose(t)

Paralleler Server sock_init() s=socket() bind() listen() t=accept() DosCreateThread() recv(t,...) DosWaitThread() send(t,...) soclose(t) DosExit() soclose(s)

Socket Implementierungen Teil des Kernels in BSD Andere UNIX Systeme, MS-DOS, Windows, MAC-OS, OS/2 beinhalten Sockets als Bibliotheken WinSock Multivendor API, normiert die Verwendung von TCP/IP unter Windows css0414 ww6 wgs 12-96

Transport Layer Interface TLI Von AT&T entwickelte Alternative zur Socketschnittstelle Ähnlich der Socketschnittstelle Auch für andere Schicht-4-Protokolle verfügbar Modern, sauber, transparent Sockets werden häufiger verwendet als TLI Nachrichten werden (im Gegensatz zur Socketschnittstelle) unmittelbar in Segmente umgesetzt. css0213 ww6 sch 10-96

Flushed or Blocking cs 0203 ww6 wgs 11-96