Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Netzwerke Alexander Sczyrba Jan Krüger.

Ähnliche Präsentationen


Präsentation zum Thema: "Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Netzwerke Alexander Sczyrba Jan Krüger."—  Präsentation transkript:

1 Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Netzwerke Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de

2 Center for Biotechnology Bielefeld Bioinformatics Service Übersicht ● Netzwerk-Protokolle ● Protokollfamilie TCP/IP ● Transmission Control Protocol (TCP) ● erste Schritte mit sockets

3 Center for Biotechnology Bielefeld Bioinformatics Service 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

4 Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk-Schichten

5 Center for Biotechnology Bielefeld Bioinformatics Service link layer ● modelliert physikalische Verbindung ● Hardware-Adressen ● Daten in Frames ● empfindlich gegenüber Störungen ● Prüfsummen ● Beispiel: Ethernet,...

6 Center for Biotechnology Bielefeld Bioinformatics Service 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

7 Center for Biotechnology Bielefeld Bioinformatics Service 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

8 Center for Biotechnology Bielefeld Bioinformatics Service application layer ● nutzt transport layer ● TCP oder UDP hängt von Problemstellung ab ● Programmierschnittstellen: ● Berkeley sockets ● X/Open Transport Interface ●...

9 Center for Biotechnology Bielefeld Bioinformatics Service encapsulation Ethernet header IP header TCP header Applicatio n header User data Ethernet trailer

10 Center for Biotechnology Bielefeld Bioinformatics Service Kommunikation zwischen den Schichten http TCP IP Ethernet Rechner 1 http TCP IP Ethernet Rechner 1 application transport network link

11 Center for Biotechnology Bielefeld Bioinformatics Service Routing http TCP IP Ethernet Rechner 1 http TCP IP Ethernet Rechner 1 application transport network link Ethern et IP Route r

12 Center for Biotechnology Bielefeld Bioinformatics Service Transmission Control Protocol ● Bestätigung von empfangenen Paketen ● erneuter Versand von verlorenen Paketen ● sequence numbers Data ACK Data ACK Data

13 Center for Biotechnology Bielefeld Bioinformatics Service Verbindungsaufbau CLOSED LISTEN ESTABLISHE D SYN_RCVDSYN_SENT active open passive open SYN ACK SYN+ACK

14 Center for Biotechnology Bielefeld Bioinformatics Service Verbindungsabbau FIN ACK FIN ESTABLISHE D CLOSING TIME_WAITFIN_WAIT_2 FIN_WAIT_1 CLOSE_WAI T LAST_ACK CLOSE D

15 Center for Biotechnology Bielefeld Bioinformatics Service 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)

16 Center for Biotechnology Bielefeld Bioinformatics Service 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 ?

17 Center for Biotechnology Bielefeld Bioinformatics Service 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

18 Center for Biotechnology Bielefeld Bioinformatics Service Aufgaben ● Laß den Client Daten vom Server lesen: ● $ client.pl 54321 ● Benutze wa¨hrenddessen netstat, um die Verbindung zu untersuchen. ● Rufe den Client zwei weitere Male auf. Was a¨ndert sich bei jedem Aufruf? ● Rufe den Client mit einer festen Portnummer auf: ● $ client.pl 54321 55443 ● Wiederhole auch diesen Aufruf zweimal.

19 Center for Biotechnology Bielefeld Bioinformatics Service 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?


Herunterladen ppt "Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Netzwerke Alexander Sczyrba Jan Krüger."

Ähnliche Präsentationen


Google-Anzeigen