Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für...

29
Zauberblätter – Rechnernetze I – Prof. Dr. Schmidt Fachbereich MNI SS 2004 (Entwickelt von J.-E. Thiede)

Transcript of Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für...

Page 1: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Zauberblätter– Rechnernetze I –

Prof. Dr. SchmidtFachbereich MNISS 2004(Entwickelt von J.-E. Thiede)

Page 2: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Abkürzungen

Rechnernetz: Mehrere Rechner die über Übertragungskanälen / Kommunukationsnetz miteinanderverbunden sind.Ziele:

• Nutzen gemeinsamer Ressources• Datenaustausch• Höhere Verfügbarkeit durch Redundanzen• Downsizing (mehrere kleine anstelle eines großen Rechners)

CIM: Computer-Integrated-Manufacturing

CNC: Computer Numerical Control

IEC-Bus:

SAN: System Area Network (Storage Area Network)

HiPPI: High Performance Parallel Interface

Host: Arbeitsrechner

LAN: Lokales Netz, Local Area Network, < 2km

MAN: Metropolitan Network, ~10-50 km

WAN: Wide Area Network, Interkontinental

DÜE: Datenübertragungseinrichtung

NIU: Network Interface Unit, Netzschnittstelleneinheit

NIC: Network Interface Kart, Netzwerkkarte

DMA: Direct Memory Access, Netzwerkkarte schreibt direkt in Speicher

PIO: Programmed I/O, CPU schreibt Daten von Netzwerkkarte in Speicher

Modem: Modulator / Demodulator

Protokoll: Definiert:• Format und Reihenfolge der Signale• Auszuführende Aktionen (Ablaufsteuerung)

NT Network Termination, Netzabschlusseinheit

ES: Endsystem

DEE / DTE: Datenendeinrichtung / Data Terminal Equippment, Endgeräte der Kommunikation

Best-Efford-Service: Der Dienst bietet keine gesichterten Standards (Übertragungszeit, Bandbreite, etc.)

ARQ: Automatic Repeat Request

VSt: Vermittlungsstelle, Switch / Router, je nach Ausführung

IS, IWU, Gateway: Vermittlungseinrichtung zwischen zwei Netzen mit u.U. unterschiedlicher Technik.

Server: Programm das einen Dienst anbietet, passiv

Client: Programm das einen Dienst von einem Server in Anspruch nimmt

ASK: Amplitude Shift Keying, Pulsamplitudenmodulation

FSK: Frequency Shift Keying, Pulsfrequenzmodulation

Page 3: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

PSK: Phase Shift Keying, Pulsphasenmodulation

PCI: Protokoll Controll Information, Protokollsteuerungsinformation

Simplex: Übertragung in eine Richtung (Radio)

Halbduplex: Abwechselndes Senden in beide Richtungen möglich.

Vollduplex: Gleichzeitiges Senden und Empfangen möglich.

Verbindungstopologien:

N = Gesamtanzahl aller angeschlossenen DEEs.

• Unicast (1:1) : Telefon, Email• Multicast (1:n) : Chat, Börsenkurse• Broadcast (1:N) : Rundfunk• Concast (m:1) : Verteilte Systeme• Multipeer (m:n) : Mehrpunkt-Kommunikation, Konferenzschaltung

Netztopologien:

Stern: LANBaum: RundfunkverteilnetzMaschen: TelefonVollst. Graph: Cluster-ComputerRing: Token-Ring-LANBus: Ethernet-LAN

Durchschaltevermittlung / Leitungsvermittlung / Circuit Switching

Koppelnetze stellen eine physikalische Verbindung zwischen Sender und Empfänger her.

Teilstreckenvermittlung / Packetvermittlung

Die Daten werden als Datenpakete (Datagramme) von Knoten zu Knoten (Hop-by-Hop) gesendet.- Zellvermittlung (Cell Switching)- Paketvermittlung (Packet Switching)

Netzknoten enthalten Paketspeicher sowie Wegelenkungstabelle (Routing-Table).A) Verbindungsorientierte Paketvermittlung (Virtual-Circuit Packet Switching): Die Route wird einmal

festgelegt, alle weiteren Datenpakete nehmen den selben Pfad (virtuelle Verbindung / logischer Kanal)(X.25)

B) Jedes Datagramm enthält Empfängerinformationen und wird jeweils einzeln geroutet. Die Pfade derDatenpakete können unterschiedlich sein. (IP – Internetprotokoll)

Page 4: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Formelsammlung

Bitrate [v]: bit / s z.B.: ISDN-B-Kanal: 64 kbit / s

gof : Obere Grenzfrequenz, unterhalb dieser Frequenz kann ein Signal

verzerrungsarm übertragen werden.

guf : Untere Grenzfrequenz, oberhalb dieser Frequenz kann ein Signal

verzerrungsarm übertragen werden.

Bandbreite [B]: go guB f f= − z.B.: Telefon: fgu = 300Hz, B = 3100 Hz

Dämpfungsmaß [a]: 1

2

10lg Pa dBP

= mit 1 2,P P Leistung am Eingang bzw. Ausgang.

Signal- / Geräuschverhältnis: /S NP P mit ,S NP P Leistung der Signale, der Störsignale

Signal- / Geräuschabstand:(Bitfehlerhäufigkeit)

10 lg

3

SN

N

CN

Pa dBP

IaB

=

= ∗

Bitfehlerwahrscheinlichkeit: ( )1 1ldbitpd pg= − −

Alphabet: { }1 2, , , NX x x x= K

Wahrscheinlichkeitsfeld:1 2

1 2

N

N

x x xX

p p p

=

K

K wobei

11

N

ii

p=

=∑

Informationsgehalt Zeichen: ( ) 1i

i

H x ld bitp

= ( ) 3,322 log( )ld x x=

Informationsgehalt (Entropie)der Quelle:

( ) ( )1

1N

ii i

H x E H x p ld bitp=

= = ∗ ∑

Entscheidungsbedarf(mittlere Wortlänge):

1

n

i ii

E z p=

= ∗∑ // z = Länge (Bit) der Codeworte

Entscheidungsgehalt Quelle: 0H ld N bit= (Maximaler Informationsgehalt)

Redundanz: 0 ( )R H H x= −

Relative Redundanz:0 0

1R HrH H

= = −

Page 5: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Mittlere Sendezeit Zeichens:1

( )N

i ii

H xpv

τ τ=

= ∗ =∑

( )max 1 /I B ld S N= ∗ +

Informationsfluss:( ) ( )s

H xI v H xτ

= = ∗

Schrittgeschwindigkeit: 1/sv τ= [s-1, Baud]

Kanalkapazität [C]:

1

10 lg 13

S

N

S

N

PC B ld bitP

PBC bitP

= +

≈ +

Kanalauslastung:

( )1 %1 2

2

1:1 2

P

i

i

i p ak

pa

TaT

TpT T T

pdFehlerwahrscheinlichkeit pa

=+

=

=+ +

−=

+

Mittlere Übertragungsversuche:1

1N

pd=

Roll-Off-Faktor:2 1

2

Bu bitrv

Br ubit

∗ ∗= −

=

Bandbreitenausnutzung:v bit Hz

bit s ∗

Signallaufzeit:

( )

0 300000

PsT sv

kmv x c xs

=

= ∗ ∗

Übertragungsdauer Datenblock: Iix

lTv

=

Page 6: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Übertragungsdauer Bestätigung: aax

lTv

=

Segementlänge- / Laufzeit:

( )

max '

' '

aSa

dba s a db am

=

= ∗ = Minimale Paketlänge: minl T v= ∗

Page 7: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Optimale Kodierung

Man unterscheidet:- Codes fester Wortlänge (z.B.: ASCIIà 8-Bit)- Codes variabler Wortlänge mit einem Trennzeichen (z.B.: Morse-Code) Die häufigsten Zeichen haben die kürzeste Länge

