Rechnerkommunikation. Sommersemester Jörg Roth

Größe: px
Ab Seite anzeigen:

Download "Rechnerkommunikation. Sommersemester 2014. Jörg Roth"

Transkript

1 Rechnerkommunikation Sommersemester 2014

2 Rechnerkommunikation Prof. Dr. habil. TH Nürnberg Fakultät Informatik Keßlerplatz Nürnberg Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Autors urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die hier verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme wurden mit größter Sorgfalt kontrolliert. Der Autor kann jedoch nicht für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieser Publikation stehen. 2

3 Inhalt Kapitel 1: Einleitung... 4 Kapitel 2: Transportprotokolle des Internets Kapitel 3: Grundlagen der Anwendungskommunikation Kapitel 4: Entfernte Aufrufe und Webservices Kapitel 5: Peer-to-Peer-Netzwerke Kapitel 6: Sicherheit Kapitel 7: Namen Kapitel 8: Darstellung von Daten Kapitel 9: Konsistenz verteilter Daten Übungsaufgaben

4 Rechnerkommunikation SS 2014 Kapitel 1 Einleitung Übersicht über die Vorlesung Zwei Verlesungen befassen sich mit Rechnernetzen und Kommunikation: Kapitel 1, Folie 2 4

5 Übersicht über die Vorlesung Kapitel 2: Transportprotokolle des Internets Kapitel 3: Grundlagen der Anwendungskommunikation Kapitel 4: Entfernte Aufrufe und Webservices Kapitel 5: Peer-to-Peer-Netzwerke Kapitel 6: Sicherheit Kapitel 7: Namen Kapitel 8: Darstellung von Daten Kapitel 9: Konsistenz verteilter Daten A B C E D F F E D C B A Kapitel 1, Folie 3 Literatur Peterson L. L.; Davie B. S: Computernetze, dpunkt, 2007 Lienemann G., Larisch D.: TCP/IP - Grundlagen und Praxis, heise, 2011 Tanenbaum A. S., van Steen M.: Verteilte Systeme, Pearson, 2007 Coulouris G.: Distributed Systems: Concepts and Design, Pearson, 2009 Haase O.: Kommunikation in verteilten Anwendungen, Oldenbourg, 2008 Dunkel J., Eberhart A., Fischer S., Kleiner C., Koschel A.: Systemarchitekturen für Verteilte Anwendungen, Hanser, 2008 Roth J.: Mobile Computing, dpunkt, 2005 Roth J.: Prüfungstrainer Rechnernetze, Vieweg+Teubner, 2010 (Lösung der Übungsaufgaben bis Aufgabe 71) Kapitel 1, Folie 4 5

6 Kapitel 1: Einleitung Ziel: Einleitung und Motivation zu dem Gebiet der Rechnerkommunikation Motivation Themen und Probleme Beispiele Kapitel 1, Folie 5 Themen und Problemstellungen Anwendungsnahe Kommunikation: Wunsch: Komfort bei der Anwendungsentwicklung Heterogenität verschiedener Umgebungen (Prozessor, Betriebssysteme, Endgerätetypen etc.) Verteiltes "Denken" zur Problemlösung erforderlich Unterschiede zu Ein-Rechner-Entwicklung: kein gemeinsamer Speicher, Aufrufe dauern länger Verschiedene Paradigmen: Sockets, entfernte Aufrufe, mobiler Code Verschiedene Architekturen: Client-Server, Peer-to-Peer Kapitel 1, Folie 6 6

