V praxi používané protokoly spojové vrstvy

Znakově orientované protokoly

BSC: Binary Synchronous Control (bisync)

IBM, kolem 1965
- half duplex
- point to point i multipoint
- definovaná sada řídících znaků (SYN,STX,ETX,DLE,...)


Bitově orientované protokoly

HDLC (ISO) - High-level Data Link Control

Historie:
- odvozen z protokolu SDLC (Synchronous Data Link Control) - z IBM SNA,
přijato ANSI a pak ISO 3309, 4335, 7478, 7776, 7809
- původně pro komunikaci mainframe s terminály
- CCITT přijalo a modifikovalo jako LAP (Link Access Procedure) pro X.25,
později opět modifikace CCITT jako LAPB (kompatibilnější s pozdější
verzí HDLC)
- synchronní plně duplexní komunikace v konfiguraci dvoubodové i vícebodové
- stále používán (nebo jeho mutace LAP, LAPB, LAPD, LAPM, LAPF, ...),
v ISDN, Frame Relay, X.25, jako enkapsulace na sériových linkách ve WAN,
mezi modemy, ...

Přenosové režimy:
> Normal Response Mode, NRM: primární řídící stanice a řada podřízených
sekundárních
> Asynchronous Response Mode, ARM: sekundární stanice smí samovolně začít
komunikovat s primární
> Asynchronous Balanced Mode, ABM: stanice současně primární i sekundární,
každá smí samovolně zahájit vysílání
Typy rámců:
> I (Information): uživatelská data ve spojově orientovaném režimu
> U (Unnumbered): nečíslované rámce, uživatelská data nebo řídící funkce
> S (Supervisory): bez uživatelské informace, číslované, použití pro
navazování a rušení spojení, informace o stavu, potvrzování

Formát rámce:
01111110, adresa, control, data, checksum, 01111110

Na prázdné linkce neustálý tok křídlových značek.

adresa - použita na linkach s více terminály; na point-to-point linkách
někdy použita pro rozlišeni příkazu a odpovědi, obvykle nevyužito

control - seq #, potvrzování, ...
I: 0,Seq#(3),P/F(1),Next#(3)
S: 10,Type(2),P/F(1),Next#(3)
Type:
0: ack frame (RECEIVER READY,RR) - pokud není do čeho piggybackovat
1: NAK (REJECT) - indikace chyby přenosu (pole Next# udává první
špatně přijatý rámec)
2: RECEIVER NOT READY: jako typ 0 (potvrzuje přijetí, ale pozastavení
vysílače, přijímač má dočasné problémy, komunikace
se obnoví po RR, REJECT,...)
3: SELECTIVE REJECT: žádost o retransmisi specifikovaného rámce,
v SDLC a LAPB není použit (tam pouze režim go-back-N)

U: 11,Type(2),P/F(1),Modifier(3)
- pro řízení nebo nespolehlivou nespojovanou službu, v různych mutacích
protokolu rozdílné použití (příkazy):

DISC (Disconnect) - informace o vypínáni stanice
SNRM (Set Normal Response Mode) - po přihlášení stanice na linku, vynucení
seq # na 0, režim master-slave, pro terminály.
SABM (Set Asynchronous Balanced Mode) - reset linky, oba partneři
na stejné úrovni.

SNRME/SABME: jako SNRM/SABM, ale "extended" frame format, 7-bitová seq #
(užitečné zejména na linkách s velkým zpožděním,
např. družicové spoje).
FRMR (Frame Reject) - indikuje, ze přišel rámec s nesprávnou sémantikou.

UA (Unnumbered Acknowledgement) - potvrzování řídících příkazů v U rámcich
Sekvenení čísla nepotřebná, protože v jedne chvíli může být
vyslán jen jeden (nepotvrzený) příkaz


Bit P/~F (Poll/Final):
Význam poll: výzva terminálu k vysíláni (řízení řídícím počítačem).
Význam final: při vysílání nastavuje terminál ve všech rámcích, mimo
posledního, bit na P (tedy not Final).

Jiné použití: vynucení Next# (ACK) od protistanice v S rámci
(namísto čekání na piggybacked informaci)

Protokol sliding window, 3/7-bitova sekvenční čísla.


Z HDLC je odvozena řada protokolů, liší se délkou rámce a formátem
pole adresy a řídícího pole v rámci. Zpravidla je povolená podmnožina příkazu
HDLC, odpovídající režimu SABME.

LAPB: Link Access Procedure Balanced Mode

 - podmnožina HDLC, pouze SABM režim,
jiný formát řídícího pole, adresa využita pro specifikaci povelu
- pouze na linkách bod-bod
- povolené povely podmnožinou HDLC: RR,RNR,REJ,SABM,DISC,DM,UA,FRMR
- číslování rámců modulo 8
- používán v sítích X.25 (v tomto doporučení také specifikován)


LAPD: Link Access Procedure on D-Channel

 - mutace HDLC, použití v ISDN na 2.vrstvě u D-kanálu
- pouze SABME režim, jinak odpovídá LAPB
- řídící pole odpovídá extended režimu HDLC, 8 bitů pro seq. čísla
- adresové pole 1-2 oktety:
SAPI - Service Access Point Identifier
C/R - Command/Response
TEI - Terminal Equipment Identifier

