6. Kommunikation in Netzen Gliederung Gliederung 1. Wissenschaft Informatik 2. Modularisierung Kurshalbjahr 11/I Datei klasse11I.pptx muss sich im selben Ordner befinden. 3. Grundstrukturen 4. Datenstrukturen 5. Algorithmen 6. Kommunikation in Netzen
6. Kommunikation in Netzen Gliederung 5. Algorithmen 5.1. Sortieralgorithmen 5.2. Iteration und Rekursion 5.3. Aufwandsbetrachtungen 5.4. Berechenbarkeit 6. Kommunikation in Netzen 6.1. Kommunikationsebenen 6.2. Strukturen vernetzter Systeme (Topologie) 6.3. Adressierungen 6.4. Datenübertragung in lokalen Netzen 6.5. Datenübertragung in Weitverkehrsnetzen 6.6. Schichtenmodell (Referenzmodell)
5.2. Iteration und Rekursion Algorithmen | Gliederung 5.2. Iteration und Rekursion Der Sortieralgorithmus Quick-Sort arbeitet nach dem Prinzip der Rückführung eines Problems auf ein vergleichbares Problem geringerer Größenordnung. So wird im Beispiel die Sortierung einer Liste der Länge 8 auf die Sortierung zweier Listen der Länge 3 bzw. 4 zurückgeführt. 12 3 25 10 7 1 5 23 Sortiere(1,8) 5 3 1 Sortiere(1,3) 10 25 12 23 Sortiere(5,8) Sortiere(7,8) 1 5 10 25 23 rekursiv arbeitende Algorithmen 1 3 5 7 10 12 23 25 Aufwände
Abbruch Rekursiver Aufruf Algorithmen | Gliederung "Als Rekursion (lat. recurrere „zurücklaufen“) bezeichnet man die Technik in Mathematik, Logik und Informatik, eine Funktion durch sich selbst zu definieren (rekursive Definition)."1 Rekursion am Beispiel der Potenzberechnung entsprechendes Struktogramm potenz ( b , e ) e = 0 ? Rückgabe : 1 Rückgabe : b * potenz ( b , e-1 ) Abbruch Rekursiver Aufruf 5.2. Iteration und Rekursion
Lineare Rekursion Baumrekursion Potenz Fibonaccizahl p ( b , e ) Algorithmen | Gliederung Potenz Fibonaccizahl p ( b , e ) e = 0 ? 1 b * p (b , e-1) f ( n ) n = 0 oder n=1? 1 f (n-1) + f (n-2) p(2,4) 2*p(2,3) 2*p(2,2) 2*p(2,1) 2*p(2,0) 16 8 4 2 1 f(4) 3 + 2 f(3) 2 + 1 f(1) 1 f(2) 1 + 1 f(0) Lineare Rekursion Baumrekursion 5.2. Iteration und Rekursion
Zusammenfassung Iteration 2 Rekursion 1 Algorithmen | Gliederung Zusammenfassung Iteration 2 Methode, sich der exakten Lösung eines Rechenproblems schrittweise anzunähern wiederholte Anwendung desselben Rechenverfahrens Ergebnisse eines Iterationsschrittes werden als Ausgangswerte des jeweils nächsten Schrittes genommen Umsetzung i.Allg. durch Schleifen Rekursion 1 Zurückführen einer Aufgabe auf eine einfachere Aufgabe der selben Klasse Rekursiver Aufruf (Definition einer Funktion durch sich selbst) Rekursionsabbruch (Abbruchbedingung) Umsetzung i.Allg. durch ineinander geschachtelte Funktionsaufrufe 5.2. Iteration und Rekursion
5.3 Aufwandsbetrachtungen Algorithmen | Gliederung 5.3 Aufwandsbetrachtungen Komplexität Zeitkomplexität Speicherplatzkomplexität wird im Allgemeinen in Abhängigkeit von der Problemgröße n angegeben Turm von Hanoi: Anzahl n der Scheiben Sortierungen: Anzahl n der Elemente Berechnungen: Eingabegrößen n!, bn, Rundreiseproblem: Anzahl n zu verbindender Städte
überpolynomialer Aufwand Algorithmen | Gliederung Aufwands- bzw. Komplexitätsklassen O(n) Fakultät Potenz O(n²) Bubble-Sort O(2n) Turm von Hanoi Fibonacci (rekursiv) O(n!) Rundreise-problem …O(nb) …O(bn) linear exponentiell (potenziell) (permutativ) polynomialer Aufwand überpolynomialer Aufwand Testen 2 5.3. Aufwandsbetrachtungen
5.3. Aufwandsbetrachtungen Algorithmen | Gliederung 5.3. Aufwandsbetrachtungen
Aufwandsklassen: logarithmisch linear polynomial überpolynomial Algorithmen | Gliederung Bubble-Sort: Aufwand A(n²) Quick-Sort: Aufwand A(n*log2n) Aufwandsklassen: logarithmisch linear polynomial überpolynomial 5.3. Aufwandsbetrachtungen
Algorithmen | Gliederung 5.4. Berechenbarkeit Frage, welche Probleme mit Hilfe einer Maschine (Computer) lösbar sind Voraussetzung: Algorithmus Statische Finitheit Ausführbarkeit Terminiertheit Dynamische Finitheit Determinismus Determiniertheit Allgemeingültigkeit (endliche Beschreibung des Verfahrens ) (bezüglich jedes Verfahrensschrittes) (Verfahren darf nur endlich viele Schritte benötigen ) (Verfahren benötigt endlich viel Speicherplatz) (jeder Schritt eindeutig festgelegt) (gleiche Eingaben liefern gleiche Ergebnisse) 3 4 (bezüglich vergleichbarer Probleme) "Intuitiv versteht man unter 'Berechenbarkeit' alles, was sich algorithmisch lösen lässt." 4
Algorithmus vorhanden? Algorithmen | Gliederung Algorithmus bekannt? JA NEIN vertretbare Abarbeitungszeit? nachweisbar kein Algorithmus vorhanden? JA NEIN JA NEIN Problem praktisch berechenbar Problem theoretisch berechenbar Problem nicht berechenbar Problem derzeitig nicht entscheidbar Ackermannfunktion Halteproblem Satz von Fermat bis 1995 ! 5.4. Berechenbarkeit
Kommunikation (in Netzen) Kommunikation in Netzen | Algorithmen | Gliederung Kommunikation (in Netzen)
6.1. Kommunikationsebenen Kommunikation in Netzen | Algorithmen | Gliederung 6.1. Kommunikationsebenen Mensch Mensch Sprache verbal (Inhalt) nonverbal (Interpretation) face-to-face Kommunikation Information Mensch computervermittelte Kommunikation CVK Maschine Nachricht Daten Repräsentation Interpretation
computervermittelte Kommunikation (CVK) Kommunikation in Netzen | Algorithmen | Gliederung computervermittelte Kommunikation (CVK) asynchrone CVK synchrone CVK weitestgehendes Fehlen nonverbaler Kommunikation angenommene Anonymität positive Effekte negative Effekte 6.1. Kommunikationsebenen
6.2. Strukturen vernetzter Systeme Kommunikation in Netzen | Algorithmen | Gliederung 6.2. Strukturen vernetzter Systeme lineare Busstruktur Baumstruktur vermaschte Struktur Ringstruktur Sternstruktur Abbildungen aus WIKIPEDIA, Die freie Enzyklopädie: Topologie (Rechnernetz), 2010. URL: http://de.wikipedia.org/wiki/Topologie_(Rechnernetz) [Stand: 17.05.2010]
Mathematisches Modell Graph 5 Kommunikation in Netzen | Algorithmen | Gliederung Mathematisches Modell Graph 5 Ein Graph besteht aus einer Menge von Elementen (Knoten), die mittels Verbindungen (Kanten) miteinander verbunden sind. Ein geschlossener Zug aus Kanten und Knoten heißt Masche. 6.2. Strukturen vernetzter Systeme
6.3. Adressierungen a) MAC-Adressen6 (Media-Access-Control-Adresse) Kommunikation in Netzen | Algorithmen | Gliederung 6.3. Adressierungen a) MAC-Adressen6 (Media-Access-Control-Adresse) 48 Bit lange Hardwareadresse (physische Adresse), Bestandteil jeder Netzwerkkarte - wird in einem PROM gespeichert und kann nicht verändert werden Eindeutige Adressierung jeder Netzwerkkarte Herstellerkennung (24 Bit) und Adapterkennung (24 Bit) hexadezimale Schreibweise mit 6 Blöcken à 8 Bit Beispiel: 08-00-20-AE-FD-7E 00001000.00000000 … 01111110 Verwendung in drahtgebundenen Netzen, in denen im klassischen Ethernet gleichberechtigte Datenstationen angeschlossen werden7 248 = 2,81*1014 mögliche MAC-Adressen
b) IPv4-Adressen8 (Internet-Protocol-Adresse) Kommunikation in Netzen | Algorithmen | Gliederung b) IPv4-Adressen8 (Internet-Protocol-Adresse) 32 Bit lange Adresse in Computernetzen, die auf dem Internetprotokoll (IP) basieren (logische Adresse) Trennung in Netzwerk- und Geräteteil („Hostteil“) durch Subnetzmaske Aufbau von IP-Adressen (IPv4) IP-Adresse 192.168.002. 100 Netzkennung Hostkennung Subnetzmaske 255.255.255. 000 232 = 4,3*109 mögliche IPv4-Adressen c) IPv6-Adressen 128 Bit lange Adresse (64 Bit Netzsegmentpräfix, 64 Bit Interface Identifier) 2128 = 3,4*1038 mögliche IPv6-Adressen 6.3. Adressierungen
6.4. Datenübertragung in lokalen Netzen Kommunikation in Netzen | Algorithmen | Gliederung 6.4. Datenübertragung in lokalen Netzen ETHERNET-PROTOKOLL (Rahmen) IEEE 802.3 für drahtgebundene lokale Netze (LAN) Größe in Byte Beschreibung 6 Ziel- adresse Quell- 2 Typ- information bis 1500 Nutz- daten 4 Prüf- summe maximal 1566 Byte MAC-Adressen (Media-Access-Control-Adresse)
6.5. Datenübertragung in Weitverkehrsnetzen Kommunikation in Netzen | Algorithmen | Gliederung 6.5. Datenübertragung in Weitverkehrsnetzen IP-PROTOKOLL (Paket) internet protocol / zielorientiert 4 Quell- adresse 8 Headerlänge Paketlänge … 1 Time to life bis 65515 Nutz- daten 3 Folgeprot. Prüfsumme (Header) Ziel- adresse Größe in Byte Beschreibung bei Version IPv4 (32-Bit-Adressen) maximal 65535 Byte (theoretisch) IP-Adressen 6.3. Adressierungen
maximal 65560 Byte (theoretisch) Kommunikation in Netzen | Algorithmen | Gliederung TCP-PROTOKOLL (Segment) Adresskomponenten zur Zuordnung der entsprechenden Dienste Beispiele: 20 FTP-Data 80 http 443 https transmission control protocol / verbindungsorientiert 4 Quitt.- nummer 2 Quellport Zielport bis 66540 Nutzdaten Sequenz- nummer 8 Headerlänge Flags Prüfsumme (komplett) Größe in Byte Beschreibung maximal 65560 Byte (theoretisch) i.Allg. 1460 Byte Zusammenspiel der Protokolle 4 Byte Prüfsumme bis 1500 Byte Nutzdaten ETHERNET 14 Byte Header Nutzdaten maximal 1460 Byte TCP 20 Byte Header IP 20 Byte Header 6.5. Datenübertragung in Weitverkehrsnetzen
Aufbau von Routing-Tabellen Kommunikation in Netzen | Algorithmen | Gliederung Aufbau von Routing-Tabellen Netzkennung: 192.168.2.0 Netz A Netz B Router BA 192.168.2.1 192.168.3.2 Netzkennung: 192.168.3.0 Netz- bzw. IP-Adresse Netzmaske Gateway bzw. Router Schnittstelle Hops 138.62.3.25 255.255.255.0 192.168.3.1 192.168.3.2 2 192.168.3.20 255.255.255.0 192.168.3.2 192.168.3.2 1 217.79.215.140 255.255.0.0 192.168.3.1 192.168.3.2 ??? 192.168.2.110 255.255.255.0 192.168.2.1 192.168.2.1 1 Router B? 192.168.3.1 138.62.3.15 "Ausgang" Nächster Netzknoten (Router) Zieladresse 6.5. Datenübertragung in Weitverkehrsnetzen
6.6. Schichtenmodell (Referenzmodell) Kommunikation in Netzen | Algorithmen | Gliederung 6.6. Schichtenmodell (Referenzmodell) Modell zur Realisierung der offenen Kommunikation zwischen heterogenen Netzen Prinzip: verschiedene Aufgaben werden in verschiedenen Schichten angeordnet DoD: "Das Department of Defense (DoD) hatte 1980 mangels standardisierter Protokolle eine Protokollfamilie … ins Leben gerufen, die DoD-Protokolle. Das Architekturmodell der DoD-Protokolle … kennt nur vier Kommunikationsschichten."9 OSI: "Open Systems Interconnection (OSI) beschreibt international vereinbarte Standards, mit denen offene Systeme arbeiten, und definiert die Regeln für die Implementierung dieser Normen." Offene Kommunikationssysteme sollten den freizügigen Informationsaustausch auf der Basis gemeinsamer Protokollvereinbarungen und Schnittstellen erlauben.10 6.5. Datenübertragung in Weitverkehrsnetzen
packen entpacken übertragen (Package Assembling) (Parsen) Kommunikation in Netzen | Algorithmen | Gliederung packen (Package Assembling) entpacken (Parsen) (1) Netzzugang (2) Internet (3) Transport (4) Anwendung DoD-Modell Einheiten Daten Segmente Pakete Rahmen Bits Protokolle TCP IP Ethernet HTTP FTP POP3 SMTP (1) Bitübertragung (2) Sicherung (3) Vermittlung (4) Transport (5) Sitzung (6) Darstellung (7) Anwendung OSI-Modell übertragen 6.6. Schichtenmodell (Referenzmodell)
Quellen 1 Nach: WIKIPEDIA, Die freie Enzyklopädie: Rekursion,2011. Quellen | Kommunikation in Netzen | Algorithmen | Gliederung Quellen 1 Nach: WIKIPEDIA, Die freie Enzyklopädie: Rekursion,2011. URL: http://de.wikipedia.org/wiki/Rekursion [Stand: 10.03.2011] 2 Nach: WIKIPEDIA, Die freie Enzyklopädie: Iteration,2011. URL: http://de.wikipedia.org/wiki/Iteration [Stand: 10.03.2011] 3 Nach: WIKIPEDIA, Die freie Enzyklopädie: Algorithmus,2011. URL: http://de.wikipedia.org/wiki/Algorithmus [Stand: 31.03.2011] 4 Prof.Dr.J.Rothe, H.Heine-Universität Düsseldorf. URL: http://ccc.cs.uni-duesseldorf.de/~rothe/INFO4/folien-kapitel-6.pdf [Stand: 04.04.2011] 5 Nach: WIKIPEDIA, Die freie Enzyklopädie: Netzwerk,2013. URL: http://de.wikipedia.org/wiki/Netzwerkstruktur [Stand: 29.05.2013] 6 Nach: ITWissen, Das große Online-Lexikon für Informationstechnologie: MAC-Adresse. URL: http://www.itwissen.info/definition/lexikon/MAC-Adresse-MAC-address.html [Stand: 29.05.2013] 7 Nach: ITWissen, Das große Online-Lexikon für Informationstechnologie: Ethernet. URL: http://www.itwissen.info/definition/lexikon/Ethernet-Ethernet.html [Stand 29.05.2013] 8 Nach: WIKIPEDIA, Die freie Enzyklopädie: IP-Adresse,2013. URL: http://de.wikipedia.org/wiki/IP-Adresse [Stand: 29.05.2013] 9 ITWissen, Das große Online-Lexikon für Informationstechnologie: DoD-Protokoll. URL: http://www.itwissen.info/definition/lexikon/DoD-Protokoll-DoD-protocol.html [Stand 17.06.2013] 10 Nach: ITWissen, Das große Online-Lexikon für Informationstechnologie: OSI (open systems interconnection) URL: http://www.itwissen.info/definition/lexikon/open-systems-interconnection-OSI-Offene-Kommunikation.html [Stand 12.06.2011]
7. Sicherheit von Informationen Quellen | Kommunikation in Netzen | Algorithmen | Gliederung Kurshalbjahr 12/I. 7. Sicherheit von Informationen 8. Datenbanken Kurshalbjahr 12/II 9. Computergrafik Jahrgangsstufe 12