LAPD



LAPD (Link Access Protocol - Channel D) ist ein Layer 2 Protokoll definiert in CCITT Q.920/921 bzw. ETS 300 125. LAPD arbeitet ausschließlich im Asynchronous Balanced Mode (ABM). Eine der typischen Anwendungen ist X31 im D-Kanal (Paket-Dienst).
Die hier aufgeführten Daten dienen einzig als Kurzübersicht über die Arten von LAPD-Paketen. Für detailierte Informationen ist einzig die ETS 300 125  zuständig.


allgemein:

Flag

SAPI

TEI

CF

Parameter / Daten

FCS

Flag

7Eh

-------------------
Address Field

7Eh



SAPIService access point identifer
• bit-1: C/R-Command/Response bit.
  (Frames from the user with this bit set to 0 are command frames, as    are frames from the network with this bit set to 1. Other values    indicate a response frame.)
• bit-0: EA1-First Address Extension bit which is always set to 0.
TEITerminal endpoint identifer
• bit-0: EA2-Second Address Extension bit which is always set to 1
CFControl Field - Typ des Paketes
Parameter / Datenabhängig vom Typ
FCSFrame Check Sequence


SAPI - Service Access Point Identifier:

0 Used by CCITT signaling
1 Not defined
16Used for paket-data communication
32Used for internal loop-tests only (national !!!)
63Used for management(TEI) in all services

für X31 im D-Kanal gilt dabei fix: SAPI = 16 (bis auf TEI-Management)




TEI - Terminal Endpoint Identifier:

0-63 Used by non-automatic TEI assignment user equipment
64-126Used by automatic TEI assignment equipment
127Used for a broadcast connection meant for all Terminal Endpoints

allgemein üblich für X31 (jedoch nicht fix !): TEI=1




Die Numerierung erfolgt nach Modulo-128.



Typen:

SABME

" set asyncronous balanced mode extended "

Flag

SAPI

TEI

7Fh

FCS

Flag



7FhTyp: SABME
• bit-4: poll-bit


DM

" disconnected mode "

Flag

SAPI

TEI

1Fh

FCS

Flag



1FhTyp: DM
• bit-4: final-bit


DISC

" disconnect "

Flag

SAPI

TEI

53h

FCS

Flag



53hTyp: DISC
• bit-4: poll-bit


UA

" unnumbered acknowledgement "

Flag

SAPI

TEI

73h

FCS

Flag



73hTyp: UA
• bit-4: final-bit


FRMR
!!! soll nicht verwendet werden !!!

" frame reject "

Flag

SAPI

TEI

87h

data-field

FCS

Flag



87hTyp: FRMR
• bit-4: final-bit
data-fieldsee ETS 300 125


XID
!!! soll nicht verwendet werden !!!

" exchange identification node "

Flag

SAPI

TEI

AFh

data-field

FCS

Flag



AFhTyp: XID
• bit-4: poll/final-bit
data-fieldsee ETS 300 125


REJ

" reject "

Flag

SAPI

TEI

09h

xxh

FCS

Flag



09hTyp: REJ
• bit-4: poll/final-bit
xxh • bit-7..1: receive sequence number


RNR

" receive not ready "

Flag

SAPI

TEI

05h

xxh

FCS

Flag



09hTyp: RNR
• bit-4: poll/final-bit
xxh • bit-7..1: receive sequence number


RR

" receive ready "

Flag

SAPI

TEI

01h

xxh

FCS

Flag



01hTyp: RR
• bit-4: poll/final-bit
xxh • bit-7..1: receive sequence number


I-frame

" data-frame "

Flag

SAPI

TEI

xx..xx0b

xxh

data

FCS

Flag



01hTyp: I-frame
• bit-7..1: send sequence number
• bit-0: must be zero
xxh • bit-7..1: receive sequence number
• bit-0: poll -bit


UI

" unnumbered information "

Flag

SAPI

TEI

03h

[data-field]

FCS

Flag



03hTyp: UI
• bit-4: poll-bit
[data-field]optional (for example: TEI-management) - see ETS 300 125





Im Standard zu LAPD sind aufwendige State-Diagramme zu den jeweiligen Übergängen und Fehlerbehandlungen dargestellt. Eine Variante um einen platzsparenden und gleichzeitig gut zu pflegenden Zustands/Übergangs-Mechanismus zu erhalten, ist die Implementation mittels einer State-Table. Dabei wird der aktuelle Status als Zeile und der empfangene Paket-Typ als Spalte verwendet. Das dort hinterlegte Byte gibt im oberen Nibble die erforderliche Reaktion und das untere Nibble den neuen State wieder. Da ausreichend Ausnahmeregelungen existieren, sind jedoch noch weitere Auswertungen um solch eine Tabelle herum nötig (siehe ETS 300 125).