Almási Béla: Számítógép hálózatok oktatási segédlet Elérhető: www.tankonyvtar.hu (ezen belül -> keresés) Számítógép-hálózat: Számítógéprendszerek valamilyen információátvitellel megvalósítható cél érdekében történő (hardveres és szoftveres) összekapcsolása. Csomópont (node): Önálló kommunikációra képes, saját hálózati címmel rendelkező eszköz (pl. számítógép, nyomtató, forgalomirányító). Adatátviteli közeg (média, vonal): Olyan eszköz, anyag, közeg, melyen keresztül az információ (jel) továbbítása történik. (Pl. csavart pár, koax kábel, optikai kábel vagy levegő). Adatátviteli csatorna: Jelek továbbítására szolgáló adatút (frekvenciasáv). Gyakran egy adatátviteli közegen több csatornát (adatutat) építenek ki. Ütközés: Ütközésről beszélünk, ha egy közös adatátviteli csatornán két (vagy több) csomópont egy időpillanatban továbbít információt. Ütközési tartomány (collision domain, bandwidth domain): Az a hálózatrész, ahol egy bizonyos előforduló ütközés érzékelhető, megjelenik. Jel: Helytől és időtől függő, információt hordozó fizikai mennyiség(ek). Információhordozó a kommunikációs csatornán, lehet analóg vagy digitális. Jelkódolás: A (digitális) információ leképezése (digitális) vivőjelre (pl. feszültségszintekre, feszültségszint-váltásokra). (Csak digitális kódolással foglalkozunk, de természetesen létezik nem digitális variáns is). Moduláció: Az információátviteli csatorna egy frekvenciasávként jeleníthető meg legegyszerűbben (analóg vivőfrekvencia). A moduláció a továbbítandó (digitális) információnak az analóg vivőjelre történő leképezése. Tipikusan az analóg vivőfrekvencia valamely paraméterének (pl. amplitúdó, fázis, stb) jól meghatározott elven történő megváltoztatásával implementálható. Inverz (vevő oldali) folyamata a demoduláció. Multiplexelés: Két (vagy több) jól elkülöníthető (különböző) kommunikációnak egy vonalon (vagy csatornán) való párhuzamosan történő működtetése (végrehajtása). Adatátviteli sebesség (hálózati sebesség, sávszélesség, bitráta, bandwidth): Időegység alatt átvitt információ mennyisége. Mértékegysége a bit/másodperc, b/s, bps. Modulációsebesség (jelváltás sebesség): Időegység alatt bekövetkező jelváltások (a csatornán érvényes szimbólumok közötti átmenetek) száma. Mértékegysége a jelváltás/másodperc. Pont-pont kapcsolat (Point-To-Point): Ha az információközlés csak két pont (egy adó és egy vevő) között zajlik, akkor pont-pont kapcsolatról beszélünk. Többpontos kapcsolat, üzenetszórás (broadcast): Többpontos kapcsolatról (pl.) akkor beszélünk, ha egy adó egyszerre több vevőt lát el információval. Az üzenetszórás olyan többpontos kapcsolat, ahol az adótól egy bizonyos hatósugáron belül minden vevő megkapja az információt (pl. rádiós műsorszórás). Egyirányú (szimplex) összeköttetés: Ha két kommunikációs pont között az információközlés csak egy irányban lehetséges, akkor egyirányú (szimplex) összeköttetésről beszélünk (pl. rádiós műsorszórás). Váltakozó irányú (half-duplex) összeköttetés: Az információátvitel mindkét irányban lehetséges, de egy időpillanatban csak az egyik irányban (pl. CB rádió). Kétirányú (full-duplex) összeköttetés: Az információátvitel egy időpillanatban mindkét irányban lehetséges (pl. telefon). (Logikailag két, egymástól függetlenül működő szimplex összeköttetésnek fogható fel). Vonalkapcsolt (áramkörkapcsolt, circuit switched) technológia: Az információátvitel előtt dedikált kapcsolat (kommunikációs áramkör) épül ki a két végpont között, s ez folyamatosan fennáll, amíg a kommunikáció tart. (Pl. klasszikus vonalas telefon.) Üzenetkapcsolt (store and forward) technológia: Nem épül ki áramkör, hanem a teljes üzenet kapcsolóközpontról kapcsolóközpontra halad, mindig csak egy összeköttetést terhelve. (Pl. telex.) Csomagkapcsolt (packet switched) technológia: Az információt (korlátozott maximális méretű) részekre (csomagokra) darabolják, s a csomagokat (mint önálló egységeket) üzenetkapcsolt elven továbbítják. Egyedi cím (Unicast address): Egy csomópont egy hálózati csatlakozójára (interfészére) vonatkozó azonosító. Az üzenetekben szereplő feladó cím tipikusan egyedi (unicast) cím. Általában egy hálózati interfész egy egyedi címet kap azonosítási célból, de természetesen ez nem kötelező megszorítás. Bárki cím (Anycast address): Interfészek egy halmazát (tipikusan különböző csomópontokon található interfészek halmazát) azonosító cím. Ha egy csomagot egy „bárki címre” küldünk, akkor a halmazból egy interfészre (célszerűen a legközelebbire) kell eljuttatni. Többes cím (Multicast address): Interfészek egy halmazát vagy csoportját (tipikusan különböző csomópontokon található interfészek csoportját) azonosító cím. Ha egy csomagot egy „többes címre” küldünk, akkor a csoport minden elemére el kell juttatnunk. Üzenetszórási ("mindenki") cím (Broadcast address): Egy jól meghatározott hálózatrészen (ún. üzenetszórási tartományon) belül elhelyezkedő valamennyi csomópontot (ill. csomópontok interfészét) azonosító cím. Logikailag speciális multicast címnek is felfogható (a csoport az üzenetszórási tartomány valamennyi interfészét magába foglalja). Üzenetszórási tartomány (broadcast domain): Az a hálózatrész, ahol az üzenetszórás célcímmel feladott információ (csomag) megjelenik, érzékelhető. Protokoll: Szabályok és konvenciók összességének egy formális leírása, mellyel meghatározzák a hálózati eszközök (csomópontok) kommunikációját (kommunikációs szabályok halmaza). Az egyes hálózatrészek összekapcsolására szolgáló eszközök: Transzport réteg (és felette) Átjáró (gateway) Hálózati réteg Forgalomirányító, útválasztó (router). Adatkapcsolati réteg Híd, kapcsoló (bridge, switch) Fizikai réteg Jelismétlő (repeater, HUB) Jelismétlő (repeater): - Az átviteli közegen továbbított jeleket ismétli, erősíti. - Az összekapcsolt részhálózatokat nem választja el. - Többportos változatát szokás HUB-nak nevezni. Híd (bridge): - Az adatkapcsolati rétegben működve szelektív összekapcsolást végez. - Az összekapcsolt részhálózatok külön ütközési tartományt alkotnak. - Az üzenetszórást általában minden összekapcsolt részhálózat felé továbbítja. Kapcsoló (switch): - Olyan többportos eszköz, melynek bármely két portja között híd (bridge) funkcionalitás működik. Vezeték nélküli hozzáférési pont, bázisállomás (Access Point): A vezeték nélküli hozzáférési pont (AP) leggyakrabban speciális híd funkcionalitást megvalósító eszköz: Olyan kétportos híd, melynek egyik portja vezetékes, másik portja pedig vezeték nélküli csatornához csatlakozik. Forgalomirányító (router): - A hálózati rétegben működve szelektív összekapcsolást, útvonalválasztást, forgalomirányítást végez. - Az összekapcsolt részhálózatok külön ütközési tartományt és külön üzenetszórási tartományt alkotnak. - Csomópont, saját hálózati címmel rendelkezik. Csatorna maximális adatátviteli sebessége (Nyquist tétel zajmentes csatornára): C = 2*H*log2(V) bit/s ahol C: a max. átviteli sebesség, H: sávszélesség, V: átvitelhez használt jelek száma Zajos csatorna esete (Shannon tétel): C = H*log2(1+S/N) ahol S: átlagos jelteljesítmény (signal), N: átlagos zajteljesítmény (noise) Csillapítás/erősítés: Mértékét decibelben (dB) adják meg: Csillapítás = 10*log10(P1/P2), ahol P1 és P2 a két jelszint teljesítménye Vezetékes médiumok csillapítása: Nagymértékben függ a frekvenciától, sodort érpár 10-100 KHz tartományban, koax kábel 1-100 MHz tartományban, optikai szál 1000 GHz fölött használható. Rádiófrekvenciás átvitel (RF): - Kistávolságú átvitel (WLAN, Wi-Fi). LAN-hálózat vezeték nélküli kiterjesztése. Szabadon használható frekvenciák (2.4 GHz, 5 GHz). - Nagytávolságú összeköttetés (GPRS, EDGE, UMTS). A mobiltelefonos technológia kiterjesztése adatátviteli célokra. Frekvencia-használati (átviteli) díjat kell fizetni. Jelkódolás: A fizikai rétegben megjelenő bitsorozatot az alkalmazott (digitális) csatorna jelkészletére, jelzésrendszerére (feszültségszintekre, feszültségszint-váltásokra) képezzük le. Bipoláris kódolás: A csatornán két jelet (feszültségszintet) különíthetünk el, s az egyszerűség kedvéért a (+1) és a (-1) szimbólumokkal jelöljük őket. Manchester kódolás: Az "1" bit értéket az átviteli idejének közepén bekövetkező (+1) -> (-1) feszültségszint-váltás, a "0" bit értéket pedig az átviteli idejének közepén bekövetkező (-1) -> (+1) feszültségszint-váltás reprezentálja. A folyamatos szinkronizáció biztosított (önütemező kód), de dupla jelváltás-sebességet igényel. Keretezés: A hálózati réteg felől érkező bitfolyamot keretekre kell tördelni, s a kereteket kell továbbítani. Megoldási lehetőségek: karakterszámlálás, karakterbeszúrás, bitbeszúrás Kapcsolási módszerek: - Tárol és továbbít: A keret továbbítása a teljes keret megérkezése után kezdődik meg. A kapcsoló újraszámítja a keretellenőrző összeget (CRC), s ha a keret hibás, eldobja. - Közvetlen kapcsolás: A célcím (6 bájt) megérkezése után azonnal megkezdődik a keret továbbítása a kimeneti porton. Hálózati réteg: A hálózati réteg feladata a kommunikációs kapcsolat (adatátvitel) megvalósítása olyan csomópontok között is, melyek között nem áll fenn közvetlen csatorna (vagy adatkapcsolati rétegbeli) összeköttetés. A legfontosabb feladat a hálózati rétegben a címzési rendszer kialakítása és a forgalomirányítás. IP csomagok darabolása (fregmentálás): Darabolásra akkor van szükség, ha a csomag (túl nagy mérete miatt) nem ágyazható be az adatkapcsolati réteg keret adatmezőjébe. Az azonosítót az adó állomás adja, és minden fragmentben változatlan marad. Az offset kezdetben nulla étékű. Darabolást bármely állomás (router) végezhet a csomag ill. csomagdarab küldése előtt. Darabolás az adatmező valamely 8 bájtos egységhatárán következhet be. Az offset értékben a fragment első bájtjának az eredeti (nem darabolt) csomagbeli helyét jelezzük 8 bájtos egységben számolva. A darabok összeillesztését a célállomás végzi. A hálózati maszk (netmask): Egy olyan 32 bites maszk, mely 1-es bit értékeket tartalmaz a hálózat és alhálózat azonosításában résztvevő bithelyeken, és 0-ás bit értékeket tartalmaz a csomópont azonosítására szolgáló bithelyeken. Prefix hossz: A hálózati maszkban szereplő 1-es értékek darabszáma (a hálózat azonosító bithelyek darabszáma). Speciális IP címek: - Nem definiált IP cím (aktuális gép): 32 db "0" bitérték. A csomópont saját magára való hivatkozásként használhatja, ha nincs ennél alkalmasabb címe (pl. DHCP címkéréskor feladó IP címként szerepelhet). - Loopback IP cím (egy gépen belüli kommunikáció): A 127.0.0.0/8 címtartomány "loopback" célra használt. A loopback interfész egy speciális (valódi hardverhez nem kötődő) interfész, melynek célja, hogy egy csomóponton belül is lehessen szabályos IP kommunikációt folytatni. A csomag ebben az esetben nem hagyhatja el a csomópontot (nem jelenhet meg a tényleges hálózati vonalon/csatornán). - Hálózat azonosító IP cím: csomópont azonosító bitpozícióiban mindenütt "0" érték szerepel (a hálózat azonosító bithelyeken pedig a hivatkozott hálózat azonosítója). Leggyakrabban a forgalomirányítási táblázatokban találkozunk ilyen címmel. - Aktuális hálózaton belüli üzenetszórás IP címe: 32 db "1" bitérték. Az aktuális üzenetszórási tartomány valamennyi csomópontja számára szóló üzenet célcímeként használható. - Irányított üzenetszórás IP címe (directed broadcast): Az irányított üzenetszórás esetén egy megadott azonosítójú hálózat valamennyi csomópontja számára küldünk csomagot. Az irányított üzenetszórási IP cím hálózat azonosító részében az elérni kívánt csomópontok közös hálózat azonosítója szerepel, a csomópont azonosító részben pedig mindenütt "1" bitérték. ICMP protokoll: Az IP-vel együtt kötelező implementálni. Célja az IP datagramok továbbítása során előforduló problémák (hibák) jelzése, jelzőüzenetek küldése. ICMP üzenetek (továbbítási) hibáira nem generálunk ICMP üzenetet. Típus mező: Az üzenet "oka" (Destination unreachable, Redirect, Time exceeded, Echo request, Echo reply) Adat mező: Tipikusan címzési (és egyéb) információk az üzenettel kapcsolatosan. Forgalomirányítási táblázat tipikus mezői: Célhálózat | Netmask | Kimenő interfész | Következő csomópont (next hop) | Metrika A forgalomirányítók működése: - A routing tábla sorait prefix hossz szerint csökkenő sorrendbe rendezzük, majd ebben a sorrendben haladva vizsgáljuk az illeszkedést. Ezzel biztosítjuk, hogy több illeszkedő sor esetén a leghosszabb prefixűt fogjuk eredményként kapni. - A csomag célcíme és a routing tábla adott sorának hálózati maszkja között bitenkénti AND műveletet hajtunk végre. Ha az eredmény illeszkedik a Célhálózat mezőre kész vagyunk. Alhálózatok kialakítása (subnetting): Az IP cím host részének legmagasabb helyiértékű bitjeiből néhányat az alhálózat (subnet) azonosítására használunk. Az új hálózat-csomópont azonosító határvonal pozícióját a hálózati maszk megadásával jelöljük. NAT alapfogalmak: - Külső hálózat (Public/Global/External Network): Az IANA által kezelt címtartománnyal rendelkező címzési övezet. A külső, globális hálózatban használatos címek a teljes (világméretű) hálózatra vonatkozóan egyediek. - Belső hálózat (Private/Local Network): Az intézmény saját (belső, privát) címzéssel rendelkező címzési övezete. A belső hálózatban használt címek a világon nem egyediek, mert másik intézményben működtetett belső hálózatban ismételten megjelenhetek. A belső hálózatban használható címtartományokat az RFC 1918 dokumentumban rögzítették: 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 A kettős címrendszer: A "kettős címrendszer problémája" alatt az adatkapcsolati (Ethernet) és a hálózati (IP) címrendszer együttműködési problémáit értjük. ARP (Address Resolution Protocol) működése: 1. Adatszóró csomag kiküldése az alhálózatra (Ethernetre) "Ki-é a 192.60.34.12-es IP-cím?" 2. Minden egyes hoszt ellenőrzi, hogy övé-e a kérdéses IP-cím. 3. Ha egyezik az IP cím a hoszt saját IP-jével, akkor a saját Ethernet címével válaszol. RARP (Reverse Address Resolution Protocol) működése: A RARP protokoll alkalmazása speciális esetekben szükséges (pl. hálózati boot). Egy (vagy több) RARP szerver egy táblázatban (RARP táblázatban) tartja nyilván a fizikai címekhez tartozó hálózati címeket. A táblázatot a rendszeradminisztrátor tartja karban. Az IP cím - Ethernet cím összerendelés statikus. BOOTP (BOOTstrap Protocol): A RARP csak egy üzenetszórási tartományon belül működik, minden üzenetszórási tartományban RARP szervert kell üzemeltetni. A BOOTP egy IP/UDP csomagformátumot alkalmazó protokoll, ahol az IP címet igénylő kliens és a kérését kiszolgáló szerver külön üzenetszórási tartományban is lehet. Ha a kliens és a szerver különböző üzenetszórási tartományban van, akkor a kliens üzenetszórási tartományában egy BOOTP ügynökre van szükség. A BOOTP ügynöknek csak az IP csomag feladó és célcímét kell lecserélnie a saját ill. a BOOTP szerver IP címére. A táblázat még itt is statikus. DHCP (Dynamic Host Configuration Protocol): A kliensek a DHCP esetén egy (megújítható) időszakra kapják az IP címet. Ha az időszak lejár (s nem sikerül a megújítás) a kliensnek kötelezően el kell engednie az IP címet. A DHCP működési vázlata: 1. DHCP kérdés: Ki tud adni egy IP címet? (DHCPDISCOVER) 2. A kérdés üzenetszórással az alhálózat valamennyi csomópontjának. 3. A DHCP szerverek ha még van szabad IP cím, akkor azzal megválaszolják a DHCP kérdést. (DHCPOFFER) 4. A kliens a hozzá érkező DHCP válaszokból választ egyet, s visszajelzi a választását. (DHCPREQUEST) 5. A DHCP szerver "könyveli" a címválasztást s megerősítést küld a kliensnek. (DHCPACK/DHCPNAK) Forgalomirányítási protokoll (routing protocol): A forgalomirányítási táblázat(ok) felépítéséhez szükséges információk továbbítását (routerek közötti cseréjét) leíró protokoll (pl. RIP, OSPF, BGP). Autonóm rendszer (AS): Hálózatok forgalomirányítási adminisztrációs egysége, amelyben egy közös forgalomirányítási stratégia (routing protocol) érvényesül. Statikus routing: A forgalomirányítási táblázatot a rendszeradminisztrátor tartja karban. Tipikus példa a végfelhasználói csomópontokon az alapértelmezett útválasztó (default router, vagy más néven default gateway) beállítása. Dinamikus routing: A forgalomirányítási táblázat(ok) valamilyen routing protocol segítségével kerülnek karbantartásra. Belső forgalomirányítási protokollok (Interior Gateway Protocol, például RIP, OSPF): Egy autonóm rendszeren belül működik, legfőbb alapelv a "legjobb útvonal" meghatározása ún. távolságvektor alapú vagy kapcsolat-állapot (link-állapot) alapú módszerrel. Külső forgalomirányítási protokollok (Exterior Gateway Protocol, például EGP, BGP): Nem feltétlenül a legjobb útvonal meghatározása a cél (politika alapú forgalomirányítás - BGP). Távolságvektor alapú forgalomirányítás: - A routerek minden elérhető célra (gép vagy hálózat) nyilvántartják, hogy a legjobb úton milyen irányban milyen távolsággal érhető el az adott cél (távolságvektor). - A szomszédos forgalomirányítók ezen információkat meghatározott időközönként kicserélik egymással. - Az új információk birtokában a routerek ellenőrzik, hogy szükséges-e változás valamelyik eddig ismert legjobb úttal kapcsolatban. (Található-e az eddig ismertnél jobb útvonal?) RIP (Routing Information Protocol): - Távolságvektor alapú IGP protokoll. - Metrika: érintett útválasztók (hop-ok) száma (azaz minden kapcsolat költsége 1). - Max. 15 router hosszúságú optimális útvonalak esetén használható (16 = végtelen távolság). - 30 másodpercenkénti routing információ küldés. - A szomszédos útválasztó elérhetetlenségét hat hirdetési cikluson (180 sec.) keresztül történő "csendben maradása" jelzi. - "Triggered update" a végtelenig számlálás idejének csökkentésére: Változás esetén nem várjuk ki a ciklusidőt, hanem azonnal továbbküldjük a változás információját (A változás "update"-et "triggerel"). (Speciális "flag"-ek és időzítési információk nyilvántartása szükséges) EIGRP (Enhanced Interior Gateway Routing Protocol): - Gyártóspecifikus (Cisco) távolságvektor alapú routing protokoll. - Szomszédsági viszonyok kiépítése és fenntartása ("update" csak tényleges változás esetén történik, nem ez képezi a szomszéd elérhetőségének a vizsgálatát). - Metrika: összetett (öt változóból számított, alaphelyzetben a "bandwidth"-re és a "delay"-re épül). - Triggered update, Split horizon (nem küldjük vissza az információt oda, ahonnan tanultuk), holddown timer (a legjobb út keresése előtt várakozunk egy kicsit, hogy minden útválasztó értesüljön a módosult helyzetről). - Update: Csak a tényleges változási információkat küldi (nem a teljes táblázatot). Kapcsolatállapot alapú forgalomirányítás: 1. Szomszédok felfedezése. 2. A szomszédok felé vezető kapcsolat (link) költségének mérése. 3. Csomagkészítés a mérési eredményekről. 4. A készített csomag küldése a hálózati forgalomirányítási egység összes útválasztójának. 5. Minden router ismeri a teljes hálózati topológiát, s ki tudja számítani (pl. Dijkstra algoritmussal) a többi routerhez vezető optimális utat (feszítőfa, spanning tree számítás). OSPF (Open Shortest Path First): - Kapcsolatállapot alapú IGP protokoll - AS-nél kisebb hálózati egység: terület (area) használata - Forgalomirányítók (nem diszjunkt) osztályozása: Területen belül működő forgalomirányítók Területek határán álló forgalomirányítók Gerinchálózaton (backbone) üzemelő forgalomirányítók AS határon működő forgalomirányítók A routerek között lehet közvetlen összeköttetés, adatszórásos LAN és adatszórás nélküli LAN. A döntési folyamat (Dijkstra algoritmus) alapja a terület (area). A területek "csillag alakzatot" formáznak, középpontjában a területeket összekötő speciális területtel (backbone, azonosítója a 0). A területek egy terület-határ útválasztó (Area Border Router) segítségével kapcsolódnak a backbone-hoz. A területhatár router-ek feladata összetett: - Minden területhez külön döntési folyamatot (Dijkstra algoritmust) futtatnak. - A terület(ek)ből tanult információkat összegzik, s a másik terület(ek)be injektálják. - A területek "belső térképe" más terület felé nem kerül átvitelre. Területek közötti forgalomirányítás (inter-area routing) működése: - Útválasztás a forrásterületen belül egy területhatár útválasztóig. - Útválasztás a backbone-on a célterület egy határ útválasztójához. - Útválasztás a célterületen belül a célhálózatig. Kijelölt útválasztó (Designated Router, DR): Olyan útválasztó, amely egy LAN nevében propagál kapcsolat-állapot (LSA) információkat. Az adott LAN-on belül minden útválasztó csak a DR-rel épít ki szomszédsági viszonyt. (A DR egy LAN-t képviselő "pszeudonode" funkcionalitását látja el. A szükséges információcserék száma n^2 nagyságrendről 2n nagyságrendre csökkenthető.) DNS (domain Name System): Tartománynevek tere: fa gráf, amelyben minden csúcshoz egy cimkét rendelünk. A gyökér nulla hossszúságú (null) cimkével van jelölve. Bármely csúcs egyértelműen reprezentálható a csúcstól a gyökérig vezető cimkesorozattal. A névtér partícionálása: összefüggő részgráfokra bontással. Egy ilyen részgráf a zóna. Minden zóna reprezentálható a gyökérhez legközelebbi csúcsának cimkesorozatával. Névszerverek: Szerverprogramok, melyek információt tárolnak a gráfról. Tartománynevekhez tartozó erőforrás rekordokat tárolnak. Kérdéseket válaszolnak meg rekurzív vagy iteratív módon (iteratív implementásása kötelező). A kérdések és válaszok egy standard formátumot követnek. A kliens egy bittel (RD) jelzi a rekurzív igényt, a szerver egy bittel (RA) jelzi az implementációt. Címfeloldó programok: A felhasználói programok és a névszerverek közötti interfészek.