Link Access Procedure Balanced
LAPB (Link Access Procedure, Balanced) je implementace protokolu linkové vrstvy v sadě protokolů X.25[1] definovaná v ITU-T doporučení X.25 a ISO/IEC 7776. LAPB je bitově orientovaný protokol odvozený z HDLC zaručující bezchybný přenos rámců ve správném pořadí. Může být používán jako protokol linkové vrstvy implementující spojovanou linkovou službu v referenčním modelu ISO/OSI, jak ji definuje ITU-T doporučení X.222[2].
LAPB slouží k vytváření rámců z paketů a řízení komunikace mezi koncovým zařízením přenosu dat (KZD) a zařízením ukončujícím datový okruh (UZD) v protokolovém zásobníku X.25. LAPB je v zásadě HDLC v asynchronním vyváženém režimu (ABM), což znamená, že LAPB relaci může zahájit jak KZD tak UZD. Stanice zahajující spojení je primární, odpovídající stanice je sekundární.
Struktura protokolu
[editovat | editovat zdroj]Typy rámců
[editovat | editovat zdroj]- I-rámce (informační rámce): Přenášejí informace vyšší vrstvy a některé řídicí informace, které zabezpečují správné řazení (anglicky sequencing) rámců, řízení toku dat a detekci a opravu chyb. I-rámec obsahuje pořadové číslo vysílaného i přijatého rámce.
- S-rámce (dohlížecí rámce): Přenášejí řídicí informace. S-rámec slouží k vyžádání nebo dočasnému pozastavení přenosu, k oznámení stavu a k potvrzení příjmu I-rámce. S-rámec obsahuje pořadové číslo pouze přijatého rámce.
- U-rámce (nečíslované rámce): Přenášejí řídicí informace. U-rámec slouží k navázání a ukončení spojení a k oznamování chyb. Název odráží skutečnost, že U-rámce neobsahují žádná pořadová čísla.
Formát rámce
[editovat | editovat zdroj]Flag | Address | Control | Data | Checksum | Flag |
---|---|---|---|---|---|
0111 1110 | 0111 1110 | ||||
(8 bits) | (8 bits) | (8 bits) | (Variable) | (16 bits) | (8 bits) |
Příznak – Flag je byte s hodnotou 0x7E sloužící jako oddělovač rámců. Aby se zajistilo, že bitový vzorek oddělovače rámců se nevyskytne v datovém poli rámce (a způsobí nesprávné určení konce rámec), používá se technika nazývaná Bit-stuffing, která zajišťuje, že uvnitř rámce se nikdy neobjeví více než 5 jedničkových bitů za sebou.
Adresní pole – nemá v LAPB význam, protože protokol pracuje v dvoubodovém režimu a síťová adresa KZD je reprezentována v paketech vrstvy 3. Proto je použit k rozlišení příkazů od odezev: Hodnota 0x01 identifikuje rámce obsahující příkazy z KZD do UZD a odezvy na tyto příkazy z UZD do KZD; 0x03 se používá pro rámce obsahující příkazy z UZD do KZD a pro odezvy z KZD do UZD. Proto musí být jedna strana zkonfigurována na úrovni vrstvy 2 jako KZD a druhá jako UZD (což se nesmí zaměňovat s rozdílem mezi UZD a KZD na úrovni vrstvy 1).
Řídicí pole – na slouží k identifikaci typu rámce. Navíc obsahuje pořadová čísla, řídicí vlastnosti a sledování chyb podle typu rámce.
Režim komunikace – LAPB funguje v asynchronním vyváženém režimu (ABM). Tento režim je symetrický (tj. neexistuje nadřízená a podřízená stanice) a je určen rámcem SABM(E)/SM. Iniciovat a řídit spojení může libovolná ze stanic. Stanice mohou kdykoli poslat rámec nebo provádět zotavení z chyb. KZD a UZD jsou považovány za rovnocenné.
FCS – kontrolní součet (anglicky Frame Check Sequnce) poskytuje vysoký stupeň ochrany před fyzickými chybami díky kontrole dat v přijatém rámci.
Velikost okénka – LAPB podporuje rozšíření velikosti okénka (modulo 128 a modulo 32768), kde maximální počet nepotvrzených rámců může být větší než 7 (modulo 8): buď 127 (modulo 128) nebo 32767 (modulo 32768)[3].
Fungování protokolu
[editovat | editovat zdroj]V protokolu LAPB není žádná stanice nadřízená nebo podřízená. Odesilatel používá Poll bit v příkazovém rámci pro vynucení bezprostřední odezvy. Stejný bit plní v odezvě funkci Final bitu. Přijímač vždy nastaví Final bit v odezvě na příkaz s nastaveným bitem Poll. Bit P/F se obecně používá když libovolná komunikující strana ztratí jistotu o patřičném řazení rámců kvůli možnému chybějícímu potvrzení a je potřeba začít ze známého bodu. Bit P/F se také používá na vyžádání potvrzení nepotvrzených I-rámců.
Adresování
[editovat | editovat zdroj]Následující tabulka ukazuje, které adresy jsou umisťovány do LAPB rámce při vysílání příkazu a odezvy z KZD do UZD a z UZD do KZD pomocí operace s jediným spojem nebo operace s více spoji:[4]
Směr | Operace s jedním spojem | Operace s více spoji | ||
---|---|---|---|---|
Příkaz | Odezva | Příkaz | Odezva | |
KZD-UZD | 01 Hex (B) | 03 Hex (A) | 07 Hex (D) | 0F Hex (C) |
UZD-KZD | 03 Hex (A) | 01 Hex (B) | 0F Hex (C) | 07 Hex (D) |
Příkazy a odezvy protokolu
[editovat | editovat zdroj]Typ rámce | Příkaz | Odezva | Význam |
---|---|---|---|
Dohlížecí | RR | RR | potvrzuje příjem rámce a indikuje, že zařízení je připravené na příjem dalšího rámce |
RNR | RNR | potvrzuje příjem rámce, ale indikuje, že zařízení nemůže přijmout další I-rámce, protože je obsazené | |
REJ | REJ | vyžaduje opakování přenosu I-rámce, paket obsahuje rámcovou chybu, takže KZD bude opakovat vysílání všech paketů kvůli opravě chyby | |
SREJ | vyžaduje opakování přenosu vybraného I-rámce, paket obsahuje zvláštní rámce, které KZD bude opakovat vysílání (tento příkaz se nepoužívá pro modulo 8, je volitelný pro modulo 128 a povinný pro modulo 32768) | ||
Nečíslovaný | SABM | UA | zahájí spojení mezi KZD a UZD v normálním (základním) režimu (modulo 8) |
SABME | UA | zahájí spojení mezi KZD a UZD v rozšířeném režimu (modulo 128) | |
SM | UA | zahájí spojení mezi KZD a UZD v super režimu (modulo 32768) | |
DISC | DM | ukončí spojení | |
FRMR | odmítnutí rámce, oznamuje chybovou podmínka | ||
Informační | I |
Příkazový rámec poslaný s P = 1 | Rámec odezvy vrácený s F = 1 |
---|---|
SABM, SABME, SM | UA, DM |
I-rámec | RR, RNR, REJ, SREJ |
I-rámec | FRMR |
RR, RNR, REJ | RR, RNR, REJ, SREJ |
FRMR | FRMR |
DISC | UA, DM |
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]Související články
[editovat | editovat zdroj]- ISDN - Integrated Services Digital Network
- Frame Relay
- SDLC - Synchronous Data Link Control
- Q.921 - Link Access Procedures, D channel