Ellenőrző kérdések az Adatkapcsolati átvitel témaköréből

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.


Előző: SzgHaloVizsgaFizAtv Következő: SzgHaloVizsgaLan


1. Mi az adatkapcsolati réteg feladata?

  • jól definiált szolgálati interfész biztosítása a hálózati rétegnek
  • átviteli hibák kezelése
  • az adatforgalom szabályozása

2. Milyen típusú adatkapcsolati szolgálatokat ismer?

Adatok átvitele a hálózati rétegek között, lehet

  • *nyugtázatlan, összekötés nélküli*: a forrástól egymástól független keretek indulnak a cél felé, melyek megérkezéséről nem érkezik válasz (nyugta). Nincs kapcsolatfelvétel a gépek között. A keret elvesztése esetén azt nem pótolja senki. Vagy nagyon alacsony hibavalószínűség esetén vagy valós idejű forgalom esetén érdemes alkalmazni.
  • nyugtázott összekötés nélküli szolgálat: nincs felépített kapcsolat, de minden egyes keret megérkezésétől visszaigazolás érkezik, NAK esetén a keret újraküldésre kerül.
  • *nyugtázott összekötés alapú*: a forrás és a cél között felépül egy összeköttetés, sorszámozott keretek haladnak rajta, mely garanciát jelent a megfelelő sorrendű megérkezésre. Megbízható keretforgalmat eredményez.

3. Az adatkapcsolati protokoll milyen feladatok ellátásában játszik szerepet?

  • keretezés: a fizikai szint strukturálatlan bitsorozatait adatszerkezetként kezeli: jelöli az elejét és a végét, a vevőnek fel kell ismerni ezeket a határokat.
  • hibajavítás/ellenőrzés: az átvitel során keletkezett hibák feltárása, kijavítása szükséges. A vevő már hibátlanul kapja meg az elküldött kereteket.
  • forgalomszabályozás: a vevő oldallal kapcsolattartás szükséges, nehogy gyorsabban küldje a kereteket,mint azt fogadni tudná, az adatvesztés kiküszöbölése fontos feladat.
  • a kapcsolat menedzselése: adó-vevő viszonya, üzenetváltás módja.

4. Milyen keretezési eljárásokat ismer?

  • *karakterszámlálás*: a fej mezőben tároljuk, hogy milyen hosszú lesz az adatmező, így kiszámítható az eleje és a vége. Azonban nagy hibája, hogy egyetlen hiba esetén a cél állomás kiesik a szinkronból, és többé esélye sem lesz a kerethatárok meghatározására. (Ethernet LAN)
  • *kezdő és végkarakterek beszúrása*: különleges bájt jelzi a keret elejét és végét, ezáltal, ha a célállomás kiesik a szinkronból a következő 'keret eleje' bájt által újra felveheti a ritmust. Ha a jelzőbájtok bitmintája előfordul a küldendő adatban, belezavarodhat a keretezésbe. Erre megoldás jelent az ún. Esc karakter bevitele: minden egyes adatként továbbítandó keretelem elé, ahol speciális karakter kódja lenne beilleszti az Esc karaktert. Ekkor ezeket a keretezést végző algoritmus ki fogja hagyni. A DLE (Data Line Escape) karakter felismerésekor a vevő nem tesz semmit, hanem a következő karakternek megfelelően cselekszik majd.
DLE SOH fej DLE STX törzs DLE ETX

