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