Damit ein Code dekodierbar ist muss er der Farno-Bedingung genügen: "Kein Codewort darf Anfang einesanderen Codeworts sein".

Huffman-Codierung (D. Huffman, 1952)

Huffman-Code: - variable Länge- erfüllt die Farno-Bedingung- häufigste Zeichen haben kürzeste Länge (Code ist damit Textabhängig)

Konzept 1:

- Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.- Entsprechend den Regeln für die optimale Mischreihenfolge von Tabellen wird ein binärer Baum

aufgebaut, dabei werden die seltensten Zeichen (geringste Häufigkeit) zuerst miteinander verbunden.- Die Äste des binären Baums werden mit 0 (links) bzw. 1 (rechts) nummeriert.- Der Huffman-Code für jedes Zeichen ergibt sich aus den Ästen die von der Wurzel aus durchlaufen

werden müssen.

Beispiel 1: "ABRAKADABRA ABRAKADABRA" (Text besteht aus Großbuchstaben und Leerzeichen)

- Mit ASCII-Code benötigen wir 23 * 8 Bit = 184 Bit- obiger Text enthält nur 6 verschiedene Zeichen. es würde ein 3-Bit-Code genügen: 23 * 3 Bit = 69 Bit

A B R K D blank10 4 4 2 2 1

Ersparnis: 17 Bit = 24,6 % ≈ 25 %

Der Code-Baum ist nicht eindeutig bestimmt, die Code-Tabelle muss mit dem kodierten Text mit gesendetwerden.

Abrakadabra in kodierter Form: 0 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0

A B R A K A D A B R A

03

13

8

5

23

00

00 1

1

1

1

1

A = 0 ⇒ 10 x 1 Bit = 10 BitB = 100 ⇒ 4 x 3 Bit = 12 BitR = 101 ⇒ 4 x 3 Bit = 12 BitK = 110 ⇒ 2 x 3 Bit = 6 BitD = 1110 ⇒ 2 x 4 Bit = 8 Bit_ = 1111 ⇒ 1 x 3 Bit = 4 Bit

= 52 Bit

Page 8: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Konzept 2:

- Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.

- Für das seltenste Zeichen wird der Informationsgehalt ( ) 1i

i

H x ld bitp

= bestimmt (pi ist die

Auftrittswahrscheinlichkeit des Zeichens xi). Damit ist für das seltenste Zeichen die Anzahl der Bits (n)bekannt. Dieses Zeichen wird nun mit n 1en kodiert.

- Alle Zeichen die denselben Informationsgehalt (ebenfalls n Bit) haben, werden kodiert indem vomvorhergehenden Binärcode 1 abgezogen wird.

- Ein Zeichen mit geringerem Informationsgehalt (weniger Bit) wird kodiert, indem vom vorhergehendenBinärkode die letzte Binärstelle (ganz rechts) ignoriert wird, und vom Rest wiederum 1 abgezogen wird.

Beispiel 2:

Shannon-Fano-Kodierung

Konzept: Nach Claude Shannon und Robert Fano lautet der Berechnungsalgorithmus:

1. Ordne die Zeichen nach ihrer Häufigkeit.2. Teile die Menge so, dass die Summe der Häufigkeiten der beiden Teilmengen möglichst gleich ist.

(d.h. im ersten Schritt soll die summe möglichst 0.5, im zweiten 0.25, usw. sein)3. Nenne die Mengen 0 und 1 bzw. erweitere ihre Namen entsprechend.4. Wiederhole mit den Teilmengen die Schritte 3–5, bis sie nur noch ein Element enthalten.

Beispiel:

xi pi Hi

1/4 2 00 1/8

1/833

0101

01

1/161/161/161/16

4444

10101010

0011

0101

1/321/321/321/321/321/321/32

5555555

11111111111111

0000111

0011001

0101010

1/641/64

66

1111

11

11

11

01

xi pi ∑ (pi) 1. 2. 3. 4. 5. 6.

1/4 1à 1/4

03/4 01/8

1/8 5/8

à 1/20 à 1/4

1 11/2 0

7/16à 1/8

0 13/8 0

1/161/161/161/16 5/16

à 1/40 à 1/8

1 11/4 0

7/32à 1/16

0 13/16 05/32

à 1/80 à 1/16

1 11/8 0

3/32à 1/16

0 1

1/321/321/321/321/321/321/32 1/16

à 1/ 320

1/32 01/641/64 1/64

à 1/21

à 1/41

à 1/81 à 1/16

1 à 1/ 321 1

32

16

165

16

16

8

8

8

42

8

4

4

2

1

Page 9: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Leitungskodes

+ = High-Potential0 = Null-Potential- = Low-PotentialT = Pulsbreite (Rechtecksignal)τ = Schrittdauer (zur Übertragung von 0 oder 1, kürzeste Dauer eines Signalelementes)

NRZ = Non Return to Zero, innerhalb eines Bit-Signals (0 oder 1) wird nicht zum Null-Potential zurückgekehrtRZ = Return to Zero, innerhalb eines Bit-Signals (0 oder 1) wird zum Null-Potential zurückgekehrt

Gleichstromfreiheit:Bitfolgeunabhängig: Auch in beliebig langen "Nullfolgen" müssen genügend Taktinformationen enthalten sein.

a) Unipolar NRZ-Kode

Kodierung: '0' = 0 '1' = +

NRZ, T = τ

Gleichstromfreiheit: neinBitfolgeunabhängig: nein

Einfach bei jeder 1 ein + Impuls setzen.

b) AMI (Alternate Mark Inversion)

Kodierung: '0' = 0 '1' = +, - (jeweils abwechselnd)

NRZ, T = τ

Gleichstromfreiheit: jaBitfolgeunabhängig: nein

Einfach abwechselnd bei jeder 1 ein + bzw. - Impuls setzen.

c) HDBn (High Density Bipolar of Order n, hier n = 3)

Kodierung: wie bei AMI

NRZ, T = τ

Gleichstromfreiheit: jaBitfolgeunabhängig: ja

Für n kann eine beliebige Zahl eingesetzt werden, z.B. 3.Eine Folge von n+1 0en wird entweder durch einen '000V'- oder einen 'B00V'-Impuls ersetzt.

V = Violation-Impuls: im Gegensatz zu AMI ist der V-Impuls immer von derselben Polarität wie dervorhergehende Impuls. Die V-Impulse sind jedoch wiederum abwechseln + und -.

B-Impuls: wird wie alle AMI-Impulse immer in unterschiedlicher Polarität zumvorhergehenden Impuls gewählt. Der B-Impuls wird nur eingefügt um zuerreichen das die V-Impulse alternierend + bzw. – Polarität haben.

Beispiel: 1 0 0 0 0 1 1 0 0 0 0 1

VB V

+ -

Page 10: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

d) CMI (Coded Mark Inversion)

Kodierung: '0' =

'1' =

RZ für 0, NRZ für 1

Gleichstromfreiheit: jaBitfolgeunabhängig: ja

e) Manchester

Kodierung: '0' =

'1' =

RZ für 1 und 0

Gleichstromfreiheit: jaBitfolgeunabhängig: ja

f) Differential Manchester

Kodierung: '0' / '1' =

'1': Es darf keine Pegeländerung am Anfang eines Schrittes erfolgen. '0': Es muss eine Pegeländerung am Anfang eines Schrittes erfolgen.

RZ für 1 und 0

Gleichstromfreiheit: jaBitfolgeunabhängig: ja

Beispiel:

+-

+-

+-

+-

+-

+-

1 0 0 0 0 1 1 0 0 0 0 1

Die 0 wird durch einen Polariätswechselinnerhalb eines τ kodiert.