LAPF: Link Access Procedure on Frame Relay

 - rámce 5-8189 B
- nemá řídící pole, spojeno s adresovým polem:
DLCI: Data Link Connection Identifier
C/R - Command/Response
DE - Discard Eligible - nastavuje stanice pro explicitní označení
provozu s nižší prioritou nebo frame handler při překročení CIR
(Commited Information Rate, dohodnutá rámcová rychlost)
FECN - Forward Explicit Congestion Notification - síť oznamuje příjemci
stav přetížení
BECN - Backward Explicit Congestion Notification - síť nebo příjemce, který
obdržel FECN oznamuje odesílateli stav přetížení

LAPM: Použití v modemech



Logical Link Control - IEEE 802.2

Podle ISO 8802 se linková vrstva OSI dělí na podvrstvy MAC (Media Access
Control) a LLC (Logical Link Control). Informace a formáty rámců LLC jsou
nezávislé na typu použité sítě. LLC vrstva přidává hlavičku LLC, vychází z HDLC.

Funkce vrsvy LLC
- error-control, flow-control
- zakrývá rozdíly mezi sítěmi projektu 802, společný formát a rozhraní
k síťové vrstvě

Typy služeb:
1) nespojovaná služba nepotvrzovaná - nejrozšířenější, není flow control
a error control, detekci chyb a zahazování chybných rámců řeší MAC vrstva
2) spojovaná služba - služba s navazováním logického spojení, korekce chyb,
flow control, sekvencování rámců. Režim odpovída Extended Asynchronous
Balanced Mode v HDLC.
3) nespojovaná služba s potvrzováním - nejméně využívaná

Formát rámce LLC:
DSAP, SSAP, řízení, data
(umístěn v datové části MAC rámce)

DSAP-Destination Service Access Point, SSAP-Source Service Access Point
- identifikují komunikující procesy na cílovém a zdrojovém počítači

V poli řízení podmnožina příkazů z HDLC.

Pozn.: Enkapsulace SNAP:
Je-li DSAP=AAh, řízení=AAh: jde o tzv. SNAP enkapsulaci. V tomto případě
za polem řízení následuje identifikace výrobce (03h) a 2-bajtový kód protokolu
(odpovídající EtherType z MAC rámce 802.3). Lokální sítě podporující
enkapsulaci LLC musí podporovat i enkapsulaci SNAP.


Serial Line IP (SLIP)

- RFC-1055.
- pro provoz na dvoubodových asynchronních sériových linkách

- definuje velmi jednoduchý formát rámce, přímo vkládá IP-pakety:

vyhrazuje znaky END (0300) a ESC (0333).
* END ukončuje rámec, někdy se používá i před začátkem paketu, aby přijímač
zahodil případná přijatá data, která na lince vznikla vlivem rušení
* místo znaku END v datech se pošle ESC 0334, místo ESC se pošle ESC 0335

Délka rámců (podle implementace BSD) 1006 B.

- nezabezpečuje detekci chyb při přenosu
Pozn.: IP-protokol má kontrolní součet pouze ze záhlaví a kontrolní součet
v protokolu UDP je nepovinný).

- rámec protokolu SLIP nenese informaci o přenášeném protokolu síťové vrstvy,
není tedy na jedné lince možné přenášet více protokolů současně

- jednoduchý, minimální konfigurace (IP adresy obou stran),
žádné SW dohadování parametrů mezi konci linky

Compressed SLIP (CSLIP), RFC-1144:
- komprese hlaviček IP, stavový - na jedné lince lze současně komprimovat
max. 255 spojení => nevhodné pro propojování páteřních směrovačů.

Point to Point Protocol (PPP)

 - RFC 1661, 1662
- rámce podobné HDLC (U-rámce)



- na synchronních i asynchronních linkách
- dvoubodový spoj
- detekce chyb v rámci
- možnost přenosu více protokolů na lince současně
- možnost autentizace (PAP,CHAP)
- dohoda mezi konci linky na parametrech přenosu

Pomocné protokoly:
Link Control Protocol (LCP) - navazování spojení, autentikace, testování
spojení, ...


Network Control Protocols (NCP) - skupina protokolů, specifických pro
jednotlivé přenášení síťové protokoly, slouží pro dohadování parametrů
specifických pro jednotlivé síťové protokoly. Např. IPCP je pro protokol
IP, IPXCP pro IPX atd. Každý takový protokol je popsán ve zvláštním RFC.

Možnosti autentikace uživatelů:

- terminálový dialog: zadání jména a hesla ještě před spuštěním protokolu PPP

- Protokol Password Authentication Protocol (PAP): Jméno uživatele a heslo
zasíláno jako cleartext

- Challenge Handshake Authentication Protocol (CHAP):
Oba konce sdílí stejný šifrovací klíč (symetrické šifrování). Stanice,
která autentizaci inicializujei, vygeneruje náhodný řetězec jako
dotaz, který odešle druhé straně. Druhá strana tento řetězec zašifruje
pomocí sdíleného klíče a odešle zpět, příjemce zašifruje původní řetězec
svým heslem a porovná s přijatým. Heslo tedy nikdy neputuje linkou
v čisté podobě.