Vorlesung Rechnernetze I Prof. Dr. Harald Richter Die Vervielfältigung oder Weitergabe des Skripts ist nur mit Genehmigung des Verfassers gestattet. Alle Rechte liegen beim Verfasser. 1 1 Entwicklung der Kommunikationstechnik Ursprünge: Informationstyp: Transportmedium: Übertragungstechnik: Fortschritt: Protokoll: Zukunft: TV (Fernsehen) Telex (Fernschreiber = Vorläufer zu FAX) Video Funkwellen: terrestrisch/Satellit + KoaxAntennen: Parabol, Stab, ... DVB-T, DAB Zeichen/Daten Koax- und Glasfaser verdrilltes (schnell) Kupferkabel LANs: Ethernet, TokenRing, ... MANs: FDDI, DQDB, ... High-speed LANs: 1G-, 10G Ethernet DVB-T/DAB-Proto- IP-Protokoll Telefon Sprache Glasfaser WAN: SONET/ SDH verdrilltes Kupferkabel S-ISDN B-ISDN ATM-Protokoll IBCN (Integrated Broadband Communication Network): weltweites Mobil-/Festnetz + Internet + Multimedia 2 2 Ziele von Rechnernetzen Datenverbund • = Zugriff auf entfernte Dateien über Middleware wie z.B. das Network File System (NFS) Funktionsverbund • = Zugriff auf besondere Rechner wie z.B. Web-Server, Datenbank-Server Lastverbund • = Gleichmäßige Verteilung der Rechnerlast über Middleware wie z.B. beim Grid/Cloud Computing Verfügbarkeitsverbund • = Fehlertoleranz Speziell für das Internet gilt zusätzlich: • Informationsverbund = riesiges Lexikon weltweit verteilter Informationen • Kommunikationsverbund = Infrastruktur für Handel und Dienstleistungen wie z.B. eCommerce 3 Klassifikation von Netzen nach der Distanz keine Rechnernetze GrößenordProzessororte nungen der Entfernungen (ca.-Werte) Bezeichnung 0,1 m-10 m Multiprocessor, Multicomputer, Parallelrechner Platine Rechnersystem 10 m-10 km Raum Gebäude Local Area Network (LAN), Beispiel Ethernet Campus, Fabrik Rechnernetze 10 km-100km Stadt, Region Metropolitan Area Network (MAN), Beispiel FDDI 100 km100000 km Wide Area Network (WAN), Beispiel Internet Land Kontinent Planet Man unterscheidet zwischen lokalen Netzen (LAN = Local Area Network), Stadtnetzen (Metropolitan Area Network) und Weitverkehrsnetzen (WAN = Wide Area Network) 4 3 Standardmodell der Kommunikation: Das ISO-7-Schichtenmodell für Offene Systeme Wurde Anfang 1970er Jahre von der OSI entworfen. OSI = OPEN SYSTEMS INTERCONNECTION = Untergruppe der ISO Einführung von neuen Grundbegriffen (= Terminologie) Einführung eines verbindlichen Modells für geschichtete Kommunikation Das ISO-7-Schichten-Modell schlägt sieben Schichten und deren Funktionalität vor. Jede Schicht hat bei der Datenübertragung einen eigenen Satz von Aufgaben zu übernehmen. Datenaustausch ist nur zwischen benachbarten Schichten möglich, nicht kreuz und quer Im Internet wurden vom ISO-7-Schichten-Modell nur Schicht 1-4 und Schicht 7 implementiert 5 3.1 Blockschaltbild der Kommunikation im ISO-7-Schichtenmodell Rechnersystem i Anwendungs Prozess X1 === Rechnersystem j Anwendungs Prozess Xn Anwendungs Prozess Y Bsp.: BSDSocket Schnittstelle Bsp.: WinSocket Schnittstelle Kommunikationssystem nach OSI-Standard Kommunikationssystem nach OSI-Standard physikalisches Medium Verbundene Systeme 6 3.2 Grober Aufbau des ISO-7-Schichtenmodells Schicht 1 - 4 • Bit-und Nachrichtentransfer durch Datenrahmen (frames) bzw. Pakete (packets); keine höheren Funktionen • Inhalt der Daten ist ohne Bedeutung für die transportorientierten Schichten. Kein Bezug auf die Kooperationsbeziehung der Teilnehmer. Schicht 5 - 7 Transportorientierte Schichten = Schichten 1-4: Technische Erbringung von Übertragungen durch: Anwendungsorientierte Schichten = Schichten 5-7: Anwendungsbezogene Kommunikationsdienstleistungen Kooperation der Teilnehmer wird berücksichtigt durch: • • • • • Steuerung des Ablaufs (Sitzungssteuerung) Informationsdarstellung (verschiedene Zeichensätze und Datenformate) Kompensation von Fehlverhalten (Neustart eines Downloads bei Fehler) Datenverschlüsselung (Kryptographie) Datenkompression (JPEG, MPEG, MP3) 7 3.3 Feiner Aufbau des ISO-7-Schichtenmodells ist anders aufgebaut als System A heterogenes Rechnernetz Endsystem A beliebige räumliche Entfernung Teil des Betriebssystems in Form von Bibliotheken Teil der Rechner-Hardware 3.4 Endsystem B Anwendungsschicht Anwendungsspezifische Programme 7 Darstellungsschicht Datenformatierung und -darstellung 6 Sitzungsschicht Dialogsteuerung 5 Transportschicht Ende-zu-Ende-Datenaustausch 4 Vermittlungsschicht Ende-zu-Ende-Vermittlung 3 Sicherungsschicht Nur zwischen benachbarten Rechnern 2 Physikalische Schicht Physikalische Übertragung 1 Aufgaben der Schichten des ISO-Modells 1.) Die Bitübertragungsschicht ermöglicht die transparente Übertragung eines Stroms 8 binärer Informationen über ein Kabel aus Kupfer oder Glasfaser oder über Funk (= ungesicherter Bitstrom + mech. u. el. Spezifikation der Strecke) 2.) Die Sicherungsschicht regelt den Zugang zur Schicht 1, entdeckt Übertragungsfehler und bremst zu schnelle Sender (= gesicherte Bits + Zugang + Flusssteuerung) jeweils zwischen benachbarten Rechner 3.) Die Vermittlungsschicht wählt eine Netz-Route von Rechner zu Rechner über Zwischenknoten aus (= Wegewahl) 4.) Die Transportschicht übermittelt die Daten von Sendeprozess zu Empfangsprozess, d.h. von Ende-zu-Ende. Sie entlastet den Benutzer von den Details der Datenübertragung, z.B. durch Sicherstellung der Paketreihenfolge. 5.) Die Kommunikationssteuerungsschicht vereinfacht die Zusammenarbeit zwischen den kommunizierenden Anwendungsprozessen z.B. durch Wiederanlauf (Neustart, recovery); legt full-/halfduplex Übertragungsmodus fest. 6.) Die Darstellungsschicht transformiert u.a. die Daten in eine Form, die von beiden Anwendungsprozessen verstanden wird und komprimiert und verschlüsselt optional (= Datenformate + Kompression + Verschlüsselung) 7.) Die Anwendungsschicht enthält Benutzeranwendungen. Sie ist sehr groß (Bsp.: >105 apps) 9 3.5 Terminologie und grundlegende Prinzipien im ISO-Modell Offenes System für die Kommunikationsteilnehmer • jedes Rechnersystem aus Hardware, Software und Peripherie, das sich an die OSI-Standards hält, kann kommunizieren. N-Schicht (1N 7): • wird aus sämtlichen Programmen der Schicht N in allen offenen Systemen gebildet. Analogie: dieselben Stockwerke Nr. N aller Gebäude der Welt bilden die N-Schicht. N-Instanz (N-Entity): • Ganz bestimmte Implementierung einer Funktion der Schicht N auf einem System • Es kann auf demselben Rechner mehrere N-Instanzen geben, die unterschiedliche Protokolle implementieren; Bsp. TCP u. UDP Partnerinstanzen (Peer-Entities): • Instanzen derselben Schicht auf verschiedenen Rechnern. Peer-Entities erfüllen die Funktionen einer Schicht durch Datenaustausch von peer zu peer peer = Gleichgestellter, d. h. einer, der der gleichen (Adels)schicht angehört 3.6 Was macht eine Schicht im ISO-Modell? Hauptaufgabe jeder Schicht ist es, der darüber liegenden Schicht Dienste (= Funktionen) anzubieten. Diese Dienste setzen sich zusammen aus: • Dienstleistungen, die innerhalb dieser Schicht erbracht werden und 10 • der Summe der Dienstleistungen aller darunter liegenden Schichten Schichten sind über Dienste miteinander verknüpft. Sie bilden die Schnittstelle zwischen den Schichten. In der Software-Entwicklung heißt diese Schnittstelle application programming interface, API Dienste bestehen wiederum aus Dienstelementen (= Unterprogrammaufrufen) Da Schichten jeweils aufeinander aufbauen, ergibt sich eine Hierarchie von Diensten, deren Umfang mit der Schichthöhe zunimmt 11 3.7 Hierarchie von Diensten im ISO-Modell Benutzer A Benutzer B Anwendungsdienste Darstellungsdienste Kommunikationssteuerung Transportdienste Wegewahldienst Gesicherte Bit-Ströme Kabel, Stecker, Spannungspegel Übertragungsleitung Jede Schicht benutzt die Funktionen (= Dienste) der darunter liegenden Schicht Daten werden physikalisch nur auf der untersten Ebene zwischen den Rechnern übertragen, d. h. der Übertragungsstrecke Auf allen n-Schichten mit n>1 werden Daten nur innerhalb desselben Rechners „hin und her geschoben“ (im Form von Aufrufparameter und Resultatwerten) 12 3.8 Indirekte Kommunikation im ISO-Modell (Partnerprotokolle) Partnerprotokoll = peer protocol indirekte (virtuelle) Kommunikation Application direkte Kommunikation Presentation Session Transport Network Data Link Physical Physikalisches Übertragungsmedium • Daten werden innerhalb eines Rechners von Schicht zu Schicht transportiert • Zwischen 2 Rechnern können Daten nur auf der Schicht 1 transportiert werden • Kommunikation zwischen Instanzen höher als Schicht 1 werden indirekt (virtuell) abgewikkelt 13 • Indirekte Kommunikation wird mittels eines Protokolls zwischen Partnerinstanzen so durchgeführt, dass beide Partnerinstanzen „sich verstehen“ (Protokoll = gemeinsame „Sprache“) 3.8.1 Direkte und indirekte Kommunikation Dienstelement obere Schnittstelle N-Schicht untere Schnittstelle c c d Instanz a Protokoll = indirekt c c Instanz a a = gleichgestellte N-Instanzen (Peer Entities) b = Dienst besteht aus einer Menge von Dienstelementen c = Dienstelement (Service Primitives) d = Protokoll zwischen Gleichgestellten (Peer Protocol) } b Dienst c c Rechner A = direkt = direkt c c Rechner B Direkter Datenaustausch erfolgt mit Hilfe von Dienstelementen (= Unterprogrammaufrufen) eines Dienstes (= einer API) zwischen benachbarten Schichten desselben Rechners 14 Indirekter Datenaustausch erfolgt mit Hilfe eines Protokolls zwischen Partnerinstanzen auf verschiedenen Rechnern Eine direkte Kommunikation der Schicht N (1<N<7) erfolgt nur mit den Schichten (N+1) und (N-1) Indirekte Kommunikation (Protokoll) mit Partnerinstanzen (Peer Entities) 15 3.8.1.1 Implementierung der direkten und indirekten Kommunikation Layer M 5 Layer 5-Protokoll Layer 4-Protokoll H4 H4 M Segmentierung 4 M session Transport M Konkatenation Layer 3- H3 H4 M 1 3 H 2 H 3 H 4 M 1 T2 2 H3 M 2 H3 M 2 H3 H4 M 1 Protokoll H 2 H 3 H 4 M 1 T2 H2 H3 M 2 T 2 physical Ziel Quelle M = Message = Nachricht datalink Layer 2-Protokoll physikalische Verbindung 1 H 2 H 3 M 2 T2 network H = Header = Vorspann = Nachrichtenkopf T = Trailer = Nachspann Nachricht wird von „oben nach unten“ und dann von „unten nach oben“ durchgereicht Die Nachricht wird bei jedem Übergang zwischen 2 Schichten um einen Vorspann (Header) und ggf. auch um einen Nachspann (Trailer) verlängert Protokoll = Menge der Regeln für den indirekten Datenaustausch zwischen Entities derselben Schicht (peer-to-peer communication 16 3.8.2 Definition Dienst, Dienstzugangspunkt, Dienstelemente ) Rechner A Rechner B Anwendungsprozess A Dienstelement Anwendungsprozess B Datenaustausch Dienst Protocol Stack Dienstzugangspunkt entity A entity B Peer Entity der Schicht (N) physikalisches Medium Die Schichten werden in ihrer Implementierung auch als Protocol Stack bezeichnet N Schnittstelle: Menge von Dienstelementen (Unterprogrammaufrufen) der Schicht N Dienstzugangspunkt: Name des Unterprogrammaufrufs mit Art und Typ der Übergabeund Resultatparameter (= Signatur der Prozedur) 17 3.9 Die 4 Arten von ISO-Dienstelementen Rechner A Rechner B Prozess a 1. Request Prozess b 4. Confirmation 3. Response 2. Indication Datenübertragung Es gibt für jeden Dienst einer Schicht i (1<i<7) 4 Dienstelemente, die gemeinsam den Dienst in Form eines 4-Phasen Handshakes bilden: 1.) Anforderung (Request) = Aktivieren eines Dienstes der Schicht durch den Dienstnehmer 2.) Anzeige (Indication) = Dem Diensterbringer anzeigen, dass vom Dienstnehmer ein Dienst angefordert wurde 3.) Antwort (Response) = Quittieren einer vorherigen Anzeige oder Erbringung des angeforderten Dienstes durch den Diensterbringer 18 4.) Bestätigung (Confirmation) = Quittieren einer vorherigen Anforderung beim Dienstnehmer 3.10 Die 3 Phasen der ISO-Kommunikation Darüberhinaus heißt jede Kommunikation, die in folgenden 3 Phasen abläuft, verbindungsorientierte Kommunikation: • Verbindungsaufbau (Connect), Datentransfer (Data Transfer) und Verbindungsabbau (Disconnect) Für jede der 3 Phasen gibt es einen Dienst, der diese Phase implementiert Eine verbindungsorientierte Kommunikation steht im Gegensatz zur sog. verbindungslosen Kommunikation, bei der sofort gesendet werden kann (kein Verbindungsaufbauund -abbau) Request, Indication, Response und Confirmation sind die 4 Typen von Dienstelementen, die es bei jedem verbindungsorientierten Protokoll im Prinzip in jeder Schicht i (1 < i < 7) gibt Die Zahl der Kombination aus Dienste, Dienstelemente und Phasen einer Schicht berechnet sich zu: dN Dienste der Schicht N * 4 Dienstelemente pro Dienst * 3 Phasen = dN*12 Kombination (im Prinzip) 19 3.10.1 Beispiel: Presentation.Connect = Verbindungsaufbaudienst der Schicht 6 Rechner B Rechner A Schicht 6 ConnectDienst der Schicht 6 5 darunterliegende Schichten Presentation Layer B Presentation Layer A 1.) Presentation. Connect. Request-Dienstelement 4.) Presentation. Connect. ConfirmationDienstelement 3.) Presentation. Connect. ResponseDienstelement 2.) Presentation. Connect. Indication-Dienstelement Protocol Stack Protocol Stack 20 3.11 Zusammenfassung ISO-7-Schichten-Modell 1.) Die ISO-Bitübertragungsschicht ermöglicht die Übertragung von Informationen über ein Kabel aus Kupfer oder Glasfaser oder per Funk (= ungesicherter Bitstrom + mechanische + elektrische + funktionale + prozedurale Spezifikation der Strecke) 2.) Die ISO-Sicherungsschicht regelt den Zugang zum Übertragungsmedium, entdeckt Übertragungsfehler jeweils zwischen benachbarten Rechnern, macht ggf. eine Rahmenwiederholung und bremst zu schnelle Sender durch Flusssteuerung (=Zugang + gesicherte Bits + Flusssteuerung 3.) Die ISO-Vermittlungsschicht macht einen Verbindungsaufbau und -abbau, wählt einen Weg vom Quellrechner zum Zielrechner durch das Netz. Im Allgemeinfall verläuft dieser über mehrere Zwischenknoten. Sie zerkleinert zu große Schicht 3-Pakete in kleinere Schicht 3-Pakete (=“Fragmente“), die anschließend von Schicht 2 übertragen werden können, und setzt diese beim Empfänger wieder in der richtigen Reihenfolge zu einem Paket zusammen (= Fragmentierung und Reassemblierung). Sie erkennt, welches Schicht 3-Fragment zu welchem Schicht 3-Paket gehört. 4.) Die ISO-Transportschicht macht ebenfalls einen Verbindungsaufbau und -abbau, übermittelt die Daten von Sendeprozess zu Empfangsprozess, d.h. von Ende-zuEnde. Sie stellt die Paketreihenfolge sicher, löscht Duplikate und macht im Fehlerfall eine Ende-zu-Ende Paketwiederholung. Sie erlaubt eine Pufferverwaltung bei Sender 21 und Empfänger und stellt Prioritäten bei der Übertragung zur Verfügung. Sie sorgt schließlich dafür, dass das Netz nicht überlastet wird. 5.) Die ISO-Kommunikationssteuerungsschicht vereinfacht die Zusammenarbeit zwischen den kommunizierenden Anwendungsprozessen z.B. durch Rücksetzen und Wiederanlauf einer unterbrochenen Verbindung (recovery). Sie legt full-/halfduplex fest und erlaubt das Multiplexen mehrerer logischer Kanäle auf einen physikalischen Kanal. 6.) Die ISO-Darstellungsschicht transformiert die Daten in eine Form, die von beiden Anwendungsprozessen verstanden wird und komprimiert und verschlüsselt optional (= Datenformate + Kompression + Verschlüsselung). 7.) Die Anwendungsschicht enthält Middleware und Benutzeranwendungen Das Internet implementiert die ersten vier Schichten des ISO-Modells 22 Anwendung Dateitransfer (ftp, Port 20, 21), Telnet (Port 23), E-Mail (smtp, Port 25), DNS (Port 53), NFS, www (http, Port 80), ... Transport Transmission Control Protocol TCP, User Datagram Protocol UDP Vermittlung Sicherung 2b (Logical Link Control Sicherung 2a (Medienzugangssteuerung) Bitübertragung Internet Protokoll IP V4, IP V6 Internet Control Message Protocol ICMP - - - Logical Link Control (LLC) (theoretisch) - Point to Point Protocol (PPP) E1/T1 FDDI DQDB Ethernet WLAN DSL - SONET /SDH 4 Bitübertragungsschicht (ISO-Schicht 1) ISO-Definition: „Die Bitübertragungsschicht definiert die mechanischen, elektrischen, funktionalen und prozeduralen Eigenschaften, um physikalische Verbindungen zwischen Datenendeinrichtungen und Datenübertragungseinrichtungen aufzubauen, aufrecht zu erhalten und abzubauen.“ 23 Die Bitübertragungsschicht sorgt für die Übertragung eines transparenten Bitstroms zwischen Sicherungsschicht-Instanzen über physikalische Verbindungen Eine physikalische Verbindung realisiert die Übertragung eines Bitstroms im Vollduplex- oder im Halbduplex-Modus Vollduplex = gleichzeitiger bidirektionaler Datenaustausch Halbduplex (=Simplex) = zu einer Zeit nur in einer Richtung, dann wird die Richtung gewechselt u.s.w. (= unidirektionaler Datenaustausch mit wechselnden Kommunikationsrichtungen) 4.1 Es werden in der Bitübertragungsschicht mechanische, elektrische, funktionale und prozedurale Schnittstellen und Regeln definiert, die von Sender und Empfänger eingehalten werden müssen, damit Daten ausgetauscht werden können 4.1.1 Mechanische Schnittstellen Hier geht es im die Abmessungen der Stecker, die Anordnung der Pins im Stecker etc. 4.1.2 Spezifikationen in der Bitübertragungsschicht Elektrische Schnittstellen auf den Leitungen Hier werden die Signalpegel (Spannungs- oder Stromwerte) für High- und Low-Bits, sowie die Art der Erdung und Schirmung der Kabel festgelegt 24 4.1.3 Funktionale Schnittstellen Hier wird festgelegt, welcher Pin welche grundsätzliche Funktion hat und wie deren Zeitverhalten, das sog. Timing ist Hier wird auch die Bitrate der Bitübertragung und die Art der verwendeten Codierung festgelegt Beispiel: RS232 (V.24) mit den Datenleitungen TX, RX und Steuerleitungen Request to Send, Clear to Send, Data Set Ready und Data Terminal Ready, sowie GND DEE = Datenendeinrichtungen = DTE = Data Terminal Equipment DÜE = Datenübertragungseinrichtung = DCE = Data Communication Equipment 4.1.4 Prozedurale Regeln Hier wird festgelegt, wie die Pins des Steckers im Kontext zu den anderen Pins sich verhalten müssen, d.h., hier geht es um das logische Zusammenspiel der einzelnen Schnittstellenleitungen Wichtig für die Benutzung der Schnittstellenleitungen Beispiel: bei V24 darf das Clear to Send-Signal des Modems erst dann aktiv werden (High), wenn zuvor Data Set Ready des Modems und wenn Request to Send des Computers aktiv wurde, der an das Modem angeschlossen ist z. B. CCITT „X.21: Interface between DTE and DCE for synchronous operation on public data networks“ 25 4.1.5 Beispiele für mechanische Spezifikationen 25,12 24,87 9 Pin-Stecker, ISO 4902, EIA RS-449 33,45 33,20 15 Pin-Stecker, X.20, X.21, X.22 X.21 = Norm für synchrone bitserielle Übertragung 47,17 46,91 25 Pin-Stecker, ISO 2110, EIA RS-232-C, V.24 V.24= Norm für asynchrone bitserielle Übertragung 26 4.1.6 Beispiel für eine elektrische Spezifikation CCITT V.24 (EIA RS-232-C)= Norm für asynchrone serielle Übertragung Driver Sender Interconnecting Cable Terminator Empfänger Kabel Interface 12 V D T Signal Ground In der kleinsten Version sind nur 2 verdrillte Kabeladern + Masse (GND) nötig Keine Abschirmung der Adern, nur Verdrillung (= Telefonkabel) => sehr preisgünstig Bitrate begrenzt auf <100 kbit/s, Entfernung begrenzt auf <15 m 4.2 Asynchrone und synchrone Übertragung Asynchron heißt: kein Taktsignal zwischen Sender und Empfänger, Bsp.: V.24 Synchron heißt: Taktinformation wird zeitgleich mit den Nutzbits übertragen 27 Dafür kann eine extra Leitung verwendet werden (=teuer + selten) oder eine spezielle Codierung, die auf der Datenleitung den Takt mitüberträgt (=preisgünstig + häufig) Da der Empfänger den Sendetakt erhält, wird dieser zur Abtastung der Bitsignale benutzt = Synchronisation der Bitsignale mit dem Taktsignal => stabile Erkennung der Bits selbst bei hohen Datenraten 4.2.1 Sender und Empfänger haben voneinander unabhängige, i.e. lokale Taktgeber „Freie Leitung“ (= Leitung ohne Daten) entspricht einem kontinuierlich gesendeten High-Bit Problem der Unterscheidung zwischen freier Leitung und High-Pegel. Das Start-Bit setzt die Leitung auf Low und startet so den Taktgeber beim Empfänger Ein Übertragungsrahmen enthält 5 bis 8 Nutzbits (= 1 Zeichen) Das Stop-Bit setzt die Leitung wieder auf High. Dieses Signal muss 1, 1.5 oder 2 BitIntervalle andauern; entspricht 1, 1.5 oder 2 Stop-Bits Ein Paritätsbit dient zur Überprüfung der Nutzbits beim Empfänger 4.2.2 Beispiel für asynchrone Übertragung: V.24 (RS 232) Vorteile der asynchronen Übertragung Es wird keine Synchronisierung des Empfänger-Taktgebers mit dem Sender-Taktsignal benötigt, da kein Takt übertragen wird Hardware-mäßig leicht zu implementieren 28 4.2.3 Nachteile der asynchronen Übertragung Die Taktgeber weichen im Laufe der Zeit voneinander ab, da sich kleine Zeitunterschied akkumulieren Erhebliche Einschränkungen bzgl. Datenraten und Rahmenlängen: Die „Nutzlast“ des Rahmens ist sehr kurz (nur 1 Zeichen; entspricht 5-8 Bits) Es sind nur niedrige Datenraten möglich (<100 Kbit/s) Die Start- und Stop-Bits bedeuten einen Mehraufwand, und die Effizienz sinkt Beispiel: 1 Start-Bit + 7-Bit ASCII-Zeichen + 1 Paritätsbit + 1 Stop-Bit => d.h., insgesamt 10 Bit pro Rahmen für 7 Nutzbits => 30% Overhead. Nur 70% der Leitungsbandbreite stehen für Benutzerdaten zur Verfügung. 4.2.4 Timing-Diagramm einer asynchronen Übertragung (V24) In den beiden nachfolgenden Timing-Diagrammen wird der Signalverlauf über der Zeit bei der Übertragung eines Zeichens und bei einer Zeichenfolge gezeigt 29 4.2.4.1 Leitungscode für ein Zeichen Signalhöhe Stopbit (Pegel wie im Ruhezustand) Lange Eins = Ruhezustand 5 bis 8 Datenbits Signalwert = 1 Signalwert = 0 Zeit Startbit 1 Paritybit (Odd, Even) 1,5 2 4.2.4.2 Leitungscode für eine Zeichenfolge Beliebig lange Ruhepause zwischen Rahmen Ruhezustand Startbit Stop bit Start bit Stop bit = 1. Zeichen+Parity )) )) )) 1 1 1 1 0 0 0 0 Stop bit Start bit 0 0 1 0 1 1 0 0 = 2. Zeichen+Parity 30 1 00 1 0 1 0 = 3. Zeichen+Parity 4.2.5 Effekt der auseinander laufenden Uhren bei asynchroner Übertragung Senderate f1 Abtastrate f2 > f1 1 start 2 3 4 5 6 7 8 stop Fehlabtastung! 4.2.6 Synchrone Übertragung Sende- und Empfangstakt laufen beliebig lange im Gleichtakt, d.h. synchron => Eine Neusynchronisation der Takte über ein Startbit vor jedem Zeichen ist nicht erforderlich Taktsignal wird entweder auf einer separaten Leitung übertragen (= zu teuer) oder aus dem Code des Datensignals regeneriert (= Regelfall) Taktregenerierung aus dem Datensignal erfordert eine spezielle Codierung der Daten z. B. mittels Manchester-Code, um Daten und Takt gemeinsam auf derselben Leitung übermitteln zu können 31 4.2.7 Timing-Diagramm einer synchronen Übertragung Bit = Bit = Bit = Bit = Zelle Zelle Zelle Zelle 1 0 1 1 0 0 1 0 0 1 0 0 Daten Clock (Takt) Abtastzeitpunkte liegen stets in der Mitte der Bitzelle Sender Takt 1 Datenbits Taktsignal Empfänger Takt 1’ = 1 Im Beispiel erfolgt das Auslesen der Datenbits bei abfallender Flanke des Taktsignals und es wird ein separates Taksignal verwendet 32 4.3 Physikalische Medien zur Datenübertragung 1.) Verdrilltes Adernpaar („twisted pair“) zur Verminderung von Übersprechen auf parallel geführte, sonstige Kabel, sowie zur Elimination von Einstreuungen von sonstigen, parallel geführten Kabelsn • Dies ist die klassische Telefonverkabelung und wird auch für DSL-Übertragung zur Ortsvermittlungsstelle eingesetzt • Braucht wenig Platz, hat enge Biegeradien, ist sehr preiswert 2.) Abgeschirmtes und verdrilltes Adernpaar („shielded twisted pair“ STP) • Unempfindlich gegen Störstrahlung von außen • Sendet auch keine Störstrahlung von außen • Der Schirm erlaubt einen definierten Wellenwiderstand zwischen Signalleitungen und Masse => sehr hohe Bandbreiten bis ca. 1 GHz sind damit auf einer einzigen Doppelader möglich • Ist teurer als twisted pair 3.) Koaxialkabel: Noch störsicherer, ermöglicht noch höhere Bandbreiten bis ca. 40 GHz bis, noch teurer, verbreitet in Kupferkabel-basierten Weitverkehrsnetzen 4.) Lichtwellenleiter (Glasfaser): sehr hohe Übertragungsraten, geringe Dämpfung und völlig ohne Störungsein- und -auskopplungen, aufwendige Steckverbinder, am teuersten. Die Basis aller Weitverkehrsnetze ab ca. 1985. 33 4.3.1 Koaxialkabel Kupferkern (Innenleiter) mit Leitfähigkeit >> 1 Isolierschicht (Dielektrikum) mit relativer Dielektrizitätskonstante r > 1 geflochtener, elektrisch leitender Außenleiter mit Leitfähigkeit >> 1 Plastikschutzschicht 50 Ohm-Koaxialkabel heißt: Wellenwiderstand zwischen Innenleiter und Schirm ist 50 Ohm Beispiel: lokales Netzwerk auf Koaxialkabelbasis Aber: Abstand zwischen den LAN-Transceivern auf dem Koaxialkabel sollte ein ganzzahliges Vielfaches der Wellenlänge der Grundfrequenz des lokalen Netzes sein Und: Sender u. Empfänger müssen die gleiche Impedanz wie das Kabel haben, damit es zu keinen Reflektionen kommt und damit die LAN-Transceiver die hohe Spannung eines Wellenbergs erhalten 34 4.3.2 Glasfaserkabel Sehr hohe Datenraten: • Theoretisches Limit: 300 TeraBit/s = ungefähr die Frequenz des Lichts, Praktisches Limit zur Zeit ca. 100 GigaBit/s => grosses Verbesserungspotential vorhanden Als Transmitter und Receiver werden Halbleiterbauelemente verwendet: • Laserdiode oder Leuchtdiode als Sender, Photodiode als Empfänger Beschränkende Faktoren für die Datenrate: Absorption und Dispersion in der Faser 35 4.3.2.1 Absorption in der Faser Eingangssignal 4.3.2.2 Ausgangssignal Dispersion in der Faser Eingangssignal Ausgangssignal Zeit Zeit Die optische Kopplung zwischen zwei Fasern ist mechanisch aufwendig, da der Kern der Faser, der das Licht leitet, nur ca. 1 m - 50 m dünn ist (Präzisionsstecker!) 4.3.3 Technologien bei Glasfasern Es gibt Stufenindex-, Gradientenindex- und Monomode-Fasern 36 4.3.3.1 Stufenindex-Faser Radius r Kern Brechungsindex n Zeit Mantel Output Signal ist schwach und breit Zeit Totalreflektionen Der Brechungsindex springt zwischen Kern und Mantel 4.3.3.2 Gradientenindex-Faser Radius r Faser Input Kern Brechungsindex n Faser Input „Kontinuierliche“ Reflektionen Zeit Mantel Output geringere Dämpfung und Verzerrung Zeit Der Brechungsindex des Kerns geht kontinuierlich in den des Mantels über 37 4.3.3.3 Monomode-Faser Radius r Kern Brechungsindex n Faser Input Mantel Output Signal ist am besten Zeit = Wellenleiter: Faserdurchmesser ist in der Größenordnung der Wellenlänge Zeit Die Faser ist so dünn, dass sie in der Größenordnung der Wellenlänge liegt Das Licht wird nur von der Faser über quantenmechanische Effekte gelenkt 38 4.3.4 Vergleich der Glasfasertechnologien 104 Übertragbare Informationsmenge (M Bit/s) Gr 103 ad ie Mo no mo nt en i nd ex de fas er fas 565 Gr 140 10 er Si ad ien ten 2 gn alw i nd ex e ll en fas lä n er 34 10 Systemparameter: max. Regeneratorabstand aufgrund der Dämpfung ge 85 0 13 00 nm (n nm ah es 1 3 (fe rn I nf es ra ro Inf ra ro 1 Gradientenfaser, LED als Sender, 850nm Wellenlänge 2 Gradientenfaser, Laser als Sender, 1300nm Wellenlänge 3 Monomodefaser, Monomode-Laser als Sender, 1300nm Wellenlänge t) t) 2 1 0 2 6 10 20 30 40 100 200 600 Verstärkerabstand in km 1000 39 4.4 Modulation von Signalen Modulation: Aufprägung von digitalen Daten oder analogen Signalen auf hochfrequente analoge Signale (=elektromagnetische Wellen) Modem (= Modulator + Demodulator): dient zur Modulation digitaler Daten (Modulator zum Senden; Demodulator zum Empfangen) Es gibt 3 Modulationsarten für elektromagnetische Wellen 1.) Amplitudenmodulation (AM) => Amplitude Shift Keying (ASK) für Binärdaten 2.) Frequenzmodulation (FM) => Frequency Shift Keying (FSK) für Binärdaten 3.) Phasenmodulation (PM) => Phase Shift Keying (PSK) für Binärdaten Signalstärke Amplitude Sinusschwingung { Zeit Phase Frequenz / Wellenlänge 40 4.4.1 Beispiele zu Modulationsverfahren 0 1 0 1 1 0 0 1 0 0 1 0 (a) (b) große/kleine Amplitude (c) große/kleine Frequenz (d) High = kleine Phase = Sinus; Low = große Phase = Cosinus (a) binäres Datensignal, das eine Welle moduliert (b) Extremfall der amplitudenmodulierten Welle, Amplitude 1 ist >0, Amplitude 2 = 0 (c) Frequenzmodulierte Welle (Frequenz springt zwischen 2 Frequenzen hin und her) (d) Phasenmodulierte Welle (Phase springt zwischen 2 Phasen hin und her) 41 4.5 Codierung von Signalen Die analogen Signale werden in der Zeit und in der Signalhöhe diskretisiert (= quantisiert) und dann durch einen Code repräsentiert. Anstelle des Analogsignals wird der Codewert übertragen. Dies wird als Analog/Digital-Umsetzung bezeichnet. Im einfachsten Fall wird der Binärcode zur Darstellung des Signals verwendet; bei Rechnernetzen wird der Binärcode allerdings nicht eingesetzt, da ungeeignet Zur Analog/Digital-Umsetzung gibt es auch die inverse Operation, die D/A-Wandlung (Rückkonvertierung). Ein elektronischer Baustein (Chip) kann beides. Er wird als CODEC (Codierer/Decodierer) bezeichnet und ist in Handys und ISDN-Telefonen eingebaut. Analogsignale 4.5.1 CODEC Digitale PCM-Signale CODEC Analogsignale Non Return to Zero Codes (NRZ-Codes) Die NRZ-Codes bilden eine ganze Familie von Codes Das gemeinsame Kennzeichen der NRZ-Codes ist, dass ein fester Pegel während eines Bitintervalls herrscht. Pegelwechsel erfolgen nur an den Intervallgrenzen. 42 Non return to zero soll daran erinnern, dass der Signalpegel für die Übertragung der „1“ innerhalb des Bitintervalls nicht auf 0 Volt zurückkehrt, sondern beim High-Pegel bleibt NRZ Codes sind einfach zu implementieren 4.5.1.1 NRZ-L-Code (L= Level) Der NRZ-L-Code ist der bekannte Binärcode, wie er in jedem Rechner verwendet wird • d.h.,: „1“ = hoher Pegel, „0“ = niedriger Pegel 4.5.1.2 NRZ-M-Code und NRZ-S-Code (M = Mark, S = Space) NRZ-M und NRZ-S sind sog. differenzielle Codierungen D.h., es wird nicht der absolute Spannungswert (hoher Pegel bzw. niedriger Pegel) zur Codierung von „0“ und „1“ verwendet, sondern ein Spannungswechsel vom augenblicklichen Wert in den komplementären Wert (z.B. von hoch nach niedrig oder von niedrig nach hoch). NRZ-M heißt: • zur Darstellung der „1“ wird ein Spannungswechsel vorgenommen • Zur Darstellung der „0“ wird kein Signalwechsel vorgenommen NRZ-S heißt: • zur Darstellung der „0“ wird ein Spannungswechsel vorgenommen • Zur Darstellung der „1“ wird kein Signalwechsel vorgenommen 43 Vorteile von NRZ-M und NRZ-S gegenüber NRZ-L: • Unter Einfluss von Störungen wie z.B. Rauschen sind Signalwechsel leichter zu detektieren als absolute Signalpegel, da Wechsel nur kurz dauern, während Pegel im Wert einbrechen können • D.h. Pegel schwanken bei Störungen, müssen aber mit einem festen Schwellwert verglichen werden müssen, um zwischen „0“ und „1“ zu unterscheiden, was dann zu Fehlinterpretationen führt Nachteile aller NRZ-Codes: 1.) eine stets vorhandene Gleichstromkomponente => keine Trafo- oder Kondensatorkopplung möglich => sog. „Erdschleifen“ und Störungen sind wahrscheinlich 2.) Es gibt Synchronisierungsprobleme zwischen Sender und Empfänger bei langen „0“Folgen bei NRZ-M, bzw. bei langen „1“-Folgen bei NRZ-S, da sich nichts auf der Leitung ändert 4.5.2 Biphase-Codes = Zweite Gruppe von Codes Das Kennzeichen aller Biphase-Codes ist, dass es zwei zeitliche Abschnitte (Phasen) in jeder Bitzelle gibt => höhere Bandbreite erforderlich Alle Biphase-Codes haben mindestens einen und höchstens zwei Spannungswechsel pro Bitzelle 44 4.5.2.1 Biphase-L (= Manchester-Code) Die erste Hälfte der Bitzelle enthält die Binärdarstellung, d.h. eine hohe Spannung bei „1“, eine niedrige Spannung bei „0“ In der 2. Hälfte der Bitzelle wechselt der Spannungswert zum Komplement Immer ein Signalwechsel in der Mitte des Intervalls; Je nach Bitfolge ggf. auch Signalwechsel am Ende des Intervalls Der Signalwechsel in der Mitte wird vom Empfänger als Taktsignal für eine synchrone Übertragung genutzt Vor- und Nachteile von Manchester: • Nachteil: Doppelte Baudrate bei unveränderter Bitrate gegenüber reinem Binärcode (doppelt so häufige Spannungswechsel) • Vorteil: Takt und Daten können gleichzeitig auf demselben Kabel übertragen werden = taktsynchrone Übertragung Wird für Ethernet verwendet 4.5.2.2 Differential Manchester-Code Immer ein Signalwechsel in der Intervallmitte (= wie bei Manchester, die Bits werden aber nicht explizit in der ersten Hälfte der Bitzelle kodiert) Bei „0“ zusätzlicher Signalwechsel am Intervallbeginn. Bei „1“ passiert nichts. Wird für Token Ring verwendet, da störungsicherer als Manchester 45 4.5.2.3 Immer ein Signalwechsel am Intervallbeginn Bei „1“ zusätzlicher Signalwechsel in der Intervallmitte. Bei „0“ passiert nichts. 4.5.2.4 Biphase-S Immer ein Signalwechsel am Intervallbeginn (wie Biphase-M) bei „0“ zusätzlicher Signalwechsel in der Intervallmitte (komplementär zu Biphase-M) 4.5.2.5 Biphase-M (= Miller-Code oder FM-Code) Modified Miller-Code (= Modified Delay „Modulation“, MFM-Code) Signalwechsel am Ende des Intervalls, wenn nach einer Null wieder eine „0“ folgt Bei „1“ zusätzlicher Signalwechsel in der Intervallmitte Vorteile: • Bandbreitebedarf ist geringer als bei Manchester oder Biphase-M • Störsicherheit ist größer als bei Manchester, da differentieller Code Wird für die Datenaufzeichnung bei magnetischen Medien (Festplatten, Bänder) verwendet. Bits können damit auf der Festplatte dichter gepackt werden. 4.5.2.6 Bipolar-Code (= Alternate Mark Inversion) Verwendet drei Signalwerte: positive Spannung, Null und negative Spannung „1“ wird im Wechsel durch einen positiven bzw. negativen Impuls in der 1. Hälfte des 46 Bitintervalls dargestellt „1“ ist abwechselnd eine positive Spannung und eine negative Spannung In der 2. Hälfte kehrt die Spannung jeweils auf Null zurück Nachteil: doppelte Baudrate Vorteil: keine Gleichstromkomponente => Trafo- oder Kondensatorkopplung ist möglich Wird bei ISDN verwendet 4.5.2.7 Vorteile der Biphase-Codes Leichte Taktsynchronisierung zwischen Sender und Empfänger, weil mindestens ein Spannungswechsel pro Bitintervall stattfindet = taktsynchrone Übertragung, d.h. Takt kann zusammen mit den Daten in demselben Signal übertragen werden Spannungswechsel dienen als Impulsflanke zum Triggern des Empfänger-Flipflops Fehlererkennung ist bereits auf Ebene 1 des ISO-7-Schichten-Modells anhand des Ausbleibens eines Spannungswechsels in einer Bitzelle möglich 47 4.5.3 Graphische Beispiele bei Leitungscodes 1 0 1 1 0 0 0 1 1 0 1 NRZ-L NRZ-L = non return to zero-level NRZ-M = non return to zero-mark NRZ-S = non return to zero-space NRZ-M NRZ-S Biphase-L (Manchester) Biphase-M Biphase-S DifferentialManchester Modified Miller Bipolar 48 4.6 Multiplexen von Signalen Definition: Übertragungsweg • physikalisch-technisches Transportsystem für Signale (z. B. Kabel) Definition: Übertragungskanal • Verwaltungsgröße innerhalb eines Übertragungsweges zur Übertragung des Signalstroms einer einzigen Quelle Auf einem Übertragungsweg können mehrere Übertragungskanäle parallel betrieben werden Die Aufspaltung der gesamten Übertragungskapazität eines Übertragungsweges auf verschiedene Übertragungskanäle ist möglich und effizient Definition: Multiplexing • Die Aufspaltung eines Übertragungswegs in mehrere Übertragungskanäle heißt Multiplexing • Durch Multiplexing wird es möglich, einen Übertragungsweg mehrfach zu nutzen => Effizienzsteigerung Übertragungswege können sowohl in der Zeit als auch in der Bandbreite mehrfach genutzt werden => Frequenzmultiplex + Zeitmultiplex 49 4.6.1 Frequenzmultiplexen a) b) Amplituden Modulation Input Basisband Kanal 1 c) Output (a) Spektren dreier Telefongespräche (3 Basisbänder) (b) Im Spektrum verschobene Basisbänder (Breitband) (c) Spektrum der Signale auf dem Übertragungsweg (Kabel) verschobenes Basisband (Breitband) 1 f 0 Spektrum f 60 64 68 72 Spektrum Kanal 1 Kanal 2 1 f 0 f 60 64 68 72 60 64 68 72 0 f 60 64 Kanal 3 1 f 300 3100 Kanal 3 Kanal 2 0 f 50 68 72 4.6.1.1 Grundidee des Frequenzmultiplexens Breitbandige Übertragungswege ermöglichen die Unterbringung vieler Übertragungskanäle in unterschiedlichen Frequenzbereichen (Frequenzbändern), d. h., man teilt die verfügbare Bandbreite in eine Reihe von - nicht notwendigerweise gleich breiten - Frequenzbändern auf und ordnet jedem Frequenzband einen Übertragungskanal zu. Frequenz Bandbreite des Übertragungskanals Kanal 1 Kanal 2 Bandbreite des Übertragungsweges ... Kanal n Zeit Es gilt: Summe über alle Kanalbandbreiten Bandbreite des Übertragungsweges 51 4.6.1.2 Prinzipielle Realisierung von Frequenzmultiplexen Amplituden-Modulatoren Bits BST = Bitstrom BST1 Amplituden-Demodulatoren Filter f1 Träger f1 BST1 BST2 Frequenzgemisch BST2 Bits Filter f2 Träger f2 3 AM-modulierte Träger f1, f2, f3 auf einem Kabel BST3 BST3 Träger f3 Filter f3 BST i = Bitstrom i, entspricht Kanal i; Träger = Sinusschwingung, die moduliert wird 52 4.6.2 Zeitmultiplexen Zeitmultiplexen tritt meist in Form des synchrones Zeitmultiplexens auf (synchronous Time Division Multiplexing) Dabei wird die Zeit in sog. Zeitscheiben gleicher Länge eingeteilt, die auf Sender und Empfängerseite zum selben Zeitpunkt beginnen und enden Die gesamte verfügbare Bandbreite wird für eine feste Zeit ts, der sog. Zeitscheibe, jedem Kanal zur Verfügung gestellt Nach einer Umschaltzeit wird die Bandbreite zum nächsten Kanal weitergereicht Nach einer Periodendauer T>ts wiederholt sich das Schema Pro Periode erhält jeder Kanal eine Zeitscheibe (time slot) => time sharing Zeitmultiplex ist aufgrund der notwendigen Pufferung nur für zeitdiskrete Signale einsetzbar (bevorzugt zeit- und wertdiskrete Signale, d.h. Digitalsignale) 53 4.6.2.1 Beispiel: Telefonvermittlung- und übertragung Frequenz Es gilt: Summe über alle Zeitscheiben Periodendauer des Übertragungswegs Bandbreite des Übertragungswegs Umschaltzeiten ZeitscheiZeitscheibe K5 be K1 K1 K2 K3 K4 Periodendauer 54 K5 Zeit 4.6.2.2 Prinzipielle Realisierung von synchronem Zeitmultiplexen Rotierender Abtaster Bits BST = Bitstrom BST1 BST2 BST3 Puffer 1 Puffer 2 Puffer 3 Rotierender Verteiler Bits t1 t1 t2 TS1 TS3 TS2 t2 TS4 t3 t3 Puffer 1 Puffer 2 Puffer 3 BST1 BST2 BST3 • Jeder Sender i hat innerhalb einer Umlaufperiode des Abtasters eine feste Zeitscheibe (time slot) TSi. Abtaster und Verteiler rotieren im gleichen Takt und mit gleicher Phase Synchrones Zeitmultiplexing • Die Zeittakt-Stabilität (Jitter) zwischen Abtaster und Verteiler ist wichtig, sonst erfolgt eine falsche Zuordnung des Bitstroms beim Empfänger 55 4.6.3 Asynchrones Zeitmultiplexen Hierbei wird der Übertragungsweg dem Sender nicht fest über eine Zeitscheibe, sondern nach Bedarf zugeteilt Anforderungsbasierter Medienzugang, Beispiel Ethernet Asynchrones Zeitmultiplex wird auch als statistisches Zeitmultiplexing (STDM = statistical time division multiplexing) bezeichnet, weil a priori nicht klar ist, wer wann senden will Der Empfänger kann aus der Zeitlage der Zeitscheiben nicht mehr die Herkunft der Daten erkennen Es ist für jeden Datenrahmen eine Verwaltungszusatzinformation in Form eines sog. Vorspanns (Headers) bestehend aus Zieladresse, Kanalkennzahl u.s.w. erforderlich Man spricht nicht mehr von Zeitscheiben sondern von (Daten)rahmen 4.6.3.1 Aufbau der Datenrahmen bei asynchronem Zeitmultiplex Zeit Header Inhalt 1. Datenblock (Rahmen) ... ... Header Inhalt i. Datenblock 56 Header Inhalt (i+1). Datenblock 4.6.4 Vergleich zwischen synchronem und asynchronem Zeitmultiplexen A2 synchrones Zeit-Multiplexing A1 2 3 1 Bitströme 1 - 3 C2 B1 leer C1 leer A2 leer leer A1 B1 Multiplexer C2 Ausgang C1 C2 B1 C1 asynchrones Zeit-Multiplexing = effizienter Eintreffende Datenrahmen A2 A1 Beim synchronen Zeitmultiplex ist die Zeitscheibe eines Kanals, auf dem nicht gesendet wird, verloren! Vorteil von asynchrones Zeitmultiplexing: nützt den Übertragungsweg effizienter Nachteil von asynchronem Zeitmultiplexing: Wenn sehr viele gleichzeitig senden, kommt ein Sender möglicherweise nie zum Senden => für Echtzeit ungeeignet Synchrones Zeitmultiplexing: für Echtzeit geeignet Asynchrones Zeitmultiplexing wird häufig bei LANs eingesetzt, u.a. auch im Ethernet 57 4.6.5 Mobilfunknetz als Beispiel für gleichzeitiges Zeit- und Frequenzmultiplexen GSM = global system for mobile communication, UMTS = universal mobile telephone system, LTE = Long Term Evolution Bei GSM/UMTS/LTE wird gleichzeitig synchrones Zeit- und Frequenzmultiplex eingesetzt, um für eine a priori nicht bekannte Zahl von Mobiltelefonen die niedrige Bandbreite des Funk-Übertragungsweges effizienter zu nutzen Beispiel GSM: Der zur Verfügung stehende Frequenzbereich ist 890,2-914,8 MHz für die uplink-Kommunikation (vom Mobiltelefon zur Basisstation) und 935,2-959,8 MHz für die downlink-Kommunikation (von der Basisstation zum Mobiltelefon) Damit werden pro Basisstation 124 Kanäle für up- und downlink durch Frequenzmultiplex realisiert => Die Bandbreite eines Kanals beträgt 200 KHz Gleichzeitig wird jeder Kanal in 8 Zeitscheiben zu je 577 s unterteilt im Prinzip könnten von jeder Basisstation bis zu 124*8 = 992 Mobiltelefone simultan bedient werden Hinzu kommt: jede Basisstation muss auf anderen Frequenzen innerhalb des zur Verfügung stehende Frequenzbereichs senden als die Nachbarbasisstation, damit Störungen zwischen den Basisstationen vermieden werden => Aufteilung der Frequenzbereiche in räumliche Bezirke („Zellen“), in deren Mitte jeweils eine Basisstation sitzt so, dass sich keine Frequenzen zwischen benachbarten Basisstationen überlappen 58 Da sich die Funkwellen kugelförmig ausbreiten, ist das Verbreitungsgebiet einer Zelle auf dem Boden ein Kreis Der Kreis wird mittels eines regelmäßigen Sechsecks approximiert Bienenwabenstruktur der Funkzellen B G a) homogene Zellgröße auf dem flachen Land (gleiche Buchstaben bezeichnen gleiche Frequenzen) b) kleinere Zellen für Städte in der Mitte C F B G A D E C A F B G D E C A a) F D b) E 5 Sicherungsschicht (ISO-Schicht 2) Im ISO-Modell ist die Sicherungsschicht zwischen je zwei benachbarten Rechnern relevant Sie leistet mehr als nur die Daten zu sichern 59 5.1 Verdeckung (= Unsichtbarmachung) von Übertragungsfehlern zwischen direkt benachbarten Rechnern (keine Zwischenknoten), bestehend aus den Teilschritten Erkennung und Behebung Flusssteuerung (flow control) des Datenverkehrs zum Nachbarrechner Bei LANs mit mehreren Sendern auf einem Übertragungsmedium: Steuerung des Zugangs zum gemeinsam genutzten Medium (= Medium Access Control, MAC) 5.2 Aufgaben der Sicherungsschicht Ursachen von Übertragungsfehlern Fehler werden häufig durch andere elektrische und elektronische Geräte verursacht Diese Störungen haben physikalische Gründe: 1.) „Weißes Rauschen“ = thermisches Rauschen von Leitungen und Bauteilen aufgrund der Brownschen Molekularbewegung • hohe Temperatur, z.B. aufgrund der Abwärme von Geräten => starkes Rauschen • Entscheidend für die Signalgüte ist das Verhältnis von Signalspannung/Rauschspannung 2.) Dämpfung des Nutzsignals • Ist abhängig von der Frequenz des Nutzsignals: hohe Frequenz => hohe Dämpfung 3.) Verzerrung des Nutzsignals 60 • Ist abhängig von der Frequenz und von der Amplitude des Nutzsignals: hohe Frequenz oder hohe Amplitude => hohe Verzerrung 4.) Übersprechen auf Leitungen • verursacht durch Induktion, kapazitive Kopplung und elektromagnetische Wellen • Induktion (Magnetfelder): schnelle Feldänderungen => hohe Störspannung • Kapazitive Kopplung (elektrische Felder): lange, parallele Leitungen => hohe Störspannung • Elektromagnetische Wellen => hohe Frequenz => hohe Störspannung 5.) Potentialunterschiede in der Masseleitung zwischen Sender und Empfänger • Verursacht z.B. aufgrund von sog. Erdschleifen • Eine Erdschleife kommt über die sog. „Erdung“ ins Spiel, d.h. über die Schutzerde an metallischen Gerätesteckern, die der VDE vorschreibt. • Die Erdschleife wird geschlossen, wenn an den Gerätesteckern von Sender und Empfänger aus Unkenntnis die Signalerden mit Schutzerde verbunden werden • Durch das Verbinden von Signal- mit Schutzerde entsteht parallel zur Masseleitung des Signals eine zweite Masseleitung über die Schutzerde, und die Erdschleife ist geschlossen • Über die geschlossene Erdschleife können erhebliche Ströme (sog. Ausgleichsströme) fliessen, die wiederum einen Potentialunterschied zwischen der Signalerde von Sender und Empfänger bewirken. Dieser Potentialunterschied verursacht Störungen. • Es ist deshalb verboten, Signalerde mit Schutzerde zu verbinden! 61 5.3 Fehlercharakteristik bei Übertragungsfehlern Fehler kommen oft nach einer langen Pause und dann kurz aufeinander folgend: sog. Bursts auch Fehlerbündel genannt Beispiel: bei einem Burst von 10 ms und einem 1,5 Mbit/s-DSL-Modem entspricht dies 15 000 falschen Bits Vorteil von Bursts:Nur wenige Blöcke enthalten Fehler Nachteil: Schwer zu korrigieren, da i.d.R. viele Fehler auf einmal auftreten Wiederholung eines ganzen Datenrahmens wegen Burst-artigem Fehlerverhalten 5.4 Fehlererkennung Zur Fehlererkennung wird die Nutzinformation durch Zusatzinformation ergänzt Diese wird als Prüfbit oder als Prüfsumme zusammen mit den Nutzdaten übertragen Je nach Umfang der Redundanz und verwendetem Code kann eine gewisse Anzahl an Fehlern sogar korrigiert werden Fehlerkorrektur wird bei Rechnernetzen allerdings nicht eingesetzt, statt dessen wird die Datenübertragung wiederholt Der Zusammenhang zwischen der Fehlerhäufigkeit der Übertragungsstrecke und der gewünschten Wahrscheinlichkeit der Entdeckung bzw. Korrektur eines Fehlers wird in der Nachrichtentechnik, einem Teilgebiet der Elektrotechnik, behandelt 62 Die Nachrichtentechnik kann erklären, wie groß bei n Nutzbits der Umfang der notwendigen Redundanz sein muss, um i Bitfehler erkennen und j<i korrigieren zu können 5.4.1 Fehlererkennung durch Paritätsbit Bsp. 1 ein ASCIIZeichen Bsp. 2 Bsp. 3 Bit 1 0 1 1 Bit 2 1 0 1 Bit 3 0 0 0 Bit 4 0 1 0 Bit 5 0 0 0 Bit 6 0 1 0 Bit 7 1 1 1 0 0 1 1 1 0 Paritätsbit gerade Parität ungerade 63 Das Paritätsbit ergänzt die Anzahl der Einsen im Zeichen (= „Quersumme“), so dass sie gerade/ungerade wird (gerade Parität = gerade Zahl von Einsen) Berechnung erfolgt so, dass die gesamten Quersumme inkl. Parity gerade oder ungerade wird Ein Prüfbit wird für jedes einzelne Zeichen bei einer asynchronen Übertragung verwendet. Beispiel: V.24 Nachteil: Es kann nur ein Fehler erkannt und keiner korrigiert werden Auskunft, wie viele falsche Bits erkannt bzw. wie viele korrigiert werden können, gibt die sog. Hamming-Distanz H Zwei Binärworte A,B derselben Länge haben die Hamming-Distanz H, wenn sie sich in H Bits unterscheiden Die Hamming-Distanz definiert eine Metrik in einem diskreten n-dimensionalen Punktraum, in dem jedes Binärwort der Länge n einen Punkt darstellt Wird im Punktraum um jedes Nutzwort A ein Sicherheitsabstand H geschaffen, können H-1 falsche Bits erkannt und H/2 korrigiert werden Alle Bitkombinationen innerhalb des Sicherheitsabstandes H sind bis auf das Wort A selbst verboten Erkennt der Empfänger eine verbotene Bitkombination, dann weiß er, dass ein Fehler vorliegt Erkennt der Empfänger die erlaubte Bitkombination A, dann liegt mit hoher Wahrscheinlichkeit kein Fehler vor 64 Eine Methode zur Erzielung einer Hamming-Distanz H zwischen zwei Worten A,B ist der Cyclic Redundancy Check (CRC) 5.4.2 Fehlererkennung durch Prüfsumme (Cycling Redundancy Check, CRC) Das Prinzip für Cycling Redundancy Check lautet: 1.) Betrachte ein Bitstring als die Kurzdarstellung eines Polynoms von n x, bei dem nur die Koeffizienten 0 und 1 aufgeschrieben werden • Beispiel: 11001 sei ein Polynom in x vom Grad 4 gemäß: x4 + x3 + x0 2.) Wähle ein sog. Generatorpolynom G(x) vom Grad g in Form eines zweiten Bitstrings • Einige Generatorpolynome sind bereits fertig und normiert, so dass die Wahl leicht fällt 3.) Hänge an die Nachricht M(x) eine CRC-Prüfsumme so geschickt an, dass das daraus entstehende neue Polynom T(x) aus Nachricht plus Prüfsumme durch G(x) teilbar ist. 4.) Übertrage T(x) und prüfe beim Empfänger das empfangene T(x) auf Teilbarkeit durch G(x) 5.) Die Nachricht ist mit hoher Wahrscheinlichkeit dann korrekt übertragen, wenn die Teilbarkeit gegeben ist 65 5.4.2.1 Algorithmus für die CRC-Berechnung 1.) Es sei die Nachricht M und das Generatorpolynom G(x) vom Grad g gegeben. Dann hänge man g Nullen an M an, erzeuge also M(x)00...0 2.) Teile M(x)00...0 durch G(x) gemäß Division modulo 2, d.h. ohne Borgen, ohne Übertrag. (Diese spezielle Arithmetik ist Teil der sog. Galouis-Feldtheorie) 3.) Subtrahiere den Rest von M(x)00...0 gemäß modulo 2 (= ohne Borgen, ohne Übertrag) 4.) Das Ergebnis ist T(x), d.h. die transferierende Nachricht samt Prüfsumme • Die g least significand bits von T(x) sind die CRC-Prüfsumme • T(x) ist garantiert durch G(x) teilbar, da ein etwaiger Rest vorher subtrahiert wurde. 5.) Der Empfänger teilt das empfangene T(x) durch G(x) 6.) Gibt es keinen Rest, ist T(x) mit hoher Wahrscheinlichkeit fehlerfrei übertragen worden 66 5.4.2.2 Erstes Beispiel für CRC-Berechnung Rahmen: 1 1 0 1 0 1 1 0 1 1 Generator: 1 0 0 1 1 => Grad g = 4 Nachrichten nach dem Anhängen von 4 Nullbits: 1 1 0 1 0 1 1 0 1 1 0 0 0 0, dann tei 1 1 0 1 0 1 1 0 1 1 0 0 0 0 : 1 0 0 1 1 = 1 1 0 0 0 0 1 0 1 0 mit Rest 1 1 1 0 -1 0 0 1 1 kein Borgen! ’’ 1 0 0 1 1 Daraus: -1 0 0 1 1 11010110110000-1110=11010110111110 ’’ 0 0 0 0 1 -0 0 0 0 0 gesendeter Rahmen ’’ 0 0 0 1 0 Nutzdaten CRC-Prüfsumme -0 0 0 0 0 ’’ 0 0 1 0 1 -0 0 0 0 0 Wichtig: ’’0 1 0 1 1 1.) Addition ohne Übertrag ist hier wie Subtraktion ohne -0 0 0 0 0 Borgen d.h. diese spezielle Addition ist mit dieser spezi’’ 1 0 1 1 0 ellen Subtraktion identisch! Beides wiederum ist mit der -1 0 0 1 1 bitweisen EXOR-Operation identisch (gemäß algebrai’’ 0 1 0 1 0 scher Feldtheorie von Galois) -0 0 0 0 0 ’’1 0 1 0 0 2.) Subtraktion von Dividend und Divisior erfolgt bereits - 1 0 0 1 1 dann, wenn Dividend und Divisor gleich viele Stellen ha’’ 0 1 1 1 0 ben, nicht erst wenn Dividend größer oder gleich Divisor -0 0 0 0 0 ist, wie sonst üblich. Eine Null als MSB zählt dabei nicht Rest: ’’ 1 1 1 0 als Stelle! 67 5.4.2.3 Zweites Beispiel für CRC-Berechnung Rahmen: 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 -1 0 1 0 1 ’’ 0 1 1 0 0 -0 0 0 0 0 ’’ 1 1 0 0 0 - 1 0 1 0 1 ’’ 1 1 0 1 1 - 1 0 1 0 1 ’’ 1 1 1 0 -1 0 1 0 ’’ 1 0 0 -1 0 1 ’’ 0 1 -0 0 ’’ 1 -1 Rest: ’’ Generator: 1 0 1 0 1 => g=4, also: 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 : 1 0 1 0 1 = 1 0 1 1 1 1 0 1 mit Rest 1001 gesendeter Rahmen: 1 0 0 1 1 0 0 1 0 0 0 0 - 1 0 0 1 = 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 Der Empfänger 1 0 0 1 1 0 0 -1 0 1 0 1 ’’ 0 1 1 0 0 -0 0 0 0 0 ’’ 1 1 0 0 0 - 1 0 1 0 1 ’’ 1 1 0 1 -1 0 1 0 ’’ 1 1 1 -1 0 1 ’’ 1 0 -1 0 ’’ 0 -0 ’’ Rest: 68 berechnet nach der Übertragung: 1 1 0 0 1 : 1 0 1 0 1 = 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 -1 ’’ 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 0 0 = O.K. 5.4.2.4 Beispiele für CRC-Generatorpolynome CRC-16 =x16 + x15 + x2 + 1 (ISO) CRC-CCITT =x16 + x12 + x5 + 1 Beide werden für Datenübertragung benutzt, die Regel sind aber heutzutage 32 Bit 5.4.2.5 Erkannt werden: • • • • alle einfachen und zweifachen Bitfehler alle Fehler mit einer ungeraden Bitzahl alle Fehler, die direkt hintereinander auftreten (= Bursts), aber nur mit einer Länge < 16 Bit 99,998% aller längeren Bursts mit > 16 fehlerhaften Bit direkt hintereinander 5.4.2.6 Implementierung der CRC-Berechnung CRC lässt sich sehr einfach in Hardware mit Hilfe eines Schieberegisters und der bitweisen XOR-Funktion implementieren 5.5 Potential der Fehlererkennung durch CRC-16- und CRC-CCITT-Polynome Bit Stuffing und Rahmenbegrenzer Zur Anwendung von fehlererkennenden und fehlerkorrigierenden Codes muss der Datenstrom in einzelne Abschnitte unterteilt werden => „Rahmen“ (frames) bzw. Pakete ab ISO Schicht 3 69 Problem: Wie kann man den Rahmenanfang im Bitstrom erkennen, wenn jedes beliebige Bitmuster in den Nutzdaten vorkommen kann? Bit Stuffing (Bitstopfen) zur Kennzeichnung des Rahmenanfangs Als Kennzeichnung wählt man z.B. 01111110 (= 6 Einsen hintereinander). Der Sender fügt nach fünf Einsen im Nutzdatenstrom eine 0 ein. Er fügt keine 0 ein, wenn es sich um den Rahmenanfang handelt. Wenn der Empfänger nach fünf Einsen eine Null sieht, entfernt er diese aus dem Datenstrom. Wenn er keine 0 sieht, weiß er, dass es sich um einen Rahmenanfang und nicht um Nutzdaten handelt. 5.5.1 Beispiel für Nutzdatentransfer mit 6 Einsen am Stück Sender Leitung Empfänger 011111 0111110 011111 101011111 1010111110 101011111 70 0101 0101 0101 5.5.2 Weitere Beispiele für Bit Stuffing 0 1 2 3 4 5 6 7 Kennzeichnung des Rahmenanfangs Übertragung von 6 Einsen im Nutzdatenstrom: 1 eingeschoben Übertragung von 5 Einsen einer Null und einer Eins: 0 1 0 0 eingeschoben Übertragung von 5 Einsen und zwei Nullen: eingeschoben Sechs Einsen hintereinander kann es auf der Leitung nur am Rahmenanfang geben 71 5.5.3 Realisierung des Bitstopfens Empfangen von Nutzdaten Senden von Nutzdaten (Kein Rahmenanfang) (Ereignis: eintreffendes Bit) Sender hat 6 Zustände Empfänger hat 8 Zustände (inkl. Fehlerzustand) 0/0 A 0/0 0/0 Eine Eins gekommen 0/0 1/1 0/0 Vier Einsen gekommen 1/1 E 1/10 F Notation: e/a e = Eingabe a = Ausgabe D 1/1 1/1 Fünf Einsen 1/1 gekommen und 0 eingefügt Realisierung über endliche Automaten für Sender und Empfänger C Drei Einsen gekommen E 1/1 0/0 1/1 0/0 Ersetze die 5. Eins durch 10 B Zwei Einsen gekommen D Start 1/1 0/0 1/1 C 1/1 A 0/0 1/1 B 0/0 0/0 Start F 0/0 eingefügte G 0 wurde entfernt 0/ 1/1 Ersetze 10 durch 1, wenn 4 Einsen vorausgegangen sind. H Fehlerzustand: Rahmenanfang in den Nutzdaten 72 5.6 Typisches Rahmenformat der Schicht 2 Zeit Flag, z.B.: 01111110 Target Address Source Address Control (Steuerung) 0,1, 2,...Data Bytes Checksum (CRC) Rahmen-Kennzeichner Rahmen-Kennzeichner (frame delimiter) Flag = „Flagge“ = Rahmenkennzeichnung mittels Bit Stuffing Rahmenbegrenzer am Paketende kann entfallen, wenn die Rahmenlänge bekannt ist, oder wenn nächster Rahmen unmittelbar nachfolgt 5.6.1 Sprachregelung bei Schicht 1, 2 und 3 Auf der Schicht 1 spricht man von Bitstrom Auf der Schicht 2 spricht man von Rahmen Auf allen Schichten 3 spricht man von Paket 5.6.2 Flag 01111110 Was steht im „Control“-Feld eines Rahmens? Es stehen darin u. a. Bestätigungen (Acknowledges) und Sequenznummern 73 Acknowledgement = Anerkennung, Bestätigung, Quittung Bestätigungen und Sequenznummern werden benutzt zur: 1.) Fehlererkennung fehlerhafter oder verlorener Blöcke 2.) Pufferverwaltung, z.B. wieviel Empfangsspeicher ist nötig? Gibt es einen Überlauf? Puffer (engl. buffer) ist ein kleines Stück Speicher zum Halten eines oder mehrerer Datenpakete. Puffer werden vom Sender und Empfänger eingesetzt 3.) Flusssteuerung (= flow control) Beachte: to control: steuern, to check: kontrollieren, feed-back control: regeln 5.7 Bestätigungen (Acknowledges) Für jedes Datenpaket vom Sender zum Empfänger wird eine Bestätigung in Gegenrichtung geschickt, sofern das Datenpaket unversehrt empfangen wurde Wird das Paket nicht empfangen oder fehlerhaft empfangen, erhält der Sender keine Bestätigung => der Sender merkt dies anhand einer Zeitschranke (time out) Zwei Fälle müssen unterschieden werden: a) wenn das Paket nicht empfangen wurde b) wenn die Bestätigung verloren ging 74 5.7.1 Zwei Fälle von Datenverlust Quelle Senke (Sender) (Empfänger) Quelle (Sender) Senke (Empfänger) K AC Paketverlust Hinrichtung Paketverlust Rückrichtung 1. Verlust eines Datenblocks: 2. Verlust einer Quittung: - Senke wartet auf Daten - Quelle wartet auf Bestätigung - Quelle wartet auf Bestätigung - Senke wartet auf neue Daten Problem mit Acknowledges: • Ohne Überwachung einer Zeitobergrenze würde der Sender im Fall a) und b) beliebig lange auf das Acknowledge warten Lösung: Einführung einer Zeitschranke (Timeout) beim Sender Neues Problem: welchen Wert soll die Zeitschranke haben? Für den Time Out-Wert gibt es keine generelle Lösung! 75 5.7.2 Bestätigung mit Zeitschranke (timeout) auf der Senderseite Quelle (Sender) Senke (Empfänger) Zeitüberwachung Bl oc k Time- benötigte Zeit outZeit A CK Quelle (Sender) Senke (Empfänger) Zeitüberen wachung B tw loc ed k er TimeoutZeit Aktivierung des Timouts od er AC K (1) Beispiel für eine fehlerfreie Übertragung (2) Beispiel für das Erkennen eines Nachrichtenverlustes durch Ablauf der Zeitschranke de Bl rsel oc be k (1) AC K rechtzeitig (2) Weiteres Problem: Der Rahmen i wird 2x fehlerfrei übertragen Der Empfänger gibt den Block i an die nächst höhere Schicht 2x weiter Daraus entsteht ein Duplikat, das zu einem Fehler führen würde 76 Lösung: Einführung von Sequenznummern 5.7.3 Bestätigung mit Zeitschranke und Sequenznummern auf der Sender- und Empfängerseite Aufgaben von Sequenznummern: 1.) Erkennung von Duplikaten • bei einer unerwünschten Verdopplung des Rahmens bleibt die Sequenznummer gleich 2.) Quittieren von mehreren Rahmen auf ein Mal (Sammelquittung) 3.) Zur Flusssteuerung zwischen benachbarten Rechnern Sequenznummern werden sowohl zur Fehlerkontrolle als auch zur Flusssteuerung verwendet Fehlerkontrolle heißt: „Sind alle Blöcke da?“ Flusssteuerung heißt: „Sind die letzten Blöcke zu schnell gekommen?“ 77 5.7.3.1 Beispiel für das Erkennen von Duplikaten Quelle (Sender) Senke (Empfänger) Bl oc ki -1 verarbeiten Zurückgeschickte Sequenznummern, i-1, i, i+1, ... dienen zugleich als Bestätigung. K AC Zeitüberwachung Bl i-1 oc ki K AC timeout Bl = weiterleiten zur Schicht 3 (Vermittlungsschicht) i verarbeiten = weiterleiten zur Schicht 3 (Vermittlungsschicht) oc ki wegwerfen, AC K 78 i weil schon einmal empfangen 5.7.3.2 Beispiel für eine Sammelquittung Quelle (Sender) Senke (Empfänger) 0 I(0) 1 2 verarbeiten I(2) verarbeiten ) B(1 I(3) 3 Situation: I(2) wird zu spät bestätigt und I(3) geht verloren. Deshalb wird I(2), I(3), I(4) und I(5) zwei Mal gesendet => ineffizient im Fehlerfall verarbeiten 4 I(4) 5 wegwerfen, weil I(3) fehlt wegwerfen, weil I(3) fehlt wegwerfen, weil I(2) schon da I(5) ut eo tim 2 Zeitüberwachung I(1) I(2) 3 I(3) 4 verarbeiten I(4) ) 2 ( B I( 5) ) 4 ( B 5 verarbeiten verarbeiten I = Informationsblock B = Bestätigung ) B(5 Zurückgeschickte Sequenznummer B (1) dient als Bestätigung für die Blöcke 0 und 1 79 5.8 Nachdem ein Übertragungsfehler durch CRC-Prüfung oder Timeout erkannt wurde, sollte der betreffende Rahmen neu geschickt werden, sofern nicht Echtzeitbedingungen herrschen (z.B. aufgrund von Video-Streaming in web TV) Für die Rahmenwiederholung gibt es verschiedene Strategien: 5.8.1 Fehlererbehebung durch Rahmenwiederholung Fehlerbehebung mit „go-back-n“ und ohne Pufferung beim Empfänger Im Falle eines Fehlers (CRC falsch) bleibt das Ack aus Nach Ablauf des Timers überträgt der Sender sämtliche Rahmen ab dem unbestätigten Rahmen neu. alle Rahmen ab dem Fehler noch einmal übertragen Timeout-Intervall Sender 0 1 2 3 Ac Empfänger 0 k 1 0 4 Ac k F 5 6 7 8 2 3 4 1 5 Ac V V V V V V 2 k 3 2 6 Ac k 4 3 7 Ac 5 Fehler Von der Sicherungsschicht verworfene Rahmen 80 k Zeit 4 8 Ac k 6 5 9 Ac k 7 10 6 8 Fehler werden empfängerseitig anhand eines falschen CRCs festgestellt und senderseitig anhand des Timeouts Jeder Rahmen muss einzeln quittiert werden Keine Sammelquittung möglich, da keine Pufferung Vorteil: Einsparen von Pufferplatz. Ist heutzutage nicht mehr wichtig. Nachteil: Ineffizient im Fehlerfall, da alle Rahmen des Timeout-Intervalls neu übertragen werden müssen. Ist auch heute noch ein Nachteil. 81 5.8.2 Fehlerbehebung mit „go-back-n“ und mit Pufferung beim Empfänger Für Rahmen 6 kommt Ack 8 zu spät, aber Rahmen 7 und 8 werden nicht zweimal übertragen Timeout-Intervall Sender 0 1 2 3 Ac Empfänger 0 k 1 0 4 Ac k F 5 6 7 8 2 3 4 1 Ac 3 4 5 6 7 8 2 Fehler Zeit 5 Von der Sicherungsschicht gepuffert (gespeichert) k V 6 9 10 11 12 8 Ac V V V 9 k 9 10 Nachricht 2-8 an die Vermittlungsschicht übergeben Im Falle eines Fehlers bleibt das Ack aus Der Empfänger puffert alle danach korrekt erhaltenen Rahmen Nach Ablauf des Timers beginnt der Sender, alle Rahmen ab dem Unbestätigten neu zu übertragen, bis er eine Sammelquittung vom Empfänger erhält Der Sender fährt danach mit dem ersten noch nicht übertragenen Rahmen fort Die erneute Übertragung von 7 und 8 wird durch Sammelacknowledge vermieden Sammelquittungen haben den Vorteil höherer Ausnutzung der Bandbreite Anwendung: TCP 82 5.8.3 Fehlerbehebung durch „selective repeat“ Timeout-Intervall Sender 0 1 2 3 Ac Empfänger 0 k 1 0 4 Ac k F Fehler 5 1 6 Ac 3 k 4 3 7 Ac k 4 5 Ac k 6 5 2 Ac k 7 6 9 Ac k 8 7 10 11 12 13 14 Ac k 2 Von der Sicherungsschicht gepuffert Zeit 8 8 Ac k 2 9 Ac k 9 Ac k 10 11 k Ac 10 11 12 Rahmen 2-8 werden an die Vermittlungsschicht übergeben => Latenz durch Fehlerkorrektur Der Empfänger bestätigt jeden korrekt erhaltenen Rahmen sofort (keine Sammelquittung) Er puffert alle korrekt erhaltenen Rahmen, auch nach einem fehlerhaften Rahmen Bei Ablauf des Timers überträgt der Sender nur den nicht bestätigten Rahmen neu Jedes fehlerfreie Paket wird bestätigt Nachteil: viele Bestätigungen => schlechte Ausnutzung der Bandbreite in Gegenrichtung Vorteil: keine unnötige Wiederholung korrekt empfangener Pakete => gute Ausnutzung der Bandbreite zwischen Sender und Empfänger Da Acknowledges viel kürzer als Nutzdaten sind, lohnt sich dieses Verfahren 83 Allen Verfahren gemeinsam ist eine erhöhte Latenz bei der Datenübergabe im Fehlerfall 5.8.4 Aktive Fehlerkontrolle Bisher: passive Fehlerkontrolle Passiv heißt nicht-Senden von (positiven) Acknowledges Nachteile der passiven Fehlerkontrolle: • Keine Unterscheidung zwischen fehlenden und fehlerhaften Blöcken • Zeitverzögerung bis zur Wiederholung des Sendevorgangs = unnötige Wartezeit beim Sender im Fehlerfall Milderung des Latenzproblems durch aktive Fehlerüberwachung Aktive Fehlerüberwachung geschieht durch Versenden von negativen Quittungen (NACKs) 84 S E Info r mat ion un tätig s e K B Paketempfang ohne Übertragungsfehler Senden von ACK g AC S K NAC ( Wi ede rh o lu E Info rma tion ng) Paket wird mit Übertragungsfehler empfangen Senden von NACK Datum wird vor Ablauf des Timeout noch einmal gesendet = schneller Wenn ein Rahmen unterwegs verloren geht, enthält der Sender weder ACK noch NACK Timeout des Senders wird aktiv 85 5.9 Die Flusssteuerung soll verhindern, dass der Sender den Empfänger mit Daten überschwemmt, d. h. zu schnell sendet => der Datenfluss wird gebremst (=gesteuert) Für die Flusssteuerung wird oft kein eigener Mechanismus eingesetzt Vielmehr wird die Fehlererkennung über Acknowledges/Sequenznummer „zweckentfremdet“ Acknowledges dienen dann zur Datensicherung und zur Flusssteuerung => Stop & Wait-Protokoll 5.9.1 Flusssteuerung Stop-and-Wait-Protokoll zur Flusssteuerung zwischen benachbarten Rechnern Vorbedingungen für Stop-and-Wait-Protokoll: 1.) Überwiegend fehlerfreie Übertragung zwischen Sender und Empfänger 2.) Beschränkte Anzahl von Puffern (z.B. genau ein Puffer bei Sender und Empfänger) 3.) Verarbeitungsgeschwindigkeiten unterscheiden sich (z. B. schneller Großrechner und langsames Handy) 4.) Timeout steht auf ausreichend hohem Wert Positives Acknowledges kann als einfache Flusssteuerung verwendet werden Nachteil: es kann nie mehr als ein Datenrahmen (ab L3 Datenpaket )unterwegs sein 86 Der Sender muss auf das Acknowledge warten = Stop & Wait-Protokoll = sehr langsame Datenübertragung 5.9.2 Flusssteuerung mit Schiebefenster Schiebefenster-Protokoll (Sliding Window) vermeidet Nachteile der vorangegangenen Protokolle und ist gleichzeitig effizient bei der Bandbreiteausnutzung Sliding Window ist Stand der Technik und wird bei TCP eingesetzt Bei Ethernet gibt es allerdings kein Schiebefenster, deshalb gilt das unten gesagte beim Internet nur für Schicht 4 mit TCP als Protokoll Sliding Window beruht bei Sender und Empfänger auf je einem Ringpuffer, d.h., es sind immer zwei Ringpuffer nötig, einer zum Senden und einer zum Empfangen Ein Ringpuffer wird über einen Zeiger implementiert, der modulo-mäßig inkrementiert wird Beim Erreichen der Obergrenze fängt der Pointer wieder von unten an zu zählen = „Ring“ Der Speicherbereich zwischen größtem und kleinsten Wert des Pointers ist der Ringpuffer Die Größe des Ringpuffers sei r Wird in den Ringpuffer geschrieben, wird der Pointer modulo-mäßig inkrementiert Wird aus dem Ringpuffer gelesen, wird der Pointer modulo-mäßig dekrementiert 87 Der Ringpuffer wird zum Sliding Window, wenn noch ein zweiter Pointer verwendet wird FP + BP definieren einen aktiven Bereich innerhalb des Ringpuffers r Dieser aktive Bereich heißt „Sliding Window“ (Schiebefenster) Sliding Window = Frontpointer FP + Backpointer BP Außerdem gilt: FP + BP werden beim Sliding Window nur modulo-mäßig inkrementiert aber nie dekrementiert Die maximale Größe des Sliding Window im Ringpuffer sei w (w r) w heißt auch window size (Fenstergröße) 5.9.2.1 Ablauf beim Schiebefenster Für den Ablauf gelten folgende Regeln: 1.) Beim Verbindungsaufbau vereinbaren Sender und Empfänger die Größe r der Ringpuffer und die Fenstergröße w (Nebenbedingung: w r Zahl n der Sequenznummern) 2.) Nach dem Verbindungsaufbau besitzt der Sender das Recht, bis zu w Rahmen bzw. Pakete zu senden, ohne ein Acknowledge zu empfangen 3.) Spätestens nach w Rahmen bzw. Pakete muss beim Sender ein Acknowledge eintreffen, sonst stoppt der Sender => „Schließen“ des Fensters beim Sender 88 4.) Der Empfänger kann schon vor dem Schließen des Fensters beim Sender Acknowledges an den Sender senden => „Öffnen“ des Fensters beim Sender 5.9.2.2 Verhalten von Frontpointer und Backpointer bei Sender und Empfänger 1.) Beim Sender inkrementieren gesendete Daten den Backpointer BPSender 2.) Beim Sender inkrementieren empfangene ACKs den Frontpointer FPSender 3.) Beim Empfänger inkrementieren empfangene Daten den Backpointer BPEmpfänger 4.) Beim Empfänger inkrementieren gesendete ACKs den Frontpointer FPEmpfänger Für Sender und Empfänger gilt, dass der Abstand zwischen FP und BP maximal = w sein kann Der Sender weiß, dass ein empfangenes ACK bedeutet, dass die Daten beim Empfänger angekommen sind und an dessen Sicherungsschicht weitergeleitet wurden d.h., dass alles O.K. ist Beispiel: bei Sender und Empfänger sei r = 8 und die Fenstergröße w sei 3. 89 Sender darf bis zu 3 Pakete ohne Bestätigung schicken Back Pointer 7 0 6 1 5 2 4 3 90 Sender kann aus seinem Sendepuffer die Rahmen mit der Nr. 0, 1 und 2 abschicken Front Pointer 5.9.2.3 Beispielablauf für ein Schiebefensterprotokoll mit r=8 und w=3 0 Sender 0 Empfänger Empfänger kann Rahmen 0,1 und 2 empfangen 2 frei 1 1 Sender kann Rahmen 0,1 und 2 schicken Bl oc 2 Bl belegt Sender will noch Rahmen 2 schicken 2 oc Bl oc k( k( k( 0) 1) Empfänger kann Rahmen 1 und 2 empfangen ) Ack (0 2) Ack (2 ) 0 0 Sender will Rahmen 3 schicken 1 Bl 2 1 oc k( 3) 2 5 4 3 Sender will Rahmen 4 und 5 schicken 5 3 Empfänger kann Rahmen 4 und 5 empfangen 5 4 Empfänger kann Rahmen 3,4 und 5 empfangen 4 91 Sender Empfänger Bl oc Bl Sender will momentan nichts schicken Sender will Rahmen 6, 7 und 0 schicken 5.9.2.4 k( 4) 5) Ack (5 7 6 oc k( Empfänger hat keinen Puffer frei ) 0 7 0 6 Empfänger kann Rahmen 6,7 und 0 empfangen Wahl von Fenstergröße w und Puffergröße r beim Empfänger Es sind verschiedene Fälle zu unterscheiden: 1.) langsamer PC sendet mit kleiner Latenz an schnelle Workstation, und es soll das stop & wait-Protokoll verwendet werden => r = w = 1 ist ausreichend 92 schnell Acknowledge wird sofort geschickt langsam senden empfangen 2.) schnelle Workstation sendet mit kleiner Latenz an langsamen PC, und es soll das stop & wait-Protokoll verwendet werden => r = w = 1 ist ausreichend schnell senden langsam empfangen lange Pause bis zum Acknowledge (sollte kürzer als der timeout sein Bei ungleichmäßig schnellen Kommunikationspartnern und kleiner Latenz und stop & wait-Protokoll ist r=w=1 ausreichend 93 3.) Beide Rechner sind gleich schnell, und es gibt eine kurze Latenz zwischen den Rechnern, und es soll eine hohe Bandbreite erreicht werden Es sind w>1 Puffer erforderlich Ein ununterbrochener Strom von Daten entsteht dann, wenn w so groß ist, dass das erste Acknowledge beim Sender eintrifft, bevor sein Sliding Window schließt Beispiel: Kommunikation zwischen zwei Servern => z.B.: 2 w 7 4.) Beide Rechner sind gleich schnell, und es gibt eine lange Latenz zwischen den Rechnern, und es soll eine hohe Bandbreite erreicht werden Es sind w>>1 Puffer erforderlich Begründung: • eine Strecke mit großer Latenz wirkt wie eine langes Rohr (sog. Pipeline) durch das Rahmen/Pakete wandern müssen • Es ist ein großes w nötig, um zu Beginn der Übertragung die lange Übertragungsstrecke (Pipeline) mit Rahmen füllen zu können • Je größer die Verzögerung bei der Übertragung, desto größer muss w gewählt werden • Hinzu kommt: Nach dem Füllen der Pipeline muss die Pipeline möglichst ständig gefüllt bleiben, um eine hohe Bandbreite zu erzielen Auch hier muss das erste Acknowledge beim Sender eintreffen, bevor sein Sliding Window schließt 94 Beispiel: Kommunikation zwischen zwei Servern mit Übertragung über einen geostationären Nachrichtensatelliten => z.B.: 16 w 127 lange Verzögerung, da mehr als 2x36 000 km Wegstrecke 6 Lokale Netze (LANs) 6.1 Ein LAN (Local Area Network) ist ein Netzwerk für die bitserielle Übertragung zwischen Rechnern auf demselben Grundstück Ein LAN befindet sich rechtlich unter der Kontrolle des Benutzers und muss deshalb auf den Bereich innerhalb dessen Grundstückgrenzen beschränkt bleiben 6.2 Was ist ein LAN? Merkmale eines lokalen Netzes Hohe Geschwindigkeit (100 MBit/s - 10 GBit/s) 95 Einfacher, kostengünstiger Anschluss (meistens Ethernet oder Industrial Ethernet) Keine Telekom-Gesetzgebung, da alles auf eigenem Grundstück Anschluss aller Arten von Geräten möglich, wie: • PCs, Workstations, Großrechner, Drucker und andere periphere Geräte • Geräte und Apparate der Kosumelektronik und der Automatisierungstechnik Übergang auf Weitverkehrsnetz (WANs) wie z.B. das Internet erfolgt mittels Gateway Position von lokalen Netzen im ISO-Modell Schicht 3 Vermittlungsschicht Schicht 2b LLC = Logical Link Control Schicht 2a Schicht 1 Sicherungsschicht MAC = Medium Access Control Übertragungsschicht 96 LAN = phys. Medium für LANs (Kabel oder Funk) 6.3 Die Sicherungsschicht im LAN nach IEEE 802 802.1 data link layer Sicherungsschicht LLC-Teilschicht 2 b MAC-Teilschicht 2a MAC Bitübertragungsschicht physical layer MAC MAC 802.3 802.4 802.5 CSMA/CD Token Bus Token Ring MAC 802.6 DQDB ... MAC MAC 802.11 WLAN 802.15 Bluetooth Physikalisches Medium (Kabel, Funk) Standardisierung von LANs erfolgt in ISO-Schicht 1 und 2 • 802.1 = übergeordnete 802-Standards • 802.2 = mittlerer Teil der Sicherungsschicht = Logical Link Control (LLC) • 802.x = unterer Teil der Sicherungsschicht = Medium Access Control (MAC) Mittlerweile gibt es ca. 22 IEEE 802.X-Normen, von denen einige sehr wichtig sind, wie z.B. Ethernet und WLAN 97 6.4 Es gibt ein prinzipielles Problem beim Schreiben auf einen gemeinsam genutzen, physikalischen Übertragungsweg (Beispiel Funk) Grund: Funk ist ein sog. Broadcast-Medium und voneinander unabhängige Stationen könnten gleichzeitig anfangen zu senden Sendekollisionen Die Medienzugangsschicht sorgt für einen geordneten Ablauf beim Medienzugang Bei Punkt-zu-Punkt-Verbindungen aus einem Sender und einem Empfänger ist die Schicht 2a ohne Funktion (Beispiel: Switched Ethernet) 6.4.1 Der Medienzugang bei LANs (Schicht 2a, MAC Layer) Wie werden Kollisionen geregelt? Es gibt zwei Methoden: 1.) Kollisionsentdeckung • Idee: „Lasse Kollisionen stattfinden, entdecke sie, und wiederhole Übertragung“ • so verfährt Ethernet 2.) Kollisionsverhinderung • Idee: „Verwende einen speziellen, im Kreis zirkulierenden Rahmen als Sendeberechtigungserlaubnis, um den Zugriff auf das Medium zu steuern“ • so verfährt Token Ring • Das Token (= Zeichen), ist ein spezieller Rahmen der Schicht 2a, der den Zugriff auf das gemeinsame Medium derjenigen Station erlaubt, bei der sich das Token gerade befindet 98 6.5 Macht die eigentliche Datensicherung Gemäß IEEE gibt drei verschiedene Datensicherungsarten: LLC Typ 1, 2 und 3, wobei LLC1 das einfachste und LLC 2 das komplexeste Verfahren ist. LLC 3 ist in der Mitte. Ethernet LAN unterstützt nur LLC Typ 1 6.5.1 LLC Typ 1: Unbestätigter und verbindungsloser Dienst Unbestätigte Übertragung (=keine Acknowledges für Datenrahmen) kein Verbindungsaufbau notwendig Höhere Schichten >2 sind für die Erhaltung der Reihenfolge der Rahmen, für die Fehlerbehebung und für Flusssteuerung verantwortlich (im Internet macht dies TCP) So verfährt Ethernet Ethernet hat aber zumindest 32 Bit-CRC im Rahmentrailer 6.5.2 Die Datensicherung bei LANs (Schicht 2b, Logical Link Control) LLC Typ 2: Bestätigter Verbindungsorientierter Dienst LLC Typ 2 implementiert sog. verbindungsorientierten Dienst Verbindungsorientierter Dienst heißt: es gibt 3 Phasen: Aufbau, Transfer und Abbau LLC Typ 2 implementiert alle drei Phasen Datentransfer erfolgt mit Bestätigung (ACK) 99 LLC Typ 2 garantiert die Ablieferung des Pakets beim Empfänger und die richtige Reihenfolge der Rahmen und macht auch Flusssteuerung Wird im Internet erst auf Schicht 4 durch TCP umgesetzt 6.5.3 LLC Typ 3: Bestätigter verbindungsloser Dienst LLC Typ 3 implementiert sog. bestätigten aber verbindungslosen Dienst (Datagramme) Bestätigter verbindungsloser Dienst heißt: es keinen Verbindungsaufbau und -abbau und keine Garantie der korrekten Reihenfolge der Datagramme, aber für jeden Rahmen erfolgt eine Bestätigung Wird im Internet auf Schicht 3 von IP oder in der Automatisierungstechnik z.B. für die Steuerung von Bearbeitungsmaschinen an einem Fließband zur Automobilproduktioneingesetzt (Token Bus) 6.5.4 Weitere Beispiele von Schicht 2b-Protokollen (nicht ISO und nicht IEEE) • PPP = point-to-point protocol • SLIP = subscriber line interface protocol • PPP und SLIP dienen zur gesicherten Datenübertragung, wenn Modems (DSL!) als Schicht 1 und 2a verwendet werden • PPPoE = PPP over Ethernet: PPP-Variante zur gesicherten Datenübertragung, falls Ethernet als Schicht 1 und 2a eingesetzt wird 100 6.6 LANs mit Kollisionsentdeckung (CSMA/CD) CSMA/CD heißt: Carrier Sense Multiple Access with Collision Detection CSMA/CD bedeutet: • Ein gemeinsam genutztes Medium wie z.B. Funk oder gemeinsames Kabel wird von allen potentiellen Sendern abgehört, um festzustellen, ob gerade gesendet wird oder nicht • Wenn gerade gesendet wird, darf niemand sonst senden • Wenn gerade nicht gesendet wird, darf jeder sendewillige Rechner senden Kollisionen sind zu diesem Zeitpunkt möglich • Ein potentieller gleichzeitiger Mehrfachzugriff von 2 oder mehr Sendern wird durch Kollisionserkennung + zufällig langes Abwarten bei jedem Senders geregelt • Kollsisionserkennung heißt, jeder Sender lauscht, ob seine Sendung unverfälscht auf dem gemeinsamen Medium zu hören ist oder nicht • Wenn ja, ist alles O.K., wenn nein, gibt es eine Kollision • Zufällig langes Abwarten bedeutet, dass jeder Sender auswürfelt, wie lange er nach einer erkannten Kollision mit einem erneuten Sendeversuch wartet • Dazu wird ein Pseudozufallszahlengenerator verwendet 101 6.6.1 Beispiel: 10Mbit/s-Ethernet mit gemeinsam genutzten Kabel Schicht 1 und 2a haben ein gemeinsames Koaxialkabel Rechner Rechner Kabelabschlußwiderstand Ethernetkabel Kabelabschlußwiderstand Transceiver (=Ethernet-Interface) Koaxialkabel 102 6.6.2 Medienzugang beim 10 Mbit/s-Ethernet mit gemeinsam genutzten Kabel 1. Lauschen, ob Kanal frei ist 2. Kanal ist frei: Station A sendet nach B Rechner A EthernetKabel Carrier Sense Transceiver B 4. Kollision, wenn mehr als zwei Stationen gleichzeitig senden 3. Station B empfängt nur A A Multiple Access Kollision B 6.6.3 B Moderne Beispiele für gemeinsam genutzte Medien Mobilfunktelefonie, WLAN, Bluetooth, IR-Schnittstellen, USB und Switched Ethernet Das gemeinsam genutzte Medium bei USB ist der Hub und bei Ethernet der Switch 103 Der USB Hub arbeitet auf ISO-Schicht 1 und verteilt jeden Rahmen an alle Ports Ein Ethernet Switch arbeitet auf Schicht 2 und macht eine Art Routing anhand der MACZieladresse, so dass der Rahmen den Switch nur auf einem einzigen Port verlassen kann Da Ethernet keine Schicht 2b hat, gehen bei Switched Ethernet Rahmen verloren, sobald der Puffer des Switches voll ist 6.6.4 Bedingung für Kollisionserkennung bei CSMA/CD Es gilt: alle sendewillige Station hört das Medium ab („listen before talk“): d.h. falls belegt, wird das Senden zurückgestellt, falls frei, wird mit dem Senden begonnen Aber gibt es eine wichtige Bedingung, um Kollisionen zu erkennen: • Die Rahmendauer TR jedes Senders A muss größer oder gleich der doppelten maximalen Laufzeit TL im Medium sein, d.h. TR 2TL Def.: TR ist die Dauer, die der Sender braucht, um seinen Rahmen abzusenden. TL ist die Laufzeit dieses Rahmens von einem Ende des Mediums zum anderen ist Grund: der worst case ist es, wenn die Station A am Kabelanfang und die Station B am Kabelende ungefähr gleichzeitig zu senden anfangen: • 1xTL dauert es, bis der Senderahmen von A die zweite Station B am Ende des Mediums erreicht und dort mit einem Rahmen von B kollidiert 104 • 1xTL dauert es, bis diese Kollision zu der ersten Station A zurückkehrt und erkannt werden kann • Solange, bis eine Kollision von A am anderen Ende zu A zurückkehrt, sollte der Rahmen von A andauern, damit klar ist, ob er kollidiert ist oder nicht Bei einer vorgegebenen Bitrate und Kabellänge zwischen Sender und Empfänger kann die minimale Rahmendauer TR nicht unterschritten werden, sonst ist CSMA/CD nicht mehr möglich LANs mit CSMA/CD haben ab > 1 Gb/s entweder große Rahmenlängen oder kurze Kabellängen Je höher die Bitrate bei CSMA/CD ist, desto kürzer muss das Kabel sein oder desto länger die Rahmenlänge, um im worst case-Kollisionen noch entdecken zu können Beispiel: 10 Gb/s-Ethernet vom Typ 10GBaseT hat bei einer einer Rahmenlänge von 1500 Bytes eine maximale Kabellänge von 100 m (bei Cat 7-Kabeln), was die Verwendung in der Gebäudeverkabelung einschränkt. 6.6.4.1 Kollisionsauflösung bei CSMA/CD (Ethernet ohne Switch) Nachdem ein Sender eine Kollision erkannt hat, hört er auf zu senden und wartet eine Zeit ab, die von einer Zufallszahl bestimmt wird, bevor er wieder zu senden versucht Ein Sender kann mehrfach hintereinander das Schicksal haben, dass seine Sendung mit einer anderen Sendung kollidiert (= i-fache Kollision desselben Rahmens) 105 Nach der i. Kollisionen (1i 10) wird eine Zufallszahl aus dem Intervall [0, 1, 2,.... 2i-1] gewählt Für 11 i 15 wird die Zufallszahl aus dem konstanten Intervall [0, 1, 2,.... 210 - 1] gewählt Ab i = 16 wird der Sendeversuch abgebrochen und eine Fehlermeldung erzeugt Das Intervall für die Zufallszahl wird nach jedem erfolglosen Senden solange verdoppelt, bis i = 10 erreicht ist. Der statistische Mittelwert der Wartezeit verdoppelt sich nach jeder Kollision des Senders Dies wird als „exponential backoff“-Strategie bezeichnet Mit einem Switch wird das Kollisionsproblem auf den Switch verlagert, sobald 2 Sender auf denselben Ausgangsport senden wollen 6.6.4.2 Vermeiden von Kollisionen bei CSMA/CD Erhöhte Kollisionsgefahr besteht stets nach Abschluss einer Übertragung: • Mehrere sendewillige wartende Stationen warten solange ab, bis das Medium frei ist und fangen dann gleichzeitig zu senden an Es wird ein Algorithmus für das Sendebeginn-Verhalten nach Abschluss einer laufenden Sendung benötigt, d. h., wenn das Medium vom Zustand „belegt“ in den Zustand „frei“ übergeht 106 Bei Ethernet wird der einfache „1-persistent-Algorithmus“ verwendet Andere CSMA/CD-LANs können andere Strategien haben, z. B. „p-persistent“ oder „non-persistent“ (persistent = hartnäckig, andauernd) Def.: 1-persistent heißt: sendet mit der Wahrscheinlichkeit 1, sobald das Medium frei ist Def.: p-persistent heißt: sendet mit der Wahrscheinlichkeit p, sobald das Medium frei. D.h., der Erwartungswert der Zufallsverteilung ist p. Def.: non-persistent heißt, es wird nicht darauf gewartet, bis das Medium frei ist, sondern es wird, nachdem erkannt wurde, dass es besetzt ist, eine zufällige Zeit gewartet, bis das Medium wieder überprüft wird. Der Erwartungswert der Zufallsverteilung ist unbestimmt. 6.6.4.3 CSMA/CD-Adressformat Bei IEEE 802.x gibt es 2 Adressformate für DA und SA (sog. MAC-Adressen) 1.) 6 Byte MAC-Adressen (48-Bit) = üblich, z.B. bei Ethernet und WLAN I/G 46 Bits Adresse U/L 107 2.) 2 Byte-MAC-Adressen (16 Bit) = sehr selten und nur für lokales Netz ohne Verbindung nach außen I/G 15 Bits Adresse Bei 6 Byte MAC-Adressen stehen 2 Steuerbits (I/G und U/L) zur Verfügung, bei 2 Byte MAC-Adressen nur eins (I/G) Bei 6 Byte-Adressen sind 46 Adressbit nutzbar = ca. 7*1013 Adressen Bedeutung der MAC-Steuerbits bei 6-Byte Adressen: • I/G= 0: Stationsadresse für eine Punkt-zu-Punkt-Verbindung = üblich • I/G= 1: Broadcast-Verbindung · Die Broadcast-Verbindung ist rel. selten, wird aber beim Address Resolution Protocol ARP verwendet · Wenn I/G=1, dann müssen alle anderen Bits ebenfalls auf 1 sein Broadcast-Adresse = FF-FF-FF-FF-FF-FF • U/L= 0: Weltweit eindeutige MAC-Adresse = häufig • U/L= 1: Local verwaltete MAC-Adresse ohne Verbindung nach aussen = seltener Bei U/L = 1 darf kein Gateway im selben LAN existieren Bei U/L = 1 kann die MAC-Adressen durch den Benutzer frei gewählt werden 108 U/L = 1 wird z.B. bei Cloud Computing für die sog. Compute Nodes verwendet Bei U/L = 0 gibt es einen LAN Gateway, der u.a. für die Abbildung IP-Adresse->MACAdresse zuständig ist 6.6.4.4 6 Byte MAC-Adressen mit U/L= 0 waren ursprünglich weltweit eindeutig, denn jede Ethernetkarte hatte eine fest verdrahtete MAC-Adresse Wurde mittlerweile geändert, es gibt per Software-definierbare MAC-Adressen, was es Hackern leider erleichtert zu betrügen 6.7 1 Gb/s-/10 Gb/s-Ethernet Das aufgrund seines geringen Preises am weitesten verbreitete LAN ist das Ethernet 6.7.1 Schicksal der weltweit eindeutigen MAC-Adressen Typen von 1 Gb/s-/10 Gb/s-Ethernet ohne/mit Switch Es gibt diverse Typen. Davon sind besonders wichtig: 1.) 1000BASE-T: hat 4 verdrillte Doppeladern in ungeschirmtem Cat-5e-Kupferkabel als DTE-Anschlusskabel; mit oder ohne Switch; bis 100 m = kurzes LAN 2.) 1000BASE-CX: hat 2 verdrillte Doppeladern in geschirmtem Cat-7-Kupferkabel als DTE-Anschlusskabel; nur mit Switch, bis 25 m = sehr kurzes LAN 109 3.) 1000BASE-LX: hat 2 Glasfaserkabel für bidirektionalen Transfer; entweder nur Punktzu-Punkt oder mit Switch und elektrisch/optisch-Wandlern; bis 5 Km = gutes LAN 4.) 10GBaseT: hat 4 verdrillte Doppeladern in geschirmtem Cat-7-Kupferkabel als DTEAnschlusskabel; nur mit Switch; bis 100 m bei Beachten spezieller Verlegevorschriften = kurzes LAN 5.) 10GBASE-LR: hat 2 Glasfaserkabel für bidirektionalen Transfer; entweder nur Punktzu-Punkt oder mit Switch und elektrisch/optisch-Wandlern; bis 10 km = kurzes MAN 6.7.2 1 Gb/s-Ethernet-Rahmenformat IEEE 802.3 7 Byte 1 2/6 2/6 2 0-1500 x Präambel SD DA SA Control Data Pad 4 FCS Präambel: 7 Byte: 7 x 10101010 = maximal viele Bitwechsel zur Empfängersynchronisation Die Präambel dient zur Synchronisation des Empfängertaktes mit dem Sendetakt SD: Starting Delimiter (1 Byte: 10101011) Der Starting Delimiter dient zur genauen Kennzeichnung, wann ein Paket anfängt. DA: Destination Address (i.d.R. 6 Byte MAC-Adresse) 110 Die Zieladresse dient zur Klärung, wohin ein Paket geschickt werden soll SA: Source Address (i.d.R. 6 Byte MAC-Adresse) Die Herkunftsadresse sagt, wer den Rahmen gesendet hat Control: enthält die Länge n der Daten (2 Byte) • Achtung: Werte ab 2048 (0x0800) kennzeichnen nicht mehr die Länge, sondern kodieren zusätzliche Steuerungsfunktionen, den sog. EtherType Datenfeld aus Byte, 0 n 1500 Pad: Füllbytes zur Erreichung der Mindestrahmenlänge von 64 Byte, falls Nutzdaten < 46 Byte Achtung: Die Präambel und der SD werden bei der Rahmenlänge nicht gezählt Nutzdaten sollten mindestens 46 Byte lang sein, sonst wird ein Pad eingefügt Mindestlänge eines 1Gb/s-Rahmens ohne Präambel und SD muss 64 Byte betragen, um Kollisionen auf die maximal erlaubte Entfernung erkennen zu können Der Ethernetrahmen-Overhead ohne Pad beträgt 26 Byte FCS (Frame Check Sequence) = 4 Byte CRC Neben dem Standard-Ethernet gibt es noch zahlreiche Varianten, die z.T. auch standardisiert sind Ethernet ist mehr ein Markenname als eine ganz bestimmte Technologie Werte ab 0x0800 im Control-Feld kodieren folgende Ethertypes: • Spezialtypen wie z.B. Echtzeit-Ethernet (PROFINET, EtherCAT, POWERLINK, SERCOS III) 111 • die verwendeten Protokolle auf Schicht 2 oder 3 (PPPoE, IPv4, IPv6, arp, rarp) • die Existenz eines virtuellen LANs (VLAN) durch den Wert = 0x8100 6.7.3 VLANs erlauben zum einen eine Art Routing zwischen mehreren LANs, die am selben Switch angeschlossen sind VLANS erlauben zum anderen innerhalb eines realen LANs mehrere virtuelle Sub-LANs Bei VLANs verlängert sich der Rahmen um 4 Byte für die VLAN-Adresse Der Ethernetrahmen-Overhead ohne Pad beträgt bei VLAN 30 Byte Dementsprechend verkürzen sich die minimalen Nutzdaten ohne Pad auf 42 Byte 6.8 VLANs Repeater, Bridge, Switch, Gateway, Router, Hub und Firewall Repeater = elektrischer Verstärker auf der ISO-Schicht 1 innerhalb eines LANs • verstärkt innerhalb eines LAN-Segments oder zwischen zwei Segmenten desselben LANs Bridge = Kopplung von 2 LANs auf der ISO-Schicht 1 • elektrische Trennung der Signale (Potentialtrennung), keine Rahmenspeicherung Hub ist wie Bridge, aber für die Kopplung von >2 LANs (hat mehr ports als eine Bridge) Hub macht einen Broadcast Switch = erlaubt sternförmige Punkt-zu-Punkt-Verbindung auf der ISO-Schicht 2a zur Kopplung von >1 Punkt-zu-Punkt LANs 112 • Switch macht eine Art Routing auf der Schicht 2a, indem er die MAC-Adresse auswertet und einen Rahmen an einem bestimmten Port wieder ausgibt • Spezielle MAC-Adresse erlaubt auch Broadcast • Switches speichern Rahmen, die zu schnell gesendet werden, bis der Puffer voll ist • Switches machen keine Datensicherung Gateway = Verbindung auf ISO-Schicht 3 zwischen einem LAN und einem MAN/WAN • Paketpufferung und Wegewahl findet statt Router = Verbindung auf ISO-Schicht 3 zwischen mehreren WANs • Paketpufferung und Wegewahl findet statt Firewall = Verbindung auf Schicht 4 zwischen einem WAN und einem MAN/LAN einer Firma • kontrolliert, ob auf Schicht 7 email, ftp oder http als Protokoll verwendet wird, d.h. prüft die Schicht 4-Nutzlast! • nur email, ftp oder http-Pakete dürfen aus Sicherheitsgründen die Firewall passieren sehr viele verteilte Anwendungen und viele Middleware verwenden http als Protokoll der Schicht 7, um durch die Firewall zu kommen 6.9 Adressauflösung im LAN Adressauflösung = Abbildung der Internet-Adresse (IP-Adresse) eines Rechners auf die physikalische Adresse (MAC-Adresse) LAN Gateway hat eine Abbildungstabelle und benützt das Address Resolution Protocol 113 ARP. Dieser Fall ist bei Ethernet LANs fast immer gegeben. 6.9.1 Address Resolution Protocol ARP Das ARP-Protokoll im LAN Gateway läuft folgendermaßen ab: 1.) LAN Gateway sendet mittels MAC-Broadcast ein ARP-Request-Paket, welches die eigene MAC- und IP-Adresse sowie die IP-Adresse des gesuchten Empfängers enthält 2.) LAN Gateway wartet auf die Antwort des Empfängers in Form eines ARP-Reply-Paket, welches dessen MAC-Adresse enthält 114 phys. Adresse des Host B gesucht ARP-Request Broadcast-Paket R Gateway X B Y Host Host Host B antwortet ARP-Reply-Paket R X B Y Gateway Optimierung: ARP-Cache im Gateway hält frühere (IP, MAC)-Adresspaare für die schnelle Beantwortung späterer Anfragen vor Optional: Jede Station speichert lokal (IP, MAC)-Paare, um ARP requests zu vermeiden ARP wird z.B von den Befehlen ipconfig in Windows bzw. ifconfig in Unix benützt ARP-Cache kann durch die Befehle arp bzw. arping angezeigt werden Reverse Arp (RARP-Protokoll) bildet MAC-Adressen auf IP-Adressen ab 115 6.10 Verdrahtung lokaler Netze Endgeräte (Rechner) kein Switch Switch Ethernet (1 Gb/s) kein Switch Stern Token Ring Ring teilweise vermaschtes Netz kein Switch Switches nicht für LANs Endgeräte Baum vollständig vermaschtes Netz 116 gemeinsam genutztes Übertragungsmedium (Funk, Koaxialkabel) 7 Echtzeitzugang ins Internet Ein Echtzeitzugang ins Internet wird für z.B. für Multimedia-Anwendungen benötigt und muss zuerst auf Schicht 1 und 2 bereitgestellt werden Multimedial heißt: mindestens ein zeitdiskretes und ein zeitkontinuierliches Medium wird gleichzeitig für die Darstellung von Information benutzt Zeitdiskret sind: Text, Folien, Diagramme, Tabellen, Bilder Zeitkontinuierlich sind: Audio, Video Beispiele für Multimedia: Audio + Diagramme, Video + Folien, Audio + Video + Text + Diagramme Zahl der gleichzeitig verwendeten Medien verschiedener Kategorien ist 2 Durch die Kombination von 2 Medien verschiedener Kategorien entsteht eine neue Art der Präsentation von Information: Multimedia Eine multimediale Präsentation ist interessanter, detaillierter und leichter nachvollziehbar Erzeugung von Multimediadaten mit Hilfe spezieller Software wie Adobe Director 7.1 Multimedia-Anforderungen Die Kombination von zeitdiskreten mit zeitkontinuierlichen Medien setzt die zeitliche Synchronisation beider Medienarten voraus 117 Übertragung von Audio-, Video- und multimedialen Daten erfordert deshalb: 1.) Bewahrung der zeitlichen Synchronisation zwischen Bild-, Ton-, Text- und Graphikdaten 2.) Wiedergabe der Daten in Echtzeit Datenübertragung muss mit Zeitbezügen untereinander und zur Realzeit erfolgen (=Echtzeitübertragung und Echtzeitdarstellung) Eine Ethernet-LAN-Technik mit gemeinsam genutzen Medium (Kabel oder Switch) ist ungeeignet, da indeterministisch (Zugang zum gemeinsamen Kabel ist vom Zufall abhängig bzw. davon, ob ein Ausgangsport im Switch gerade frei ist oder nicht) Geeignet sind nur Netztechniken mit garantierter Zustellzeit alle Punkt-zu-Punkt-Netze sind prinzipiell geeignet alle Broadcast-Netze mit „deterministischem Zeitmultiplex“ sind geeignet Beispiel für Punkt-zu-Punkt-Netze: Telefonsysteme Beispiele deterministischer Zeitmultiplexnetze: Token Ring (LAN), FDDI (MAN), Telefon-PCM-Systeme (WAN), Telefon-S-ISDN (WAN), B-ISDN (WAN) = SONET/SDH S-ISDN = „Small Band Integrated Services Digital Network“ = Schmalbandiges Netz für Telefon- und Datendienste B-ISDN = „Broad Band Integrated Services Digital Network“ = Breitbandiges Netz für Telefon- und Datendienste 118 Beispiel eines zeitdeterministischen Protokolls: ATM (=Asynchronous Transfer Mode). TCP/IP hingegen ist nicht zeitdeterministisch, d.h. nicht echtzeitfähig, was für Multimedia-Anwendungen ein Problem darstellt 7.2 Internet-Anwendungen mit und ohne Echtzeit • • • • • E-Commerce über das www E-Learning über Internet-basierte, interaktive Lernmanagementsysteme (Moodle, Ilias, ...) Videokonferenzen über z.B. Netmeeting oder DFNVC Webkonferenz Bildtelefonie über z.B Skype oder VoIP Web-TV über das www, IP-TV über das Internet, Web-Radio über das www, d.h. Audio on Demand statt CDs und Video-on-Demand statt Video-DVDs • Teleworking (Heimarbeitsplätze) • Home Office-Anwendungen über Cloud Computing. Anwender-Software im Netz verfügbar statt auf lokaler Festplatte gespeichert; Bsp. Google Docs. • Überwachungsdienste über Web-Kameras (es gibt >>104 Kameras in Deutschland) 119 7.3 Echtzeitzugang über das Telefonnetz Das Telefonnetz überträgt Daten und Gespräche mittels digitaler PCM-Technik in Echtzeit Zugang zum Internet von der Ortsvermittlungsstelle bis zum Wohnzimmer kann dagegen sowohl analog als auch digital sein Analoger Zugang erfolgt über einfaches Modem (bis 56 Kb/s), DSL-Modem (derzeit bis ca. 50 Mb/s) oder Videokabel (bis ca. 110 Mb/s) • DSL = Digital Subscriber Line = digitaler Teilnehmeranschluß • DSL ist eine sehr schnelle Technik für analoge Datenübertragung • DSL funktioniert mit analogem Telefonanschluss, aber auch über S-ISDN, d.h. über einen digitalen Teilnehmeranschluss, da auf dem Kabel unterschiedliche Frequenzen benutzt werden Digitaler Zugang erfolgt über S-ISDN oder Glasfaser 120 Konfiguration bei (DSL)-Modem-Zugang Telefonortsvermittlungsstelle Kunde (DSL)-Modem kurzes Kabel (Ethernet oder USB) oder WLAN Fernvermittlungsstelle (DSL)-Modems max. 10 km verdrillte Telefonleitung Gateway Sonet/SDH WAN Fernvermittlungsstelle Kunde Internet Provider (DSL)-Modem Sonet/SDH WAN 7.3.1 Gateway Sonet/SDH oder MAN 7.4 Alternative Echtzeitzugangstechnologien Es gibt Alternativen zum Internet-Echtzeitzugang per DSL-Modem: 121 • • • • • • • • Über Richtfunkstrecken (z.B. zum Anschluss von Dörfern ans Internet) Über tieffliegende Satelliten (= LEOs, Low Earth Orbiters) Über funkbasierte LANs (IEEE 801.11x) Über GSM, UMTS oder LTE-Mobilfunknetze mittels EDGE, HSDPA Über Datenübertragung durch das Stromnetz (= Powerline-Technik) Über neu zu verlegende Glasfasern und Kupferkabel (= FTTC, Fiber to the Curb) Über neu zu verlegende Glasfasern zum Endkunden (= FTTH, Fiber to the Home) Über neu zu verlegende Glasfasern und Fernseh-Koaxkabel (= HFC, Hybrid Fiber Coax) Powerline-Technik wurde von den Stromherstellern angeboten, war aber bislang nur in Nischenanwendungen erfolgreich Satelliten, Funk-LANs, Handys, DSL, FTTC und FTTH werden von den Telecoms betrieben HFC wird von den Kabelfernsehanbietern angeboten 7.4.1 HFC (Hybrid Fiber Coax) Über ein einziges Koaxialkabel beim Kunden werden sowohl digitales Fernsehen, als auch breitbandiger Internet-Zugang und Telefonie betrieben = „Triple Play“ Die Koaxialkabel werden vom Kabelnetzbetreiber mit hoher Bandbreite über Glasfaser mit analogen Fernsehprogrammen, mit digitalen Audio- und Videostreams und Internet versorgt Verteilung beim Endkunden über gemeinsam genutztes Medium (Koaxialkabel) 122 Notwendige Voraussetzungen: existierende Koaxialkabel für Kabelfernsehen mit ca. 450 MHz Bandbreite werden durch Kabel höherer Bandbreite (z.B. 750 MHz) ersetzt 300 MHz zusätzliche Bandbreite Zusätzliche Bandbreite entspricht 50 6-MHz-Fernsehkanälen und wird zur Übertragung von Multimediadaten verwendet (unidirektional) Um einen Rückkanal vom Kunden zum Provider zu ermöglichen, werden die unidirektionalen Verstärker der Kabelsignale durch bidirektionale ersetzt werden (teuer!) Die extra 50 6-MHz-Kanäle verwenden die effiziente Quadrature Amplituden Modulation (QAM) pro Kanal sind 40 Mb/s Echtzeitdatenrate möglich! Alle 50 Kanäle werden per Broadcast an die Haushalte verteilt Zur gezielten Adressierung jedes Haushalts sind die Daten individuell verschlüsselt Ziele: Wahrung der Privatsphäre trotz Broadcast + Zugang nur für zahlende Kunden. Analoges Vorbild: Pay TV Multimediadaten sind MPEG1/2/4-kodierte Videofilme für Video-on-Demand mit zusätzlichen zeitdiskreten Informationen 123 Fernseh-Koaxkabel Kabel TVAnbieter Glas= faser (Headend) Glas= faser Kopfstation Fernseh-Koaxkabel Kopfstation Jedes Headend versorgt einige tausend Haushalte d.h. ganze Wohngebiete mit TV, Video-on-Demand, Internet und Telefonie 7.4.2 FTTC (Fiber to the Curb) Curb = Randstein Glasfasern sind bis in die einzelnen Straßen verlegt. Von dort geht es über Telefonkabel (= verdrillte Kupferkabel) in die Häuser (= “last mile”) 2-stufige Hierarchie eines Verteilnetzes 124 Datentransfer ist im Gegensatz zu HFC Punkt-zu-Punkt (kein Broadcast) Kupferkabel der “letzten Meile” sind kurz => sehr gut für DSL geeignet genug Bandbreite für MPEG1/2/4 ohne teure Koaxkabel, incl. Telefonanschluss Nutzung der bereits zahlreich vorhandenen Telefonkabel-Infrastruktur Betreiber sind die Telekomanbieter Ortsvermittlungsstelle Glas= faser ONU curb Glas= faser Telefonkabel ONU Telefonkabel ONU = Optical Network Unit = el./opt. Konverter 125 Jede ONU versorgt ca. 16 Haushalte über 16 verdrillte Kupferkabel mit Daten in beiden Richtungen (bidirektional) Nachteil zu HFC: viel mehr ONUs als Headends notwendig 7.4.3 FTTH (Fiber to the Home) Jeder Haushalt erhält einen SONET/SDH-Anschluss mit z.B. 155 Mb/s (OC3) ultimative Lösung der Zukunft, zum Teil schon realisiert (Bsp.: neue Bundesländer, Stadtstaaten wie Singapur) Nachteil: immense Kosten, >50% der Investitionen des Telefonsystems liegen in den Kupferkabeln zum Endkunden => last mile ist ein Kostenproblem 7.5 Echtzeitzugang über xDSL (Digital Subscriber Line) xDSL ist die Technologie der “Supermodems” für Telefonanschlüsse (=verdrillte Zweidrahtleitungen). x steht für A, H, V, S, U, I oder {} xDSL betreibt analogeTelefonleitungen mit wesentlich höherer Bandbreite (>> 3 KHz) als 56-Kb/s-Modems Nutzt die Tatsache, dass ab der Ortsvermittlungsstelle die Datenübertragung digital ist und sehr hohe Bandbreiten aufweist (= SONET/SDH-Hierarchie auf ISO-Schicht 1) 126 Nutzt Fortschritte der digitalen Signalverarbeitung (Signalprozessoren, effiziente Modulationsverfahren) zur Beseitigung von Echos, Übersprechen, Rauschen und sonstigen Störungen Theoretische Grundlage für xDSL ist das sog. Shannon-Theorem 7.5.1 Shannon-Theorem Das Shannon-Theorem berechnet die Übertragungsgeschwindigkeit eines rauschbehafteten Kanals unter Vernachlässigung von Dämpfung und Dispersion Das Shannon-Theorem ist deshalb eine Obergrenze dessen, was möglich ist Dämpfung bewirkt, dass das Nutzsignal abgeschwächt wird Dispersion bewirkt, dass das Nutzsignal verbreitert wird Unter diesen Voraussetzungen gilt: • K = B*log2[1+10**(S/10N)] => K ~ B • K = Übertragungsgeschwindigkeit (= Kanalkapazität), wird in Baud = 1/s gemessen • B = Bandbreite des Kanals, wird in Hertz = 1/s gemessen (semantischer Unterschied zw. Hertz und Baud!) • S/N = Signal- zu Rauschleistung, wird in dB (dezibel) gemessen Beispiel: • 3 KHz Telefonbandbreite erlaubt bei 35 dB Signal-/Rauschverhältnis ca. 30 Kb/s Datenrate • 8 Mb/s Datenrate erfordern ca. 800 KHz an Kanalbandbreite 127 Neben dem Shannon-Theorem wird die Übertragungsgeschwindigkeit eines rauschbehafteten Kanals wesentlich durch Dämpfung und Dispersion des Übertragungsmediums bestimmt Beides ist bei Kupferkabeln abhängig von Leitungslänge und Leitungsquerschnitt In Deutschland gilt: • Leitungslänge zwischen Telefon und Telefonvermittlung ist 10 km • Typische Länge ist 2-4 km • Leitungsquerschnitt des Kupferkabels ist 0,4 oder 0,6 mm (2 Kabelsorten) • Fast nie gibt es Verstärker zwischen Kunde und Ortsvermittlungsstelle Nur die Übertragungsbandbreite B des Kupferkabels muss für K berücksichtigt werden Wohnt der Kunde nahe genug an einer Ortsvermittlungsstelle (<< 1 km), sind über DSL sehr hohe Datenraten möglich (bis ca. 50 Mbit/s über VDSL, theoretisch bis 100 Mb/s) DSL-Datenraten sind in der Praxis oft niedriger als der Nominalwert, für den man bezahlt, da die Leitungslängen vielerorts nicht mehr ermöglichen 128 7.5.1.1 Kanalkapazität K als Funktion der Leitungslänge eines Kupferkabels K [MBaud] 100 90 80 70 Theoretische Grenze 60 Praktische Grenze bei VDSL 50 40 30 20 10 0 0,75 1,5 2,25 3,0 3,75 4,5 l [km] Existierende Telefonkabel erlauben auf kurze Entfernungen sehr hohe Datenraten 7.5.2 Warum ist die XDSL-Technik wirtschaftlich interessant? Über 700 Millionen installierte Festnetz-Telefonanschlüsse weltweit 96% davon sind Kupferkabel-basierend 129 >50% der gesamten Investitionen der Telecoms liegen in der Verkabelung Komplett flächendeckende Glasfaserkabel bis ins Haus werden noch viele Jahre dauern (hohe Installationskosten; weniger für das Kabel als für die Verlegung) Flächendeckende Glasfaserverkabelung in den neuen Bundesländern ist vorhanden, wird aber nicht genutzt, bis DSL flächendeckend eingeführt ist xDSL ist eine sehr kosteneffektive Lösung, da bereits installierte Kupferleitungen genutzt werden 7.5.3 Aufbau eines xDSL-Zugangs xDSL-Übertragung Telefonkabel Kunde Orts= Vermittlung SONET/ SDH xDSL-Übertragung Kupfer-/Glasfaserkabel Orts= Vermittlung Internet Provider Beispiel: ADSL, VDSL • Kunde hat Zugriff auf Telefonnetz und Internet über dieselbe Telefonleitung 130 • Leitung wird über Frequenzweiche (sog. splitter) im Frequenzmultiplex betrieben • Datenrate vom Kunden (upstream) bis ca. 5 Mb/s bei VDSL • Datenrate zum Kunden (downstream) bis ca. 50 Mb/s bei VDSL 7.5.4 Die verschiedenen Typen von xDSL xDSL: Sammelbezeichnung für alle DSL-Arten IDSL: das heutige ISDN ADSL: Asymmetric Digital Subscriber Line (derzeit der Standard bei der Dt. Telekom) UDSL (U-ADSL): Universal Digital Subscriber Line (=ADSL-light, G. light) HDSL: High Data Rate Digital Subscriber Line SDSL (entspricht HDSL2): Single Line Digital Subscriber Line VDSL (Nachfolger von ADSL): Very High Rate Digital Subscriber Line 131 7.5.5 Leistungsparameter der xDSL-Techniken Internet-Dienste und Anwendungen Datenrate und Preis ~ 50 Mbps ~ 16 Mbps ~ 6 Mbps ~2 Mbps ~ 144 kbps ~ 56 kbps VDSL ADSL ADSL Teleworking, Teleteaching Telemedizin, Video-On-Demand über IPTV und Web-TV 3.) Standard bei Firmenund Privatkunden 2.) Einfache Anwendungen 1.) SDSL ISDN Sprachband-Modem Zahl potentieller Nutzer 132 7.5.6 Internet-Zugang über Sprachband-Modem oder ISDN Sprachband-Modem oder ISDN Sprachband-Modem oder ISDN Vermittelte Telefonverbindung über SONET/SDH Server eines InternetProviders 133 Internet-Zugang über ADSL mit Splitter 1 2-Draht-Leitung 7.5.7 2 1 1 2 2 DSLModem Vermittlungseinrichtung DSLModem Frequenzweichen (Splitter) Server/Gateway eines Internet-Providers Der Splitter ist eine Frequenzweiche und dient zur Aufteilung der Frequenzbereiche zwischen Telefon und ADSL Auf der Zweidrahtleitung werden verschiedene Frequenzbereiche verwendet, um unterschiedliche Informationsströme (Telefon, Fax und Daten) gleichzeitig zu übertragen Informationströme, die nicht im Basisband übertragen werden, verwenden effiziente Modulationsarten, um der Shannon-Obergrenze möglichst nahe zu kommen: 134 Diese sind Carrierless Amplitude/Phase-Modulation (CAP), Quadrature Amplitude Modulation (QAM) und Discrete Multitone Modulation (DMT), wovon DMT die beste ist 7.5.8 Aufteilung der Übertragungsfrequenzen bei CAP-Modulation Signalstärke auf dem Kabel in [dB] ISDN 0 analoges Telefon 0,3 3,4 DSL Downstream zum Kunden DSL Upstream zum Provider 80 94 Splitter-Abzweig 1 106 120 550 Frequenz in [kHz] Splitter-Abzweig 2 135 7.5.9 ADSL-Übertragungskette Kunde Ortsvermittlungsstelle Downstream bis 16 Mb/s A D S L bis 10 km bis 1,5 Mb/s Upstream A D S L SONET/ SDH Kernnetz Multimedia Server Internet Service Provider Voll-Duplexübertragung mit asymmetrischen Datenraten über eine Kupfer-Zweidrahtleitung Die erreichbaren Übertragungsraten sind von der Entfernung und von der Leitungsqualität abhängig Das DSL-Modem adaptiert sich automatisch an die verfügbare Leitungsqualität Adaption erfolgt nach jedem Einschalten des Modems oder nach dem Rücksetzen desselben von der Ortsvermittlungsstelle aus Die analoge Datenübertragung basiert bei ADSL auf der DMT-Modulation Die DMT-Modulation ist die Nachfolgerin der QAM, die wiederum die Nachfolgerin von CAP ist 136 QAM: Quadrature Amplitude Modulation CAP: Carrierless Amplitude/Phase Modulation DMT: Discrete Multitone Modulation Telefon/Fax und DSL sind bei ADSL aufgrund unterschiedlicher Frequenzen simultan möglich (stören sich nicht) Typische Anwendungen für ADSL: • schneller Internet-Zugang für Firmen und Privathaushalte • Multimedia-Zugang, Video-on-Demand, ... • und ganz normales telefonieren oder faxen 7.5.10 Warum hat ADSL asymmetrische Datenraten? Die Upstream-Signale laufen auf dem Weg zur Ortsvermittlungsstelle in großer Zahl auf engem Raum in einem Kabelkanal zusammen Übersprechen entsteht, wenn Kabel über längere Strecken parallel und eng beieinander geführt werden Viele parallele Kabelbündel verstärken nochmal das Übersprechen Hinzu kommt, dass die Nutzsignale vor der Ortsvermittlungsstelle aufgrund ihres Weges schon stark gedämpft sind Die Upstream-Signale sind vor der Ortsvermittlungsstelle klein und werden stark gestört. Nur niedrige Datenraten sind möglich. 137 Der Grund ist das Übersprechens zwischen Leitungen unterschiedlicher DSL-Modems Andererseits laufen die Downstream-Signale zu getrennten Teilnehmer-Modems weiträumig auseinander Das Übersprechen wirkt sich hier wesentlich weniger aus, da die Nutzsignale genau dann hoch sind, wenn sie eng beieinander verlaufen Deshalb kann man in der downstream-Richtung höhere Bitraten realisieren Dieses Verhalten passt zum Kundenverhalten: Browsen im Internet, Video-on-Demand usw. sind von der Nutzung her ebenfalls asymmetrisch, da viel mehr download als upload erfolgt 7.5.11 QAM-Modulation Quadrature Amplitude Modulation war die erste Modulationstechnik für DSL-Modems QAM ist eine Kombination von Amplituden- und Phasenmodulation Bsp.: 8-fach-QAM heißt: • Es gibt eine konstante Frequenz, die sog. Trägerschwingung, die das Modem aussendet und die amplituden- und phasenmoduliert ist • Die erlaubten Amplituden- und Phasenwerte sind diskret und endlich • Bei 8-fach QAM gibt es 8 Kombinationen aus 2 verschiedenen Amplituden- und 4 verschiedenen Phasenwerten Es gibt ein mathematisches Kalkül, das auf Zeigern mit Phasen- und Amplitudenwinkeln beruht: die Gausssche-Zahlenebene 138 Zur Kennzeichnung von Modulationsverfahren werden die Endpunkte der Zeiger aus Phasen- und Amplitudenwinkeln in die Gaussschen-Zahlenebene eingezeichnet Anhand der Gaussschen-Zahlenebene ist allerdings nicht erkennbar, welche Frequenz die Trägerschwingung hat Würde man diese Information hinzufügen, müsste die Gausssche-Zahlenebene mit der Frequenz der Trägerschwingung rotieren Bsp.: Die 8-fach- und 16-fach-QAM in der Gaussschen -Zahlenebene j Im {Signal} j Im {Signal} Re {Sig- Punkte sind zulässige Signale in der komplexen Zahlebene Re {Signal} 8-fach QAM 16-fach QAM 139 Jeder Punkt im Diagramm (= komplexe Zahlenebene) entspricht einer erlaubten Kombination aus Amplitude und Phase und kodiert eine Bitkombination aus drei bzw. 4 Bit 8-fach QAM: 2 Amplituden + 8 Phasensprungwinkel, aber nur jeder 2. Punkt belegt => 8 Datenpunkte, also 3 Bits pro Baud => in einer Sinusschwingung können 3 Bit übertragen werden 16-fach QAM: 4 Amplituden+ 8 Phasensprungwinkel + nur jeder 2. Punkt belegt => 16 Datenpunkte, also 4 Bits/Baud => in einer Sinusschwingung können 4 Bit übertragen werden Problem: je dichter die Gauss-Zahlenebene mit erlaubten Kombinationen belegt wird, desto schwieriger wird die Unterscheidung der einzelnen Phasen und Amplituden beim Empfänger 7.5.12 CAP-Modulation CAP ist eine verbesserte Version von QAM und benützt höhere Frequenzen Trägerfrequenz, deren Amplitude und Phase moduliert wird, wird nach der Modulation herausgefiltert wird (= Carrierless) Telefondienst und ISDN liegen unterhalb des CAP-Frequenzspektrums, stören also nicht CAP ist aufwärtskompatibel zum Telefondienst und zu Fax 140 7.5.13 DMT-Modulation DMT ist ein nochmals verbessertes QAM bzw. CAP-Modulation Die Verbesserung liegt darin, dass nicht nur ein Träger fester Frequenz verwendet wird, sonden viele Üblich sind 256 verschiedene Trägerfrequenzen, die alle separat QAM-moduliert werden Daraus resultiert eine 256-fache Datenrate Damit sich die Trägerfrequenzen möglichst wenig stören, werden sie gleichmäßig auf den zur Verfügung stehenden Frequenzbereich aufgeteilt Zusätzlich wird der zur Verfügung stehende Frequenzbereich des zweiadrigen, verdrillten Telefonkabels gegenüber CAP deutlich vergrößert Dies geht auf Kosten der maximal möglichen Kabellänge, da nur kurze Kabel solche hohen Frequenzen nicht zu stark dämpfen Die 256 Trägerfrequenzen werden als Subbänder bezeichnet Bei VDSL wird das Kabel mit der maximal möglichen Bandbreite betrieben, die angepasst ist an Kabellänge, Kabeldurchmesser und äußeren Störungen 141 Frequenzaufteilung bei DMT: Signalstärke [dB] Telefon/ISDN DSL 256 Subbänder Analoges Telefon und Fax 3,4 26 138 1104 f [kHz] Die unteren Subbänder bis 138 KHz werden vom analogen Telefon, Fax und ISDN belegt, stehen also für das DSL-Modem nicht zur Verfügung Schließlich wird bei DMT das Übertragungsverhalten jedes einzelne Subband individuell berücksichtigt Manche Subbänder sind schneller als andere, da auf deren Frequenz weniger Störungen auftreten Dort können mehr Bits pro Sekunde bei gleicher Fehlerrate übertragen werden => Bitratenadaption Jedes Subband ist ca. 4 kHz breit. Es wird auch als „Kanal“ bezeichnet. 142 Jeder Kanal überträgt bis ca. 60 kbit/s, falls ein sehr gutes Signal-/Rauschverhältnis vorhanden ist (nach Shannon besser als 30 dB) Bei starken Störungen in einigen Subbändern werden diese nicht verwendet Die Datenrate bei DMT liegt pro Kanal zwischen 60 Kbit/s und 0 Kbit/s In der Summe über alle Kanäle sind im günstigsten Fall ohne Störungen ca. 16 Mbit/s über ADSL, bei VDSL bis ca. 50 Mbit/s möglich Der Telefondienst/Fax liegt wie bei CAP unterhalb der DMT-Frequenzen für Datendienste und wird, falls erforderlich, separat geführt (Splitter an beiden Enden der Leitung notwendig) DMT ist amerikanischer ANSI- (T1.413) und europäischer ETSI-Standard 7.5.13.1 Automatische Bitraten-Adaption bei DMT Wichtiges Prinzip der DMT: „DMT adapts to every line condition“ Damit werden Störungen umgangen bzw. ausgeblendet 143 7.5.13.2 Übertragungsverhalten von Telefonkabeln ohne Störungen Sendesignal [Bit/s] Kabeldurchlass = 1/Dämpfung [dB] Empfangssignal [Bit/s] Frequenz Frequenz Frequenz Sender Kabel Empfänger Das Telefonkabel wirkt wie ein sog. Tiefpass, d.h., es läßt tiefe Frequenzen gut durch und hohe schlecht => die Dämpfung ist eine Funktion der Frequenz Hinzu kommt: die Dispersion (Verzerrung) ist ebenfalls eine Funktion der Frequenz Zusätzlich zu Rauschen, Dämpfung und Dispersion kommen Störungen von außen, die die schnelle Datenübertragung erschweren Eine Bitratenadaption jedes Kanals an diese Effekte ist deshalb sinnvoll 144 7.5.13.3 Übertragungsverhalten von Telefonkabeln mit Störungen Sendesignal [Bit/s] Sender Empfangssignal [Bit/s] Kabel Empfänger Funkstörung Reflektion Frequenz Frequenz Übersprechen Frequenz Bei der DMT-Modulation messen die DSL-Modems automatisch nach jedem Einschalten die Übertragungsgüte jedes einzelnen Kanals und adaptieren die Bitrate kanalweise gemäß der jeweiligen Übertragungseigenschaften Dieser Vorgang dauert einige Minuten und findet jede Nacht statt Dazu wird die DSL-Verbindung - auch bei einer Flat Rate - unterbrochen Typische Störungen bei der DSL-Übertragung sind: • Thermisches Rauschen von Leitungen und Bauteilen aufgrund der Brownschen Molekularbewegung • Dämpfung des Nutzsignals 145 • • • • Verzerrung des Nutzsignals Kabelabzweigung mit daraus resultierender Reflexion des Signals (Echo) hochfrequente Einstreuung von außen (z.B. durch Radio oder Handy) Übersprechen, verursacht durch parallel geführte Kabelbündel von Telefonleitungen 7.5.14 HDSL - High Data Rate Digital Subscriber Line Kunde T1: 1.544 Mbps : 2 Paare H E1: 2.048 Mbps : 3 D Paare S bis ca. 4 km L Vermittlungseinrichtungen H Optisches D Netz der TeS lekom-FirL H D S L Kunde H D S L SONET/SDH Ältere Technik mit symmetrischen Bitraten über verdrillte Kupferdrähte (Kabelpaare) Entstanden als kostengünstige Technik der Telecoms zur Realisierung von T1 oder E1 (=1,5 Mbit/s oder 2 Mbit/s-Leitungen) über zwei bis drei Telefonkabelpaare Basiert auf QAM mit 2 Bits pro 1 Baud oder CAP-Modulation (= viel weniger effektiv als DMT) Kein simultaner Telefondienst auf dem Kabel möglich 146 Typische Anwendungen: Für Firmen oder Gebäude, die keinen Glasfaseranschluss haben Beachte: Glasfaseranschlüsse ins Internet kosten bei der Dt. Telekom je nach Geschwindigkeit ca. € 5000-60 000 pro Monat! 7.5.15 SDSL - Symmetric Digital Subscriber Line Vermittlungseinrichtungen Kunde S D S L S D S L 1.544/2.048 Mbps bis ca. 3 km CORE NE WORK „optical“ S D S L Kunde 1,5 / 2 Mb/s S D S L SONET/SDH „Single Line“-Version von HDSL (nur eine Zweidrahtleitung => kostensparend) Symmetrische Bitraten, da Firmen sehr viel Content für eCommerce ins Netz stellen Basiert auf QAM, CAP oder DMT-Modulation Telefondienst und T1/E1 simultan möglich Typische Anwendungen: wie HDSL aber ebenfalls veraltet 147 7.5.16 VDSL - Very High Data Rate Digital Subscriber Line remote side V D S L Downstream bis 50 Mb/s bis 1 km bis 10 Mb/s Upstream CO side V D S L CORE NETWORK Multimedia Service Provider für Video-on-Demand Internet Service Provider CO = Central Office Voll-Duplexübertragung über eine Zweidrahtleitung Höhere Datenraten als ADSL, aber viel kürzere Kabellängen Telefondienst, ISDN und Datenübertragung simultan Typische Anwendungen: nächste Generation von xDSL VDSL-Netz zur Zeit im Aufbau, u.a. für Video-on-Demand in HDTV-Qualität 148 7.5.17 Die xDSL-Familie im Überblick symmetrische Datenraten asymmetrische Datenraten HDSL SDSL ADSL VDSL High Data Rate DSL Single Line DSL Asymmetric DSL Very High Data Rate DSL Downstream 1544 oder 2,048 Mb/s 1,544 oder 2,048 Mb/s bis ca. 16 Mb/s bis ca. 50 Mb/s Upstream 1,544 oder 2,048 Mb/s 1,544 oder 2,048 Mb/s bis ca. 2 Mb/s bis ca. 10 Mb/s max. Leitungslänge ca. 3 bis 4 km ca. 2 bis 3 km bis ca. 10 km bis ca. 1 km Adernpaare 2 bei 1,544 Mb/s, 3 bei 2,048 Mb/s 1 1 1 analoges Telefon/Fax nein ja ja ja ISDN nein ja ja ja Bezeichnung Bedeutung 149 Bezeichnung HDSL SDSL ADSL VDSL benutzte Bandbreite bis 240 kHz bis 240 kHz bis 1,1 MHz bis 30 MHz Modulationsverfahren CAP CAP (CAP), DMT DMT, DWMT T1/E1Dienste, WAN und Serverzugänge T1/E1Dienste, WAN- und ServerZugänge Internetzugang, WebTV HDTV Videoon-Demand Anfang 90er Mitte 90er Mitte/Ende 90er seit Anfang 2006 Einsatzbereiche Verfügbarkeit seit 150 7.6 Point-to-Point Echtzeit-Protokoll (PPP) der ISO-Schicht 2b PVC PPP xDSL xDSL als Schicht 1 und 2a CO ATM RAS WAN/ MAN SONET/SDH = Digitales Telefon/Datennetz als Schicht 1 und 2a = WAN Für den Kunden wird TCP und IP über PPP und DSL transportiert Im digitalen Telefon-/Datennetz (WAN) wird TCP und IP über ATM und SONET/SDH transportiert CO = Central Office = Telefon-Ortsvermittlungsstelle RAS = Remote Access Server des Internet Providers PVC = Permanent Virtual Circuit in ATM = Emulation einer Standleitung in einem virtuellen ATM-Netz PPP ist das Schicht 2b-Protokoll für die Einwahl der Kunden über DSL-Modems 151 Ab der Ortsvermittlungsstelle (CO) geht es dann über das optische „Kernnetz“ einer Telekommunikations-Firma mit IP über ATM oder purem IP als Protokoll weiter Der Zugang zum Internet erfolgt über über das optische Kernnetz zu einem Remote Access Server (RAS) des Internet Providers Der Internet Provider (z.B. 1&1) mietet dazu mehrere sog. PVCs vom Betreiber eines realen oder virtuellen ATM-Netzes PPP kann bis zum RAS des Internet Providers ausgedehnt werden, PPP wird dann als „Nutzlast“ (payload) von ATM übertragen ATM wiederum dient in den Kernnetzen (WANs) als Schicht 2-4-Protokoll und verwendet SONET/SDH als Schicht 1 (Bitübertragungsschicht) Auf ATM sitzt manchmal, aber nicht immer IP als Nutzlast auf, gefolgt von TCP oder UDP 7.6.1 Funktion von PPP PPP stellt eine Schicht 2b-Punkt-zu-Punkt-Verbindung zwischen 2 DSL-Modems her PPP ist echtzeitfähig und stellt über eine Prüfsumme am Rahmenende fest, ob ein Übertragungsfehler vorliegt PPP macht keine Rahmenwiederholung im Fehlerfall, da Rahmenwiederholungen echtzeitschädlich sein können, weil sie Übertrgungszeit kosten PPP nimmt auch keine Authorisierung oder Authentifizierung vor, die sog. AA AA wird mit extra Protokoll realisiert, z.B. mit Password Authentication Protocol (PAP) 152 7.6.2 Protokollphasen von PPP 1.) Verbindungsaufbau und Konfigurationsaushandlung: ein PPP-Knoten (=DSL-Modem) sendet spezielle Datenrahmen zum Aufbau der Datenverbindung und zur Konfiguration in der Schicht 2. 2.) Prüfen der Verbindungsqualität: die Leitung wird ausgemessen (optional; wird bei DSL-Modems standardmäßig eingesetzt) 3.) Konfiguration des Schicht 3-Protokolls (z.B. IP). Der PPP-Knoten sendet optional spezielle Rahmen zur Konfiguration der Schicht 3. Bei DSL-Modems nicht notwendig, da nur Punkt-zu-Punkt-Strecke ohne Routing. Diese Funktionalität ist zudem ausserhalb der ISO-7-Schichten-Regeln, da Schicht 2 und Schicht 3 vermischt werden. 4.) Datenübertragung 5.) Verbindungsabbau 8 Echtzeit-Übertragung im Internet Bei DSL, PCM- oder Sonet/SDH- als Schicht 1 ist Echtzeitübertragung problemlos möglich Bei ATM-Protokollen (= Schicht 2,3 und 4) sind die Echtzeitbedingungen ebenfalls erfüllt 153 Bei IP Version 4 sind die Echtzeitbedingungen nicht erfüllt Bei IP Version 6 ist Echtzeit mit Einschränkungen möglich Schicht 7-Protokolle versuchen, trotz IP V4 näherungsweise Echtzeit zu implementieren Beispiele für solche Anwendungen: Voice over IP (= telefonieren über das Internet mit Hilfe eines IP-Telefonapparats oder eines Rechners) mittels Skype, VoIP oder MSN Messenger Verbesserung der Situation nur durch Übergang auf IP V6 möglich 8.1 PCM-Verfahren zur Echtzeit-Übertragung PCM = Pulscode-“Modulation“ (schlechte Terminologie, da Codierung und keine Modulation) Dient für die Echtzeitübertragung von Daten auf der ISO-Schicht 1 zwischen TelefonOrtsvermittlungsstellen Verwendet synchrones Zeitmultiplex: • Verschiedene Datenquellen werden reihum nacheinander übertragen • Jeder Quelle wird periodisch eine Zeitscheibe (time slot) zugeteilt • Multiplexer und Demultiplexer laufen zeitsynchron, d.h gleich schnell und phasenstarr 154 Prinzip: Bitstrom 1 Bitstrom 2 ... Zeitscheibe n Zeitscheibe 2 Zeitscheibe 1 Zeitscheibe n Zeitscheibe 2 Zeitscheibe 1 Bitstrom 1 Multiplexer ... Bitstrom n Demultiplexer Bitstrom n 8.1.1 Bitstrom 2 Systemparameter von PCM-Zeitmultiplexsystemen Jedes PCM-Zeitmultiplex-System hat bestimmte Systemparameter, wie: • Die kleinste Übertragungseinheit pro Zeitabschnitt, z.B. 1 Bit, 1 Byte, n-Bit-Wort oder Block von n-Bit-Wort Worten • Die Dauer jedes Zeitabschnitts (Time Slots). Time Slots sind stets äquidistant. • Die Anzahl der Time Slots in jeder Umlaufperiode • Die Häufigkeit der Zeitscheibenzuteilung pro Übertragungskanal (1 Mal oder mehrere Male pro Umlaufperiode) • Vorhandene Synchronisierhilfen zwischen Multiplexer und Demultiplexer, wie z.B. gemeinsamer Takt für beide Geräte 155 • Sog. Melde- und Signalisierungsdaten zur Rufnummernwahl, Klingeln, Anrufumleitung, Anrufweiterschaltung, Rufnummernanzeige, Gebührenzählung,... übertragen werden 8.1.2 Aufbau eines typischen T1-PCM-Rahmens Kleinste Übertragungseinheit pro Zeitabschnitt: 8 Bit Dauer jedes Zeitabschnitts: ca. 3,9 µs, Dauer der Umlaufperiode: 125 µs (8000 Hz) 156 Anzahl der Zeitabschnitte pro Periode: 24 Kanäle (T1-PCM) bzw. 32 Kanäle (E1-PCM) 8.1.3 T1-PCM-System (USA und Japan) 24 Kanäle zu je 8 Bit pro Periode => 64 000 bit/s pro Kanal Datenmenge pro Periode heißt „Rahmen“. Bruttodatenrate des Rahmens ist 1,544 Mb/s Das 8. Bit jedes übertragenen Wortes dient als Melde und Signalisierungsbit Es werden nur 7 Bit pro Kanal als Abtastwerte vom Mikrofon des Telefons übertragen Sprachqualität ist im Vergleich zu Europa eingeschränkt 8.1.4 E1-PCM-System (Welt ohne USA und Japan) Periodendauer = 125 s, bei 32 Kanälen zu je 64 000 b/s (nicht 64 Kb/s!) alle 125 s kommen 32 Zeitscheiben zu je 8 Bit => Bruttodatenrate 2,048 Mb/s 30 Zeitscheiben sind für Nutzdaten, 2 Zeitscheiben für Verwaltungsinformation 157 8.1.4.1 Aufbau der Datenrahmen bei E1 Gesamte Rahmenlänge 125 µs ZeitAbschnitts nummer 0 PCM-codierte Kanäle 1 bis 15 Rufnummernübertragung 1 15 16 2 1 Zeitscheibe X 0 0 1 1 0 1 1 PCM-codierte Kanäle 16 bis 31 30 17 31 8 Bit Kennzeichnungsabschnitt ein frame delimiter wird nur in den Rahmen Nr. 1, 3, 5,... (alle ungeraden Rahmen) übertragen 3,9 µs X 1 D N Y Y Y Y ein „Meldewort“ wird im Wechsel mit dem frame delimiter in den geraden Rahmen übertragen. Es enthält Verwaltungsinformationen: D Meldebit für dringenden Alarm; N Meldebit für nicht dringenden Alarm, X für internationale Verwendung reserviert ; Y für nationale Verwendung reserviert 0,49 µs pro Bit 158 Zeitabschnitte (= Zeitscheiben) sind mit 0 bis 31 nummeriert Ein Abschnitt ist ca. 3,9 µs lang. Die gesamte Rahmendauer ist auf 125 Mikrosekunden genormt Im Zeitabschnitt 0 werden abwechselnd Rahmenkennworte (u. a. zur Rahmenidentifizierung, Synchronisierung) und Meldeworte (u. a. zur Überwachung der Digitalsignalleitung) übertragen Der Kennzeichenabschnitt dient zur Übertragung vermittlungstechnischer Daten wie bspw. Rufnummerübertragung, zum Verbindungsauf- und abbau und zur Gebührenzählung Die 30 übrigen Zeitabschnitte transportieren jeweils 8 Bit lange Abtastwerte eines digitalen Fernsprechkanals mit einer Rate von 64 000 b/s pro Kanal Anstelle von Fernsprechsignalen werden auch beliebige andere digitalisierte Daten aus dem Internet und anderen Rechnernetzen in Einheiten von 8 Bits übertragen 8.1.5 PCM-Hierarchien Sowohl E1- als auch T1-PCM-Systeme erlauben, mehrere Rahmen zu „Trägern“ höherer Baudraten zu multiplexen Beim Multiplexen werden mehrere vollständige Träger niederer Datenrate incl. deren Verwaltungsinformation zu einem Träger höherer Datenrate zusammengefasst Beispiel: T1-Hierarchie: Multiplexen erfolgt bitweise nicht byteweise 159 Achtung: bei T1 sind die Multiplex-Bitraten nicht ganzzahlige Vielfache der Übertragungs-Bitraten T1, T2, T3,... 8.1.5.1 E1-PCM-Hierarchie Bei E1-Systemen erfolgt das Multiplexen von E1-Rahmen im Gegensatz zu T1 in festen Schritten von 4 Inputs pro Output, und es gilt stets: En+1 = 4 En => klareres Konzept E1- bzw. T1-Systeme sind untereinander inkompatibel => Datenaustausch nur über Konverter möglich PCM 30 = 2,048 Mbit/s (= E1) • x 4 liefert PCM 120 = 8,448 Mbit/s (= E2) • x 4 liefert PCM 480 = 34,368 Mbit/s (= E3) 160 • x 4 liefert PCM 1920=139,294 Mbit/s (= E4) • x 4 liefert PCM 7680 =564,992 Mbit/s (= E5) und so weiter Multiplexhierarchie ist nach oben offen: derzeit bis 10 Gb/s in Europa und bis 40 Gb/s in USA erlaubt die Aufwärtskompatibilität bestehender Systeme zu Systemen mit höherer Datenrate 8.2 Sonet/SDH zur Echtzeit-Übertragung SONET = „Synchronous Optical Network“ (= Entwicklung der USA) SDH = „Synchronous Digital Hierarchy“ (= Entwicklung der Europäer) SDH ist praktisch identisch zu SONET => weltweite Kompatibilität ist garantiert SONET/SDH ist ein Wide Area Network (WAN) Warum gibt es SONET/SDH? E1- und T1-PCM-Systeme beruhen noch auf Kupferkabeln Moderne PCM-Systeme sind jedoch Glasfaser-basiert SONET/SDH ist das von der ITU standardisierte Glasfaser-basierte PCM-System Marktanteil von SONET/SDH bei Glasfaser-PCM-Systemen ist sehr hoch 8.2.1 Ziele von SONET/SDH 1.) Weltweit einheitlicher Rahmenaufbau für alle Netzbetreiber 161 Weltweite Kompatibilität aller Glasfaser-PCM-Systeme 2.) Kompatibilität zu den alten Kupferkabel-basierten PCM-Systemen E1 und T1 Unterstützung von Hierarchien aus Multiplex-Rahmen • Transportiert T1-, T2-, T3-,..., und E1-, E2-, E3- ,..., Träger • Transportiert auch ATM-Datenrahmen (ATM = Echtzeitprotokoll für SONET/SDH) 3.) Unterstützung von automatisierter Verwaltung und Wartung aller Netzkomponenten, sog. Operation, Administration and Management (OAM), so dass menschliche Interventionen minimiert werden (Kostengründe) 8.2.2 Eigenschaften von SONET/SDH Synchrones Zeitmultiplexsystem (PCM) mit max. 1 ns Phasendifferenz zwischen Multiplexer und Demultiplexer (= „Jitter“) Besteht aus Vermittlern, Multiplexern und Repeatern, die über Glasfaser verbunden sind Repeater: dienen zum Verstärken des Datensignals Multiplexer: fassen mehrere Teilbitströme zu einem „höheren Träger“ zusammen, z.B. 4*E1 zu E2 Vermittler: • dienen zur Wegewahl 162 • sind Bestandteil von Quell-/Zielmultiplexern und allen Multiplexern dazwischen SONET/SDH implementiert Punkt-zu-Punkt-Verbindungen (sog. SONET-Pfade) Mehrere Punkt-zu-Punkt-Verbindungen ergeben allgemeinen Graphen als Verbindungstopologie Aus Redundanzgründen werden je 2 parallele Punkt-zu-Punkt-Verbindungen zu einem Doppelring ähnlich wie bei FDDI zusammengeschaltet => Fehlertoleranz 8.2.3 Aufbau eines SONET/SDH-Pfades Repeater Multiplexer Repeater Destination Multiplexer Empfänger (Ziel) Sender (Quelle) Source Multiplexer Section (Abschnitt) Leitung Section Section Section Line Path (Pfad) Abschnitt (section) = Glasfaserstrecke zwischen 2 Geräten (Multiplexer oder Repeater) 163 Leitung (line) = Faserstrecke zwischen 2 Multiplexern Pfad (path) = Faserstrecke zwischen Quell- und Zielmultiplexer 8.2.4 SONET/SDH als ISO-Schicht 1 und 2 SONET/SDH ist die ISO-Schicht 1 und 2 für Telefon, Fax und Internet SONET/SDH ist in 4 Subschichten unterteilt: • Photonteilschicht, Abschnittsteilschicht, Leitungsteilschicht und Pfadteilschicht 164 8.2.5 Subschichten von SONET/SDH Sublayers: ISO Schicht 1 Path Line Line Line Section Section Section Section Photonic Photonic Photonic Photonic Multiplexer Destination Source Repeater Section Section Line Teilschichten Path Section Line Path Photonteilschicht: • Spezifikation der Glasfaser und der Wellenlänge (meist Infrarot wg. geringer Dämpfung) • Wandlung zwischen optischem und elektrischem Signal für Empfang und Verstärkung Abschnittsteilschicht: • Erkennen von Rahmenanfang und -ende • Erstellen, Einspeisen, Übertragen und Entnehmen von SONET-Rahmen aus der Faser Leitungsteilschicht: 165 • Multiplexen/Demultiplexen gemäß Multiplexhierachie Pfadteilschicht: • Ende-zu-Ende-Transport von Daten zwischen Quell- und Zielmultiplexer Achtung: die Pfadteilschicht ist nicht für höhere Funktionen wie z.B. Wegewahl (Routing) zuständig Das Routing wird von ATM oder IP gemacht 8.2.6 SONET/SDH-Rahmenaufbau Der sog. SONET-Basisrahmen ist ein Block von 810 Byte in konstanter Folge alle 125 s. Bitrate des Basisrahmens ist 51,84 Mb/s, Wiederholungsrate der Basisrahmen ist 8000/s Basisrahmen heißt Synchronous Transfer Signal of Level 1 (STS-1) Nutzdaten: 774 Byte von 810 Byte => Nutzdatenrate: 49,536 Mbit/s => 96% Effizienz Jedes Byte wird bitweise über die Glasfaser übertragen, ein Byte nach dem anderen und jeder Rahmen nach seinem Vorgängerrahmen Datenrate von 8000 Rahmen/s passt zu alten PCM-Systemen Aufwärtskompatibilität zu kupferkabelbasierten Systemen 166 Deterministische Datenrate und deterministische Zustellzeit der Rahmen (sog. Latenz) SONET/SDH ist echtzeitfähig Byteblock von 810 Byte wird gedanklich als 2-dim. Tabelle (= 2 dimensionale Datenstruktur) interpretiert 0 µs ... Zeit 125 µs gedachte Tabelle hat 90 Spalten und 9 Zeilen (=9*90 Byteblock) 3+1 Spalten der gedachten Tabelle sind für Transportzusatzinformation reserviert 167 8.2.6.1 Feinstruktur des SONET/SDH-Rahmenaufbaus 90 Spalten Transport-Zusatzinformation 3 Spalten 1 Spalte 0 µs Zeit AbschnittsZusatzinformation 3 Zeilen LeitungsZusatzinformation 6 Zeilen PfadZusatzinformation 9 Zeilen 125 µs Transportzusatzinformation dient dem automatisierten Betrieb und dem Management der SONET/SDH-Geräte (OAM); Wichtig, da Geräte und Glasfaser im Boden vergraben sind! 168 Die ersten 3 Zeilen der ersten 3 Spalten enthalten Transportzusatzinformation zur SONET/SDH-Abschnittsverwaltung Die restlichen 6 Zeilen der ersten 3 Spalten enthalten Transportzusatzinformation zur SONET/SDH-Leitungsverwaltung Zusätzlich gibt es eine Spalte mit Transportzusatzinformation zur SONET/SDH-Pfadverwaltung Die Pfadverwaltungsinformation definiert den Beginn einer weiteren gedachten Struktur, den sog. Synchronous Payload Envelope (SPE) Der SPE dient zum flexiblen Transport von Nutzdaten verschiedener Länge Der SPE kann mitten im Byteblock beginnen Sein Beginn wird durch einen Zeiger in der Leitungsverwaltung gekennzeichnet Der SPE reicht bis zum Beginn des nächsten SPE im nachfolgenden Byteblock 169 8.2.6.2 Lage des SPE zwischen zwei aufeinanderfolgenden Rahmen 170 sog. H1, H1-Felder in Leitungs-Zusatzinformation zeigen Beginn des SPE an Sektions- und Leitungszusatzinformation (3 Spalten) PfadZusatzinformation (1 Spalte) J1 H1 H2 1 Rahmen N (9 Reihen) gedankliches Anhängen der Positionen 4-5, 9-10, ... an die Positionen 3,8, ... 4 5 9 10 6 2 7 3 4 8 5 9 10 virtuel- 9 Reiles An- hen H1 H2 Rahmen N+1 (9 Reihen) J1’ 3 Spalten 87 Spalten 2 Byte (H1 und H2) sind Zeiger auf die zwischen den Bytes J1 und J1’ liegenden Nutzdatenbytes (= 1 SPE) => Durch H1 und H2 ist direkter Zugriff auf den SPE gegeben 171 8.2.6.3 Abschnitts-, Leitungs- und Pfadinformation Diese Felder werden gebraucht für: • Rahmenerkennung, Datensicherung über Parität, Fehlerüberwachung der Übertragungsstrecken und Geräte • Kennungen, Taktgabe und Synchronisation • Sprachkanäle (Byteblock enthält mehrere Kanäle mit 64 Kb/s) Die Infos der Abschnittsverwaltung werden am Ende jedes Abschnitts ausgewertet und dann für den nachfolgenden Abschnitt wieder neu erzeugt Die Infos der Leitungsverwaltung werden am Ende jeder Leitung ausgewertet und für die nachfolgende Leitung wieder neu erzeugt Die Infos der Pfadverwaltung werden nur einmal erzeugt (am Anfang des Pfades) und ausgewertet (am Ende des Pfades) 172 8.2.6.4 Aufbau der Zusatzinformationen im SONET-STS-1-Rahmen AbschnittsZusatzinformation A1 A2 C1 B1 E1 F1 D1 D2 D3 H1 H2 H3 B2 K1 K2 D4 D5 D6 Leitungs-zuD7 D8 D9 satzinformation D10 D11 D12 Z1 Z2 E2 1. Abschnitts-Zusatzinformation A1/A2: Zusätzlicher Frame Delimiter mit Hilfe des Bitmusters 11110110 / 00101000 C1: Zeiger auf die Position des gemultiplexten STS-1-Rahmens im STS-N-Rahmen (N<256) Durch C1 ist direkter Zugriff auf einzelne STS-1-Rahmen d.h. Kanäle gegeben 173 B1: Teil 1 der Parität für den vorausgegangenen STS-N-Rahmen (N1) E1:64 kbit/s Sprachkanal (= Abschnitts-Wartungskanal für OAM) F1:64 kbit/s Sprachkanal (= Abschnitts-Wartungskanal für OAM) D1-D3:192 kbit/s Datenkanal (= Abschnitts-Wartungskanal für OAM) 8.2.6.5 H1-H3:Zeiger (H1 & H2), und Zeigeraktion (H3) für SPE B2: Teil 2 der Parität für den vorausgegangenen STS-N-Rahmens (N1) K1-K2:Signalisierung zwischen zwei Multiplexern bei Fehlern und für Kommandoworte D4-D12:576 kbit/s Datenkanal (Multiplexer-Management für OAM) Z1-Z2:128 kbit/s Datenkanal (Multiplexer-Management für OAM) E2: 64 kbit/s Sprachkanal (Multiplexer-Management für OAM) 8.2.7 2. Leitungs-Zusatzinformation SONET/SDH-Multiplexen Beim Multiplexen werden mehrere vollständige Byteblöcke niederer Datenrate incl. deren Verwaltungsinformation zu einem Byteblock höherer Datenrate zusammengefasst Der Byteblock höherer Datenrate wird als Träger bezeichnet Multiplexen der Byteblöcke erfolgt auf Bytebasis Der neue Byteblock hat die n-fache Größe der Eingangsblöcke (bei n Eingangsströmen) 174 Seine Wiederholrate ist ebenfalls 125 s Datenrate ist n-fach höher SONET verwendet ganzzahlige Vielfache der STS-Grundrate für die Bitraten höherer Träger STS n = Synchronous Transfer Signal n; STS-Grundrate ist STS 1 = 51.84 Mb/s Mehrere Multiplexer hintereinander definieren eine Multiplexhierarchie wie bei E1/T1Systemen Es ergibt sich eine Hierarchie von Datenraten: STS 1, STS 2,..., STS 48,... 175 8.2.8 Aufbau eines STS-N-Rahmens N*90 Spalten TransportZusatzinformation N*3 Spalten Container N*86 Spalten 0 9 Reihen N Spalten Pfad-Zusatzinformation 125 µs Die Daten werden byteweise in den STS-N-Rahmen gemultiplext Die Felder für Sektions-, Leitungs- und Pfad-Zusatzinformation sind jeweils N-mal vorhanden direkter Zugriff auf die Nutzdaten möglich 176 8.2.9 Beispiel für eine Multiplexhierarchie bei SONET/SDH Das gewandelte optische Signal bildet eine Hierarchie: OC 1, OC2,...,OC 48,... OC = Optical Carrier = opt. Trägersignal OC-x ist bis auf eine Bitverwürfelung (Scrambling) das optische Pendent zum elektrischen STS-x-Signal 177 Scrambling sorgt für Verschlüsselung (security) Scrambling verhindert Außerdem lange 0000...- oder 1111...-Folgen (= besser für die Empfängerelektronik) SDH (nicht SONET) verwendet die dreifache STS-Grundrate zum Multiplexen (3*STSGrundrate = 155.52 Mb/s) Diese wird als STM 1 bezeichnet und gibt direkt die Rate des optischen Signals an (STM 1 = OC 3) STM = Synchronous Transport Module 178 8.2.10 Multiplexraten bei SONET/SDH 155 Mb/s, 622 Mb/s und 2488 Mb/s sind gebräuchliche Datenraten für ATM, wenn ATM über SONET/SDH transportiert wird 9,95 Gb/s (STM64) ist die maximale WAN-Datenrate des in Deutschland existierenden G-WIN-Netzes. (in USA: 40 Gb/s) 179 8.2.10.1 Höhere Datenraten für einen Sender Höhere Übertragungsraten (>>STS1 bzw. >>STM1) für eine Datenquelle können dadurch erzielt werden, dass man mehrere Basisrahmen dieser Quelle multiplext In diesem Fall wird nicht byteweise gemultiplext sondern spaltenweise Dabei werden korrespondierende Spalten mehrerer Byteblöcke derselben Quelle konkateniert Der neue Byteblock hat eine entsprechend größere Spaltenzahl Der neue Byteblock hat die n-fache Größe der Eingangsblöcke und wird ebenfalls in 125s übertragen => es folgen mehr Spalten schneller hintereinander Zur Kennzeichnung wird der Buchstabe „c“ verwendet (für concatenated) Beispiel OC3c: 3 OC1-Rahmen einer Quelle der Größe 9*90 werden spaltenweise konkateniert, so dass ein OC3c-Rahmen mit 270 Spalten und 9 Zeilen entsteht. 180 9 Stadtnetze (Metropolitan Area Networks, MANs) Stadtnetze erstrecken sich nicht nur über eine Stadt sondern beispielsweise auch über ein Firmengelände oder einen Universitätscampus 9.1 Beispiele für ein MAN: FDDI und DQDB FDDI = Fibre distributed Data Interface • = glasfaserbasiertes MAN mit 100 Mb/s DQDB = Distributed Queue Dual Bus • = MAN mit 34 Mb/s = Standard für die ersten Glasfaserleitungen 9.2 FDDI (Fiber Distributed Data Interface) Durch ANSI und ISO standardisierter Nachfolger von Token Ring als MAN Große räumliche Ausdehnung (200 km) Große Anzahl an Stationen (bis 1.000), die angeschlossen werden können Topologie ist aus Fehlertoleranzgründen ein Doppelring mit gegenläufigen Rahmen Glasfaserbasierend (Gradientenfaser oder Monomode-Faser) mit 1.300 nm Wellenlänge = fernes Infrarot Preisgünstige Leuchtdioden als Sender (keine Laserdioden) 181 Zugangssteuerung (Medium Access Control) über kreisende Sendeberechtigungsmarke (Token) mit zahlreichen Überwachungen (Checks) der Funktion, wie z.B. time-outÜberwachung der periodischen Wiederkehr des tokens an jeder Station etc. Erhöhung der Bandbreite durch multiples Senden zur selben Zeit auf demselben Ring durch Anhängen mehrerer Senderahmen zu einem ganzen Zug Kreisendes token resultiert in deterministischen Sendezeiten (sog. time slots) für jede Station => Echtzeitdatenübertragung ist möglich = „synchrone Betriebsweise“ Bandbreite kann auch anderweitig genutzt werden („asynchrone Betriebsweise“) Durch Time Sharing des Rings ist im schnellen Wechsel synchrone und asynchrone Betriebsweise möglich 182 9.2.1 Beispiel für eine FDDI-Topologie Klasse B Klasse A Station 1 Station 4 Klasse C Klasse A Station 5 Klasse B Station 2 „Dual Attachment Station“ = Klasse A „Single and Dual Attachement Station“ = Klasse C Konzentrator Klasse B Station 3 „Single Attachement Station“ = Klasse B Station 6 Klasse A single attachment: 1 FDDI-Anschluss dual attachment: 2 FDDI-Anschlüsse attachment: Anhang, Zusatz 183 9.2.2 FDDI als Backbone PCs oder Workstations Weitverkehrsnetz Host Konzentrator Gateway FDDI-Ring IEEE 802.3 Ethernet Bridge IEEE 802.4 Token Bus Bridge IEEE 802.5 Token Ring Bridge diverse lokale Netze Backbone: Rückgrat 9.3 Vergleich Ethernet, Token Ring und FDDI 9.3.1 Ethernet (CSMA/CD-Zugangssteuerung) Gute Performanz bei geringer bis mäßiger Belastung bis ca. 30% der maximalen Bitrate (ohne switch sehr viele Kollisionen bei hoher Belastung) 184 Einfaches Protokoll, leicht implementierbar, kein Netzwerk-Monitor notwendig Topologische Einschränkungen (bei Switch nur Sterntopologie möglich) Keine Rahmen-Prioritäten, zudem Problem des „bubbling idiots“ Keine zeitliche Obergrenze bei der Rahmenzustellung garantierbar für Echtzeit selbst mit Switch nur bedingt geeignet, aber preisgünstig und weit verbreitet 9.3.2 Hohe Systemausnutzung (überträgt viel Verkehr effizient) Fehlerbehebung bei Token-Verlust (=„Token Recovery“) erfordert Netzwerk-Monitor Topologische Einschränkungen (Stern-Topologie emuliert Ring) Unterstützt unterschiedliche Paketprioritäten Feste Zustellzeit bei der Rahmenübertragung garantierbar (außer beim Auftreten von Fehlern) deterministisch, für Echtzeit geeignet 9.3.3 Token Ring (Token-Zugangssteuerung) FDDI (Token-Zugangssteuerung) Ähnlich wie Token Ring bzgl. Medienzugang, Rahmenprioritäten, Monitor, etc. höhere Geschwindigkeit höhere Reichweite höhere Zuverlässigkeit u.a. dank Glasfaser 185 Übertragung von zeitsynchronem Echtzeitverkehr zusammen mit Nicht-Echtzeitverkehr (asynchron) auf demselben Kabel CarRing II-Projekt des Lehrstuhls ist Weiterentwicklung von FDDI 10 Weitverkehrsnetze (Wide Area Networks, WANs) Weitverkehrsnetze verbinden Stadtnetze (MANs) miteinander, in Einzelfällen auch LANs 10.1 Unterschied zwischen LANs, MANs und WANs LANs und MANs bestehen aus einem gemeinsamen Übertragungsmedium (Kabel, Kabel + Switch oder Funk) und den daran angeschlossenen Rechnern (sog. Hosts) LANs und MANs sind Broadcast-Netze auf der Schicht 1. Eine Wegewahl (Routing) ist nicht erforderlich, da jede Nachricht im Prinzip bei allen Hosts vorbeikommt. WANs bestehen aus mind. 1 Weitverkehrsstrecke sowie aus einem oder mehreren LANs und/oder MANs am Anfang und Ende der Weitverkehrsstrecke als Zubringer Es gilt: alle Weitverkehrsstrecken sind Punkt-zu-Punkt-Verbindungen. An den Endpunkten einer Weitverkehrsstrecke sitzen spezielle Hosts, sog. Router Jeweils zwei Router sind paarweise verbunden 186 Router dienen zur Kopplung von MANs und WANs Es gilt: jeder Router ist mit einem Nachbar-Router über eine dedizierte Strecke verbunden. Diese Strecke kann ein LAN, MAN oder eine Weitverkehrsstrecke sein. bei WANs ist ein sendender Host i. A. nicht im selben LAN oder MAN wie der empfangende Host. Auf seinem Weg durchläuft ein Paket i. A. mehrere Netze (LANs, MANs, WANs) Bei der Kopplung von WANs ist eine Wegewahl (Routing) erforderlich. Multicast und Broadcast auf Schicht 3 würden eine Vervielfältigung eines eintreffenden Pakets im Router erfordern Dies wird in der Praxis aber nicht gemacht, statt dessen werden viele einzelne Punktzu-Punkt-Verbindungen aufgebaut Beispiel einer Weitverkehrsstrecke ist eine ATM-Verbindung, die über eine SONET/ SDH-Glasfaserstrecke implementiert ist. ATM = Asynchronous Transfer Mode = Echtzeit-Protokoll (umfasst ISO-Schicht 2-4) SONET/SDH = Synchronous Optical Network = eine Netztechnik der ISO-Schicht 1 187 11 Vermittlungsschicht (ISO-Schicht 3) Die Vermittlungsschicht transportiert ein Datenpaket, das von einem Host erzeugt wird, über eine Folge von Routern zum empfangenen Host Die Folge von Routern heißt Weg, Pfad, Route oder Leitweg durch das Netz Das Routing erfolgt mit Methoden der Graphentheorie Dabei wird das Netz als Graph dargestellt Knoten des Graphen sind die Router Kanten des Graphen sind LANs, MANs und Weitverkehrsstrecken 188 11.1 Router als Zwischenknoten zwischen Endsystemen Schichten Anwendung Endsystem Zwischenknoten als Vermittlungsschicht Endsystem Darstellung Sitzung Transport Vermittlung Sicherung Bitübertragung physikalische Medien In den Zwischenknoten existieren nur die Schichten 1-3, denn Vermittler interessieren sich nicht für den Inhalt der Datenpakete Pakete müssen im Protocol Stack der Router nur bis Schicht 3, in den Endsystemen hingegen in allen Schichten verarbeitet werden 189 11.2 Aufgaben der ISO-Vermittlungsschicht Wegewahl Verbindungsaufbau und -abbau von sog. „virtuellen Verbindungen“ Multiplexen von virtuellen Verbindungen Multiplexen = eine Leitung dient nacheinander der Übertragung mehrerer, gleichzeitig stattfindender Kommunikationen = Time Division Multiplex des Mediums Zerkleinerung eines zu langen IP-Pakets in kürzere IP-Fragmente beim Sender und Wiedervereinigung der Fragmente zum Originalpaket beim Empfänger (Fragmentation and Reassembly) Fehlererkennung/Fehlerbehebung (Ende-zu-Ende) Sicherstellung der Paketreihenfolge durch aufsteigende Sequenznummern Flusssteuerung (Ende-zu-Ende) = Überlaststeuerung einzelner Hosts Überlaststeuerung der durch IP verbundenen Teilnetze Ziel der ISO-Schicht 3: Eine möglichst große Vielfalt von Netzen und Technologien soll unterstützt werden. Dies wird im Internet durch IP erreicht Die ISO-Schicht 3 kann sowohl über Datagramme als auch über virtuelle Verbindungen realisiert werden Beispiel: IP = Datagramm, ATM = virtuelle Verbindung. 190 11.2.1 Eigenschaften von Schicht-3-Datagrammen Zieladresse und Herkunftsadresse für Acknowledge in jedem Paket notwendig Pakete können außerhalb der Reihenfolge beim Empfänger eintreffen Keine Fehlerüberwachung, keine Flusssteuerung Vorteile von Datagrammen: Simpler als virtuelle Verbindungen, daher einfacher zu implementieren Kein Verbindungsauf- und -abbau, deshalb niedriger Overhead für kurzlebige Verbindungen Flexibler und zuverlässiger bei Router-Ausfällen, da mehr als ein Weg zum Ziel führt Besser geeignet für gekoppelte heterogene Teilnetze, da virtuelle Verbindungen zwischen Netzen verschiedener Typen technisch aufwendig ist Virtuelle Verbindungen und Datagramme kann es sowohl auf Schicht 3 als auch auf Schicht 4 geben, allerdings mit unterschiedlicher Bedeutung: Def.: Eine Schicht-3-Verbindung bezieht sich darauf, dass die Wegewahl nur einmal während der Verbindungsaufbauphase erfolgt. Der Datentransfer erfolgt über einen perfekten Kanal. Def.: Eine Schicht-4-Verbindung bezieht sich darauf, dass es einen Zustand „Schicht-4Verbindung aufgebaut“ gibt, der in einem endlichen Automaten bei Sender und bei Empfänger registriert wird. Auch hier erfolgt der Datentransfer über einen perfekten Kanal. 191 Beispiel: IP und UDP sind Datagramme, TCP macht virtuelle Verbindungen. Schicht-3-Verbindungen haben nichts mit Schicht-4-Verbindungen zu tun, vielmehr kann man z.B. eine Schicht-4-Verbindung mit einem Schicht-3-Datagramm kombinieren (Bsp. IP und TCP) 11.2.2 Eigenschaften von Schicht-3-virtuellen Verbindungen Eine virtuelle Verbindung hat die Eigenschaft, ein perfekter Kanal durch das Netz zu sein Perfekte Kanäle erbringen folgende Dienstleistungen: • Sicherstellung der Paketreihenfolge beim Empfang (kein Überholen) • Erkennung von Übertragungsfehlern und automatische Korrektur durch Paketwiederholung • Verlorene und duplizierte Pakete werden erkannt und wiederholt bzw. beseitigt • Flusssteuerung wird von Ende-zu-Ende durchgeführt Drei Phasen einer virtuellen Verbindung • Verbindungsaufbau, Datenübertragung, Verbindungsabbau Vorteile von virtuellen Verbindungen: • Kein Aufwand für die Wegewahl während der Datenübertragung Nachteile • Rel. unflexibel bei sich schnell ändernden Netztopologien oder Routerausfällen 192 • Verbindungsauf- und abbau lohnen sich nur bei längeren Übertragungen 11.2.3 Wegewahl über virtuelle Verbindungen oder Datagramme Eine virtuelle Verbindung zwischen zwei Endsystemen (Hosts) ahmt eine direkte physikalische Verbindung über ein Stück Draht zwischen zwei Endsystemen nach Da es eine solche nicht gibt, spricht man von einer virtuellen Verbindung Der Weg durch das Netz wird vor dem ersten Datentransfer vollständig festgelegt = Verbindungsaufbauphase In jedem Zwischenknoten findet nur in der Verbindungsaufbauphase eine Wegewahlentscheidung statt Der Verkehr nimmt stets denselben Weg durch das Netz Jedes Datagramm wird dagegen als isolierte Einheit betrachtet, nur die Paketadresse bestimmt im Router den Pfad, d.h die abgehende Leitung Für jedes Datagramm wird in jedem Router erneut eine Wegewahlentscheidung getroffen, die von dem momentanen Netzzustand und dem Router selbst abhängt 193 11.2.3.1 Aufbau einer virtuellen Verbindung in einem Beispiel-WAN R R Weitverkehrsstrecke LAN 2. Connect Request 1. Connect Request WAN E G/R G/R E E G/R Weitverkehrsstrecke MAN R E R R R 3. Connect Request G/R G/R b) Aufbauphase der 1. Teilstrecke a) Festlegen des Weges E E = Endsystem = Rechner (Hos R = Router G = Gateway G/R 5. u. 6. Connect Confirmations E R c) Virtueller Verbindungsabschnitt existiert, Festlegung der Wegfortsetzung E G/R 4. Connect Confirmation G/R E R d) nach 3 weiteren Schritten ist virtuelle Verbindung fertig gestellt 194 11.2.3.2 Verwaltung virtueller Verbindungen in einem Beispiel-WAN H B H Hosts H C H D A LANs F E LAN H MAN oder Weitverkehrsstrecke H Router/Gateways Beispiel für acht virtuelle Verbindungen durch das WAN In jedem Router werden Tabellen mit Zustandsinformationen über durchlaufende virtuelle Verbindungen verwaltet. Lokale Nummer der virtuellen Verbindung in Router A Ausgehend von A 0 - ABCD 1 - AEFD 2 - ABFD 3 - AEC Ausgehend von B dasselbe gibt es auch für E-F 0 - BCD 1 - BAE 2 - BF 195 11.2.3.3 Zustandsinformation in den Routern auf dem Pfad AECDFB Zum Host-Empfänger Vom Host = sender A H0 B0 H1 E 0 B0 E 1 H2 B1 H3 E 2 H4 E 3 Tabelle B A0 H0 H1 A1 H2 F0 C0 C1 A0 F0 F1 H0 E A0 A1 A2 A3 F0 H0 C0 C1 C B0 B1 E0 E1 F E0 B0 B1 D0 D0 D1 H0 D2 D0 D1 H0 B0 D C0 C1 F0 F1 C2 H0 H1 H2 H3 F0 In jedem Router gibt es eine Tabelle zur Verwaltung der virtuellen Verbindungen Jede im Router ankommende und abgehende virtuelle Verbindung erhält eine Nummer Beispiel H 4 E 3 heißt: Vom Host kommt eine Verbindung mit der Nr. 4. Diese wird unter der Nr. 3 an den Router E weitergereicht Eine virtuelle Verbindung hat beim Nachbar-Router dieselbe Nummer, wenn sie den Router betritt und i.d.R. eine andere Nummer wenn sie den Router verlässt 196 Hier die Beispielverbindung HAECDFBH Verbindungsnummer A to E 4 3 E to C 3 1 C to D 1 2 D to F 2 0 F to B 0 0 B to H 0 0 H A E C D F B 0 H Der Vorteil unterschiedlicher Nummern zur Verwaltung derselben Verbindung ist, dass jeder Router seine Tabelle selbständig verwalten kann, ohne dass netzweit eindeutige Verbindungsnummern vergeben werden müssen, was unmöglich wäre Nur zwischen benachbarten Routern muss für dieselbe Verbindung eine Nummer verwendet werden 11.3 H to A 4 Routing-Algorithmen für virtuelle Verbindungen und Datagramme Sowohl virtuelle Verbindungen als auch Datagramme benötigen Routing-Algorithmen Allerdings ist der Aufwand bei einer einmal hergestellten virtuellen Verbindung erheblich kleiner als bei Datagrammen, da die Wegewahlentscheidung bereits getroffen ist 197 11.3.1 Wegewahl für Pakete vom Quellsystem zum Zielsystem (Ende-zu-Ende) Der Wegewahlalgorithmus eines Routers entscheidet, auf welcher Ausgangsleitung ein eingegangenes Paket weitergeleitet wird Wünschenswerte Eigenschaften eines Wegewahlalgorithmus: • • • • • • Korrekt (Paket findet immer zum Ziel) Einfach (schnell auszuführen) Robust (gegen Rechner- oder Leitungsausfällen) Stabil (liefert deterministische Ergebnisse) Fair (kein Paket wird benachteiligt) Optimal (findet den schnellsten oder den kürzesten Weg) 11.3.2 Aufgaben von Routing-Algorithmen Eigenschaften von Routing-Algorithmen Optimierungskriterien des Algorithmus (Beispiel): • Durchschnittliche Paketverzögerung (Latenz) • Gesamtdurchsatz des Netzes (Durchsatz) Dies sind sich widersprechende Optimierungen, daher gilt oft folgende Heuristik: • Minimierung der Teilstrecken (hops) pro Paket (= Kompromiss) Vorteil: • Reduziert Latenz (jedoch nicht in allen Fällen) 198 • Vermindert benötigte Bandbreite • Steigert Durchsatz, allerdings i. A. nicht bis zum Maximum In einem Netz können Latenz und Durchsatz nicht gleichzeitig optimiert werden, weil hoher Durchsatz gemäß Warteschlangentheorie (Queueing Theory) nur durch eine hohe Latenz erreichbar ist. Beispiel: Wartezimmer beim Arzt ist meistens voll, da Ärzte ihren Durchsatz optimieren wollen. 11.3.3 Klassifikation von Routing-Algorithmen 1. Statische (nicht adaptive) Verfahren • Keine Berücksichtigung des aktuellen Netzzustandes • Gehen von Mittelwerten aus, nicht von lokalen Informationen • Leitweg zwischen Knoten i und j wird für alle i, j vor der Inbetriebnahme des Netzes bestimmt • Keine Änderung während des Betriebs (=> statisches Routing) 2. Adaptive Verfahren • Entscheidungen basieren auf aktuellem Netzzustand • Messungen/Schätzungen der Topologie und des Verkehrsaufkommens sind Basis für die Wegewahlentscheidung Feinere Unterteilung der adaptiven Verfahren in: • Zentralisierte Verfahren 199 • Lokale Verfahren • Verteilte Verfahren 11.3.4 Statisches Routing Beim statischen Routing ist die gesamte Topologie des Netzes einer zentralen Stelle bekannt. Sie berechnet die optimalen Pfade für jedes Paar (i, j) von Knoten, erstellt daraus die Routing-Tabelle für die einzelnen Knoten und versendet diese an alle (= Routing über statische Tabellen). Nur sinnvoll, wenn das Netz klein und statisch ist Eigenschaften von statischem Routing: • Optimale Pfade (i, j) für alle i, j sind i.d.R. kürzeste Pfade oder schnellste Pfade • Kürzeste Pfade werden zentral über den Graphenalgorithmus „Spannbaum“ bestimmt bzw. über „minimalen Spannbaum“ • Das bekannteste Verfahren zur Berechnung eines minimalen Spannbaums ist das von Dijkstra • Definition Spannbaum: Gegeben sei Graph G = (V, E). Dann ist G’= (V, E’) ein Spannbaum von G, wenn G’ = Baum E’ erreicht alle Knoten von G gilt. 11.3.4.1 Zusammenfassung statisches Routing Eigenschaften 200 • Tabellen werden von einem Netzwerkoperator zentral erstellt • Tabellen werden vor Inbetriebnahme des Netzes in die Knoten geladen und dann nicht mehr verändert Vorteile • Einfach zu implementieren • Gute Ergebnisse bei relativ konstanter Topologie und konstantem Verkehr Nachteile • Schlecht bei stark variierendem Verkehrsaufkommen und bei Topologieänderungen • Schlecht bei großen Netzen (skaliert nicht) 11.3.5 Optimierungen bei Routing-Algorithmen Sowohl bei statischem als auch bei dynamischem (= adaptivem) Routing können zwei Verfeinerungen angebracht werden: • Mehrfachpfade, dient zum finden alternativer Wege durch das Netz • Hierarchische Wegewahl, dient zur Vereinfachung der Algorithmen 11.3.5.1 Mehrfachpfade (Multipath Routing) Prinzip: Benutzung alternativer Leitwege zwischen jedem Knotenpaar (i, j) Vorteile: • Alternative Wege könne gemäß ihrer „Güte“ ausgewählt werden („gute“ Wege häufig, „schlechte“ seltener) 201 • Höherer Durchsatz durch Verteilung des Datenverkehrs auf mehrere Pfade erreichbar • Höhere Zuverlässigkeit, da der Ausfall eines Links nicht so schnell zur Unerreichbarkeit von Knoten führt Metrik: guter Weg := schnellster/kürzester/geringste Warteschlange/höchste Bandbreite/höchste Zuverlässigkeit 11.3.5.2 Realisierung von Mehrfachpfaden Jeder Knoten enthält Routing-Tabelle mit je einer Zeile für jeden möglichen Zielknoten eine Zeile Zielknoten A1 G1 A2 G2 ... Ai: i-beste Ausgangsleitung des jeweiligen Zwischenknotens Gi: Gewicht für Ai (drückt die Güte der Leitung aus) An Gn • Gi bestimmt die Wahrscheinlichkeit, mit der Ai benutzt wird • Die Summe aller Gewichte Gi muss 1 ergeben • Die Gewichte Gi der Ausgangsleitungen werden gemäß der gewählten Metrik (schnellsten, kürzesten,...) bestimmt 202 Beispiel: gegeben sei Ziel B und Quelle J mit G1(A) = 0,46; G2(H) = 0,31; G3(I) = 0,23 A B I J H L K Gewichte werden auf dem Zahlenstrahl von 0 bis 1 aufgereiht (z. B. links das höchste, rechts das niedrigste; genaue Reihenfolge ist jedoch ohne Belang) über H über A 0 D G F 3 Alternativen E C Gewicht G1 0,46 Gewicht G2 über I 0,77 Gewicht G3 1 Dann erfolgt eine Zufallsauswahl der alternativen Ausgangsleitung gemäß ihres Gewichts (= Güte): • Generieren einer Zufallszahl z (0 z 1) 203 • Wähle A1, falls 0 z G1, wähle A2, falls G1 z < G1 + G2, u.s.w. => Jeder Weg wird entsprechend der Länge seines Gütemaßes im Mittel mit der gewünschten Häufigkeit benutzt 11.3.5.3 Hierarchische Wegewahl Ausgangssituation: die Größe der Routing-Tabellen ist ohne hierarchische Leitwegbestimmung proportional zur Größe des Netzwerks: Nachteile: • Großer Speicherbedarf • Viel CPU-Zeit zum Durchsuchen der Tabellen • Viel Bandbreite zum Austausch von Routinginformation Ab einer bestimmten Netzgröße ist hierarchische Leitwegbestimmung notwendig Beispiel: zweistufiger Hierarchie aus Regionen und Knoten in einer Region Jeder Knoten kennt: • Details seiner Region und den Leitweg zu allen anderen Regionen • Aber nicht den Weg zu den Knoten außerhalb der eigenen Region, nur in welcher Region der Zielknoten liegt • Nachteil: nicht immer optimale Entscheidungen möglich 204 11.3.5.4 Beispiel einer zweistufigen Hierarchie Region 1 1B 2A 1C 1A Volle Tabelle für 1A 2B Region 2 2D 2C Region 4 4B Region 3 3A 5B 5A 3B 4A 4C 5C Region 5 5D 5E Hierarchische Tabelle für 1A Ziel Leitung Teilstrekken 1A - - 1B 1B 1 1C 1C 1 2A 1B 2 2B 1B 3 2C 1B 3 2D 1B 4 3A 1C 3 3B 1C 2 4A 1C 4 Ziel Leitung Teilstrekken 1A - - 1C 3 1B 1 hierarchi- 4B 1B 1C 4 1C 1C 1 sche Tabelle ist viel kürzer 4C 5A 1C 4 2 1B 2 5B 1C 5 3 1C 2 5C 1B 5 4 1C 3 5D 1C 6 5 1C 4 5E 1C 5 205 11.3.6 Adaptives Routing Man unterscheidet drei Gruppen von Verfahren: 1.) Zentrale Verfahren 2.) Lokale Verfahren 3.) Verteilte Verfahren Zentral heißt: • Einer führt offline oder online den Wegewahl-Algorithmus aus (= zentrale Instanz) Lokal heißt: • Alle Router führen den Algorithmus aus, aber ohne Kommunikation (= isoliert) Verteilt heißt: • Alle Router führen den Algorithmus mit Kommunikation, d. h. unter Austausch von Information aus 11.3.7 Adaptives und verteiltes Routing Das sind die Methoden, die im Internet angewandt werden bzw. wurden 1.) „Distanz“vektor-Verfahren (ganz alt) 2.) Link-Zustandsverfahren (mittelalt) 3.) OSPF-Verfahren (derzeit aktuell) 206 Aus Kompatibilitätsgründen müssen alle Router alle Verfahren unterstützen 11.3.7.1 Das „Distanz“vektor-Verfahren Prinzip: Die Knoten tauschen mit ihren Nachbarn Leitweginformationen aus: Jeder Knoten kennt die „Distanz“ (=Güte) zu jedem Nachbarn, z. B. hinsichtlich: • Anzahl der Teilstrecken • Verzögerungszeit. Latenz wird über sog. Echopakete wie bei ping gemessen. • Warteschlangenlänge in den einzelnen Sende- und Empfangspuffern Jeder Knoten X sendet periodisch seinen Nachbarn Y eine Liste mit seinen gemessenen/geschätzten Güten für jedes Ziel => X empfängt auch eine Liste vom Nachbarn Y Dann wird für die gewählte Metrik das Transitivgesetz angewandt: • Sei e der Wert der Metrik des Paares (X, Y), Z ein beliebiger Knoten und E(Z) der Wert der Metrik für das Paar (Y, Z) (E wird aus der Liste von Y an X entnommen), dann gilt: Der Wert der Metrik für das Paar (X, Z) über Y ist: E(Z) + e Nach jeder Periode konvergiert die Tabelle näher zur Wahrheit (=iteratives Verfahren) Problem: Der Ausfall eines Routers wird nur langsam erkannt (= count-to-infinity-Problem), da die Ausbreitung dieser Information im Netz viele Iterationen erfordert 207 11.3.7.2 Beispiel für das „Distanz“vektor-Verfahren A C B G F E D H 8 12 I 10 J 6 K L betrachteter Knoten J J misst die Latenz zu seinen Nachbarn A, I, K, und H und erhält: • JA-Verzögerung = 8, JI-Verzögerung = 10, JH-Verzögerung = 12, JK-Verzögerung = 6 J empfängt seinerseits von seinen Nachbarn die Latenzen zu allen anderen Knoten (vom jeweiligen Nachbarknoten aus gesehen) Aus beiden Informationen baut J eine lokale Latenztabelle mit Hilfe der Transitivität der Metrik auf Im dritten Schritt verteilt J seine lokale Tabelle an seine direkte Nachbarn Vorgang wird periodisch von allen Knoten wiederholt Es bildet sich i.A. nach einigen Iterationen ein eingeschwungener Zustand aller Werte 208 in den Routingtabellen aus Der eingeschwungener Zustand bleibt solange bestehen, bis das Netz seine Übertragungseigenschaften oder seine Topologie ändert Der eingeschwungener Zustand kommt nicht zustande, wenn das count-to-infinity-Problem auftritt In diesem Fall oszillieren die Werte in den Tabellen hin und her Dieses Phänomen ist der Grund, warum das Distanzvektorverfahren außer Dienst gestellt wurde 209 Beispiel: Tabellen, die J empfängt: Ziel von A von I von H von K A 0 24 20 21 B 12 36 31 28 C 25 18 19 36 D 40 27 8 24 E 14 7 30 22 F 23 20 19 40 G 18 31 6 31 H 17 20 0 19 I 21 0 14 22 J 9 11 7 10 K 24 22 22 0 L 29 33 9 9 Eigene Messungen zu den Nachbarn sind: JA = 8, JI = 10, JH = 12, JK = 6 Beachte: die Latenzen AJ, IJ, HJ und KJ, die die Nachbarknoten sehen, sind anders, als die, die J sieht: AJ JA Latenzen sind in Rechnernetzen i.a. nicht symmetrisch 210 J wählt aus den eigenen Messungen und den empfangenen Latenzen den besten Weg Ergebnis des Tabellenaustauschs von J mit den direkten Nachbarn: Ziel Latenz über Ziel Latenz über A 8 A G 18 H B 20 A H 12 H C 28 I I 10 I D 20 H J 0 - E 17 I K 6 K F 30 I L 15 K 11.3.7.3 Das Link-Zustandsverfahren Ist Nachfolger des Distanzvektorverfahrens Mittlerweile auch veraltet Prinzip: • Jeder Router in einem Subnetz (Routing Region) ist im Vollbesitz aller „Güte“-Werte des Subnetzes 211 • Dazu sendet jeder Router sog. ICMP-Pakete an alle anderen Router im Subnetz, nicht nur an seine direkte Nachbarn • Entsprechend empfängt jeder Router ICMP-Pakete von allen anderen Routern im Subnetz • Dadurch kann jeder Router lokal die Topologie des ganzen Subnetzes rekonstruieren • Als Gütewerte werden die üblichen Metriken, d.h. schnellster (= Bandbreite), kürzester (= Latenz) u.s.w. verwendet • Mit Hilfe der Topologie und der Güte jeder Verbindung kann jeder Router für sich einen minimalen Spannbaum des Subnetzgraphen aufbauen Problem: Das Link-Zustandsverfahren ist nicht flexibel und nicht sicher genug gegen Hacker-Angriffe ICMP= Internet Control Message Protocol = wichtiges Steuerungsprotokoll im Internet 11.3.7.4 Das OSPF-Verfahren OSPF = open „shortest path first“ Nachfolger des Link-Zustandsverfahrens und Stand der Technik Funktioniert wie das Link-Zustandsverfahren, aber mit einer Reihe von Erweiterungen: • • • • Unterstützt mehrere Metriken (kürzeste, schnellste Wege etc.) Berücksichtigt alternative Wege Unterstützt hierarchisches Routing mit 2 Ebenen (Link-Zustandsverfahren in jeder Region) Ist sicherer bzgl. böswilliger Manipulation der Routing-Tabellen, da Tabellen durch lokale Datenbanken ersetzt werden 212 • Spannbaum eines Subnetzes (Routing-Region) wird gem. Dijkstra berechnet (von jedem Knoten in der Region) • Topologie und Güte jeder Wegstrecke (= Kanten des Graphen) werden in einer Datenbank gehalten (nicht in einer Tabelle), und zwar in jedem einzelnen Knoten gleichzeitig 11.4 Vermittlungsschicht des Internet (IP) Die Vermittlungsschicht des Internet (IP V4 oder IP V6 implementiert einige aber nicht alle Eigenschaften einer ISO-Vermittlungsschicht Insbesonders ist IP kein perfekter Kanal Bei Weitverkehrsnetzen hat IP nur dann eine Routingfunktiong, wenn IP auf SONET/ SDH ohne ATM übertragen wird IP macht im Internet die Wegewahl, sofern es nicht als Nutzlast von ATM transportiert wird 11.4.1 IP V4 und V6 IP V4 und V6 sind Protokolle für die Ende-zu-Ende-Kommunikation zwischen Sender und Empfänger mit folgenden Haupt-Eigenschaften: • Verbindungsloser Dienst, d.h. Datagramme • Fragmentiert große Pakete in mehrere kleinere, falls das nötig sein sollte 213 Beispiel: Von SONET/SDH nach Ethernet = Übergang in ein Subnetz mit kleinerer maximaler Rahmenlänge (MTU) MTU = Maximum Transport Unit auf der Schicht 2 • Reassembliert Fragmente wieder zum Original IP-Paket, sobald die MTU-Länge auf Schicht 2 dies zulässt Nachteile von IP: • Maximale IP-Paketlänge ist 64 KB, davon entfallen mindestens 20 Byte auf den Header Ist für kleine Datenmengen (<20 Byte) ineffizient, da großer Header • Schützt nicht vor Paketverlusten oder von Verlusten von Teilen eines Pakets, den Schicht 3-Fragmenten, da es keine automatische Paket- bzw. Fragmentwiederholung im Fehlerfall gibt • Nur IP V6 unterstützt Quality of Service (QoS) bei der Übertragung, mit IP V4 sind Garantiern für Echtzeitdatenübertragung nicht möglich IP V4 hat eine hohe praktische Bedeutung, da weit verbreitet Bedeutung von IP wird nach flächendeckender Einführung von IP V6 noch steigen 214 11.4.2 Aufbau eines IP V4-Pakets 0 4 8 VERS LEN 16 TYPE OF SERVICE PROTO 24 31 TOTAL LENGTH FLAGS IDENT TIME 19 FRAGMENT OFFSET HEADER CHECKSUM HEADER SOURCE IP ADDRESS DESTINATION IP ADDRESS PADDING OPTIONS DATA NUTZDATEN ... 11.4.2.1 Die Header-Felder von IP V4 VERS 4b LEN TYPE OF SERVICE (Bedeutung siehe unten) 4b 8b Protokollversion von IP, z. Z. IP V4 oder IP V6 Länge des Headers (in 32 Bit-Wörtern) Bits 0-5: DSCP (Differentiated Services Code Point) Bits 6-7: ECN (Explicit Congestion Notification = IP-Flusssteuerung) 215 TOTAL LENGTH 16b IDENT 16b FLAGS 3b FRAGMENT OFFSET 13b TIME 8b PROTO 8b HEADER CHECKSUM SOURCE ADDRESS DEST ADDRESS OPTIONS 16b 32b Länge incl. Nutzdaten in Bytes => Maximale IP-Paketlänge = 64 KB Information, zu welchem Datagramm dieses Paket nach einer Fragmentierung gehört nicht fragmentieren bzw. letztes Fragment (DF/LF) Position dieses Pakets (=Fragment) innerhalb des Datagramms mit der Nummer IDENT [in 8-Byte-Einheiten] Lebensdauer in Sekunden („time to live“) 255 s. Oft werden statt Sekunden die Zahl der Zwischenknoten (Router Hops) gezählt. Ist inzwischen veraltet bzw. wird teilweise anders verwendet Typ des darüberliegenden höheren Protokolls = UPD oder TCP EXOR-Verknüpfung der Header-Wörter als Prüfsumme für den Header IP Adresse des Quell-Hosts 32b IP-Adresse des Ziel-Hosts max. 40 Für Router-Management, WegelogByte lang buch und ähnliches 216 PADDING DATA Auffüller, so dass stets Wortgrenzen erreicht werden Nutzdatenfeld (Payload) 11.4.2.2 DSCP (Differentiated Services Code Point) Enthalten Informationen, wie das Paket an einer Netzgrenze weitergeleitet werden soll Dazu kann das Paket in eine von 64 Klassen eingeteilt werden Beispiel: 1.) Expedited Forwarding-Klasse für Pakete, die eine geringe Latenz benötigen. 2.) Assured Forwarding-Klassen: teilt Pakete in vier Klassen zu je drei Prioritäten ein. Funktioniert in der Praxis bei IP V4 nur selten 11.4.2.3 ECN (Explicit Congestion Notification) Dient zur Mitteilung eines Routers an seinen Vorgängerrouter, dass bei ihm Überlastung droht Theoretisch breitet sich dies Information rückwärts bis zur Datenquelle aus, worauf diese die Datenrate reduziert Funktioniert in der Praxis bei IP V4 nur selten 11.4.2.4 Ident und Fragment Offset Ein IP-Fragment ist ein vollständiges IP-Paket mit komplettem Header, bei dem die Fel217 der Ident und Fragment Offset belegt sind Fragmentation and Reassembly ist notwendig, wenn die darunterliegende Schicht 2 keine 64 KB Datenrahmen übertragen kann, sondern nur kleinere Trifft immer bei Ethernet als Schicht 1+2a zu, da es dort nur Datenrahmen mit max. 1500 Byte gibt 11.4.2.5 Beispiele für IP V4-Optionen 1.) „Strict Source Routing“: enthält eine Liste von Router-IP-Adressen, auf denen das Paket zum Ziel gelangt. Nur diese Route darf verwendet werden. 2.) „Record Route“: weist alle Router an, ihre IP-Adresse in das Optionenfeld einzutragen, damit der Weg des Pakets vom Empfänger zurückverfolgt werden kann (Wegelogbuch) • Problem hierbei: 40 Byte im Optionsfeld reichen nicht aus, wenn viele Zwischenstufen durchlaufen werden, was heutzutage oft der Fall ist. 3.) „Time Stamp“: weist alle Router an, eine 32-Bit-Zeitangabe in das Optionenfeld einzutragen Die letzen beiden Optionen sind für Testzwecke Die vollständige Liste aller möglichen Optionen steht unter www.iana.org/assignments/ipparameters 218 11.4.3 Aufbau eines IP V6-Pakets Minimale Header-Länge ist 40 Byte Optional kann ein Erweiterungs-Header variabler Länge dazukommen Minimale IP V6-Paketlänge ist 40 Byte (kein Erweiterungs-Header, keine Nutzdaten) Maximale IP V6-Paketlänge ist 64 K-1+40 Byte (mit Erweiterung-Header und Nutzdaten, aber ohne sog. Jumbograms) Die ersten 40 Header-Bytes 0 0 4 Version 12 16 Traffic Class 2 3 4 5 6 7 8 9 20 24 28 31 Flow Label Payload Length 1 Minimum Header: 10x32 Bit-Worte 8 Next Header Hop Limit 16 Byte Source Address 16 Byte Destination Address 219 11.4.3.1 Bedeutung der ersten 40 Header-Bytes Feldname Länge Bedeutung Version 4 Bit Traffic Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address 11.4.4 6 = IP V6 Für Quality of Service (QoS). Ist wie bei IP V4 definiert, d.h. besteht aus: 8 Bit Bits 0-5: DSCP (Differentiated Services Code Point) Bits 6-7: ECN (Explicit Congestion Notification = IP-Flusssteuerung) 20 Bit Zur Attributierung des Pakets wegen QoS und Echtzeitdatenübertragung Länge des Pakets ohne Minimum Header aber mit Erweiterungs-Header in 16 Bit Byte Typ des Erweiterungs-Headers (nur IP V6-Erweiterung oder Erweiterung für 8 Bit Schichten höher als 3) Maximale Anzahl an Routern, die ein Paket zurücklegen darf. Wird beim 8 Bit Durchlaufen eines Routers („Hop“) um eins verringert. Pakete mit Wert null werden gelöscht. Verhindert ewig kreisende Pakete. 128 Bit IP Adresse des Quell-Hosts 128 Bit IP Adresse des Ziel-Hosts Quality of Service (QoS) in IP V6 Bei IP V6 funktioniert QoS dann, wenn alle beteiligten Akteure IP V6 unterstützen, d.h. wenn Quell- und Zielrechner, sowie alle Router dazwischen IP V6-fähig sind Dies ist derzeit meist nicht der Fall 220 11.4.4.1 Traffic Class Ist wie bei IP V4 definiert 11.4.4.2 Flow Label Erlaubt zustandslose und zustandsbehaftete Datenübertragung Bei zustandsloser Datenübertragung kann das Paket durch Zusatzinformation attributiert werden (Flow Label) Beispiel: Es gibt ein Flow Label für das Zusammenfassung von IP V6-Paketen zu einer Gruppe mit dem Ziel einer besseren Lastverteilung zwischen Routern Bei zustandsbehafteter Datenübertragung ist eine sog. Signalisierung zwischen Quellund Zielrechner und Routern möglich Beispiel: Signalisierung durch RSVP oder das General Internet Signaling TransportProtokoll (GIST) 11.4.5 Adressierung in IP V4 Das Internet besteht aus einer riesigen Zahl von Netzen (>>105), die durch IP adressiert werden, sofern IP nicht ATM-Nutzlast ist, d.h. getunnelt wird Tunneling: Verfahren, um IP-Pakete durch inkompatible Netze zu routen wie z.B. ATM. IP-Paket hat im Netz, durch das getunnelt wird, keine Funktion sondern wird als Nutzlast der Schicht 7 transportiert 221 Beispielkonfiguration für Teilnetze im Internet 11.4.5.1 32 Bit IP V4-Adressen Es werden für die Adressierung je 32 Bit für Quelle und Ziel verwendet, was heute zu wenig ist IP-Adressen wurden über lange Zeit bestimmten Adressklassen zugeordnet und in festen Portionsgrössen vergeben, sog. Classful Addressing 222 Nach einigen Jahrzehnten gingen langsam die Adressen aus und man begann, die letzten noch übrig gebliebenen Adressen ohne Klasseneinteilung und in beliebigen Portionen zu vergeben (= Classless Interdomain Routing, CIDR) Des weiteren begann man, Adressen nur kurzzeitig, d.h. dynamisch zu vergeben (= DHCP) oder mehrfach zu verwenden, z.B. global 1 Mal und lokal mehrfach (= Network Address Translation, NAT), um der drohenden Adressknappheit zu entgehen Traditionell wurden Internet-Adressklassen vom einem sog. Network Information Center (NIC) bzw. seinen Unterorganisationen in den einzelnen Ländern zugeteilt (http:// www.nic.com) Die Unterorganisation des NIC in Deutschland ist das denic (http://www.denic.de) Das denic hat die klassenbasierten Adressen an Endkunden vermietet Heutzutage werden klassenlose Adressbereiche in frei wählbaren Portionsgrößen gegen Gebühr von der Internet Assign Number Authority (IANA) vergeben (http://www.iana.org) Die IANA ist eine Unterorganisation der ICANN, die die Standards des Internet festlegt Die IANA hat 5 Unterorganisationen für die 5 Regionen der Welt Für Europa ist die Unterorganisation RIPE zuständig (http://www.ripe.net) Dort kann jeder Privatmann, jede Firma, Behörde oder Behörde IP-Adressen kostenpflichtig und meist für ein Jahr beziehen Da fast alle IP-Adressen klassenbasiert sind, wird im weiteren diese Adressierung erläutert 223 11.4.5.2 Klassenbasierte IP V4-Adressen Die klassenbasierte IP V4-Adresse ist eine hierarchische Adresse aus Netz- und HostAdresse (netid und hostid) Es gibt drei Formate für Subnetze unterschiedlicher Größe sowie ein Format für Multicast Gebräuchliche Schreibweise für die IP-Adresse sind 4 Zahlen 255 mit Punkten dazwischen Beispiele: • 10.0.0.0 für Arpanet (class A) • 128.10.0.0 für ein großes LAN (class B) • 192.5.48.0 für ein kleines LAN (class C) 224 11.4.5.3 Aufbau klassenbasierter IP V4-Adressen Hostadresse Typ Netzadr. für Multi- 3 Formate cast 0 0 CLASS B 10 0 CLASS C 110 2 0 CLASS D 1110 netid 3 4 24 31 7 Bit netid, 24 Bit hostid 31 hostid 31 23 24 netid hostid 31 group address 14 Bit netid, 16 Bit hostid 21 Bit netid, 8 Bit hostid Es gibt folgende Adressklassen: • • • • • CLASS A 16 hostid 15 16 123...78 netid 0 Klasse-A-Netze: 1.0.0.0 bis 127.255.255.255 Klasse-B-Netze: 128.0.0.0 bis 191.255.255.255 Klasse-C-Netze: 192.0.0.0 bis 223.255.255.255 Klasse-D-Netze: 224.0.0.0 bis 239.255.255.255 (nur für Multicast) reserviert: 240.0.0.0 bis 255.255.255.255 Bei den IPV4-Adressen gibt es ganze Adressbereiche mit spezieller Bedeutung wie Broadcast, eigenes Netz, eigener Host und loop back Loopback = Host sendet an sich selber 225 Durch diese speziellen Adressbereiche gehen einige Mio. Adressen verloren IP V6 stellt praktisch unbegrenzt viele Adressen zur Verfügung (128 Bit => 2128) 11.5 IP-Subnetze Beim Internet gibt es die Möglichkeit, einen Teil der Hostadresse lokal als Subnetzadresse zu vergeben, wodurch eine 3-stufige (= hierarchische) IP-Adressvergabe entsteht Beispiel: • Die TUC hat von der NIC bzw. IANA ein Klasse-B-Netz mit 139.174.0.0 als Netzadresse (sog. address domain) gemietet, das vom RZ verwaltet wird • Die 16 Bit Hostadressen dieser Domäne können lokal beliebig aufgeteilt werden, z.B. in 8 Bit-Subnetzadresse und 8 Bit Host-Adresse • Jedem TUC-Institut wurde vom RZ-Netzwerkadministrator eine 8 Bit-Subnetzadresse zugewiesen • Das Institut für Informatik hat als Subnetzadresse 100, so dass dort alle IP-Adressen 139.174.100.x lauten • Im IfI wiederum weist der IfI-Netzwerkadministrator jedem Rechner eine Host-Adresse innerhalb obiger Subnetzadresse zu • Einführung einer dreistufigen Adresshierarchie aus Netzklasse, Netzadresse und Subnetz • Der Standard-Gateway im IfI hat beispielsweise die IP-Adresse 139.174.100.254 226 Bemerkung: Ein IP-Subnetz hat nichts mit einem Subnetz der Schicht 1 und 2 zu tun. Verschiedene LANs können ein gemeinsames IP-Subnetz bilden. Die Adressierung der Subnetze geschieht über Subnetzmasken, die lokal mit der IP-Adresse UND-verknüpft werden Beispiel: • 139.174.100.x AND 255.255.255.0 (255.255.255.0 ist die Subnetzmaske) 11.5.1 liefert das Informatik-Subnetz 139.174.100.0 Vorteile von Subnetzen Router müssen an ihren Ausgangs-Ports nicht eine große Zahl von Hosts (bis zu 16M2) verwalten, sondern nur wissen, über welche Leitung man zum jeweiligen Subnetz gelangt Erhebliche Einsparungen bei den Routing-Tabellen Subnetze sind von außen nicht erkennbar, deshalb kann die Unterteilung in Subnetze ohne die NIC bzw. IANA, d.h. dezentral (= vor Ort) gemacht werden Die Wegewahl erfolgt hierarchisch, was einfacher ist 227 12 Transportschicht (ISO-Schicht 4) Die Schicht 4 im ISO-Modell kann sowohl durch Schicht-4-Verbindungen als auch durch Schicht-4-Datagramme implementiert werden Im Internet wurde beides realisiert Es gibt das Control Protocoll (TCP) für virtuelle Verbindungen und das Universal Datagram Protocol (UDP) für Datagramme TCP hat alle Eigenschaften der ISO-Transportschicht sowie zusätzlich OptimierungsFunktionen 12.1 Die ISO-Transportschicht ist eine Spezifikation und Implementierung der ISO Schicht 4 Sie ist verbindungsorientiert 12.1.1 Die ISO-Transportschicht Aufgaben der ISO-Transportschicht Aufbau- und Abbau einer Verbindung zwischen Sender und Empfänger Bereitstellen von QoS QoS = Quality of Service. QoS ist bei der ISO-Transportschicht höher als bei TCP. Beispiel: Bietet priorisierte Datenübertragung („expedited data“) 228 Vollduplex-Datenübertragung Sichere Datenübertragung über einen perfekten Kanal bestehend aus: 1.) Einhalten der Paketreihenfolge 2.) automatische Paketwiederholung bei Übertragungsfehlern 3.) automatisches Löschen von mehrfach übertragenen Paketen FIFO-Reihenfolge Teilnehmer B Teilnehmer A Warteschlange von A nach B Datenpakete Warteschlange von B nach A Transportsystem 12.1.2 Weitere Eigenschaften der ISO-Transportschicht Ausnahme bei der FIFO-Reihenfolge sind Expedited Data = Daten hoher Priorität • Expedited Data halten untereinander ebenfalls ihre Reihenfolge ein, werden aber zwischen normale Pakete („Daten-PDUs“) eingestreut (=“verschränkte Übertragung“) 229 • Eine separate Warteschlange für Expedited Data kann bei Sender und Empfänger existieren, muss aber nicht Datenpakete erleiden durch die Ausführung der Dienste der Transportschicht eine Verzögerung (Latenz), da ggf. Pakete in der Reihenfolge umgeordnet werden müssen (packet reorder) oder weil Pakete nochmal übertragen werden müssen (packet retry) Der Anwendungsprozess greift auf die Transportschicht über einen sog. Transportschicht-Dienstzugangspunkt (TSAP, Transport Layer Service Access Point) zu Die Transportschicht wiederum spricht die Vermittlungsschicht über einen Vermittlungsschicht-Dienstzugangspunkt (NSAP, Network Layer Service Access Point) an Die TSAPs werden bei TCP durch „Ports“, d.h. spezielle Adressen im Betriebssystem des Empfängers realisiert Die Transportschicht erlaubt über Ports die direkte Kommunikation mit Prozessen auf einem anderen Rechner Die beschriebenen Eigenschaften der ISO-Transportschicht wurden alle in TCP implementiert, zusammen mit einigen Optimierungen zur Verbesserung des Datendurchsatzes und des Time Out-Verhaltens (=Optimierungsfunktionen) 230 12.1.3 Funktionsaufrufe (API) der ISO-Transportschicht 12.2 Transportprotokolle im Internet (TCP, UDP) TCP ist das wichtigste Transportprotokoll im Internet, denn in vielen LANs wie z.B. Ethernet ist die Schicht 2b nicht vollständig implementiert Dieses Versäumnis wird von TCP auf Schicht 4 behoben Das komplette TCP-Paket wird im Datenfeld eines IP-Pakets als Nutzlast transportiert Neben TCP gibt es noch UDP, das allerdings nur Datagramm-basiert ist, d.h. keine sichere Übertragung bietet TCP Ist hinsichtlich des Datenaustauschs effizient, aber nicht echtzeitfähig 231 die TCP-Transportschicht verbessert die QoS des Internets beträchtlich, allerdings nicht in Richtung Echtzeit 12.2.1 Datensicherung durch TCP TCP sichert die Nutzdaten auf dem Weg von Sendeprozess zu Empfangsprozess, d.h. von Ende zu Ende über einen perfekten Kanal Arbeitsumgebung der Transportschicht ist das ganze Internet Arbeitsumgebung der Sicherungsschicht ist nur das Kabel bis zum nächsten Rechner Die Sicherungsschicht arbeitet nur zwischen benachbarten Rechnern. Prozesse gibt es nicht und deshalb existieren auch keine Port-Adressen und keine Interprozesskommunikation. 12.2.2 Von TCP erbrachte Dienste Stellt die sichere Kommunikation von Prozess-zu-Prozess in 3 Phasen bereit: • Verbindungsaufbau • Datenübertragung • Verbindungsabbau Fasst mehrere kurze TCP-Daten derselben Verbindung zu einem langen Paket zusammen effizienter bzgl. der erreichbaren Bandbreiteausnutzung, da der Header-Anteil im Paket im Vergleich zur Nutzlast weniger ins Gewicht fällt 232 Zerteilt (segmentiert) lange Nachrichten der darüberliegenden Anwendungsschicht in 64 K-Pakete und vergibt eine Segmentnummer für jedes TCP-Teilpaket Baut segmentierte Nachrichten anhand der Segmentnummer wieder zusammen (reassembly) Auf Schicht 3 gibt es bei IP den Vorgang „Fragmentation and Reassembly“. Dieser hat nichts mit „Segmentation and Reassembly“ bei TCP auf Schicht 4 zu tun. Beide Vorgänge laufen parallel und unabhängig voneinander ab. Fragmentation auf Schicht 3 zerteilt zu lange IP-Pakete in kürzere IP-Pakete, die von Schicht 2 übertragen werden können. Segmentation auf Schicht 4 zerteilt zu lange Nachrichten in kürzere TCP-Pakete. Verbessert die Fehlertoleranz durch Rücksetzen einer existierenden Verbindung (reset) Leistet Ende-zu-Ende-Flusssteuerung durch Bestätigungen (Acknowledges) Stellt die richtige Paketreihenfolge beim Empfänger durch Sequenznummern sicher Sequenznummern erkennen das Fehlen oder Verdoppeln von Paketen 233 12.2.3 Aufbau eines TCP-Pakets 16-Bit 16-Bit Herkunfts-Port Ziel-Port Sequenznummer des Pakets Huckepack-Acknowledge für ein zuvor von der Gegenseite gesendetes Paket HeaderLänge unbelegt C E U A P R S W C R C S S Y F I Prüfsumme von Header inkl. Nutzdaten Fenstergröße Zeiger auf hochpriore Daten im Datenfeld Optionen (0 bis 10x 32-Bit-Worte) Datenfeld, 0 bis 64K-40 Byte, (-40, wenn Optionenfelder der IP- und TCP-Header = 0 sind) Herkunfts-Port und Ziel-Port: • 16-Bit-Adressen zur Spezifikation von Herkunfts- und Zielprozess über Ports 234 • Liste der reservierten Port-Adressen steht unter: www.iana.org Sequenznummer (32 Bit) des nachfolgenden Datenfeldes: • Dient zur Sortierung der TCP-Segmente in der richtigen Reihenfolge beim Empfänger und zur Fehlerbehebung, falls ein Segment fehlt oder doppelt empfangen wird • Jedes Segment ist ein vollständiges TCP-Paket inkl. Header, das Teil einer Nachricht ist, die mehr als 64 KB umfasst • Ist die Nachricht kleiner als ca. 64KB, dann gibt es keine Segmente sondern nur eine einziges TCP-Paket, in dessen Nutzlast sie übertragen wird „Huckepack“-Acknowledge-Nummer (32 Bit) vom Empfänger zum Sender: • wird doppelt verwendet: a) für Verbindungsauf- und abbau b) sorgt während der Datenübertragung für die Quittierung von zuvor empfangenen Paketen nach dem HuckepackVerfahren. Huckepack-Verfahren heißt, dass das Acknowledge in einem ganz normalen Datenpaket vom Empfänger zum Sender mitgeschickt wird, sofern es dieses Paket gibt. Gibt es das Paket nicht, wird ein extra Acknowledge-Paket vom Empfänger zum Sender geschickt, das nur das Acknowledge und keine Daten enthält. Header-Länge (4 Bit) = Zahl der 32-Bit-Worte im Header incl. des Optionenfeldes (kleinster Wert ist 5, größter Wert ist 15) max. zehn 32-Bit-Worte im Optionenfeld möglich CWR = Congestion Window Reduced und ECE = Explicit Congestion Notification (ECN) Enabled 235 • Dienen zur Steuerung des Datenverkehrs, wenn das Netz überlastet ist, in der Weise, dass keine Pakete verloren gehen, die sog. Staukontrolle URG (1 Bit, urgent): Gesetzt, wenn der Zeiger auf hochpriore Daten im Header gültig ist ACK (1 Bit): Gesetzt, wenn die Acknowledge-Nummer gültig ist PSH (1 Bit, push): Gesetzt, wenn Daten im Datenfeld beim Empfänger nicht gepuffert werden dürfen, sondern sofort gesendet werden müssen Verhindert das Zusammenfassen mehrerer kleiner Pakete zu einem großen Verbessert das Echtzeitverhalten bei der Datenübertragung auf Kosten der Effizienz RST (1 Bit, reset): dient dem Rücksetzen der TCP-Verbindung SYN (1 Bit, synchronize): dient zusammen mit ACK und dem Huckepack-Acknowledge dem Verbindungsaufbau FIN (1 Bit, final): kennzeichnet das letzte Paket beim Verbindungsabbau • Die Funktionen von SYN, ACK und FIN sind mit Hilfe eines komplexen endlichen Automaten definiert Fenstergrösse (16 Bit) vom Empfänger zum Sender: dient zur Flusssteuerung durch das Schiebefensterprotokoll • Gibt an, wie viele Byte ab dem zuletzt bestätigten Byte gesendet werden dürfen Prüfsumme (16 Bit): sichert das gesamte TCP-Paket incl. Header und Daten • Da dieses Feld Teil des Headers ist, wird nur ein sog. Pseudo-Header ohne das Prüfsummenfeld geprüft 236 Zeiger auf hochpriore Daten (16 Bit): • Gibt den Abstand in Byte zur aktuellen Sequenznummer an, ab dem im Datenfeld hochpriore Daten stehen, falls vorhanden Optionen (0 bis max. 10x 32-Bit-Worte): nicht wirklich festgelegt • Wird z.B. verwendet, um dem Sender anzuzeigen, wie viele Daten der Empfänger maximal pro Paket puffern kann Datenfeld von 0 bis ca. 64K Byte 12.2.3.1 Unterschiede zwischen Push Flag und URG Flag Push-Pakete sind mit dem PSH-Flag gekennzeichnete Pakete PSH=TRUE bewirkt, dass das Paket nicht aus Effizienzgründen zwischengespeichert werden darf, bis es mit anderen kleineren Paketen derselben Verbindung vereinigt werden kann Pakete mit PSH=TRUE müssen vom Sender sofort abgeschickt werden Sind bereits mehrere, kleinere TCP-Pakete derselben Verbindung zwischengespeichert, werden diese mit dem Push-Paket vereinigt und das Gesamtpaket wird sofort abgeschickt keine zusätzliche Latenz auf der Senderseite URG=TRUE-Pakete werden senderseitig wie Push=TRUE-Pakete behandelt Zusätzlich werden URG=TRUE-Pakete beim Empfänger sofort bearbeitet 237 keine zusätzliche Latenz beim Sender und beim Empfänger Hochpriore Übertragungen erlauben es u.a., fehlerhafte Übertragungen oder falsch laufende Programme beim Empfänger über das Netz vorzeitig durch den Sender abzubrechen 12.2.4 Optimierung der Datenübertragung durch TCP TCP ist bandbreiteeffizient, d.h. schont die zur Verfügung stehende Bandbreite Die Gründe für die Effizienz liegen in: 1.) der Zusammenfassung mehrerer kleiner Pakete zu einem großen beim Sender 2.) der Verwendung eines adaptiven Schiebefensters zur Flusssteuerung zwischen Sender und Empfänger (flow control) • die Flusssteuerung vermeidet einen Pufferüberlauf beim Empfänger durch zu große Pakete • Durch die Adaptivität im Schiebefenster wird ständig die mutmaßlich beste Größe jedes Pakets ermittelt 3.) der Verwendung einer Stausteuerung (congestion control) • die Stausteuerung vermeidet Staus im Netz durch zu viele Pakete in den Routern 4.) der Verwendung eines adaptiven Time-Outs • durch die Adaptivität des Time Outs werden unnötige Wartezeiten bei Paketverlust so gut 238 es geht vermieden. Ganz vermeiden lassen sie sich jedoch nie. 12.2.5 Flusssteuerung und Stausteuerung (congestion control) bei TCP Um Überlastungen des Internet zu vermeiden, versucht jede einzelne TCP-Verbindung, nur soviel Daten zu senden, wie der jeweilige Empfänger und das Netz zwischen Sender und Empfänger verkraften kann Das besondere Problem dabei ist, dass sich die verkraftbare Menge sowohl beim Empfänger als auch beim Internet ständig ändert Einige der Gründe für die Schwankungen im Netz sind: • Transiente Überlastung eines Routers durch zu viele eintreffende Pakete (= Hot Spots) • zufällige, gleichzeitige Übertragungen von mehreren Sendern zum selben Empfänger über denselben Router • Routerausfälle und -abschaltungen Wird ein Router überlastet, wirft er Pakete weg Dies bemerkt der Sender durch einen Time Out Änderungen in der verkraftbaren Datenmenge beim Empfänger werden durch die Flusssteuerung und Schwankungen im Netz durch die Stausteuerung erkannt und vom Sender getrennt behandelt adaptive Flusssteuerung und adaptive Stausteuerung Dazu wird vom Sender ständig die größtmögliche Sendepuffergröße sowohl für das 239 Netz als auch für den Empfänger ausgewertet Die momentan größtmögliche Sendepuffergröße für das Netz heißt Überlastungsfenster (congestion window) Die momentan größtmögliche Sendepuffergröße, die der Empfänger noch verkraften kann, heißt Empfänger-Schiebefenster (sliding window) Aus beiden Größen nimmt der Sender das Minimum und schickt diese Menge ab Zusätzlich versucht, IP V4 und V6 bei der Stausteuerung zu helfen 12.2.6 Slow Start Der Algorithmus zur Berechnung der maximalen Sendepuffergröße beim Sender aufgrund von Netzüberlast läuft folgendermaßen ab (slow start ohne fast recovery): 1.) Beim Aufbau der TCP-Verbindung initialisiert der Sender ohne Hilfe des Empfängers die Größe des Überlastungsfenster auf einen niedrigen Anfangswert von z.B. 1 KB = slow start • Außerdem wird vom Sender beim Verbindungsaufbau ein sog. Schwellwert auf 64 KB festgelegt • Darüberhinaus teilt der Empfänger dem Sender im TCP-Optionenfeld die Größe des Empfänger-Schiebefensters mit • Dann wird ein Paket gesendet, das dem Minimum aus initialem Überlastungsfenster und initialem Empfänger-Schiebefenster entspricht (= Start der Datenübertragung) • Im folgenden werden alle drei Werte (Überlastungsfenster, Empfänger-Schiebefenster und 240 Schwellwert) mit jeder neuen Iteration aktualisiert 2.) Für jedes erhaltene Acknowledge verdoppelt der Sender die Größe des Überlastungsfenster, indem TCP zu einem gesendeten TCP-Segment ein zweites Segment derselben Länge hinzufügt (sofern vorhanden) • Dies ist die Phase des exponentiellen Wachstums • Das Verdoppeln wird solange wiederholt, bis entweder kein Acknowledge mehr zurückkommt oder bis das Empfänger-Schiebefenster droht überzulaufen oder bis der Schwellwert droht, überschritten zu werden • Ein fehlendes Acknowledge entdeckt der Sender durch einen Time Out • Eine drohende Überlastung des Empfängers entdeckt der Sender anhand der Übermittlung der Schiebefenstergröße, die zusammen mit dem Sammelacknowledge vom Empfänger zurück zum Sender gesendet wird • Eine drohende Überschreitung des Schwellwerts erkennt der Sender selber 3.) Droht der Schwellwert überschritten zu werden, erhöht der Sender sein Überlastungsfenster mit jedem Acknowledge nur noch linear • Dies ist die Phase des linearen Wachstums, die sich der momentan möglichen Grenze von Netz und Empfänger behutsam annähert • Droht das Empfänger-Schiebefenster überzulaufen, sendet der Sender nur noch so viel, wie in das Empfänger-Schiebefenster passt • Kommt kein Acknowledge mehr zurück, wird vom Sender ein neuer Schwellwert festgelegt, der der Hälfte des momentan erreichten Überlastungsfensters entspricht 241 Der Schwellwert speichert den halben maximalen Wert, den das Überlastungsfenster jeweils eine Iteration vorher erreicht hatte • Außerdem wird die Größe des Überlastungsfensters auf den initialen Wert zurückgesetzt 4.) Die Schritte 2,3 werden solange wiederholt bis alles gesendet wurde Der Vorteil dieses Verfahrens ist, dass es sich durch die exponentielle Steigerung am Anfang der größtmöglichen Sendemenge schnell annähert und dieser durch die lineare Steigerung am Ende sehr nahe kommt 12.2.6.1 Beispiel für den zeitlichen Verlauf von Slow Start Anfangsgröße des Überlastungsfenster sei 64 KB, Anfangsschwellwert sei 32 K, Anfangsgröße des Empfänger-Schiebefensters sei 1 K der Sender kann nicht mit der Größe des Überlastungsfenster beginnen, sondern nur mit der wesentlich kleineren Größe des Empfänger-Schiebefensters Zusätzlich wurden in der Zeichnung zwei weitere Dinge angenommen: 1.) Die Größe des Empfänger-Schiebefensters sei zu Beginn der 2. Iteration genauso groß wie am Anfang (1 KB) • Dies ist in der Praxis aber i.A. nicht der Fall • Wenn z.B. das Empfänger-Schiebefenster Null ist, wird eine zeitlang nichts gesendet 242 2.) In der 2. Iteration werde nach 4 Verdopplungen der neue Schwellwert von 20 KB exakt erreicht wird (wobei 20 auch keine Zweierpotenz ist) • In der Praxis werden aber Schwellwerte i.d.R. nicht exakt erreicht, sondern der Sender schaltet auf linearen Zuwachs um, bevor die nächste Verdopplung den Schwellwert über243 schreiten würde oder er begrenzt den Wert der nächsten Verdopplung auf den Wert des Schwellwerts 12.2.7 Beispiel für den zeitlichen Verlauf des Empfänger-Schiebefensters Für das Beispiel wird vereinfachend angenommen, dass das Netz zwischen Sender und Empfänger stets schnell genug sei Einfluss des Überlastfensters werde nicht berücksichtigt Des weiteren wird angenommen, dass die TCP-Instanz des Empfängers die Weitergabe des empfangenen Segments solange verzögern darf, bis das Empfänger-Schiebefenster voll ist URG-Bit im Header des Segments sei nicht gesetzt Im TCP-Optionenfeld teilt der Empfänger dem Sender beim Senden des Acknowledge mit, wieviel Empfangspuffer der Empfänger noch frei hat (Bsp.: WIN = 2048) 244 2K 245 Ändert sich die Größe des Empfänger-Schiebefensters, wird dies dem Sender über ein zweites Acknowledge mit derselben Sequenznummer mitgeteilt 12.2.8 Adaptiver TCP-Time Out Es wird beim Abschicken jedes Paket beim Sender gemessen, wie lange es bis zum zugehörigen Acknowledge dauert (gemessene Zeit sei gleich M, M steht für Messwert). Durch die gemessene Zeit M wird die die Quasi-Entfernung zum Empfänger bestimmt Als Round Trip Time (RTT) wird die Zeit bezeichnet, die entsteht, wenn M über mehrere Messungen hinweg geglättet wird Zur Glättung werden Messungen aus der unmittelbaren Vergangenheit berücksichtigt RTT berechnet sich iterativ zu: RTTneu := RTTalt + (1-)M Diese Metrik entspricht einem Glättungsoperator; ist der 1. Glättungsfaktor der Berechnung Der berechnete Wert von RTT ist in der Praxis selten optimal. Deshalb wird eine zweite Rechnung nachgeschaltet. Dazu wird in der geglättete Mittelwert der Abweichung von M und RTT berechnet und mit D bezeichnet (D steht für Differenz) D wird in analoger Weise wie zuvor RTT geglättet: Dneu := Dalt + (1-) abs(M - RTTneu), ist der 2. Glättungsfaktor und werden von der jeweiligen TCP-Instanz (= Implementierung) festgelegt und sind 246 nicht normiert! Dann wird in einer zweiten Metrik ähnlich zur 1. der jeweils aktuelle Time-Out-Wert berechnet Time Out = 4Dneu + RTTneu; der Faktor 4 ist der 3. Glättungsfaktor und konstant Der Algorithmus stellt insgesamt eine hohe Glättung der Messwerte M dar und vermeidet dadurch starke Schwankungen beim Time Out, auch wenn die Messwerte stark schwanken Stellt sich der so berechnete Timeout-Wert als zu niedrig heraus (= kein Acknowledge, dafür ständig Time Outs), wird als „Rettungsmaßnahme“ der zuletzt verwendete Wert Timeout-Wert verdoppelt (= Pragmatische Lösung) Aus adaptivem Schiebfenster + adaptivem Time Out + Sammeln von Bytes bis zur Schiebefenstergröße (= blockweise Pufferung) ergibt sich bei TCP ein hohe Effizienz bei der Übertragung großer Datenmengen Umgekehrt ist TCP sehr ineffizient bei kleinen Datenmengen Extremfall: 1 Byte Tastaturinformation wird über das Netz mittels 40 Byte Overhead übertragen => 2,4% Effizienz 12.3 Berkeley Sockets/WinSockets als die Schnittstelle zu TCP und UDP Sind die konkrete Umsetzung eines Transportschicht-Dienstzugangspunkts Sind die Programmierschnittstelle zur Kommunikation mit der Transportschicht im Internet 247 Existieren auf nahezu allen Platten-Betriebssystemen (bei Windows als WinSockets) Unterscheiden sich von der ISO-Spezifikation beim Aufruf z.B. darin, ob der Aufruf blockierend ist oder nicht Wurden in einer POSIX-Spezifikation modernisiert Erlauben die Kommunikation über TCP- oder UDP-Protokolle Verwenden IP- und Port-Adressen zur netzweit eindeutigen Adressierung von Prozessen auf Rechnern, z.B. bei der Nutzung von Server-Diensten 12.3.1 Die Berkeley/WinSocket Socket-API Die Socket-API besteht im wesentlichen aus 8 verschiedenen Aufrufen: socket, bind, listen, accept, connect, send, receive und close Es wird zwischen Client und Server unterschieden 12.3.1.1 Ablauf der Kommunikation zwischen Client und Server Client-seitig: • Socket für die Kommunikation mit dem Server erstellen; socket() • Erstellten Socket mit der Socket-Adresse des Servers koppeln, sowie eigene SocketAdresse an den Server übermitteln: connect() • Senden von Daten an den Server und empfangen von Daten vom Server: send(), receive() • Socket schließen: close() 248 Server-seitig: • Socket für das Anmelden von Clients beim Server erstellen: socket() • Koppeln des Anmelde-Sockets an die Socket-Adresse des Servers, über die der Server Client-Anfragen akzeptiert: bind() • Auf eine Client-Anfrage warten: listen() • Client-Anfrage akzeptieren und dann einen Socket für die Kommunikation mit diesem Client erstellen: accept() • Senden und empfangen von Daten auf dem Socket für diesen Client: send(), receive() • Socket für diesen Client schließen: close(), ggf. auch Socket für das Anmelden schließen 12.3.1.2 int socket(int domain, int type, int protocol); Diese Funktion wird sowohl vom Server als auch vom Client aufgerufen Die Funktion erzeugt eine sog. Socket-Verbindung Socket: Anschlussdose, Steckdose. Dient für die Interprozesskommunikation zwischen Client und Server. Diese Socket-Verbindung erlaubt es Client und Server, anschließend über send() und recv() durch Datenaustausch miteinander zu kommunizieren Die Socket-Verbindung enthält u.a. eine sog. Socket-Adresse Die Socket-Adresse wiederum besteht aus einer IP-Adresse und einer Portnummer Mit diesen beiden Angaben kann weltweit eindeutig jeder Prozess in einem Rechner adressiert werden, um mit ihm zu kommunizieren socket() gibt zusätzlich einen sog. socket file descriptor „sockfd“ zurück. 249 D.h. socket() returniert sockfd Ein socket file descriptor ist eine logische Gerätenummer, wie sie bereits vom Lesen und Schreiben auf Dateien bekannt ist Überhaupt ähnelt die Socket-Kommunikation dem Lesen und Schreiben einer Datei Die Socket-Adresse ist eine lokale Datenstruktur, die logische Gerätenummer ist eine Integer-Zahl Die logische Gerätenummer sockfd dient dem Betriebssystem als Index einer Tabelle, in der Datenstrukturen stehen, die ähnlich zu Dateisystem-Steuerblöcken sind (File Handles) und die für die Rechnernetzkommunikation benötigt werden Die logische Gerätenummer dient sowohl Server als auch Client als „Abkürzung“ beim Zugriff auf die Socket-Verbindung Der Server benötigt die logische Gerätenummer für seine nachfolgenden Funktionen bind(), listen() und accept() Der Client verwendet die logische Gerätenummer für dessen Funktionen connect(), send(), recv() und close() Für die Funktionen send(), recv() und close() des Servers benötigt dieser zusätzlich eine zweite logische Gerätenummer, die über accept() bereitgestellt wird Die Beschreibung der Parameter des Socket-Aufrufs socket() ist: • Eingabeparameter domain: gibt das Routingprotokoll an • Definiert sind als Integer-Konstanten u.a. die Werte • PF_INET für das Routingprotokoll IPV4 250 • • • • • • • • • • PF_INET6 für das Routingprotokoll IPV6 Eingabeparameter type: gibt die sog. Dienstart an Definiert sind als Integer-Konstanten u.a. die Werte SOCK_STREAM für die zuverlässige Übertragung einer unendlichen Folge von Bytes SOCK_SEQPACKET für die zuverlässige Übertragung einer endlichen Folge von Datenpaketen Eingabeparameter protocol: gibt das Transportprotokoll an Definiert sind als Integer-Konstanten u.a. die Werte IPPROTO_TCP für TCP IPPROTO_UDP für UDP Return Value: sockfd: socket file descriptor = Integer-Zahl als logische Gerätenr. 12.3.1.3 int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen); Die Funktion wird nur vom Server aufgerufen und kommt nach dem socket()-Aufruf Sie verknüpft die logische Gerätenummer, d.h. den socket file descriptor sockfd mit der Server-lokalen Datenstruktur my_addr, die die Socket-Adresse des Servers enthält D.h., hinter der logischen Gerätenummer sockfd des Servers steht dessen Socket-Adresse Bind() returniert 0, falls O.K. und -1, falls nicht O.K Die Beschreibung der Parameter ist: • Eingabeparameter sockfd: socket file descriptor von socket() des Servers 251 • Eingabeparameter my_addr: lokale Datenstruktur. my_addr besteht aus der IP-Adresse des Servers und aus einer lokalen Portnummer des Servers. Beide sind vom Typ integer. • Eingabeparameter addrlen: Länge von my_addr in Bytes • Return Value: status: Statusinformation über den Erfolg der Prozedur 12.3.1.4 int listen(int sockfd, int backlog); Wird nur vom Server aufgerufen und kommt nach bind() Wartet darauf, dass durch ein nachfolgendes connect() des Clients eine Verbindung hergestellt wird Falls nacheinander mehrere connect-Anforderungen beim Server eintreffen, werden alle bis zur Obergrenze „backlog“ von listen() in einer Warteschlange zwischengespeichert listen() returniert 0, falls alles O.K. ist und -1, falls nicht O.K. Die Beschreibung der Parameter ist: • Eingabeparameter sockfd: socket file descriptor von socket() des Servers • Eingabeparameter backlog: Anzahl von connect-Anforderungen, die in einer listen-Warteschlange maximal gespeichert werden können. • Return Value: status: Statusinformation über den Erfolg der Prozedur 12.3.1.5 int accept(int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen); Wird nur vom Server aufgerufen und kommt nach listen() 252 accept() erzeugt eine zweite Socket-Verbindung, entfernt die vorderste connect-Anforderung aus der Warteschlange von listen() und bearbeitet diese Anforderung accept() ersetzt die erste Socket-Adresse my_addr des Servers von bind() durch die zweite Socket-Adresse cliaddr von listen() In diesem Moment sind Server-seitig gleichzeitig die beiden Socket Descriptoren sockfd und sockfd2 aktiv, allerdings ist bislang nur sockfd initialisiert. Hinter sockfd steht die IP-Adresse und Portnr. des Servers, hinter sockfd2 werden nach dem Aufruf die IPAdresse und Portnr. des Clients stehen. Dann verknüpft accept() den zweiten socket file descriptor sockfd2 mit der zweiten Socket-Adresse cliaddr accept() gibt den zweiten socket file descriptor sockfd2 und die zweite Socket-Adresse cliaddr als Ergebnis zurück Danach kann der Server über sockfd2 auf die zweite Socket-Adresse (=cliaddr) zugreifen und so die IP-Adresse und die Portnr. des Client feststellen, um send(), receive() und close() aufzurufen Die Beschreibung der Parameter ist: • Eingabeparameter sockfd: socket descriptor von socket() des Servers • Ausgabeparameter cliaddr: zweite Socket-Adresse. Lokale Datenstruktur, in der die IPAdresse des entfernten Client-Computers und dessen Portnummer stehen, sobald dieser connect() aufgerufen hat. Darüber kann dann der Client angesprochen werden. • Eingabe-/Ausgabeparameter addrlen: Länge von cliaddr in Bytes 253 • Return Value: sockfd2: zweiter socket descriptor = zweite logische Gerätenr. 12.3.1.6 int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen); Wird nur vom Client aufgerufen und kommt nach dessen socket() Verbindet den Client mit dem Server, indem connect() in die zweite Socket-Adresse des Servers die IP- und Port-Adresse des Client hineinschreibt Damit weiß der Server, wo sein Client im Internet zu finden ist Dazu muss der Client a priori wissen, zu welchem Server-Prozess er sich verbinden möchte connect returniert 0, falls O.K. und -1, falls nicht O.K. Die Beschreibung der Parameter ist: • Eingabeparameter sockfd: socket file descriptor von socket() des Client • Eingabeparameter serv_addr: lokale Datenstruktur, in der die IP-Adresse des Servers und dessen Portnummer stehen, zu dem eine Verbindung aufgebaut werden soll. • addrlen: Länge von serv_addr in Bytes • Return Value status: Statusinformation über den Erfolg der Prozedur 12.3.1.7 int send(int {sockfd für Client oder sockfd2 für Server}, const void *buffer, size_t length, int flags); Wird von Server und Client aufgerufen und kann beim Server nach accept() und beim Client nach connect() kommen 254 Sendet Daten an den Client bzw. an den Server Returniert die Zahl der gesendeten Bytes, falls O.K. und -1, falls nicht O.K. Die Beschreibung der Parameter ist: • Eingabeparameter sockfd bzw. sockfd2: socket file descriptor von socket() des Clients oder von accept() des Servers • Eingabeparameter buf: string, der die zu sendenden Daten als Bytes enthält • Eingabeparameter length: gibt die Länge von buf an • Eingabeparameter flags: spezifiziert die Art des Sendens genauer • Return Value: SentBytesOrStatus = entweder Länge der gesendeten Bytes oder -1 bei Fehler 12.3.1.8 int recv(int {sockfd für Client oder sockfd2 für Server}, void *buffer, size_t length, int flags); Wird von Server und Client aufgerufen und kann beim Server nach accept() und beim Client nach connect() kommen Empfängt Daten vom Client oder vom Server Returniert die Zahl der empfangenen Bytes, falls O.K. und -1, falls nicht O.K. Die Beschreibung der Parameter ist: • Eingabeparameter sockfd bzw. sockfd2: socket file descriptor von socket() des Clients oder von accept() des Servers • Ausgabeparameter buf: string, der die empfangenen Daten als Bytes enthält 255 • Eingabeparameter length: gibt die Länge von buf an • Eingabeparameter flags: spezifiziert die Art des Sendens genauer • Return Value: ReceivedBytesOrStatus = entweder Länge der empfangenen Bytes oder -1 bei Fehler 12.3.1.9 int close(int {sockfd für Client oder sockfd2 für Server}); Wird von Server und Client als letztes aufgerufen Schließt eine bestehende Socket-Verbindung Der Vorgang entspricht dem Schließen einer zuvor geöffneten Datei Allerdings muss die Socket-Verbindung sowohl vom Client als auch vom Server geschlossen werden Returniert 0, falls O.K. und -1, falls nicht O.K. Die Beschreibung der Parameter ist: • Eingabeparameter sockfd von socket() des Clients bzw. sockfd2 von accept() des Servers • Return Value: status: Statusinformation über den Erfolg der Prozedur 12.3.1.10Zusammenfassung Berkeley-Sockets Die Berkeley-Sockets und ihre Varianten sind nicht besonders übersichtlich in der Handhabung Ohne sie ist aber kein Aufruf von TCP oder UDP möglich. d.h., sie sind sehr wichtig 256 13 Breitbandiger integrierter Service über digitales Netzwerk (BISDN) B-ISDN wurde Anfang der 1980er Jahre von der Vereinigung der Telefongesellschaften (ITU) entworfen und gemeinsam mit Computerherstellern im sog. ATM-Forum weiterentwickelt Zur Implementierung von B-ISDN wurde SONET/SDH und die ATM-Protokolle spezifiziert und implementiert (ATM = „Asynchronous Transfer Mode“) 13.1 Ziele von B-ISDN B-ISDN ist die Weiterentwicklung von Schmalband-ISDN für Sprache + Daten Alle Dienste sollten mit wesentlich höherer Bandbreite als bei S-ISDN durchgeführt werden Jeweils erreichte Bandbreiten: 155 Mb/s, 622 Mb/s, 2,4 Gb/s, 10 Gb/s... (nach oben offen) B-ISDN ist die Zusammenfassen aller Netze und Dienste aller Telekommunikations-Firmen unter ein einheitliches Protokoll Bereitstellung neuer Dienste wie z.B.: • Datenübertragung zwischen Rechnern mit geringer Latenz und garantierter Qualität • Übertragung multimedialer Daten in Echtzeit • Implementierung von Audio-on-Demand, Games-on-Demand, Video-on-Demand und inter257 aktivem Fernsehen von vielen Sendern (>500) Status: • • • • Games-on-Demand und interaktives Fernsehen werden bislang nicht nachgefragt Video-on-Demand wird zunehmend mehr nachgefragt Sehr hohe Nachfrage nach www und email über TCP/IP (= Konkurrenz) Kunden sind mit der schlechten Übertragungsqualität und hohen Latenz von TCP/IP zufrieden • SONET/SDH ist erfolgreich, ATM gerät aber zunehmend durch TCP/IP unter Druck 13.2 ATM (Asynchronous Transfer Mode) 13.2.1 Was ist ATM? ATM ist eine Menge von Protokollen, die Teile der Schicht 2, 3 und 4 (Sicherung, Vermittlung und Transport) des ISO-7-Schichten-Modells umfassen ATM spezifiziert keine eigene Bitübertragungstechnologie (keine Schicht 1!) ATM sitzt vielmehr auf der Schicht 1 von SONET/SDH, FDDI, Fibre Channel oder anderen Bitübertragungs-Technologien wie E1/T1 auf Die am meisten verwendete Bitübertragungsschicht für ATM ist SONET/SDH Für ATM werden spezielle Vermittlungseinrichtungen (sog. ATM-Switches) verwendet, die in Hardware Aufgaben der Schicht 3 (= Vermittlung) übernehmen Während die Schicht 1 nicht ATM-spezifisch ist, sind ATM-Vermittler voll ATM-speziell 258 ATM ist die Kombination aus Protokollen (Software) und spezieller Vermittler-Hardware Oberhalb von ATM-Protokollen und Vermittler kann das übliche Internet-Protokoll IP als ATM-Nutzlast und darüber TCP bzw. UDP transportiert werden (ist allerdings ineffizient) 13.2.2 Warum gibt es ATM? ATM ist die Implementierung von B-ISDN, d.h. die weltweite Zusammenfassung von Telefon- und Datennetzen zu einem vereinigten digitalen Netz hoher Bandbreite und gemeinsamen Protokollen ATM ist gedacht als die Verschmelzung der besten Eigenschaften von Telefonsystemen und Datennetzen, wie z.B: • • • • • Feste, garantierte Verbindungen zwischen Endgeräten (Telefonen oder Computern) Echtzeitfähig und Multimedia-geeignet Garantierter Zuverlässigkeit und Qualität in der Übertragung (Quality of Service) Hohe Datenraten, niedrige Latenzen Hohe Flexibilität beim Einsatz durch skalierbare Datenraten (von 155 Mb/s bis >10 Gb/s) und durch skalierbare Entfernungen (von LAN bis WAN) • Gute Nutzung der Übertragungswege durch asynchrone Dateneinspeisung (kein Zeitmultiplex ab Schicht 2 trotz Zeitmultiplex-Hardware auf Schicht 1!) • Unterstützung von Multicast und Broadcast für neue Audio und Video-Dienste 259 13.2.3 Warum heißt ATM ATM? ATM steht im Gegensatz zu STM (Synchronous Transfer Mode) von SONET/SDH, bei dem aufgrund des Zeitmultiplex Zeitscheiben einzelnen Sendern fest zugeordnet werden 13.2.3.1 Beispiel für den asynchronen Transfermodus a) Taktsynchrone Übertragung und Zuordnung von Zeitschlitzen b) asynchronous Übertragung je nach Bedarf Daten von verschiedenen Quellen kommen i.d.R. zufallsgesteuert an (keine feste Rei260 henfolge bei der Datenerzeugung) und können so, wie sie kommen, durch ATM abtransportiert werden ATM arbeitet damit wie ein Rechnernetz, das zu beliebigen Zeiten Pakete annimmt ATM erlaubt der Anwendungsschicht trotz Verwendung von STM auf der Schicht 1, die Einspeisung von Daten zu beliebigen Zeiten (im Rahmen der Bandbreitegrenzen des Mediums) Dies steht im Gegensatz zur klassischen PCM-Technik, die synchron arbeitet PCM weist jedem Sender periodisch einen Zeitschlitz zu, egal ob er ihn braucht oder nicht Ineffiziente Bandbreiteausnutzung bei PCM, um Echtzeitverhalten erzielen zu können ATM hingegen kann Daten verschiedener Quellen in einen gemeinsamen „Zell“strom multiplexen und dennoch die Latenz niedrig halten und die Echtzeit bewahren Trotz des asynchronen Medienzugangs erfolgt die Datenübertragung auf dem physikalischen Medium synchron, z.B. über SONET/SDH ATM transformiert asynchronen Echtzeit-Kommunikationsbedarf in synchrone Bitübertragung => „Asynchronous Transfer Modus“. Dies gelingt durch eine Reihe von Maßnahmen wie Multiplexen sehr kleiner Pakete + „OAM“ + Vorabvereinbarungen der QoS + ... 261 13.2.4 Die wichtigsten Eigenschaften von ATM 1.) Bereitstellen eines asynchronen Zugangs zum synchronen Übertragungsmedium 2.) Integration bekannter und neuer Netzdienste (Sprache, Daten, Audio und Video,...) zu einer multimedialen Hochgeschwindigkeitsübertragung 3.) Verbindungsorientierung in der Art, dass zwischen den ATM-Endgeräten Standleitungen nachgeahmt werden (sog. virtuelle Verbindungen) 4.) Verwendung von Übertragungsrahmen kleiner, fester Länge (immer 53 Byte lang), sog. Zellen 5.) Hoch-effiziente Vermittlung der Datenströme in ATM-Vermittlern (ATM Switches) • Bemerkung: ATM-Vermittler sind die Gegenstücke zu Routern bei Datennetzen. Sie ähneln ungefähr digitalen Telefonvermittlungsanlagen. • Verwendung kurzer Übertragungsrahmen (= Zellen) mit wenig Overhead (53 Byte-Zellen mit 48 Byte Nutzdaten) • Aber: aus Echtzeitgründen keine automatische Paketwiederholung im ATM-Netz! • Flusssteuerung erfolgt ebenfalls aus Echtzeitgründen nur zwischen Endgerät und Netzanschluß und höchstens in Sonderfällen zwischen den ATM-Endgeräten Kurze, feste Durchlaufzeiten in den Vermittlern erlaubt kurze, deterministische Endezu-Ende-Latenzen 262 6.) Skalierbarkeit in der Geschwindigkeit (Übertragungsraten z.B. 155, 622 Mb/s, 2,5 Gb/ s, ...) 7.) Skalierbarkeit in der Entfernung: einsetzbar für LAN, MAN und WAN 8.) Quality of Service durch elektronischen Vertrag zwischen Dienstnehmer, d.h. ATMEndgerät und Diensterbringer, d.h. ATM-Netz • Bandbreite, Latenz und Fehlerraten können in elektronischem Vertrag zwischen Diensterbringer und Dienstnehmer automatisch ausgehandelt und garantiert werden! 9.) Virtuelle Unterteilung eines ATM-Netzes in mehrere logische Netze, die einzeln an Kunden vermietet werden können, sog. Virtual Private Networks (VPNs). Diese können es wie ein reales Netz benutzen und administrieren. 13.2.5 ATM-Netzaufbau Ein ATM-Netz besteht aus: 1.) Benutzerendgeräten (Rechner oder Telefone) 2.) Vermittlern (ATM Switches) 3.) Schnittstellen (= Netzwerkkarten) zwischen Endgeräten und Netz (sog. user-to-network interfaces, UNIs) 263 4.) Schnittstellen zwischen benachbarten Vermittlern (network-to-network interfaces, NNIs) Prinzipielle ATM-Netzstruktur: ATM-Netz ATM Switch ATM Switch UNI ATMEndgerät 13.2.6 UNI NNI NNI ATM-Zellen ATM-Zellen haben folgenden Aufbau: ATM-Zellen sind Datenpakete fester Länge und kleiner Größe ATM-Zell-Header sind sehr kurz und beschränken sich auf das Allernotwendigste ATM-Zellen sind schnell und effizient vermittelbar 264 Dies steht im Gegensatz zu den Paketen der Internet-Protokolle, die variable Länge haben und sowohl im Header als auch im Datenteil sehr groß werden können (Bsp: IP, TCP mit 64 KB Längen) Der ATM-Zell-Header, der vom Endgerät (UNI) erzeugt wird, hat folgenden Aufbau: Bit 0 1 2 3 4 5 6 Generic Flow Control VPI (most sig. 4 bits) VPI (least sig. 4 bits) VCI (most sig. 4 bits) 7 VCI (middle sig. 8 bits) VCI (least sig. 4 bits) Payload Type PRI Header Error Control (CRC) Generic Flow Control: dient zur Flusssteuerung zwischen ATM-Endgerät und ATM Netz, d.h. zwischen benachbaren UNIs VPI und VCI (Virtual Path Identifier, Virtual Channel Identifier): Index auf die Zieladresse, zu der die Zelle transportiert werden soll; dienen den Vermittlern zur Zeilenadressierung in ihrer Wegewahltabelle Beim Durchgang der ATM-Zelle durch das UNI des ATM-Netzes wird das Flusssteuerungsfeld durch 4 zusätzliche VPI-Bits ersetzt, d.h. anderweitig verwendet 265 im ATM-Netz haben die Zell-Header insgesamt 12 VPI-Bits und 16 VCI-Bits als Zieladresse ATM-Zellen im ATM-Netz (sog. NNI-Zellen) haben andere Header als die Zellen, die eingespeist werden (sog. UNI-Zellen) Payload Type: unterscheidet zwischen Nutzdaten, Wartungsdaten (= Operations-, Administration- and Management-Zellen, OAM) und Leerdaten (= sog. inerte Zellen) Priority: Jedes ATM Endgerät kann Daten als hochprior spezifizieren. Diese werden bei Überlastung eines ATM-Vermittlers durch zu viele Input-Zellen als letzte gelöscht. CRC: Prüfsumme über die ersten 4 Header-Bytes ATM-Zellen wandern im Netz von Vermittler zu Vermittler Im Vermittler werden sie on-the-fly, d.h. zeitlich schritthaltend mit ihrem Eintreffen verarbeitet Dies ist wegen des festen Formats und der kurzen Länge möglich, da ATM-Header leicht zu dekodieren sind ATM-Zellen müssen im Netz nicht gespeichert werden (kein store-and-forward!) Dies steht im krassen Gegensatz zu den Internet-Routern und sorgt für extrem kurze Latenzen im Vergleich zu TCP/IP Aber: die sichere Zustellung von ATM-Zellen durch das ATM-Protokoll ist nicht garantiert, d.h. Pakete können im Prinzip verloren gehen oder falsch übertragen werden 266 Dies kommt bei SONET/SDH als Schicht 1 jedoch so gut wie nie vor, da Glasfasertechnologie Garantiert wird bei ATM nur die Einhaltung der Paketreihenfolge beim Empfänger 13.2.7 Die Zukunft von ATM Wurde von der Telekomindustrie erfunden und später von der Computerbranche mitgetragen Seit 1991 lenken Telekom- und Computerindustrie die Zukunft von ATM im ATM-Forum Da ATM vom Konzept her einen übergreifenden Dienst bis zur Telefonsteckdose des Endkunden darstellen soll, waren bzw. sind hohe Investitionen erforderlich, um dieses Ziel zu erreichen Einige der neuen Dienste, die ATM anbietet (Bildtelefon, usw.) werden bislang vom Kunden nicht angenommen; Ausnahmen: Audio-on-Demand, Video-on-Demand Außerdem „iTunes“ etc. sind IP-basierte Anwendungen! Die Kosten für ATM-Anschlüsse beim Endkunden sind im Vergleich zu xDSL oder Ethernet sehr hoch, weil ATM aufgrund seiner funktionellen Vielfalt und Leistungsfähigkeit komplexe und schnelle und damit teure Netzwerkkarten im Rechner erfordert ATM-Anschlüsse beim Endkunden sind sehr selten Darüberhinaus sind noch nicht alle technischen Probleme bei ATM gelöst und es ist unklar, ob sie jemals gelöst werden (Situation ähnlich wie bei IPV6) 267 Schließlich ist es Mode, überall IP einzusetzen, obwohl eindeutig schlechter in seinen Eigenschaften als ATM („The winner takes them all“) ATM ist im WAN-Bereich immer noch weit verbreitet, wird aber langsam durch IP verdrängt Viel Erfolg! 268