Link Access Procedure Balanced

Stavový diagram LAPB

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

Typy rámců

  • 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

FlagAddressControlDataChecksumFlag
0111 11100111 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

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í

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ěrOperace s jedním spojemOperace s více spoji
PříkazOdezvaPříkazOdezva
KZD-UZD01 Hex (B)03 Hex (A)07 Hex (D)0F Hex (C)
UZD-KZD03 Hex (A)01 Hex (B)0F Hex (C)07 Hex (D)

Příkazy a odezvy protokolu

Typ rámcePříkazOdezvaVýznam
DohlížecíRRRRpotvrzuje příjem rámce a indikuje, že zařízení je připravené na příjem dalšího rámce
RNRRNRpotvrzuje příjem rámce, ale indikuje, že zařízení nemůže přijmout další I-rámce, protože je obsazené
REJREJvyž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
SREJvyž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ýSABMUAzahájí spojení mezi KZD a UZD v normálním (základním) režimu (modulo 8)
SABMEUAzahájí spojení mezi KZD a UZD v rozšířeném režimu (modulo 128)
SMUAzahájí spojení mezi KZD a UZD v super režimu (modulo 32768)
DISCDMukončí spojení
FRMRodmítnutí rámce, oznamuje chybovou podmínka
InformačníI
Příkazový rámec poslaný s P = 1Rámec odezvy vrácený s F = 1
SABM, SABME, SMUA, DM
I-rámecRR, RNR, REJ, SREJ
I-rámecFRMR
RR, RNR, REJRR, RNR, REJ, SREJ
FRMRFRMR
DISCUA, DM

Odkazy

Reference

Související články

Externí odkazy

Média použitá na této stránce