2013. április 23., kedd

SZSZK11 - Hálózatok


Adatkapcsolati protokollok
--------------------------

- A protokollok feladata egy összeállított keret átvitele két csomópont között.

- Az adatokat a hálózati rétegből kapja az adatkapcsolati réteg, és az általa összeállított információcsomagokat, vagy más néven kereteket átadja a fizikai rétegnek, ami bitenként küldi át a fizikai közegen.

- A csomag küldés folyamata bonyolult folyamat, mert az adó és a vevő között olyan hatások érhetik, amelyekre fel kell készülnie a protokollnak. (váratlan események, pl. ütközés, a csatorna minősége)

A probléma az, hogy nincs olyan eljárás, amely folyamatos tetszőleges bitfolyamban a hibát képes jelezni. Az átküldés hibátlanságát ellenőrizni kell, ezért a bitfolyamot keretekké kell tördelni, és mindegyik keretet egy ellenőrző összeggel kell kiegészíteni. A keret megérkezése után ez az ellenőrző öszeg a vételi oldalon a vett adatokból is kiszámításra kerül, és ha nem egyezik meg a küldő által számítottal, akkor a keretet a vevő eldobja, és a küldőnek ismételten el kell küldenie.


- Bitcsoportos átvitelt alkalmazunk, hogy ne foglaljuk bitenként a csatornát. A bitcsoportok tetszőlegesek lehetnek, de általában ASCII karakterkódolásúak. Ilyen setben mindig egész számú karaktert viszünk át, így az átvitt információ adategysége a karakter. -> Ez a karakterorientált átvitel.

(Megjegyzés: Ha a bitfolyam adatait bitenként visszük át, akkor azt bitorientált átvitelnek nevezzük)


Keretek képzése
---------------

1., Karakterszámláló módszer

- A keret fejlécében megadjuk a keretben lévő karakterek számát. Ez a vevő oldalán meghatározhatóvá teszi a keret végét.

2., Kezdő és végkarakterek alkalmazása karakterbeszúrással

- az előző módszernél a keret karaktereinek vételénél egy számlálót is folyamatosan kell egyesével csökkenteni (dekrementálni), amely kezdeti értékét is a keretből töltjük fel. Amikor a számláló értéke nulla, akkor értük el a keret végét. Ennél jobb megoldás, ha egy speciális karaktersorozattal jelöljük a keret kezdetét és végét. Erre bevállt módszer a következő:

- keret kezdete: DLE STX
- keret vége: DLE ETX
Ezek speciális ASCII kódtáblában megtalálható karakterek, és az adatrészben soha nem fordulhatnak elő.

3., Kezdő és végjelzők bitbeszúrással:
Ezt a módszert a rugalmasabb bitorientált átvitelnél használják. Minden keret egy speciális bitmintával kezdődik és végződik. Ha az adó 5 egymást követő 1-est tartalmazó mintát talál az adatmezőben, akkor egy 0 bitet szúr be utána. A vevő a másik oldalon pedig ezt a beszúrt bitet, az 5 egymás utáni 1-es bit érzékelése után kiveszi a bitfolyamból.

Hibakezelés
-----------

Az adatátviltel és a kommunikáció fontos kérdése az átvitel során fellépő hibák kezelése. A rétegfelosztást figyelembe véve ezt az alsó 3 rétegben kell megoldani.

Az első hibakezelést a fizikai rétegben kezeljük a bitek és a karakterek átvitelekor. A vonalakon fellépő hibákat különböző fizikai jelenségek okozzák. (pl.: termikus zaj, vonalakat kapcsoló berendezések impulzus zaja, légköri jelenségek, villámlás okozta zajok.)

A zajok időtartamából következően lehetnek egyedi és csoportos bithibák.  Gyakrolatban a hibák fennállási ideje általában egy bit átviteli idejének a többszöröse -> a hibák csoportosan, hibacsomók formájában jelentkeznek.
Mivel az adatátvitel keretekben történik, az eredmény egy-egy keret meghibásodása.

Egyedi bithibák kezelésére a hibajavító és hibajelző kódok alkalmazása ad lehetőséget. (Hibajavító: ECC - Error Correcting Code, Hibajező kód: Error Detecting Code)

Hamming távolság
----------------

- Két tetszőleges kódszót megadva, mindig megállípítható, hogy hány bitben különböznek egymástól. A két szó kizáró vagy (XOR) kapcsolata által adott eredményben az 1-esek száma adja a különbséget. Ezt nevezzük két kódszó Hamming távolságának.


CRC - Cyclic Redundancy Check
-----------------------------


Csoportos bithibák esetén alkalmazzuk. Ez a hibavédelmi eljárás úgy működik, hogy egy keretnyi adatot egy előre meghatározott bitsorozattal elosztunk, és a maradékot a keret részeként továbbítjuk. A vevő oldalon ugyanezt az osztást végezzük el, és ha ez a keret részeként átküldött maradékkal egyezik, akkor hibátlannak fogadjuk el a keretet. 

Három szabványos bitsorozat terjedt el:

1., CRC-12 6 bites karakterek átvitelekor használt.
2., CRC-16 8 bites karakterek átvitelekor használt.
3., CRC-CCITT 8 bites karakterek átvitelekor használt.

Adatkapcsolati protokoll
------------------------

- Az adatkapcsolati réteg tördeli keretekké a bitfolyamot és látja el fejrésszel, amelyet a vevő oldali adatkapcsolati réteg távolít el, és állítja vissza a bitfolyamot. A hálózati és adatkapcsolati réteg teljes elkülkönítése érdekében a kálózati rétegnek a keretekre tördelésről, annak fejléccel történő ellátásáról nincs információja.

Hálózati réteg
--------------

A hálózati réteg feladata a csomagok eljuttatása a forrástól a célig. A célig egy csomag valószínüleg több csomóponton keresztül jut el. Ehhez ismerni kell a hálózat felépítését, azaz topológiáját, és ki kell választani az optimális útvonalat. Ha a forrás és a cél eltérő típusú hálózatokban vannak, a réteg feladata, hogy a hálózatok közötti különbségekből adódó problémákat megoldja.

A megoldásnál figyelembe kell venni, hogy alapvetően két eltérő hálózatszervezési módszer létezik:

- az összeköttetés alapú (az összeköttetést virtuális áramköröknek nevezzük -> A forrás és a cél között felépült állandó utvonalon haladnak át a csomagok, de egy fizikai közeget egyszerre több virtuális kapcsolat használhat)
- összeköttetés mentes

- Összeköttetés mentes hálózatoknál az áramló csomagokat datagramoknak nevezzük.

- Virtuális áramkörök használatakor nem kell minden egyes csomagra forgalomszabályozási döntést hozni. A forgalom szabályozás az összeköttetés létesítésének része. 

Nincsenek megjegyzések:

Megjegyzés küldése