2. ISO/OSI-Referenzmodell Seite 4
2.1 Schichtenkonzept
Seite 4
2.2 Protokoll-Klassifikationen
Seite 5
2.2.1 Nonpolling-Systeme
Seite 5
Exkurs: Asynchron - Synchron
Seite 5
a.) Asynchrone Übertragung
Seite 5
b.) Synchrone Übertragung
Seite 6
- Xon/Xoff
Seite 6
- Polling & Select
Seite 6
c.) Fehlerkontrolle
Seite 7
- Selective Repeat
Seite 8
- Go-Back-N
Seite 8
- Stop & Wait
Seite 8
d.) Flußkontrolle
Seite 8
- Exkurs: Sliding Window
Seite 9
3. Data-Link Ebene Seite 9
3.1 Verbindungsvarianten
Seite 9
3.2 Data-Link für WAN
Seite 9
3.2.1 BSC
Seite 9
- Meldungsformate
Seite 10
- Protokollablauf im Falle von Fehlern
Seite 11
3.2.2 MSV1
Seite 12
3.2.3 DDCMP
Seite 14
- Meldungsformate
Seite 14
- Datentransfer
Seite 15
- Exkurs: Pipelining
Seite 16
3.3 X.25
Seite 16
- Stationsarten
Seite 17
- Operations-Modi
Seite 17
- Konfiguration
Seite 17
3.3.1 HDLC
Seite 18
- Meldungsformate
Seite 18
- Protokollablauf
Seite 19
3.3.2 X.25 - Ebene 3
Seite 20
- 5 Gruppen
Seite 20
4. Data Link für LAN Seite 21
4.1 Ethernet-CSMA/CD (802.3)
Seite 21
- Exkurs: CSMA/CD
Seite 22
- Manchester Code
Seite 22
- Meldungsformate
Seite 22
- LLC-Header
Seite 23
4.2 Fast Ethernet (802.3u)
Seite 23
- Exkurs: Auto Negotiation
Seite 23
4.3 Token Passing (802.5)
Seite 25
4.3.1 Token Ring
Seite 25
- Frame-Formate
Seite 25
- MAC Protokoll-Algorithmus
Seite 26
- Fehlerüberwachung
Seite 26
- Kontrollframes (MAC-Frames)
Seite 27 5. LLC - Logical Link Control Seite 27
- Operations-Modi
Seite 27
- Meldungsaufbau
Seite 28
5.1 DataLink-Protokolle
Seite 28
5.2 DataLink-Layer
Seite 28
6. Netzwerk- und Transportschichten Seite 29
6.1 Netzwerkschichten
Seite 29
- Adressierung (Subnetzmasken)
Seite 29
- Fragmentierung
Seite 30
6.2 Adressierung des Internet-Protokolls (IP)
Seite 30
- Adress-Bereiche
Seite 30
- Subneting
Seite 31
6.2.1 DNS
Seite 31
- Adressierung E-Mails
Seite 31
6.2.2 ARP
Seite 32
6.2.3 ICMP
Seite 32
6.2.4 Broadcast-Adressen
Seite 32
6.3 Transport-Ebene
Seite 32
6.3.1 wichtige Portnummern
Seite 32
6.3.2 TCP
Seite 32
- Verbindungsaufbau
Seite 33
- Verbindungsabbau
Seite 33
6.3.3 UDP
Seite 33
6.3.4 SLIP
Seite 33
6.3.5 PPP
Seite 33
6.4 IP-Congestion
Seite 34
6.5 Routing-Mechanismus
Seite 34
- Routed Protokoll
Seite 34
- Routing Protokoll
Seite 34
- Distance Vektor Konzept
Seite 34
- Link State Konzept
Seite 34
- Exkurs: Vermittlungskonzepte
Seite 35
6.6 Architektur von globalen Netzen
Seite 35
6.6.1 Hierarchisches Konzept
Seite 35
6.6.2 Routing Domain
Seite 35
6.6.3 Routertypen
Seite 35
6.6.4 Routing-Protokolle
Seite 36
a.) Interior Routing Protokolle
Seite 36
- RIP (Routing Information Protocol)
Seite 36
- Hello-Protokoll
Seite 36
- SPF (Shortest Path First)
Seite 37
- OSPF (Open Shortest Path First)
Seite 37
- IGRP (Interior Gateway Routing Protocol)
Seite 37
b.) Exterior Routing Protokolle
Seite 37
- EGP (Exterior Gateway Protocol)
Seite 37
- BGP (Border Gateway Protocol)
Seite 37
6.6.5 Routing-Tabelle
Seite 37
6.6.6 Allgemeines zu Routern
Seite 38
- ARP-Statistiken
Seite 38
- IP-Statistiken
Seite 38
- Einträge in Routing-Tabelle
Seite 38
- Aufgaben von Routern
Seite 38
- Router oder Switch?
Seite 39
7. FTP/Anonymous FTP Seite 39
7.1 Abbau des FTP-Steuerkanals
Seite 39
7.2 Abbau des FTP-Datenkanals
Seite 39
7.3 Ermittlung IP-Adresse mittels DNS
Seite 40
7.4 Aufbau des FTP-Steuerkanals
Seite 40
7.5 Wiederholtes Senden von SYN nach Timeout
Seite 40
8. Sonstiges Seite 40
8.1 SMTP-Protokoll
Seite 40
8.2 POP3-Protokoll
Seite 41
8.3 HTTP-Protokoll
Seite 41
8.4 Telnet
Seite 41
9. Internet-Anschlussmöglichkeiten Seite 41
9.1 lokaler Rechner ohne eigene IP-Adresse
Seite 41
9.2 SLIP/PPP - Rechner mit eigener IP-Adresse
Seite 41
9.3 Standleitungen - Rechner mit eigener IP-Adresse
Seite 42
9.4 ISDN
Seite 42
9.5 Shared Ethernet-Technologie
Seite 42
9.6 Switching-Technologie
Seite 42
2. ISO-OSI Referenzmodell
(OSI = Open Systems Interconnection) 7-Schichten-Modell:- Richtlinien für Realisierung von Open Netzwerk - Protokolle auf Schichtenebene
- Schnittstellen zwischen den Schichten mit unterschiedlichen Aufgaben (unten nach oben) 1. Physikalische (Übertragungs) Ebene: Eigenschaften der physikalischen Verbindungen
Mechanische, Elektrische, Optische und Funktionale Charaketeristik
2. DataLink Ebene (Leitungsebene): Steuerung der Übertragung (z.B. BSC; DHDLL =>
WAN --- Eth, TR, FDDI => LAN ) – Erkennung und Beseitigung von Fehlern des physikalischen Layers (CRC), Zugang zum Medium (MAC, LLC)
3. Netzwerk Ebene: Steuerung der Nachrichten (Meldungen) innerhalb des globalen Netzes.
Aufteilen der Nachrichten in Pakete, Fehlerbehandlung, Aufbau virtueller Verbindungen
4. Transport Ebene: Transportprotokoll -- Übertragung der Meldungen unabhängig vom Datennetz – teilt Nachrichten in Frames/Datenpakete auf, Aufbau virtueller Verbindungen, Fehlerbehandlung
5. Sitzungs Ebene: Sitzungsprotokoll -- Steuerung der logischen Verbindungen (Verbindungen zwischen Rechner - Prozesse), Synchronisierung
6. Darstellungs Ebene (Präsentation): Darstellungsprotokoll -- Interpretation der übermittelten Pakete – legt Datenformat fest
7. Anwendungs Ebene (Applikation): Verarbeitungsprotokoll -- Informationsdienste für Anwendungen 1,2,3 => Kommunikationssysteme – schafft Anwendungssoftware Zugang zum Netz
2.1 Schichten-Konzept:
Terminologie:
- Service User - Service Provider - Protocol Entity
- Service Access Points (SAP) [= Sockets im Falle von TCP / UDP ] - Protocol Data Unit (PDU)
Funktionen:
- Encapsulation: Daten komprimieren/codieren zur schnelleren Übertragung & Sicherheit - Segmentation/Fragmentierung: Daten können nicht so schnell weitergereicht werden, wie
sie ankommen (Ethernet nur 1500 Byte auf einmal, Token Ring 4000 Bytes) =>
Daten zerlegen, mit Identifizierung versehen, um wieder zusammensetzen zu können.
- Connection Establishment/Close: Verbindungsaufbau, abbau
- Flow Control (Flußkontrolle): Puffer des gegenübers voll => bitte um Wartezeit => es darf nicht gesendet werden! Verbindung muß bestehen bleiben.
- Error Control (Fehlerkontrolle): Daten nicht „verstanden“ Korrektur des Pakets
- Multiplexing: Mehrere Verbindungen pro Kanal zu übertragen. Verbindung ist aufgebaut, Daten werden übertragen
Service Spezifikationen:
Services werden der höheren Schicht zur Verfügung gestellt - Request (to invoke a function) vom User
- Indication (to invoke or indicate a function, that has been invoked at a SAP) vom Provider - Response (complete a function previously invoked by an Indication at that SAP) vom User - Confirm (complete a function previously invoked by a Request at that SAP) vom Provider
2.2 Protokoll-Klassifikation:
2.2.1. Nonpolling-Systeme:
(verwendet für serielle Schnittstellen)Exkurs: Asynchron – Synchron
a.) Asynchron:
- die Binärzeichen einer Übertragungsfolge liegen in einem festen Zeitraster - zwischen Sender und Empfänger besteht Schrittgleichlauf für diese Zeichenfolge - die Binärzeichen verschiedener Übertragungsfolgen liegen nicht unbedingt im gleichen
Zeitraster
- zusätzliche Aufgabe: Herstellung der Synchronität bei Übertragungsbeginn b1.) Zeichensynchrone Übertragung (BSC):
- alle Binärzeichen liegen in einem festen Zeitraster
- zwischen Sender und Empfänger besteht Schrittgleichlauf
- Vorteil: Leitung wird besser genutzt, nur noch ca. 5% an Steuersignalen Overhead an Steuerzeichen (10 Stück) ca. 5%
- Nachteil: nach jeder Übertragung eines Blockes muß Rückmeldungen erfolgen - Nachteil: Übertragung ist codeabhängig
b2.) Bitsynchrone Übertragung (HDLC):
- Framebildung
- Rahmen besteht aus Adressfeld Sender/Empfänger, Kontrollfeld, Info-Feld, Prüffeld, Endeflag
- Vorteil: nicht codegebunden
- Vorteil: bis zu 7 Frames (Window-Größe) nacheinander ohne Quittung zu verschicken - Vorteil: jede Station kann gleichzeitig senden und empfangen
a.) Asynchron: Jedes Byte (Zeichen) wird getrennt gesendet.
A B
3 2
7 Tx
Rx DTR
DSR Erde 2
3
7
Rx Tx
Erde
RTS = A Request to Send CTS = B Clear to Send DTR = Data Terminal Ready DSR = Data Set Ready
HANDSHAKE-Leitungen Start-
Bit
Stop- Bit Parity-
Bit Daten-Bits
5-7
1
0
RTS/CTS-Methode:
Einstellung auf beiden Seiten A und B:
Verbindung über RS232C Anzahl Bits/Zeichen = 5, 6, 7, 8
Anzahl Stop-Bits = 1 (Schutzerde), 1 ½, 2 (Sendeleitung) Parity = ODD, EVEN der 1er Bits
Nachteil und Folgen:
Übertragung von 4 Rahmen-Bits zusätzlich zu den 7 Data-Bits Wirkungsgrad ca. 60 % Die effektive Bitrate (= Anzahl der Nutzbits/sec = Baudrate) ist kleiner als die
tatsächliche Bitrate. z.B.: bei 9600 Bits/sec effektive Bitrate 60 * 9600 / 100 b.) Synchron: Bytes (Zeichen) werden blockweise gesendet.
SSYNS
Xon / Xoff – Methode: (vordefiniertes Steuerzeichen über Tx-Leitung)
- keine Bestätigung - Flußkontrolle mittels Xoff
- kein Verbindungsaufbau
Polling/Select:
Polling = Sende-Aufforderung (Secondary wird zum Senden aufgefordert)
Punkt-zu-Punkt: Data Receive (Poll – Aufforderung Daten zu senden), Data Send (Select – ACK = Aufforderung Daten zu empfangen)
Multipunkt: Master-Slave-Verbindung oder Slave-Slave-Verbindung
Stop
Start Start
t
Neues Zeichen
RTS := ON (4) CTS := ON (5)
Data CTS := OFF
CTS := ON
Stop
& Wait Nachteil:
- HW abhängig
- zu übertragende Daten werden auf Richtigkeit überprüft
Methode = Flußkontrolle
Takt Tx
Rx
Anzahl Data = Abhängig von dem Charakter Synchronisationsverfahren
SYN SYN Kopf Daten BCC PAD Pause SYN SYN
Xon Data Data Xoff Xon Data
Stop
& Wait auf Xon
Nachteil:
Richtigkeit der übertragenen Data ist am Empfänger nicht geprüft
Select = Empfangs-Aufforderung (Secondary wird zum Empfang aufgefordert)
Fehler-Kontrolle:
Stop
Warten
Verbindungsaufbau zum Empfangen
Warten
Verbindungsabbau ACK
DATA ACK
DATA SELECT
Primary Secondary
ACK Wartezeit wegen:
Überprüfen der Richtigkeit der Daten mittles CRC
Stop und Warten:
Daten-Übertragung EOT
EOT ACK
ENQ ACK
ENQ ACK Starte Zeit-Clock
ZeitKonstantenWZ=0
TIMEOUT
Starte Zeit WZ + 1
DATA
TIMEOUT
Mechanismen:
- CRC-Kontrolle
- TIMEOUT bei Wartezuständen (Wartezeitkonstante einstellbar) - Wiederholungszähler (einstellbar) Nachteile:
- Wartezeit auf Bestätigung >>>
Übertragungszeit
- ÜZ + ÜZ + Res = Wartezeit
Überprüfung + Übertragung + Reserve Lösung:
Übertragung mehrerer Blöcke nach- einander ohne Bestätigung (wird am Ende der Übertragung für alle Blöcke gesendet) Sende Aufforderung =
Verbindungsaufbau
EOT =
End of Transmission ACK DATA
ACK POLL
Primary Secondary
DATA Wartezeit wegen:
Überprüfen der Richtigkeit der Daten mittles CRC
POLLING:
SELECT:
a.) Selective Repeat:
(selten)Negative Bestätigung Block Nr. 2!!!
Implizite Bestätigung für Block 5
einschließlich 1, 2, 3, 4
Methode: Nur der fehlerhafte Block wird neu übertragen
Nachteil: Komplexe Implementierung auf beiden Seiten Lösung: Go Back To N
b.) Go Back To N:
- Bestätigung für zuletzt korrekt angekommenen Block
- alle restlichen Blöcke einschließlich fehlerhafter erneut senden
- 5, 4, 3, 2 müssen neu übertragen werden Methode: Alle Blöcke, die fehlerhaftem folgen müssen neu übertragen werden
c.) STOP & WAIT:
Vorteile:
- Einfach zu implementieren.
- Dateipakete werden nicht durchnummeriert
- nur die ACK-Pakete werden nummeriert (Bspw. ACK0 / ACK 1) Nachteile:
Performance WAIT intervall >>> Sendeintervall
Bsp.: BSC / MSV1 ist laut STOP & WAIT Mechanismus implementiert
Fluß-Kontrolle: (Polling mit automatischem Repeat-Request)
Wieviele Pakete sind ohne Bestätigung nacheinander zu senden?
Prinzip:
- eine Station (Sender/Empfänger) kann mehrere Blöcke nacheinander senden, bevor auf Bestätigung gewartet wird
- die Station kann diese Sendung automatisch wiederholen (ARQ)
- auf beiden Seiten Puffer-Reservierungen benötigt, wegen Aufnahme der Blöcke - Anzahl der Blöcke, die ohne Bestätigung gesendet werden dürfen wird in Form einer „Window-Größe“ vor der Übertragung der Daten zwischen beiden Partnern ausgehandelt - ebenso wichtig Auswertungszeit (Verfügbarkeit) auf beiden Seiten.
- Methode: Sliding Window (auch unter dem Namen “Fenstertechnik” bekannt) 2
A B
ACK 5 NAK 2
5 4 3 2 1
A B
ACK 1
5 4 3 2 1
A B
ACK 5
5 4 3 2
A B
Exkurs: Sliding-Window
- sichere Datenübertragung mittels ARQ - Flußsteuerung
- Reihenfolgegarantie
- Verbesserung von Stop & Wait - Wiederholung nach Timeout für ACK - nutzt Pipelining zur besseren Auslastung
- Sendefenster: maximale Fenstergröße entspricht Kredit
- Sendefenster: aktuelle Fenstergröße entspricht Zahl unbestätigter Blöcke
- Empfangsfenster: Fenstergröße bestimmt Zahl der Blöcke, die außerhalb der Reihe ankommen
Fehlerbehandlung Sliding-Window:
- verloren oder als fehlerhaft erkannt
- Go-Back-N - einfach, aber schlechter Durchsatz bei hoher Fehlerrate - selective Repeat
Wahl der Fenstergröße:
- bei hoher Bandbreite (großer Entfernung) sollte große Blockgröße gewählt werden - kleine Fenstergröße (7) bei kurzen Entfernungen, moderaten Datenraten ausreichend - Hochgeschwindigkeits-WAN benötigt große Fenstergrößen
3. Data-Link-Ebene (Protokollübersicht):
3.1 Verbindungsvarianten:
3.2 Data-Link für WAN:
3.2.1 BSC (IBM):
Eigenschaften:
- Punkt-zu-Punkt Verbindung (Multipunkt-Konfiguration) – Master-Slave - Polling / Select
- Halb-Duplex-Verbindung (hdx) = Wechselverkehr
- zeichenorientiertes Daten-Protokoll - immer 2 SYN-Zeichen am Anfang
....
Primary Secondary
Tx Rx
Tx und RX-Leitungen übertragen nicht
gleichzeitig
Phasen:
a.) Verbindungsaufbau
BEG BEG SYN SYN $A5 ENQ PAD BEG BEG SYN SYN ACK0 PAD b.) Datenübermittlung (Text-Übertragung)
BEG BEG SYN SYN STX Text ETX BCC PAD BEG BEG SYN SYN DLE1 PAD BEG BEG SYN SYN DLE0 PAD BEG BEG SYN SYN NAK PAD c.) Verbindungsabbau
BEG BEG SYN SYN EOT PAD Meldungsformate:
a.) Non-Transparent Data
Mehr-Block-Übertragung (Blockzwischenprüfung)
b.) Transparent Data
ACK0, ACK1 positive Bestätigung --- NAK negative Bestätigung
STX, ENQ Verzögerung --- DLE, DLE verzögerte Bestätigung EOT End of Transmission --- DLE, RVI Unterbrechung
BEG = Beginn der Übertragung
ENQ = Enquiry (BEG – SYN – SYN – ENQ – PAD) PAD = Trennzeichen oder Ende
STX = Start of Text
ETB = End of Transfer Block BCC = Block Check Character
Positive Bestätigung alternierend ACK0 mit ACK!
Empfang Data
ACK0
S S S E B Y Y T Data T C N N X X C
SYN = Zeichen 16Hex – zwei SYN als Nachsynchronisation
STX = Start of Text (02 Hex) Data = Non Transparent, keine
Kontrollzeichen vorhanden ETX = End of Text (03 Hex)
BCC = wird über alle Zeichen des Datenfelds und STX/ETX errechnet (Algorithmus)
BCCE BCCs
Sender Empfänger BCCE vergleicht BCCS
ACK oder NAK
S S I B S E B O Header T Data 1 T C T Data 2 T C H X B C1 X B C2
D S L T E X
Timeout-Implementierung:
a.) über Timer Interrupt $1C oder $08
b.) über BIOS INT $1A --> gibt 32-Bitzähler zurück c.) über Lesen des BIOS Timers bei Adresse
d.) über Pascal Funktion gettime(hour, min, sec, hsec) Timeout (meist nach 3 Sekunden) ist nötig, damit keine endlosen Wartesituationen entstehen.
Protokollablauf im Falle von Fehlern:
a.) Normalablauf: b1.) Bestätigung fehlerhaft:
Zu a.):
- Empfang ENQ
- Empfang ACK0 Station bereit, Verbindung aufzunehmen (Meldung zu empfangen).
- Empfang DATA-Block (BCCm vgl. BCCs => OK, vorausgesetzt: STX & ETX erkannt!) - Empfang ACK1 positive ACK´s werden alternierend (ACK0/1) gesendet.
- EOT Station wartet erneut auf Verbindungsaufbau
b2.) Datenblock fehlerhaft: c1.) Verzögerung der Bestätigung durch Empfänger:
Wartezeit auf Bestätigung (3 sec.) TK
Time Out Fehler
ACK0 ENQ
DATA Block ACK1 DATA Block
ACK0
ACK0 DATA Block (N)
DATA Block (N+1) ACK1 ENQ
Datenblock (N) wurde bestätigt. Der vorher gesendete Block ist angekommen. Weiter mit Block n+1.
Interpretation:
- ACK1 Block(N) richtig angekommen - Block(N+1) nicht richtig angekommen Ergebnis:
Sende erneut Block(N+1) DATA Block (N+1)
ACK1
ACK1 DATA Block (N)
DATA Block (N+1)
ENQ
TK-Start Warte auf Bestätigung Time Out
Verzögerung (TK < TKmax)
ACK1 DATA Block (N)
ENQ
Verzögerung
TK-Start WZ=1 Warte auf Bestätigung
TK-Start WZ=1
TK-Start WZ=1 Interpretation:
- nach Ablauf eines Timeouts (2 sec) wird Verzögerungsrahmen an Empfänger gesendet
- Antwort durch ENQ
- solange bis positive Bestätigung ENQ
Bestätigung
c2.) Verzögerung der Bestätigung durch Sender:
- Standardisierte Darstellung des Protokoll-Ablaufs gibt es nicht daher große Verwirrung bei der Darstellung der Protokolle.
- Fehler können nicht ausgeschlossen werden - gutes Beispiel für Half Duplex
- festverdrahtete Stationen mit einem Zentralrechner verbinden Wiederholungszähler:
WZ1: negative Rückmeldung (NAK EOT), WZ2: falsche Rückmeldung (ACK0/1 vertauscht), Timeout, WZ3: empfangene Wait zählen
Bei Zählerüberlauf (nach 3. Auftreten) wird die Verbindung mit EOT abgebaut.
3.2.2 MSV1 (Siemens) – Variante von BSC:
Unterschied zu BSC:
Die Initiative zum Senden oder Empfangen ist nur auf der Seite des MASTERS Eigenschaften:
- Master-Slave - zeichenorientiert - STOP & WAIT - Half-Duplex
- Point-to-Point und Mehrpunkt-Verbindungen (MSV2, MSV1 + KMS) - synchrones Gleichlaufverfahren (max. 19,2 kBaud)
Rückfrage, NAK Verzögerung, STX, ENQ
Verzögerung STX, ENQ
ACK1
Rückfrage, NAK
DATA Block (N+1)
Wartezeit (TK < TKmax) DATA Block (N)
ACK0
Wartezeit (TK < TKmax)
Wartezeit
Interpretation:
- Empfänger kann eintreffende Daten nicht sofort verarbeiten Warten
- nach 2 Sek. verlangt Protokoll, dass Empfänger Verzögerung an Sender schickt - dieser sendet Rückfrage
- so oft bis Empfänger wieder bereit
Phasen:
- Verbindungsaufbau - Textübermittlung - Verbindungsabbau Datenübertragung:
- Sendeaufforderung und Empfangsaufforderung (Polling/Select) Protokoll-Ablauf (Darstellungs-Konventionen):
Varianten:
a.) Select:
- Empfangsaufforderung (Initiative immer auf Seiten des Masters) - Phasen: Verbindungsaufbau, Textübermittlung, Verbindungsabbau - WABT = Wait Before Transmit (Verzögerung)
- RVI = Reverse Interrupt (Richtungswechsel) - Fehlervarianten:
b.) Polling:
- Sendeaufforderung - Phasen: wie bei Select
- Fehlervarianten: wie bei Select
....
Master (DVA)
Slave (Terminal)
Slave 2
DVA = Daten Verarbeitungs Anlage
= Zeichen, die vom Terminal empfangen werden
= Zeichen, die vom Terminal nicht empfangen werden
= Zeichen, die von DVA empfangen werden
= Zeichen, die von DVA nicht empfangen werden
S E B T Text T C X X C
- STX kommt nicht an - Text kommt nicht an - ETX kommt nicht an - BCC kommt nicht an
Nachteile von MSV1 und BSC:
a.) Performance-Verschlechterung wegen STOP & WAIT
b.) Fehlende Information bei negativen Bestätigungen (NAK, ENQ) c.) Master-Slave
d.) Halb-Duplex e.) ...
f.) ...
Lösungen:
DDCMP, HDLC
3.2.3 DDCMP (Digital Data Communication Message Protocol):
Eigenschaften: (Vorteile - Nachteile)
- Fehlerbehandlung gemäß „Go Back N“ (Meldungen werden durchnummeriert, Bestätigungen werden durchnummeriert)
- kein Master-Slave ( DEE gleichberechtigt)
- Punkt-zu-Punkt (jede Station als Kontrollstation) und Mehrpunkt (nur 1 Kontrollstation) - höhere Datentransparenz mittels Header-Control (Längere Daten werden übertragen) - Zeichen-orientiert (flexibel, bytezählend – 8 Bit-Bytes werden verwendet)
- bessere Information im Falle von negativer Bestätigung - Full Duplex ( hoher Wirkungsgrad) / half duplex
- Code mit weniger als 8 Bytes werden aufgefüllt mit 0 oder 1
- Status einer Station: Halted (Grundzustand), Starting (Initialisierung), Running (Sender oder Empfänger), Maintenance (Testmodus)
- kein Broadcasting und Multicasting möglich Meldungsformate:
a.) durchnummerierte Meldungen:
8 14 2 8 8 8 16 16 Bit
S
O Count Flag Rcv Trm BCC 1 Data BCC2 H Nr Nr Adr Modulo8
SOH = Start of Header
Count = Anzahl der Bytes innerhalb des Datenfeldes (max. 16383) Flag = Steuerung der Datenübertragungsrichtung
Q=1 (Synchronisieren) --- der Empfangsstation wird gemeldet, dass nach dem Blockende SYN-Zeichen folgen
S=1 (Select), der Partner wird um Antwort aufgefordert
Rcv Nr. = Meldungs-Nr., des zuletzt korrekt angekommenen Blocks --- Receive Trm Nr. = Aktuelle Meldungs-Nr. (fortlaufend) --- Transmit
Adresse = bestimmt den Empfänger (Multipoint), ansonsten Adr. = 1 (Punkt-zu-Punkt) BCC1 = schützt die Übertragung des gesamten Headers (Blocksicherung)
Data = transparent (Vielfaches von 8 Bit modulo 8)
BCC2 = schützt die Übertragung des Datenfeldes (Blocksicherung)
b.) unnummerierte Blöcke:
8 6 2 8 8 8 16 Bit
Status:
- Halted – Grundzustand
- Starting – Initialisierungsphase, während des Verbindungsaufbaus - Running – Sender oder Empfänger von Daten
- Maintenance – Testbetrieb Start-Up-Sequenz:
- beide Stationen im Zustand „Halted“, eine Station initiert Start (STRT) S=1, Timer wird gestartet, Varibalen werden zurückgesetzt ISTRT (initiate start)
- andere Station akzeptiert Start S=1, Timer auch hier gestartet Variablen zurückgesetzt - Station A sendet STACK-Msg. S=1 ASTRT (acknowledge start)
- Station B antwortet mit ACK RSP=0, S=1 RUNNING - Station A geht über in Zustand „Running“
Datentransfer (ohne Fehler):
- Station A beginnt Transfer S=1, RSP=0, NUM=1 (Trm-Nr.) - Station B empfängt Daten und bestätigt S=1, RSP=1
- Station A sendet Pakete S=1, RSP=0, NUM=2 (Trm-Nr.)
- Station B sendet auch Daten (Piggy-Backing) S=1, RSP=2, NUM=1 (Trm-Nr.) - Station A sendet Pakete (Piggy-Backing) S=0, RSP=1, NUM=3 (Trm-Nr.) - Station B sendet nicht, da nicht selektiert
- Station A sendet ohne Bestätigung Pakete (Pipelining) S=1, RSP=1, NUM=4 (Trm-Nr.) - Station B sendet nächstes Paket S=1, RSP=4, NUM=2 (Trm-Nr.)
- Station A ist fertig mit Senden ACK, RSP=2, S=1 Datentransfer (mit CRC-Fehler):
- Station A beginnt Transfer RSP=0, NUM=1 (Trm-Nr.) - Station B empfängt keine Daten CRC-Fehler, RSP=0 - Station A wiederholt RSP=0, NUM=1 (Trm-Nr.)
- Station B sendet auch Daten (Piggy-Backing) RSP=1, NUM=1 (Trm-Nr.) - Station A bestätigt und sendet Paket RSP=1, NUM=2
- Station B sendet NAK RSP=1 (da zuletzt empfangenes Paket=1)
- Station A sendet ACK nochmals RSP=1 Station B empfängt ACK richtig E (D)
N (L) Type Sub Flags Response Nr. BCC2 Q (E) Type Adr
Type = Typ des Steuer- oder Serviceblocks
Subtype = zusätzliche Angaben zu Blocktyp (bspw. negativer Quittungsblock) Flags = gleiche Bedeutung, wie bei Datenblock
Response = Folgestation der Leitstation übermittelt Nummer des zuletzt gültigen Empfangsblocks
Number = Leitstation übermittelt Folgestation Nummer des zuletzt korrekt empfangenen Datenblocks
Adresse = Adreßfeld für Multipoint
Exkurs: Pipelining
- continuous ARQ
- Sender setzt mehrere Blöcke ab, ehe er wegen evetuell ausstehenden ACKs blockiert - ACKs müssen Blöcken eindeutig zuordenbar sein
- Sender muß mehrere Blöcke aufheben um evtl. Block erneut zu senden - Sender hat "Kredit" zum Senden von Blöcken
Aufgaben des „Headers – BCC1 – Data – BCC2“:
- Identifizierung Nachrichtentyp (Datenblock SOH, Steuerblock ENQ, Serviceblock DLE) - Zählung der gesamten Anzahl von Bytes im Datenfeld
- fortlaufende Nummerierung der Datenblöcke (höchstens 255) - Prüfen der richtigen Reihenfolge beim Eintreffen von Datenblöcken - Adressierung von Datenstationen in Multipoint
Unterschied zu BSC: (Übertragung DLE ETX DLE ETX DLE ETX) BSC Transparent: DLE DLE ETX DLE DLE ETX DLE DLE ETX
Als Block: DLE STX DLE DLE ETX DLE DLE ETX DLE DLE ETX DLE ETX sehr umständlich....
3.3. X.25 (Datex-P = Packet Switching Network):
3 Ebenen:
X.25 Ebene 3
X.25 und HDLC sind die DataLink-Schicht
HDLC X.21 ist Schnittstelle für Anschluss Physik. X.21
- Pakete sind volumenabhängig (Abrechnung ist volumenbasiert) - HDLC ist Standard, bit-orientiert
DEE = Data Ende Einrichtung DTE = Data Terminal Equipment DÜE = Data Übertragungs Einrichtung DCE = Data Communication Equipment - X.29, X.28, X.3 Triple X Recommendation
Konventionen:
a.) Funktionen:
- Auf- und Abbau der Verbindung zwischen DEE und X.25-Netzknoten.
- Fehlerkontrolle durch Rahmenprüfung: Fortlaufende Nummerierung der Datenrahmen.
- Fehlerkorrektur von fehlerhaften Meldungen („Go-Back-N“)
- Weitermelden von nicht korregierbaren Fehlern zur nächsthöheren Ebene (Ebene 3) - Übertragung mit voller Daten-Transparenz durch festgelegtes Format (HDLC)
Transmit Control Receive Indication Signal Elem Timing
Byte Timing Gnd
b.) Stationsarten:
Primary:
- übernimmt Kontrolle der Verbindung - PRI-Station sendet „Kommandos“
- SEC-Station sendet „Responses“
Secondary:
- agiert wie ein Slave
- SEC-Station antwortet mit „Responses“ und „PR-COM“
- eine SEC-Station erlaubt zu einem Zeitpunkt nur eine einzige Verbindung Combined:
- sendet und erhält „Kommandos“, als auch „Responses“
- eine CMB-Station unterhält Verbindung nur mit einer anderen CMB-Station und zwar nur eine Session
c.) Operations-Modi:
SNRM (Set Normal Response Mode):
SEC-Station darf nur dann senden, wenn sie die entsprechende Erlaubnis von PRI- Station erhalten hat, d.h. PRI muß SEC pollen.
SARM (Set Asynchronus Response Mode):
SEC-Station darf ohne PRI-Erlaubnis senden, PRI muß nicht SEC pollen Methode sehr effizient
SABM (Set Asynchronus Balanced Mode):
wird für CMB-Station verwendet, die ohne Erlaubnis der Partner CMB-Station senden darf
d.) Konfiguration:
Unbalanced (UN: Unbalanced Normal):
- Punkt-zu-Punkt oder Mehrpunktverbindung - Half-Duplex oder Full-Duplex
- PRI-Station verantwortlich für Festlegung der Operationsmodi Symmetrical (UA: Unbalanced Asynchronous):
- jede Station hat zwei Teile (PRI & SEC) - jedes Teil steht mit dem Partner-Teil in Form von Punkt-zu-Punkt in Verbindung
- die Information wird über einen physik. Kanal gesendet, d.h. multiplexiert Balanced (BA: Balanced Asynchronous):
- Punkt-zu-Punkt-Verbindung zwischen 2 CMB-Stations
- Eine CMB-Station hat den gleichen Status auf dem Verbindungskanal und kann jederzeit Informationstransfer initieren.
- jede Station hat ähnliche Verantwortung für die Überwachung/Steuerung der Verbindung - jedes Teil steht mit Partner-Teil in Form von Punkt-zu-Punkt unbalanced in Verbindung
....
Primary SEC 1
SEC 2
PRI SEC
SEC PRI
COMB COMB
e.) HDLC-Varianten:
1.) LAP – Link Access Protocol:
- unterstützt “Unbalanced” (nicht-symmetrisch) Operations-Modi – Master / Slave
- es ist erforderlich, dass beide Stationen folgende „Kommandos“ vor der Verbindung senden (während Verbindungs-Aufbauphase) – SARM und UA (Unnumbered ACK)
- Festlegen eines PRI und SEC absolut notwendig 2.) LAPB – Link Access Protocol Balanced:
- unterstützt “Balanced” (symmetrisch) Operations-Modi
- erlaubt beiden Stationen die Initiative zu ergreifen, da beide PRI haben HDLC 3.) LLC – Logical Link Control (IEEE 802.3):
- verwendet Asynchronous Balanced Mode
- liefert Schnittstelle zwischen höheren Schichten & LAN-MAC-Unterschicht – LAN&WAN 4.) LAPD – LAPD-Kanal:
- verwendet als Data-Link-Control für ISDN-Netze (D-Kanal) 5.) LAPX - Link Access Protocol eXtended:
- verwendet für Teletext-Standard f.) Meldungsformate – bitorientiert:
1.) I-Frame – Information (für Transport Data)
8 Bit 8 8 16 8
Mittels “Bit-Stuffing”-Methode wird sichergestellt, das Flag-Bitmuster niemals innerhalb des Data-Feldes gesendet wird. Sender überprüft dies.
Control-Feld:
0 = ID für I-Frame 7 6 5 4 3 2 1 0
Window-Größe = 7
Bestätigungs-Sequenz# = Meldungs-Nummer, die zuletzt korrekt erkannt wurde
P/F = Poll, falls von PRI gesetzt ist (Poll=1 – PRI fordert eine Antwort und bleibt stehen) Final, falls von SEC gesetzt ist (Final=1 – SEC antwortet und bleibt stehen)
2.) S-Frame – Supervisory (beinhaltet kein Data-Feld) Control-Feld:
0, 1 = ID für S-Frame 7 6 5 4 3 2 1 0
Bestätigungs P
sequenz-# / TYPE 0 1 F
Data Flag Adr. Control (Bit- CRC Flag 01111110 Strom) 01111110
Bestätigungs P Sende
sequenz-# / sequenz-# 0 F
4 Varianten:
0 0 RR = Receive Ready 0 1 RNR = Receive not Ready
1 0 REJ = Reject 1 1 SREJ = Selective Reject
3.) U-Frame – Unnumbered
1, 1 = ID für U-Frame
7 6 5 4 3 2 1 0 14 Varianten:
0 0 0 x 1 1 SARM = Set Asynchronos Response Mode DM = Disconnect Mode 1 0 0 x 0 0 SNRM = Set Normal Response Mode FRMR = Frame Reject 0 0 1 x 1 1 SABM = Set Asynchronos Balanced Mode RD = Request Disconnect 0 1 0 x 0 0 DISC = Disconnect UI = Unnumbered Inform.
SIM = Set Initialization Mode RIM = Request Init Mode UP = Unnumbered Poll XID = Exchange Identific.
UA = Unnumbered Acknowledge CMDR = Command Reject
Protokollablauf:
Verbindungsaufbau | Datenübermittlung | Verbindungsabbau a.) fehlerfreies Beispiel:
PRIMARY SECONDARY
SNRM, P
(U-Frame, P/F=1) UA, F
(P/F=1) I0, 0 / I1, 0 / I2, 0, P
(I-Frame, Sequenznr., Bestätigungsnr.) I0, 3 / I1, 3 / I2, 3 / I3, 3 / I4, 3, F (P/F=1, warte auf Antwort, SEC (implizite Bestätigung – Warte auf Frame #3)
aufgefordert zur Antwort) I3, 5 / I4, 5 / I5, 5, P
I5, 6 / I6, 6 / I7, 6 / I0, 6, F
I6, 1 / I7, 1 / I0, 1, P
RR, 1, F
(Receive Ready, Warte auf Frame #1) I1, 1 / I2, 1, P
RR, 3, F
DISC, P
UA, F P
TYPE / TYPE 1 1 F
b.) fehlerhaftes Beispiel:
PRIMARY SECONDARY
I3, 5 / I4, 5 / I5, 5, P Frame #4 kommt nicht richtig an I5, 4 / I6, 4 / I7, 4 / I0, 4, F
(d.h. es wird immer noch auf Frame #4 gewartet, Frame #5 bereits verworfen)
(Frame #4 wird erneut gesendet, inkl.
alle folgenden Meldungen)
I4, 0 / I5, 0 / I6, 0, P
3.3.1. X.25 - Ebene 3:
Funktionen:
- Auf- und Abbau von gewählten virtuellen Verbindungen - Bereitstellung von permanenten virtuellen Verbindungen
- Multiplexen der physikalischen Leitung in bis zu 4096 logische Kanäle - Flußkontrolle getrennt für jeden Kanal
- Fortlaufende Nummerierung der Datenpakete zur Sicherstellung der RF beim Empfänger - Möglichkeit zur Unterbrechung des normalen Datenflusses unter Umgehung Flußkontrolle Meldungstypen:
3 Byte mit je 8 Bit
Byte 1: 8-5 sind Kennzeichen für das Grundformat, 4-1 sind logische Kanalgruppennummer Byte 2: logische Kanalnummer
Byte 3: Kennzeichen für den Pakettyp
Kennzeichen für das Grundformat: Nummerierung mod8 0001 oder mod128 0010 Kanalgruppennummer: für betreffenden logischen Kanal (0-15)
Kanalnummer: für betreffenden logischen Kanal (0-255) Kennzeichen für Pakettyp: Verschlüsselung für Pakettypen Frame-Varianten (Verbindungsarten):
- SVC: Switched Virtual Call - PVC: Permanent Virtual Call Konfiguration:
CALL REQUEST INCOMING CALL
5 Gruppen:
1. Call Setup and Clearing – Verbindungsherstellung und Auslösung 0 0 0 1 . . . . - . . . – 0 0 0 0 1 0 1 1
Verbindungsanforderung – Ankommender Anruf (SVC) Verbindung hergestellt – Annahme des Anrufes (SVC)
Fehler: Auslösungsanzeige –Auslösungsanforderung (SVC) Pakettyp: 0 0 0 1 0 0 1 1 DÜE-Auslösungsbestätigung – DEE-Auslösungsbestätigung (SVC)
DEE DÜE DÜE DEE
2. Data & Interrupt – Daten und Unterbrechung Grundformat: Q D 0 1 Q = Unterscheidungsbit
D = Übergabe-Bestätigungsbit DÜE-Daten – DEE-Daten (SVC, PVC)
DÜE-Unterbrechung – DEE-Unterbrechung (SVC, PVC) Pakettyp: 0 0 1 0 0 1 1 1 DÜE-Unterbrechungsbestätigung – DEE-Unterbrechungsbestätigung (SVC, PVC) 3. Flow Control & Reset – Flußregelung und Rücksetzen
DÜE-Empfangsbereit – DEE-Empfangsbereit (SVC, PVC)
DÜE-Nicht-Empfangsbereit – DEE-Nicht-Empfangsbereit (SVC, PVC)
Rücksetzanzeige – Rücksetzanforderung (SVC, PVC) Pakettyp: 0 0 0 1 1 0 1 1 DÜE-Rücksetzbestätigung – DEE-Rücksetzbestätigung (SVC, PVC) 0 0 0 1 1 1 1 1 4. Restart - . . . . 0 0 0 0 – 0 0 0 0 0 0 0 0 – 1 1 1 1 1 0 1 1 – Grund
werden von DÜE oder DEE gesendet
Restart-Anzeige – Restart-Anforderung (SVC, PVC)
DÜE-Restart-Bestätigung – DEE-Restart-Bestätigung (SVC, PVC) 5. Diagnostic
werden nur von DÜE gesendet Diagnose (SVC, PVC)
4. Data Link für LAN:
4.1 Ethernet – CSMA/CD (gemäß DIX, ISO 802.3)
Medium-Zugriffs-Verfahren (MAC: Medium Access Control) Zugriffsregeln:
CS = Carrier Sense
CD = Collision Detection MA = Multiple Access Signale laufen weiter
- zwischen 1 und 3 kann danach keine Kollision entstehen
- aber bei 1 / 2 oder 2 / 3 (nach Kollision folgt Backoff – Backoff-Zeit = Random-Zahl) - ST = Slottime: Upper Bound-Zeit um eine Kollision festzustellen, Upper Bound-Zeit der Übertragung unter die Übertragung keine Kollisionen feststellt.
- UB = Upper Bound-Zeit ist für Länge der Frames maßgebend - Slot-Time legt minimale Länge eines Frames fest
- Beschränkung: max. 60 % der Bandbreite dürfen benutzt werden (max. 2,5 km,Limit 16) - Ablaufszenario (Skript Seite 23)
- nach erlaubter Anzahl der Versuche meldet MAC Fehler an LLC weiter
CS=? CD CD=?
CS=?
1
CD 2 3
Exkurs CSMA/CD:
- falls Collision entdeckt wird, wird der Rest der Übertragung nicht gleich abgebrochen - wird fortgesetzt mit 32 (max. 48) zusätzlichen Bits, die man als "Jam Sequence" bezeichnet
(ab dem Zeitpunkt, wo Collision Detect begann)
- notwendig um allen im Netzwerk beteiligten Stationen mitzuteilen, dass eine Collision aufgetreten ist
- alle an der Collision beteiligten Stationen planen die Sendung ihres Pakets dann zu einem späteren Zeitpunkt
- Ablauf: A beginnt mit der Übertragung eines Frames B beginnt mit der Übertragung eines Frames B erkennt eine Collision A erkennt eine Collision
Fehlertypen:
- CRC-Fehler zwischen 64 und 1518 Bytes mit einer falschen Checksumme
- Collision Fragments kleiner als 64 Bytes, aber kein vielfaches von 8-Bit oder falsche Checksumme
- Jabber größer als 1518 Bytes, aber kein vielfaches von 8-Bit oder falsche Checksumme - Undersized/Short/Runt Frames kleiner als 64 Bytes, aber ansonsten okay
- Oversized/Long Frames größer als 1518 Bytes, aber ansonsten okay Signale:
- Elektronische Signale: Manchester Code (ein Übergangssignal / Bit) - Digitale Signale
1 1 1 1 Low/High: 1
0 0 0 0 High/Low: 0 Meldungsformate:
nicht standardisiertes Format: (DIX, Ethernet II) – IEEE 802.3
Prä- 9,6
ambel µsec
Byte 8 6 6 2 46-1500 4 Intergap
- wenn mit Länge, dann wird SFD (Start Frame Delimiter) hinter Präambel (1 Byte) und FCS (Frame Check Sequence) am Ende benötigt
Präambel = 64-Bit, Bit-Synchronisierend, 1 – 0 alternierend DA = Destination MAC-Adress
SA = Source MAC-Adress (innerhalb der Karte eingestellt, d.h. Adresse ist HW- Adresse zwecks MAC-Adressierung, Ethernet-Adressen weltweit eindeutig, 6 Stellen – 3 Firmenspezifisch, 3 Kartenspezifisch
TYPE > 1500 Meldungstyp a, Length bei standardisierten Format, neueren Karten (<=1500 Meldungstyp b) – Protokoll-ID, über MAC weiter (1 Stufe höher als Ethernet IP, 0800H)
Interframe Gap = Pause nach Senden zwischen 2 Frames, benötigt, damit andere Stationen feststellen können ob Netz frei.
DA SA TYPE Data CRC
Adress-Varianten:
- Direct Address (xxx.yyy – Firma, Karte) Bsp.: 02 60 8C 3D E0 5E
- Multicast-Adressen (03 00 00 00 00 01) Adressierung von Gruppen von Stationen - Broadcast-Adressen (FF FF FF FF FF FF)
Szenario:
Falls Length vorhanden, dann die ersten 8 Bytes innerhalb des Datenfeldes gemäß LLC- Regel interpretieren
LLC-Header:
1 1 1 3 2 Byte DSAP = Destination Service Access Point
SSAP = Source Service Access Point Varianten:
- 10 Base 5 – Thick ETH (10 Mbit/sek, Basis-Band–max. Länge eines Segments * 100 Meter) - 10 Base 2 – Thin ETH
- 10 Base T – Twisted Pair ETH - 10 Broad 36
4.2 Fast Ethernet:
- Format identisch Ethernet - CSMA/CD identisch Ethernet
- Eigenschaften ähnlich Ethernet, d.h. um 10faches korrigiert
- Architektur der physikalischen Ebene geändert (zusätzliche Sublayers: PCS, PMA, PMD, Auto Negotiation mittels FLP-Protokoll – gemeinsame Übertragungstechnik „aushandeln“)
Exkurs: Auto Negotiation
- 10 Base T, 100 Base Tx, 100 Base T4
- Parameter-Austausch zwischen zwei Netz-Komponenten
- FLP Bestimmung der Link-Kommunikations-Parameter (vorwärts/rückwärts-kompatibel) - gemeinsame Übertragungstechnologie aushandeln (kleinster gemeinsamer Nenner)
- funktioniert nur bei Switches, nicht bei Repeatern
Length
2 kann interpretieren, ob Type oder Length
Type oder Länge
Type
1 3 2
DSAP SSAP Control Protokol Type Data
ID-Version
DATA
Ablauf:
1.) Übertragung LCW - ACK=O
2.) Erhalten LCW 3mal - ACK ignoriert - Übertragung LCW - ACK=1 3.) Erhalten LCW 3mal - ACK=1
4.) Übertragung LCW - ACK=1 - 6 bis 8mal
5.) Stoppe Übertragung der LCWs - Konfiguration mit höchstmöglicher Performance Eigenschaft Ethernet (802.3) Fast Ethernet (802.3)
Baudrate 10Mbps 100Mbps
Interframe Gap 9,6 µs 0,96 µs
Bit Time 100 µs 10 µs
Slottime 512 bits 512 bits
TransmitAttempt 16 16
Backoff-Limit 10 10
Jam Size 32 bits 32 bits
Max/Min-Frame 1518/64 bytes 1518/64 bytes
Adress Size 48 bits 48 bits
Kosten gering Doppelt
MAC CSMA/CD CSMA/CD
Topologie Bus/Stern Stern
Kabel Koax, UTP, LWL UTP, STP, LWL
TP-Kabel KAT 3,4,5 KAT 3,4,5
Max. TP-Länge 100 Meter 100 Meter
Verkabelungsszenario:
Server Farms Backbone-Switch Abtlg-Switch Shared Network
Slot Ports
- FDE = Full Duplex Ethernet (keine Kollisionen)
- Ethernet-Statistiken (Sniffer): Broadcast, Multicast, Kollisionen (wenn zwei Clients gleichzeitig Daten senden), CRC-Fehler (zuviele Bytes wurden gesendet „Bad Checksum“), Undersized Error (kleiner als 64 Byte), USAGE (Netzwerk – innerhalb eines Backbone Switch muß ein „Agent“ eingesetzt werden, der die Ports überwacht – MIB = Management Information Base)
WWW FTP MAIL
Client 1
Client 2
Client 3
4.3 Token Passing (gemäß ISO 802.5):
4.3.1 Token Ring:
- Token kreist im Ring, sobald wieder bei Sender angekommen, wird Token rausgenommen Konfiguration:
Verwendbare Konfiguration:
- Twisted Pair – 2 Paare (Sicherheit, Erdung) - Alle Anschlüsse sind aktiv
- Lobe Wires (STP oder UTP) vorm PC – Receive und Transmit Pair
Varianten:
- 4 Mbit/sek – Single Token
- 16 Mbit/sek – Early Token Release (ETR) – frühe Freigabe des Token, bereits vor Meldung – Empfänger kopiert die Meldung, Sender löscht dann die Meldung Meldungsformate:
LLC MAC (802.5)
Mgmt.
Physikalisch Modul Frame-Formate:
a.) Single-Ring
b.) Multiple-Ring – Source Routing (Bridges verbinden die einzelnen Ringe)
- Discovery Frames – Agenten (Broadcast) von A gesendet Empfänger (Server) analysiert Discovery Frames und sendet Frame mit optimaler Wegbeschreibung zurück Discovery Frames + Weg-Beschreibung = Source Routing
- Sender baut Weginformationen (Bridge-Nr., Ring-Nr.) innerhalb der Meldung ein P --- P --- P --- T --- M --- R --- R --- R
M = Monitor Meldungen laufen im Token Ring durch, wenn kein Empfänger weiterlaufen M = 1
SD --- AC --- FC --- DA --- SA --- INFO --- FCS --- ED --- FS
A
C B
Ringleitungsverteiler
Mgmt-Modul für Fehlerüberwachung und Ablaufsteuerung, da sehr viele Fehler auftreten können – beinhaltet folgende SW-Komponenten:
- Ring-Error Monitor - Network Manager - Ring Parameter Server
Alle sind mit Sonder-MAC-Adressen ausgestattet RI Relais …. RO
PC PC
SD + AC = SFS --- FC bis FCS = FCS-Umfang ---ED + FS = EFS SFS = Start-of-Frame Sequence
SD = Starting Delimiter (1 Byte) AC = Access Control (1 Byte)
FC = Frame Control – MAC-Frames (Control), LLC-Frames (Data) (1 Byte) FCS = Frame Check Sequence --- EFS = End-of-Frame Sequence
ED = Ending Delimiter Error Bit Empfänger einer Nachricht setzt folgende Bits als
DÜ erfolgreich mittels Bestätigung keine Fehlerkontrolle auf MAC- Ebene werden die fehlerhaften Meldungen nicht wiederholt.
Bei CSMA/CD keine Fehlerkontrolle (nur Medium wird überwacht)
MAC-Protokoll-Algorithmus:
a.) Vorbeikommende Frames prüfen, ob:
- Frame-DA = Stationsadresse (kopiere Frame und quittiere mit E-Bit im ED-Feld C=1, A=1) - Frame-SA = Stationsadresse (Frame entfernen, sonst weiterleiten)
b.) eigene Station hat zu senden:
- warte auf freies Tokenbit-Muster (SD, AC, ED) - wandle freies Token in Busy-Token um (Setzen T-Bit) - ED-Feld vom Ring entfernen
- Nachricht anhängen (Header -- (SD, AC) -- FC -- DA -- SA -- Daten -- FCS -- ED -- FS), falls mehrere Frames, dann I-Bit setzen
- neues freies Token erzeugen, wenn eigene Busy-Token zurückgekommen sind (Single Token-Ring)
c.) durch E-, A-, I-Bits Schlußfolgern:
- adressierte Station gibt es nicht
- adressierte Station existiert, aber Frame nicht kopiert - adressierte Station hat Frame kopiert
- Übertragung mit Fehler
- niedrige Last: schlechte Effizienz, da auf Token gewartet werden muß - hohe Last: Effizient und fair
- um Token nicht zu verlieren muß Ring gewisse physikalische Länge haben (Bitlänge), beim Ausschalten wird Länge künstlich erweitert
- Sender generiert neues Token, wenn Sender die Sendung beendet hat und der Anfangsteil des gesendeten Frames wieder zurückgekommen ist
Fehlerüberwachung:
- Monitor muß immer vorhanden sein (eine Station hat sich durchgesetzt)
- aktiver Monitor sendet zu verschiedenen Zeitintervallen (7 sek.-Takt) Controlframes – Active Monitor Present
Fehlervarianten:
- verlorenes Token: Falls Zeitdauer der Übertragung im Worst-Case dann Monitor generiert neues Token, sonst Timer zurücksetzen
- ständig vorbeilaufendes Token: Frame stempeln (Setzen des M-Bit), falls Frame mit M=1 dann Monitor nimmt Frame weg und generiert neues Token
- ständig vorbeilaufendes Token mit konstanter Priorität != 0: Frame stempeln (M-Bit), falls Frame mit M=1 dann Monitor nimmt Frame weg und generiert neues Token - Existenz eines anderen aktiven Monitor: falls AMP anderer Station vorbeikommt dann Monitor in Standby-Zustand
Kontrollframes:
- Claim-Token-Frame: von Station, die Verlust des Monitors festgestellt hat
(SA=Stationsadr. Station wird zum Monitor, SA<Stationsadr. Station sendet weitere CT-Frames und ignoriert ankommende Frames, SA>Stationsadr. Station geht über in Repeater-Mode (Station mit höchster Adresse wird zum Monitor)
- Duplicate-Adress-Test-Frame: falls identische Adressen existieren - Beacon-Frame: Feststellen ob physikalische Ringunterbrechung - Purge-Frame: benutzt vom Monitor, um Ring zu säubern - Standby Monitor Present Frame
- Active Monitor Present Soft Errors:
- Line Errors – von Station erkannt bei Verbindung zum „upstream neighbor“
- Internal Errors – von Karten-Firmware erkannt bei HW-Fehler - Burst Errors – Karte entdeckt verlorenes Signal
- AC Errors – Bits konnten nicht gesetzt werden - Transmission aborts Errors – HW/Firmware-Error
- Lost Frames – Frame verloren, bevor er komplett übertragen werden konnte - Congestion Errors – Empfänger hat keinen Buffer um den Frame zu kopieren - Frame copied Errors – doppelte Adressen
- Frequency Errors – Frequenz-Problem - Token Errors – siehe oben
Schlußfolgerung:
- DÜ erfolgreich mittels Bestätigung (Data-Überwachung) keine Fehlerkontrolle - auf MAC-Ebene werden die fehlerhaften Meldungen nicht wiederholt
- bei CSMA/CD keine Fehlerkontrolle (nur Medium wird überwacht)
5. LLC – Logical Link Control:
- Unabhängigkeit zwischen höheren Protokollen und MAC-Ebene
- verhindert, dass eine Station am Netz andere mit Daten überlastet (Flow Control) Positionierung:
- entspricht Protokol-Suiten z.B. TCP/IP, IPX...
- LLC-Schnittstellen nach oben
- überhalb der MAC-Ebene, SAP´s gehören zu LLC Operations-Modi:
Jede Schicht muß einzeln betrachtet werden!!!
- LLC-Typ 1 (Datagramm – ungesicherte Datenübertragung): verbindungsloses Protokoll ohne Bestätigung keine Nummerierung
- LLC-Typ 2: verbindungsorientiert mit Bestätigung Nummerierung mit Flußkontrolle, mehrere Stationen an einem einzigen SAP (multiplexieren)
- LLC-Typ 3: verbindungslos mit Bestätigung Flußkontrolle
Meldungs-Aufbau:
innerhalb des Protokollstacks TCP/IP
DSAP --- SSAP --- Control --- Info
DSAP: I/G D D D D D D D – I/G=0 Individual DSAP, I/G=1 Group DSAP SSAP: C/R S S S S S S S – C/R=0 Command, C/R=1 Response
I-Frame: 16 Bit: 0 – N(S) – P/F – N(R)
S-Frame: 16 Bit: 1 – 0 – S – S – 0 – 0 – 0 – 0 – P/F – N(R) U-Frame: 8 Bit: 1 – 1 – M – M – P/F – M – M – M N(S) = Transmitter Send Sequence Number
N(R) = Transmitter Receive Sequence Number S = Supervisory Function Bit
M = Modifier Function Bit
5.1. Data-Link-Protokolle:
- SDLC: Synchronous Data Link Control - HDLC: High-Level Data Link Control
- LAPB: Link Access Protocol Balanced (X.25)
- Frame Relay: Untermenge von HDLC für High-Speed
- Point-to-Point: Kapselung verschiedener Upper-Layers-Protokolle (auch über ISDN)
5.2. Data-Link-Layer-Frame Formate:
LCP: Link Control Protocol Code --- Identifier --- Length --- Data - Verbindungsaufbau/abbau
- Konfigurieren einer Verbindung mittels Verhandlung
- Verhandlung wegen Feststellung eines Network-Layer-Protokolls - ähnlich 802.2 LLC für LAN
PPP: Point-to-Point Protocol
Flag --- Address --- Control --- Protocol --- LCP --- FCS --- Flag - Protocol-Feld wegen „Kapselungsfähigkeit“
- Adress-Feld = 111111 überflüssig HDLC (Cisco):
Flag --- Address --- Control --- Proprietary --- Data --- FCS --- Flag SDLC und LAPB (HDLC):
Flag --- Address --- Control --- Protocol --- LCP --- FCS --- Flag
6. Netzwerk- und Transportschichten:
6.1. Netzwerkschichten:
- Path-Determination – Feststellung des optimalen Weges durch Netzwerk zwischen Sender und Empfänger
- Methode: Verwendung von Adressen (Netzwerk-Adresse, Knoten(Port)-Adresse) - TCP/IP (4 Schichten – 1,2,3 sind für Transport DÜ-Protokoll, 4 ist für
die Anwendung) – Netzwerk-Adresse: 10, Host-Adresse: 8.1.45, Maske: 255.0.0.0 Schicht 1: physikalisch, Schicht 2: Internet-Layer (IP), Schicht 3: Host-to-Host (TCP), Schicht 4: Applikation
- IPX: Netzwerk-Adresse: 1aceb0c, Host-Adresse: 0000.0c00.7e32
- Maske: spezifiziert welcher Adress-Teil Netzwerk und Host ist wichtig für Router - RFC826 = Service-Spezifikation, aber kein Standard (also nicht IEEE, ISO, ITU) Adressierungs-Mechanismus:
a.) innerhalb Subnetz:
Client A IPAdresse
IPClientA MACAdresse (durch Broadcast an Client B per IP) b.) außerhalb Subnetz:
Client A IPAdresse_Client B
Feststellung, ob innerhalb oder außerhalb Subnetz befindlich eigene IP mit Subnet- Maske vergleichen.
IPClient B + Subnetz-Maske Ergebnis außerhalb Meldung wird an Router weitergegeben notfalls über andere Router an Empfänger weiterleiten
IPRouter(Default) MACRouter Frameformat (32-Bits):
Version IHL TOS Total Length
Frame ID (= Frame-Nr.) Flags Flag-Offset
TTL Protocol-ID CRCHeader
Source IPAdresse
Destination IPAdresse
Options Padding DATA
Flags/Flag-Offset = notwendig für die Zerstückelung (Fragmentierung)-Funktion Protokoll-ID = höhere Protokoll-ID (z.B. TCP=6, UD=17)
DNS-Protokoll ARP-Protokoll
ARP-Protokoll
Fragmentierung:
- ARP muß nicht immer gemacht werden, nur Zwischenspeichern der Sequenzen (MAC- Adresse steht in Tabelle, damit muß es nicht ständig ausgeführt werden)
- in der Schichtenebene von unten nach oben: Ebene 1: physikalisch, Ebene 2: IP mit
Schnittstelle nach unten RARP und ARP, nach oben ICMP, Ebene 3: Transport, Ebene 4:
Application
6.2. Adressierung des Internet-Protocols (IP):
-
jede Station IP-Adresse, Subnetzmaske, Default Gateway (Gateway = Router), Name - Adressierung der Stationen innerhalb eines globalen Netzwerks via Namen bekannt ist Name des Empfängers, unbekannt ist IP-Adresse- Lösung: IP-Adresse wird erfahren von sogenannten DNS-Server mittels DNS-Protokoll - DNS-Server beinhaltet Tabellen mit Zuordnung IP-Adresse Name und Informationen - Aufgaben der Netzwerk-Ebene sind Adressierung, Übertragung von Meldungen und via verschiedenen Netzbereich zwischen Sender und Empfänger innerhalb eines globalen Netzes
- Datagramm-Typ verbindungslos, keine Bestätigung Adress-Bereiche:
Class A: „unbeliebt/umständlich“
Bit 1: 0, Bit 2-8: Netz-ID, Bit 9-32: Host-ID 10.0.0.32 große Netzwerke
1.xxx.xxx.xxx bis 127.xxx.xxx.xxx Class B: „ausverkauft“
Bit 1: 1, Bit 2: 0, Bit 3-16: Netz-ID, Bit 17-32: Host-ID 129.13.200.57 kleinere Netzwerke (Hochschulen – viele Fachbereiche mit mittelgroßen Netzen) 128.0.xxx.xxx bis 191.255.xxx.xxx
Class C: „unbeliebt“
Bit 1: 1, Bit 2: 1, Bit 3: 0, Bit 4-24: Netz-ID, Bit 25-32: Host-ID 192.112.36.4 große Zahl kleiner Netzwerke
192.0.0.xxx bis 223.255.255.xxx
Class D: Multicast 224.0.0.0 bis 239.255.255.255 d.h. die ersten 4 Bits sind 1110
Video-Konferenzen
Adresse besteht aus: Netz-ID + Host-ID zusätzlich: Subnetz-ID Netz-ID + Subnetz-ID + Host-ID
- - -
.
- - -.
- - - = 32 Bit Firma, Uni – Abtlg. – HostAnzahl der Bits in den Bereichen nicht immer identisch.
Subneting:
- Aufbau von Subnet-Masks - realisiert mittels Subnetzmaske - 3.Ebene ist über Router verbunden
- Errechnung über die Host-ID Subnet-Mask wird über die IP-Adresse gelegt
- eine 1 in der Subnet-Mask bedeutet das das entsprechende Bit in der IP-Adresse Teil der Netz-ID ist
- eine 0 in der Subnet-Mask bedeutet das entsprechende Bit ist Teil der Host-ID
- 3 Bits der Host-ID sind für die Subnet-ID 6 Subnet-IDs sind möglich: 001, 010, 011, 100, 101, 110
Bsp.:
Subnet-Maske: 255.255.255.240 240 = 1111 0000 IP-AdresseSender X . X . X . 1 1 = 0000 0001
1111 0000 und 0000 0001 = 0000 0000
IP-AdresseEmpfänger: X . X . X .16 16 = 0001 0000 1111 0000 und 0001 0000 = 0001 0000
Unterschied, d.h. IP-Empfänger außerhalb
6.2.1 DNS (= Domain Name Service):
- Nutzung: falls IP unbekannt, aber Name bekannt DNS wird über Protokoll angesprochen - Aufbau: Root at | de uni-karlsruhe | uni-hamburg rz | ask askhp | askdonald - Ablauf: Host-Anfrage an DNS-Server über Router Weitergabe der Anfrage an anderen DNS Antwort zurück über Router an fragenden DNS-Server Rückgabe an Client - Prinzip: Namen-Struktur Auflösung Name/Empfänger DNS IP-
Adresse/Empfänger
Vorgehensweise bei der Namensauflösung:
a.) Suche in der lokalen Hosts-Datei b.) Anfrage an NIS (NFS)
c.) Anfrage an den DNS-Server DNS-Server (Bsp. FH-Regensburg):
- Primary-Server: hält Original-DNS-Datenbankdatei nimmt Anfragen entgegen, sendet Antworten
- Secondary-Server: hält DB-Kopie des Primary (Aktualisierungen) Hermes = DNS- Server an der FH
Adressierung E-Mails:
- zur korrekten Adressierung muß ein MX-Eintrag im DNS existieren (rz IN MX 10 rfhs4004) - somit werden Mails, die an einen Rechner gerichtet sind an eine andere Maschine „geroutet“
- falls mehrere Einträge Auslieferung an Rechner mit niedrigster Priorität falls nicht erreichbar eine Stufe höher in der Hierarchie
- Voraussetzung ist, das der MX-Eintrag auf Host zeigt, der A-Eintrag in einem DNS hat
6.2.2 ARP (Adress Resolution Pool):
IP-Adresse/Empfänger ARP MAC-Adresse/Empfänger ARP-Meldungsformat
6.2.3 ICMP:
- wird benutzt um Pings abzusetzen
- Rückmeldungen bspw. Time Exceeded, Destination Unreachable, Echo, Echo Reply...
6.2.4 Broadcast-Adressen:
- werden innerhalb des Internets unterstützt
- lokale Broadcast-Adresse 255.255.255.255 werden von Routern nicht weitergeleitet - Directed Broadcast enthalten eine 1 innerhalb des Host-Feldes, z.B.: 191.108.3.255
6.3. Transport-Ebene:
Port-Varianten:
6.3.1 wichtige Portnummern:
TCP-Ebene: SMTP (#25), FTP (#21), Telnet (#23), http (#80) UDP-Ebene: SNMP (#61), SunRPC (#111)
6.3.2 TCP = gesichertes Transportprotokoll
TCP-Header (32 Bits):
Source Port Destination Port
Sequence Number (Meldungen durchnummerieren) Acknowledgment Number (Bestätigung) Data Offset | RSR | URG | ACK | PSH | RST
|SYN | FIN
Window (Flußkontrolle)
Checksum Urgent Pointer
Options Padding DATA
- Source Port (16 bits): Identifiziert Prozeß/Dienst im Host des Senders - Destination Port (16): Identifiziert Prozeß/Dienst im Host des Empfängers - Sequence Number (32): Position der Daten beim Senden
- Acknowledgement Number (32): Identifiziert „höchstes“ Byte die Quelle erreicht hat - URG = Urgent (1): für die übergeordnete Schicht
- RST = Reset (1): macht einen Reset der Verbindung - SYN = Synchronize (1): Synchronisiert Sequenznummern - FIN = Finish (1): keine Daten werden mehr transferiert - Window (16): Anzahl der Oktets, die der Sender akzeptiert
- Verbindungsaufbau = 3-Way-Handshake
Meldung #921 Rechner A (SYN=921, ACK=?) sendet an Rechner B (SYN=302 = seine Meldungs-#, ACK=?) bei Rechner B SYN=302, ACK=922 (SYN+1) das wird zurückgesendet an Rechner A bei Rechner A SYN=922 ACK=302 der sendet an B Rechner B erhält SYN=922, ACK=303
SYN + ACK
- Verbindungsabbau Rechner A sendet SEQ=290, ACK=501, Data=Logout Rechner B sendet SEQ=501, ACK=296, Data=Logout
Rechner A sendet SEQ=296, ACK=507 Rechner B sendet SEQ=296, ACK=507 FIN Rechner A sendet SEQ=297, ACK=507 FIN Rechner B sendet SEQ=508, ACK=297 FIN + ACK
- Segmentierung der zu übertragenden Daten Übertragung mit Bestätigung - End-to-End Transport-Dienst
- Übertragung mittels „Data-Integrity“ Flußkontrolle Windowing - Übertragung mit Fehlerkontrolle
- Multiplizierung Daten verschiedener Anwendungen verwenden einen einzigen „Datenstrom“
6.3.3 UDP = User Datagramm Protokoll – ungesichertes Transportprotokoll
- kein Verbindungsauf- u. abbau - keine Flußkontrolle
- Fehlerkontrolle reduziert sich auf CRC-Überprüfung - keine End-zu-End-Kontrolle
- keine Zeitüberwachung - Hohe Geschwindigkeit
- keine reihenfolgerichtige Übertragung - Multiplexen
- "dummes, aber schnelles und effzientes TCP"
- UDP geeignet bei LAN (sichere Verbindungen), Multimediadateien, Statusabfragen, Netzmanagement (DNS)
6.3.4 SLIP = Serial Line Internet Protocol
- serielle Punkt-zu-Punkt Verbindung die unter TCP/IP läuft - nicht Internet-standard
- IP-Datagramme
- unterstützt nicht Adressierung, Pakettyp-Identifikation, Fehlerkontrolle, Datenkompression - einfach zu implementieren und läuft auf verschiedenen Plattformen
6.3.5 PPP = Point-to-Point Protocol
- asynchron oder synchron seriell läuft unter IP - bitorientiert
- Übertragung ähnlich zu HDLC
- unterstützt Adressierung, Pakettyp-Identifikation, Fehlerkontrolle, Datenkompression - schließt alle möglichen Transport-Protokolle ein (TCP/IP, XNS, IPX...)
- wird oft anstatt des SLIPs benutzt, weil universell anwendbar
6.4 IP Congestion:
- Traffic Congestion wenn Multi- oder Broadcast, Überlastung von Verbindungen mit kleiner Bandbreite, falsche Konfiguration, starker Netzverkehr
- Lösungsmöglichkeiten durch Filtern, Verringern des Traffic, Prioritäten - Implementierung mittels Access-List
6.5 Routing-Mechanismus:
- Weiterleitung eines Pakets Feststellung des Weges basierend auf Netzwerk-Adressen - Auswahl eines Interface (Port) zur Weiterleitung (Paket-Switching)
- Routed Protocol = ausreichend Daten innerhalb Header um Daten zwischen Stationen transportieren zu können (IP / IPX)
- Routing Protokolle = nur zwischen den Routern wegen Austausch von Kontroll- Informationen (Routing-Tabellen) – RIP, IGRP, OSPF
- Static Route = manuell vom Administrator eingegeben nicht an andere Router, benutzt wenn nicht zu viele Gateways im NW, von Hosts benutzt
- Dynamic Route = dynamische Aktualisierung tauschen Informationen untereinander aus um Routing-Tabellen zu aktualisieren (müssen Routing-Tabelle administrieren und
regelmäßig Infos mit anderen Routern austauschen über Routing-Protokolle), benutzt wenn viele Gateways, v.a. wenn über mehrere Gateways das gleiche Ziel erreicht werden kann, von Gateways benutzt
- Default-Route = falls kein Eintrag für besonderes Netzwerk vorhanden ist
- Routing-Algorithmus = optimaler Weg zwischen zwei Endstationen (Leistungskapazität, Verzögerung, Sicherheit, Hops, Belastung ...)
- Distance-Vektor-Konzept = Nachbar-Router tauschen Routing-Tabellen aus jeder Router addiert entsprechende DV-# (# der Hops) und überträgt Tabelle zum unmittelbar nächsten Nachbarn Nachteil: Router erhält keine Kenntnisse über das ganze Netzwerk Problem 1: falls nach Topologie-Veränderung konsistente „Convergence“ erreicht wird, entstehen Loops (Pakete zirkulieren unendlich zwischen den Routern)
Problem 2: Router, die an Loop beteiligt sind informieren sich gegenseitig Hop-Zähler wird erhöht
Lösungen: Maximale Distance Vector Metric, Split Horizon, Route Poisoning, Hold down Timers
- Link-State-Konzept = Router informieren sich gegenseitig mittels LS-Pakete jeder Router berechnet topologische DB des globalen Netzwerkes mittels Short-Path- Algorithmus wird Erreichbarkeit und optimaler Weg berechnet SPF-Baum mit sich selbst als Root-Element Nachteile: CPU-Power, mehr Speicher, Überflutung, unsynchronisierte Updates, auf globales Netzwerk nicht übertragbar
Lösung: Reduzierung der Anzahl der Updates, Updates nur für „Multicast-Group“ und Einführung von TimeStamp für Sequenznummern
- Bessere Methode: nicht definierbar abhängig von Netzwerktyp und Management