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 7Eh
abhängig vom Typ
Control Field
Typ des Paketes Frame Check Sequence
|---------------------| Address Field
Terminal endpoint identifer
bit-0 EA2-Second Address Extension bit which is always set to 1.
Service 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.
SAPI – Service Access Point Identifier:
0 | Used by CCITT signaling |
1 | Not defined |
16 | Used for paket-data communication |
32 | Used for internal loop-tests only (national !!!) |
63 | Used 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-126 | Used by automatic TEI assignment equipment. |
127 | Used 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:
" set asyncronous balanced mode extended "
Flag | SAPI | TEI | 7Fh | FCS | Flag |
bit-4 poll-bit
SABME
" disconnected mode "
Flag | SAPI | TEI | 1Fh | FCS | Flag |
bit-4 final-bit
DM
" disconnect "
Flag | SAPI | TEI | 53h | FCS | Flag |
bit-4 poll-bit
DISC
" unnumbered acknowledgement "
Flag | SAPI | TEI | 73h | FCS | Flag |
bit-4 final-bit
UA
" frame reject "
!!! soll nicht verwendet werden !!!
Flag | SAPI | TEI | 87h | data-field | FCS | Flag |
see ETS 300 125 for data-field
bit-4 final-bit
FRMR
" exchange identification node "
!!! soll nicht verwendet werden !!!
Flag | SAPI | TEI | AFh | data-field | FCS | Flag |
see ETS 300 125 for data-field
bit-4 poll/final-bit
XID
" reject "
Flag | SAPI | TEI | 09h | xxh | FCS | Flag |
bit-7..1 receive sequence number
bit-4 poll/final-bit
REJ
" receive not ready "
Flag | SAPI | TEI | 05h | xxh | FCS | Flag |
bit-7..1 receive sequence number
bit-4 poll/final-bit
RNR
" receive ready "
Flag | SAPI | TEI | 01h | xxh | FCS | Flag |
bit-7..1 receive sequence number
bit-4 poll/final-bit
RR
" data-frame "
Flag | SAPI | TEI | xx..xx0b | xxh | data | FCS | Flag |
bit-7..1 receive sequence number
bit-0 poll -bit
bit-7..1 send sequence number
bit-0 must be zero
I-frame
" unnumbered-information "
Flag | SAPI | TEI | 03h | [data-field] | FCS | Flag |
optional (for example: TEI-management)
see ETS 300 125
bit-4 poll-bit
UI
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).