Operációs rendszerek és hálózatok GEIAL501M A hálózati réteg 2013/2014. tanév, I. félév Dr. Kovács Szilveszter E-mail:
[email protected] Informatikai Intézet 106. sz. szoba Tel: (46) 565-111 / 21-06 Dr. Kovács Szilveszter ©
E. II. / 1.
Miről lesz szó? • A hálózati réteg – Feladata a csomagok forráscsomóponttól célcsomópontig való eljuttatása – felette, alatta vég-vég (end-to-end) alapú, itt az egész hálózat látszik – címzések, funkciók, hálózatszervezés (ÖK alapú, ÖK mentesség)
• Forgalomirányítás • Torlódásvezérlés • Hálózatközi együttműködés
Dr. Kovács Szilveszter ©
E. II. / 2.
A hálózati réteg feladata • Csomagok forráscsomóponttól célcsomópontig való eljuttatása – Az adatkapcsolati réteg: csak egyetlen „vonal” (single link) két vége közötti keretmozgatást végzi, pl. hibajavítás, sorrendezés, forgalomszabályozás – A szállítási réteg: valódi vég-vég (end-to-end) alapú (valódi forrás-cél kapcsolat) • a hálózat topológiáját a csomagok célba juttatásának módját nem ismeri.
• A hálózati réteg két végpont közötti (end-to-end) átvitellel mikéntjével foglakozik Szállítási réteg (ismernie kell a hálózatot, topológia stb.) Hálózati réteg Adatkapcs. réteg Fizikai réteg Dr. Kovács Szilveszter ©
E. II. / 3.
A hálózati réteg feladata • Általánosan: – jól meghatározott szolgáltatások a szállítási réteg felé, azaz – a szállítási funkcionális elemtől NSAP-on át (Network Services Access Point) kapott és megcímzett (hálózati célcím, forráscím) adategységet (csomagot) a cím szerinti NSAP-hoz (a funkcionális társelemhez) (és sehová máshová) eljuttatni. NSAP
Szállítási réteg
szegmensek
Transport Layer
Hálózati réteg
csomagok
Network Layer
keretek
Data Link Layer
Adatkapcs. réteg Fizikai réteg
NSAP
Physical Layer bitek
NSAP (Network Service Access Point) cím: hálózati szolgálatot azonosít Dr. Kovács Szilveszter ©
E. II. / 4.
A hálózati réteg funkciói F
• Forgalomirányítás
– a csomag célba juttatása. – ismerni kell a topológiát – terhelésmegosztás (alternatív utak)
N
N
C
N
• Torlódásvezérlés – Ne legyenek a hálózat egyes részei túlterheltek – Hasonló a forgalomszabályozáshoz, de ez nem csak két pont (adó-vevő) közötti, hanem a hálózat egészére vonatkozik.
• Hálózatközi együttműködés – Ez az első réteg, ahol különböző hálózatok összekapcsolhatók (heterogén hálózatok kialakítása) Dr. Kovács Szilveszter ©
E. II. / 5.
Hálózatközi együttműködés A hálózat
Szegmensek (LNA+HA)
Szállítási Hálózati
(VA)
Adatkapcs.
(MAC)
Fizikai
B hálózat
Hálózati (VA) Adatkapcs.
Adatkapcs.
Fizikai
Fizikai
Szállítási (VA) (MAC)
Hálózati Adatkapcs. Fizikai
• A hálózati csomópontok funkciói (forgalomirányítás, torlódásvezérlés) csak a hálózati rétegig terjednek • Különböző adatkapcsolati rétegek (heterogén hálózat) lehetnek alattuk Címek: • • •
LNA: Hálózat cím (Logical Network Address), HA: Hoszt cím (Host Address) VA: virtuális áramkörön cím (ha van) MAC: Media Access Control (üzenetszórásos közeg esetén) Dr. Kovács Szilveszter ©
E. II. / 6.
A szállítási rétegnek nyújtott szolgálatok • Lehetnek: – Összeköttetés alapú (virtuális áramkör) – Összeköttetés-mentes (datagram) • Ezen szolgálattípusok több szinten is jelentkeznek, esetleg szintenként más-más lehet Viszony réteg
ÖK alapú szolgálat
ÖK mentes szolgálat
Szállítási réteg Hálózati réteg Adatkapcs. réteg Fizikai réteg
Pl: ÖK alapú adatkapcsolati szolgálaton lehet ÖK mentes hálózati szolgálat (pl: kapcsolt vonalon ÖK mentes hálózat) – és fordítva Dr. Kovács Szilveszter ©
E. II. / 7.
Szolgálattípusok • Összeköttetés alapú szolgálat
F
– (Áramkör kapcsolás, Circuit Switching)
N N
M2 F
N
M1
N
P2 F
• Virtual Circuit Packet Switching Dr. Kovács Szilveszter ©
N
P1
• Összeköttetés alapú szolgálat – Virtuális vonalkapcsolás (ÖK alapú)
C
N
– Csomagkapcsolásos (Packet Switching) • Datagram Packet Switching (ÖK mentes)
C
VC
• Összeköttetés-mentes szolgálat – Üzenetkapcsolásos (Message Switching) (ÖK mentes)
N
N
C
N
VC#2:P3, P4 F
N
VC#1:P1, P2
N N
E. II. / 8.
C
A hálózati réteg belső szervezése Két különböző alhálózat-szervezési filozófia: • Összeköttetéseken – virtuális áramkörökön alapuló • Összeköttetés mentes – datagram • A virtuális áramkör szervezés kedvező, ha: – Elsődlegesen összeköttetés alapú szolgálatot biztosít – Ne legyen minden egyes csomagra forgalomirányítás (datagram alhálózatban nincs előre meghatározott útvonal még akkor sem, ha a szolgálat ÖK alapú)
Dr. Kovács Szilveszter ©
E. II. / 9.
A virtuális áramkörön alapuló alhálózat-szervezés • A hívásfelépítés során a forrás és célállomás között virtuális áramkör (Virtual Circuit) alakul ki. ⇒A forgalomirányítás a hívásfelépítéskor történik! • A kommunikáció során a csomagok ugyanazon az úton, a nyitott virtuális áramkörön (VC) haladnak (mindkét irányban). • A kommunikáció befejeztével a virtuális áramkört fel kell szabadítani • Az egyes csatornákon több virtuális áramkör is lehet (számuk maximált). Dr. Kovács Szilveszter ©
VC alapú E. II. / 10.
A virtuális áramkörön alapuló alhálózat-szervezés Címzés: • Csak a hívásfelépítés során van szükség a teljes forrás, célcímre – Ezt követően már elegendő a virtuális áramkör jelzése ⇒Minden csomagban mező a virtuális áramkör jelzésére (Az egyes csatornákon több virtuális áramkör is lehet (számuk maximált)).
Dr. Kovács Szilveszter ©
VC alapú E. II. / 11.
A virtuális áramkörön alapuló alhálózat-szervezés Hívásfelépítéskor: • A csomópont kiválasztja a megfelelő irányú csatornát (útvonalat) és azon virtuális áramkört foglal le (pl. a legkisebb szabad sorszámút) • Ha nincs szabad áramkör, másik útvonalat választ. Ha ez sincs, a hívásfelépítés sikertelen. • Ez ismétlődik az útvonalat érintő valamennyi csomópontra ⇒Minden csomópontban táblázat a nyitott virtuális áramkörökről: melyik vonal melyik áramköre – melyik vonal melyik áramköréhez kapcsolódik Dr. Kovács Szilveszter ©
VC alapú E. II. / 12.
Példa virtuális áramkörön alapuló alhálózat-szervezésre C
AC A B
B
C
C
D
D
E
E C
E
D
• Van 5 csomópont: A, B, C, D, E • Az egyes csomópontokban csatornák jele a szomszéd neve. • Induláskor már létezzen B-C-D között egy virtuális áramkör. • Egy csatornán maximum 2 VC alakítható ki. • Feladat: A és D között két VC létrehozása Dr. Kovács Szilveszter ©
VC alapú E. II. / 13.
Az első VC A-ból D-be … C
AC A B
B
C
D
D
E
E
C
C
E
D
A táblák a csomópontokban
A
B C0
C C0 B0 A0
-
D
E
D0 C0 D1 C1
VC alapú hívásfelépítés: első Dr. Kovács Szilveszter ©
E. II. / 14.
A másik VC A-ból D-be … C
AC A B
B
C
D
D
E
E
C
C
E
D
A táblák a csomópontokban
A
B C0 C1
C
D
C0 B0 - D0 C0 A0 - D1 C1 A1 - E0 E0
E
C0
-
D0
VC alapú hívásfelépítés: második Dr. Kovács Szilveszter ©
E. II. / 15.
A kommunikáció C szempontjából C
AC A B
B
C
D
E
E
C
C
E
C B0 - D0 A0 - D1 A1 - E0
D
D
• Ha C az A-tól VC#0 csomagot kap: a virtuális áramkör azonosítót VC#1-re módosítja és továbbadja D felé (a táblázata 2. sora szerint) • Ha C az A-tól #1 jelzésű csomagot kap: a csatorna azonosítót VC#0-ra módosítja és továbbadja E felé • Ha C a B-től #0-val kap csomagot: VC#0-val továbbítja D-nek
A csatorna lebontása: a táblabejegyzések törlése VC alapú kommunikáció Dr. Kovács Szilveszter ©
E. II. / 16.
VC alapú kommunikáció • Lehetne más technika? – Pl: • Nincsenek táblák a csomópontokon (de a csatornacímek ismertek!) • Hívásfelépítéskor a forrás összegyűjti az útvonal csatornacímeit, és ezt elhelyezi minden csomag címében pl VC#0 A-tól D-ig: A-C-D VC#1 A-tól D-ig: A-C-E-D • A router így minden beérkező csomagnál a címből közvetlenül tudja, hogy azt melyik csatornáján kell továbbítani (ez a forrás általi forgalomirányítás - source routing)
Dr. Kovács Szilveszter ©
VC alapú E. II. / 17.
Datagram alapú alhálózat szervezés • Minden csomag teljes cél, forráscímet tartalmaz Cím = állomás cím + NSAP cím (az állomás cím lehet hálózat + hoszt cím)
• Az egyes csomagok egymástól függetlenül haladnak, ⇒minden csomagra külön-külön van forgalomirányítás – (mehetnek más-más úton is)
Dr. Kovács Szilveszter ©
E. II. / 18. Datagram alapú
Datagram alapú alhálózat szervezés Store-and-Forward Packet Switching
fig 5-1
Dr. Kovács Szilveszter ©
E. II. / 19.
A virtuális áramkör és a datagram alapú alhálózat-szervezés összehasonlítása Virt. áramkör Áramkör létesítés Címzés
Datagram Nem lehetséges (független)
Szükséges
Minden csomag csak Minden csomag teljes rövid VC címet tartalmaz címet tartalmaz (ovehead)
Állapotinformáció
Minden nyitott VC táblabejegyzést igényel valamennyi érintett csomópontban
Az alhálózat állapotmentes
Forgalomirányítás
Csak áramkörfelépítéskor
Minden csomag esetén újból
Torlódásvezérlés Csomóponti hibák hatása Összetettség Tipikusan alkalmas
Könnyű: ismert számú VCre lehet előre puffereket Nehéz foglalni A csomóponton átmenő Nincs, legfeljebb egyes valamennyi VC csomagokra megszakad A hálózati rétegben A szállítási rétegben ÖK alapú szolgálatra ÖK mentes szogálatra
De alkalmasak mindketten ÖK alapú és ÖK mentes szolgálat nyújtására is. Dr. Kovács Szilveszter ©
E. II. / 20.
A hálózati réteg funkciói • Forgalomirányítás – a csomag célba juttatása. – ismerni kell a topológiát – terhelésmegosztás (alternatív utak)
• Torlódásvezérlés – Ne legyenek a hálózat egyes részei túlterheltek – Hasonló a forgalomszabályozáshoz, de ez nem csak két pont (adó-vevő) közötti, hanem a hálózat egészére vonatkozik.
• Hálózatközi együttműködés – Ez az első réteg, ahol különböző hálózatok összekapcsolhatók (heterogén hálózatok kialakítása) Dr. Kovács Szilveszter ©
E. II. / 21.
A forgalomirányítás • A forgalomirányító algoritmus (routing alg.) dönti el, hogy a beérkező csomagot melyik kimenő vonalon kell továbbítani – Datagram alapú alhálózat esetén: minden csomagra külön-külön, – Virtuális áramkör alapú alhálózat esetén: csak az új virtuális áramkör létrehozásakor (hívásfelépítés) ⇒ viszony-forgalomirányítás (session routing)
Forgalomirányítás
Dr. Kovács Szilveszter ©
E. II. / 22.
Alapkövetelmények, tervezési szempontok • Egyszerűség, megbízhatóság • Helyesség (azt tegye, ami a dolga → egy példányban, a megadott címre) • Robosztusság: meghibásodás esetén is maradjon működőképes (legalább valamilyen mértékben) • Adaptivitás: adaptív, ha képes önállóan felépülni és alkalmazkodni a pillanatnyi körülményekhez • Stabilitás: indulástól véges idő alatt stabil állapotba kerüljön • Optimalitás: pl. költség, késletetés, min. ugrásszám szempontjából
Forgalomirányítás
Dr. Kovács Szilveszter ©
E. II. / 23.
Routing Algorithms Konfliktus: igazságosság - optimalitás
Dr. Kovács Szilveszter ©
E. II. / 24.
Az útvonalválsztás lépései • Döntések: a (router) csomópontok hozzák, merre továbbítsák a vett csomagot. • Információgyűjtés: a döntésekhez szükséges információk megszerzése. Pl: táblázatok létrehozása, mely a cél címekhez továbbítási irányokat rendel.
Forgalomirányítás
Dr. Kovács Szilveszter ©
E. II. / 25.
Forgalomirányítási döntési módszerek Lehetnek: • Egyutas, vagy többutas; • Táblázat alapú, vagy táblázat nélküli módszerek.
Forgalomirányítás
Dr. Kovács Szilveszter ©
E. II. / 26.
Egyutas forgalomirányítás • Minden címhez egy továbbítási irányt tárol (táblázat) • Előnye: – egyszerűség – optimális lehet (ha a tárolt irányok optimálisak)
• Hátránya: – nem robosztus (nem hibatűrő).
Forgalomirányítás, döntés
Dr. Kovács Szilveszter ©
E. II. / 27.
Többutas forgalomirányítás • Minden címhez több, súlyozott továbbítási irány, melyek közül pl. súlyozott sorsolással választhat. Pl. B egy táblabejegyzése a következő E A: 0,75; C: 0,2; D: 0,05 cím elérése
3 lehetséges irány, 3 súly
Forgalomirányítás, döntés
Dr. Kovács Szilveszter ©
A
B
D
E
C
E. II. / 28.
Többutas forgalomirányítás • Az irányok közüli választás szempontjai (sorsolási súlyok): – előre megadott (fix) súlyok; – prioritás (a csomagok prioritás határozza meg); – a kommunikáció típusa: a forgalmi osztályok szerint (pl. gyors választ, vagy nagy sávszélességet igényel) – a helyi sorok mérete (kifelé menő vonalak terheltsége) szerint (terhelésmegosztás)
• Előny: – több szempont figyelembevételére alkalmas; – robosztus; – adaptív.
• Hátrány: – Bonyolultabb (több feldolgozási időt igényel). Forgalomirányítás, döntés
Dr. Kovács Szilveszter ©
E. II. / 29.
Hierarchikus forgalomirányítás • Valamennyi célcím táblázatba gyűjtése esetén → túl nagy táblák (túl sok szolgálati kommunikáció) (nagy hálózatok esetén) • Megoldás: hierarchikus hálózat kialakítása → a teljes hálózat alhálózatokra, al-alhálózatokra stb. bomlik • Az alhálózatokra bontás szempontjai: – földrajzi elhelyezkedés; – funkcionális összetartozás (pl. közös cél); – fizikai közeghatárok, adatkapcsolati protokollok szerint ⇒ Lehetőleg egyenletes elosztásra kell törekedni
• Elég az egyes alhálózatok elérési irányát és csak a saját alhálózat cél cím szerinti irányait tartalmaznia a táblázatnak Pl: Címzésben: hálózat cím
Forgalomirányítás
alhálózat cím
Dr. Kovács Szilveszter ©
hoszt cím
: Cím
E. II. / 30.
Hierarchical Routing Hierarchical routing.
Az optimalitás elveszhet 1C - 6
Dr. Kovács Szilveszter ©
E. II. / 31.
Táblázat nélküli módszerek A „forró krumpli” módszer: • amerre a legrövidebb a sor, arra továbbítjuk a csomagot (minél korábban szabadulhasson tőle) • Előny: – Nem kell információt gyűjteni, – egyszerű, robosztus.
• Hátrány: – Rossz vonali kihasználtság, – a késleltetési idő nem korlátos.
Forgalomirányítás, döntés
Dr. Kovács Szilveszter ©
E. II. / 32.
Táblázat nélküli módszerek Az „elárasztásos” (flooding) módszer: • minden csomagot minden irányba továbbít, kivéve ahonnan jött. ⇒ Nagyszámú többszörözött csomagot eredményez. • Fékezési mechanizmusok: – Ugrásszámlálással (csomag fejlécben mező, melyet minden csomópont állít) • Egy bizonyos ugrásszám (a hálózat max. átmérője legalább) után minden csomópontok eldobj őket.
– Csomagok sorszámozása: • Az adó sorszámozza a csomagokat. • Ha egy csomópont ugyanattól a feladótól ugyanolyan sorszámú csomagot kap, mint amilyet már korábban kapott (és az időzítés még nem járt le) ⇒ eldobja azt, mint másodpéldányt
– Szelektív elárasztás: • A topológia ismeretében előre meghozza a forgalomirányítási döntéseket (nagyjából - ezért mondható táblázat nélkülinek) → és eszerint áraszt el. Forgalomirányítás, döntés
Dr. Kovács Szilveszter ©
E. II. / 33.
Táblázat nélküli módszerek Az „elárasztásos” (flooding) módszer: • Előny: – Egyszerű, robosztus, – optimális késleltetés.
• Hátrány: – Rossz vonalkihasználtság.
A „véletlen séta” módszer: • A bejövő csomagot valamely véletlen irányba továbbítja • Rossz vonalkihasználtság, de egyszerű és robosztus Forgalomirányítás, döntés
Dr. Kovács Szilveszter ©
E. II. / 34.
Információgyűjtési módszerek • Lehetnek: – Statikus, vagy dinamikus; – Centralizált, vagy elosztott módszerek • Statikus forgalomirányítás – A hálózat üzemeltetője tölti ki a csomópontok táblázatait (Pl. X.25 nyilvános csomagkapcsolt hálózat) – Bemeneti paraméterek (a kitöltő számára) • a topológia és • egyéb szempontok (pl. költség, késleltetés, legrövidebb út stb.)
Forgalomirányítás, infó
Dr. Kovács Szilveszter ©
E. II. / 35.
Statikus forgalomirányítás • Pl. Legrövidebb út algoritmus (Dijkstra 1959): – Állandóvá tesszük a kiindulási állomást → (1) – (1) Ideiglenesen felcímkézzük a szomszédos állomásokat – az úthosszal és az állandó állomás címével – A legrövidebb úthossz címkéjűt állandóvá tesszük → (1)
Pl: A→D legrövidebb út 1 A
B Hossz, vagy súly 3 1
4
D
⇒
B(1,A) 1 A
1 C
legkisebb súly - állandó 3 1 4
állandó
B(1,A) 1 D
⇒
A
1 C(4,A)
3 1
4 kisebb
B(1,A)
1 C(4,A) (2,B)
1 D (4,B)
⇒
A
3 1
4
D (4,B) 1 (3,C)
C(2,B) új állandó kisebb
A cél állandó lett → kész Forgalomirányítás, infó
Dr. Kovács Szilveszter ©
E. II. / 36.
Shortest Path Routing (Dijkstra 1959)
Dr. Kovács Szilveszter ©
E. II. / 37.
The Optimality Principle (a) A subnet.
(b) A sink tree for router B.
Ha az l-b legrövidebb úton rajta van f, akkor az f-b is a legrövidebb út
Dr. Kovács Szilveszter ©
E. II. / 38.
Adaptív centralizált forgalomirányítás • Működése: – központ (nagy kapacitású) begyűjti az összes információt a csomópontokról (topológia, forgalmi irányok, terhelés) – ebből kiszámítja az optimális utakat és – letölti azokat a csomópontok tábláiba. • Előnye: adaptív és optimális.
• Hátrányai: – Sebezhető → a központ hibáira védetlen → hiba esetén elveszítheti az adaptivitását, optimalitását. – A központ felé vezető utakat túlterhelhetik az információgyűjtés és tábla letöltés adatai. – Nagy mennyiségű szolgálati információ. – Esetenként instabil lehet (a késleltetések miatt) Forgalomirányítás, infó
Dr. Kovács Szilveszter ©
E. II. / 39.
Adaptív elszigetelt módszerek • (Dinamikus, elosztott információgyűjtés) • Ilyenek a táblázatnélküli módszerek és • a „fordított tanulás” (backward learning) módszer
A fordított tanulás • Kezdetben senki nem tud semmit ⇒ elárasztás • Minden csomagban ugrásszámláló, melyet minden csomópont amin áthalad, inkrementál
⇒ Forgalomirányítás, infó
Dr. Kovács Szilveszter ©
E. II. / 40.
A fordított tanulás
⇒
• Ha egy állomás valamely vonalán csomagot kap j ugrásszámmal, akkor tudja, hogy a feladó című állomás legfeljebb j lépés távolságban van a vétel irányában • A vett adatokat a táblázatában gyűjti („tanul”), – meghatározza, hogy melyik állomás melyik irányban érhető el a legkevesebb ugrásszámmal
• Időnként el kell „felejtenie” a régi bejegyzéseket (hogy alkalmazkodhasson a változásokhoz) • Előnyei: – nem igényel szolgálati kommunikációt, adaptív, robosztus.
• Hátrányok: – van fölösleges kommunikáció (kezdeti, majd időnkénti elárasztás), – számításigényes, – nem biztosít optimalitást (felejtés, elárasztás) (Pl. bridge).
• Megjegyzés: a fordított tanulás szelektív elárasztás (a nagyjából jó irányok mentén áraszt) Forgalomirányítás, infó
Dr. Kovács Szilveszter ©
E. II. / 41.
Elosztott forgalomirányítás Működés: • A szomszédok időnként átadják egymásnak aktuális tábláikat (ismereteiket a hálózatról) • A táblázatok tartalmazzák – az egyes célok elérési irányait – az illető cél távolságának (ugrásszám, vagy elérési idő) becsült értékét
• A táblákat kapó állomás hozzáadja a távolság értékekhez a táblát küldő becsült távolságát és ez alapján frissíti a saját táblázatát. • Előny: – közel lehet az optimumhoz, – adaptív, robosztus.
(Pl. IP routing)
• Hátrány: – szolgálati kommunikáció – Számításigényes feldolgozás Forgalomirányítás, infó
Dr. Kovács Szilveszter ©
E. II. / 42.
Elosztott forgalomirányítás: Távolságvektor alapú forgalomirányítás (Bellman-Ford 1957, 1962) A-t vizsgáljuk, aki B-től és C-től kap táblákat: 1
A
2
B
B táblája A A:1 C A:3 D D:4
C 4 D
4
A „korrigálja” a kapott táblákat a küldő távolságával:
A kiválasztja a legjobbakat:
+1
+2
Módosított B B:1 C B:4 D B:5
A a legjobbakból új táblát készít:
Forgalomirányítás, infó
C táblája A A:2 B A:3 D D:4
Dr. Kovács Szilveszter ©
Módosított C C:2 B C:5 D C:6
A táblája B B:1 C C:2 D B:5 E. II. / 43.
Distance Vector Routing (a) A subnet. (b) Input from A, I, H, K, and the new routing table for J.
Dr. Kovács Szilveszter ©
E. II. / 44.
Bellman-Ford algoritmus: count-to-infinity A végtelenig számolás problémája (count-to-infinity): • A jó hír (A megjavult) gyorsan, • a rossz hír (A elromlott) lassan terjed (a terjedés sebessége a ∞ ábrázolásától függ pl. 16) – A probléma oka, hogy egy csomópont nem tudja eldönteni, hogy ő maga rajta van-e egy másik csomópont által javasolt úton. A megjavult
A B C D E
A elromlott
A B CDE
0 ∞ ∞ ∞ ∞
Kezdet
x 1 2 3 4
Kezdet
0 1 ∞ ∞ ∞
1 csere
x 3 2 3 4
1 csere
0 1 2 ∞ ∞
2 csere
x 3 4 3 4
2 csere
0 1 2 3 ∞
3 csere
x 5 4 5 4
3 csere
0 1 2 3 4
4 csere
x 5 6 5 6
4 csere
x 7 6 7 6
5 csere
Forgalomirányítás, infó
Dr. Kovács Szilveszter ©
∞ ∞∞∞
E. II. / 45.
Route poisoning: útvonal mérgezés • Ha egy hálózat elérhetetlen, akkor a forgalomirányító megváltoztatja az arra az útvonalra vonatkozó mértéket végtelenre és ezt hirdeti. A elromlott
A B CDE x ∞1 ∞2 3 4
Kezdet
x 3 2 3 4
1 csere
x 3 4 3 4
2 csere
x 5 4 5 4
3 csere
x 5 6 5 6
4 csere
x 7 6 7 6
5 csere
∞ ∞∞∞
Split horizon: látóhatár megosztás • Megakadályozza, hogy azon az interfészén hirdessen egy útvonalat, amelyiken megismerte azt.
A elromlott
A B CDE x 1 2 3 4
Kezdet
x x 2 3 4
1 csere
x x x 3 4
2 csere
x x x x 4
3 csere
x x x x x
4 csere
Split-horizon routing with poison reverse • Végtelen távolságot hirdet azon az interfészén, amelyiken megismerte az illető útvonalat.
A elromlott
A B CDE x ∞ 1 ∞ 2 ∞3 ∞4
Kezdet
x x ∞ 2 ∞3 ∞4
1 csere
x x x ∞3 ∞4
2 csere
x x x x ∞4
3 csere
x x x x x
4 csere
Visszatartó időzítő • Megakadályozzák egy leállt útvonalra vonatkozó frissítésnek az elfogadását, ha a frissítés a leállást követő meghatározott időintervallumon belül érkezik, és a korábbinál nagyobb mértéket tartalmaz. • Ha a időzítő lejárta előtt az eredeti útvonal helyreáll, vagy olyan útvonal információt kap, mely kisebb mértékkel rendelkezik, akkor azonnal használni kezdi.
Elosztott forgalomirányítás: Kapcsolatállapot alapú forgalomirányítás (Link State Routing) Each router must do the following: • Discover its neighbors, learn their network address. • Measure the delay or cost to each of its neighbors. • Construct a packet telling all it has just learned. • Send this packet to all other routers. • Compute the shortest path to every other router.
Dr. Kovács Szilveszter ©
E. II. / 50.
Learning about the Neighbors (a) Nine routers and a LAN.
(b) A graph model of (a).
Dr. Kovács Szilveszter ©
E. II. / 51.
Measuring Line Cost A subnet in which the East and West parts are connected by two lines.
Measure the delay or cost to each of its neighbors - a terheléstől függően a késleltetés változhat - instabilitást okozhat (hol az egyik, hol a másik a jobb) Dr. Kovács Szilveszter ©
E. II. / 52.
Building Link State Packets
Sorszám (frissebb) Elárasztás
(a) A subnet. (b) The link state packets for this subnet. Ha kap egy kapcsolatállapot üzenetet, egy kicsit vár mielőtt használná (stabilitás) Dr. Kovács Szilveszter ©
E. II. / 53.
Distributing the Link State Packets The packet buffer for router B in the previous slide. Kinek kell küldeni kapcsolatállapot táblát
Kinek kell nyugtát küldeni (kitől kapta)
Dr. Kovács Szilveszter ©
E. II. / 54.
Shortest Path Routing (Dijkstra 1959)
Dr. Kovács Szilveszter ©
E. II. / 55.
Broadcast Routing Reverse path forwarding (Visszairányú továbbítás)
(a) A subnet.
(b) a Sink tree.
(c) The tree built by reverse path forwarding.
Azzal a csomaggal áraszt el, ami arról jött, amerre a forrást gondolja, a többit eldobja. Táblázatos elárasztás! Ha van tábla, ez a legjobb! Dr. Kovács Szilveszter ©
E. II. / 56.
Csomagszórásos forgalomirányítás (broadcasting) • Valamennyi állomásnak küld üzenetet. – Pl: osztott adatbázisok frissítése, ütemezési felhívás stb.
Lehetséges implementációi: • Mindenkinek külön csomagot küld a forrás. (lista kell a broadcasting-ban résztvevőkről) • Több-célcsomópontos forgalomirányítás (multi-destination routing).
⇒ Forgalomirányítás, broadcast
Dr. Kovács Szilveszter ©
E. II. / 57.
⇒
Multi-Destination Routing
• A csomagban benne az összes célcím (lista v. bittérkép formában) • A csomópont vizsgálja az „összes célcím” struktúrát, hogy meghatározza a kimenő vonala(ka)t. • Minden kimenő vonalra készít új csomagot, benne új „összes célcím” struktúrát hoz létre, és ezeket küldi el.
Forgalomirányítás, broadcast
Dr. Kovács Szilveszter ©
E. II. / 58.
Nyelőfát alkalmazó megoldások • Nyelőfa (sink tree): azon optimális utak halmaza, melyek az összes forrásból egy adott célba vezetnek. • A csomópontok ismerik a forrás nyelőfáját és e mentén továbbítják a csomagokat. • Megjegyzés: Ha a C→A optimális úton rajta van B, akkor a B→A útvonal is optimális. • Megjegyzés: a nyelőfa feszítőfa is Feszítőfa (spanning tree): a hálózat olyan útjainak halmaza, mely hurkot nem tartalmaznak (egyszeresen összefüggő), de a hálózat valamennyi csomópontját érintik Forgalomirányítás, broadcast
Dr. Kovács Szilveszter ©
E. II. / 59.
Példa C nyelőfájára
Forrás
A
B
C
D
E
F
- C küldi F-nek - F küldi E-nek - E küldi B-nek és D-nek - B küldi A-nak
C nyelőfáján: ha A → C optimális út, és az optimális úton rajta van B, akkor B → C is optimális
Forgalomirányítás, broadcast
Dr. Kovács Szilveszter ©
E. II. / 60.
Multicast Routing
(a) A network. (b) A spanning tree for the leftmost router. (c) A multicast tree for group 1. (d) A multicast tree for group 2. Elárasztás, visszairányú továbbítással, ha a router-nek nincs host-ja aki a csoportot hallgatná „Prune” visszafelé, csonkolja a fát, ha a router minden elmenő irányán „Prune”, ő is „Prune” üzenetet küld a gyökér felé, rekurzív fa csonkolás a gyökér felé. Dr. Kovács Szilveszter ©
E. II. / 61.
Routing for Mobile Hosts A WAN to which LANs, MANs, and wireless cells are attached.
A mobil host bejelentkezik a Foreign agent-hez, aki jelzi a home agent-nek, hogy hol van. Dr. Kovács Szilveszter ©
E. II. / 62.
Routing for Mobile Hosts Packet routing for mobile users. Caller
Home agent Foreign agent (mobile host)
Dr. Kovács Szilveszter ©
E. II. / 63.
Tunneling Tunneling a packet from Paris to London.
Dr. Kovács Szilveszter ©
E. II. / 64.
Tunneling Tunneling a car from France to England.
Dr. Kovács Szilveszter ©
E. II. / 65.
Routing in Ad Hoc Networks Possibilities when the routers are mobile: • Military vehicles on battlefield. – No infrastructure.
• A fleet of ships at sea. – All moving all the time
• Emergency works at earthquake. – The infrastructure destroyed.
• A gathering of people with notebook computers. – In an area lacking 802.11.
Dr. Kovács Szilveszter ©
E. II. / 66.
Route Discovery (Ad hoc On-demand Distance Vector, AODV)
• • • •
(a) Range of A's broadcast. (b) After B and D have received A's broadcast. (c) After C, F, and G have received A's broadcast. (d) After E, H, and I have received A's broadcast. Shaded nodes are new recipients. Arrows show possible reverse routes. Az elárasztás (csomag sorszámozás) során egy időre megjegyzi a forrás felé a vissza utakat Dr. Kovács Szilveszter ©
E. II. / 67.
Route Discovery Felderítés azonosítás (csomag sorszám)
Legutóbbi válasz (ha ennél frissebbet talál valahol nem keres tovább)
A kérdés frissessége
Format of a ROUTE REQUEST packet. A rövidebb út jobb
A válasz frissessége
Format of a ROUTE REPLY packet. A válasz a kérdés során megjegyzett visszaút mentén halad, a köztes router-ek eltárolják az odaút választ a „destination sequence”-el együtt. Amerre nem megy válasz, a visszaút bejegyzés egy idő után kiöregszik. Dr. Kovács Szilveszter ©
E. II. / 68.
Route Maintenance (a) D's routing table before G goes down. (b) The graph after G has gone down (hello-ra nem válaszol). Adott célra vonatkozó aktív szomszéd – a szomszéd adott irányú útja rajta vezet keresztül
G
Szól az aktív szomszédoknak, ha az út megszűnt (a számukra a megszűnő router-en keresztül vezető út) Dr. Kovács Szilveszter ©
E. II. / 69.
A hálózati réteg funkciói F
• Forgalomirányítás
– a csomag célbajuttatása. – ismerni kell a topológiát – terhelésmegosztás (alternatív utak)
N
N
C
N
• Torlódásvezérlés – Ne legyenek a hálózat egyes részei túlterheltek – Hasonló a forgalomszabályozáshoz, de ez nem csak két pont (adó-vevő) közötti, hanem a hálózat egészére vonatkozik.
• Hálózatközi együttműködés – Ez az első réteg, ahol különböző hálózatok összekapcsolhatók (heterogén hálózatok kialakítása) Dr. Kovács Szilveszter ©
E. II. / 70.
A torlódásvezérlés célja • Megelőzze és/vagy elhárítsa azokat a szituációkat, melyekben egy összeköttetés vagy egy csomópont túlterheltté válik.
Kézbesített csomagok Száma (áteresztő-képesség)
Optimális eset: ∝ pufferes csomópontok Korlát: a hálózat véges kapacitása Valós eset: véges pufferes csomópontok Bedugulás (csomagvesztés), aminek oka már nem a hálózati kapacitás, hanem a pufferek korlátai Elküldött csomagok száma (terhelés)
Dr. Kovács Szilveszter ©
E. II. / 71.
Congestion When too much traffic is offered, congestion sets in and performance degrades sharply.
Dr. Kovács Szilveszter ©
E. II. / 72.
Torlódásvezérlő algoritmusok • Pufferek előrefoglalása (Belépés ellenőrzés, admission controll) • Csomageldobás (Terhelés eltávolítás, load shedding) (különböző eldobási szempontokkal) • Figyelmeztető bitek módszere • Lefojtó-csomagok módszere • Véletlen korai detektálás (Random early detection) • Izaritmikus torlódásvezérlés • Forgalomszabályozásos torlódásvezérlés Dr. Kovács Szilveszter ©
E. II. / 73.
General Principles of Congestion Control • Monitor the system. – detect when and where congestion occurs.
• Pass information to where action can be taken. • Adjust system operation to correct the problem.
Dr. Kovács Szilveszter ©
E. II. / 74.
Congestion Prevention Policies Policies that affect congestion.
5-26
Áteresztőképesség növelés, terhelés csökkentés Dr. Kovács Szilveszter ©
E. II. / 75.
Pufferek, áramkörök előrefoglalása (Belépés ellenőrzés, admission control) • Minden átvinni kívánt csomagnak előre foglal puffert • Virtuális áramkör alapú hálózatokban használható, a hívásfelépítés során rendel a virtuális áramkörhöz pufferterületet - a hívásfelépítő csomag nemcsak táblabejegyzéseket generál, hanem puffereket is foglal. • Elutasítás lehetséges, amennyiben nem áll rendelkezésre az igényelt erőforrás Pl. az adóablak méretnek megfelelő puffert foglal le • Hátrány: nem gazdaságos (fölösleges pufferkapacitást foglal le) (sőt elutasíthat emiatt más hívásfelépítést). Megoldás pl: a sokáig tétlen puffereket felszabadítja. (ez kockázatos lehet)
Dr. Kovács Szilveszter ©
E. II. / 76.
Congestion Control in Virtual-Circuit Subnets
(a) A congested subnet. (b) A redrawn subnet, eliminates congestion and a virtual circuit from A to B. Dr. Kovács Szilveszter ©
E. II. / 77.
Csomageldobás (Terhelés eltávolítás, load shedding) First-Come-First-Served módon használja a puffereket ⇒ ha betelnek, eldobja az újabbakat (Nem foglalnak előre puffereket, de valamekkora minden vonalon van.) (Más protokollok biztosíthatják az újraadást.)
Módosításai: • A bemenetekre legalább 1db puffert le kell foglalni és szabadon kell hagyni (ne váljon süketté) Pl: szolgálati üzenetek: ha egyéb, eldobja, ha speciális üzenet ⇒ feldolgozza ⇒ nem lesz „süket”.
⇒ Torlódásvezérlés Csomageldobás
Dr. Kovács Szilveszter ©
E. II. / 78.
⇒
Csomageldobás
Módosításai: • Pufferek felosztása a kimenetek között – korlátozza a kimeneti puffer-sorok maximális hosszait – ugyanakkor minimális pufferszámot is előír a kimenetekre (a „kiéhezés” ellen) – A max pufferszám a forgalom függvénye. – Pl: „Ökölszabály” a kimeneti pufferek max számára : ahol p
m • p: a pufferek össz száma; • k: a kimenetek száma; • m: a max hossz egy kimenetre.
Torlódásvezérlés Csomageldobás
=
k Be
Ki
egy nem viheti el az összeset (a többieknek nem maradna) Dr. Kovács Szilveszter ©
E. II. / 79.
Csomageldobás Eldobási szempontok (prioritások) • pl. prioritási osztályok szerint, vagy • pl. az ugrások számát nézik, és azt dobják el, amelyik kevesebbet utazott (valószínűleg kisebb erőforrás-igényű ennek a megismétlése) • Vine policy (a régebbi az értékesebb, pl. file transzfer) • Milk policy (az újabb az értékesebb, pl. multimédia transzfer) Torlódásvezérlés Csomageldobás
Dr. Kovács Szilveszter ©
E. II. / 80.
Lefojtó-csomagok módszere Choke packets: • A források fojtása (még mielőtt a torlódás beállna) • Csomópont figyeli a kimenő vonalainak telítettségét, és ha az egy küszöbértéket túllép ⇒ lefojtó-csomagot küld a feladónak (ebbe az irányba csökkentsék a forgalmat jelentéssel), de az eredeti csomagot továbbítja. Az eredeti (továbbított) csomagot meg is jelölheti: ⇒ ez a csomag már váltott ki fojtóüzenetet (a rákövetkező csomópontoknak már nem kell küldenie) Torlódásvezérlés Lefojtás
Dr. Kovács Szilveszter ©
E. II. / 81.
Lefojtó-csomagok módszere • A küldő adaptivitása: – az első lefojtó-csomag vétele után csökkenti a forgalmát, majd – egy időzítés ideig nem fogad újabb fojtó csomagot (nem csökkenti tovább forgalmát) (duplikált fojtások lehetnek – pl. ugyanazon szekvencia több eleme). – Ennek leteltével újabb időzítés: • ha ezalatt újabb fojtócsomag érkezik ⇒ tovább csökkenti forgalmát, • ha nem érkezik ⇒ visszanöveli az adott célirányú forgalmát. Torlódásvezérlés Lefojtás
Dr. Kovács Szilveszter ©
E. II. / 82.
Hop-by-Hop Choke Packets (a) A choke packet that affects only the source. (b) A choke packet that affects each hop it passes through. A fojtócsomag hatására a köztes router-ek is lassabban adnak (további buffer igény a router-en)
Dr. Kovács Szilveszter ©
E. II. / 83.
Figyelmeztető bites módszer • A források fojtása (még mielőtt a torlódás beállna) • Csomópont figyeli a kimenő vonalainak telítettségét, és ha az egy küszöbértéket túllép ⇒ figyelmeztető bitet állít be az elmenő csomagba • A figyelmeztető bites csomag hatására a cél figyelmeztetés bites nyugtát küld a forrásnak (olyan a hatása mint a lefojtó csomagnak)
Torlódásvezérlés Lefojtás
Dr. Kovács Szilveszter ©
E. II. / 84.
Véletlen korai detektálás (Random early detection) • Csomópont figyeli a kimenő vonalainak telítettségét, és ha az egy küszöbértéket túllép ⇒ csomagok eldobása és az ebből következő nyugta vesztés • A vezetékes hálózatok többségénél a nyugta elvesztése a lefojtócsomag vételével azonos hatású (a csomagvesztés csak a túlterhelésből származhat) • Vezeték-nélküli hálózatoknál nem használható (gyakori csomagvesztés, gyors újraadás)
Torlódásvezérlés Lefojtás
Dr. Kovács Szilveszter ©
E. II. / 85.
Izaritmikus torlódásvezérlés • Korlátozza a hálózatban egyidejűleg bentlévő csomagok számát • Engedélyező csomagokat (permit) használ ⇒ csak akkor adhat, ha engedélyező csomagot kapott ⇒ majd utána újabb engedélyező csomagot generál • Az engedélyező csomagok körbejárnak a hálózaton. • Módosítása: Engedélyező központ, akitől lehet engedélyt kérni. • szolgálati overhead-del jár (bár nem naggyal), és • érzékeny a központ kiesésére
• Gond: Engedélyező csomagok megsemmisülése (Nehezen menedzselhető (pótolható)) – kivéve az engedélyező központos megoldást. Torlódásvezérlés Izaritmikus
Dr. Kovács Szilveszter ©
E. II. / 86.
Forgalomszabályozásos torlódásvezérlés • A forgalomszabályozás: – adó ne árasszon el vevőt (két állomás viszonyára)
• A fogadóállomások a forgalomszabályozást nem a kapacitásuk függvényében alkalmazzák, hanem valamilyen abszolút korlátozást vesznek figyelembe ⇒ esetleg az adóra is telepíthető, így közvetlen a kibocsátásnál érvényesíthető. • Ha a korlátok megfelelőek ⇒ biztos, hogy jó → ha egy kicsit nagyobbak ⇒ lehet, hogy nem egyenletes terhelés esetén egyes pontokon torlódások alakulnak ki. • Gond: alacsony korlátok esetén ⇒ nagy késleltetések. Torlódásvezérlés Forgalomszabályozásos
Dr. Kovács Szilveszter ©
E. II. / 87.
Quality of Service, QoS • • • • •
Requirements Techniques for Achieving Good Quality of Service Integrated Services Differentiated Services Label Switching and MPLS
• Szolgáltatás szintű megállapodás (service level agreement) Az ügyfél kéri, a szolgáltató vállalja • Forgalmi rendfenntartás (traffic policing) • Forgalomformálás (traffic shaping) Dr. Kovács Szilveszter ©
E. II. / 88.
Requirements How stringent the quality-of-service requirements are.
5-30
Dr. Kovács Szilveszter ©
E. II. / 89.
ATM: Connection Admission Control (CAC) • negotiation of the traffic contract is between the user and the network in the call establishment phase • CAC is provided with: Network - the required ATM layer transfer capability Contract - the source traffic descriptors - the required QoS class • a connection can only be accepted if sufficient network resources are available to establish the connection end-to-end with is required quality of service - e.g. for a required CBR service class the available link capacity needs to be checked; for a required UBR service class the available buffer space could be the primer factor to be considered Dr. Kovács Szilveszter ©
ATM: Usage and Network Parameter Control (UPC, NPC) • ‘Traffic Policing’ - a set of actions taken by the network to monitor and control that the traffic contract is respected • Checking the validity of VPI/VCI values • Monitoring the traffic volume entering the network from all active VP and VC connections to ensure that the agreed parameters are not violated • In case of traffic contract violation UPC/NPC can - discarding cells that violate the negotiated parameters - the ‘guilty’ connection may be released - tagging of violating cells and discard later if necessary (CLP - congestion loss priority bit in ATM header) UPC
- do nothing (forwarding)
Network Contract
Dr. Kovács Szilveszter ©
?
ATM: Traffic Shaping • altering the traffic characteristics on the user side to ensure conformance to the traffic contract, e.g. reducing the peak cell rate by buffering - better network utilisation, but increased cell transfer delay
PCR Contract
PCR Traffic Shaping
Contract
UPC: OK
Dr. Kovács Szilveszter ©
ATM Network
Forgalom formálás: Buffering Smoothing the output stream by buffering packets.
Dr. Kovács Szilveszter ©
E. II. / 93.
Admission controll: The Leaky Bucket Algorithm (Lyukas vödör)
(a) A leaky bucket with water. (b) a leaky bucket with packets. Egykiszolgálós sorbanállási rendszer állandó kiszolgálási idővel. Lehet csomag, vagy byte-számlálós lyukas vödör. Dr. Kovács Szilveszter ©
E. II. / 94.
The Token Bucket Algorithm
C+p*S=M*S S=C/(M-p) 5-34 M: max seb B/s p: token érkezési seb B/s C: vödör (token) kapac B S: burst hossz B
(a) Before.
(b) After.
Korlátozott burst-öt is enged (a felgyülemlett tokenek erejéig). A max tokenszám korlátozott, csak tokennel küldhet csomagot vagy byte-ot. Dr. Kovács Szilveszter ©
E. II. / 95.
The Leaky Bucket Algorithm (a) Input to a leaky bucket. (b) Output from a leaky bucket. Output from a token bucket with capacities of (c) 250 KB, (d) 500 KB, (e) 750 KB, (f) Output from a 500KB token bucket feeding a 10-MB/sec leaky bucket. Dr. Kovács Szilveszter ©
E. II. / 96.
Admission Control An example of flow specification.
5-34
Dr. Kovács Szilveszter ©
E. II. / 97.
Packet Scheduling Egyenlő esélyű sorbaállítás (fair queueing) (egy folyam ne vigyen el túl sok erőforrást): Csomagok, vagy byte-ok Round Robin a sorok között
(a) A router with five packets queued for line O. (b) Finishing times for the five packets. Dr. Kovács Szilveszter ©
E. II. / 98.
RSVP-The ReSerVation Protocol (RFC 2205)
(a) A network, (b) The multicast spanning tree for host 1. (c) The multicast spanning tree for host 2.
Folyam alapú algoritmusok, integrált szolgáltatások: Erőforrás foglalás. Több feszítőfát használó többesküldés. Bármelyik csoport tag küldhet foglalási kérelmet a fán fölfelé az adóig (elárasztás, visszairányú továbbítás). Ha van elég sávszélesség a routeren közben foglal, ha nincs elutasít. Ha elér a forrásig kész. Dr. Kovács Szilveszter ©
E. II. / 99.
RSVP-The ReSerVation Protocol
(a) Host 3 requests a channel to host 1. (b) Host 3 then requests a second channel, to host 2. (c) Host 5 requests a channel to host 1. Forrás váltásnál a lefoglalt utak megtarthatók. A különböző host-okba azonos forrásból induló (azonos tartalmú) csatornák egyesíthetők. Dr. Kovács Szilveszter ©
E. II. / 100.
Osztály alapú szolgálatminőség (Differenciált szolgáltatás): Gyorsított továbbítás (RFC 3246) (Expedited Forwarding)
Expedited packets experience a traffic-free network.
Az egyes szolgáltatási osztályoknak külön fenntartott sávszélességre irányítja. Több sor. csomagidőzítés súlyozott egyenlő esélyű sorba állítás.
Dr. Kovács Szilveszter ©
E. II. / 101.
Biztosított továbbítás (RFC 2597) (Assured Forwarding) A possible implementation of the data flow for assured forwarding. Hoszt oldal IP fejrészben (TOS) jelöl
Várakoztat/eldob
Négy prioritási osztály saját erőforrásokkal + Torlódás esetén három csomag eldobási valószínűség (kis, közepes, nagy): 12 szolgáltatási osztály Megfelelő összetételű folyam kialakítása Dr. Kovács Szilveszter ©
E. II. / 102.
Többprotokollos címkekapcsolás: Label Switching and MPLS Transmitting a TCP segment using IP, MPLS, and PPP.
Az adatkapcsolati és a hálózati réteg között. Kapcsolatorientált továbbítás. A csomag címkéje az index a továbbítási táblázathoz. Lehetnek csak MPLS kapcsolók, melyek több protokollt is továbbítanak (a belsejét nem nézi). Egy címkéhez rendelt csoportosított folyam: Továbbítási ekvivalencia osztály (Forward Equivalence Class, FEC) Belül tartalmaz címet is (pl.IP), így a címzett útvonal végén hálózati továbbítás. Dr. Kovács Szilveszter ©
E. II. / 103.
A hálózati réteg funkciói • Forgalomirányítás – a csomag célba juttatása. – ismerni kell a topológiát – terhelésmegosztás (alternatív utak)
• Torlódásvezérlés – Ne legyenek a hálózat egyes részei túlterheltek – Hasonló a forgalomszabályozáshoz, de ez nem csak két pont (adó-vevő) közötti, hanem a hálózat egészére vonatkozik.
• Hálózatközi együttműködés – Ez az első réteg, ahol különböző hálózatok összekapcsolhatók (heterogén hálózatok kialakítása) Dr. Kovács Szilveszter ©
E. II. / 104.