Vorlesung Multimediale Werkzeuge, Übertragungstechnik Thema: Digitale Übertragungstechnik in Netzen. Grundlagen der Kommunikation im Internet, Grundlagen der www. Protokolle, Browser Geschichte: • http://en.wikipedia.org/wiki/Arpanet • http://en.wikipedia.org/wiki/TCP/IP) ARPANET (Advanced Research Projects Agency Network) • Erstes sog. Packet-switched (Paket vermitteltes) Netzwerk • Daten werden in "Pakete" aufgeteilt, und erhalten u.a. eine Zieladresse im "Header" Vorher: Circuit switching, also feste Verbindungen (meist Telefonleitungen und Modem) Problem: Kommunikation zwischen mehreren Computern ist schwierig. Seite 1 • Erste Ideen, formuliert von J. E.R. Licklider von BBN: August 1962, Paper über "Galactic Network" Konzept (BBN: Firma in Cambridge, Mass., Abkürzung von Bolt, Beranek, Newman, die Gründer, machten digitale Datenübertragung, später auch Pioniere der Sprachcodierung) Erste ARPANET links ab 1969: • University of California, LA, • Stanford Research Institute, • UC Santa Barbara, • University of Utah Erste Email von Queen Elizabeth II: 26. März 1976 National Science Foundation (USA): • Vernetzung von Super Computern und Rechnern der Informatik Fakultäten (CSnet), wurde mit dem ARPANET verbunden, • ca. in 1984, in der Zeit Aufkommen des Begriffes Internet. Kennzeichnend für das Internet: Die sog. "Internet Protocol Suite", enthält u.a. TCP/IP Seite 2 • Entstand aus Arbeiten von DARPA in den frühen 70ern. • 1973 Vinton Cerf, Entwickler des ARPANET Network Control Programs, hat mit Kahn ein offenes Protokoll entwickelt. Wichtige Eigenschaft: Unterschiede zwischen verschiedenen Netzwerken wurden hinter diesem Protokoll "versteckt". • Resultat war das TCP/IP Protokoll • Dadurch wurde es mögliche die verschiedenartigsten Netzwerke zu verbinden. • Kam 1975 zur Anwendung, erstmals zwischen Stanford University und University College London. • 1983 wurde es generell im ARPANET eingeführt. Weiteres Datennetz mit Signifikanz für das Internet: Das ALOHANet. • Norman Abrahameson, war Professor an der Stanford University und leidenschaftlicher Surfer. Ging deswegen nach Hawaii, und arbeitet dort an Funk-basierter digitaler Kommunikation. • Funk-basiert um die Datenkommunikation zwischen den Inseln sicher zu stellen. Seite 3 Kommunikation zwischen verschieden DatenStationen: Ursprünglich "Circuit Switched", wie beim Telefon, also: Dedizierte Verbindungen für jeden Teilnehmer. Über Funk: Jeder hat seine eigene Frequenz. Problem: Je mehr Teilnehmer, desto mehr Bandbreite wird benötigt, desto teurer werden Sender/Empfänger. Problem auch: Verfügbarkeit von Frequenzen. Genannt: Frequency-Division Multiple Access (FDMA) -Andere Möglichkeit, für günstigere Sender/Empfänger: • Jede Station kriegt ihren eigenen Time-Slot (Time-Division Multiple Access, TDMA). • Problem: Mögliche Datenrate sinkt mit der Anzahl der Teilnehmer, selbst wenn sie nicht senden. Ansatz vom ALOHA Net: • Ähnlich wie TDMA, aber nicht mit festen Time-Slots, sondern flexibel. Das erste ALOHAnet Protokoll: Seite 4 • Wenn Daten vorhanden, sende Daten • Wenn es Kollision mit anderen Daten gab, wiederhole später (nach zufälligem Zeitintervall). Beachte: • sehr simples Protokoll, funktioniert aber tatsächlich. • Wurde später (im Ethernet Protokoll) ergänzt um CSMA/CD (Carrier Sense Multiple Access/ Collision Detection) • Grundlage für das Ethernet (LAN: Local Area Network, lokale Vernetzung von Rechnern) und WLAN • Maximaler Durchsatz (statistische Berechnungen): ca. 18-35% der maximal möglichen Datenrate. Dieses prinzipielle Problem besteht heute noch z.B. im WLAN: Bei mehreren WLAN Stationen erziehlbare Datenrate bei 802.11b ist etwa 2-4 Mb/s, obwohl das Maximum bei 11 Mb/s liegt. Jahreszahlen: • Arbeit an Alohanet startete 1970, • 1972 wurde ALOHAnet mit dem ARPANET auf dem Festland verbunden. -> Frühe Vernetzung von Netzen Seite 5 ALOHAnet zeigt auch einfache Begründung für Aufteilung der Daten in (zeitlich) begrenzte Pakete: Dadurch wird es möglich, dass andere Stationen nach Ende des Paketes Zugriff auf das Übertragungsmedium bekommen. (Andernfalls gäbe es u.U. sehr Lange Wartezeiten). OSI-Model Bisher erwähnt: • TCP/IP (Transfer Control Protocol/ Internet Protocol) • Ethernet In welchem Verhältnis stehen sie zueinander? OSI (Open Systems Interconnection) Reference Model, Aufteilung in Layer: • 7 Application Layer: Beispiele: FTP, HTTP, POP3, Telnet • 6 Presentation Layer, Syntax Layer • 5 Session Layer • 4 Transport Layer. Bsp.: TCP, UDP • 3 Network Layer: IP (IPv4, IPv6) • 2 Data Link Layer: Ethernet, WLAN • 1 Physical Layer: 10 BASE-T, 1000 BASE-T Seite 6 (Datenverbindung) http://en.wikipedia.org/wiki/OSI_model Funktion von TCP (Transport Layer, Layer 4): • Teilt Datenstrom in Pakete auf, mit einer vorbestimmten Maximalgröße, • übergibt die Daten dem IP (Internet Protocol), • überprüft ob Pakete verloren gehen und dass die Reihenfolge stimmt, durch Vergabe einer Sequenz-Nummer, • prüft ob Daten ok sind durch Übertragung einer Check-Summe. • TCP auf Empfänger-Seite gibt Bestätigung (Acknowledgement) wenn Paket erfolgreich empfangen wurde. • TCP wiederholt Paket, wenn Ack. nicht innerhalb einer Time-out Zeit empfangen wurde. Alternativen zu TCP: • UDP (User Datagram Protocol) für Anwendungen wie Streaming Audio und Video. Überlässt der Anwendung viele der Funktionen von TCP. • ATM ( Asynchronous Transfer Mode) Timing basiertes Protokoll, geeignet für schnelle Übertragung von real-time Daten (TelefonSeite 7 Verkehr...) Transport Layer (Layer 4) Network Layer (Layer 3): IP (Internet Protokoll) Adressen Funktion: Adressierung von Datenstationen/Computern. (http://www.netplanet.org/adressierung) Am weitesten verbereitet: • IPv4, nutzt 32 bit Adressen (ca. 4 Milliarden Adressen) • IPv6, (next. gen. Internet), hat 128 bit Adressen Erweiterung der Adressfelder nötig wegen exponentieller Zunahme der Datengeräte im Internet. Versionen 0-3: nicht benutzt oder reserviert 5: experimentell. – Adressierung eines Datengerätes in IPv4 mit 32 bit, also 4 bytes oder octets, => Anzahl möglicher Adressen: 2^321=4.294.967.296 – Darstellung als 4 byte mit punktiertSeite 8 dezimaler Schreibweise. – Beispiel: Host id Netzwerk identification (id) Anzahl der bits für Netzwerk Identifikation ist variabel (Aus http://www.netplanet.org/adressierung/ip.shtm) Beispiel: • TU-Ilmenau Netz: 141.24.xxx • Massachusetts Institute of Technology (MIT) Netz: 18.xxx Beispiele: Anzeigen der eigenen IP Adresse: www.whatismyip.com Seite 9 Dort gibt es auch weitergehende Informationen und Befehle fuer verschiedene Betriebssysteme. -Anzeige von Informationen über eine IP Adresse: In Linux/Unix: whois ipadresse (unter Windows nur als Download erhaeltlich, nicht Teil des Betriebssystems!) -Anzeige der Route der Datenpakete mit Zeiten: Unter Linux: mtr (“my trace route”), z.B. mtr www.inf.hs-anhalt.de mtr www.mit.edu Seite 10 Vergabe von IP Adressen: • Globale und oberste Instanz: IANA (Internet Assigned Numbers Authority) • IANA delegiert IP Adressen zu Regional Internet Registries (RIRs): ➢ American Registry for Internet Numbers (ARIN) [1] für Nord-Amerika ➢ Réseaux IP Européens Network Coordination Centre (RIPE NCC) [2] für Europa, den Mittleren Osten und Zentral-Asien ➢ Asia-Pacific Network Information Centre (APNIC) [3] für Asien und die Pazifische Region ➢ Latin American and Caribbean Internet Address Registry (LACNIC) [4] für Latein Amerika und die Karibik ➢ African Network Information Centre (AfriNIC) [5] für Afrika (aus:http://en.wikipedia.org/wiki/Internet_Assig ned_Numbers_Authority) Seite 11 Domain Name System (DNS) Bisher: Datengerät wird durch Zahlen bezeichnet (IP Adresse). Problem: Schlecht für Menschen zu merken, IP Adressen können sich täglich ändern, wie bei den meisten DSL Anschlüssen! Lösung: Das Domain Name System, Verwendung von Domain Namen, also leichter zu merkende Namen für Datenendgeräte und Netze. Das Domain Name System (DNS): • Speichert Informationen verbunden mit Domain Namen (mit whois) • Übersetzt Domain Namen nach IP Adressen (mit host). Früher: Datei HOSTS.TXT (oder hosts unter Linux/Unix) im lokalen Rechner. Problem: Bei Änderungen müssen die Dateien in allen Rechnern geändert werden. (Ist immer noch als Seite 12 Ergänzung in Computersystemen. In Linux oder Unix unter /etc, in Windows unter \WINDOWS\system32\drivers\etc\) Jetzt, neuer Ansatz: Basiert auf Servern an zentralen Stellen im Internet (1983 erfunden von Paul Mockapetris) (http://en.wikipedia.org/wiki/Domain_name_syst em) Beispiel: Anzeige der IP Adresse eines Domain Name: In Linux/Unix: Befehl (im Terminal Fenster): host Windows: Befehl dnslookup Beispiel: Finde die IP Adresse der folgenden Web Server: host www.tu-ilmenau.de host www.mit.edu Der Domain Name Space: Seite 13 Aus: Wikipedia, Domain Name System. Seite 14 Das World Wide Web, Multimedia im Internet Vorläufer: "Gopher, 1991, Univ. of Minnesota, für remote Terminals (VT 100). Eingabetastatur, nicht Maus. Problem: Kein so einfaches User Interface Pionier: Tim Berners-Lee, Physiker am Kernforschungszentrum CERN (Schweiz), Ziel: Vernetzung von Informationen, Unterlagen, Papers, Dokumente. • Anfangs begrenzte Unterstuetzung, • Erstellte Prototyp mit Hilfe von Studenten, • Erster Prototyp 1990 auf einem NeXT Computer, mit Unix Betriebssytem. • Er entwickelte HTML (Hypertext Markup Language), HTTP, Libs für BrowserEntwicklung, ... • Gründete das World Wide Web Consortium (W3C) am Massachusetts Institute of Technology Laboratory for Computer Science (MIT/LCS), mit Beteiligung vom französischen Institut national de recherche Seite 15 en informatique et en automatique (INRIA). (http://www.netplanet.org/geschichte/worldwid eweb.shtml) Browser Durch die Definition von HTML und Herausgabe von Libraries zur Browser- Entwicklung entstanden eine Reihe von Browsern: • Mosaic: 1993 am National Center for Supercomputing Applications (NCSA) der Universität Illinois in den USA, • Netscape Navigator (1994): von Netscape, Gründung Marc Andreesen von Mosaic und Jim Clark von Silicon Graphics, in Mountain View/Kalifornien. Netscape brachte auch Erweiterungen des HTML Protokols. Starkes Wachstum von Netscape. • Internet Explorer (1995, Microsoft), auch wegen Erfolg von Netscape • Mozilla: 1998: Freigabe des Codes von Netscape, darauf Gründung der Mozilla Foundation • Firefox, 2004, von Mozilla Foundation • Opera, seit ca. 1995. Auch für spezielle Anwendungen z.B. wie für Handys (http://www.netplanet.org/www/browser.shtml, wikipedia) Seite 16 HTTP (Hypertext Transfer Protocol): • HTTP ist ein request/response Protokol zwischen Clients und Servern. • Ein HTTP Client initiert eine Anfrage durch das Herstellen einer Verbindung über Transfer Control Protocol (TCP) zu einem bestimmten Port des Remote Host (Port 80 ist default). • HTTP benennt benötigte Resourcen mittels des Uniform Resource Identifiers (URIs) (bzw. URLs, Uniform Resource Locator) mittels http: oder https: URI Festlegungen. • HTTP hat sich in mehrere, meist rückwärtskompatible Versionen entwickelt. • HTTP/1.1 ist die aktuelle Version; (http://en.wikipedia.org/wiki/HTTP) • HTML - Hypertext Markup Language. Originally designed based on SGML • HyperText Markup Language (HTML) is a predominant markup language for the creation of web pages. Standardized by W3C (WWW Consortium) Newer develpoments: • XHTML (Extensible HyperText Markup Language) is a markup language that has the same expressive possibilities as HTML, but a stricter syntax. Seite 17 • XML (Extensible Markup Language) is a W3C-recommended general- purpose markup language for creating specialpurpose markup languages, capable of describing many different kinds of data. Derived from SGML. Simplified subset of Standard Generalized Markup Language (SGML). Primary purpose: facilitate the sharing of data across different systems. (http://www.netplanet.org/www/ml.shtml) • SGML (Standard Generalized Markup Language): • SGML is a descendant of IBM's Generalized Markup Language (GML), developed in the 1960s by Charles Goldfarb, Edward Mosher and Raymond Lorie (whose surname initials also happen to be GML). • SGML was originally designed to enable the sharing of machine-readable documents in large projects in government, legal and the aerospace industry, which have to remain readable for several decades - a very long time in information technology. • SGML basiert auf ASCII Textformat. Seite 18 ASCII: • früh Standardisiert, für Programmiersprachen verwendet. • Langzeit-stabil! SGML is an ISO standard: • "ISO 8879:1986 Information processing Text and office systems - Standard Generalized Markup Language (SGML)". • Primarily intended for text and database publishing, one of its first major applications was the second edition of the Oxford English Dictionary, which was and is wholly marked up in SGML. (http://en.wikipedia.org/wiki/SGML) • Verwandtschaft zu LaTeX, Textverarbeitungssystem für wissenschaftliche Dokumente. • Erhältlich für Linux, Unix (Teil des Betriebssystems), Windows • Z.B. praktisch als LaTex tool: Texmaker Beispiel: \begin{document} Dies ist text \[Formel =\frac{a}{b}\] \end (document} Seite 19 Dies ist text Formel = a b SGML syntax example: <QUOTE TYPE="example"> typically something like <ITALICS>this</ITALICS> </QUOTE> Empfehlung: wissenschaftliche Arbeiten in Latex schreiben ( Medienprojekt, Studienarbeit, Diplomarbeit, Master-Arbeit...). => Mehr Stabilität, ist auch in Jahren noch zu Lesen. Seite 20