4. előadás Internet alapelvek. Internet címzés
Miért nem elegendő 2. rétegbeli címeket (elnevezéseket) használni a hálózatokban? A hálózati réteg fontos szerepet tölt be a hálózaton keresztüli adatmozgatásban, ugyanis a hálózati készülékek az adatok célállomását a hálózati réteg címzési rendszerének segítségével határozzák meg. A hálózati réteget nem támogató protokollok csak kis, belső hálózatokban használhatók. Ezek a protokollok csak egy (MAC-címhez hasonló) nevet használnak a hálózatra kapcsolódó számítógépek azonosítására. Ezen megközelítés problémája, hogy a hálózat bővülésével egyre nehezebb az összes nevet kézben tartani. Ha két ilyen hálózatot kell összekötni, minden számítógép nevét ellenőrizni kell, hogy ne legyen két azonos nevű számítógép a hálózaton. A hierarchikus címzés teszi lehetővé, hogy az információ áthaladjon a hálózaton, és hatékonyan találjon el a célállomáshoz.
Miért van szükség a hálózatok tagolására: szegmentálás és autonóm rendszerek A hálózat tagolása elsősorban két okból szükséges. Az első forgalmi okokra vezethető vissza. Tulajdonképpen emiatt szabdalják a LAN, MAN vagy WAN hálózatokat növekedéskor kisebb darabokra, hálózatszegmensekre (röviden szegmensekre). A folyamat eredménye, hogy a hálózat egy több tagból álló hálózatcsoporttá válik, ahol minden tagnak saját címmel kell rendelkeznie. A hálózatok tagolásának másik oka, hogy már rengeteg hálózat létezik (és számuk folyamatosan nő). A különálló számítógép-hálózatokat széles körben használják az irodákban, az iskolákban, a vállalatoknál és az egyes országokban. Célszerű, hogy ezek a különálló hálózatok (vagy autonóm rendszerek, ha mindegyiket egyetlen hálózati rendszergazda felügyeli) az Interneten keresztül kommunikáljanak egymással. Ehhez azonban egy ésszerű címzési rendszert és megfelelő hálózatösszekapcsoló készülékeket kell használniuk. Ha nem ilyet használnának, a hálózati forgalom akadályokba ütközne, és sem a helyi, több tagból álló hálózatok, sem az Internet nem működne megfelelően.
3. rétegbeli hálózat-összekötő készülékek és egyéb eszközök A 3. (hálózati) rétegben működő hálózat-összekapcsoló készülékek hálózati szegmenseket vagy teljes hálózatokat kapcsolnak össze. Ezeket a készülékeket forgalomirányítóknak hívják. A forgalomirányítók logikus döntéseket hoznak. Kiválasztják a legjobb útvonalat az adatok hálózati továbbításához, és a csomagokat a megfelelő kimeneti portra, illetve szegmensre irányítják.
Az útvonal-meghatározás fogalma Az útvonal-meghatározás (útvonalválasztás) a 3. (hálózati) rétegben történik. Az útvonal meghatározásakor a forgalomirányító kiértékeli a célállomásig vezető lehetséges utakat, és megállapítja a csomag preferált útvonalát. A forgalomirányító szolgáltatás az útvonalak értékeléséhez a hálózat topológiájára vonatkozó információkat használ. A hálózati rendszergazda a hálózatban futó dinamikus folyamatokkal állíttatja be, illetve gyűjteti össze ezeket az információkat. Az útvonalmeghatározás az a folyamat, amelynek során a forgalomirányító meghatározza, hogy a csomag milyen útvonalon jusson el a célállomásig. Ezt a folyamatot forgalomirányításnak is nevezik.
A forgalomirányítást lehetővé tevő, hálózati rétegbeli címzés A hálózati cím, melyet a forgalomirányítók használnak, részben azonosítja a csomag útvonalát a hálózati felhőben. A forgalomirányító a hálózati címet a forrás-, illetve a célhálózat azonosítására használja az összekapcsolt hálózatokban. Egyes hálózati rétegbeli protokollok esetében a hálózati rendszergazda a hálózati címeket egy előre meghatározott hálózatközi címzési terv szerint osztja ki. Más hálózati rétegbeli protokolloknál a címkiosztás részben vagy teljesen dinamikus. A legtöbb hálózati protokoll címzési rendszere valamilyen állomás- vagy csomópontcímet használ. A hálózati rétegbeli címzés nélkül a forgalomirányítás nem mehetne végbe. A forgalomirányítóknak hálózati címre van szükségük a csomagok megfelelő kézbesítéséhez. Ehhez pedig egy hierarchikus címzési rendszer szükséges, hiszen e nélkül a csomagok nem áramolhatnának zavartalanul a hálózaton.
Az egyszerű és a hierarchikus címzés összehasonlítása A hálózati réteg feladata, hogy megtalálja a hálózaton keresztülvezető legjobb útvonalat. Két címzési módszer létezik: az egyszintű és a hierarchikus. Az egyszintű címzési rendszer a készülékekhez egyszerűen a következő szabad címet rendeli hozzá. Ez a címzési rendszer semmilyen különleges megfontolást nem alkalmaz. Az egyszintű címzési rendszerre példa a társadalombiztosítási azonosító és a születési azonosítószám. Ilyenek a MAC-címek is. A gyártó kap egy címteret, amit a készülékeihez felhasználhat. A gyártók a MAC-címek első részében a gyártóazonosítót adják meg, a másik részében pedig az adott eszközhöz tartozó sorszámot. A hierarchikus címzési rendszerben nem egy véletlenszerűen választott szám adja a címet. A postai irányítószámokat például a ház helye határozza meg. E tanfolyam során az Internet Protokoll (IP) címzési rendszerét fogjuk használni. Az IP-címek speciális struktúrával rendelkeznek, és nem véletlenszerűen, de nem is növekvő sorrendben osztják ki őket.
Az IP-cím mint 32 bites bináris szám Az IP-cím egy 32 bites bináris szám. Az IP-címeket 4 oktettre szokták vágni, mert így könnyebb őket kiolvasni. Egy oktett maximális értéke decimális számmal kifejezve 255.
Az IP-címek mezői A hálózatazonosító minden IP-címben azt a hálózatot azonosítja, amelyre a készülék csatlakozik. Az IP-cím állomáscím része pedig a hálózatra csatlakozó eszközt azonosítja. Mivel az IP-címek négy, pontokkal elválasztott oktettből állnak, ezekből egy, kettő vagy három használható hálózatazonosítóként. Hasonló módon egy, kettő vagy három oktett használható állomáscímként az IP-címben.
Az IP-címosztályok Az InterNIC-től kapott IP-címek három osztályba sorolhatók: A, B és C osztályba. Az InterNIC az A osztályú címeket a világ kormányzatai számára, a B osztályú címeket a közepes nagyságú vállalatok számára foglalja le, mindenki más pedig C osztályú címeket kap. Az A osztályú címek bináris formájának első bitje mindig 0. A B osztályú címek első két bitje mindig 10, a C osztályú címek első 3 bitje pedig mindig 110. A osztályú IP-cím például a 124.95.44.15 cím. Az első oktett (124) az InterNIC által megszabott hálózatazonosítót mutatja. A további 24 bitet a hálózat belső rendszergazdái választják meg, illetve osztják ki. Egy A osztályú IP-címmel rendelkező hálózatban legfeljebb 2 a 24-diken (224), pontosabban 16 777 214 lehetséges IP-cím osztható ki a hozzá kapcsolódó készülékek között.
A B osztályú IP-címek egy példája a 151.10.13.28 cím. Az első két oktett az InterNIC által megszabott hálózatcímet mutatja. A további 16 bitet a hálózat belső rendszergazdái választják meg, illetve osztják ki. A B osztályú IP-címeknél az első 16 bitet használják a hálózat azonosítására. Az IPcím maradék két oktettjét az állomáscím részére foglalják le. Egy B osztályú IPcímmel rendelkező hálózatban legfeljebb 2 a 16-dikon (216), pontosabban 65 534 lehetséges IP-cím osztható ki a hozzá kapcsolódó készülékek között. A C osztályú IP-címek egy példája a 201.110.213.28 cím. Az első három oktett az InterNIC által megszabott hálózatazonosítót mutatja. A további 8 bitet a hálózat belső rendszergazdái választják meg, illetve osztják ki. A C osztályú IP-címeknél az első 24 bitet használják a hálózat azonosítására. Csak az IP-cím utolsó oktettje szolgál az állomáscím tárolására. Egy C osztályú IP-címmel rendelkező hálózatban legfeljebb 2 a 8-dikon (28), pontosabban 254 lehetséges IPcím osztható ki a hozzá kapcsolódó készülékek között. Az utolsó előtti címforma (D osztályú cím) többszörös címek (mulicast address) megadását engedélyezi, amellyel egy datagram egy hosztcsoporthoz irányítható. Az utolsó címforma (E) fenntartott.
A címzésnél bizonyos címtartományok nem használhatók. • A 127-el kezdődő címek a “loopback” (visszairányítás) címek, nem használhatók a hálózaton kívül, a hálózatok belső tesztelésére használható. • A hoszt címrészbe csak 1-eseket írva lehetséges az adott hálózatban lévő összes hosztnak üzenetet küldeni (broadcast). Például a 195.13.2.255 IP címre küldött üzenetet a 193.13.2 című hálózatban lévő összes gép megkapja. • Ha a hoszt címrésze 0, az a aktuális hálózatot jelöli. Ha a hálózati cím 0, az a aktuális hálózatot jelöli. Például a saját gépről 0.0.0.0 címre küldött üzenet a saját gépre érkezik.
Miért nem hatékony a klasszikus IP-címzés? A hálózati rendszergazdáknak a nagyobb rugalmasság érdekében néha több részre kell osztaniuk a hálózatot. Különösen a nagy hálózatokat kell kisebb hálózatokra, ún. alhálózatokra bontani. Az alhálózatokat gyakran csak alhálóknak nevezik. Az A, B és C osztályú IP-címek állomásazonosítójához hasonlóan az alhálózati címeket is helyileg osztják ki (ezt általában a hálózati rendszergazda végzi el). További hasonlóság, hogy az alhálózati cím is egyedi, csakúgy, mint az IP-címek. A B osztályú IP-címeket több alhálózatra lehet bontani.
Az alhálózat fogalma Az alhálózati cím tartalmazza a hálózat azonosítóját, az alhálózat hálózaton belüli azonosítóját és az állomás alhálózaton belüli azonosítóját. A címzés harmadik (közbülső) szintje további rugalmasságot biztosít a hálózati rendszergazdák számára. Az alhálózati cím létrehozásához a hálózati rendszergazda az állomásazonosító mezőből vesz el néhány bitet, és az alhálózat mezőhöz rendeli őket. Az alhálózati címhez legalább 2 bitet kell felhasználni. Ha ugyanis csak 1 bitet vennénk el az alhálózat létrehozására, akkor csak a hálózatcím - a .0 hálózat - és az üzenetszórási cím - a .1 hálózat - állna rendelkezésünkre. Legfeljebb annyi bitet vehetünk el, hogy legalább 2 bit maradjon az állomásazonosító számára.
Egy ok alhálózat létrehozására Elsősorban azért használunk alhálózatokat, hogy csökkentsük az üzenetszórási tartományok méretét. A szórt üzeneteket ugyanis a hálózat vagy alhálózat minden állomása veszi. Ha a hálózati rendszergazda úgy véli, hogy az üzenetszórásos forgalom a sávszélességnek túl nagy részét foglalja le, csökkentheti az adott üzenetszórási tartomány méretét.
Az alhálózati maszk fogalma Az alhálózati maszk vagy maszk (hagyományos nevén kiterjesztett hálózati előtag) azt mutatja meg a hálózati készülékek számára, hogy a cím melyik része a hálózati előtag, melyik része az alhálózati cím és melyik az állomásazonosító. Az alhálózati maszk 32 bit hosszú.
A Boole-algebra műveletei: AND, OR és NOT Az alapvető logikai műveletek a következők: ÉS, VAGY és NEM (angolul AND, OR és NOT). • az ÉS a szorzáshoz hasonlítható • a VAGY az összeadáshoz hasonlítható • a NEM 1-ről 0-ra, 0-ról pedig 1-re vált.
AND művelet
0
1
0
0
0
1
0
1
Az AND művelet végrehajtása a teljes IP-cím és az alhálózati maszk között a hálózatcím kinyerésének érdekében A forgalomirányítók logikai műveleteket végeznek, melyek közül a legfontosabb az ÉS művelet. Az alhálózat címének meghatározásához a forgalomirányító logikai ÉS műveletet hajt végre az IP-cím és az alhálózati maszk között. Az eredmény a hálózati/alhálózati azonosító.
Az alhálózatok létrehozásához felhasználható bitek száma A C osztályú hálózatokban az állomás mező csak egyoktettes, ezért legfeljebb 6 bit vehető el alhálózat létrehozása céljából. Bármelyik osztályról van is szó, legalább 2 bitet kell elvenni. Ugyanis az olyan alhálózat, amely csak egy hálózati és egy üzenetszórási címet tartalmaz, használhatatlan. Ezért, ha csak 1 bitet vennénk el az állomásazonosítóból, két egyformán használhatatlan alhálózatot hoznánk létre. Alhálózatok kialakításakor mindig gondolnunk kell arra, hogy a hálózat a jövőben növekedhet, és hogy az alhálózatok létrehozásával a címek hány százalékát veszítjük el.
Az alhálózatok számának meghatározása az alhálózati maszk és az IP-cím alapján Ha biteket veszünk el az állomás mezőből, fontos tudnunk, hány hálózatot hozunk létre adott számú bit elvételével. Már említettük, hogy 1 bit nem vehető el, legalább 2 bitet kell elvennünk. 2 bit elvételével 4 (22) hálózatot hozunk létre. Egy újabb bit elvételével a létrejövő alhálózatok száma a kétszeresére növekszik. 3 bit elvételével 8, azaz 23 alhálózat keletkezik. 4 bit elvételével pedig 16, azaz 24 alhálózat jön létre. Ezekből a példákból jól látható, hogy egy újabb bit elvételével a létrejövő alhálózatok száma mindig a kétszeresére növekszik.
Logikai AND művelet alkalmazása a hálózatcím meghatározásához Feltételezzük, hogy valaki a külvilágból adatokat küld a 172.16.2.120-as IP-címre. Ahhoz, hogy a forgalomirányító meghatározhassa, hová kell az adatot kézbesíteni, a címet ÉS kapcsolatba hozza az alhálózati maszkkal. Amikor a két számot ÉS kapcsolatba hozzuk, a cím állomásazonosító része kiesik. A maradék a hálózatazonosító, amely tartalmazza az alhálózat címét is. Ennek megfelelően az adatot a 01111000 azonosítójú állomásnak kell továbbítani. Nézzük ismét a 172.16.0.0 című hálózatot! Most azonban csak 7 bitet vegyünk el az állomásazonosítóból az alhálózatok létrehozásához! Binárisan az alhálózati maszk: 11111111.11111111.11111110.00000000. Hogyan nézne ez ki ponttal elválasztott decimális formában? Most ismét küldjön adatokat valaki a külvilágból egy IP-címre, mondjuk a 172.16.2.160-as címre! Ahhoz, hogy a forgalomirányító meghatározhassa, hová kell az adatokat küldeni, a címet ÉS kapcsolatba hozza az alhálózati maszkkal. A művelet elvégzésekor az állomásazonosító rész kiesik. A maradék a hálózatazonosító, amely tartalmazza az alhálózat címét is. Ennek megfelelően az adatot a 010100000 bináris azonosítójú állomásnak kell továbbítani.
A saját címek bemutatása Minden IP-címtartományban van néhány olyan cím, amelyet az InterNic nem oszt ki. Ezeket a címeket saját címeknek hívják. Azok az állomások, amelyek nem csatlakoznak az Internetre vagy nem használnak hálózati címfordítást (NAT), illetve egy nyilvános hálózattal kapcsolatot teremtő proxy kiszolgálók saját címeket is használhatnak.
Az ARP és a RARP protokoll Jelenleg a legtöbb hálózat fizikai és adatkapcsolati szinten Ethernet kártyákat használ. Mivel az Ethernet keretnek saját fejléce van, saját egyedi, 48 bites címzéssel rendelkezik, ezért az IP csomagokat ilyen hálózaton közvetlenül nem lehet átvinni, be kell csomagolni. Minden számítógépnek van egy táblázata, amelyben felsorolja, hogy milyen Ethernet cím milyen Internet címnek felel meg. Ennek a táblázatnak a karbantartását a rendszer egy protokoll, az ARP (Address Resolution Protocol - címleképezési protokoll) segítségével végzi. Egy alhálózatban, amelyik Ethernet összeköttetést használ, tegyük fel, hogy a 193.18.24.196 IP című hosztról a 193.18.24.75 hoszttal szeretnénk kapcsolatba lépni. A kezdeményező 193.18.24.196 című hoszt megnézi, hogy szerepel-e a saját ARP táblázatában a 193.18.24.75 címhez tartozó Ethernet cím bejegyzés. Ha igen, akkor a datagramhoz egy Ethernet fejlécet csatol, és elküldi. Ha azonban ilyen bejegyzés az ARP táblázatban nincsen, akkor a csomagot nem lehet elküldeni, hiszen nincs meg az Ethernet cím. Ekkor lép működésbe az ARP protokoll. A 193.18.24.196 hoszt egy “a 193.18.24.75 Ethernet cím kellene” tartalmú ARP kérést ad ki az Ethernet hálózatra. Az adott hálózaton minden hoszt figyeli az ARP kéréseket. Ha egy hoszt egy rá vonatkozó ARP kérést kap, akkor válaszol rá.
Ebben az esetben tehát a 193.18.24.75 hallja a kérést, és egy ARP üzenetet küld válaszul a kérdezőnek, amelyben megadja a 193.18.24.75 IP című gépben lévő kártya Ethernet címét, pl.: 12:3:44:12:52:11. A kérést adó rendszer a kapott információt bejegyzi az ARP táblázatába. Abban az esetben, ha a kért IP cím nincs a közös Ethernet hálózatba kapcsolt hosztok között, akkor a külvilág felé kapcsolatot biztosító átjáróban (routerben) lévő Ethernet kártyacímet felhasználva, oda kell küldeni az adott keretet. A fentiekből nyilvánvaló, hogy az ARP kéréseket tartalmazó kereteket üzenetszórás formájában kell a hálózatra kiadni. A kérés megfogalmazásához a csupa egyes bitből álló FF:FF:FF:FF:FF:FF Ethernet címet használják. Megállapodás szerint az Ethernet alapú hálózatok minden gépe figyeli az ilyen címre küldött kereteket. Ez azt jelenti, hogy az ARP kérést is látja mindegyikük. Minden egyes gép ellenőrzi, hogy a kérés rá vonatkozik-e. Ha igen, akkor választ küld. Ha nem, akkor egyszerűen nem veszi figyelembe. Az üzenetszórást jelző IP című csomagokat (pl. 255.255.255.255 vagy 193.18.24.255) is csupa egyes bitből álló Ethernet címre kell küldeni. Létezik az ARP protokoll fordítottja, a RARP (Reverse Address Resolution Protocol) amely olyan táblázattal dolgozik, amelyben az van felsorolva, hogy milyen IP cím milyen Ethernet címnek felel meg.