Sicherungsschicht
aus www.iwiki.de, der freien Wissensdatenbank
Die Sicherungsschicht ist die zweite Schicht des OSI Architekturmodells und die unterste in der eine Steuerung der DatenĂŒbertragung erfolgen kann. Da an die Sicherungsschicht nur noch einzelne Bits von höheren Schichten ĂŒbergeben werden können, ist eine Hauptaufgabe die Umsetzung zwischen der zeichenweisen und der bitweisen Informationsdarstellung. In der BitĂŒbertragungsschicht ist die Sicherung lediglich auf die Erkennbarkeit der Bits ausgerichtet. Daher mĂŒssen in der Sicherungsschicht Sicherungsverfahren zur Erkennbarkeit der Informationen eingebaut sein.
Sie zÀhlt zu den netzwerkorientierten Schichten.
Inhaltsverzeichnis |
Position im OSI Modell
| Schichtnummer | Schichtname |
| 7 | Anwendungsschicht (application layer) |
| 6 | Datendarstellungsschicht (presentation layer) |
| 5 | Kommunikationssteuerungsschicht (session layer) |
| 4 | Transportschicht (transport layer) |
| 3 | Netzwerkschicht (network layer) |
| 2 | Sicherungsschicht (link layer) |
| 1 | BitĂŒbertragungsschicht (physical layer) |
Funktionen und Dienste der Sicherungsschicht
| 1. | Verbindungsbehandlung | ||
| * Verbindungsauf- und -abbau | F | D | |
| * Addressierung | F | D | |
| * Quality of Service (QoS) | F | D | |
| * Verbindungsaufspaltung | F | ||
| 2. | DatenĂŒbertragung | ||
| * Anbieten von SDUÂŽs | D | ||
| * Zuordnung von (2)-SDU zu (2)-PDU | F | ||
| 3. | Ăbertragungssicherheit | ||
| * Fehlererkennung | F | ||
| * Fehlerbehandlung | F | ||
| * Fehleranzeige | D | ||
| 4. | Ăbertragungssteuerung | ||
| * Sequenzbildung und -kontrolle | F | D | |
| * Flusskontrolle | F | D | |
| 5. | Sonstige Funktionen | ||
| * Management | F |
Fehlererkennung
1. ITU-T-Alphabet Nr. 3
Beim ITU-T-Alphabet Nr. 3 wird jedes Zeichen in eine 7Bit-Folge umgewandelt die jeweils aus drei â1â-Bits und vier â0â-Bits besteht. Besteht ein Zeichen aus einer anderen Bit-Kombination so erkennt die Empfangsinstanz einen Ăbertragungsfehler. VerfĂ€lschungen von mehreren Bits können nicht erkannt werden, wenn daraus wieder drei â1â-Bits und vier â0â-Bits entstehen. VerfĂ€lschungsbehandlung ist grundsĂ€tzlich nicht möglich. Dabei wird das Fernschreibealphabet verwendet, welches 32 Zeichen besitzt. Diese könnten eigentlich in fĂŒnf Bits dargestellt werden. Das heisst es mĂŒssen 40% mehr Bits ĂŒbertragen werden.
ParitÀtsergÀnzung
Bei der ParitĂ€tsergĂ€nzung wird an jedes Zeichen ein Bit angehĂ€ngt. Die Anzahl der â1â-Bits wird gezĂ€hlt. Das angehĂ€ngte Bit kann auf â0â oder auf â1â gesetzt werden. Ist die Anzahl aller â1â-Bits in der erweiterten Bitfolge nun gerade, so so spricht man von gerader ParitĂ€tsergĂ€nzung. Ist sie ungerade, so spricht man von ungerader ParitĂ€tsergĂ€nzung. Dieses Verfahren wird meist bei asynchronen Ăbertragungen verwendet. Damit kann man ungeradzahlige Bitfehler erkennen( jedoch nicht korrigieren).
Zyklische Codes
Bei der sogenannten zyklischen RedundanzprĂŒfung(Cyclic Redundancy Check, CRC) werden Codewörter aus k Datenbits und r Kontrollbits erstellt. Die Kontrollbits werden dabei mit Hilfe eines Erzeugerpolynoms aus den Datenbits berechnet. Diese n Bits(k+r Bits) bilden zusammen das Codewort c, welches als CRC Wert bezeichnet wird. Vor Beginn der Ăbertragung bzw. Kopie eines Blocks der Daten wird dieser CRC-Wert berechnet. Nach Abschluss der Transaktion wird der CRC-Wert erneut berechnet. AnschlieĂend werden diese beiden PrĂŒfwerte verglichen. CRC ist so ausgelegt, dass Fehler bei der Ăbertragung der Daten, wie sie beispielsweise durch Rauschen auf der Leitung verursacht werden könnten, fast immer entdeckt werden.
Fehlerbehandlung
Generell kann man die Fehlerbehandlung in Fehlerbehandlung beim EmpfÀnger und Absprache zwischen Sender und EmpfÀnger unterteilen.
1. Fehlerbehandlung beim EmpfÀnger
1.1 Selbstkorrigierende Codes
Jedem Wert zwischen 0 und 15 wird ein Codewort zugewiesen (d.h. 75% mehr ĂŒbertragene Bits). Der EmpfĂ€nger fĂŒhrt drei ParitĂ€tstests von jeweils vier bestimmten Bits (6,4,2,0/5,4,1,0/3,2,1,0) des Codeworts durch. Aus diesen errechneten ParitĂ€tsbits lĂ€sst sich ablesen, ob, und wenn ja wo ein Fehler im Codewort aufgetreten ist. Dies nennt sich VorwĂ€rtsfehlerkorrektur.
1.2 Kombination von LÀngs- und QuerparitÀt
An jedes Datenwort wird ein ParitĂ€tsbit angehĂ€ngt(LĂ€ngsparitĂ€t). Nach acht ĂŒbertragenen Datenworten wird ein ParitĂ€tsprĂŒfwort ĂŒbertragen(QuerparitĂ€t). LĂ€ngs- und QuerparitĂ€ten ergĂ€nzen den 'Datenblock' auf gerade oder ungerade ParitĂ€t. Dadurch entsteht ein Alphabet der Hamming-Distanz d=4. Durch dieses Verfahren ist die automatische Korrektur eines â1â-Bit Fehlers möglich. Der Schnittpunkt der nicht korrekten LĂ€ngs- und QuerparitĂ€ten zeigt das genaue Fehlerbit an. Der Mehraufwand betrĂ€gt 26,5%(82 statt 64 Bit)
| Pq | Pq | Pq | ||||||||||||||||||||||||||||||
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | ||||||
| 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | ||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | <- | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | <- | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | <- | |||
| 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | ||||||
| 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | ||||||
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | <- | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | <- | ||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | ||||||
| 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | ||||||
| P1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||
| ^ | ^ | ^ | ^ | ^ | ||||||||||||||||||||||||||||
| 1-Bit-Fehler: korrigierbar | 2-BIT-Fehler: erkennbar, nicht korrigierbar | 4-Bit-Fehler: u.U. nicht erkennbar | ||||||||||||||||||||||||||||||
2. Absprache zwischen Sender und EmpfÀnger
Bei dieser Art der Fehlerkorrektur treten Sender und EmpfÀnger in einen festgelegten Dialog, nachdem vom EmpfÀnger ein Fehler festgestellt wurde. Hierzu gibt es verschiedene Verfahren.
2.1 aktive Fehlerkontrolle
Der Sender sendet ein Datum an den EmpfĂ€nger. Beim korrekten Empfang quittiert der EmpfĂ€nger dem Sender diesen. Ist ein Fehler aufgetreten schickt der EmpfĂ€nger eine RĂŒckfrage an den Sender. Der Sender schickt nun erneut das ursprĂŒnglich fehlerhafte Paket und kennzeichnet es als Wiederholung. Der EmpfĂ€nger bestĂ€tig bei korrekter Ăbertragung den Empfang des Pakets. Kann der Sender ein geschicktes Signal des EmpfĂ€ngers nicht interpretieren, so schickt auch er eine RĂŒckfrage an den EmpfĂ€nger. Dieser wiederholt dann die BestĂ€tigung oder die RĂŒckfrage. Kann eine der beiden Seiten das Signal ĂŒberhaupt nicht empfangen, tritt ein Deadlock auf.
2.2 passive Fehlerkontrolle
Bei einer korrekt empfangen Sendung verhÀlt sich der EmpfÀnger wie bei der aktiven Fehlerkontrolle und schickt ein BestÀtigung an den Sender. Ist das empfangene Datum jedoch fehlerhaft, bleibt der EmpfÀnger passiv und tut nichts. Bekommt der Sender innerhalb einer festgelegten Zeit keine BestÀtigung, so sendet er automatisch das letzte Datum noch einmal. Ein Problem kann entstehen, wenn beim Sender die Wartezeit zu kurz gewÀhlt ist.
2.3 Fenstermechanismus
Im Vergleich zu den vorangegangen Fehlerkontrollen hat der Sender beim Fenstermechanismus einen gewissen Spielraum(Fenster), in dem er eine festgelegte Anzahl von Nachrichten senden kann ohne eine BestĂ€tigung durch den EmpfĂ€nger abzuwarten. Die gesendeten Nachrichten werden fortlaufend nummeriert. Alle im Rahmen dieses Fensters gesendeten Nachrichten bleiben bis zur BestĂ€tigung im Sendepuffer vorhanden. Erfolgt die Quittung einer Nachricht vom EmpfĂ€nger trĂ€gt sie immer die Nummer des nĂ€chsten Datenblocks, den die Empfangstelle erwartet. Die Quittierung eines gesendeten Datums vergröĂert gleichzeitig das Fenster des Senders. Die Ănderung des Fensters ist in einem speziellen Parameter in den Protocol Controll Information(PCI) festgelegt. Ist das Ende des Fensters erreicht, wird beim Sender ein Timer aktiviert. Ist dieser abgelaufen, gibt es abhĂ€ngig vom Protokoll verschiedene Möglichkeiten:
- komplette Wiederholung aller noch nicht quittierten PDUs
- Verbindungsabbruch
- Statusanfrage
Bei der Statusanfrage handelt es sich um einen spezielle Protocol Data Unit (PDU), die die Aufgabe hat eine momentan blockierte Verbindung aufrecht zu erhalten. Auf eine Statusanfrage gibt es folgende Antwortmöglichkeiten:
- Receive Not Ready(RNR): BestÀtigung, dass gerade kein Empfang möglich ist, aber der Defekt behoben wird
- Receive Ready (RR): BestÀtigung, dass Empfang möglich ist, wobei die Nummer des nÀchsten erwarteten Datums anzugeben ist.
- keine Reaktion, worauf eine endliche Wiederholung der Statusanfrage erfolgt
Protokolle der Sicherungsschicht
1. Start-Stopp-Protokoll
Zugrunde liegt eine asynchrone DatenĂŒbertragung, bei der die wenigen Steuerzeichen gesondert von den eigentlichen Daten ĂŒbertragen werden. Ein Spezialfall ist das XON-XOFF-Protokoll. Hier werden nur die beiden Stuerzeichen DC1(XON)und DC3(XOFF) des ITU-T-Alphabets Nr.5 benutzt. Der Sender schickt ein XON-Signal und danach zeichenweise die Daten. Der EmpfĂ€nger kann die DatenĂŒbertragung unterbrechen, in dem er ein XOFF-Signal schickt(wenn z.B. der Empfangspuffer voll ist). Es wird erst wieder gesendet, wenn der EmpfĂ€nger ein XON-Signal geschickt hat.
2. HDLC-Protokoll(High-Level-Data-Link-Control)
Beim HDLC-Protokoll gibt es drei unterschiedliche Varianten:
- Normal Response Mode (NRM)
- Asynchronous Response Mode (ARM)
- Asynchronous Balanced Response Mode (ABM)
Der Unterschied zwischen diesen Varianten liegt an der Stellung der kommunizierenden Datenendeinrichtungen(DEE). NRM ist eine Master-Slave Konfiguration, bei ARM ist jede DEE sowohl Master als auch Slave fĂŒr das jeweilige GegenĂŒber, das heisst es existiert fĂŒr jede Ăbertragungsrichtung eine eigene logische Verbindung. Bei ABM kann eine einzelne logische Verbindung in beide Richtungen genutzt werden.
Quellen
- Skript Datenkommunikation SS 05