7 Themen und Problemstellungen Sicherheit: Ein wichtiger Aspekt gemessen an der öffentlichen Aufmerksamkeit vielleicht sogar der wichtigste für bestimmte Anwendungsszenarien Verteilte (potenziell offene) Systeme sind Ziel von Sicherheitsangriffen Angriffe: Passives Lesen vertraulicher Daten, Verändern von Daten, Denial-of-Service Sicherheit kann nicht allein technologisch betrachtet werden ("Post-It mit Kennwort am Rechner") Kapitel 1, Folie 7 Themen und Problemstellungen Betreff: Update der Programmierungshilfen [Nachricht ID: ] Von: Sender: Datum: :43 An: Sehr geehrter Nutzer der Sparkasse, Unterstützungsdienste der Sparkasse wickeln ein regelmäßiges Update der Programmierungshilfen für eine mehr sichere Kundenbetreuung der Bank ab. Damit wir die Angabensicherheit des Kunden garantieren könnten, bitten wir Sie die Sparkasse Kundenform ausfüllen. Um die Formausfüllung anzufangen, klicken Sie bitte den Link unten: (Anmerkung: Ziel war Diese Nachricht ist automatisch erschafft worden. Sie brauchen nicht darauf zu antworten. Kapitel 1, Folie 8 7

8 Themen und Problemstellungen Weitere Themen: Anwendungen und Menschen benutzen lieber Namen als Adressen Daten müssen für den Transport zwischen Rechnern geeignet dargestellt werden Verteilte Zugriffe auf gemeinsame Daten müssen konsistent erfolgen Wir beginnen mit einigen Beispielen aus der Welt der anwendungsnahen Rechnerkommunikation Kapitel 1, Folie 9 Erhöhung der Rechengeschwindigkeit Kapitel 1, Folie 10 8

9 Verteiltes Rechnen Kapitel 1, Folie 11 Verteiltes Rechnen Einige Berechnungsaufgaben lassen sich in unabhängige Unteraufgaben zerlegen Aus den einzelnen Resultaten kann eine Gesamtlösung berechnet werden Beispiele: Klimaforschung Klimamodelle sind sehr komplex Riesige Mengen von Einzeldaten Problem kann einfach zerlegt werden (Quelle: Heise Newsticker vom ) Kapitel 1, Folie 12 9

10 Verteiltes Rechnen Seti At Home (Start 1999) Suche nach künstlichen extraterrestrischen Signalen Komplexe Analyse Aufwändige Frequenzanalyse, um natürliche Signale von künstlichen zu unterscheiden Problem leicht zerlegbar (Quelle: nicht mehr verfügbar) Kapitel 1, Folie 13 Verteiltes Rechnen Kapitel 1, Folie 14 10

11 HTTP HTTP ein Protokoll mit vielen Einsatzbereichen Ursprünglich dazu gedacht, im World Wide Web Seiten und Dokumente auf Anfrage zu übertragen Mittlerweile: Basis für verteilte Anwendungsentwicklung mit Webservices Browser/Web-Server/HTTP sind die Anwendungsumgebung für viele netzbasierte Anwendungen vom Webshop zum Lexikon viele Entwicklungsrahmenwerke (z.b. JSF, PHP) Kapitel 1, Folie 15 HTTP Beispiel: TicTacToe mit JavaServer Faces Wichtig: Die Spielelogik läuft hier auf dem Server Nur Benutzungsschnittstelle des Spiels läuft im Browser Viele unterschiedliche Aufteilungen der Zuständigkeiten zwischen Client und Server sind denkbar Kapitel 1, Folie 16 11

12 Web 2.0 Ursprünglich waren die Anbieter von Web-Inhalten Experten: Spezial-Kenntnisse bezüglich Seiten-Formattierung, Zugriffssteuerung, Dateitypen, Dokumentenverwaltung Content Management Systeme (CMS): Organisation und Darstellung von Inhalten auch für nicht-experten Web 2.0: Rollen zwischen Inhalte-Anbieter und Konsument wird nicht mehr klar getrennt: Sozial Networks, Social Media Wikis, Blogs, Foren Tagging alles über HTTP Kapitel 1, Folie 17 Cloud Computing Cloud Computing: Anwendungsdaten werden so abgelegt, dass man mit unterschiedlichen Gerätetypen und über unterschiedliche Netze darauf zugreifen kann Beispiele: Fotos, Audio-Dateien, Kalender Auch möglich: die Anwendungen selbst liegen in der Cloud (z.b. Web-basiert) Vorteil im mobilen Umfeld: Datenübertragung von Endgerät zu Endgerät muss nicht mehr manuell erfolgen Nachteil: private Daten werden weit über das Netzwerk transportiert, die Server-Infrastruktur ist für den Benutzer nicht durchschaubar Kapitel 1, Folie 18 12

13 Smart Phones Eine neue Anwendungsplattform: Smart Phones Nicht alleine ein neues Endgerät: völlig neue Anwendungszenarien neue Geschäftsmodelle Browser typischweise nicht wichtigste Anwendungsumgebung, statt dessen native Apps Apps für alle Lebenslagen Kapitel 1, Folie 19 Smart Phones Smart Phones sind in der Regel nur vernetzt sinnvoll einsetzbar: Cloud Computing für Kalender, , Kontakte Konten werden zentral verwaltet Netzwerk-Dienste Lokationsdienste Such-Assistenten Kartenmaterial, Navigation Kapitel 1, Folie 20 13

14 Ubiquitous Computing Allgegenwärtige Computer, Ubiquitous Computing (Ubicomp) [Weiser 91]: "The idea of integrating computers seamlessly into the world at large runs counter to a number of present-day trends.»ubiquitous computing«in this context does not just mean computers that can be carried to the beach, jungle or airport. Even the most powerful notebook computer, with access to a worldwide information network, still focuses attention on a single box." Kapitel 1, Folie 21 Ubiquitous Computing Mark Weisers Vision: Drei Phasen der Computer-Benutzung: Mainframes (Vergangenheit) PCs (jetzt) Ubiquitous Computing ( ) Computer beanspruchen nicht mehr die volle Aufmerksamkeit des Benutzers Calm Computing, Invisible Computing, Pervasive Computing, Disappearing Computing Kapitel 1, Folie 22 14

15 Groupware Ellis C. A.; Gibbs S. J.; Rein G. L. (1991): Computer based systems, which support groups of people engaged in a common task (or goal) and that provide an interface to a common environment. gleicher Ort räumlich getrennt synchron Telekonferenzen gemeinsames Editieren asynchron Zeit- und Aufgabenmanagement Bulletinboards Workflow-Management Kapitel 1, Folie 23 Groupware Sitzungsunterstützung Übersichtsfunktionen Telepointer Kapitel 1, Folie 24 15

16 Groupware Kapitel 1, Folie 25 16

17 Rechnerkommunikation SS 2014 Kapitel 2 Transportprotokolle des Internets Kapitel 2: Transportprotokolle des Internets Ziel: Möglichkeiten von kommunizierenden Anwendungen auf der Transportschicht des Internets. Transportprotokolle UDP, TCP Fluss- und Überlastkontrolle Aufbau von TCP-Nachrichten TCP-Verbindungsaufbau Kapitel 2, Folie 2 17

18 Neue Anforderungen Was bisher geschah... Wir können IP-Pakete von einem Host über ein Vermittlungsnetzwerk zu einem weit entfernten anderen Host übertragen, ungeachtet der jeweiligen Schicht-2- Netzwerke zwischen den Hosts. Die Übertragung auf jedem einzelnen Hop ist jeweils durch ein Schicht-2-Protokoll gesichert, deshalb dürften eigentlich keine Pakete verloren gehen. Dennoch: Pakete können durch Router-Überlastung verloren gehen. Die Reihenfolge der Pakete kann sich durch unterschiedliche Übertragungswege verändern. Kapitel 2, Folie 3 Neue Anforderungen Wichtige Anforderungen aus der Sicht einer Anwendung (bzw. eines Anwendungsentwicklers) Garantierte Übertragung von Nachrichten Gleiche Reihenfolge beim Empfänger wie beim Sender Unterstützung beliebig großer Nachrichten Unterstützung mehrerer Anwendungsprozesse Flusskontrolle, d.h. Sender stimmt Datenrate auf Empfänger ab Überlastkontrolle, d.h. Sender stimmt die Datenrate auf das Router-Netzwerk ab Kapitel 2, Folie 4 18

19 Neue Anforderungen Wie erfüllen die Internet Transportprotokolle diese Anforderungen: Anforderung Garantierte Übertragung Reihenfolge Beliebig große Nachrichten Mehrere Anwendungsprozesse Flusskontrolle Überlastkontrolle UDP Nein Nein Nein Ja Nein Nein TCP Ja Ja Ja Ja Ja Ja Kapitel 2, Folie 5 Anwendungsmultiplexing Unterstützung mehrerer Anwendungsprozesse pro Host: Man erweitert IP-Pakete um die Funktionalität zu demultiplexen, d.h. um verschieden Prozesse auf einem Host zu adressieren. Denkbar: man identifiziert einen Empfängerprozess anhand seiner Prozess-ID, aber nicht beim Sender bekannt ändert sich beim Neustart der Anwendung Statt dessen: man verwendet eine 16-Bit lange Portnummer. Die empfangende Anwendung bindet sich an eine Portnummer und kann so die Nachrichten für diesen Port empfangen. Kapitel 2, Folie 6 19

20 Ports Problem: wie weiß der Sender, an welchem Port sich eine Anwendung befindet? Well-known-Ports: für wichtige Dienste gibt es bekannte Portnummern, z.b. Port 20,21/tcp 22/tcp 23/tcp Dienst FTP ssh telnet Port 25/tcp 53/tcp/udp 69/udp Dienst SMTP DNS tftp Port 80/tcp 119/tcp 513/udp Dienst HTTP NNTP who Ansonsten verwendet die Anwendung einen freien Port und kodiert diesen fest oder die Anwendungen vereinbaren über einen festen Port, über welchen Port sie weiter arbeiten sollen oder die Anwendung testet einige Ports, bis sie verbunden wird Kapitel 2, Folie 7 Ports Mittlerweile sind Ports bis von der IANA definiert Kapitel 2, Folie 8 20

21 UDP User Datagram Protocol (UDP): Telegramm-orientiert, d.h. Übertragung nur in eine Richtung (eventuelle Rücksendung ist ein eigener Vorgang) keine Zustellungsgarantie keine Quittung der Sender weiß nicht, ob ein Paket angekommen ist UDP ist geeignet für bestimmte Anwendungen: verbindungslos Nachrichten dürfen verloren gehen Z.B. Audio- oder Video-Übertragung, Suchanfragen im lokalen Netz Kapitel 2, Folie 9 TCP TCP (Transmission Control Protocol): Multiplexen verläuft analog zu UDP Zuverlässige, bidirektionale Byte-Streams Kumulative Quittungen, Sliding Windows Pakete in falscher Reihenfolge werden gepuffert, bis die Sendereihefolge hergestellt werden kann. Fluss- und Überlastkontrolle Empfänger sendet auf dem Rückkanal die maximale Anzahl der Bytes bis zum Pufferüberlauf. Sender tastet sich an die Überlastsituation (Pufferüberlauf der Router) heran. Kapitel 2, Folie 10 21

22 TCP Kapitel 2, Folie 11 TCP Wie werden TCP-Segmente aus dem Byte-Strom gebildet? Es wurden genug Bytes gepuffert, um ein TCP-Segment ohne IP-Fragmentierung zu versenden. Die Anwendung wünscht explizit, die bisher gepufferten Bytes zu versenden (flush). Periodischer Timer TCP verwendet das Sliding-Window-Verfahren bekannt aus der Schicht-2 zur Sicherung der Punkt-zu- Punkt-Übertragung Kapitel 2, Folie 12 22

23 TCP Unterschiede von Sliding Window auf Schichten 2 und 4: Schicht 4 erfordert Verbindungsauf- und -abbau, während bei der Schicht-2-Verbindung zwischen zwei Computern die Verbindung implizit definiert ist. Die Round-Trip-Zeit schwankt bei Schicht 4 sehr stark, während sie auf Schicht 2 im Wesentlichen konstant ist. Auf Schicht 4 können Pakete umgeordnet werden bei Schicht-2-Verbindungen ist das (meistens) nicht möglich. Ressourcen, insb. Puffergrößen, sind variabel auf Schicht 4 und können sich zur Laufzeit ändern. Überlastungen auf Schicht 4 betreffen Router auf Schicht 2 betrifft die Überlastung lediglich eine Direktverbindung, wird somit auf Senderseite erkannt. Kapitel 2, Folie 13 TCP Konsequenz: TCP muss viel über die Verbindung zur Laufzeit lernen, während auf Schicht-2 die Optimierungen a priori vorgenommen werden können. Realisierung des TCP-Sliding-Window-Verfahrens: TCP-Sender und -Empfänger verwenden Buffer. Die sendende Anwendung schreibt i.d.r. unblockierend in den Sendepuffer. Analog kann die empfangende Anwendung unblockierend aus dem Empfangspuffer lesen, wenn Daten vorliegen. Kapitel 2, Folie 14 23

24 TCP Sliding Window MaxSendBuffer gepufferte Bytes Sendender Anwendungsprozess gesendete, unbestätigte Bytes gesendete, bestätigte Bytes gesendete, unbestätigte Bytes LastByteAcked LastByteSent LastByteWritten von der Anwendung geschriebene, ungesendete Bytes TCP-Verbindung MaxRcvBuffer gepufferte Bytes von der Anwendung gelesene Bytes empfange Bytes Empfangender Anwendungsprozess LastByteRead NextByteExpected LastByteRcvd Kapitel 2, Folie 15 TCP Flusskontrolle Der Empfänger sendet bei jedem empfangenen TCP- Segment eine Antwort mit Acknowledge: bis zu welchem Byte wurde eine ununterbrochene Folge empfangen (kumulatives ACK) AdvertisedWindow: wie viele Bytes kann der Empfänger noch empfangen, bevor der Puffer überläuft TCP Segment Acknowlege=x AdvertisedWindow=y Kapitel 2, Folie 16 24

25 TCP Flusskontrolle Der Empfänger berechnet nach jedem Empfang AdvertisedWindow = MaxRcvBuffer (LastByteRcvd LastByteRead) MaxRcvBuffer AdvertisedWindows gepufferte Bytes LastByteRead NextByteExpected LastByteRcvd So viele Bytes kann der Empfänger noch puffern, wenn die Anwendung nicht weitere Bytes konsumiert. Kapitel 2, Folie 17 TCP Flusskontrolle Der Sender darf nur soviel senden, damit gilt LastByteSent LastByteAcked AdvertisedWindow anders ausgedrückt: er kann noch EffectiveWindow=AdvertisedWindow (LastByteSent LastByteAcked) senden EffectiveWindow AdvertisedWindow gesendet, unbestätigt Kapitel 2, Folie 18 LastByteAcked LastByteSent 25

26 TCP Flusskontrolle EffectiveWindow kann auch 0 sein Der Sender darf erstmal nichts senden. Schreibt die sendende Anwendung ständig weiter in den Puffer, wird dieser irgendwann voll. Ist der Sendepuffer voll, wird die Anwendung beim nächsten Schreiben solange blockiert, bis wieder Pufferplatz frei ist. Problem: neue AdvertisedWindow-Werte kommen nur vom Empfänger als Antwort auf ein TCP-Segment Der Sender versucht periodisch, ein einziges Byte zu senden (auch wenn er eigentlich nicht dürfte), bis EffectiveWindow>0 Grundregel: smart sender/dump receiver Kapitel 2, Folie 19 TCP Neuübertragung Geht ein TCP-Segment verloren, sollte es möglichst schnell erneut gesendet werden. Grundlage zur Berechnung des Timeouts: die Round- Trip-Zeit (RTT) zwischen Sender und Empfänger. Hierzu wird die Zeit zwischen Senden eines TCP-Segments und Eintreffen des betreffenden ACKs gemessen. Erster Ansatz: man berechnet einen gleitenden Durchschnitt vergangener RTT-Zeiten RTT = RTT. a + RTT last. (1 a) (a= ) und setzt den Timeout auf 2. RTT Problem: sendet man ein TCP-Segment zweimal, kann man das ACK nicht mehr der Sendung zuordnen in solchem Fall setzt man die Messung aus Kapitel 2, Folie 20 26

27 TCP Neuübertragung Weiteres Problem: die 2. RTT sind häufig zu großzügig hat man eine weitgehend konstante RTT, so wird in der Regel zu lange gewartet bis ein Segment neu übertragen wird. Lösung von Jacobson/Karels RTT wird wie bisher berechnet Zusätzlich wird der gleitende Durchschnitt der Abweichung von RTT und letzter Messung berechnet RTT = RTT. a + RTT. last (1 a) Deviation = Deviation. a + RTT last RTT. (1 a) Timeout = RTT + 4. Deviation (a=7/8) (a=7/8) Kapitel 2, Folie 21 TCP Überlastkontrolle Bisher wurde nur die Flusskontrolle betrachtet ein Empfänger kann die Datenrate beim Sender so drosseln, dass der Empfangspuffer nie überläuft. Notwendig ist jedoch auch eine Überlastkontrolle (Congestion Control): diese stellt sicher, dass die Übertragungswege, insb. die Router nicht überlastet werden. Problem: im Gegensatz zum Empfänger geben die Router eine drohende Überlastung nicht an. Der Sender passt sich dynamisch an eine Überlastsituation an und berechnet ständig einen Wert CongestionWindow Kapitel 2, Folie 22 27

28 TCP Überlastkontrolle Anpassung der Formel für das EffectiveWindow (Anzahl Bytes, die noch unbestätigt versendet werden dürfen). MaxWindow = min(congestionwindow, AdvertisedWindow) EffectiveWindow = MaxWindow (LastByteSend LastByteAcked) Der Wert CongestionWindow (Überlastfenster) gibt an, wie viele Bytes unbestätigt versendet werden dürfen, bis eine Überlastung droht. Berechnung von CongestionWindow über Additive Increase/Multiplicative Decrease in den folgenden Ausführen nehmen wir vereinfachend die Anzahl der Pakete, statt die Anzahl der Bytes Kapitel 2, Folie 23 TCP Überlastkontrolle Start: CongestionWindow = 1 Wenn alle Pakete im CongestionWindow positiv bestätigt wurden: CongestionWindow = CongestionWindow + 1 (Additive Increase) Wenn ein Paket im CongestionWindow verloren gegangen ist (erkannt durch Timeout): CongestionWindow = CongestionWindow / 2 (Multiplicative Decrease) Kapitel 2, Folie 24 28

29 TCP Überlastkontrolle Sender Additive Increase Empfänger Multiplicative Decrease Sender Empfänger Paket Bestätigung Kapitel 2, Folie 25 TCP Überlastkontrolle Der Sender tastet sich langsam an die Überlastgrenze heran und reduziert dann drastisch das Überlastfenster bei Überlastung: typische TCP-Verbindung Überlastfenster Zeit Warum die drastische Senkung? Überlast ist viel schlimmer als ein zu kleines EffectiveWindow. Würde man die Überlast durch Additive Decrease verringern, würde die Überlastsituation kaum beseitigt werden. Kapitel 2, Folie 26 29

30 TCP Überlastkontrolle, Slow Start Am Anfang einer Sitzung ist das Additive Increase zu langsam. Slow Start erhöht das Überlastfenster multiplikativ bei Erfolg wird es verdoppelt. Sender Slow Start wird angewendet direkt nach dem Sitzungsaufbau jedes Mal, nachdem eine Sitzung "abgestorben" ist, d.h. die Datenrate auf 0 gesunken ist Warum "slow"? Historisch: Vorher verwendete man nur das AdvertisedWindow des Empfängers Slow Start ist da viel langsamer Paket Bestätigung Empfänger Kapitel 2, Folie 27 TCP Überlastkontrolle Fast Retransmission Der Sender kann durch Timeout feststellen, dass ein Segment nicht zugestellt wurde. Andere Möglichkeit: Auswerten der kumulativen ACKs zu nachfolgenden Segmenten. Beispiel: wird 1, 2, 3, 4, 5 gesendet und kommt ACK(1), ACK(2), ACK(2), ACK(2) zurück, so ging wahrscheinlich Segment 3 verloren die ACK(2) heißen hier Duplikat-ACKs TCP Fast Retransmission wartet drei Duplikat-ACKs ab, bis es das Segment erneut sendet Warum nicht nur zwei Duplikat-ACKs? Das Segment könnte ja auf einem "langsamen Weg" unterwegs sein Kapitel 2, Folie 28 30

31 Aufbau von TCP-Nachrichten Kapitel 2, Folie 29 Aufbau von TCP-Nachrichten SrcPort, DstPort: Felder für das Multiplexen. Zusammen mit den IP-Adressen des IP-Pakets (SourceAddr, DestinationAddr) wird damit eindeutig eine Verbindung identifiziert. SequenceNumber: Byte-Nummer der Nutzdatenbytes im gesamten Datenstrom (mod 2 32 ) Acknowledgement, AdvertisedWindow: Felder zur Flusskontrolle in die Rückrichtung HdrLen: Länge des TCP-Headers in 32-Bit-Blöcken Checksum: Prüfsumme von Header und Daten Kapitel 2, Folie 30 31

32 Flags: Aufbau von TCP-Nachrichten SYN: Aufbau einer Verbindung FIN: Normales Beenden einer Verbindung RESET: Aktives Beenden der Verbindung wegen Problemen PUSH: Daten sollen sofort unter Umgehung des Empfangspuffers an die Anwendung gesendet werden URG: Selten verwendet: die Daten, auf die UrgPtr zeigt, müssen sofort von der Anwendung gelesen werden (analog zu einem Interrupt) ACK: Das Feld Acknowledgement wird verwendet UrgPtr: Wenn URG in Flags gesetzt: dringende Daten Optionen: Liste variabler Länge Kapitel 2, Folie 31 Aufbau von TCP-Nachrichten Optionen TCP-Optionen: HdrLen ist meistens 5 (entspricht 20 Bytes, keine Optionen). Wenn HdrLen>5 gibt es Optionen. Der Maximalwert von HdrLen (4 Bits) ist 15. Damit können maximal (15-5) 4 Bytes=40 Bytes Optionen vorkommen. Restriktionen: alle Optionen zusammen müssen ein Vielfaches von 4 Bytes (32 Bits) lang sein (ggfs. mit 0 aufgefüllt) jede Option muss ein Vielfaches von 1 Byte (8 Bits) lang sein Format: KindNr (1 Byte), Länge (1 Byte), Inhalt Kapitel 2, Folie 32 32

33 Aufbau von TCP-Nachrichten Optionen Beispiel TCP-Selective ACKs Während des Verbindungsaufbaus erlaubt ein Partner dem anderen das Quittieren mit Selective Acks (KindNr=4). Selective Acks (KindNr=5) KindNr Bedeutung Keine weitere Optionen mehr Erlaube Selective Acks Selective Ack Blöcke von bis Maximale Anzahl n=4 (ergibt sich aus der Maximalgröße von 40 Bytes für Optionen) 0 31 Length KindNr=5 SequenceNumberFrom1 (n 8+2) SequenceNumberFrom1 (Fortsetzung) SequenceNumberTo1 (Fortsetzung)... SequenceNumberTo1... SequenceNumberFromn SequenceNumberFromn (Fortsetzung) SequenceNumberTon SequenceNumberTon (Fortsetzung) Kapitel 2, Folie 33 TCP-Pseudo-Header Prüfsumme der TCP-Nachricht: Aus Sicht der Anwendung bestehen Endpunkte neben den Ports auch aus den IP-Teilnehmern, repräsentiert durch deren IP-Adressen IP-Adressen sind Bestandteil der IP-Header, also "außerhalb" der TCP-Nachricht Änderungen der IP-Adressen beim Transport wären ein Problem für die TCP-Verbindung Lösung: die TCP-Checksumme berücksichtigt auch einige Felder des IP-Pakets Eine Verletzung der Ebenen-Trennung Die Felder aus dem IP-Paket werden TCP-Pseudo- Header genannt Kapitel 2, Folie 34 33

34 TCP-Pseudo-Header Version HLen TOS Length Ident Flags Offset TTL Protocol Checksum SourceAddr DestinationAddr TCP-Pseudo-Header SourceAddr DestinationAddr Optionen (variabel) Füllbits Protocol (=6) TCP-Length (Header & Daten des TCP- Segments, kein Feld, sondern berechnet) IP SrcPort DstPort TCP SequenceNumber Acknowledgement HdrLen 0 Flags AdvertisedWindow Checksum UrgPtr Optionen (variabel) Prüfsumme von - TCP-Pseudo-Header - TCP-Header - TCP-Daten Daten Kapitel 2, Folie 35 TCP-Verbindungsaufbau Ziel des Verbindungsaufbaus: Beide Seiten sollen sich einige darüber sein, dass eine Verbindung besteht. Vereinbaren der Sequenznummern der Nachrichten: Das Sliding-Window-Verfahren verlangt, dass die Reihenfolge der Nachrichten und die Vollständigkeit über Sequenznummern geregelt wird. Diese Sequenznummern sind fortlaufend, die Startnummer ist aber beliebig sie sollte möglichst zufällig sein. Da Sequenznummern mod 2 32 gerechnet werden, kann jede Startnummer aus ausgewählt werden. Während des Verbindungsaufbaus teilt jeder Partner die Startnummer mit. Kapitel 2, Folie 36 34

35 Three-Way-Handshake: TCP-Verbindungsaufbau Kapitel 2, Folie 37 Ende der Verbindung Das Ende der Verbindung kann von jedem der beiden Partner separat angekündigt werden. Wenn ein Partner eine Verbindung beendet, kann der andere weiter senden. Man spricht dann von einer halboffenen Verbindung. Möglichkeiten der Beendigung: Four-Way-Handshake: jeder beendet die Verbindung separat (dazwischen: halboffene Verbindung) Three-Way-Hanshake: der zweite Partner stimmt einer Beendigung zu, FIN und ACK werden in einer Nachricht versendet. Kapitel 2, Folie 38 35

36 Ende der Verbindung Four- und Three-Way-Handshake: Timeout Timeout Kapitel 2, Folie 39 36

37 Rechnerkommunikation SS 2014 Kapitel 3 Grundlagen der Anwendungskommunikation Kapitel 3: Grundlagen der Anwendungskommunikation Ziel: Möglichkeiten von kommunizierenden Anwendungen auf der Transportschicht des Internets. Abstraktionen zur Anwendungskommunikation Sockets Beispiele von Anwendungsprotokollen SMTP, HTTP Protokolle auf der Basis von HTTP Kapitel 3, Folie 2 37

38 Abstraktionen Entwickler müssen auf Kommunikationseinrichtungen zugreifen können Application Programming Interface (API) Z.B. C: Header-Dateien und C-Libraries Klassenbibliothek Z.B. Java-Packages Abstraktionen: Anwendungsentwickler können nur lokale Entitäten (Variablen, Instanzen) modifizieren, bzw. lokale Prozeduren oder Methoden aufrufen Zugriff auf Kommunikationseinrichtungen über "Abstraktionen" Kapitel 3, Folie 3 Beispiele für Abstraktionen: Datagramme: Abstraktionen Unidirektionale Paketversendung, Keine Garantien für Ankunft, Sender kann nicht ermitteln, ob Daten angekommen sind Prominentester Vertreter: UDP Operationen: send(bytes), receive(bytes) Streams: Bidirektionale Datenströme, hohe Verlässlichkeit Prominentester Vertreter: TCP Operationen: write(bytes), read(bytes) Kapitel 3, Folie 4 38

39 Entfernter Prozeduraufruf: Abstraktionen Aus der Sicht des Anwendungsentwicklers wird eine lokale Prozedur aufgerufen Der Aufruf wird jedoch "verpackt" und eine entsprechende Prozedur auf einem anderen Rechner aufgerufen Der Aufrufer wird solange blockiert, bis der Rückgabewert zurücktransportiert wurde Kommunikationsaspekte werden weitgehend vom Aufrufer fern gehalten Operationen: resultat=procedureaufruf(parameterliste) Kapitel 3, Folie 5 Abstraktionen Entfernte Objekte: Die objektorientierte Variante vom entfernten Prozeduraufruf Die Anwendung beschafft sich eine Objektreferenz auf das entfernte Objekt Aus der Sicht der Anwendung, ein lokaler Aufruf Operationen: resultat=objekt.methode(parameterliste) Variante: Multicast-Aufruf ein Aufruf mehrere Ausführungen Kapitel 3, Folie 6 39

40 Mobiler Code, Agenten: Abstraktionen Die "Aufgabe" wird als ausführbarer Code formuliert, der zum Zielsystem übertragen wird Vorteil: das Zielsystem muss nicht für die spezielle Aufgabe vorbereitet werden, sondern muss lediglich eine allgemeine Ausführungsplattform bereitstellen Nachteil Sicherheitsproblematik: - Mobiler Code kann Ressourcen des Zielsystems beanspruchen (Speicherplatz, CPU-Zyklen) - Schlimmer: der mobile Code kann das Zielsystem infiltrieren (Viren) - Lösung: Sandbox (z.b. bei Web-Browsern) Kapitel 3, Folie 7 Beispiele Abstraktion Datagramme Streams Entfernter Prozeduraufruf Entfernter Objektaufruf Mobiler Code Programmierung klassisch objektorientiert Sockets SUNs RPC CORBA Sockets, Pipes CORBA, Java RMI Postscript JavaScript, Java- Applets, Flash, mobile Agenten leider auch: Viren - Kapitel 3, Folie 8 40

41 Sockets Für viele Anwendungen reicht ein Zugriff auf Layer-4- Mechanismen zur Kommunikation aus. Für die Abstraktionen Streams und Datagramme: Das Betriebssystem verwaltet so genannte Sockets um Endpunkte einer UDP- oder TCP-Kommunikation im Speicher einer Anwendung darstellen zu können Rollen: initiierender (typischerweise "Client") und reagierender Kommunikationspartner (typischerweise "Server") Varianten: UDP-Socket TCP-Client und -Server-Socket Multicast-Sockets (für Multicast IP) Kapitel 3, Folie 9 Sockets Sockets abstrahieren von der darunter liegenden Kommunikationsschicht. Einmal eingerichtet, verwendet man dieselben Operationen für z.b. TCP/IP, IrDA (Infrarot), oder Bluetooth (Funk) Weit verbreitet: BSD-Sockets (Berkley Software Distribution) Eng verknüpft mit der Programmiersprache C Entsprechende Funktionen werden unter Windows als Winsock-API angeboten Kapitel 3, Folie 10 41

42 BSD-Socket BSD-Socket-Aufrufe: s=socket(protfamiliy, type, protocol); Einrichten eines Sockets protfamily: Protokolldomäne: #define AF_UNIX 1 /* Unix domain sockets */ #define AF_INET 2 /* Internet IP Protocol */ #define AF_IPX 4 /* Novell IPX */ #define AF_APPLETALK 5 /* AppleTalk DDP */ #define AF_INET6 10 /* IP version 6 */ #define AF_IRDA 23 /* IRDA sockets */ #define AF_BLUETOOTH 31 /* Bluetooth sockets */ type: Stream (SOCK_STREAM) oder Datagramm (SOCK_DGRAM) protocol: zusätzliche Unterscheidung zu type Kapitel 3, Folie 11 close(s); BSD-Socket Freigeben der Socket-Struktur beim Betriebssystem bind(s, localaddr, addrlen); Nur für den reagierenden Teilnehmer: Binden des Sockets an eine bestimmte Portnummer listen(s, queuesize); Nur für den reagierenden Teilnehmer: Konfigurieren des Sockets als reagierender Socket queuesize: wie viele eingehende Verbindungen werden gepuffert Kapitel 3, Folie 12 42

43 BSD-Socket s2=accept(s, client_addr, client_addrlen); Nur für den reagierenden Teilnehmer: warten auf eingehende Verbindungen Blockiert solange, bis ein initiierender Rechner ein connect auf den entsprechenden Port durchgeführt hat client_addr: Angaben über den initiierenden Rechner s2: Socket-Descriptor für die weitere Kommunikation mit dem reagierenden Rechner Während man über s2 kommuniziert, kann die Anwendung schon wieder ein neues accept auf s durchführen eine Anwendung kann so mehrere eingehende Verbindung an demselben Port behandeln (notwendig z.b. bei Web- Servern) Kapitel 3, Folie 13 BSD-Socket connect(s, server_addr, server_addrlen); Nur für den initiierenden Teilnehmer: Aufbau einer Verbindung zum reagierenden Rechner server_addr: Adresse und Port des Ziels write(s, buf, length, flags); Beide Teilnehmer: Senden von Bytes read(s, buf, length, flags); Beide Teilnehmer: Empfangen von Bytes Kapitel 3, Folie 14 43

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

Rechnernetze Übung 12

Rechnernetze Übung 12 Rechnernetze Übung 12 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Sie kennen sicherlich sogenannte Web-Mailer, also WWW-Oberflächen über die Sie Emails lesen und vielleicht

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

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

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

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

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

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

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

Netzwerkprogrammierung & Threads

Netzwerkprogrammierung & Threads & Threads Praktikum aus Softwareentwicklung 2 Netzwerp. - 1 & Threads URL, URLConnection, UDP, TCP Threads Parallele Programme, Synchronisation, Netzwerp. - 2 Grundlagen (1/2) Kommunikation zwischen verteilten

Mehr

Referat: Netzwerkprogrammierung in Java

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)

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

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