Itt a DLE SOH kettős jelzi a kódfüggetlen fejrész-kezdetét, DLE STX az adatmezőkezdetét, DLE ETX pedig annak végét. Így a törzs már tartalmazhat vezérlőkaraktereket (pl. ETX), hiszen csak a DLE ETX kettős jelzi a vevőnek a törzsrész végét, az átvitel DLE-re érzékeny. Csakhogy ugyanahhoz a problémához jutottunk, a törzsrész nem tartalmazhatja a DLE ETX kettőst. Ezt a karakterbeszúrás módszere oldja meg. Az adó automatikusan megdupláz minden DLE karaktert, amely az elküldendő keret adatmezejében van. Ennek megfelelően, ha a kapott karaktersorozatban DLE DLE ETX van, ebből a vevő DLE ETX-et generál, és adatként pufferol. Ha a kapott keretben DLE ETX szerepel, akkor ez csak a keret vége lehet, ezt az adó szándékosan így generálta a keret végének jelzésére. A módszer kihasználja a karakterek kódok kódját, főleg a 8bitet támogatók körében terjedt el, azóta például a UNICODE 16 nagyobb karakterkód hosszat kíván meg.

  • *keretezés bitminta beszúrásával*: lehetővé teszi a tetszőleges kerethosszt, és a karakterkódhosszra sem tartalmaz megkötést. Minden keret a 01111110 jelzőbájttal kezdődik, ha az adatok közt egymás után 5 egyes bit található automatikus beszúr egy 0-t, a kimenő bitfolyamba. A vevő ugyanúgy 5 darab 1-es után álló 0-ást törli, ez által a bitbeszúrást teljesen átlátszóvá téve a hálózati réteg szemszögéből.
  • vonali kódolás megsértése során (Manchester, DM) kétfázisú kód figyelhető meg: az adatot nem a jelszintek, hanem azok változása határozza meg. Így a keretező adatokat megkülönböztethetjük: kétfázisú kódolásról egyfázisúra térünk át. SD: (StartDelimiter) NN0NN0, (EndDelimiter) NN1NN1, alkalmazása javarészt lokális hálózatoknál gyakori.


5. Hogyan biztosítható a kód-független átvitel?

Azt hogy a karakter függő keretezés esetén a törzs csak nyomtatható karaktereket tartalmazhat (ugyanis egy ETX - EndOfText felbukkanása esetén felborulna a keretkezelés) a karakterfüggetlen keretezés oldotta meg, mely minden vezérlő karakter elé egy DLE - DataLineEscape karaktert szúr be, sőt ha az adatmező DLE-t tartalmaz azokat megduplázza - ezáltal a "DLE ETX" fogja a keret végét jelenteni. lsd. 4.

6. Mi a különbség a karakter-alapú és a bitalapú keretezés között?

A karakterekkel való keretezés speciális bitkombinációk használatával (lsd. ASCII tábla) történik. A bit alapú keretezés során viszont a keret elejét és végét egy úgynevezett FLAG konstans bitminta használatával jelzik. Az adatrészben előforduló bitminta előfordulását bitbeszúrással oldják meg.

7. Miért előnyös a kódsértéses keretezés?

A jelszintek változását használja adattovábbításhoz: könnyen eldönthetőek a kerethatárok, nincs szükség órára.

8. Miért előnyös a bájtszámlálással történő keretezés?

Kevés pluszmunkával jár, könnyű feldolgozni, nincs redundáns elem a törzsben, egyedül a fej tartalmaz információt a keret hosszáról, mely egyértelművé teszi.

9. Milyen közvetlen és közvetett hibajavítási eljárást ismer?

  • Előre vezető ágban történő hibajavítás (FEC - Forward Error Correction) során az átküldendő adathoz hozzácsatoljuk az adat segítségével képzett Redundanciát, együtt a kettőt küldjük el és a vevőre bízzuk, hogy a redundancia segítségével helyreállítása az esetleg meghibásodott adatot (hibajavító kódolás). A vevő teljes kiszolgáltatottsága a redundanciától annak méretét fogja növelni.
  • Ha a vevő és a küldő közt lehetőség van kommunikációra élhetünk az automatikus ismétléskérés (ARQ - Automatic Repeat ReQuest) adta lehetőségekkel a redundancia csökkentésére, ezért azonban biztosítanunk kell a nyugtázás lehetőségét. Ilyenkor csak hibajelző kódolásra van szükség, ami ugyanakkora redundancia mellett nagyobb biztonságot nyújt.

10. Hogyan dönthető el egy kódszókészletről annak hibakorlátozó képessége?

A hibakorlátozó képesség:

Két kódszó bitenkénti eltérésének számát az úgynevezett Hamming távolság (Hamming Distance) adja meg. Egy kódkészletben található kódszavak minimális Hamming távolsága legyen , ekkor a  és a . (d= kijelezhető hibák maximális száma, c a javítandó hibák maximális száma. Ám itt a kód vagy csak hibajavító vagy csak hibajelző!)

Az ASCII vagy bármely általános szabványos kódkészletre nézve , vagyis ilyen kódszókészletek esetén semmilyen hibakorlátozási képességről sem beszélhetünk. Ha egy adott kódszókészlet Hamming-távolságát megnöveljük, akkor azt valamilyen mértékű hibakorlátozással felruházzuk.

