Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming.

Ähnliche Dokumente
Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Netzwerk-Programmierung. Netzwerke.

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Programmieren mit sockets

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

Programmierung mit sockets

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

Transportschicht. Einleitung Transmission Control Protocol, RFC793. Transportschicht

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät

Layer 4: Transport Layer

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm

Peer-to-Peer- Netzwerke

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

UDP-/ICMP-Erweiterung für fwtest

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

Internetanwendungstechnik. Transportschicht. Gero Mühl

Transportprotokolle. TCP - Transmission Control Protocol

TCP/UDP. Transport Layer

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

UDP User Datagramm Protokoll

Vorlesung 11. Netze. Peter B. Ladkin Sommersemester 2001

Transportschicht (Schicht 4) des Internet

SCHICHTENMODELLE IM NETZWERK

Systeme II. Christian Schindelhauer Sommersemester Vorlesung

7. OSI-Modell als Rollenspiel

UDP-, MTU- und IP- Fragmentierung

Rechnernetze und -Organisation Michael Hutter Karl C. Posch.

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Systeme II 5. Die Transportschicht

Programmieren mit sockets

Rechnernetze Übung 11

11. Foliensatz Betriebssysteme und Rechnernetze

11. Foliensatz Betriebssysteme und Rechnernetze

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle

Grundkurs Routing im Internet mit Übungen

TCP/IP-Protokollfamilie

TCP. Transmission Control Protocol

Explorationsphase Remote Root Exploit Fazit. Die Mitnick Attacke. Einleitung

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 7.

IP-Netzwerke und Protokolle

Das TCP/IP Schichtenmodell

Institut für Informatik der Ludwig-Maximilians-Universität München Prof. Dr. D. Kranzlmüller, Dr. N. gentschen Felde. Probeklausur

Netzwerk Linux-Kurs der Unix-AG

Protokolle und Schichten. Grundlagen der Rechnernetze Einführung 41

Dienste der Transportschicht

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle

Netzwerktechnologien 3 VO

Vorlesung: Netzwerke (TK) WS 2009/10 Kapitel 5 Ende-zu-Ende-Protokolle Session 15

8. TCP-IP Modell als Rollenspiel

Rechnern netze und Organisatio on

Konsequenz für Forwarding Tabellen

Die ITU-T-Empfehlung X.25

Protokollgraph. Host 1. Host 2. Protokoll 2. Protokoll 1. Protokoll 3. Protokoll 4. Grundlagen der Rechnernetze Einführung 46

Die Transportprotokolle UDP und TCP

Übung - Mit Wireshark eine UDP-DNS-Aufzeichnung untersuchen

Stefan Dahler. 1. Konfiguration von Extended Routing. 1.1 Einleitung

Internet Modell. Nothing stated. Bildquelle: Andrew S. Tanenbaum, Computer Networks, Fourth Edition, 2003 Grundlagen der Rechnernetze Einführung 50

Netzwerkprogrammierung

Informations- und Kommunikationssysteme

Internet-Firewalls. Vortrag im Rahmen des Seminars Verschlüsselung und Sicherheit in vernetzten Systemen 29. Juni 2001 von Michael Dirska

TCP/IP Troubleshooting

Transportschicht. Transmission Control Protocol, RFC793. (Fortsetzung TCP)

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

Transportschicht. Transmission Control Protocol (TCP) Zuverlässiger Bytestrom. 9. Kapitel Fragen des Protokolls: Ausgewählte Netzwerkprotokolle

Peer-to-Peer- Netzwerke

Netzwerk Teil 1 Linux-Kurs der Unix-AG

Linux-Netzwerke. Aufbau, Administration, Sicherung. Dr. Stefan Fischer, Ulrich Walther. SuSE PRESS

Verteilte Systeme - Java Networking (Sockets) -

Programmieren mit sockets

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

Themen. Dienste der Transportschicht. 3-Wege-Handshake. TCP-Protokoll-Header. Real-Time-Protocol

TCP-Verbindungen und Datenfluss

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

Vorlesung SS 2001: Sicherheit in offenen Netzen

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

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

Breitband ISDN Lokale Netze Internet WS 2009/10. Martin Werner, November 09 1

Rolf Wanka Sommersemester Vorlesung

Router 1 Router 2 Router 3

Packet Tracer Simulation - TCP-und UDP-Kommunikation

Bibliografische Informationen digitalisiert durch

Adressierung eines Kommunikationspartners in der TCP/IP-Familie

Verteilte Systeme Prof. Dr. Stefan Fischer

Mac Firewall etc. Mark Heisterkamp 10. August Mark Heisterkamp, Mac Firewall etc., 10. August 2009 Seite 1/25

Domain Name Service (DNS)

Grundkurs Computernetzwerke

Netzwerke, Kapitel 3.1

TCP/IP Troubleshooting. Jochen Reinwand RRZE-Kolloquium Praxis der Datenkommunikation 5. November 2014