Die 1 wird durch gleich bleibende Polarität(abwechselnd + und -) kodiert.

Page 11: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

g) 4B3T (speziell: MMS43)

Kodierung:

Jeweils 4-Bit werden zu einem Block zusammengefasst (4B).Dieser Block wird mittels +, -, und 0-Potential ternär-kodiert (3T).Die Kodierung eines 4B-Blocks in einen 3T-Block wechselt zwischen 4 verschiedenen Zuständen, wobeijeweils der neue Zustand für den nächsten Block wechseln kann.Die Kodierung sowie die neuen Zustände folgen dem untenstehenden Schema.

3T-Block (S1 S4) und Folgestatus (FS)4B-Block S1 FS S2 FS S3 FS S4 FS0000 + 0 + 3 0 – 0 1 0 – 0 2 0 – 0 30001 0 – + 1 0 – + 2 0 – + 3 0 – + 40010 + – 0 1 + – 0 2 + – 0 3 + – 0 40011 0 0 + 2 0 0 + 3 0 0 + 4 – – 0 20100 – + 0 1 – + 0 2 – + 0 3 – + 0 40101 0 + + 3 – 0 0 1 – 0 0 2 – 0 0 30110 – + + 2 – + + 3 – – + 2 – – + 30111 – 0 + 1 – 0 + 2 – 0 + 3 – 0 + 41000 + 0 0 2 + 0 0 3 + 0 0 4 0 – – 21001 + – + 2 + – + 3 + – + 4 – – – 11010 + + – 2 + + – 3 + – – 2 + – – 31011 + 0 – 1 + 0 – 2 + 0 – 3 + 0 – 41100 + + + 4 – + – 1 – + – 2 – + – 31101 0 + 0 2 0 + 0 3 0 + 0 4 – 0 – 21110 0 + – 1 0 + – 2 0 + – 3 0 + – 41111 + + 0 3 0 0 – 1 0 0 – 2 0 0 – 3

Gleichstromfreiheit: jaBitfolgeunabhängig: ja

Beispiel: 1 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1, Anfangszustand: 1

1 0 0 0 à + 0 0, Folgezustand 20 1 1 0 à – + +, Folgezustand 30 0 0 1 à 0 – +, Folgezustand 30 1 1 0 à – – +, Folgezustand 20 1 1 1 à – 0 +, Folgezustand 2

Page 12: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Beispiele:

1 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0

VB V

+ + + + + +- - - - -

+ 0 0 - + + 0 - + - - + - 0 +Z à 2 Z à 3 Z à 3 Z à 2 Z à 2

Unipolar:

AMI:

HDB3:

CMI:

Manchester:

DifferentialManchester:

4B3T

Page 13: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Fehlererkennung und –korrektur mittels CRC-Prüfsummen

Separierbare Blockkodes:

Kodewort (C) = X + R m Nachrichtenstellen (Nachrichtenwort X)k Kontrollstellen (R, FCS – Frame Check Sequence)

Der Koder berechnet mit R = f(X) die Kontrollstellen und hängt diese der Nachricht an.Der Dekoder berechnet Z = f(C). Wenn das Fehlersyndrom Z = 0, dann ist die Nachricht fehlerfrei, ansonstenwird eine Korrektur (FEC – Forward Error Correction) vorgenommen, oder eine erneute Übertragung angefordert(ARQ – Automatic Repeat Request).

Hammingabstand h: Eine größe zur Beurteilung der Leistungsfähigkeit eines Blockkodes, gibt den "minimalenAbstand" zwischen zwei Kodewörtern an. Umso größer, umso besser.

Anzahl der erkennbaren Fehler pro Kodewort: 1e h∗ = −

Anzahl der korrigierbaren Fehler pro Kodewort:( )( )

2 / 2,

1 / 2,

h h geradee

h h ungerade

−= −

Zyklische Blocksicherung, CRC Cyclic Redundancy Check (hier: Zyklischer Hamming-Kode)

h = 3, d.h. es können 2 Fehler pro Kodewort erkannt und 1 Fehler pro Kodewort korrigiert werden.Die Anzahl m der Nachrichtenstellen die mit k Kontrollstellen gesichert werden können ist:

2 1km k= − − .

1. Das Nachrichtenwort { }1 mX x x= L wird als Polynom X(u) interpretiert:

1 2 01 2( ) m m

mX X u x u x u x u− −→ = + + +L

2. Für die Berechnung von k Kontrollstellen wird ein Generatorpolynom vom Grad k benötigt:1 1 0

1 1 0( ) k kk kG u g u g u g u g u−

−= + + + +L(Die Generatorpolynome müssen die Eigenschaft der Primitivität besitzen)

3 1u u+ +8 2 1u u u+ + + ATM-Netzen

12 10 5 1u u u+ + + Fernschreiber16 15 5 1u u u+ + + HDLC16 15 2 1u u u+ + + Bitbus

32 25 23 22 16 12 11 10 8 7 5 4 2 1u u u u u u u u u u u u u u+ + + + + + + + + + + + + +0x04C11DB7,CRC-32, Lokale Netze

3. Berechnung der Kontrollstellen:

a) Ergänzen des Nachrichtenwortes X(u) mit k Nullen (d.h. ( ) ( ) kC u X u u= ∗ )

b) Dividiere C(u) durch G(u) mittels Modulo-2 Arithmetik: ( ) : ( ) ( ) ( ) / ( )C u G u Q u R u G u= +Modulo-2 Arithmetik, d.h. Addition und Subtraktion ohne Übertrag!

c) Die Koeffizienten des Restpolynoms ( )R u bilden die Kontrollstellen.

4. Subtrahiere den Divisionsrest R(u) (immer r oder weniger Bits) von dem C(u) entsprechendenBitstring (immer modulo 2), das Resultat C'(u) ist der zu übertragende Bitstring des Frames mitPrüfsumme.

Die Idee der CRC-Pruefsumme ist es also einen gegebenen Rahmen von Datenbits durch m Bits so zu ergänzen,dass das Polynom aus Datenbits und Prüfsumme durch das Generatorpolynom teilbar ist.

Der Empfänger kann nun überprüfen, ob der Frame korrekt übertragen wurde, in dem er C'(x) durch G(x)dividiert, das Ergebnis muss 0 sein.

Page 14: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Beispiel 1:

3 0

1001 . . : 4( )

X d h mX u u u= =

⇒ = +

Durch Probieren finden wir heraus wie viele Kontrollstellen (k) notwendig sind um m=4 Zeichensicher zu übertragen:

1

2

3

2 1 1 02 2 1 12 3 1 4 3

mmm k

= − − =

= − − =

= − − = ⇒ =

Wir benötigen also ein Generatorpolynom 3. Grades: 3( ) 1 1011G u u u= + + ⇒ .

Das Nachrichtenwort muss folglich um k=3 0en ergänzt werden: ( ) 1001000C u =

Es folgt die Polynomdivision C(u) : G(u) mit Modulo-2 Arithmetik:

6 5 4 3 2 1 0 3 2 1 0 3 2 1 0

( ) : ( ) ( )

1 0 0 1 0 0 0 : 1 0 1 1 1 0 1 01 0 1 1

0 1 0 00 0 0 0

1 0 0 01 0 1 1

0 1 1 00 0 0 0

1 1 0 ( )

C u G u Q uu u u u u u u u u u u u u u u

R u

=

=

=

Subtraktion:'( ) ( ) ( ) (mod)

1001000 1101001110

C u C u R u= −= −=

Der zu übertragende Bitstring des Frames mit Prüfsumme ist also: '( ) 1001110C u =

Page 15: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Beispiel 2:

9 8 6 4 3 1 0

1101011011 . . : 10( )

X d h mX u u u u u u u u= =