11. Melyek az ARQ működés feltételei?

  • hibajelzés: pozitív vagy negatív nyugtaküldési lehetőség bármely adategység vételéről
  • hiba esetén, annak helyét pontosan meg kell tudni határozni
  • negatív nyugta esetén a hibás keret azonosítása szükséges
  • a pozitív nyugta visszaérkezésééig az elküldött keretet tárolnia kell tudnia a feladójának.

12. Mi a hibakorlátozás alapelve?

A hiba jelzésére mindig valamilyen kódolási eljárást alkalmazunk, ezáltal redundanciát állítunk elő, melyet az átviendő adathoz illesztünk. A vevő ezeket külön választja és a redundancia alapján meghatározza, hogy keletkezett-e hiba az átvitel során.


13. Milyen hibajelző kódolási eljárásokat ismer?

  • VRC (vertical Redundance Checking) paritás elemes kód. 7 bithez a 8. paritásbit jelzi hogy az egyesek száma páros vagy páratlan volt-e. p = b1 XOR b2 XOR...XOR b7
  • LRC (Longitudinal RC) tömbparitás képzés több 8 bites sor oszlopba foglalását egészíti ki függőleges paritás vizsgálattal, melyek hibátlan esetben azonos paritást eredményeznek mint a 8. bitek alkotta oszlop paritás függvénye.

ábra

  • CRC (Cyclic RC) ciklikus redundancia vizsgálata során az átviendő adatból képeznek egy alakú polinomot. A kódolásra jellemző egy G(x) generátor függvény. A kódolás lépései:

1)
2) , ahol a maradék.
3) A továbbított adat pedig: .
A dekódolás pedig alakú lesz. A hibamentességet a R(x) / G(x) = 0 garantálja. Néhány generátor polinom: CRC-16 16 15 2 0 , CRC-CCITT: 16 12 5 0 , CRC-32: 32 28 23 22 16 12 11 10 8 7 5 4 2 1 0.

A hibajelző képesség az r-től függ: r-nél rövidebb hibacsomót 1 valószínűséggel találja meg, ennél hosszabb vagy egyenlő hibacsomókat ennél kisebb valószínűséggel képes detektálni. Ha x+1 kiemelhető belőle akkor pt számú hiba jelzésére képes. A hibacsomó hossza alatt az első és az utolsó hibás bit közötti hibátlan és hibás bitek számát értjük. Az utolsó hibás bitet legalább ugyanannyi hibátlan bit kell hogy kövesse.

14. Mi a tömbparitás-képzés elve? Milyen hosszú a redundanciát alkotó bitsorozat?

LRC

15. Mi a ciklikus redundancia képzés elve, lépései? Mi határozza meg a redundanciát alkotó bitsorozat hosszát?

CRC

16. Milyen szakaszos és folytonos ARQ eljárásokat ismer?

  • szakaszos esetben egy keret generálásakor az előzőről érkezett ACK vagy NAK szükséges. Félduplex protokoll: STOP&WAIT, egyetlen csatornán, hol az egyik hol a másik irányban van lehetőség az átvitelre. Hátránya a Várakozási idő a nyugta megérkezésééig. Az egyértelmű működés érdekében keretszámozás szükséges: mod 2-es állapottér: 0 küldése esetén sikeres átvitel után átvált 1-re sikertelen átvitel után 0 marad.
  • folytonos ARQ lehetőséget ad a keretek folyamatos generálására, kétirányú kapcsolatot igényel. A küldött keret sikeres vagy sikertelen átvételéről csak késleltetve értesül, ekkor vagy a következő keretet küldi vagy ismételni kényszerül. Két verziója a GO-BACK-N, ahol a hibás csomagtól kezdve az egészet újra kell küldeni, és a Szelektív ismétlés, ahol csak a hibás csomagokat küldjük újra. Az utóbbi jóval bonyolultabb adót és vevőt igényel.

17. Hatékonyság és bonyolultság szempontjából hasonlítsa össze az n-nel történő visszalépés és a szelektív ismétlés módszerét!

GoBackN megoldása szerint a késleltetési idő alatt generált keretek hiba esetén elvesznek és újraküldésre kerülnek.

A szelektív ismétlés többletmunkával jár: mind a küldő mind a vevő oldalán tárolni kell a kereteket, viszont helyes keret eldobására sose kerül sor, csakis a hibás keretet szükséges újraküldeni.


18. Miért van szükség forgalomszabályozásra?