Netzwerk-Programmierung in C

KN Das Internet

Transkript:

Netzwerk - Programmierung Netzwerke Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de

Übersicht Netzwerk-Protokolle Protokollfamilie TCP/IP Transmission Control Protocol (TCP) erste Schritte mit sockets

vernetzte Rechner Problem: versende Daten von Rechner A zu Rechner B A und B sind (indirekt) durch Netzwerk(e) verbunden Möglichkeiten: ein Protokoll für alles Familie von spezialisierten Protokollen, die aufeinander aufbauen

Netzwerk-Schichten application transport network link ssh,smtp,http TCP, UDP IP

link layer modelliert physikalische Verbindung Hardware-Adressen Daten in Frames empfindlich gegenüber Störungen Prüfsummen Beispiel:,...

network layer modelliert Verknüpfung von mehreren Netzwerken Packets innerhalb von Frames connectionless, unreliable, best effort routing eigener Adressraum Beispiel: Internet Protocol (IP) Domain Name System (DNS) für lesbare Adressen

transport layer demultiplexing, Port-Nummern well known ports, /etc/services User Datagram Protocol (UDP): ähnlich zu IP: Datagramme, connectionless, unreliable Transmission Control Protocol (TCP): Datenstrom Verbindung Zuverlässigkeit durch Quittierverfahren flow control, congestion avoidance

application layer nutzt transport layer TCP oder UDP hängt von Problemstellung ab Programmierschnittstellen: Berkeley sockets X/Open Transport Interface...

encapsulation header IP header TCP header Application header User data trailer

Kommunikation zwischen den Schichten Rechner 1 Rechner 1 application http Http Protokoll http transport TCP TCP-Protokoll TCP network IP IP-Protokoll IP link -Protokoll

Routing Rechner 1 Rechner 1 application http Http Protokoll http transport TCP TCP-Protokoll Router TCP network IP IP-Protokoll IP IP-Protokoll IP link Protokoll Protokoll

Transmission Control Protocol Bestätigung von empfangenen Paketen erneuter Versand von verlorenen Paketen sequence numbers Data Data ACK Data ACK Data ACK

Verbindungsaufbau passive open CLOSED LISTEN active open SYN SYN+ACK SYN_RCVD SYN_SENT ACK ESTABLISHED

Verbindungsabbau FIN ACK FIN ESTABLISHED CLOSE_WAIT ACK FIN_WAIT_1 CLOSING LAST_ACK CLOSED FIN_WAIT_2 TIME_WAIT

TCP verwenden Verbindung durch socket pair identifiziert: (IP-AdresseL, PortL, IP-AdresseR, PortR) Verbindungsdaten anzeigen: $ netstat -A inet more Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 leonardo.tf:1018 kaylee.tf:nfs ESTABLISHED tcp 0 0 leonardo.tf:50657 simon.tf:nfs TIME_WAIT tcp 0 0 leonardo.tf:38896 donatello.tf:ssh ESTABLISHED (TF = TechFak.Uni-Bielefeld.DE)

Aufgaben Erzeuge eine ssh-verbindungen zu einem Rechner (z.b. von goldfinger nach goldeneye). Beobachte in zwei verschiedenen Terminals (jeweils eines auf dem jeweiligen Rechner) die Ausgabe von netstat. Welche Einträge kommen neu hinzu? Tip: Der service heißt ssh Schließe die ssh-verbindung wieder. Wie verändert sich die Ausgabe von netstat?

Aufgaben Die Skripte server.pl und client.pl befinden sich im Archiv uebung4.tar.gz. (Auspacken kannst Du dieses Archiv nach dem Download mit dem Kommando tar -xvf uebung4.tar.gz) Bei den nachfolgenden Aufgaben brauchst Du drei Terminals, um alle Programme starten zu können. Starte den Server. Du mußt dabei eine Portnummer angeben: $ server.pl 54321 Sieh Dir den Zustand des Servers an: $ netstat -a grep 54321

Aufgaben Laß den Client Daten vom Server lesen: $ client.pl 54321 Benutze währenddessen netstat, um die Verbindung zu untersuchen. Rufe den Client zwei weitere Male auf. Was ändert sich bei jedem Aufruf? Rufe den Client mit einer festen Portnummer auf: $ client.pl 54321 55443 Wiederhole auch diesen Aufruf zweimal.

Aufgaben Starte mehrere Clients gleichzeitig: client.pl 54321 & [enter] client.pl 54321 & [enter] client.pl 54321 & [enter] Was ist zu beobachten? Starte zwei Clients mit der gleichen Portnummer gleichzeitig: client.pl 54321 55443 & [enter] client.pl 54321 55443 & [enter] Was passiert? Beende den Server und versuche ihn sofort mit der gleichen Portnummer neu zu starten. Was passiert? Was passiert, wenn Du den Client mit CTRL-C abbrichst, während er Daten vom Server liest?