⇒ = + + + + + +

3

4

2 3 1 42 4 1 11 4

mm k

= − − =

= − − = ⇒ =

Wir benötigen also ein Generatorpolynom 4. Grades: 4( ) 1 10011G u u u= + + ⇒ .

Das Nachrichtenwort muss folglich um k=4 0en ergänzt werden: ( ) 11010110110000C u = .

Frame: 1101011011Generator: 10011Frame 0-Bits: 11010110110000

Es folgt die Polynomdivision C(u) : G(u) mit Modulo-2 Arithmetik:

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 1 0 0 1 1 ------------------------------------+ | | | --------- | | | 1 0 0 1 1 | | | 1 0 0 1 1 ------------------------------------+ | | --------- | | 0 0 0 0 1 | | 0 0 0 0 0 ------------------------------------+ . . . | --------- | 0 0 0 1 0 | 0 0 0 0 0 | --------- | 0 0 1 0 1 | 0 0 0 0 0 | --------- | 0 1 0 1 1 | 0 0 0 0 0 | --------- | 1 0 1 1 0 | 1 0 0 1 1 | --------- | 0 1 0 1 0 | 0 0 0 0 0 | --------- | 1 0 1 0 0 | 1 0 0 1 1 | --------- | 0 1 1 1 0 | 0 0 0 0 0 ------------------------------------+ --------- 1 1 1 0 = R(x)

Subtraktion:'( ) ( ) ( ) (mod)

11010110110000 111011010110111110

C u C u R u= −= −=

Der zu übertragende Bitstring des Frames mit Prüfsumme ist also: '( ) 11010110111110C u =

Page 16: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Realisierung mit Schieberegister:

In der Praxis lassen sich die CRC-Prüfsummen einfach mit Schiebe- und XOR-Operationen berechnen,man kann auch eine Tabelle zu Hilfe nehmen, die das Verfahren stark beschleunigt.

Register = startwert (meist 0x0000... oder 0xFFFF...)while(1 Bits im String){ if(Register.MSB == 1) Register = (Register << 1) XOR Polynom; else Register = (Register << 1); Register.LSB = nächstes Bit aus dem String;}Register ausgeben

Die praktische Realisierung erfolgt meist in Hardware mit Hilfe von rückgekoppelten Schieberegisternund Antivalenz-Gliedern (XOR). Das Generatorpolynom bestimmt dabei das Rückkopplungsmuster:

4( ) 1G u u u= + +

8 2( ) 1G u u u u= + + +

Fehlererkennung:

Das empfangene Codewort C'(u) wird durch G(u) dividiert, das Ergebnis ist das Fehlersyndrom Z(u).Wenn der Divisionsrest Z(u) = 0, dann war die Übertragung Fehlerfrei.Wenn der Divisionsrest Z(u) > 0, dann war die Übertragung fehlerhaft.

Bei einem Einzelfehler kann aus Z(u) auf die fehlerhafte Stelle geschlossen und diese korrigiert werden.

1 1 1 1 1 1 1 1 0 1 : 1 0 0 1 1 = 1 1 1 0 1 11 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 = Z(u) ⇒ kein Fehler

Xu8 u7 u6 u5 u4 u3 u2 u 1

1 0 0 0 0 0 1 1 1

Xu4 u3 u2 u 1

1 0 0 1 1

Wertigkeit

Rückkoppelmuster

Page 17: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Datenübertragung im Paketformat

Datenpaket (Packet) / Rahmen (Frame) = Paketvorspann (Header)+ Datencontainer (Data)+ Paketnachspann (Trailer)

Handshaking: Übergabe von Daten unter Verwendung eines Quittungssystems zwischen Sender undEmpfänger.

ARQ-Verfahren: Automatic Repeat Request, der Sender muss sämtliche Datenpakete bis zur Quittierungspeichern, um diese bei Bedarf erneut zu senden.

Negativ-ARQ: implizierte Wiederholung, es erfolgt positive Quittierung mittels ACK durch den Empfänger,bleibt diese aus wird automatisch ein (oder mehrere) Pakete erneut gesendet.

Positiv-ARQ: explizite Wiederholungsanforderung durch den Empfänger mittels NAK-Signal.

Stop-and-Wait-Protokoll (implizite Wiederholung)

Der Sender sendet ein Datenpaket und wartet auf eine Empfangsbestätigung (ACK, Acknowledgement) bevor erdas nächste sendet.Kann im Halbduplexbetrieb verwendet werden, ermöglicht Reihenfolgesicherung und Fehlerbehandlung.

Alle Zähler verwenden eine Modulo-2 Zählung, d.h. abwechseln 0 und 1:

Timeout: Laufzeit des TimersV(S): Sendefolgezähler, enthält die Nummer des nächsten zu sendenden Datenpaketes.V(R): Empfangsfolgezähler, enthält die Nummer des nächsten erwarteten Datenpaketes.N(S): Sendefolgenummer, jedes Datenpaket enthält eine Nummer.N(R): Empfangsfolgenummer, jede Empfangsbestätigung enthält die Nummer des nächsten

erwarteten Datenpakets (Die Bestätigung fordert das nächste Paket an)

1. Wenn die Übertragung eines Datenpakets beginnt wird ein Timer gestartet. Nach absenden des Datenpakets mit N(S) wird V(S) hoch gezählt (V(S) + 1 mod 2)

2. Erhält der Sender vor Ablauf des Timers eine Empfangsbestätigung mit N(R) = V(S) (d.h. die Bestätigungdes letzten Paketes enthält die Anforderung des nächsten Paketes), wird das nächste Paket mit N(S) =V(S) gesendet (weiter mit Schritt 1).

3. Erhält der Sender vor Ablauf des Timers keine Empfangsbestätigung wird das Paket N(S) noch malgesendet

0 1 1 0 0 1

0 1 1 0 0 1

Sender

Empfänger

V(S) = 0 1 0 1

V(R) = 0 1 0 1Feh

lerf

reie

r A

blau

f

Sendet Paket 0Erwartet Quittung 1

Erwartet Paket 0Sendet Quittung 1

Timer

1 1 0

1 0

Sender

Empfänger

V(S) = 1 0 1

V(R) = 1 0Feh

ler

bei

Dat

enpa

ket Sendet Paket 1

Erwartet Quittung 0Timer läuft abSendet Paket 1

Erwartet Paket 1Sendet keine Quittung 0Erwartet Paket 1Sendet Quittung 0

0 1 0 1

0 1 0 1

Sender

Empfänger

V(S) = 0 1 1

V(R) = 0 1 1Feh

ler

bei Q

uitt

un

g Sendet Paket 0Erwartet Quittung 1Timer läuft abSendet Paket 0

Erwartet Paket 0Sendet Quittung 1Erhält Paket 0, verwirftSendet Quittung 1

Page 18: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Achtung: Die Laufzeit des Timers (Timeout) muss unbedingt länger sein als die Zeit die zwischen dem Sendeneines Paketes und dem empfangen der Quittung verstreicht.Sonst wird dasselbe Paket immer wieder gesendet.

Kanalausnutzung:

Die Ausnutzung p des Kanals ist schlecht wenn die Signallaufzeit τ (Latency) gegenüber derÜbertragungsdauer T relativ groß ist. Es vergeht dann viel Zeit mit warten:

τ: Übertragungszeit / Signallaufzeit vom Sender zum EmpfängerTdt: Data Transmission Time, Übertragungsdauer für ein DatenpaketTdp: Data Processing Time, Bearbeitungszeit (Fehlererkennung) für ein DatenpaketTat: Acknowledgement Transmission Time, Übertragungsdauer für eine QuittungTap: Acknowledgement Processing Time, Bearbeitungszeit (Fehlererkennung) für eine Quittung.Tt: Transmission Time, Zeit die zwischen dem Senden zweier Datenpakete vergeht.