TCP Sliding Window Protokoll

TCP Sliding Window Protokoll TCP Sliding Window Protokoll Sendende Anwendung Empfangende Anwendung LastByteWritten TCP LastByteRead TCP LastByteAcked LastByteSent NextByteExpected LastByteRcvd Sendepuffer Empfangspuffer p MaxSendBuffer

Mehr

E.1 Object Request Brokers

E.1 Object Request Brokers E Überblick über die 4. Übung E Überblick über die 4. Übung 1 Komponenten eines ORBs Lösungsskizze Aufgabe 2 RPC und ORB Aufrufsemantiken Hinweise Aufgabe 3 Kommunikationsschicht: tauscht Daten zwischen

Mehr

Web-Konzepte für das Internet der Dinge Ein Überblick

Web-Konzepte für das Internet der Dinge Ein Überblick Web-Konzepte für das Internet der Dinge Ein Überblick Samuel Wieland sawielan@student.ethz.ch ETH Zürich Seminar Das Internet der Dinge Historisches Tim Berners-Lee Erster Web-Server Bildquelle: Wikimedia

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

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

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

Rechnernetze I. Rechnernetze I. 9 Anwendungsprotokolle SS 2014

Rechnernetze I. Rechnernetze I. 9 Anwendungsprotokolle SS 2014 Rechnernetze I SS 2014 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 10. August 2015 Betriebssysteme / verteilte Systeme Rechnernetze I (1/13) i Rechnernetze

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

