| |
DL1RNQ > AX25 18.11.94 00:10l 460 Lines 20520 Bytes #-11639 (0) @ DL
BID : 16B403DB0BRB
Read: DG8MGW DG4GO DK9OS DL3MEW DF8TS DG2GML DG5MJS DK1DH DG8GAD DL3MDI DG6MAY
Read: DL8MAQ DL8MAS DG2MJT DG2MJM DG2MNF DK1MBY DH1NFJ GUEST DJ2RT
Subj: AX25 Beschreibung 2/5
Path: DB0KCP<DB0AAB<DB0LNA<DB0RGB<DB0ABH<DB0BOX<DB0MRW<OK0PKL<DB0JES<DB0BRB
Sent: 941116/1255z @DB0BRB.#BRB.DEU.EU [Brandenburg,TheBox1.9a:DL1RNQ]
de DL1RNQ @ DB0BRB.#BRB.DEU.EU
to AX25 @ DL
========================================================================
2.2.13.1.2 Kodierung des Absender-Subfeldes
Das Absender-Subfeld wird in der gleichen Weise kodiert, wie das
Empfaenger-Subfeld und in den Adressbytes A8 bis A14 ausgestrahlt.
Falls keine Level-2-Digipeater verwendet werden, ist das Bit 0 im
SSID-Byte (A14) auf Eins gesetzt.
----------------------------------
| Byte | ASCII | Binaer | Hex. |
|--------------------------------|
| A8 | D | 10001000 | 88 |
| A9 | K | 10010110 | 96 |
| A10 | 8 | 01110000 | 70 |
| A11 | H | 10010000 | 90 |
| A12 | I | 10010010 | 92 |
| A13 | | 01000000 | 40 |
| A14 | SSID | CRRSSID1 | |
----------------------------------
Bit Position --> 76543210
Abb. 3A -- Kodierung des Absender-Subfeldes
2.2.13.2 Kodierung der Level-2-Digipeateradresse
Wenn ein Block ueber einen Level-2-Digipeater (Digital-Repeater)
uebertragen werden soll, wird ein zusaetzliches Adress-Subfeld als
Adressbytes A15 bis A21 an die Adresse angehaengt. Dann ist das Bit 0
von A14 auf Null gesetzt, um anzuzeigen, dass ein weiters Adress-Subfeld
folgt und das Bit 0 von A21 auf Eins um das Ende des Adressfeldes anzu-
zeigen.
Das Digipeater-Subfeld ist in der gleichen Weise kodiert, wie das
Empfaenger-Subfeld, mit der Ausnahme, dass das hoechstwertigste Bit
im letzten Byte (A21) als "H"-Bit gekennzeichnet wird und anzeigen
soll, ob der Block von einem Digipeater bereits uebertragen wurde.
Auf dem Weg zum Digipeater soll das Bit auf Null gesetzt sein. Der
Digipeater setzt dann das Bit, bevor der Block wieder ausgestrahlt
wird, auf Eins.
----------------------------------
| Byte | ASCII | Binaer | Hex. |
|--------------------------------|
| A15 | D | 10001000 | 88 |
| A16 | L | 10011000 | 98 |
| A17 | 0 | 01100000 | 60 |
| A18 | C | 10000110 | 86 |
| A19 | C | 10000110 | 86 |
| A20 | C | 10000110 | 86 |
| A21 | SSID | HRRSSID1 | |
----------------------------------
Bit Position --> 76543210
Abb. 4 -- Kodierung des Digipeater-Subfeldes
2.2.13.3 Betrieb ueber mehrere Digipeater
Das Link-Layer AX.25 Protokoll gestattet den Betrieb ueber mehr als
einen Digipeater und schafft damit die Moeglichkeit eines einfachen
Mechanismus zur Weiterleitung von Blocks. Insgesamt duerfen bis zu
acht Digipeater-Subfelder im Adressfeld stehen. Dabei ist das erste
Digipeater-Subfeld, das auf die Absenderadresse folgt, auch die Adresse
des ersten Digipeaters, ueber den der Block uebertragen werden soll.
Die Digipeater setzten jeweils das "H"-Bit des zu ihnen gehoerenden
Adress-Subfeldes um anzuzeigen, dass sie den Block uebertragen haben.
Ausser der notwendigen Neuberechnung der FCS sollen am Block keine
weiteren Veraenderungen vorgenommen werden. Die empfangende Station
kann anhand des Adressfeldes sehen, ueber welchen Weg der Block zu
ihr gelangt ist.
Die Anzahl der Digipeater-Subfelder ist variabel. Nur das Bit 0 des
SSID-Bytes des letzten Digipeaters wird auf Eins gesetzt, um anzuzeigen,
dass das Adressfeld hier aufhoert. In allen anderen SSID-Bytes ist das
Bit 0 auf Null gesetzt.
Die Werte der verschiedenen Zeitgeber muessen z.T. an die zusaetzlichen
Verzoegerungszeiten angepasst werden, wenn ein Block ueber viele
Digipeater weitergereicht wird, und die Bestaetigung den gleichen Weg
wieder zuruecklaufen muss.
Man erwartet, dass der Betrieb ueber mehrere Digipeater ein
voruebergehendes Verfahren sein wird, um grosse Entfernungen zu
ueberbruecken, bis ein Level-3-Protokoll eingefuehrt ist. Danach sollte
die Uebertragung ueber mehrere Level-2-Digipeater nicht mehr verwendet
werden.
2.3 Kenngroessen des Steuerungsverfahrens/der Uebermittlungsvorschrift
2.3.1 Elemente des Verfahrens
Die Elemente des Verfahrens sind in Form von Aktionen beschrieben, die
sich nach dem Empfang von Blocks ergeben. (Klar?)
Die Elemente des Verfahrens sind die verschiedenen Befehle und
Meldungen, die in Form von U-, S- und I-Blocks uebermittelt werden.
Die Art des Befehls oder der Meldung ergibt sich aus dem Kontrollfeld
des Blocks, sie ist im Blocktyp kodiert. Die Uebermittlungsvorschrift
muss ferner noch den Zustand der Folgezaehler (state vabiables)
beachten, um nach dem Empfang eines Blocks die zutreffende Aktion
auszuloesen.
Abschnitt 2.2 handelte vom grundsaetzliche Aufbau der
Uebermittlungsblocks. Hier, in 2.3, werden die verschiedenen Typen von
Kontrollfeldern und Folgezaehlern definiert. Abschnitt 2.4 enthaelt die
Beschreibung der Uebermittlungsvorschrift selbst.
2.3.2 Formate des Kontrollfeldes und der Folgezaehler
2.3.2.1 Formate des Kontrollfeldes
Das Kontrollfeld gibt den Typ des uebertragenen Blocks an und wird
verwendet, um Befehle und Meldungen zwischen den Endpunkten der
Verbindung auszutauschen und damit die Verbindung zu ueberwachen.
Das AX.25 verwendet die Kontrollfelder des CCITT X.25 fuer den Betrieb
mit gleichberechtigten Stationen (balanced operation, LABP), mit einem
zusaetzlichen Kontrollfeld, das dem ADCCP entnommen ist, um auch den
Betrieb ohne aufgebaute Verbindung und Aussendungen an mehrere Stationen
gleichzeitig zu ermoeglichen.
Im allgemeinen gibt es drei verschiedene Typen von AX.25-Blocks:
Informationsblocks (I-Blocks), Steuerblocks mit Folgenummern
(Supervisor-Blocks, S-Blocks) und Steuerblocks ohne Folgenummern
(Unnumbered-Blocks, U-Blocks). Abb. 5 zeigt die grundlegenden Formate
des Kontrollfeldes dieser drei Typen von Blocks.
--------------------------------------------
| Kontrollfeld | Kontrollfeld-Bits |
| Typ | 7 6 5 | 4 | 3 2 1 0 |
|------------------------------------------|
| I-Block | N(R) | P | N(S) | 0 |
|------------------------------------------|
| S-Block | N(R) | P/F | S S | 0 1 |
|------------------------------------------|
| U-Block | M M M | P/F | M M | 1 1 |
--------------------------------------------
Abb. 5 -- Formate des Kontrollfeldes
Dazu:
1. Bit 0 ist das zuerst, Bit 7 das zuletzt ausgesandte Bit des
Kontrollfeldes.
2. N(S) ist ist die Sendefolgenummer (Bit 1 ist das Bit mit der
niedrigsten Wertigkeit).
3. N(R) ist ist die Empfangsfolgenummer (Bit 5 ist das Bit mit der
niedrigsten Wertigkeit).
4. Die "S"-Bits spezifizieren eine bestimmte Steuerungsfunktion in den
Supervisor-Blocks. Ihre Kodierung wird in 2.3.4.2 beschrieben.
5. Die "M"-Bits spezifizieren eine bestimmte Steuerungsfunktion in den
unnumerierten Blocks. Ihre Kodierung wird in 2.3.4.3 beschrieben.
6. Das Poll/Final-Bit (P/F-Bit) ist das Bit zur Sendeaufruf/Ende-
Anzeige. Seine Funktion wird in 2.3.3 behandelt, das Verfahren zu
seiner Benutzung in 2.4.2. Die Unterscheidung zwischen Sendeaufruf
und Ende, d.h. zwischen Kommando und Antwort ist durch die
Adressierungsregeln in 2.4.1.2 festgelegt.
2.3.2.1.1 Format der Informationsblocks
I-Blocks werden zur Uebertragung von Datenpaketen (Text oder Pakete
hoeherer Protokollschichten) verwendet. In I-Blocks ist das Bit 0 des
Kontrollfeldes auf Null gesetzt. N(S) ist die Sendefolgenummer des
Absenders (die Sendefolgenummer dieses Blocks). N(R) ist die Empfangs-
folgenummer des Absenders (die Folgenummer des naechsten erwarteten
I-Blocks in der anderen Richtung) und kann zur evtl. Bestaetigung noch
nicht bestaetigter I-Blocks dienen. Die Folgenummern sind in 2.3.2.4
beschrieben.
2.3.2.1.2 Format der Supervisor-Blocks
S-Blocks werden fuer ueberwachende Steuerfunktionen benutzt, wie die
Bestaetigung von Datenblocks, die Aufforderung zur Wiederholung von
Blocks oder die zeitweilige Unterbrechung der Uebertragung von Blocks.
In S-Blocks ist das Bit 0 des Kontrollfeldes auf Eins, das Bit 1 auf
Null gesetzt. S-Blocks besitzen kein Informationsfeld.
2.3.2.1.3 Format der unnumerierten Blocks
U-Blocks werden zur Darstellung weiterer Steuerfunktionen benutzt.
Sie sind u.a. fuer den Aufbau und die Trennung einer Verbindung
verantwortlich. Ausserdem erlauben die U-Blocks die Uebertragung von
Informationen ausserhalb der normalen Flusskontrolle. In U-Blocks sind
die Bits 0 und 1 des Kontrollfeldes beide auf Eins gesetzt. Einige
Typen von U-Blocks koennen Informations- und PID-Felder enthalten.
2.3.2.2 Parameter des Kontrollfeldes
Die verschieden Teile des Kontrollfeldes werden in den folgenden
Abschnitten beschrieben. (Die Numerierung scheint hier schon im
Original der X.25 Beschreibung nicht ganz konsistent zu sein...)
2.3.2.3 Folgenummern
Jeder Block ist fortlaufend numeriert (DIN-Deutsch: benummert), wobei
diese Nummer modulo 8 von 0 bis 7 laufen soll. Dadurch sind maximal 7
unbestaetigte Blocks in einer Level 2 Verbindung moeglich.
2.3.2.4 Folgezaehler und Folgenummern
2.3.2.4.1 Sendefolgezaehler V(S) (send state variable)
Der Sendefolgezaehler ist eine interne Variable der DXE. Er enthaelt die
Folgenummer des naechsten auszustrahlenden I-Blocks und wird nach der
Aussendung jedes neuen I-Blocks um eins erhoeht.
2.3.2.4.2 Sendefolgenummer N(S) (send sequence number)
Die Sendefolgenummer ist im Kontrollfeld aller I-Blocks enthalten und
stellt die laufende Nummer des Blocks dar. Vor der Aussendung eines
I-Blocks wird die Sendefolgenummer gleich dem Inhalt des Sendefolge-
zaehlers gesetzt.
2.3.2.4.3 Empfangsfolgezaehler V(R) (receive state variable)
Der Empfangsfolgezaehler ist eine interne Variable der DXE. Er enthaelt
die Folgenummer des naechsten erwarteten I-Blocks und wird erhoeht,
wenn ein fehlerfreier I-Block empfangen wurde, dessen Folgenummer gleich
dem Wert des Empfangsfolgezaehlers ist.
2.3.2.4.4 Empfangsfolgenummer N(R) (receive sequence number)
Die Empfangsfolgenummer ist in den Kontrollfeldern der I- und S-Blocks
enthalten. Vor der Aussendung eines I- oder S-Blocks wird die
Empfangsfolgenummer auf den Wert des Empfangsfolgezaehlers gesetzt.
Dadurch wird angezeigt, dass die DXE, die N(R) aussendet, alle I-Blocks
der Gegenstation mit Folgenummern bis zum Wert N(R)-1 richtig empfangen
hat.
2.3.3 Aufgabe des Poll/Final-Bits
Das Poll/Final-Bit wird in allen Blocktypen verwendet. Als Kommando
(Poll) fordert es eine sofortige Antwort auf einen Block an. Die Antwort
auf dieses Kommando ist durch ein ebenfalls gesetztes Bit (Final)
angezeigt. In jeder Richtung der Verbindung ist nur ein solcher Poll-
Zustand zur Zeit gestattet. Das Verfahren zur Verwendung des P/F-Bits
ist in 2.4.2 beschrieben.
2.3.4 Kommandos und Meldungen
Folgende Kommandos und Meldungen, angezeigt durch das Kontrollfeld,
koennen von einer DXE verwendet werden:
2.3.4.1 Befehl zur Datenuebermittlung mit Flusskontrolle
I-Blocks uebertragen Daten- oder Textpakete unter Flusskontrolle. Das
Kontrollfeld von I-Blocks ist in Abb. 6 gezeigt. Die Uebertragung von
Daten in I-Blocks wird stets als Kommando angesehen (gekennzeichnet
durch ein P im Feld fuer das P/F-Bit). I-Blocks sind im Kontrollfeld
durch N(S) fortlaufend (modulo 8) numeriert, um ihren Weg entlang
der Link-Layer Verbindung verfolgen zu koennen.
2.3.4.2 Supervisor-Blocks
Die Kontrollfelder der drei verschiedenen Typen von Supervisor-Blocks
sind in Abb. 6 dargestellt.
2.3.4.2.1 Meldung oder Kommando "empfangsbereit" (RR, receive ready)
Die Meldung oder das Kommando Empfangsbereit wird in einem RR-Block
uebertragen. Als Meldung wird der RR-Block zu folgendem verwendet:
1. um anzuzeigen, dass der Absender des RR-Blocks in der Lage ist,
weitere Informationsblocks zu empfangen,
2. um den Empfang der einwandfrei empfangenen I-Blocks bis zur
Nummer N(R)-1 zu bestaetigen und
3. um einen evtl. vorher bestehenden Zustand "nicht Empfangsbereit"
aufzuheben.
Man kann den Zustand des anderen Endes der Verbindung durch Senden eines
RR-Blocks als Kommando mit gesetztem P-Bit erfragen.
2.3.4.2.2 Meldung oder Kommando "nicht empfangsbereit" (RNR, receive
not ready)
Ein RNR-Block wird von einer DXE ausgestrahlt, um anzuzeigen, dass sie
zur Zeit beschaeftigt ist und keine weiteren I-Blocks empfangen kann.
Empfangene I-Blocks bis zur Nummer N(R)-1 gelten als bestaetigt. Alle
I-Blocks mit einer Nummer N(R) und hoeher, die evtl. waehrend des
Zustandswechsels uebertragen wurden, sind nicht bestaetigt.
Der Zustand "nicht empfangsbereit" kann aufgehoben werden durch das
Aussenden eines UA-, RR-, REJ- oder SABM-Blocks.
Man kann den Zustand des anderen Endes der Verbindung durch Senden eines
RNR-Blocks als Kommando mit gesetztem P-Bit erfragen.
2.3.4.2.3 Meldung oder Kommando "Wiederholungsaufforderung" (REJ,
reject)
Ein REJ-Block wird von einer DXE ausgestrahlt, um eine Wiederholung von
I-Blocks ab der Nummer N(R) anzufordern. Alle I-Blocks mit einer
Folgenummer bis N(R)-1 sind bestaetigt. Falls neue I-Blocks zur
Uebertragung anstehen, duerfen diese anschliessend an die Wiederholung
ausgestrahlt werden.
In jeder Richtung einer Verbindung ist nur ein Zustand
"Wiederholungsaufforderung" moeglich. Aufgehoben wird dieser Zustand
durch den einwandfreien Empfang des I-Blocks, der diesen Zustand
ausgeloest hat.
Man kann den Zustand des anderen Endes der Verbindung durch Senden eines
REJ-Blocks als Kommando mit gesetztem P-Bit erfragen.
---------------------------------------------------------------
| Kommando oder Meldung | Bits im Kontrollfeld |
| | 7 6 5 | 4 | 3 2 1 | 0 |
|-------------------------------------------------------------|
| Informationsuebertragung I | N(R) | P | N(S) | 0 |
|-------------------------------------------------------------|
| Empfangsbereit RR | N(R) | P/F | 0 0 | 0 1 |
|-------------------------------------------------------------|
| Nicht empfangsbereit RNR | N(R) | P/F | 0 1 | 0 1 |
|-------------------------------------------------------------|
| Wiederholungsaufforderung REJ | N(R) | P/F | 1 0 | 0 1 |
|-------------------------------------------------------------|
| Verbindungsanforderung SABM | 0 0 1 | P | 1 1 | 1 1 |
|-------------------------------------------------------------|
| Verbindungsabbruch DISC | 0 1 0 | P | 0 0 | 1 1 |
|-------------------------------------------------------------|
| Verbindungsrueckweisung DM | 0 0 0 | F | 1 1 | 1 1 |
|-------------------------------------------------------------|
| Unnumerierte Bestaetigung UA | 0 1 1 | F | 0 0 | 1 1 |
|-------------------------------------------------------------|
| Rueckweisung eines Blocks FRMR | 1 0 0 | F | 0 1 | 1 1 |
|-------------------------------------------------------------|
| Unnumerierte Information UI | 0 0 0 | P/F | 0 0 | 1 1 |
---------------------------------------------------------------
Abb. 6 -- Kodierung der Kontrollfelder
2.3.4.3 Nicht numerierte Blocks
Die Kontrollfelder der nicht numerierten Blocks sind in Abb. 6
dargestellt.
2.3.4.3.1 Kommando "Verbindungsanforderung" (SABM, set asynchronous
balanced mode)
Das Kommando SABM wird dazu benutzt, zwei DXE's in den Zustand
"asynchronous balanced mode" - "gleichberechtigter Spontanbetrieb" zu
versetzen. Der Betrieb mit diesem Zustand ist bekannt unter der
Bezeichnung LAPB (link acces procedure balanced), bei dem beide
Stationen gleichberechtigt sind.
In einem SABM-Block darf kein Informationsfeld enthalten sein. Evtl.
vorher ausgesandte und noch nicht bestaetigte I-Blocks bleiben
unbestaetigt.
Eine DXE bestaetigt den Empfang und die Annahme eines SABM-Kommandos
durch die Aussendung einer UA-Meldung zum fruehest moeglichen Zeitpunkt.
Falls die DXE das SABM-Kommando nicht akzeptieren kann, so soll sie,
falls moeglich, einen DM-Block aussenden.
2.3.4.3.2 Kommando "Verbindungsabbruch" (DISC, disconnect)
Das Kommando DISC wird dazu benutzt, die Verbindung zwischen zwei
Stationen auf der Link-Ebene zu trennen. Es darf in einem DISC-Block
kein Informationsfeld enthalten sein.
Bevor die empfangende DXE den DISC-Block bearbeitet, bestaetigt sie
dessen Empfang durch Aussendung einer UA-Meldung zum fruehest moeglichen
Zeitpunkt. Die DXE, die den DISC-Block ausgesandt hat, trennt die
Verbindung, wenn sie die UA-Meldung empfaengt.
Evtl. vorher ausgesandte und noch nicht bestaetigte I-Blocks bleiben
unbestaetigt.
2.3.4.3.3 Meldung "Rueckweisung eines Blocks" (FRMR, frame reject)
Der FRMR-Block wird ausgesandt, um anzuzeigen, dass ein empfangener
Block nicht ausgewertet und der Fehler nicht durch die nochmalige
Uebertragung dieses Blocks behoben werden kann. Normalerweise tritt
dieser Fall ein, wenn ein Block mit korrektem FCS-Feld empfangen wurde
und eine der folgenden Bedingungen zutrifft:
1. Empfang eines ungueltigen oder nicht implementierten Kommando- oder
Meldungsblocks, d.h. der Block hat ein unbekanntes Kontrollfeld.
2. Empfang eines I-Blocks, dessen I-Feld laenger ist als die
vereinbarte maximale Laenge.
3. Empfang eines Blocks mit einer ungueltigen N(R), d.h., die N(R)
bestaetigt einen I-Block, der noch nicht uebermittelt worden ist.
4. Empfang eines Blocks mit einem I-Feld, wenn in diesem Blocktyp kein
I-Feld zugelassen ist. Um dieses anzuzeigen sollen die Bits W und
Y im I-Feld des FRMR-Blocks gesetzt werden.
5. Empfang eines S-Blocks mit gesetztem F-Bit, wenn dieses nicht als
Antwort auf einen Block mit gesetztem P-Bit folgt. Bit W im I-Feld
des FRMR-Blocks soll gesetzt werden.
6. Empfang eines unerwarteten UA- oder DM-Blocks. Bit W soll gesetzt
werden.
7. Empfang eines I-Blocks mit einer ungueltigen N(S), d.h., die N(S)
ist groesser als die N(S) des zuletzt bestaetigten I-Blocks plus
die maximal zulaessige Anzahl unbestaetigter I-Blocks.
FRMR-Blocks enthalten ein drei Byte langes I-Feld, das zusaetzliche
Informationen darueber enthaelt, wo der Fehler aufgetreten ist. Das
Format des I-Feldes ist in Abb. 7 dargestellt.
---------------------------------------------------
| I-Feld Bits |
| 2 2 2 2 1 1 1 1 1 1 1 1 1 1 |
| 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 |
|-------------------------------------------------|
| 0 0 0 0|Z|Y|X|W| V(R)|C| V(S)|0| Kontrollfeld |
| | | | | | |R| | | des zurueckge- |
| | | | | | | | | | wiesenen Blocks|
---------------------------------------------------
Abb. 7 -- I-Feld des FRMR-Blocks
Dazu:
1. Bits 0-7 des I-Feldes enthalten das Kontrollfeld des Blocks, der
die Zurueckweisung ausgeloest hat.
2. V(S) ist der Sendefolgezaehler der DXE, die den FRMR-Block
aussendet.
3. Das CR-Bit ist Null, wenn der zurueckgewiesene Block ein Kommando,
Eins, wenn er eine Meldung war.
4. V(R) ist der Empfangsfolgezaehler der DXE, die den FRMR-Block
aussendet.
5. Bit W wird gesetzt, wenn das empfangene Kontrollfeld ungueltig oder
nicht implementiert ist.
6. Bit X wird gesetzt, wenn der empfangene Block ein I-Feld enthaelt
obwohl in diesem Typ von Block kein I-Feld zugelassen ist.
Zusaetzlich zum X-Bit soll das W-Bit gesetzt werden.
7. Bit Y wird gesetzt, wenn der empfangene I-Block ein I-Feld enthaelt,
das laenger ist als die vereinbarte maximale Laenge.
8. Bit Z wird gesetzt, wenn ein Block mit einer ungueltigen N(R)
empfangen wurde.
9. Bits 8 und 20 bis 23 sind Null.
============================================================================
>>>>>> Der dritte Teil beginnt mit:
2.3.4.3.4 Meldung "Unnumerierte Bestaetigung" (UA, unnumbered
Read previous mail | Read next mail
| |