6. fejezet: Ellenőrző kérdések és válaszok
1. Mi a szállítási réteg feladata? Miért hasonlítjuk az adatkapcsolati réteghez?
A rétegek közül a szállítási réteg még az alsó három réteg logikai folytatásának tekinthető, hiszen gondoljuk meg: ha egy hoszt üzenetet küld a másiknak, akkor az üzenet továbbítása előtt ezt általában csomagokra kell darabolni, ezeket a hálózati rétegnek átadva át kell vinni a hálózaton és a célhosztnak átadni, ahol az üzenet összerakásra kerül. Az üzenetben leírt különféle fajtájú tevékenységet végre kell hajtani. Az üzenetkapcsolást használó rendszerek pontosan ebből a csomag-darabolásból és összerakásból adódó problémákat kerülik ki a teljes üzenet egy egységben történő átvitelével.
A szállítási réteg feladata nagyon fontos: megbízható adatszállítás biztosítása a forráshoszt és a célhoszt között, függetlenül az alatta lévő rétegek kialakításától. A cél eléréséhez a hálózati réteg által nyújtott szolgálatokra támaszkodik. Itt már a feladat a tényleges hoszt-hoszt kapcsolat hibamentes megvalósítása.
A használt protokollok sok esetben hasonlítanak az adatkapcsolati réteg protokolljaira, de itt az IMP-ket összekötő fizikai csatornát, a két hoszt közötti teljes alhálózat jelenti. Fontos eltérések azért vannak:
Adatkapcsolat esetén a pont-pont összeköttetés miatt nem kell címzés, szállítási rétegnél kötelező.
Az összeköttetés létesítése adatkapcsolati szinten egyszerű: a másik oldal mindig ott van (ha nincs, akkor tönkrement). Szállítási réteg esetén a kezdeti összeköttetés létesítés bonyolult.
A csomagok átvitele is eltéréseket mutat az adatkapcsolati keretátviteltől. Az alhálózat tárolókapacitása miatt elképzelhető, hogy egy csomag eltűnik (valahol tárolódik) majd egyszer hirtelen előkerül. A csomagok duplázódása miatt felmerülő problémákat is kezelni kell. Ez speciális protokoll használatát igényli.
Adatkapcsolati és szállítási réteg hasonlósága
Mivel a szállítási réteg a hálózati rétegre épül, ezért a hálózati szolgálat minősége alapjaiban meghatározza a szállítási protokoll kialakítását.
2. Hogyan osztályozzuk a hálózati szolgálatokat minőségük alapján?
3. Milyen megoldások vannak a csomagtovábbítás hibáinak a kezelésére?
csomópontátlépés számláló alkalmazása a csomagban, amelynek értéke minden csomópont átlépésekor eggyel növekszik; a csomag eldobásra kerül ha ez az érték egy adott korlátot elér,
a csomag létrehozásának időpontját a csomagban tároljuk; a csomagot vevő IMP-k ezt az időpont alapján a csomag korát meg tudják állapítani. Ha a csomag “túl öreg”, eldobják.
Ennek az a lényege, hogy az összeköttetés létesítése során a felek tetszőleges, véletlen-számként választott kezdősorszámmal kezdik az adásukat, így kiszűrhető egy korábbi összeköttetésből származó késve érkezett csomag.
Az összeköttetés lebontásakor biztosítani kell az adatvesztés mentes lebontást. Nem lehet addig törölni az összeköttetést, amíg az összes elküldött adat meg nem érkezik. Ezt az előbb említett három-utas kézfogás alkalmazása biztosítja.
4. Mi a viszonyréteg feladata?
A viszonyréteg a szállítási réteg felhasználásával szolgálatokat nyújt a felette lévő megjelenítési rétegnek. A fő funkciója az, hogy lehetőséget biztosítson a viszony használóknak adatokat cserélni a viszonyokon keresztül. A viszonyok a szállítási összeköttetések felhasználásával valósulnak meg. Egy viszony használhat egy vagy több szállítási összeköttetést is.
Fontos feladata a viszonyrétegnek a párbeszédes kapcsolatok kezelése. Ez azt jelenti, hogy bár a szállítási réteg teljes duplex kapcsolatot biztosít, de egy kérdés, és rá a felelet fél-duplex kapcsolat használatát igényli. Ha például a szállítási réteg képes több kérdés fogadására, akkor a viszonyréteg feladata a soron következő kérdések számontartása és rájuk a válaszok kikényszerítése. A gyakorlati megoldása ennek az adat-vezérjel (token) bevezetése: mindig csak a vezérjelet birtokló küldhet adatot, addig a másik félnek hallgatni kell. Az adatküldés befejezésekor az adat-vezérjelet átadja a másik oldalnak, és így a helyzet megfordul.
5. Mi a megjelenítési réteg feladata?
A megjelenítési réteg felelős az információ megjelenítéséért és egységes értelmezéséért, a feladata a szállított információ jelentéséhez kapcsolódik: az adatábrázoláshoz, adattömörítéshez és a hálózati biztonsághoz és védelemhez.
6. Milyen problémák léphetnek fel az adatábrázolással kapcsolatosan a hálózatokon?
Tény, hogy különféle számítógépek különböző adatábrázolási módokat használnak. Ez karakterek esetén lehet különböző kódrendszerek használata (az IBM nagy gépek EBCDIC-kódja vagy az ASCII kód), de lehetnek a számábrázolásban különbségek is. Ha két gép között ilyen eltérések vannak, akkor a hálózati kapcsolat során átvitt adatokat a megfelelő reprezentálás érdekében átalakítani, konvertálni kell. Struktúrált adatok esetén pl. rekordok esetén a helyzet bonyolultabb, mivel egyes mezőket kell konvertálni, míg másokat nem.
Az adatábrázolásból adódó problémák kezelése nem egyszerű: a küldőnek vagy a vevőnek kell biztosítania az átalakítást? Célszerű-e valami általános hálózati formátumot használni, és erre átalakítva lehetne adatot a hálózaton?
7. Rajzolja fel az adattömörítés blokkvázlatát!
A tömörítési módszer
Darabszám-kódolás: Ha egy adathalmazban sok egymás után következő azonos szimbólum fordul elő, célszerű egy külön szimbólumot fenntartani az ismétlődés jelzésére, és utána következik az ismétlődő szimbólum, míg az azt követő számérték jelzi az ismétlődő szimbólumok számát:
Például a felkiáltó jel legyen az ismétlődés jelző: !
! (szimbólum) <x=számérték 0-255 között > a szimbólum <x>-szer ismétlődik
!A112 -> 112 A betű egymás után
!! - > maga a ! jel
Minta helyettesítés: gyakori szimbólumsorozat helyettesítése speciális szimbólummal
Például a BASIC nyelvben szereplő definiált alapszavak (INPUT, FOR, stb.) a program futtatása előtt úgy bájtokban tömörítik, hogy a változókat, adatokat leíró ASCII karakterrel ábrázolt részeket változatlanul hagyják, (legfelső bit =0), míg az alapszavakhoz a maradék 128 kód valamelyikét rendelik hozzá (legfelső bit=1). Például: 80H->FOR, 81H->INPUT, stb. Ezzel az ún. tokenizálással a szöveges BASIC program mérete jelentősen csökkenthető.
Sorozathossz kódolás (Run Lenght Encoding = RLL): Sok nullát tartalmazó bináris sorozatokban a nullák számát bináris számként adjuk meg.
Például:
000100100000100001 -> a nullák száma: 3 2 5 4 -> 3 bittel kódolva : 011 010 101 100
18 bit
9. Mi a statisztikai kódolás? Mi a relatív kódolás?
Statisztikai kódolás: a kódhossz a kód előfordulási gyakoriságától függ. Ennek az a lényege hogy a információt leíró kódhalmazban a kódok hosszát azok gyakorisága alapján állapítjuk meg.
Jó példa erre a Morse ABC. Itt az angol szövegek leggyakoribb betűjének az “e”-nek a kódja a legrövidebb: a pont. A szintén gyakori “t” — nek pedig a vonás. Ilyen vonatkozásban, az ASCII kódrendszer, ahol minden szimbólum hossza egyformán 7 bit nem jó megoldás.
Predikció vagy relatív kódolás: ha az egymást követő jelek nem sokban térnek el egymástól, akkor elég a kis különbségeket kódolni.
Például a PCM Pulzus Kód Modulációnál a beszédet 8 kHz-el mintavételezve 8 bites felbontással (kvantálással) -> 64 kbit/s adatfolyam keletkezik. Kisebb sebességű adatfolyam adódik, ha csak a mintavételezett jelek változását kódoljuk. Ez a Delta PCM.
10. Rajzolja fel a titkosítási modellt!
A titkosítási modell
11. Ismertessen néhány helyettesítéses rejtjelezési megoldást!
Egyábécés helyettesítés: Első híres alkalmazójáról Julius Ceasar-ról elnevezve szokták Ceasar-féle rejtjelezésnek is hívni. Az eredeti abc-t egy három (általános esetben: k) karakterrel eltolt abc-vel helyettesíti, és így írja le a szöveget. Bár a lehetőségek száma nagy, de a nyelvi-statisztikai alapon könnyen fejthető. (betűk, szavak relatív gyakorisága alapján)
Többábécés rejtjelezés: 26 Ceasar-abc sort tartalmazó négyzetes mátrix. Nyílt szöveg fölé egy kulcsot (egy szöveget) írunk, és a kulcsban lévő betű dönti el, hogy melyik sort használjuk az adott nyílt szövegbeli betű titkosítására.
ABC....XYZ KULCSOCSKAKULCSOCSKA
BCD...YZA EZ A NYILT IRAT
... OT.......
ZAB...WXY
E betűt az O betű helyettesíti, mert a K-val kezdődő sor 5.-ik (E betű az 5-ödik!) tagja O.
Z betűt az T betű helyettesíti, mert a U-val kezdődő sor 26.-ik (Z betű az 26-odik!) tagja T.
A mátrix sorainak keverésével hatásosabb lesz a módszer, de ekkor a mátrix a kulcs részévé válik. Megfejtés alapja: a kulcs hosszának jó megsejtése.
Más: betűkódolás helyett két- három vagy négy betű kódolása, vagy szavak használata. (kulcs egy könyv (pl. szótár), és elküldjük hogy adott oldal hányadik sora (számok).
Porta-féle rejtjelezésnél 26*26-os mátrixot használunk, amelynek minden eleme betű-pár. A nyílt szöveg sorban egymás után álló két karaktere a mátrix egy sorát és oszlopát határozza meg, a metszéspontban lévő betűpárt írjuk az eredeti betű-pár helyére.
12. Mi a felcserési és helyettesítéses rejtjelezés közti alapvető különbség?
A helyettesítéses rejtjelezések és kódolások a nyílt szöveg szimbólumainak sorrendjét változatlanul hagyják, csak álcázzák. A felcseréléses rejtjelezések a betűk sorrendjét változtatják, de nem álcázzák.
DES (Data Encyption Standard) — Adattitkosítási szabvány
A számítógépek megjelenésével az a hagyományos módszerek (helyettesítés és felcserélés) továbbélnek, de a hangsúly máshová került. Mivel régen emberek voltak a titkosítók, ezért a készítők egyszerű, emberek által jól megtanulható algoritmusokat és hosszú kulcsokat használtak.
A számítógépek megjelenésével felmerült az igény olyan titkosítási algoritmusok iránt, amelyek olyan komplikáltak, hogy még egy számítógép se tudja megfejteni. Manapság a titkosítási algoritmus a nagyon bonyolult (hiszen a számítógép végzi), és a megfejtő még sok titkosított szöveg birtokában sem tudja megfejteni.
A DES módszer lényegében egy 64 bites nyílt szöveget 64 bites titkosított szöveggé alakít egy 56 bites titkosítási kulcs segítségével.
Bináris elemek esetén a felcserélések és helyettesítések egyszerű áramkörök segítségével valósítható meg.
Bitcsoport felcserélése és helyettesítése
A felcseréléseket a P doboz, a helyettesítéseket az S doboz végzi. A P doboz nem más mint egy 8 bemenetű és 8 kimenetű áramkör, egy bemenő paraméter által meghatározott össze-vissza kötött ki- és bemenetekkel, azaz a bemeneti 8 bit felcserélésével állítja elő a 8 bites kimenetet.
A helyettesítést az S doboz végzi, ez a doboz a bemenetére adott 3 bit nyílt szöveget alakítja át 3 bit titkos szöveggé.
A titkosítás első lépésben egy kulcstól független felcserélés történik, az utolsóban, pedig ennek az inverze. Az utolsó lépésben egyszerűen az első 32 bitet felcserélik az utolsó 32 bittel. A közbülső 16 fokozat ugyanúgy működik, de a kulcs más-más része határozza meg az alkalmazott P és S dobozok konkrét felépítését. Ez természetesen logikai függvényekkel is leírható, és ez alapján titkosító program is készíthető.
15. Mi az alkalmazási réteg feladata?
Az alkalmazási réteg feladata a felhasználó és a felhasználói programok számára a hálózati szolgáltatásokat biztosító illesztést biztosítása. A fő hálózati szolgáltatások a következők:
1.fejezet: A hálózatok célja, alkalmazása, alapfogalmak
2.fejezet: Fizikai átviteli jellemzők és módszerek
3.fejezet: Közeg-hozzáférési módszerek
4.fejezet: Adatkapcsolati protokollok
8.fejezet: A TCP/IP protokoll és az Internet