Lehrveranstaltung Rechnernetze Einschub für das Labor

Lehrveranstaltung Rechnernetze Einschub für das Labor Lehrveranstaltung Rechnernetze Einschub für das Labor Sommersemester 2010 Dr. Andreas Hanemann Einordnung der Transportschicht Verbindungen bestehen zwischen zwei Endsystemen Transitnetze bzw. Netzknoten

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

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

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ARCHITEKTUR VON INFORMATIONSSYSTEMEN ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll

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

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

Transportschicht (Schicht 4) des Internet

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)

Mehr

TCP. Transmission Control Protocol

TCP. Transmission Control Protocol TCP Transmission Control Protocol Wiederholung TCP-Ports Segmentierung TCP Header Verbindungsaufbau-/abbau, 3 - WayHandShake Timeout & Retransmission MTU maximum transfer Unit TCP Sicher Verbunden? Individuelle

Mehr

Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 1 Vorbereitung für Praktikum Session 03

Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 1 Vorbereitung für Praktikum Session 03 Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 1 Vorbereitung für Praktikum Session 03 Prof. Dr. Michael Massoth [Stand: 19.10.2011] 3-1 3-2 Vorbereitung auf Praktikum: Versuch 1 Hausaufgabe: Schriftliche

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

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

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

Rechnernetze I. Rechnernetze I. 11 Anwendungsprotokolle SS 2012