2dt dt

t dt at ap dp

T Tp

T T T T Tτ= =

+ + + +

In der Praxis ist die Länge der Datenpakete meist größer als die der Quittungen, und Tdt >> Tat, Tap, Tdp.1

1

1 ,22 1 2dt

dt dt

dt

Tp

Ta

a TT

τττ

= ≈ = =+ ++

Bei gestörtem Kanal:

pb: Bitfehlerwahrscheinlichkeit des Übertragungskanalsld: Länge eines Datenpakets (Anzahl der Bit)pd: Wahrscheinlichkeit für ein gestörtes Datenpaket:

/1 (1 ) 1dl bit d dd b b b

l lp p p für p

bit bit= − − ≈ ∗ ∗ <<

Die Wahrscheinlichkeit für gestörte Quittungen pa wird aufgrund deren geringen Länge la meist ignoriert.

Nr: Anzahl der nötigen Übertragungen eines Datenpaketes im Mittel:1

1r

d

Np

=−

Die Ausnutzung des gestörten Übertragungskanals ist daher:

( )11

1 2 1 2d

r

pp

N a a

−= ≈

+ +

Beispiel: Kupferkabel, ca. 1 km: v = 64 kbit/s, ld = 1024 ⇒ Tdt = 16 msτ = 5µs ⇒ a = τ / Tdt = 312,5 * 10-6

pb = 104

1 10, 999

1 2 1, 000625p

a= = =

+

4 1024

6

11 (1 10 ) 0, 0973 1,108

1 0, 0973

1 0, 0973 0,90270, 902

1 2 312, 5*10 1, 000625

d rp N

p

= − − = = =−

−= = =

+ ∗

Piggybacking: Bei Vollduplex-Betrieb, also wenn beide Stationen Datenpakete senden und empfangen könnendie Quittungen mit den Datenpaketen in Gegenrichtung gesendet werden (Huckepackverfahren).

DP ACKSender

EmpfängerDP ACK

Tdt τTdp Tat Tap

DP ACK

DP ACK

Tdt τTdp Tat Tap

Tt Tt

τ τ

Page 19: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Schiebefensterprotokolle (Sliding Window Protocol)

Der Sender überträgt eine Anzahl von Datenpaketen innerhalb eines "Sendefensters".Der Empfänger besitzt ein Empfangsfenster, das die Nummern der Datenpakete enthält die angenommen werdendürfen (Reihenfolge egal).Sendefenster und Empfangsfenster können unterschiedliche Größe haben.Bei Empfang der Quittung für das erste Paket im Empfangsfenster verschiebt sich das EmpfangsfensterBei Empfang der Quittung für das erste gesendete Paket im Sendefenster verschiebt sich das Sendefenster.

Es gibt Varianten mit Folgenummernsteuerung (Sequence Number Control) und Kreditsteuerung (Pacing).

Folgenummernsteuerung:

Alle Folgenummern werden Modulo-M gezählt, wobei M = 2n. Typische Werte für M sind 2, 8, 128.

Sender:

S: Sendefolgenummer (z.B.: 0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,…)N(S): Jedes Datenpaket enthält eine SendefolgenummerV(A) à SU: Quittungszähler, enthält niedrigste Nummer der gesendeten, noch nicht quittierten DatenpaketeV(S) à S0: Sendefolgezähler, enthält Nummer des nächsten zu sendenden Datenpaketes.WS: Maximale Größe des Sendefensters: 1 1SW M≤ ≤ −

WSM: Momentane Größe des Sendefensters [ ]( ) ( ) modSM S

W V A W V S M= + −

N(R): Empfangsfolgenummer, quittiert alle Datenpakete bis zur Sendefolgenummer N(S) = N(R) - 1

• Nach Empfang einer Quittung mit Empfangsfolgenummer N(R), wird der Quittungszähler V(A) = N(R)• Nach senden eines Datenpaketes: ( ) ( ) 1 modV S V S M= +• Durch Aussetzen des Sendens von neuen Datenpaketen sorgt der Sender dafür das die Anzahl der nicht

quittierten Datenpakete = ( ) ( ) SV S V A W− ≤

Empfänger:

R: EmpfangsfolgenummerN(R): Jede Quittung enthält eine EmpfangsfolgenummerV(R) à RU: Empfangsfolgezähler, enthält niedrigste Sendefolgenummer die vom Empfänger Akzeptiert wird.R0: Erste Sendefolgenummer die nicht mehr Akzeptiert wirdWR: Größe des Empfangsfensters, wird durch Standard festgelegt. Es gilt: / 2RW M≤

if( RU ≤ N(S) < R0 ) // Sendenummer innerhalb der Empfangsfensters{if( N(S) > RU ) // Sendenummer außerhalb der Reihenfolge

{ Datenpaket zwischenspeichern; }else // Datenpaket innerhalb der Reihenfolge

{do

{ Paket N(S) = RU ist ok RU =(RU +1) mod M R0 =(R0 +1) mod M Lese N(S) des nächsten Datenpaketes in Zwischenspeicher }

while( N(S) = RU ) sende Quittung mit N(R) = RU }}else Datenpaket verwerfen; // Sendenummer außerhalb des Empfangsfensters

Page 20: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Sendefenster: Modulo: 8 WS: 7Empfangsfenster: WR: 3

Wartet auf Pakete 6, 7 oder 0 (Reihenfolge egal, Fenster wandert nur wenn Paket 6 eintrifft)

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 … RU RO

Hat Pakete 6, 7, 0, 1 gesendet, wartet auf Quittungen, könnte noch Pakete 2, 3, 4 senden

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 … SU SO

Hat Paket 6 erhalten und quittiert mit N(R) = 7, könnte noch Pakete 7, 0, 1 empfangen.

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 …

Hat Quittung N(R)=7 für Paket 6 erhalten, Die Quittungen für 7, 0 und 1 stehen noch aus (sind bereits gesendet)

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 … SU SO

Sendet die Pakete 2, 3, 4 (damit Fehlen jetzt die Quittungen 7 - 4):

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 … SU SO

Hat die Pakete 7, 0, 1 erhalten und Quittiert mit N(R) = 2

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 …

Hat Quittung mit N(R) = 2 für die Pakete 7, 0 und 1 erhalten.

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 … SU SO

Kanalausnutzung

1 22 1 2

1 1 2

dt

S dt SS

dt

S

aT

W T Wfür W a

T a

für W a

τ

τρ

=

∗= ≤ +

+ +=

> +

WSM

WS

WSM

WS

WSM

WS

WS

WSM

WR

Empfänger

Sender

WR

WR

Page 21: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

ARQ-Verfahren "Go-Back-N" (explizite Wiederholungsanforderung)

Empfänger:• Die Größe des Empfangsfensters ist WR = 1, d.h. die Pakete werden nur in genau der richtigen

Reihenfolge akzeptiert.• Die Nummer des letzten korrekt empfangenen Pakets wird in einer Empfangsliste gespeichert.• Kommt eine Paket mit falscher Sendefolgenummer oder gestört an, wird eine NAK (Negative

Acknowledgement, negative Empfangsbestätigung) gesendet. Damit wird die Wiederholung aller Paketeab der NAK angefordert.

• Nach dem Senden der NAK ist der Empfänger im Wiederholungszustand (Retransmission State), d.h.:- Alle ankommenden Pakete die keine Wiederholungen sind werden verworfen.- Es wird ein Timer TNAK gestartet, wenn bis Ablauf des Timers kein Wiederholungspaket eintrifft wird

dasselbe NAK erneut gesendet.- Erst wenn das erste mittels NAK angeforderte Wiederholungspaket eintrifft wird der

Wiederholungszustand beendet und wieder ACKs gesendet.

