Protokolloraijegyzet2010 03
A VIK Wikiből
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
Protokoll Technológiák
3. óra
- in medias res akusztikus modem
LAPD
- Link Acces procedure on D-channel, HDLC protokol az adja
- HDLC: High Level Detailing Link Control
- arra szolgált, hogy terminálokat illesszen
- HDLC: High Level Detailing Link Control
- Második réteg feladata:
- hibamentes átvitel két szomszédos pont között
- üzenetek HIBAMENTES átvitele
- keretezés (framing)
- speciális bitmintával kezdődik (Flag) 0111 1110
- ha 5 db 1-es van egymás után, és hatodikra is egyes jön, automatikusan beszúr egy nullát
- A vevő 5 db egyes után megnézi a következő bit, ha nulla, akkor eldobja a nullát, ha 1, akkor flag-et talált
egy példa: üzenet: 1 0 !111110 !111111011 <-- innen nézd, úgy lesz értelme ez így fog kinézni: 0111 1110 1 0 0111110 1011111011 0111 1110 <-- innen kűd
LAPD üzenetformátum:
- keztdődik a FLAG-el: 0111 1110
- cím mező (Address): 2 oktett: LAPD-ben mindig két bájtos az üzenet, de a HDLC kompatibilitás miatt rakják a címmezőbe a cucclit
- SAPI 6 bit, C/R, 0
- [][][][] [][] [C/R] [0]<- ez a nulla azt jelenti, hogy itt még nincs vége a címmezőnek
- TEI: 7 bit
- [][][][] [][][] [1]<- ez meg azt, hogy itt biza vége a címmezőnek
- (a másik módszer az, hogy megmondjuk hány bájt lesz a hossz, de itt nem ez van használva)
- C/R: Commmand/Response:
* NT->TE TE->NT * Command: 1 0 * Response: 0 1
- SAPI: Service Access Point Identifier
- 0 - jelzés
- 63 - Menedzselési üzenet
- 16 - Data
- DSL-en 8 különböző készüléket lehet illeszteni a vonal végére (S0 interface)
- ezek közül kettő lehet aktív
- TEI: Terminal Endpoint Identifier
- van fix kiosztású, és van automatikus kiosztású:
- 0-63 közt lehet a FIX
- 64-126 közt Automata
- 127 Broadcast üzenetek
- van fix kiosztású, és van automatikus kiosztású:
- SAPI: Service Access Point Identifier
- vezérlő mező (Control): 1 vagy 2 octett
- U kereteknél 1 oktett (Unnumbered)
- ezek fognak jelzéskapcsolatot felépíteni, meg lebontani
- [M][M][M][P/F] [M][M][1][1] <- ez jelzi azt, hogy U típusú
- P/F: Poll/Final: Lekérdezés eleje/vége
- Ha P=1 akkor kell rá válaszolni
- Ha P=0 akkor nem kell válasz
- Válaszüzenetben: (ugye onnan tudjuk, hogy parancs vagy válasz, hogy a címmezőbe már benne volt)
- P=1 akkor parancsra válasz
- P=0 akkor indikáció
- 5db M betű: milyen típusú a keret
- 01111 SABME keret: Set Asynchronous Balabced Made Extended
- Ez egy kapcsolat felépítés kérés üzenet
- Miért nem connection request?
- Ez egy kapcsolat felépítés kérés üzenet
- 01111 SABME keret: Set Asynchronous Balabced Made Extended
- U kereteknél 1 oktett (Unnumbered)
****** mert HDLC-ben több fajta van - LAPD-ben csak ez.
- Aszinkron: Egy üzenetet bármikor elkezdhetünk küldeni
- Balanced mode: nincs master/slave: mind a két fél küldhet parancsot a másiknak
- Extended: Sorszámozásra utal, 7 bites sorszámokkal
- 01100 UA: Unnumbered Acknoweledge
- 00011 DM: Disconnected mode: kapcsolatot kértek tőlünk, de ezt nem tudjuk létrehozni
- 01000 DISC: Disconnect: Ezzel lehet a jelzéskapcsolatot elbontani
- 00000 UI: Unnumbered Information
- ennek van információs mezője
- itt valami nem a kapcsolat felépítéséhez szükséges információt küldeni
- pl TEI managment
- kivétel NT->TE Setup
- Information kereteknél 2 oktett
- ebben fog információt átvinni
- I
- N(s): 7 bit + [0]
- N(s): Sent Number: folyamatosan nő egyel
- N(r): P/F
- N(r): Recieve number: azt mutatja, hogy milyen sorszámú üzenetet várunk
- N(s): 7 bit + [0]
- UI
- S keretnél is 2 oktett
- Supervisory frame:
- mikor küldhetünk i kereteket, mikor nem
- [][][][] [S][S] [0][1]
- SS
- 00: Recieve Ready: nem akarunk információt küldeni, de vett információs keretet nyugtázni szeretnénk
- 01: Recieve Not Ready: Ne küldjél nekem semmit, mer' még nem dolgoztam föl
- 10: Reject: ezzel lehet hibát jelezni
- [N(R)] [P/F]
- S keretnél is 2 oktett
- információ tartalom
- I
- N(s): 7 bit + [0]
- N(s): Sent Number: folyamatosan nő egyel
- N(r): P/F
- N(r): Recieve number: azt mutatja, hogy milyen sorszámú üzenetet várunk
- N(s): 7 bit + [0]
- UI
- I
- ellenőrző összeg: (checksum)
- 16 bites ciklikus redundancia alapján generált számika
- ciklikus redundancia kód: egy megadott polinom segítségével számolják
- pl megszorozzuk minden bitet valami egyre nagyobb számmal, és a végének a modulusát megnézzük
- 16 bites ciklikus redundancia alapján generált számika
- lezáró FLAG
TE - NT -> SABME <- UA/ (DM) . . . -> DISC <- UA
- Ellenőrző összeg megegyezik, akkor zsír
- Ha nem, akkor NEM JAVÍTUNK, hanem eldobjuk, mintha nem is jött volna semmi.
Példa
"akkor mielőtt mindenki beverné a fejét a padba, nézzünk egy példát"
TE NT -> SABME <- UA -> I: NS = 0, NR = 0 <- I: NS = 0, NR = 1 -> I: NS = 1, NR = 1 Ez mondjuk az első szám <- RR: NR = 2 -> I: NS = 2, NR = 1 Második szám (még mindig az egyes receivet várom) // Tegyük fel, hogy két számjegy a telszám: <- RNR: NR = 3 itt lehetne ilyet küldeni, ha pl adatfeldolgozás van vala <- RR: NR = 3 mondjuk itt kész van -> X I: NS = 3, NR = 1 // tegyük fel, hogy ez az üzenet megdöglik: szar az ellenőrző összeg <- I: NS = 1, NR = 3 -> I: NS = 4, NR = 2 // Itt tűnik fel, hogy ugye a 4-es jön, de az NT számlálója még csak 3-on van, tehát a 3-ast várja // ez a hiba: az NT veszi észre. (hibaészlelés) <- REJ: NR = 3 -> I: NS = 3, NR = 2 <- RR: NR = 4 // ez opcionális -> I: NS = 3, NR = 2 // ! itt nem egy az egyben ugyanazt az üzenet küldjük, hanem csak az információs részét ismételjük, a vezérlőmezőt értelem szerűen beállítuk <- RR: NR = 4 -> I: NS = 4, NR = 2 és majd lebomlás mint Oslow
- error detection & error correction
-- Liba - 2010.02.20.