Rechnernetze I. Rechnernetze I. 11 Anwendungsprotokolle SS 2012 Rechnernetze I SS 2012 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 23. März 2012 Betriebssysteme / verteilte Systeme Rechnernetze I (1/12) i Rechnernetze

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

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

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

!"# $ % Internet Protokolle: HTTP 1/38

!# $ % Internet Protokolle: HTTP 1/38 !"# $ % Internet Protokolle: HTTP 1/38 1 Themenübersicht Schichtenmodell Gopher /FTP Statistik URL Einleitung Anwendungsablauf Beispiel mit Telnet Request, Response Anfragemethoden header Negotiation Proxyserver

Mehr

Hauptdiplomklausur Informatik März 2002: Internet Protokolle

Hauptdiplomklausur Informatik März 2002: Internet Protokolle Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Professor Dr. W. Effelsberg Hauptdiplomklausur Informatik März 2002: Internet Protokolle Name:... Vorname:...

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

Client Server -Anwendungen mit UML und Java

Client Server -Anwendungen mit UML und Java 3. Informatiktag NRW Client-Server mit UML und Java - 1/40 29.3.2004 Client Server -Anwendungen mit UML und Java 3. Informatiktag NRW 29.3.04 Barbara Leipholz-Schumacher Euregio-Kolleg, Würselen 3. Informatiktag