Sender:• Alle gesendeten und noch nicht quittierten Datenpakete werden in einer Sendeliste verwaltet.• Nach Empfang eines NAK-Paketes ist der Sender auch im Widerholungszustand, d.h.:

- Alle Datenpakete ab dem durch NAK angeforderten werden in der richtigen Reihenfolge wiederholt.- Mit dem Aussenden des letzten angeforderten Wiederholungspaketes endet der

Wiederholungszustand.

Beispiel 1: fehlerhaft übertragenes Datenpaket

V(S) S S+1 S+2 S+3 S+4 S+5 S+5 …

SS+1

S

S+2S+1

S

S+3S+2S+1

S+4S+3S+2S+1

S+4S+3S+2S+1

S+4S+3S+2S+1

Sendeliste(noch nicht quittiert)

… S S+1 S+2 S+3 S+4 S+1 S+2 …

… S S+2 S+3 S+4 S+1 …

S-1 S S S S S S+1 Empfangsliste

Nr. Sender Empfänger

1 Sendet Paket SSendet Paket S+1

2 Empfängt Paket SQuittiert Paket S mit ACK

3 Empfängt ACKSendet Paket S+2Sendet Paket S+3

4Empfängt Paket S+2à Paket S+1 fehlt!à Sendet NAK(S+1)à Startet den Timerà verwirft Paket S+2

5 Sendet Paket S+4Empfängt NAK(S+1)

6 Empfängt Paket S+3à verwirft Paket S+3Empfängt Paket S+4à verwirft Paket S+4

7 Sendet Paket S+18 Empfängt Paket S+1

Quittiert Paket S+1 mit ACKEnde des Wiederholungszustands

Wie

derh

olun

gszu

stan

d

Empfängt ACK

Wie

derh

olun

gszu

stan

d

2

3

4

5

8

1

6

7

Timer

Page 22: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Beispiel 2: fehlerhaft übertragene Quittung (ACK)

V(S) S S+1 S+2 S+3 S+4 S+5 …

SS+1

S

S+2S+1

S

S+3S+2S+1

S

S+4S+3S+2S+1

SS+4S+3

Sendeliste(noch nicht quittiert)

… S S+1 S+2 S+3 S+4 …

… S S+1 S+2 S+3 S+4 …

S-1 S S+1 S+2 S+3 S+4 Empfangsliste

Nr. Sender Empfänger

1 Sendet Paket SSendet Paket S+1

2Empfängt Paket SQuittiert Paket S mit ACK(S)à (wird jedoch gestört)

3 Sendet Paket S+2

4 Kein

eQ

uitt

ung

Empfängt Paket S+1Quittiert Paket S+1 mit ACK(S+1)à (wird jedoch gestört)Empfängt Paket S+2Quittiert Paket S+2 mit ACK(S+2)

5Sendet Paket S+3Empfängt ACK(S+2)à Pakete bis S+2 sind quittiert

6 Empfängt Paket S+3Quittiert Paket S+3 mit ACK(S+3)

7 Empfängt ACK(S+3)Sendet Paket S+4

Kanalausnutzung

1 2

1 2

(1 )(1 2 ) (1 ( 1))

11 ( 1)

dt

S

S

S d

d S

d

d S

aT

für W a

für W a

W pa p W

pp W

τ

ρ

=

≤ +

=

> +

∗ − + ∗ + − − + −

ACK(S+1)ACK(S) ACK(S+2) ACK(S+3)

2

3

4

51

6

7

Page 23: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

ARQ-Verfahren mit "Selective Repeat" / "Selective Reject" (explizite Wiederholungsanforderung)

Während bei dem Go-Back-N-Verfahren alle Pakete die nach einem fehlerhaften Paket eintreffen verworfenwerden (und daher alle nochmals gesendet werden müssen), werden bei Selective Repeat die empfangenenPakete behalten und nur das fehlerhafte Paket wird erneut gesendet. Die Reihenfolge beim Empfänger ist dannnatürlich falsch.

Anders als bei Go-Back-N kann das Empfangsfenster größer als 1 sein.Damit keine Sendenummern doppelt belegt werden muss gelten: / 2RW M≤

• Eine Empfangsbestätigung N(R) quittiert alle vorhergehenden Pakete bis N(R-1)• Ein fehlender oder fehlerhafter Datenblock wird durch ein NAK mit der entsprechenden N(R) angefordert• Erst nach dem eintreffen des angeforderten Paketes wird wieder mit ACK quittiert• Das Senden von Datenblöcken und NAKs wird mit Timern überwacht

Beispiel:

V(S) S S+1 S+2 S+3 S+4 S+5 S+5 S+6

SS+1

S

S+2S+1

S

S+3S+2S+1

S+4S+3S+2S+1

S+1S+4S+3S+2

S+5S+1S+4S+3S+2 S+5

Sendeliste(noch nicht

quittiert)

… S S+1 S+2 S+3 S+4 S+1 S+5 …

… S S+2 S+3 S+4 S+1 S+5

S S SS+2

SS+2S+3

SS+2S+3S+4

SS+2S+3S+4S+1

Empfangsliste

Nr. Sender Empfänger

1 Sendet Paket S2 Empfängt Packet S

Quittiert Packet S mit ACK(S)

3Sendet Packet S+1Empfängt ACK(S)Sendet Packet S+2

4 Empfängt Packet S+2à Paket S+1 fehlt!à Sendet NAK(S+1)à Startet den Timerà sendet kein ACK!

5 Sendet Packet S+3

6 Empfängt S+3à sendet kein ACK!

7 Empfängt NAK(S+1)Sendet Packet S+4

8 Empfängt S+4à sendet kein ACK!

9 Sendet Packet S+1

10 Empfängt S+1Sendet ACK(S+4)

11

Wie

derh

olun

gszu

stan

d

Empfängt ACK(S+4)

Wie

derh

olun

gszu

stan

d

NAK(S+1) ACK(S+4)ACK(S)

2

3

4

51

6

Timer

Kanalausnutzung

(1 )1 2

(1 2 ) 1 2

1 21 1 2

(1 2 )

dt

S S dS

R

d S

R

aT

W W pfür W a

N a a

ap für W a

N a

τ

ρ

=

∗ −= ≤ +

∗ + +=

+= − > +

∗ +

Die Ausnutzung ist um: 11 ( 1)d Sp W −+ −Besser als das Go-Back-N-Verfahren

7

8

9

10

Page 24: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

HDLC-Protokoll

HDLC: High Level Data Link Control

• Rahmen-Protokoll für unterschiedliche Übertragungsprotokolle (HDLC-LAPF, HDLC-LAPM)• Vollduplex-Betrieb• Punkt-zu-Punkt / Punkt-zu-Mehrpunkt-Verbindungen• Multilink-Verbindungen• Rahmenprüfbits• Sequenzkontrolle durch Rahmennummern

Rahmenformat:

7 6 5 4 3 2 1 00 1 1 1 1 1 1 0

Adresse

Steuerinformation

Daten

(max. 132 Byte bei LAPB)

Rahmenprüfbits

0 1 1 1 1 1 1 0

Rahmenbegrenzungszeichen: 0 1 1 1 1 1 1 0 (Flag)Kennzeichnen Anfang und Ende eines FramesFalls außerhalb des Flag-Feldes irgendwo 5 Einsen hintereinander kommen wirdeine Null eingefügt (Bit Stuffing). Damit sind die 6 Einsen eindeutig.

Adressfeld: Bei Befehlen steht hier die Adresse des Empfängers,Bei Meldungen die Adresse des Senders

Steuerfeld: Es wird anhand der ersten 2 Bit zwischen 3 Rahmentypen unterschieden:- I-Rahmen, Datenrahmen