Az adó gyorsabban küldi a kereteket mint az a vevő fogadni lenne képes, akkor a a vevő előbb-utóbb képtelen lesz kezelni a hozzá érkező kereteket. Ennek megakadályozására forgalomszabályozási (flow controll) algoritmusokat dolgoztak ki.

19. Milyen szakaszos és folytonos forgalomszabályozási eljárásokat ismer?

  • félduplex hálózatoknál a Stop&Wait protokoll használatos: minden egyes beérkezett keret esetén visszaigazolást küld a vevő, hogy belefért-e a pufferbe(ACK) vagy sem (NAK)
  • duplex átvitel esetén lehetővé válik a csúszó/forgóablakos (sliding window) módszer alkalmazása:
    • az adó figyelése a csúszó-ablakos módszer segítségével: minden ablak egyszerre 7 keretet (mod 8) elküldését teszi lehetővé. A nyugták beérkezésekor az ablak a következő 7-es felé csúszik. Ezáltal a két ablak a folyamatos keret és nyugtaküldés hatására folyamatosan előre halad.
    • a forgó-ablakos ábrázolás során két külön ablakban ábrázoljuk az adási és a vételi ablakot. Az előbbiben az adó által elküldhető keretek sorszámait tartalmazza, ez mindig maximális méretű, hiszen az adó a rendelkezésre álló összes küldhető keretet kiteheti a vonalra. Ezzel szemben a vételi ablak a vevő által a pufferbe befogadható keretmennyiség függvénye.

20. Csúszó/forgó ablakos eljárással ismertesse a két állomás közötti forgalomszabályozást!

lsd. 13. előadás 1-4 oldalai.

21. Az adatkapcsolat menedzselésére milyen eljárásokat ismer?

  • konfiguráció - topológia alapján
    • kétpontos
    • többpontos többcsatlakozásos
  • egymás közti viszony
    • MasterSlave: a master rendelkezik a kezdeményezési és a forgalom felügyeletének jogával. Slave csak a Master felszólítására küldhet adatot, két slave között nincs adatforgalom
    • mellérendelt (peer-to-peer)
  • duplexitás
    • szimplex
    • duplex
    • félduplex
  • vonali fegyelem
    • körbekérdezés (roll-call polling)
    • vezérlésátadás (hub polling)

22. Mi a különbség a körbekérdezés és a visszalépéses lekérdezés között?

A másodlagos állomás lekérdezésének módjai:

  • körbekérdezés (roll-call polling): egymás után láncolva szerepelnek egy listában a másodlagos állomás. Minden állomást végigkérdez akar-e küldeni. Feleslegesen lassú működést eredményezhet, ugyanis ha van küldendő adat, ha nincs, folyamatosan aktív. Előnyeként a prioritási szintek kedvező kezelését említhetjük meg: magasabb prioritású állomásokat többször is fel lehet venni a listára.
  • vezérlésátadás (hub polling): megvalósításához az adatsín mellett egy újabb, vezérlő sínre van szükség. Ez arra szolgál, hogy az elsődleges állomás (A) megszólítsa a másodlagosakat. Vezérlésátadás esetén, ha az elsődleges állomás végzett a neki kellő adatok forgalmazásával, átadja a vezérlést a legtávolabbi másodlagos állomásnak (D). Ha az is végzett, átadja a vezérlést a következő, elsődlegeshez közelebbi másodlagos állomásnak (C), és így sorban, míg végül a vezérlés visszakerül A-hoz. Amíg nincs nála a vezérlés, addig nem is kell felügyelnie a forgalmat. Az elsődleges állomás a prioritását viszont megőrzi, ezért ha van küldendő adata, akkor azt bármikor küldheti a másodlagosaknak.

23. Milyen karakter alapú és bit alapú adatkapcsolati protokollokat ismer?

  • *karakterorientált*:
    • BSC/Bitsynch - szinkron protokoll by IBM
    • Basic Mode: nincs kitüntetett szinkron karakter by ISO
  • *bitorientált*:
    • HDLC (High Level Data Link Controll) by ISO
    • SDLC (IBM)
    • LAP (CCITT)
    • PPP (Internet)

24. Értékelje az adatkapcsolati protokollokat adatbiztonság és teljesítőképesség szempontjából!

*adatbiztonság* *teljesítőképesség*
*bit* megbízható FCS duplexitás miatt gyors és hatékony
*karakter* nem biztonságos, BCC 1 karakter hosszú redundancia
csak a törzs van védve a vezérlő karakterek és a fejrész nincs védelemmel ellátva
alacsony sebesség
olcsó megoldás