Mehr

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

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn 2.3 Applikationen Telnet, FTP, Rlogin Carsten Köhn Protokolle: TCP/IP Application umfasst Dienste, die als Prozesse des Betriebssystems ausgeführt werden SMTP, FTP, HTTP, MIME Transport regelt die Kommunikation

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

2 Verbindungslose Kommunikation mit UDP

2 Verbindungslose Kommunikation mit UDP 2 Verbindungslose Kommunikation mit UDP Das User Datagram Protocol (UDP) stellt grundlegende Funktionen zur Verfügung, um mit geringem Aufwand Daten zwischen kommunizierenden Prozessen austauschen zu können.

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen 2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen Dienste des Internets Das Internet bietet als riesiges Rechnernetz viele Nutzungsmöglichkeiten, wie etwa das World

Mehr

IPv4 - Internetwork Protocol

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

Mehr

Internetprotokoll TCP / IP

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

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

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

Rechnernetze I SS 2014. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 9.

Rechnernetze I SS 2014. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 9. echnernetze I SS 2014 oland Wismüller Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 9. Mai 2014 oland Wismüller Betriebssysteme / verteilte Systeme

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

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Beispiel Time Client/Server

Beispiel Time Client/Server Beispiel Time Client/Server /** * * Programmbeschreibung: * --------------------- * Dieses Programm ermittelt über eine TCP/IP-Verbindung die Uhrzeit eines * entfernten Rechners, wobei es sowohl die Rolle

Mehr

Vorlesung SS 2001: Sicherheit in offenen Netzen

Vorlesung SS 2001: Sicherheit in offenen Netzen Vorlesung SS 2001: Sicherheit in offenen Netzen 2.1 Internet Protocol - IP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik, Trier Prof. Dr. sc. nat. Christoph Meinel,

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

Client-Server-Prinzip

Client-Server-Prinzip Client-Server-Prinzip Kommunikation im Internet erfolgt nach dem Client-Server-Prinzip: Client sendet eine Anfrage (fordert eine Dienstleistung an) Server sendet die Antwort (bietet eine Dienstleistung

Mehr

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11 Vorwort.................................................... 5 Vorwort zur deutschen Übersetzung........................... 11 1 Einführung................................................ 23 1.1 Einführung................................................

Mehr

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL TCP/IP: Standard Protokolle Konrad Rosenbaum, 2006/7 DNS - Domain Name System hierarchische, global verteilte Datenbank löst Namen in IP-Adressen auf Host hat einen primären Nameserver, der Fragen selbst

Mehr

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht Themen Anwendungsschicht DNS HTTP Anwendungsschicht OSI-Schicht 7, TCP/IP-Schicht 4 Dienste für den Nutzer/Anwender Unabhängig von den niederen Schichten Verschiedene Dienste bzw. Services DNS HTTP FTP,

Mehr

VS4 Slide 1. Verteilte Systeme. Vorlesung 4 vom 29.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS4 Slide 1. Verteilte Systeme. Vorlesung 4 vom 29.04.2004 Dr. Sebastian Iwanowski FH Wedel VS4 Slide 1 Verteilte Systeme Vorlesung 4 vom 29.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

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

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

9RUOHVXQJDo 13.00-14.00 Uhr Hörsaal 2 EG 0006 3UDNWLNXP Do 14.00-16.00 Uhr PC-Labor U1075

9RUOHVXQJDo 13.00-14.00 Uhr Hörsaal 2 EG 0006 3UDNWLNXP Do 14.00-16.00 Uhr PC-Labor U1075 Praxis der Internet-Programmierung mit Java, Apache und XML (JAX) Institut für Informatik Martin.Guggisberg@unibas.ch KWWSMD[QDQRZRUOGRUJ -$9$ ;0/ $3$&+( Organisatorisches =HLWHQ" 9RUOHVXQJDo 13.00-14.00

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen?

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen? E-Mail Nachrichtenübertragung 1 Wie werden Nachrichten Übertragen? Über Protokolle: SMTP (Simple Mail Transfer Protocol) POP3 (Post Office Protocol Version 3) IMAP (Internet Message Access Protocol) 2

Mehr

TCP/IP Protokollstapel

TCP/IP Protokollstapel TCP/IP Protokollstapel IP: Hauptaufgabe ist das Routing (Weglenkung) und Adressierung IP ist ein ungesichertes, verbindungsloses Protokoll Arbeitet auf Schicht 3 UDP: User Datagram Protocol UDP ist ein

Mehr

Low-Level Client-Server Architektur

Low-Level Client-Server Architektur Softwareentwicklung in verteilten Umgebungen Einführung Übung 1 Low-Level Client-Server Architektur Alexander Lex 1 KEINE PLAGIATE! Einzel-Übungen! Eigenständige Arbeit jedes Teilnehmers Weitergabe von

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung Themen Threading Netzwerk Techniken der Projektentwicklung Threading & Netzwerkprogrammierung Ingo Lütkebohle Termin 13 Ingo Lütkebohle Techniken der Projektentwicklung 1 Themen heute Themen Threading

Mehr

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

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

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können. Rechnernetzwerke Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können. Im Gegensatz zu klassischen Methoden des Datenaustauschs (Diskette,

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

Masterkurs Client/Server-Programmierung mit Java

Masterkurs Client/Server-Programmierung mit Java Masterkurs Client/Server-Programmierung mit Java Dietmar Abts Masterkurs Client/Server- Programmierung mit Java Anwendungen entwickeln mit Standard-Technologien 4. Auflage Dietmar Abts FB Wirtschaftswissenschaften

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

Mehr

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

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Informationstechnik für Ingenieure

Informationstechnik für Ingenieure Informationstechnik für Ingenieure Computernetze und Internet Teil 2: Anwendungsschicht Wintersemester 2004/2005 Prof. Dr. Thomas Wieland Übersicht Teil 2 2.1 Internet-Anwendungen 2.2 Protokolle der Anwendungsschicht

Mehr

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm sven@elektro-klemm.de

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm sven@elektro-klemm.de Grundlagen TCP/IP C3D2 Chaostreff Dresden Sven Klemm sven@elektro-klemm.de Gliederung TCP/IP Schichtenmodell / Kapselung ARP Spoofing Relaying IP ICMP Redirection UDP TCP Schichtenmodell Protokolle der

Mehr

TCP/IP. Datenübertragungsschicht Netzwerkschicht Anwendungsschicht

TCP/IP. Datenübertragungsschicht Netzwerkschicht Anwendungsschicht TCP/IP Datenübertragungsschicht Netzwerkschicht Anwendungsschicht 1 Schichtenmodell Schichtenmodell der Internet- Protokollsuite Ziel: Kommunikation unterschiedlicher Rechner mit verschiedenen Betriebssystemen

Mehr

Netzwerkprogrammierung

Netzwerkprogrammierung Netzwerkprogrammierung 1 Netzwerkverbindungen Das Entwurfsziel von Java war: Einfache Verbindung zwischen Rechnern und SetBox-Systemen. Das Standardpaket java.net hilft bei allen Netzwerkverbindungen.

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

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

DV-Praktikum. Probleme mit der Hausaufgabe?

DV-Praktikum. Probleme mit der Hausaufgabe? DV-Praktikum Probleme mit der Hausaufgabe? Internet Was ist das Internet? Internet Was ist das Internet? Das Internet ist eine Infrastruktur; ein globales Netzwerk von Netzwerken und Einzelrechnern, in

Mehr

ECN. Explicit Congestion Notification ECN

ECN. Explicit Congestion Notification ECN Autor: Prof. Dr.-Ing. Anatol Badach Auszug aus dem Werk: Herausgeber: Heinz Schulte WEKA-Verlag ISBN 978-3-8276-9142-2 ECN Explicit Congestion Notification Jedes auf dem Internet Protocol (IP) basierende

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

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

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

Mehr

Internet: Was ist das? - Routing

Internet: Was ist das? - Routing Internet: Was ist das? - Routing Auch Router Server Router Client ClientServer? Grundlagen Internet Sicherheit Angriffe Schutz Internet Map, The Opte Project Internet: Was ist das? - Netzwerk Peer-to-Peer

Mehr

Vorab: Überblick TCP. Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle

Vorab: Überblick TCP. Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle Vorab: Überblick TCP Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle Byteorientiert keine Fragment-/Segmentgrenzen Zuverlässige Datenübertragung Verbindungsorientierte Übertragung

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

Sicheres HTTP. 8. Juni 2004. Proseminar Electronic Commerce und digitale Unterschriften

Sicheres HTTP. 8. Juni 2004. Proseminar Electronic Commerce und digitale Unterschriften Sicheres HTTP 8. Juni 2004 Proseminar Electronic Commerce und digitale Unterschriften Sicheres HTTP HTTP über SSL = sicheres HTTP Überblick HTTP: Protokoll zur Datenübertragung im Internet Klartextprotokoll

Mehr

SMTP-Verfahren POP-Verfahren IMAP-Verfahren

SMTP-Verfahren POP-Verfahren IMAP-Verfahren IT Zertifikat Mailserver 01 Server Mailserver Protokolle Teil des Client-Server-Modells bietet Dienste für lokale Programme/ Computer (Clients) an -> Back-End-Computer Ausbau zu Gruppe von Servern/ Diensten

Mehr

Network Address Translation (NAT) Warum eine Übersetzung von Adressen?

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

Mehr

KONFIGURATION DES MOZILLA E-MAIL CLIENT

KONFIGURATION DES MOZILLA E-MAIL CLIENT KONFIGURATION DES MOZILLA E-MAIL CLIENT Copyright 2004 by 2 ways - media & design, Inh. Lars Plessmann, Paulinenstr. 12, D-70178 Stuttgart. http://www.2-ways.de Lars.Plessmann@2-ways.de Der Mozilla Email

Mehr

Socket-Programmierung (3)

Socket-Programmierung (3) Socket-Programmierung (3) E-Mails versenden Aufgabe: ein Programm schreiben, das E-Mails versenden kann Lernziele: - SMTP Kommandos - Authentifizierung - Passworteingabe (wxwidgets) - SMTP Ergebniscodes

Mehr