Das Steuerfeld enthält Sende- und Empfangsfolgenummern

7 6 5 4 3 2 1 0N(R) P/F N(S) 0

- S-Rahmen, KontrollblöckeSteueren den Datenaustausch als ACK-, NAK-PaketeZeigen die Bereitschaft zum Empfang weiterer Pakete

7 6 5 4 3 2 1 0N(R) P/F S S 0 1

- U-Rahmen, Kontrollblöcke ohne NummernDienen dem Auf- und Abbau von Verbindungsabschnitten

7 6 5 4 3 2 1 0M M M P/F M M 1 0

P/F-Bit dient zum "Sendeaufruf" bei Befehlen und "Endeanzeige" bei Meldungen.

Datenfeld: Enthält die Nutzdaten

Rahmenprüfbits: Frame-Check-SequencePrüfbist die mittels CRC-Verfahren gebildet wird.

Generatorpolynom ist nach ITU-T Empfehlung: 16 12 5 1u u u+ + +

7 6 5 4 3 2 1 0N(R) P/F N(S) 0

Page 25: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Offene Kommunikation

ISO-OSI-Referenzmodell (Open Systems Interconnection - Schichtenmodell)

Das Grundprinzip des Schichtenmodell ist die Problemaufteilung in Abstraktionsebenen (Schichten), von denenjede eine Zusammenfassung von zusammengehörigen Funktionen ist.Der Abstraktionsgrad steigt von unten nach oben.

- Ein von einer Schicht angebotener Dienst kann nur von der darüber liegenden Schicht in Anspruchgenommen werden.

- Untere Schicht ist Server, die obere Schicht ist Client.- Unterste Schicht ist nur Server, und bringt die Signale auf die Leitung- Oberste Schicht ist Server für Anwendungsprogramme.

Jeder Schicht ist ein Schichtprotokoll (Peer-to-Peer-Protocol) zugeordnet, z.B.:1. Schicht: X.212. Schicht: HDLC (LAP-B)3. Schicht: X.25 (Paketvermittlung)

Schicht Quell-Endystem Protokollstapel Ziel-Endsystem

7 Anwendung Anwendungsprotokoll Anwendung

6 Darstellung Darstellungsprotokoll Darstellung

5 Sitzung Sitzungsprotokoll Sitzung

4 Transport Transportprotokoll Transport

3 Vermittlung (Netzwerk) Vermittlungsprotokoll Vermittlung (Netzwerk)

2 Sicherung Sicherungsprotokoll Sicherung

Info

rmat

ions

über

trag

ung

1 Bitübertragung Bitübertragungsprotokoll Bitübertragung

Übertragungsmedium

Anwendungsschicht: Schnittstelle zwischen dem Anwendungsprozess und den OSI-Kommunikationsprozessen.Betshet wiederum aus Anwendungsdienselementen (ASE - Application ServiceElement) in anwendungsspezifischer und anwendungsunabhängiger Form.SASE (Specific Application Service Elements):- FTAM: File Transfer- MHS: Message Handling (email)- DS: Directory Service

CASE (Common Application Service Elements):- ACSE: Auf- und Abbau von Anwendungsverbindungen- RTSE: zuverlässiger Datentransfer- ROSE: interaktiver Datenaustausch nach Client-Server-Prinzip- CCRSE: Unterstützung von verteilten Anwendungen (Atomarität, Transaktionen)

Darstellungsschicht: Soll einen einheitlichen Transfersyntax für Informationen ermöglichen:Little-Endian / Big-EndianASCII / EBCDIC

Transportschicht: Stellt eine Transparente (Ende-zu-Ende) Verbindung zweier Prozesse her.Multiplexing / Splitting, Segmentierung / Reassambly von TSDUs (Transport ServiceData Units)

Vermittlungsschicht: Adressierung im Netzwerk, , Flusskontrolle, Überlastungs-, Reihenfolgesicherung

Sicherungsschicht: Rahmenbildung, Rahmenerkennung, Fehlererkennung, Übertragungssteuerung

Bitübertragungsschicht: Leitungskodes, Modulationsverfahren, Bitsynchronisierung, Paralell-/Seriell-Wandlung, Zustandüberwachung der Leitung

Page 26: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Internet Protokollarchitektur:

Bitübertragung (Schicht 1): LAN (Ethernet), ISDNSicherung (Schicht 2): LLC (Logical Link Control), PPP (Point-to-Point-Protocol)Vermittlung (Schicht 3): IP (Internet Protocol, incl. ARP/RARP und ICMP)Transport (Schicht 4): TCP (Transmission Control Protocol), UDP (User Datagram Protocol)Sitzung / … / Anwendung: FTP, SMTP, DNS, Telnet, BSD-Sockets, rsh, rlogin, rexec, rcp, NFS, …

Internetprotokoll (IP):- IP ist ein Vermittlungsprotokoll der 3. OSI-Schicht.- IP bildet Datenpakete (Datagramme, Netzwerk-Dienstdateneinheiten N-PDU)- Die Datagramme enthalten im Datenteil die TCP- bzw. UDP-Pakete- IP bietet der Transportschicht (4. OSI-Schicht) einen unzuverlässigen, verbindungslosen

Datenübermittlungsdienst.

- Aufteilen (Fragmentation) und Zusammensetzen (Reassambly) von Datagrammen in Fragmente, damitAnpassung an die Maximum Transmision Unit (MTU) der Sicherungsschicht.

- Routing, jeder Sender kennt die IP-Adresse eine Routers, diese verwalten Routing-Tabellen undermitteln die Wegelenkung zum Empfänger.

- Fehlermeldungen: Zielnetz / -rechner nicht erreichbar, Zugriff verweigert, etc.- Verwerfen von Datagrammen die über zu viele Netzknoten weitergeleitet wurden.

Transmission Control Protocol (TCP):- TCP ist ein Transportprotokoll der 4. OSI-Schicht.- TCP bildet aus einem Bytestrom (TCP-Sendepuffer) Datenpakete (Segmente, Transport-

Dienstdateneinheiten T-PDU) die an die 3. Schicht (IP) weitergegeben werden.- Verbindungsorientierte, vollduplex Punkt-zu-Punkt-Übertragung, jede TCP-Verbindung hat eine Quelle

und ein Ziel (Die Ports, die den Anwendungen zugeordnet sind).- Multiplexen/Demultiplexen, mehrere Anwendungen können die darunter liegende Schicht (IP)

verwenden.- Gesicherte Übertragung mit:

o Fehlererkennung (Prüfsumme),o selektive Wiederholung,o Reihenfolgesicherung mit 32-Bit Folgenummerno Flusskontrolle mit Schiebefenster (Größe des Sendefensters wird vom Empfänger adaptiv

gesteuert)o Überlastkontrolle

User Datagram Protocol (UDP):- UDP ist ein Transportprotokoll der 4. OSI-Schicht.- UDP bietet einen unsicheren verbindungslosen Transportdienst an- Fehlererkennung mittels Prüfsumme- Multiplex-/Demultiplexfunktion- Prozess-zu-Prozess-Kommunikation (Portnummern)- Einfacher und Schneller als TCP

Socket: Dienstzugangspunkt über die eine Anwendung mit TCP oder UDP kommuniziert.

Router: Rechner oder Hardwarekomponente der die Wegelenkung der IP-Datagramme übernimmtErmöglicht die Interoperabilität und Konnektivität zwischen LANs und WANs und denZusammenschluss von LANs mit unterschiedlichen Netzwerktopologien (wie z. B. Ethernet und TokenRing). Router vergleichen die im Paketheader enthaltenen Informationen mit einem LAN-Segmentund wählen dann den bestmöglichen Übertragungsweg für das Paket aus, wobei sie versuchen, dieNetzwerkleistung zu optimieren.- Netzwerkkarte für jedes angeschlossene Netz- Zwischenspeicher für Datagramme- Routingprogramm- Routingtabelle