25. Duplex adatforgalom esetén az egymástól távoli párhuzamos folyamatok szinkronizációját hogyan támogatja a HDLC protokoll? Ismertesse a poll/final váltakozás lényegét!

A és B folyamatot adás és vétel folyamatai külön egymástól függetlenül futnak. A Poll/Final váltakozás támogatja az állomások közti duplex működést, az állomások szinkronizálása: adatcsere, aktualizálás, keretgenerálás. A P érték mindig a főállomás üzenetei között szerepel, a F értéke pedig a másodlagos állomás üzeneteire vonatkozik. Az A állomás P=1 értékkel átadja a vezérlést B-nek, mindaddig míg vissza nem kapja P=0 lesz. Amint B megkapja a vezérlést F=0-t tart fenn míg magánál tartja a vezérlést és F=1-gyel jelzi az A-nak, hogy ő következik.

26. Holtponthelyzetek és hurkok kialakulásának elkerülésére a protokoll milyen eszközökkel rendelkezik?

Egy elküldött keret elvesztését a pozitív nyugta hiányával vesszük észre, ezzel egyenértékű várakozó helyzetet idéz elő a visszaigazolás levesztése, az adó várakozik: holtpont. Feloldására az adó DeltaT időzítőt állít be, aminek lejártáig biztosan vissza kell érkeznie a válasznak, ha az időzítő lejár és nem kapott választ, az adó újraküldi a keretet. Amennyiben képtelenség átvinni a keretet (fizikai kapcsolat megszűnte) szintén fennáll a végtelen várakozás lehetőségét. Az újraküldések számának maximalizálásával ez is kivédhető.

27. Írja le a HDLC keretszerkezetet, ismertesse annak mezőit!

HDLC keretszerkezet: <br

FLAG cím vezérlő DATA FCS FLAG

A keret eljét és végét a FLAG byte jelzi, speciális kódsor: 01111110.
A címmező első bitje:
1 - csoport fogja megkapni, maradék két bit azonosítja a csoportot. 8 darab egyes esetén mindneki megkapja az üzenetet.
0 - egyéni címzés, egyetlen állomást fog megszólítani.
Ha a címmező összes bitje egyes akkor egy körözvényről van szó.
A vezérlő mező adja meg a keret típusát:
0 - információs keret

0 Ns Ns Ns P/F Nr Nr Nr

Ns keret azonosító
Nr következő várt keret =előző keretek ack (implicit nyugta)

10 - felügyeleti keret FIGYELEM ez mind két jegyzetben hibás, itt jól van

1 0 S S P/F Nr Nr Nr

SS= RR (receive ready - kész venni, nincs mit küldenie), RNR (receive not ready - foglalt, nincs szabad puffer) , REJ (go back, reject - vételi ablakon kívüli adatot vissza kell utasítani), SREJ (szelektív visszautasítás)

11 - számozatlan keret

1 1 M M P/F M M M

MM -2^5 aktuális sorszám jelölése (32 utasításra lenne lehetőség, de nem használják ki mindet)
SNRM kapcsolat kezdeményezés, alárendelt mód, set normal response mode
UA számozatlan nyugta - unnumbered ack
DISC kapcsolat bontása - disconnect
FRMR vevő nem kismeri fel a keretet és visszaküldi - frame reject
SABM set assymetric balanced mode - egyenjogú mód.

Az adat n bitből áll (n>=0), ha nem tartalmaz adatot a keret akkor csak szolgálati közleménynek tekintendő a keret.
Az adatmezőt követő mező a 16 bitből álló ellenőrző mező a teljes keret védelmét látja el.


(((hát ez szörnyű így plain textben :D)))

28. Mi a különbség a normál válasz mód és az aszinkron kiegyenlített mód között?

Az SNRM paranccsal (Set Normal Response Mode) jelenti be a küldő gép, hogy éppen most kapcsolódott a vonalra. Ez egy kiegyensúlyozatlan (aszimmetrikus) mód, melyben a vonal egyik vége a master, a másik a slave. A felfogás maga a gépekhez kapcsolódó terminálok idejéből származik. A két partner egyenrangúságát biztosítja az SABM (Set Asynchronous Balanced Mode), mely alaphelyzetbe állítja a vonalat. A HDLC, és a LAPB protokoll tartalmazza a megvalósítását.

-- adamo - 2005.12.29.

Helyesírás és a HDLC némi változtatása. -- Peti - 2006.01.15.