Einführung in die Informatik II Kommunikation im Internet per TCP/IP Protokol Prof. Dr. Nikolaus Wulff Rechnernetze • Rechner sind heute fast immer per Internet vernetzt. • Das heutige Internet entstand aus dem ARPANET, einem Forschungsprojekt des US Verteidigungsministeriums der sechziger Jahre, das einige Hochleistungsrechner verband. • Als Kommunikationsprotokol hat sich TCP/IP durchgesetzt. IP steht für Internet Protocol und TCP für Transmission Control Protocol. • Der TCP/IP Protokol Stack zeichnet sich durch seine Modularität und Erweiterbarkeit aus, da er von der konkreten Hardware abstrahiert. Prof. Dr. Nikolaus Wulff Informatik II 2 Anzahl der Rechner im Internet Prof. Dr. Nikolaus Wulff Informatik II 3 Update: Stand 13.04.2010 • Nach wie vor wächst das Internet rasant, aber nicht mehr exponentiell. Prof. Dr. Nikolaus Wulff Informatik II 4 Explosionsartiges Wachstum • Das exponentielle Wachstum wurde ausgelöst durch die Erfindung des World Wide Web (WWW) im Jahr 1991 durch Tim Berners-Lee am CERN und die Einführung des freien Web-Browsers Mosaic 1993. Prof. Dr. Nikolaus Wulff Informatik II 5 Chinesen haben Gewicht... • Die Sprünge 2009 entstanden (vermutlich) durch neue chinesische Web-Sites, die 2010 teilweise wieder vom Netz gingen... Prof. Dr. Nikolaus Wulff Informatik II 6 Soziale Netze • Auch das neue Web2.0 mit den Sozialen Netzen, wie z.B. Facebook, XING, etc. zeigt ähnliche Kurven. Prof. Dr. Nikolaus Wulff Informatik II 7 Prinzip von Kommunikation • Zur Kommunikation gehören ein Sender und ein Emfänger die eine gemeinsame Sprache sprechen. Experte Fachsprache Experte Direkte Kommunikation • Solange sich beide mittels „Ihrer Fachsprache“ direkt verständigen können ist alles ganz einfach... • Nur: Der eine Experte spricht Chinesisch der Andere Französisch! Prof. Dr. Nikolaus Wulff Informatik II 8 Prinzip von Kommunikation • Zur Vermittlung werden Simultanübersetzer eingesetzt. Experte Übersetzer Fachsprache Englisch Experte Übersetzer tatsächliche Kommunikation • Diese Übersetzer verstehen nicht die Fachsprache können sie aber hören, übersetzen und sprechen. • Es gibt zwei Ebenen des Verstehens. Prof. Dr. Nikolaus Wulff Informatik II 9 Prinzip von Kommunikation • Die Experten befinden sich auf verschiedenen Schiffen. Funker werden eingesetzt... Experte Übersetzer Funker Fachsprache Englisch Morsezeichen Experte Übersetzer Funker • Die Funker verstehen überhaupt nichts von der Fachsprache der Experten und auch deren Englisch reicht nur zum Morsen des Textes... Prof. Dr. Nikolaus Wulff Informatik II 10 Prinzip von Kommunikation • Die eigentliche Kommunikation geschieht über verschiedene separierte Schichten... Experte Übersetzer Funker Funkgerät Prof. Dr. Nikolaus Wulff Fachsprache Englisch Morsezeichen Elektromagnetische Wellen Informatik II Experte Übersetzer Funker Funkgerät 11 Schichtenarchitektur • Weder der Experte noch der Übersetzer verstehen etwas vom Funken oder elektromagnetischen Wellen. • Der Funker kann nur so viel Englisch um den Text zu morsen. Das Thema des Experten ist für ihn auch auf Englisch (Fach)Chinesisch... • Der Funker kennt die Physik elekt. Wellen auch nur in den Grundlagen, er muss das Funkgerät nicht bauen oder entwerfen. • Vorteil: Dies bietet eine sehr effiziente Arbeitsteilung, jeder macht das, was er am besten kann. Prof. Dr. Nikolaus Wulff Informatik II 12 Open Systems Interconnection Sender 7 Anwendung 6 Darstellung 5 Sitzung 4 Transport 3 Vermittlung 2 Sicherung 1 Bitübertragung Prof. Dr. Nikolaus Wulff Das OSI Referenzmodell (1984) Anwendungsprotokoll Darstellungsprotokoll Sitzungsprotokoll Empfänger Application Presentation Session Transportprotokoll Transport Vermittlungsprotokoll Network Sicherungsprotokoll Übertragungsprotokoll Informatik II Data Link Physical Layer 13 TCP/IP Schichtenmodel OSI Layer V - VII IV FTP TCP III II IP Ethernet I Prof. Dr. Nikolaus Wulff FTP Protokoll virtuelle Verbindung TCP Protokoll IP Protokoll Ethernet Protokoll I N T E R N E T FTP TCP IP L O C A L Ethernet Physikalische Verbindung Informatik II 14 Hardware Abstraktion • IP ist eine logische Schicht, über einer konkreten Hardware, die physikalisch sehr unterschiedlich sein kann: – feste Verkabelung, Funkstrecke, Telefonleitung, Satellit... • Jedes Medium und oder Gerät erfordert einen anderen Ethernet-Adapter, der dann aus Sicht von IP gleich angesprochen werden kann. • Dies ist eines der großen Vorteile von TCP/IP, sobald ein passender Adapter für das Medium/Gerät und IP vorhanden ist, kann jegliches Gerät/Medium im Netz transparent mit eingebunden werden. Prof. Dr. Nikolaus Wulff Informatik II 15 Ethernet Karten • Zum eindeutigen Identifizieren von Ethernet Karten wird immer die Media Access Control Adresse MAC benötigt. Diese ist eine weltweit eindeutige sechs Byte Seriennummer des jeweiligen Herstellers. • Physikalische Adressen gelten innerhalb eines physikalischen Netzsegment im OSI Layer II, logische IP Adressen gelten für die Kommunikation innerhalb des weltweiten Netzes ab Layer III. • Eine Netzwerkkarte benötigt zur Kommunikation im IP Netz immer beide Adressen. Prof. Dr. Nikolaus Wulff Informatik II 16 Ein- und Auspacken • Nachrichten werden als (IP) Pakete versendet. • Jede Schicht fügt geeignete Kontrollinformationen zu der Nachricht hinzu, die von der Gegenseite wieder interpretiert und entfernt werden. Nachricht: 10010100111110101 TCP Paket: TCP-Header 10010100111110101 IP Paket IP-Header TCP-Header 10010100111110101 • Ein Protokoll legt den Versand und Aufbau von Nachrichtenpaketen in jeder Schicht fest. Prof. Dr. Nikolaus Wulff Informatik II 17 Ethernet-Frame • Ein Datenpaket im Layer II heißt (Ethernet)-Frame und kann maximal 1500 Byte Nutzlast transportieren. Nach IEEE 802.3 hat es die Struktur: Präamble SFD DMAC SMAC Length Data Padding 7 Byte 1 Byte 6 Byte 6 Byte 2Byte 46 – 1500 Byte FCS 4 Byte • Der Starting Frame Delimiter zeigt den Beginn eines Frames an, DMAC und SMAC sind die MAC Adressen von Empfänger und Sender. Zur Erkennung von Kollisionen sind wenigstens 64 Bytes notwendig, andernfalls wird das Frame mit Padding aufgefüllt. Die Frame Check Sequence ist eine Prüfsumme, um Übertragungsfehler zu erkennen. Prof. Dr. Nikolaus Wulff Informatik II 18 Request For Comments • Wichtige Protokolle werden in Form von RFC's als offene Standards im Internet festgelegt: http://www.rfc-editor.org/ • Auszug einiger bekannter Standards: – – – – – – RFC 768 User Datagram Protocol UDP (1980) RFC 791 Internet Protocol IP (1981) RFC 793 Transmission Control Protocol TCP (1981) RFC x821 Simple Mail Transfer Protocol SMTP (1982) RFC 959 File Transfer Protocol FTP (1985) RFC 1945 Hyper Text Transfer Protocol HTTP (1996) • RFC's werden fortlaufend weiter verfeinert, wenn es neue Technologien oder Anforderungen erfordern... Prof. Dr. Nikolaus Wulff Informatik II 19 Beispiel RFC 821 (SMTP) RFC 821 August 1982 Simple Mail Transfer Protocol TABLE OF CONTENTS 1. INTRODUCTION .................................................. 1 2. THE SMTP MODEL ................................................ 2 3. THE SMTP PROCEDURE ............................................ 4 Einiges ausgelassen ... 4. THE SMTP SPECIFICATIONS ...................................... 4.1.1. Command Semantics ..................................... 4.1.2. Command Syntax ........................................ 4.2. SMTP Replies ............................................ 4.2.1. Reply Codes by Function Group ......................... 4.2.2. Reply Codes in Numeric Order .......................... 4.3. Sequencing of Commands and Replies ...................... 4.4. State Diagrams .......................................... 4.5. Details ................................................. 4.5.1. Minimum Implementation ................................ 4.5.2. Transparency .......................................... 4.5.3. Sizes ................................................. APPENDIX A: TCP ................................................. Prof. Dr. Nikolaus Wulff Informatik II 19 19 27 34 35 36 37 39 41 41 41 42 44 20 RFC 821 cont. • RFC's sind plain Text Dokumente, welche die allgemeine Architektur, die Schnittstellen und Protokolle des Internets festlegen. • ...eine herstellerunabhängige Standardisierung... Prof. Dr. Nikolaus Wulff Informatik II 21 Grundelemente eines Netz • Knoten: Endgeräte Rechner, Host, ... • Verbindungen: Leitungen, Glasfaser, Funk,... • Direkte 1:1 Kommunikation Peer to Peer (P2P) A B • Mehrfachzugriffsverbindungen (Bus) A Prof. Dr. Nikolaus Wulff B C Informatik II ... X 22 Netzadresse • Jeder Knoten im Netz hat hardwareseitig eine MAC (Media Access Control) Adresse, dieser wird virtuell eine eindeutige IP Adresse zugewiesen. • Im Standard IPv4 ist dies eine 32 Bit Zahl gruppiert zu vier 8-Bitzahlen im Bereich 0-255. z.B. hat der Lab4Inf Server www.lab4inf.fh-muenster.de die IP 194.95.9.101 • Per Domain Name Service (DNS) kann eine solche IP Adresse einer Domaine/bzw. einem sprechenden Hostnamen zugeordnet werden und vice versa. • Maximal gibt es 232 ≈ 4 Milliarden IP Adressen... Prof. Dr. Nikolaus Wulff Informatik II 23 Interpretation der IP Adresse • Die IP Adresse beinhaltet sowohl die Netz- als auch die Host/Geräteadresse. Die Trennung von Netz- und Geräteteil entsteht durch die Netzwerkmaske, die per AND (NOT) verknüpft wird: Binär IP Adresse 130.094.122.195 Maske 255.255.255.224 Netzwerkadr. 130.094.122.192 Geräteadr. 3 IP : 10000010 N : 11111111 01011110 11111111 IP ∧ N : 10000010 01011110 IP ∧¬N : 00000000 00000000 Prof. Dr. Nikolaus Wulff Informatik II 01111010 11111111 01111010 00000000 11000011 11100000 11000000 00000011 24 Netz- und Broadcast Adresse • Zu einer IP Adresse gehört immer eine zugehörige Netzwerkmaske, um Netz- und Geräteadressen auflösen und trennen zu können. • Lautet die Netzmaske z.B. 255.255.255.0 so gibt es im Netzsegment maximal 256 Geräteadressen. • Die 0 ist die Adresse des Netzes selbst und die maximale Adresse – hier 255 –, wird als Rundrufadresse (Broadcast) verwendet. Physikalisch ist dies immer die MAC Adresse FF:FF:FF:FF:FF:FF. • Ferner wird mindestens eine Adresse für das Gateway benötigt, um auch entfernte Hosts per Routing zu erreichen. Prof. Dr. Nikolaus Wulff Informatik II 25 ifconfig Beispiel racer:~ # ifconfig eth0 Link encap:Ethernet HWaddr 00:15:58:81:2A:1F UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Base address:0x3000 Memory:ee000000-ee020000 eth1 Link encap:Ethernet HWaddr 00:19:D2:2A:21:33 inet addr:192.168.2.4 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::219:d2ff:fe2a:2133/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3732 errors:81 dropped:613 overruns:0 frame:0 TX packets:3224 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2792016 (2.6 Mb) TX bytes:831561 (812.0 Kb) Interrupt:17 Base address:0xe000 Memory:edf00000-edf00fff Prof. Dr. Nikolaus Wulff Informatik II 26 Netzwerkkonfiguration • Mit dem ifconfig (UNIX) bzw. ipconfig (Windows) Befehl lässt sich die aktuelle Netzwerkkonfiguration anschauen und modifizieren. • Das Beispiel zeigt das Ausführen von ifconfig auf einem Linux Rechner im lokalen Home-Netzwerk 192.168.2.0 mit der Netzmaske 255.255.255.0. • Der Rechner (racer) hat eine (nichtverbundene) LAN Karte mit der MAC 00:15:58:81:2A:1F und eine verbundene WLAN Karte 00:19:D2:2A:21:33. • Die maximale Paketgröße (maximal transfer unit) MTU beträgt 1500 Byte. Prof. Dr. Nikolaus Wulff Informatik II 27 Address Resolution Protocol • Befinden sich Sender und Empfänger im selben Netzsegment, so können sie nach dem Auflösen der IP Adresse direkt im Ethernet kommunizieren. • Zum Bestimmen der physikalischen Adresse sendet der Sender seine physikalische und IP Adresse per ARP - Rundruf/Broadcast an alle Rechner im Netzsegment. Der gesuchte Rechner antwortet mit seiner physikalischen MAC Adresse. • Die Rechner behalten eine gefundene Auflösung für eine gewisse Zeit (~300sec) im Cache... – Der Cache lässt sich per arp -v anzeigen und per arp -d explizit löschen und per arp -s setzen. Prof. Dr. Nikolaus Wulff Informatik II 28 ARP • Per arp Befehl lässt sich der ARP Cache inspizieren: racer:~ # arp -v Address HWtype HWaddress Flags Mask 192.168.2.1 ether 00:11:50:3D:C9:08 C Entries: 1 Skipped: 0 Found: 1 Iface eth1 • Nach dem Aufruf des lokalen Netzwerkdruckers ist ein neuer Eintrag 192.168.2.10 im Cache... racer:~ # arp -v Address HWtype HWaddress Flags Mask 192.168.2.1 ether 00:11:50:3D:C9:08 C 192.168.2.10 ether 00:1E:0B:43:38:17 C Entries: 2 Skipped: 0 Found: 2 Iface eth1 eth1 • Zu erkennen ist das Mapping von IP zur MAC Adresse, diese besteht aus sechs 8-Bit Hexzahlen. Prof. Dr. Nikolaus Wulff Informatik II 29 IP Routing • Im IP Header ist sowohl die IP Adresse des Senders als auch des Empfängers vermerkt. • Eine Nachricht, deren Empfänger nicht im eigenen Subnetz liegt, wird an ein sogenanntes Gateway geschickt, dass sich um die Weiterleitung per Routing kümmert. • Router pflegen Routing-Tabellen, um einen möglichst optimalen Weg im Netz zu finden. – Früher wurden diese Tabellen zentral gepflegt, bei der heutigen Dimension des Internets ist dies nicht mehr möglich. Router bauen ihre Routing-Tabellen dynamisch durch Kontaktierung „benachbarter Router“ auf... Prof. Dr. Nikolaus Wulff Informatik II 30 Netztopologien • Die Knoten in einem Netz können vielfältig miteinander verbunden sein: Switch (Token) Ring Sternförmig Prof. Dr. Nikolaus Wulff Informatik II 31 Zusammenschluß von Netzen • Verschiedene Hosts und Netzwerke werden mit Routern und Gateways zusammengeschaltet. 192.168.2.0/24 172.16.9.56 H 172.16.9.0/24 H R H R 172.16.1.0/24 H H 172.16.1.13 R Prof. Dr. Nikolaus Wulff H H Informatik II H 10.104.5.0/24 10.104.5.0 32 Netz und Netzwerkmaske • Die Interpretation der Geräteadressen innerhalb eines Netzes erfolgt immer per Netzwerkmaske. • Ohne Kenntnis der Netzwerkmaske ist die Netzwerkadresse nicht eindeutig einem Gerät zuzuordnen. • Die Bitfolge der Maske muss immer aus führenden Einsen bestehen, z.B 111111111111111100000000.... • Die Maske ist daher eindeutig durch die Anzahl an Einsen definiert. • Anstatt die Maske 255.255.0.0 anzugeben wird häufig verkürzt 172.16.1.0/16 geschrieben, um die ersten 2 Byte der Maske als Einsen zu kennzeichnen. Prof. Dr. Nikolaus Wulff Informatik II 33 Netzwerke: Physical Layer • Nachrichten werden in Lokal Area Netzwerken (LAN) mit optischen oder elektrischen Leitern übertragen. • In einem Wireless WLAN erfolgt entsprechend die Übertragung per Funk. • Grob simplifiziert werden einzelne Bits quasi als Rechteckimpulse auf einem Leiter übertragen. • Dieser Rechteckimplus pflanzt sich vom Sender zum Emfänger nach den Maxwellschen Gleichungen fort... x = vg· t S t0 Prof. Dr. Nikolaus Wulff t1 t2 tn Informatik II E Ort 34 Telegraphengleichung • Die Ausbreitung des elektromagnetischen Feldes genügt den Maxwellschen Gleichungen. • Angewandt auf einen unendlich langen Draht in xRichtung führen diese auf die Telegraphengleichung: 2 2 ∂ U ∂ U ∂U =C⋅L C⋅R 2 2 ∂t ∂x ∂t • Für einen idealen Leiter mit R=0 ergeben sich als Lösungen Sinus- und Cosinus-Wellen der Form: U x ,t =U 0 sin t ±k x • mit k = C⋅L Prof. Dr. Nikolaus Wulff Informatik II 35 Fourierreihe eines Rechtecks • Approximation eines Rechteckimpuls durch eine n endliche Fourierreihe: sin 2j1 x E n x =∑ j =1 Prof. Dr. Nikolaus Wulff Informatik II 2j1 36 Modell eines Rechteckimpulses • Ein Rechteckimpuls breitet sich auf dem Draht als eine Überlagerung verschiedener Sinuswellen aus. • Medium und/oder Draht haben unterschiedliche Wellenwiderstände in Abhängigkeit von der Frequenz des Signals. Dies führt zu verschiedenen Effekten: – Es gibt eine maximale Übertragungsfrequenz • 10MBit/s und 100MBit/s Ethernet Übertragung – Das Rechtecksignal „zerfliesst“ mit längerer Laufzeit • Begrenzung der maximalen Leitungslänge – Es entstehen Reflexionen auf Kabeln endlicher Länge • Terminierung mit Abschlußwiderstand • Es darf nur ein Adapter zur Zeit senden! Prof. Dr. Nikolaus Wulff Informatik II 37 Paket-Kollisionen • Senden zwei Geräte quasi gleichzeitig ein Signal kommt es auf der Übertragungsstrecke zu einer Überlagerung und die Signale werden unbrauchbar. S S Prof. Dr. Nikolaus Wulff Informatik II Ort 38 CSMA/CD • Netzwerkadapter haben einen Sensor zum Entdecken einer Kollision. Der erste Adapter der diese entdeckt, generiert ein JAM-Signal, das allen signalisiert, dass ein Fehler passiert ist. • Alle Netzwerkkarten „schweigen“ nun und wissen, dass ihre Kommunikation gestört war. Nach einer Zufallszeit beginnt der erste Adapter erneut mit seiner Sendung... • Dieses als „Carrier Sense Multiple Access/Collision Detection“ benannte Verfahren garantiert eine sichere Übertragung von Nachrichten, auf Kosten der Übertragungsgeschwindigkeit bei viel Traffic. Prof. Dr. Nikolaus Wulff Informatik II 39 CSMA/CA • Im Wireless WLAN Betrieb hat sich das CSMA/CA Verfahren durchgesetzt. CA steht für „Collision Avoidence“. • Vor Beginn einer Nachricht sendet der Adapter ein „Request-to-Send“ (RTS) Signal ins Medium. Gibt es keine Kollision so gehört dem Adapter das Medium und er darf senden, alle anderen Adapter „lauschen“. • Nach der Sendung generiert der Adapter ein „Clearto-Send“ (CTS) Signal, um das Medium für alle anderen wieder frei zugeben. • Kollisionen während der Sendung werden vermieden. Prof. Dr. Nikolaus Wulff Informatik II 40 Brücken trennen und verbinden • Sind zu viele Rechner in einem Netzsegment, so kann dieses durch Bridges in zwei Hälften zerlegt werden, um die Kollisionswahrscheinlichkeit zu halbieren. • Ein Bridge pflegt einen ARP Cache und ist nur durchlässig für Anfragen von einer Seite auf die Andere, wenn dies notwendig ist. Broadcasts werden allerdings immer weitergeleitet... 1 2 3 7 8 9 10 B 4 Prof. Dr. Nikolaus Wulff 5 6 Informatik II 41 Vielseitige Bridges • Angenommen 1 und 2 kommunizieren, die Station 7 kann dies nicht wissen und so muss die Bridge eine Sendung von 7 nach 3 zwischenspeichern, um eine Kollision zu vermeiden. • Die Bridge liest daher den IP Header und interpretiert ihn geeignet. Sie kann das Signal nicht nur speichern, sondern auch verstärken oder transformieren wenn im linken und rechten Segment eine unterschiedliche physikalische Netzwerktechnologie verwendet wird. • Auf Grund der Zwischenspeicherung ist es nun auch möglich z.B. 10-MBit mit 100-MBit Netzen zu verbinden. Prof. Dr. Nikolaus Wulff Informatik II 42