Gateway: Ein Gerät, das mit mehreren physischen TCP/IP-Netzwerken verbunden ist, die untereinander IP-Pakete weiterleiten oder verteilen können. Ein Gateway übersetzt verschiedene Transportprotokolleoder Datenformate (beispielsweise IPX und IP) und wird zu Netzwerken in erster Linie aufgrunddieser Übersetzungsfunktion hinzugefügt.Gateways werden auch als IP-Router bezeichnet.

Page 27: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Adressierung im Internet mittels IPv4:

Jede IP Adresse hat 32-Bit in der Form nnn.nnn.nnn.nnn, wobai nnn eine Zahl zwischen 0 und 255 ist.

Bitposition

Kla

sse

Adressraum1 - 8 9 - 16 17 - 24 25 - 32

Netz-adressen

Rechner-adressen

A 0.0.0.0 – 127.255.255.255 0 netid hostid 27-1 224-1B 128.0.0.0 – 191.255.255.255 10 netid hostid 214-1 216-1C 192.0.0.0 – 223.255.255.255 110 netid hostid 221-1 28-1D 224.0.0.0 – 239.255.255.255 1110 Multicast-Adressen 228-1E 240.0.0.0 – 247.255.255.255 11110 Reserve 227-1

private IP-Adressen:

1 Klasse A-Netz: 10.0.0.0 – 10.255.255.25516 Klasse B-Netz: 172.16.0.0 – 172.31.255.255256 Klasse C-Netz: 192.168.0.0 – 192.168.255.255

reservierten IP-Adressen:

Adresse Bedeutung0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Dieser Rechner (0~This)0 0 0 0 0 … hostid Hostid in diesem Netz1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Rundsendung im eigenen Netznetid 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 … Rundsendung im Netz netid (1~All)127. xxx.yyy.zzz Schleifentest (z.B.: 127.0.0.1)

Subnetting:

Der Adressraum für die lokale hostid kann in Subnetze aufgeteilt werden.Dies geschiht über eine Subnetzmaske, diese gibt durch logische UND-Verknüpfung an, welche Bits derbisherigen hostid als Subnetid verwendet werden sollen.

Netzanteil Lokaler Anteil1 0 netid subnetid hostid1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

netid subnetid hostidEmpfägeradresse:135.20.13.32 10000111 00010100 00001101 00100000Subnetzmaske:255.255.255.0 11111111 11111111 11111111 00000000

netid hostidRouter außerhalb deslokalen Netzes: 10000111 00010100 00001101 00100000

netid hostidRouter innerhalb deslokalen Netzes: 10000111 00010100 00001101 00100000

Adressebenen:

Symbolischer Name([email protected]) [email protected]

à Domain Name System (DNS)IP-Adresse 140.211.49.1à Adress Resolution Protocol (ARP)MAC Adresse 0800200466B7

Page 28: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Routing

• Direct-Route zu einem Netz: Die Netid des Datagramms gehört zu einem direkt angeschlossenenNetz.Zugehörige MAC-Adresse mittels ARP ermitteln und über die richtigeNetzwerkkarte versenden.

• Indirect Route zu einem Rechner: Die Hostid gehört zu einem Rechner in einem anderen Netz.Es existiert jedoch ein Routing-Eintrag für die Hostid.Zugehörige MAC-Adresse des nächsten Routers mittels ARP ermittelnund über die richtige Netzwerkkarte versenden.

• Indirect Route zu einem Netz: Die Hostid gehört zu einem Rechner in einem anderen Netz.Es existiert kein Routing-Eintrag für die Hostid.Es existiert jedoch ein Routing-Eintrag für die Netid.Zugehörige MAC-Adresse des nächsten Routers mittels ARP ermittelnund über die richtige Netzwerkkarte versenden.

• Indirect Route über Default Router: Die Hostid gehört zu einem Rechner in einem anderen Netz.Es existiert kein Routing-Eintrag für die Hostid.Es existiert kein Routing-Eintrag für die Netid.Zugehörige MAC-Adresse des default Routers mittels ARP ermittelnund über die richtige Netzwerkkarte versenden.

Jeder Router leitet die Datagramme gemäß folgendem Algorithmus weiter:

IF( netid = "direkt angeschlossenes Netz" ){ direct route}ELSE{

IF( hostid in Routingtabelle ) { indirect route zu einem Host }

ELSE {

IF( netid in Routingtabelle ) { indirect route zu einem Netz }

ELSE { indirect route über default Router } }}

Routingtabelle:

Empfängeradresse: - Rechneradresse (Hostid ≠ 0, Flag = H) à direct Route- Netzadresse (Hostid = 0)

Gateway-Adresse: - Router für nächsten Verbindungsabschnitt (Flag G)- Adresse des Interfaces für ein direkt angeschlossenes Netz (kein Flag)

Flags: - H = 1 à Empfängeradresse weist auf einen Rechner (direct route)- H = 0 à Empfänger ist ein Netz- G = 1 à Empfängeradresse weist auf einen Gateway-Router (indirect route)- G = 0 à Empfängeradresse weist auf ein direkt angeschlossenes Netz (direkt route)

Route zu einem Subnetz-Maske Empfänger-AdresseRechner 255.255.255.255 IP-Adresse der RechnersDefault Router 0.0.0.0 0.0.0.0Klasse-B-Subnetz 255.255.x.y IP-Adresse des SubnetzesKlasse-B-Netz 255.255.0.0 IP-Adresse des Netzes

Page 29: Zauberblätter · Konzept 2:-Alle vorkommenden Zeichen werden nach ihrer Häufigkeit sortiert.-Für das seltenste Zeichen wird der Informationsgehalt( )1 i i H x ld bit p = bestimmt

Beispiel 1:

Routing-Tabelle für G0Nr. Empfänger Subnetz-Maske Gateway Flags Interface Notiz1 0.0.0.0 0.0.0.0 135.20.2.21 G Eth0 Default Router2 127.0.0.0 255.0.0.0 127.0.0.1 H Lo0 Loop-Back-Test3 135.20.2.0 255.255.255.0 135.20.2.56 Eth0 Hostid=0à Empfänger ist Subnetz14 135.20.16.0 255.255.255.0 135.20.16.78 Eth1 Hostid=0à Empfänger ist Subnetz25 135.20.1.2 255.255.255.255 135.20.2.19 G Eth0 Indirect Route, next-Hop-Router6 135.22.0.0 255.255.0.0 135.20.16.45 G Eth1 Gateway zu Klasse-B-Netz

Beispiel 2:

Routing-Tabelle für H2Nr. Empfänger Gateway Flags Notiz1 0.0.0.0 135.20.13.33 G Default Router2 127.0.0.1 127.0.0.1 H Loop-Back-Test3 135.20.13.65 135.20.13.35 H, G Host über Gateway erreichbar4 135.20.13.32 135.20.13.34 Empfänger ist Subnetz 25 135.20.1.0 135.20.13.33 Empfänger ist Subnetz 16 135.20.1.5 135.20.13.33 H, G

135.20.1.2

H

135.20.2.19

G2

135.20.2.21default

G3

G1

135.20.16.45

Netz: 135.22.0.0

Eth1135.20.16.78

G0135.20.2.56

Eth0

Subnetz 1: 135.20.16.0

Subnetz 2: 135.20.2.0

Internet

135.20.13.65

H

135.20.13.66G1

135.20.13.35

H2

135.20.13.34

135.20.21.1G3

135.20.1.4

Netz: 140.241.21.4

135.20.1.29G2

default135.20.13.33

Subnetz 1: 135.20.1.0

Subnetz 2: 135.20.13.32

H3135.20.1.5