HÁLÓZATOK
HÁLÓZATI RÉTEG IP
A hálózati réteg Röviden ismételjük át az eddig tanultakat, de érdekesség képen most egy programozó szempontjából. A számítógép hálózatok talán leggyakoribb alkalmazási célja az, hogy egymástól távoli alkalmazói programok (és ezeken keresztül a felhasználók) adatokat cseréljenek egymással. Tudjuk, hogy a gépek közötti az adatmozgatás csak bonyolult programok segítségével oldható meg. A bonyolultság akkor válik áttekinthetővé, ha az adatátvitelt mint komplex feladatot tipikus részfeladatokra bontjuk. A részfeladatokra bontásra több megoldást is kidolgoztak, pl. DoD TCP/IP modell, ISO OSI modell, stb. Ezekben a modellekben a részfeladatok rétegekben különülnek el egymástól. Egy adott réteg feladatait bizonyos protokollok szerint eljárva célszerű megoldani. A feladat gyakorisága miatt kialakítottak az operációs rendszerekben (OS) egy hálózati alrendszert , ami az egyes alkalmazások helyett megvalósítja a tipikus hálózati protokollokat. Az Alkalmazás I. az adatkapcsolati réteg elérését biztosító packet- (vagy NDIS) driverre támaszkodva képes MAC keretekbe foglalt adatokat mozgatni a saját számítógépe és más (MAC címmel) meghatározott készülék(ek) között. Az Alkalmazás I. eközben nem foglalkozik pl. a keretezés, a hibadetektálás vagy a közeghozzáférési protokollok (pl. CSMA/CD) kérdéseivel. Korlátot pl. akkor érzékel az Alkalmazás I. fejlesztője, ha egy másik hálózatban lévő géppel szeretne kapcsolatba lépni, mert az egyes (al)hálózatokat összekapcsoló routerek nem a MAC cím, hanem az IP cím alapján végeznek forgalom irányítást, azaz továbbítanak csomagokat. Korlátozhatja ilyenkor a fejlesztőt az is, hogy az adó által elküldött üzenetek megérkezését semmi sem garantálja, a fejlesztőnek kell az esetleg elveszett üzenetek érzékeléséről (szükség esetén pótlásáról) gondoskodnia. Ha az előbbi a hiányosságokat szeretnénk megszüntetni, akkor vizsgáljuk meg az OSI modellt, hogy milyen rétegek protokolljaival bővítse a programját. 1
OSI modell
TCP/IP modell
Tehát az Alkalmazás I.-ben a programozó lemondott a hálózati és szállítási réteg protokolljainak használatáról (az OS-ben meglévőt nem használja, saját implementációt pedig nem írt), ezért nincs esélye arra, hogy hálózatok között generáljon forgalmat és összeköttetéses2 kapcsolatra építse az alkalmazását. Az Alkalmazás II.-ben a programozó beépített a programjába hálózati és szállítási rétegbe tartozó rutinokat. Az ábrából nem derül ki, hogy milyen protokollokat implementált a 3. és 4. rétegben. Egy kísérletező és ráérő programozóról elképzelhető, hogy a már meglévők helyett saját, pl. TCP/IP rutinokat írjon, bár gyakorlati haszna ennek a rendszer alapos megértésén kívül nemigen lenne. Elképzelhető az is, hogy saját protokollt fejleszt ki a hálózati és a szállítási réteg számára. Ha feltételezzük azt, hogy ezek egyik ismert protokollal sem kompatíbilisak, akkor csak saját hálózataiban működnek az adott protokollokat használó alkalmazásai. 1 Pl. WINDOWS, ill. LINUX esetén a kernel része. 2 Csak a hálózaton belüli üzenetek garantált megérkezéséért tehet lépéseket azzal, hogy az LLC rétegben TYPE I-helyett TYPE II jellegűre cseréli a protokollt. Ennek érdekében olyan LLC szintű rutinokat kell használnia, amelyek az adó és vevő között összeköttetéses kapcsolatot valósítanak meg.
2009. 02. 24.
1
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Az Alkalmazás III. kapcsán már egy tipikus esetet láthatunk. A programozó felhasználta az operációs rendszer TCP/IP rutingyűjteményét és ennek a szolgáltatásaira építette rá az alkalmazását . 3
A továbbiakban mi is a TCP/IP protokoll családot vizsgáljuk, amely az Internet hivatalos protokollja és elterjedt a helyi hálózatokban is. A TCP/IP tervezésekor négy rétegbe sorolták a hálózati alrendszer szolgáltatásait. Az alsó három réteg realizációját általában az operációs rendszer biztosítja, míg az alkalmazási rétegben a hálózati alkalmazásokat megvalósító programokat találjuk: TELNET, FTP, stb. Ezeket az operációs rendszerrel kapjuk (mint pl. a HTTP klienst azaz WEB böngészőt), vagy más forrásból kell beszerezni. 4
A TCP/IP protokoll verem legfontosabb protokolljai: IP: Internet Protocol. Kapcsolat nélküli (connectionless) datagram továbbító protokoll, amely változó méretű adatcsomagok hálózaton belüli vagy hálózatok közötti átviteléhez használható. A kapcsolat nélküliség azt jelenti, hogy nincs kiegészítő információ forgalom a küldő és címzett között a csomag megérkezéséről vagy elvesztéséről, ezért nem garantálja a csomagok megérkezését, sorrendjének helyeségét, késleltetését. A szolgáltatás minősége (QoS) best-effor delivery jellegű, azaz legjobb tudása szerint kézbesít, tehát az adott pillanatban szabad erőforrások függvényében biztosítja a szolgáltatást. TCP: Transmission Control Protocol. A hálózat két csomópontja között kapcsolat orientált megbízható adatmozgatást tesz lehetővé. A kapcsolat orientáltságot az biztosítja, hogy a végpontok között az adatokon kívül azok nyilvántartását támogató szerviz információ is továbbításra kerül UDP: User Datagram Protocol. A TCP-vel ellentétben egy kapcsolatnélküli (connectionless) protokoll, egyszerű csomagszolgáltatást biztosít. ICMP: Internet Control Message Protocol. Például az IP használja forgalmi helyzetjelentések (pl. hibajelzések) továbbítására. IGMP: Internet Group Management Protocol. Egy LAN gépei használják, hogy bejegyezzék magukat egy csoportba, pl. multicast című csomagok küldéséhez. ARP: Address Resolution Protocol. Feladata az IP címekhez tartozó MAC címek meghatározása. A MAC címekre a keretek továbbításakor lehet szükség. RARP: Reverse ARP. A MAC címhez tartozó IP címet határozza meg. Összefoglalásként nézzük meg a Windows 2000 hálózati alrendszerének felépítését és a különböző hálózati modelleket. A hálózati és transzport rétegekbe illeszkedő protokollok használatával, az alkalmazások arra is alkalmassá váltak, hogy akár hálózatok közötti kommunikációt is végezzen, a LAN-on belüli kommunikáció mellett. A szállítási rétegben található TCP olyan szerepet tölt be a hálózatok közötti kommunikációban, mint a LAN-on belüli összeköttetésben az LLC alrétegben az LLC TYPE II protokoll. Az összeköttetés-mentes protokollokat vizsgálva pedig az UDP és LLC TYPE I hasonlítható össze.
3 Megfigyelhető a TCP/IP protokoll stack L4-L1 részének tartalma: TCP-IP-LLC TYPE I.-CSMA/CD 4 Egykori megrendelője a Department of Defense alapján gyakran DoD TCP/IP néven említik.
2009. 02. 24.
2
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Internet Protocol (IP) bevezetés Az L3-ban üzemelő IP gyakorlatilag bármilyen fizikai és adatkapcsolati réteg (L1 és L2) felett képes távoli számítógépek közötti adatátvitelre, amely során a protokoll által használt kétszintű logikai címmel (IP címmmel) biztosítja a hálózatok és a hálózati csomópontok címezhetőségét. Két fő szolgáltatása a fregmentálás (ezt később részletezzük) és az útválasztás. Az útválasztás feladata, hogy az egyes adatcsomagok cél felé vezető útjának következő szakaszát kijelölje. Ez a szakasz általában a következő útválasztóig tart, illetve az utolsó útválasztó már a címzetthez továbbítja a csomagot. Az útválasztás a csomag címzettjének logikai címét vizsgálja és csomag útvonalában érintett minden olyan hálózati készüléken lejátszódik, amelyikben legalább az L1-L3 rétegek szolgáltatása implementálva van. (Ezek tipikusan a számítógépek vagy más (cél)számítógépek: router, kamera, nyomtató, telefon, stb). Az útválasztás alatt általában azt a folyamatot értjük, ami egy eszközön akkor játszódik le, amikor egy interfészére olyan csomag érkezik, amelynek nem ő a címzettje. Ez a folyamat meghatározza, hogy a csomagot melyik interfészen kell továbbküldeni, más szavakkal melyik interfészre kell kapcsolni5. (Az egy interfésszel rendelkező készülékeken is történik útválasztás, még ha nem is olyan „látványos” mint egy routeren.) Az útválasztó természetesen az L1, L2 szolgáltatásaira, pl. ki-és bekeretezésre is támaszkodik. A csomag továbbküldéséhez használandó interfész kiválasztása alapvetően az ún. routing táblára épül. A routing tábla tartalmát a hálózat felépítésének ismeretében kell meghatározni. Ilyen az ismeretekkel a rendszergazda és/vagy az IP mellett működő, ún. irányító (útválasztó) protokollok rendelkeznek, így ezek feladata a routing tábla karbantartása. Az előbbiek miatt az IP az ún. irányított (irányítható) protokollok közé tartozik. Szolgáltatása (amit általában L4-nek nyújt) az, hogy az általa kezelt adategységet az ún. IP csomagot képes egy tetszőleges hálózat tetszőleges pontjára eljuttatni. Ez a szolgáltatás megbízhatatlan, összeköttetés mentes jellegű, ami azt jelenti, hogy a csomag továbbítása közben a ugyan a legjobb tudása szerint jár el, de nem garantálja azt, hogy a csomag célba is ér. (Ekkor még pl. a csomagok sorrend helyességét nem is említettem). Ha egy adott alkalmazásnak megbízható kapcsolatra van igénye, akkor az IP-re támaszkodó TCP-t kell használnia, mert az gondoskodik a csomagok helyes sorrendjéről vagy az esetleg elveszett csomagok pótlásáról (ez külön fejezet témája lesz). Az IP csomag ún. datagram, azaz olyan adategység amiben megtaláljuk a küldő és a címzett (IP) címét. Az IP datagram (csomag) általában: IP fejléc
IP adatok (pl. TCP szegmens)
Ha az IP csomag által szállított adatmezőt is részleteznénk, akkor például ezt láthatnánk: LLC fej IP fejléc TCP fejléc
TCP adatok
Látható, hogy az L3 is becsomagolja (encapsulation) az L4 adategységét a sajátjába. Ez az IP fejléc a feltétele annak, hogy létrejöhessen a csomag útja során az L3-L3 virtuális kommunikáció: pl. a küldő tudatja az út során érintett összes IP-vel, hogy kinek küldi a csomagot vagy az ICMP értesíthesse a küldőt egy esetleges hibáról.
Az IP fejléc: VERS (4 bit)
HLEN (4 bit) ID (16 bit)
TTL (8 bit)
5
ToSVC (8 bit)
Teljes hossz (16 bit) 0 (1 bit) DF (1 bit) MF (1 bit)
Frag Offset (13 bit)
Protocol (8 bit) Header Checksum (16 bit) Source Address (32 bit) Destination Address (32 bit) IP Option (0 vagy n*32 bit) ADATOK (n* 8 bit)
Ettől még nem a kapcsoló (switch) nevű eszközről van szó, mert az L2-es, azaz MAC címek alapján dolgozik.
2009. 02. 24.
3
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Az IP csomag tartalmát (16 bit=egy sor a táblázatban) balról jobbra haladva juttatjuk az adatcsatornába. Tehát először a legnagyobb helyiértékű bit (most significant bit, MSB), kerül a vonalra. Figyelmet érdemel a több bájtos egészek kezelése is, mert először a nagyobb helyiértékű bájt kerül a vonalra. Ez a PC használóknak jelenthet problémát, mert az Intel processzorok számábrázolási mechanizmusával ellentétes. Legyünk körültekintőek ebben a kérdésben akkor is, ha egy API-n keresztül kerülünk kapcsolatba az IP csomag mezőivel, akár mi magunk állítunk össze egy nyers (raw) IP csomagot. Az előbbi problémakör egyébként a hálózati és végponti bájtsorrend eltéréséből adódik (Network-byte-order ill. Host-byte-order).
VERS: Az IP melyik verziójához tartozik a datagram. Jelenleg ez (0100) az IPv4 esetén. Kísérleti szakaszban van az ún. IPv6 rendszer (0110) amely 32 bites IP címek helyett 128 biteseket használ és még sok új szolgáltatása is van. HLEN: Az IP fej hossza 32 bites szavakban megadva. Minimális értéke 5, mert a fej első 5 szava mindig kötelező. Maximális értéke 15, mert a HLEN 4 bitjén max.15 ábrázolható. (Tehát az IP fej max. 60 bájtos lehet. Lásd még az IP OPTION mezőt.) A HLEN segítségével meghatározható az adatok kezdete az IP datagramban. A HLEN értéke tipikusan 5. (A gyakorlatban tehát a VERS és HLEN alkotta bájt 45H értékkel rendelkezik.) ToSCV: Type of Service. Részletezve a bitjeit: 3
1
1
1
1
1
Precedence
Delay
Throughput
Reliability
Cost
MBZ
Az Internet megjelenésekor a routerek fő feladata az volt, hogy a küldő és a cél állomás között a datagramok útvonalát kijelöljék. Eredetileg az útvonal kiválasztásában lenne szerepe a ToSVC mezőnek, de a routerek “manapság” már nem így értelmezik ezeket a biteket. Helyette a szolgáltatás minőség biztosításában (Qos) van szerepe a biteknek, pl. a valós idejű VoIP forgalom kezelésében. A routereken beállítható a bitek figyelése és értelmezési módja. (Pl. a CISCO routereken vagy a Linux kernel router szolgáltatásában is beállítható a ToS(VC) mező figyelése. Lásd még a DSCP fogalmát.) Precedence: az adott datagram precedenciája (prioritása) három biten. (Lokálisan van jelentősége.) A prioritások növekvő értékük szerint: 0 : Routine 4 : Flash override 1 : Priority 5 : CRITIC/ECP 2 : Immediate 6 : Internetwork Control 3 : Flash 7 : Network Control Például egy ICMP Echo csomag „Routine”, míg egy ICMP Time Exceeded csomag „Internetwork Control” prioritással rendelkezik Delay = 1 esetén a datagram alacsony késleltetést igényel. Throughput = 1 esetén nagy átbocsájtóképességű vonalat kér a datagram. Reliability = 1 esetén a datagramhoz nagy megbízhatóságú átviteli utat rendeljen a router. Cost = 1 alacsony költségű átviteli utat rendeljen a datagramhoz a router. Security = 1,1,1,1 (az előző négy bit magas) Az egyes felsőbb protokollok különböző szolgáltatást kérnek, pl.: TCP (control) =1,0,0,0, de a TCP (data) =0,1,0,0 MBZ = ellenőrző bit. Újabb rendszerekben az alsó két biten (Cost, MBZ) egy ún. ECN (torlódásjelző) szolgáltatást realizálnak, ha az átvitelben érintett rendszerek ezt támogatják. Régebbi rendszerek ezt a két bitet 0-0 értékre állították. Egy olyan adó amelyik támogatja az ECN rendszert, 0-1 vagy 1-0 értékű bitekkel küldi el a csomagot. Ha egy ilyen csomag továbbítása közben valamelyik router torlódást érzékel egy útvonalon, akkor 1-1 értéket állít be. Ennek hatására a vevő kéri az adót az adás ritkítására.
Teljes hossz: az IP datagram hosszát adja meg bájtokban. A hosszba az IP fejléc is beleértendő. Minimális értéke 21 bájt (20 fejrész + 1 bájt adat), maximális értéke 65535. TTL (Time to Live): az IP datagram élettartamának korlátozására szolgál. Minden datagram egy kezdő TTL értékkel rendelkezik. Amikor a datagram áthalad egy routeren (hop), akkor a TTL mező értékét csökkenti a router IP programja. (Régebben másodpercenként kellett csökkenteni.) Amikor egy datagram TTL értéke 0-ra csökken, akkor a router eldobja a datagramot és egy ICMP üzenettel értesíti erről az IP datagram feladóját (az adó IP címe 2009. 02. 24.
4
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
alapján). Ezzel a módszerrel elkerülhető, hogy valamilyen hiba miatt örökké keringjen egyegy datagram az Interneten. (LAN-on belül elég lehet, pl. TTL=5, de az Interneten TTL=100 is javasolható kezdőértékként.) Protocol: Az IP program demultiplexer funkcióját támogatja ez a mező. Általában azt az L4 (transzport) rétegben implementált protokollt azonosítja, amelyik az adott IP datagram gazdája. Az előző oldalakról már néhány ilyen protokollt ismerünk, pl.: TCP=6, UDP=17. Néhány egyéb regisztrált protokoll az RFC 1700 alapján: Protokoll neve Internet Control Message Protocol (ICMP) Transmission Control Protocol (TCP) Interior Gateway Routing Protocol (IGRP) User Datagram Protocol (UDP) Reservation Protocol (RSVP) QoS General Routing Encapsulation (PPTP data over GRE) Encapsulation Security Payload (ESP) IPSec Authentication Header (AH) IPSec
Enhanced Inter-Gateway Routing Protocol (EIGRP) Open Shortest Path First (OSPF)
Protokoll ID (decimálisan) 1 6 9 17 46 47 50 51 88 89
További részletek: Internet Assigned Numbers Authority (IANA).
Source Address és Destination Address: Az adó és a cél IP címe 4-4 bájton (Lásd az „IP címek szerkezete” fejezetben!) Általában igaz, hogy bárhol is jár egy IP datagram, az adó és a cél IP címe sohasem változik meg benne! Minden, az Internetre kapcsolódó hostnak legalább egy IP címe kell, hogy legyen. (Pontosabban a hostok hálózati interfészének, azaz a NIC-nek van IP címe. Ha egy hostnak több interfésze is van (pl. egy routernek), akkor valószínűleg több IP címe van. Később bemutatjuk, hogy a célcím hálózati prefixén alapszik a routing, amely az IP egyik fő szolgáltatása. A következő képernyő képen egy „lehallgatott” Ethernet keretet látunk. Látszik, hogy a keretben egy IP csomag található (type=800H). Az IP pedig egy ICMP üzenetet szállít, mint adatot. Az adatokkal most nem foglalkozunk, csak az IP fejléc tartalmát vizsgáljuk:
2009. 02. 24.
5
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Header Checksum: Fejléc ellenőrző összeg. Az IP ezzel ellenőrzi a vétel helyén, hogy az IP fejléc (!) épségben megérkezett-e? Egy router a TTL mező megváltoztatása miatt mindig újragenerálja az ellenőrző összeget. Az adatokat majd a transzport protokoll ellenőrzi, lásd TCP és UDP ellenőrző összegek. Az IP réteg csak az IP fejléc tartalmával kerül kapcsolatba, ezért nem illetékes az IP datagram adatait illetően. A Header Checksum generálása úgy történik, hogy a fejléc 16 bites szavait 32 biten összegzik. Az összeg felső szavát hozzáadják az alsó szóhoz, majd az eredmény alsó szavával dolgoznak tovább úgy, hogy az 1-es komplemensét állítják elő. Az adóban, összeadáskor a Header Checksum=0 értékkel vesz részt. Beérkezett IP csomag fejlécének ellenőrzésekor 0 lesz az ellenőrző összeg hibátlan átvitel esetén. (RFC 1071)
Fregmentálás (csomag tördelés), mint az IP egyik szolgáltatása Az IP különböző MAC protokollt használó hálózatok fölött működik. Ezek a protokollok eltérő méretű csomagok szállítására képesek, tehát az MTU (Maximum Transfer Unit) jellemzőjük különböző. Az RFC 1191 alapján: MAC protokoll Token Ring FDDI Ethernet II Ethernet 802.3 ARPANET X.25 ARCNET Szabványos minimum
MTU [byte] 17914 4352 1500 1492 1006 576 508 68
Pl. olyan routerek feladata lehet az IP csomagok tördelése, amelyek egy nagyobb MTU-val rendelkező hálózatból, egy kisebb MTU-val rendelkező hálózatba továbbítanak csomagot:
A példában R1 fregmentál, az R2 router feladata pedig az, hogy az X.25-ETHERNET II közeghatáron újra összerakja az eredeti IP csomagot. (Legalábbis ha az IP csomag címzettje a C hoszt. Amennyiben a B hoszt lenne a címzett, akkor az ő IP rutinja végezné az összerakást. A tördelés előre megelőzhető lenne, ha a forrás host eleve a csomag által bejárt útvonalon a legkisebb MTU értékhez (Path MTU) igazodna, azaz az IP csomag méretét 576 bájtosra állítaná. Az Interneten nincs egységesített eljárás arra, hogy hogyan határozhatja meg a router egy útvonal MTU-ját. (Ha tehetjük, próbáljuk ki az EasyMTU.exe programot.) Az egyik lehetséges módszer az, hogy az IP fejlécben a DF=1 beállítást használ az adó. Amennyiben olyan médiahatárra érkezik a csomag, ahol darabolni kellene, akkor az adott router egy Destination Unreachable (Cél elérhetetlen) üzenetet küld a forrásnak. Ebben az ICMP üzenetben azt jelzi, hogy a csomagot tördelni kellene, de a DF=1! Újabban az ICMP üzenet a közegen használható MTU értékét is tartalmazza. A tördelésre az alábbi megoldások közül valamelyiket használja a router: • Minden tördelt darab MTU méretű, kivéve az utolsót. • Minden darab azonos méretű. • Az első darab MTU méretű, a többi azonos méretű, • Az utolsó darab kivételével mindegyik 576 bájtos. 2009. 02. 24.
6
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Nemcsak routernél fordul elő a fregmentálás, mert előidézéséhez elég, pl. egy PING-et használnunk. (Pl. PING x.y.v.x –L 3210) Etherneten már (többször) három IP csomagot okoz. A ping programot később ismertetjük.) Bármelyik gépen az IP egy API hívással a registry-ből megtudhatja, hogy egy adott interface milyen MTU-val rendelkezik. A tördelés végrehajtása a fenti példában: Figyeljük meg, hogy az eredeti IP csomag az MTU-t teljesen kihasználja! (20 bájt fej + 1480 bájt adat.) … DF=0 MF=0
FO=0
1. töredék csomag: … DF=0 MF=1 FO=0
…
IP adat=1480 bájt
… IP adat=552 bájt
2. töredék csomag: … DF=0 MF=1
FO=69
… IP adat=552 bájt
3. töredék csomag: … DF=0 MF=0
FO=138
… IP adat=376 bájt
A példában csak az IP fej azon mezőit tüntettük fel, amelyek a fragmentálásban szerepet játszanak. DF (Don’t Fragment) ne tördeld! A DF bit arra kéri a routert, hogy olyan útvonalat válasszon a datagram számára, amelyen nem tördelik fel a datagramot. (Lehet, hogy ez egy olyan útvonalat igényel, amelyik valamilyen más szempontból nem optimális: drága, lassú, stb.) Az MF (More Fragments)=1 azt jelzi, hogy egy tördelt csomag közbülső darabjáról van szó. Az utolsó darabot MF=0 jelzi. Az FO (Fragment Offset) azt mutatja, hogy az adott töredék által szállított adat az eredeti csomagban milyen offszetten található. A Fragment Offset mező a tényleges offszet 8ad részét tartalmazza, tehát az adatmező hosszának 8-al oszthatónak kell lennie. (Kivéve az utolsó töredékben.) Az ID (Identification) mező értékét a forrás állítja be. Minden elküldött csomagban az ID előző értékéhez képest inkrementált értékét helyezi el. A tördelést végző router minden töredékbe az eredeti csomag ID értékét másolja be. Ennek a mezőnek a tartalmával azonosíthatók az eredetileg egy csomaghoz tartozó töredékek. Egy beérkezett csomag (csomagok) eldobásra kerülnek, ha: • tördelésre lenne szükség, de DF=1: • IP fejrész ellenőrző összege hibás • A tördelt csomag töredékei közül valamelyik a várakozási időn belül nem érkezik meg Fregmentálási összefoglalás: az ID, FO, DF, MF mezők együttesen támogatják az IP datagramok darabokra tördelését, majd összeszerelését. A datagram darabka önálló IP fejlécet kap és úgy kerül továbbításra. Az Interneten minden hálózatnak el kell fogadnia az 576 bájtos vagy kisebb datagramot. Gyakorlatilag, pl. egy 556 bájtos TCP szegmenst 20 bájtos IP fejléccel ellátva kihasználható az IP, 576 bájtos hálózati minimumának datagram maximuma. A Windows operációs rendszerek TCP/IP alrendszerének behangolása a registry módosításával lehetséges, erre általában segédprogramokat használhatunk. Windows alatt ilyen, pl. az EASYMTU, amellyel lehetséges az alapbeállításként generált 1500 bájtos IP csomagok helyett 576 bájtos csomagok beállítása, megelőzve ezzel a kapcsolatot lassító csomagtördelést. Ezen kívül a TCP finomhangolására is képes, de ezt majd később részletezzük.
2009. 02. 24.
7
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Option Előfordulnak olyan feladatok az IP működése során, amelyek nem oldhatók meg a fejrész kötelező tartalmával. Az alábbi bővítések viszonylag ritkán fordulnak elő, ezért nem állandó mezői az IP fejrésznek azért, hogy a hálózati sávszélességet ne foglalják feleslegesen. Az IP kiegészítő szolgáltatásai, az IP fejrész OPTION mező tartalmán alapulnak. Ez a mező 0 vagy 32 bit többszöröse, de maximum 10*32 bit. (Az IP fejléc mérete maximum 15*4 bájt lehet.) . Az IP implementációnak képesnek kell lennie az OPTION mező feldolgozására, de a beállítási képesség nem kötelező. Az opciók elhelyezése az OPTION mezőben: IP fejrész kötelező mezőit követik: Opció 1 EOL Padding (kiegészítés) 32 bitre Amikor több opció szükséges: IP fejrész kötelező mezői Opció1 Opció 3
Opció 2 Padding
EOL
Az opció listát az egy különleges opció az EOL (End of Options List) zárja. Az opciók általános felépítése: Opció típusa (8 bit) Opció hossza (0 vagy 8 bit)
Opció adat (0 vagy n*8 bit)
Az Opció típusa mező felépítése: CF (1 bit) OC (2 bit) Type (5 bit) CF=1 (Copied Flag): a csomag darabolásakor minden töredék fejrészébe be kell-e helyezni az adott opciót. OC (Option Class): - 00 – Vezérlési célú opció osztály - 10 – hibakeresési és mérési célú osztály - a többi érték fenntartott Type: Az opció tényleges típusszáma. Nem részletezzük, de lásd az Opció típusa mezőnél. Opció típusa mező értékei. (A gyakrabban használatos opciók.) • 0: End of Option List (Egybájtos opció, mely az opciólista végét jelzi) • 1: No Operation (Egybájtos opció, amely(ek) töltelékként szerepel(nek), hogy az igazi opciók szóhatárra legyenek igazítva a gyorsabb feldolgozás érdekében) • 7: Record Route • 68: Internet Timestamp • 130: Security (Az információ titkosságát jelzi, nem használatos) • 131: Loose Source & Record Route • 136: Stream Identifier • 137: Strict Source & Record Route Az opció hossza mező az adott opció teljes hosszát tartalmazza bájtban megadva, ha létezik egyáltalán ez a mező. Az opció adat mező az egyes opcióknál kerül ismertetésre. Padding: célszerűen 0 tartalmú bájtok, amelyek az IP fejrész opció mezőjét n*32 bitesre egészítik ki.
2009. 02. 24.
8
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Néhány opció részletesen: Record Route opció: (Type=7) Type=7
Hossz=23
Pointer
Címlista
Ahol a címlista: IP cím 1 IP cím 2 üres … üres A Type=7 előtt valószínűleg egy Type=1 van. A pointer kezdőértéke ilyenkor 4, hogy az első IP cím helyére mutasson. Az opcióval rögzíthető azoknak az útválasztóknak az IP címe, amelyeken az IP csomag áthalad. Ezt az információt majd a csomag céljában értékelik ki. A csomag forrása kibocsát egy IP csomagot, amelyben helyet biztosít az érintett útválasztók IP címének. A példában 5 útválasztónak van lehetősége arra, hogy saját IP címét beírja a listába. A pointer mindig egy üres mezőre mutat. A Hossz mezőben egy konstans van, amelyből látszik, hogy hány IP cím beírására van lehetőség. A Hossz mező tartalma most 23, de általában 3 + 4*N, ahol az N a rögzítendő IP címek darabszáma. Az előbbi opciót tartalmazó IP csomag: IP fej kötelező része Opció EOL IP adat Internet Timestamp (Type=68) Az egyes útválasztókon való áthaladás időpontjai rögzíthetők a csomagban. Egy-egy időbélyeg 32 bites, amely az éjfél óta eltelt időt mutatja ezredmásodpercekben: Type=68 Length Pointer Owerf. Flag IP cím 1 Áthaladás 1 IP cím n Áthaladás n Az opció működése a Flag mező tartalmával finomítható: - Az időbélyeg mellett az IP címet is rögzítik az útválasztók - A forrás feltölti IP címekkel az adatmezőt. Majd az így megadott című útválasztók rögzítik az áthaladás időpontját - Csak az áthaladás időbélyegét rögzítik
2009. 02. 24.
9
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Loose Source & Record Route (LSRR)
(Type=131)
A forrás által megadott IP című útválasztókon haladjon a csomag. (Pl. bizalmas anyagok továbbításához, vagy hálózati hibák felderítésére.) Type = 131 Length=3+n*4 Pointer=4 (kezdőérték) javaslat: Type=1 Route List Route List: IP cím 1 IP cím 2 IP cím n
Az A forrás csomagot küld a B cél hosztnak az 1–2–3–4–5 útvonalon. Az A–ból küldött csomag célcíme kezdetben R16. A Source Route List pedig az R2, R3, R4, B címekből áll. Az R1–hez érkező csomagban az R1 megvizsgálja, hogy a pointer melyik listaelemre mutat, ez most az 1. elem. A csomag célcímét kicseréli az 1. elemben megadott IP címre, majd saját IP címét írja be az 1. elem „helyére”. Ezután a pointert a következő elemre állítja. Minden érintett útválasztó hasonló módon jár el, így a lista a célpontba érkezéskor az érintett útválasztókat tartalmazza. A lista módosulása a csomag útja során: Szakasz Célcím Lista 1 R1 R2 R3 R4 B 2 R2 R1 R3 R4 B 3 R3 R1 R2 R4 B 4 R4 R1 R2 R3 B 5 B R1 R2 R3 R4 (Az adott szakasz célcíméhez érkező csomagban a pointer az aláhúzott lista elemre mutat.)
Az előbbi Loose (laza) módszer megengedi a listában nem szereplő útválasztók használatát is. Pl. a 4-es útvonal hibája esetén az R3 ezt tudva R5 felé irányítja a csomagot, amely majd az R4 címét érzékelve az R4–nek továbbítja azt. Strict Source & Record Route (SSRR) (type=137) Ennél a szigorú forrás általi irányításnál a folyamat hibajelzéssel (ICMP: Destination unreachable) megáll, ha a pointer által mutatott IP cím nem közvetlen szomszédja az aktuális útválasztónak. Az előbbi 4-es útvonal hibáját nem tudja vagy akarja kiküszöbölni a protokoll. Az LSRR ill. SSRR egyaránt 9 IP címet tud kezelni, ez korlátozza a használhatóságukat. 6 Ez csak a forrás általi útválasztásra jellemző, mert általában a B célcímet a routerek nem módosítják.
2009. 02. 24.
10
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Az IP címek szerkezete Az IP a különböző hálózatokban található gépek közötti kapcsolatot hivatott biztosítani. A kapcsolatban érintett gépek között útválasztás segítségével találja meg a datagramok számára az útvonalat. Az IP címek hierarchikus felépítésű belső szerkezete segíti ennek a feladatnak az ellátását. Minden, az Internetre kapcsolódó gépnek van egy azonosítója, az IP címe. A nyilvános IP címek kiosztását egy Internetet felügyelő szervezet az InterNIC7 (www.internic.net) ellenőrzi és végzi. Az InterNIC az IP címeket szervezeteknek osztja ki. Egy-egy szervezet az általa üzemeltetett gépek számának megfelelő (osztályú) IP címet kap hálózata (!) részére. Az IP címek 4 bájtosak, azaz 32 bitesek. Írásmódjuk olyan, hogy a négy darab 8 bites címkomponensének decimális értékét írjuk le. Ez az ún. Dotted Decimal Notation (DDN) alak, pl8. 145.10.34.3 Az Ip címek két fő részből állnak:
Hálózat cím Host cím (végpont azonosító) A cím hálózati része (prefix, előtag) azonosítja azt, hogy az Internetet alkotó hálózatok közül a címmel jelölt végpont mely hálózatban van. A cím végpont azonosító része pedig azt mutatja, hogy az Internet előbbi hálózatán belül melyik számítógépről van szó. Az IP címek osztályuktól függetlenül 4 bájtosak és az első bájtjuk mutatja, hogy az A-E osztályok közül melyikbe tartoznak (Network ID=x, Host ID=y): Class
1. bájt
2. bájt
3. bájt
4. bájt
Hálózat db
Host db
A
0xxxxxxx yyyyyyyy yyyyyyyy yyyyyyyy
B
10xxxxxx xxxxxxxx yyyyyyyy yyyyyyyy
16384
65534
C
110xxxxx xxxxxxxx xxxxxxxx yyyyyyyy 2097152
254
D
1110aaa
E
1111
aaaaaaaa aaaaaaaa aaaaaaaa -
-
-
126 16777214
Címtartomány
Privát címtartomány
1.y.y.y126.y.y.y
10.0.0.010.255.255.255
128.1.y.y191.254.y.y
172.16.0.0.172.31.255.255
192.0.1.y223.255.254.y
192.168.0.0.192.168.255.255
-
-
224.0.0.0239.255.255.255
239.192.0.0239.192.255.255
-
-
240.0.0.0247.255.255.255
-
Az IP cím két komponense eredményezi, hogy az IP címek hierarchikusak. Ez a hierarchikus belső szerkezet biztosítja azt, hogy az IP irányítható protokoll, ellentétben pl. a ma már alig használt NetBEUI protokollal. Az irányíthatóságot az teremti meg, hogy a routereknek nem kell az összes IP címmel rendelkező eszköz helyét ismerniük az Interneten, elég a hálózatok (egy részének) ismerete. Egy hálózat irányának (helyének) ismerete a benne lévő végpontok helyének ismeretét is jelenti. (Pl. egy A osztályú hálózat helyének (irányának) ismerete elméletileg 16777214 darab IP címmel rendelkező eszköz ismeretével ér fel.) Ezzel a módszerrel az egyes útválasztók routing táblájában elhelyezendő útvonalak (hálózatok) száma kezelhető méretűvé válik. Az egyes hálózatokban található gépek nyilvántartása már az egyes hálózatok belső feladata. Tehát a hálózati cím a gépek egy csoportjának címzésére használható és egy csomag útja során mindig a cél hálózatcíme alapján történik az útválasztás. A osztályú IP cím egy 8 bites prefixet (hálózatcímet) (x) és 24 bites host címet (y) tartalmaz. Ebből az következik, hogy az Interneten 126 darab A osztályú hálózatot lehet kialakítani és egy-egy ilyen hálózatban max. 16,777,214 darab host helyezhető el. Már a hálózat címeknél 7 NIC= Network Information Centre. (Ebben a környezetben tehát nem a hálózati csatoló kártyát jelenti!) 8 http://elqui.dcsc.utfsm.cl/util/redes/3COM-Understanding-IP-addressing/nsc/501302.html
2009. 02. 24.
11
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
is gyanút foghattunk, mert a 7 bites hálózatcím 27=128 db hálózat kialakítását tenné lehetővé, de hová lett két hálózat? A választ az az általános szabály jelenti, hogy a Network ID-ben nem lehet az összes bit egyszerre 0 vagy 1, mert ezeknek speciális jelentése van: a 0 hálózatcím az aktuális hálózatot jelenti. (Ezzel úgy hivatkozhat valaki az aktuális hálózatra, hogy nem ismeri a számát.) A tiszta 1 hálózatcímet az üzenetszóráshoz használják. A cím Host ID komponensében a tisztán 0 és 1 értékek nem egy host kijelölésére használatosak, hanem a hálózatot azonosítják, illetve az üzenetszóráshoz szükségesek. Összefoglalva az A osztályú hálózatokról szóló tudnivalókat: az Interneten 126 db A osztályú hálózat lehet, egyenként legfeljebb 16777214 hoszttal. Az A osztálynál az Internet cím első bájtja a [1..126] tartományból kerülhet ki és ez azonosítja az adott hálózatot. A hálózaton belül sok-sok gép lehet, de a legkisebb hoszt cím a hálózaton belül a 0.0.1 és a legnagyobb a 255.255.254. Az IP címeket decimálisan írják fel és az egyes bájtokat ponttal választják el egymástól. Példaképpen az A osztályú címtartomány legkisebb és legnagyobb címét használjuk az IP címek szemléltetésére: 1.0.0.1 és 126.255.255.2549. A osztályú hálózati címmel a legnagyobb (világméretű) szervezetek rendelkeznek, pl. U.S Department of Defense. A prefixhossz és az IP cím együttes megadása A osztályú címnél, pl. 126.2.2.2/7 B osztályú hálózati címek: az Interneten 16384 db egyenként 65535 gépet (hosztot) tartalmazó B osztályú hálózat alakítható ki. A B osztályú hálózatok címtartománya a cím hálózati komponensét vizsgálva: 128.1 – 191.254. Binárisan is részletezzük a gyakorlás miatt: 10 10 10
000000.00000001 … 111111.11111110
(Látszik hogy a tiszta 0 és 1 bitet elkerültük a hálózati címben.) Nagyobb szervezetek, pl. egyetemek kapnak B osztályú címet. Érdekesség, hogy pl. a Microsoft megvásárolta a 169.254.0.0 hálózati címet (pontosabban a teljes címtartományt) az eredeti tulajdonosától. A Windows operációs rendszerek elinduláskor DHCP nélküli hálózatban az előbbi hálózati címtartományból választanak egy IP címet. Ha az adott címet más nem használja a hálózaton belül, akkor indul az OS TCP/IP alrendszere. Az előbbi címtartomány tehát a Windows hálózatok privát címtartományának tekinthető10.
C osztályú hálózati címek: Az Interneten 2097152 darab C osztályú hálózat alakítható ki egyenként 254 hoszttal. A C osztályú hálózatok címtartománya az IP cím hálózat komponense alapján: 193.0.1–223.255.254. Egy konkrét hálózat gépeinek lehetséges címeit vizsgáljuk meg úgy, hogy a vizsgálathoz a legkisebb hálózatcímű C osztályú hálózatot választjuk ki: 192.0.1.0 192.0.1.1 192.0.1.2 *
192.0.1.254 192.0.1.255
magának a hálózatnak a címe, hoszthoz nem használható az 1. hoszt címe lehet. a 2. hoszt címe lehet. az utolsó hoszt címe lehet. üzenetszórás a hálózaton belül, nem hoszt cím.
D osztályú címeket a többesküldéshez (multicast) használják. Ezek olyan címek, amelyek lehetővé teszik, hogy több gép (hoszt) vegyen egy ilyen címmel rendelkező IP datagramát. (Pl. videó konferencián többen látják ugyanazt a képet vagy a Norton Ghost egyszerre több gépnek is továbbítja a „merevlemez partíciót”.) Egyes hálózati szolgáltatások (protokollok), pl. RIP v1 kezdetben broadcast címzéssel dolgoztak. Továbbfejlesztésükkor (pl. RIP v2) igyekeztek csökkenteni a nem érintett gépek terhelését ezért áttértek multicast címre. (Tehát a broadcast címzéshez képest bizonyos értelemben fejlettebbnek tekinthető a multicast címzés.) A többesküldéshez biztosított címtartomány: 224.0.0.1–239.255.255.254. A többesküldéshez használt címeknek nincs belső szerkezete, így 228 különböző csoportot lehet kialakítani. 9 Természetesen ezek a gépek nem azonos hálózatban találhatók, mert a hálózati azonosítójuk eltérő. 10 Kis Balázs: Windows 2000-Haladókönyv haladó szoftverhez. Szak kiadó 2000.
2009. 02. 24.
12
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Megkülönböztetik az ideiglenes és az állandó csoportok címeit. A multicast műveletekhez speciális protokollok kellenek, pl. IGMP, PIM, stb., de ugyanez vonatkozik a műszerekre is, pl. PING helyett MCAST használatos. A csoportcím használatát az útválasztó felé is jelenteni kell, sőt speciális irányító protokollok kellenek a multicast című csomagokhoz: MOSPF, PIM, DVMRP. Példa állandó csoportok címeire (Internet Assigned Numbers Authority): - 224.0.0.1 Az egy LAN-on lévő összes hoszt. (A gép indulásakor már tagja ennek.) - 224.0.0.2 Az egy LAN-on lévő összes router11 - 224.0.0.5 Az egy LAN-on lévő összes OSPF router. - 224.0.0.6 Az egy LAN-on lévő összes kijelölt OSPF router. - 224.0.0.12 DHCP szerver és átjátszó. - 239.192.0.0 – 239.251.255.255 Privát célra használható multicast címtartomány. LANon belüli multicast címek. Pl. a (DHCP-hez hasonló) MADCAP szerver osztja ki. Az ideiglenes csoportokat létre kell hozni a használatuk előtt. Az egyes alkalmazások megkérhetik a hosztjukat, hogy lépjen be egy csoportba. Ekkor a csoport jelen lesz a hoszton. Minden hoszt (ill. NIC) nyilvántartja, hogy milyen csoporthoz tartoznak az adott pillanatban az alkalmazásai. A multicast routingot majd az irányító protokolloknál fogjuk megvizsgálni. E osztályú címtartományt jövőbeni felhasználásra tartják fenn: 240.0.0.0.-247.255.255.255. Speciális jelentősége van a 127.X.X.X jellegű címeknek. Az ilyen címekre küldött IP datagramok nem kerülnek ki a hálózatra, úgy érkeznek vissza a küldő protokollhoz. Ezt a visszacsatolást tesztelésre lehet felhasználni. Egy virtuális interfészt is bevezettek a visszacsatoláshoz jelzésére, az ún. loopback interfészt, amelynek IP címe, pl. 127.0.0.1. (Ez egy virtuális interfész, ellentétben a hosztban fizikailag is megtalálható, pl. ETHERNET kártyával.) A lényeg tehát az, hogy segítségével hálózat nélkül is ki tudjuk próbálni a TCP-t vagy UDP-t használó, végeredményben IP alapú programjainkat és a protokoll vermet. Ha egy processz csomagot küld erre a címre, akkor visszakapja a csomagot. Összefoglaljuk a speciális jelentésű IP címeket: Netw. ID: Host ID:
00..00
cím
cím
11..11
11..11
11..11
cím
00..00
00..00
00..00
127.X.X.X
Magyarázat:
Egy hoszt címzése a hálózaton belül, a hálózat címkomponensének használata nélkül. Adatszórás (broadcast) távoli hálózaton. (Minden gép veszi a célhálózaton belül.) Adatszórás helyi hálózaton belül. A routerek nem továbbítják. Megtévesztő módon gyakran fizikai broadcast címnek nevezik. Pl. olyan rendszer használja induláskor, amelyik nem ismeri a saját hálózatcímét. Egy hálózat címe. (Régi rendszerekben ez volt a broadcast.) 1. Az alapértelmezett router jele a routing táblában. 2. Ezzel indul egy hoszt, amelyik később kap IP címet a hálózatról. Csak forráscím lehet, pl. egy DHCP kérésben. 3. Régi rendszerekben ez volt a broadcast cím. Loopback cím. A számítógépen belüli hálózati funkciók hálózat nélküli teszteléshez.
Privát (lokális) címtartományok: Tegyük fel, hogy van egy olyan hálózat a “cégünknél”, ahol IP alapú szolgáltatásokat használunk (Intranet). Milyen IP címeket rendeljünk az egyes gépekhez? Amíg nem kapcsolódunk az Internetre, addig elméletileg bármilyen címet 11 Pl. egy W98 az indulásakor rengeteg IP csomagot is generál. Ezek közül néhány olyan ICMP Router Solicitation csomag, amelynek célcíme 224.0.0.2.
2009. 02. 24.
13
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
használhatunk, lényeg a LAN-on belüli egyediség. Probléma akkor jelentkezhet, ha a hálózatunk az Internethez kapcsolódik (akár csak ideiglenesen is), mert lehet, hogy van olyan belső IP címünk, amit odakint az Interneten jogosan használnak, viszont a miénk nem az InterNIC-től kapott legitim szám. A megoldás az, hogy olyan címtartományból kell IP címeket választani az Intranetünk hosztjai számára, amelyeket az Interneten nem osztanak ki, mert a szabvány szerint fenntartják a LAN-ok belső használatára: A osztály: B osztály: C osztály:
10.0.0.0 172.16.0.0 192.168.0.0
-
10.255.255.255 172.31.255.255 192.168.255.255
(10.0.0.0/8) (172.16.0.0/16) (192.168.0.0/16)
Ezeket az a címeket az Internet routerei nem engedik át, tehát az ilyen IP címeket használó LAN-ok egymást nem fogják “megtalálni” az Interneten. Viszont az előbbi LAN-okat az Internettel összekapcsoló routerek legális, Interneten használatos címmel rendelkezhetnek és képesek ezen legális cím felhasználásával, a belső privát IP címekkel bíró hosztok számára Internet elérést biztosítani. Pl. egy IP cím mögött sok gép lehet, lásd később a „címfordítást”. Az ábrán két olyan LAN látható, amelyen belül a privát IP tartományból választott a rendszergazda IP címeket. Az R_x-el jelölt gépek két-két hálózati interfésszel rendelkező12 routerek: egy-egy ETHERNET interfész a LAN-hoz kapcsolja a gépeket, míg egy-egy modem a telefonvonal segítségével az Internet szolgáltatóhoz13 (ISP, Internet Service Provider) kapcsolja az R_x jelű gépeket. Az ISP a saját Interneten élő IP címtartományából ad egyet-egyet a bejelentkezett ügyfeleinek (pontosabban itt az R_x jelű gépek M jelű modemjei kapnak Interneten élő IP címet.) Ezzel az IP címmel a modemes kapcsolat időtartamára az Internet részévé válnak a R_x jelű gépek. A példa alapján számos fogalom bevezetésére van lehetőség, melyek magyarázatára a későbbiekben sor kerül. Az R_x jelű gépek különböző hálózatokat kapcsolnak össze (a LAN és az Internet), mert a két interfészük más-más hálózathoz kapcsolódik. Ezeket a hálózatokat a hálózatcímük alapján egy router képes megkülönböztetni. A router funkció kevés ahhoz, hogy a LAN gépei tudjanak kommunikálni az Interneten élő gépekkel, mert mint arra emlékszünk, olyan IP címtartományból kaptak IP címeket, amelyek az Interneten nem élnek és ráadásul a routerek sem továbbítják a privát címtartományba eső IP címekkel rendelkező csomagokat. A LAN-ok R_x jelű gépe az, amelyik legális IP címmel is rendelkezik (a modemes kapcsolat alatt), ezért képes kommunikálni az Internet gépeivel. Az R_x jelű gép a LAN-on belül a privát IP címet kapott ETHERNET interfész segítségével kommunikálhat.A routeren egy spe ciális (címfordító) programot kell futtatni ahhoz, hogy a LAN gépei is teljes értékű Internet eléréssel rendelkezzenek (amíg tart a modemes a kapcsolat az ISP gépével). A futtatandó program a NAT-ok (Network Address Translator) családjába tartozik amelyet később részletezünk.
12 Ezek a gépek több hálózatnak a részei, ezért “multihomed” gépeknek is nevezik őket. 13 Pl. T-COM, UPC
2009. 02. 24.
14
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Routerek (útválasztók)
A példánkban feltételeztük, hogy a cégünk publikus Internet címmel szeretné a LAN I. minden gépét ellátni, ezért C osztályú címtartományt igényelt az InterNIC-től. Az InterNIC válaszában ”az utolsó” C osztályú címet regisztrálta14 cégünk részére: 223.255.254.0. Az utolsó bájt 0 értéke utalás arra, hogy valójában egy hálózat címét kaptuk, amelynek címtartományán belül szabadon oszthatjuk ki az IP címeket. (Az ábrán látható konkurens cég B osztályú hálózatot alakított ki... .) Emlékeztetőül a hálózatunkban található gépek IP címe a következő tartományból kerülhet ki 223.255.254.1–223.255.254.254, tehát 254 darab gépnek tudnánk közvetlenül IP címet adni. Miután megvan az IP címtartományunk, jelöljük ki az egyes gépek (interfészek) IP címét, de a fizikai (MAC) címük feljegyzése is hasznos lehet: Host R_A R_A H1 H2 H3
Interfész Ppp0 Eth0 Eth0 Eth0 Eth0
IP cím 223.255.254.1 223.255.254.2 223.255.254.3 223.255.254.4 223.255.254.5
MAC cím 44-45-53-54-00-00 00-61-52-0A-29-C4 00-63-55-04-59-04 00-67-52-07-69-64 00-60-57-08-29-C2
Az IP-ről tudjuk, hogy feladata a datagramok célba juttatása. Ehhez a datagramok útját ki kell jelölni. Ez a folyamat az útválasztás (routing). Az algoritmust a hálózati rétegben implementált program (rutin) realizálja, amelynek az adatbázisát (routing tábla, forwarding table, csomagtovábbítási tábla) nekünk kell beállítanunk és/vagy a routereken futó irányító protokollok (RIP, OSPF, stb.) manipulálják. A routing táblát minden gépen egyedileg kell beállítani a hálózat (LAN) sajátosságainak megfelelően. Egy tipikus routing tábla modell a következő mezőkkel rendelkezik: Destination (Network), Gateway, Netmask, Interface. A routolás során az IP rutin meghatározza a datagram útjának következő állomását és azt, hogy ehhez a datagramnak melyik interfészen át kell távoznia az adott gépről. Ezt követően az ARP felderíti, hogy a MAC rétegnek milyen fizikai címre (!) kell eljuttatnia a MAC keretbe foglalt IP datagramot. Ezekből két fontos dolog következik: • •
Az IP a LAN-t és a WAN-t használja (pontosabban azok MAC alrétegét) az IP datagram továbbítására, ezért kell fizikai (MAC) címre továbbítani a datagramot! Az IP datagram feladója és címzettje a datagramban mindig ugyanaz marad. (A kivételekkel (NAT és a forrás általi csomagirányító IP opció) most nem foglalkozunk.)
14 Nyilván a NIC magyar megbízottján http://www.nic.hu keresztül történt a cím kiosztása. A regisztráció biztosítja, hogy senki sem használja ugyanezt a címtartományt, így az egyedül cégünké.
2009. 02. 24.
15
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Hogyan választja ki a router a továbbításhoz használandó útvonalat? (Ezt én az útválasztás első (látványos) részének nevezem.) Következzen két egyenértékű magyarázat: 1. A routoláskor az IP útválasztó rutinja sorról-sorra halad a routing táblában és az éppen továbbítandó csomag cél IP címét minden sorban bitenkénti AND kapcsolatba hozza az adott sor Netmask értékével. Az AND kapcsolat eredménye összehasonlításra kerül a sor Destination mezőjében feltüntetett hálózat címmel és amelyik sorban megegyezik a két érték, annak a ’sornak’ az interfészén át kell továbbküldeni az IP datagramot. 2. A routoláskor az IP útválasztó rutinja sorról-sorra halad a routing táblában azt keresve, hogy melyik sorban található az a hálózat, amelynek címtartományába illeszkedik a címzett IP címe. A hálózat kezdőcíme a Destination mezőben található, címtartományát pedig a vele egy sorban lévő Netmask-ból lehet meghatározni. Amelyik sorban megvan a keresett címtartomány, annak a ’sornak’ az interfészén át kell továbbküldeni az IP datagramot. Későbbiekben majd előfordul olyan eset, hogy a címzett IP címe több útvonalbejegyzés címtartományába is beleillik. Ekkor ezek közül a leghosszabb prefixszel (netmaszkkal) rendelkező útvonalon kerül továbbításra a csomag. Ez az ún. classless (osztály nélküli) útválasztás lényege. A mára már elavult classfull útválasztást egy későbbi „Az útválasztás alapjai és CISCO IOS parancsok statikus útvonalak beállításához” fejezetben ismertetem. Megjegyzések: • Pillanatnyilag osztály alapú hálózatcímeket találunk a Destination oszlopban. Ebben az esetben cím első oktettjéből netmaszk nélkül is meghatározható, hogy melyik osztályba tartozik. (Pl. a 223-ból következik a C osztályú netmaszk.) Az osztály alapú hálózatcímeket felváltó rugalmasabb hálózatcímeknél a destination egy szuperhálózatot vagy alhálózatot is jelölhet, itt már nagyobb szerepe lesz a netmaszknak. • A routing tábla egy sorát (bejegyzését gyakran útvonalnak) is nevezik.
Számunkra azért hasznos az útválasztás algoritmusának ismerete, hogy a routing táblák kitöltésére és ellenőrzésére képesek legyünk. Vizsgáljuk meg, pl. a LAN I.-ből a H3 routing tábláját: Destination Gateway Netmask 223.255.254.0 255.255.255.0 127.0.0.0 255.0.0.0 0.0.0.0 223.255.254.2 0.0.0.0
Interface Eth0 Lo Eth0
A routing táblában azokat a hálózatokat (Destination) találhatjuk meg, amelyeket a routernek ismernie kell. Hivatalból ismeri azt, amelyikben van működőképes interfésze, de a többit már az irányító protokoll vagy a rendszergazda ismerteti meg vele, azaz veszi fel a routing táblájába. Három féle bejegyzést különböztethetünk meg a routing táblában: 1. Közvetlenül (direkt módon) elérhető egy adott hálózat, ha a hálózat címtartományában van a H3 router valamelyik interfésze. A példában ezt az esetet látjuk az első sorban. 2. Olyan hálózatot is fel kell tüntetnünk, amelyik a felügyeletünk alatt van ugyan, de a H3 nem látja közvetlenül, csak egy (vagy több) routeren keresztül érheti el. Ilyenkor a destination és az interfész értelemszerű kitöltése mellett a gateway mezőbe be kell írni annak a routernak az IP címét, amelyen keresztül (tehát indirekt módon) elérjük a hálózatot! Az indirekt elérés feltétele, hogy a gateway mezőbe írandó routert az interfészünknek MAC szinten el kell tudnia érnie. Tehát legfeljebb hub, switch segítségével, ha nincsenek közös médián. Megjegyzés: felesleges itt a 2-es kategóriában feltüntetni azokat a hálózatokat, amelyek a 3-as tipusú bejegyzés útvonalán „fekszenek”. 3. A routing tábla bejegyzések harmadik változata az alapértelmezett útvonal, amely szintén indirekt jellegű, de a további részleteire később térünk vissza.
2009. 02. 24.
16
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
A netmask szerepének megértéséhez elevenítsük fel, hogy a destination oszlopban hálózatok címei vannak. A netmask oszlopban azt adjuk meg, hogy a routing tábla segítségével irányítandó IP csomag célcímének, hány bitjét kell összehasonlítani egy adott sorban az ott található hálózat címmel (a mintaillesztés hány bitre terjed ki). Az 'A' osztályú hálózat esetén 8 bites a hálózatcím, így a netmaszk 255.0.0.0 vagy prefixes alakban /8. A netmask konkrét megadása helyett, annak hosszát tartalmazó táblázatok is vannak, bár ez módszer számítás igényesebb. (Az előbb az AND egyik operandusát készen kapta a gép, míg itt ki kell számítani az operandust). Az előbbi routing tábla ebben a másik alakban: Prefix Next-hop Interface Mode 223.255.254.0/24 Eth0 Direct 127.0.0.0/8 Lo Direct 0.0.0.0/0 223.255.254.2 Eth0 Indirect A prefix a cím hálózati komponensének bitekben mért hosszát határozza meg (24 bites vagy 8 bites, stb.). A next-hop (következő útválasztó) mező azt mutatja, hogy a célt közvetlenül érjük el, vagy egy router segítségével. Ezt redundáns módon a Mode is leírja.
Visszatérve a konkrét routing táblára, először minden H3-hoz közvetlenül csatlakozó15 hálózathoz kell egy netmaszkot16 készíteni. Most csak egy hálózat van, a 223.255.254.0 című. (Erre kapcsolódik rá a H3 Eth0 jelű interfésze, ami röviden a H3 egyetlen ETHERNET kártyáját jelöli.) A megoldáshoz még az IP cím szerkezetét is idézzük fel: Network ID 1. IP cím példa: Netmaszk:
Host ID
Itt konkrétan: 223.255.254.
0
Az első példa egy hálózaton belüli cím. Közvetlen (direkt) útválasztás. A cím Host ID komponensét nullázza a netmaszk, előállítva 255.255.255.0 ezzel a hálózat címet. A Network ID komponens nem változik. 223.255.254.4
Az ÉS 223.255.254.0 A routing tábla destination mezőjében felvettük ezt az értéket. eredménye: A második példában a konkurens cég hálózatából vizsgálunk egy címet. Nincs olyan interfészünk, amelyik közvetlenül 2. IP cím kapcsolódna arra a hálózatra, ezért majd csak a tábla gateway 145.235.0.37 példa: sorában, egy 0.0.0.0 netmaszkkal tudunk interfészt rendelni az adott IP című datagramhoz. (Közvetett (indirekt) útválasztás.) Netmaszk: 255.255.255.0 Az ÉS 145.235.0.0 eredménye: A H3 csak egy hálózatot lát, tehát letudtuk az ilyen szemlélettel elkészített sorokat a routing táblában. A routing táblák több speciális17 sora közül most még kettőt említünk meg. Az első a loopback (Lo) eszközhöz tartozó sor, amely minden 127.x.x.x IP című datagramot erre a virtuális eszközre irányít. Segítségével a H3-ra telepített TCP/IP rendszer egy része a fizikai hálózat nélkül is ellenőrizhető, pl. a 127.0.0.1 IP címmel.
15 H1, H2, H3 az általuk ismert hálózat közvetlenül érik el. Közvetett útválasztásról később lesz szó. 16 A netmaszk mindig azé a hálózaté, amelyikre az adott interfész csatlakozik. 17 A broadcast és multicast címzésű datagramokat is kezelnünk kell, pl. az IP broadcast domain kijelöléséhez.
2009. 02. 24.
17
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
A második az alapértelmezett átjárót (default router vagy default gateway) jelöli a következő szemlélet alapján. Az IP sorról sorra halad a routing táblában és a Destination sehol sem egyezik meg az AND kapcsolat végeredményével. Ez azt jelenti, hogy a H3 nem ismeri azt a hálózatot, amelyikben a cél IP címe található. Valószínű, hogy az Interneten van a címzett. Küldjük el tehát a LAN-unk routerének az IP datagramot! Hozzunk 0-val (speciális netmaszkkal) AND kapcsolatba minden bájtot a cél IP címében, majd a Destination-ba a 0.0.0.0. értéket írjuk be várható eredményként. (Csak egy ilyen ún. default router18 sor lehet a routing táblában.) Más megközelítésben a gateway (ill. next-hop) mező azt határozza meg, hogy a csomag továbbításához az ARP az IP csomagban szereplő célcímhez tartozó MAC címet kérdezze-e le, vagy az itt megadott router MAC címét. Indirekt továbbítás esetén elterjedten használják az ún. proxy ARP eljárást. Ekkor a routing táblában nem adják meg a következő útválasztó IP címét (gateway mező), csak a következő útválasztó felé vezető interfészt jelölik meg19. Ekkor az interfészen kimenő ARP kérésre az interfészen át elérhető router fog válaszolni saját MAC címével, legalábbis akkor, ha látja azt a hálózatot ahol a cél van és az oda küldött saját ARP kérésével felderítette a cél MAC címét
Ezzel az adott gépen (H3) futó IP rutin befejezte a routolási tevékenységét, mert meghatározta, hogy a LAN-on belül hová kell küldeni az IP datagramát. Belátható, hogy a H1, H2 gépek routing táblája is megegyezik a most megismert táblázattal, ezért azokat külön nem tárgyaljuk. Az R_A router routing táblája és értelmezése: Destination Gateway Netmask 223.255.254.0 255.255.255.0 127.0.0.0 255.0.0.0 0.0.0.0 145.236.193.230 0.0.0.0
Interface Eth0 Lo Ppp0
− Első sor jelentése ugyanaz, mint H1, H2, H3 esetén: minden olyan host, amelyiknek IP címe a LAN-unk címtartományába ”esik”, az Eth0 interfészen keresztül érhető el. − Második sor jelentése sem változott: a routeren20 telepített TCP/IP rendszer egy része a fizikai hálózat nélkül is ellenőrizhető, pl. a 127.0.0.1 IP címmel. − Harmadik sor: az R_A router nem tudja, hogy a vizsgált IP címhez tartozó hálózat hol található. (A vizsgált cél IP cím a destination mezőkben megadott hálózatok közül az egyiknek sem része. Másképpen: egyik hálózat címtartományába sem illik bele.) Ilyenkor egy olyan routerre küldjük a datagramát, amelyik remélhetőleg sokkal több hálózatot ismer. (Pl. az ETHERNET LAN II.-t biztosan ismeri.) R_A router egy modem segítségével kapcsolódik az ISP, Interneten lévő 145.236.193.230 IP című modeméhez. A routerünk modemének, mint interfésznek21 a jele Ppp0 a LINUX rendszerben. Az ISP routerének táblázatából egy részlet: Destination Gateway Netmask Interface … … … … 223.255.254.0
-
255.255.255.0
Ppp2
145.235.0.0
-
255.255.0.0
Ppp3
…
…
…
…
Megjegyzés A mi cégünk hálózatát “hivatalból” ismeri a router. A konkurens cég hálózatát szintén “hivatalból” ismeri a router.
18 Figyeljük meg azt, hogy a default router az amelyen át kiléphetünk a hálózatunkból. 19 Ez rugalmasabb mert az IP cím esetleges megváltozásakor is tovább működik. 20 Nyilván ez minden gépen igaz, de most épp a routert vizsgáljuk. 21 Pontosabban a PPP (protokollt) jelzi, amely mintegy „elfedi” a modemet.
2009. 02. 24.
18
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Megjegyzések: Ha feltételezzük, hogy a négy modem fix IP címmel rendelkezik, akkor nincs olyan nagy szükség a DHCP protokollra, bár más paraméterek aktualizálása miatt jól jöhet. Van arra is lehetőség, hogy a routerek külön szerviz protokoll segítségével kommunikáljanak egymással (RIP, ill. OSPF szerint) a routing táblák aktualizálása érdekében. Összefoglalás: A routolás után kaptunk egy IP címet és egy interfészt, amelyre, ill. amellyel küldeni kell az IP datagramát. Tehát a datagram továbbításához megvan a feladó IP és MAC címe, valamint a cél IP címe is ismert, mert az IP fejlécben megadott IP címre küldjük a datagramát akkor, ha valamelyik interfészünk a cél (al)hálózatára csatlakozik, ill. egy router IP címére küldjük akkor, ha egyik interfészünk sem látja közvetlenül a célt. Az IP cím nem elég a datagram továbbításához, mert az interfészek fizikai (MAC) címmel dolgoznak! A fizikai címet az IP nem ismeri, mert működése logikai címeken alapszik, így most az IP csomag útjának következő állomásához22 tartozó logikai cím meghatározásával a tudománya végetért. A datagram következő állomásának IP címét átadja a TCP/IP keretprogramnak, amely az ARP (Address Resolution Protocol) segítségével az állomás IP címéhez tartozó MAC címet meghatározza. Így már semmi akadálya annak, hogy a keretprogram az LLC protokollnak átadva a datagramot elküldje azt a megadott gépre. Ha a megadott gép IP címe azonos az IP datagramában megadott IP címmel (ez az (al)hálózaton belülre szánt IP datagramnál következik be), akkor az IP a beérkezett datagramot átadja a transzport rétegnek további feldolgozásra, majd innét az alkalmazási rétegbe kerülve “hasznosul”23. Ha egy routerhez érkezik a datagram, de a datagram IP fejlécében nem a router IP címe van, hanem más IP cím, akkor a router ”nem adja ki ”az IP rétegből az alkalmazási réteg felé, hanem az IP programmal újra ”routoltatja” a saját routing táblája alapján. (Itt látszik, hogy egy sima W9X még több hálózati interfész esetén sem router, mert nem tudja egyik interfészéről a másikra kapcsolni a beérkező, de nem neki címzett IP datagramot, ezért eldobja azt.) A hálózati interfészek két “fajtáját” használja hálózatunk. Az üzenetszórás jellegű ETHERNET interfész esetében fontos szerepe van az ARP használatának, hogy eldőljön az, hogy (sok lehetséges ETHERNET interfész közül) a MAC szinten kivel kell kommunikálni. A két pont közötti kapcsolatot megvalósító PPP interfész esetében a média kizárólag egy-egy interfészt köt össze, így az ARP bizonyos esetekben felesleges lehet.
A funkciók szétválasztását érzékelteti, hogy a routing táblákban csak logikai (IP) címek vannak. IP szinten elvonatkoztatunk attól a fizikai hálózattól, amelyen fut a rendszer. Az ARP táblában (cache) a fizikai címek mellett IP címek is találhatók (kapcsoló mezők). Második példa: Cégünk felvásárolta a konkurenciát és a két LAN-t össze kell kötnünk. Eddig az Interneten keresztül érhettük el egymás gépeit, de most a megnövekedett LAN-ok közötti forgalom miatt miért fizetnénk többet az ISP-nek? Például a H3-H3 gépek szomszédos irodákban vannak, ráadásul a fiókban találtunk két ETHERNET kártyát a megfelelő hosszúságú UTP kábellel, így már össze is kötöttük a gépeket. Nem lesz hatalmas forgalom a két LAN között ezért sima munkaállomásokat fogunk routerként24 használni, nem szükséges dedikált router. (Viszont lehet, hogy az R_A dedikált router.) Nézzük hát az IP és MAC címek változását:
22 Tudjuk, hogy ez az állomás az IP csomag cél állomása lehet, vagy egy újabb router a cél állomáshoz vezető úton. 23 Ha esetleg nem saját IP címe van benne, akkor egy sima hoszt eldobja a csomagot. 24 Egy sima hoszt nincs kialakítva routolásra, nekünk kell engedélyeznünk az IP beállításoknál: ”Forwarding Enable”
2009. 02. 24.
19
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
A saját hálózatunkban egy új kártyához kell IP cím: Host R_A R_A H1 H2 H3 H3
Interfész Ppp0 Eth0 Eth0 Eth0 Eth0 Eth1
IP cím 223.255.254.1 223.255.254.2 223.255.254.3 223.255.254.4 223.255.254.5 223.255.254.6
MAC cím 44-45-53-54-00-00 00-61-52-0A-29-C4 00-63-55-04-59-04 00-67-52-07-69-64 00-60-57-08-29-C2 00-69-57-08-29-C2
A H3 Eth1 interfésze csatlakozik a másik hálózathoz. A volt konkurencia hálózatában szintén kell egy új IP cím: Host R_B R_B HB1 HB2 HB3 HB3
Interfész Ppp0 Eth0 Eth0 Eth0 Eth0 Eth1
IP cím 145.235.0.1 145.235.0.2 145.235.0.3 145.235.0.4 145.235.0.5 145.235.0.6
MAC cím 45-45-53-54-00-00 01-61-52-0A-29-C4 02-63-55-04-59-04 01-67-52-07-69-64 02-60-57-08-29-C2 05-69-57-08-29-C2
A HB3 Eth1 interfésze csatlakozik a másik hálózathoz. H1, H2: Destination 223.255.254.0 145.235.0.0 127.0.0.0 0.0.0.0
Gateway 223.255.254.5 223.255.254.2
Netmask 255.255.255.0 255.255.0.0 255.0.0.0 0.0.0.0
Interface Eth0 Eth0 Lo Eth0
Gateway 145.235.0.5 223.255.254.2
Netmask 255.255.255.0 255.255.0.0 255.0.0.0 0.0.0.0
Interface Eth0 Eth0 Lo Eth0
HB1,HB2 Destination 223.255.254.0 145.235.0.0 127.0.0.0 0.0.0.0
2009. 02. 24.
20
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
H3 (Az új router szerepben.) Destination Gateway 223.255.254.0 145.235.0.0 145.235.0.6 127.0.0.0 0.0.0.0 223.255.254.2
Netmask 255.255.255.0 255.255.0.0 255.0.0.0 0.0.0.0
Interface Eth0 Eth1 Lo ppp0
HB3 (Az új router szerepben.) Destination Gateway 223.255.254.0 223.255.254.6 145.235.0.0 127.0.0.0 0.0.0.0 145.235.0.2
Netmask 255.255.255.0 255.255.0.0 255.0.0.0 0.0.0.0
Interface Eth1 Eth0 Lo ppp0
Láttuk, hogy az IP datagramok útjuk során routerről-routerre haladnak. Útvonaluk követésére különböző szoftver műszerek állnak rendelkezésünkre a (látszólag) egyszerű konzol alkalmazásoktól kezdve (pl. tracert.exe), a grafikus nyomkövetőkig (pl. visualroute). Működésükről többet az ICMP fejezetben tudhatunk meg. Mérés VisualRoute programmal:
2009. 02. 24.
21
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
A címzési rendszer fejlődése I.: fix méretű alhálózatok A tisztán osztály alapú címzés (1981-1985) nem biztosított kellő rugalmasságot, ezért 1985-től szabványosították a hálózaton belüli fix méretű alhálózatok (Fixed Length Subnet Masking, FLSM) kialakítását25. Az alhálózatok kialakítása a felosztandó címtartomány tulajdonosának hatáskörébe tartozik és kívülről a felosztás nem érzékelhető. Alhálózatok kialakításához a következő körülmények vezethetnek: Tudjuk, hogy pl. az ETHERNET hálózatokban a node szám korlátozott. Egy MAC broadcast domain-ben max. 1024 node lehet és nekünk a vagy B osztályú címünk van. A nagy broadcast tartományok azért hátrányosak, mert a broadcast üzenetekkel minden gépnek kell foglalkoznia. A fenti számnál maradva egy broadcast című MAC keret esetén szélsőséges estben 1023 gép hagyja abba a munkáját a keret feldolgozásának idejére, ráadásul ebből 1022 feleslegesen. (Unicast címnél csak a megcímzett gép processzora foglalkozik a beérkezett kerettel.) Alhálózatokra bontással a szórási tartományok száma megnő és ezzel méretük csökkenthető. Bizonyos körülmények esetén előfordulhat ún. broadcast vihar, amelyről akkor beszélünk, ha másodpercenként több mint 100 broadcast keret van egy szórási tartományban. Különböző MAC–ot használó hálózatok állnak rendelkezésre a cégnél, pl. ETHERNET– Token Ring. A hálózatok túl nagy belső forgalma is indokolhatja az alhálózatokra osztásukat, mert lehet, hogy az egyes gépek már nagyon ritkán képesek a médiához férni. Az ütközési tartományok mérete alhálózatokra osztással is csökkenthető. (A mai kapcsolt hálózatokra a switch-ek szegmentáló hatása miatt nem jellemző ez a jelenség.) Az alhálózatokra osztás az adatbiztonságot is növelheti. Egy cég a nem használt címeit alhálózatokba szervezve más cégnek átadhatja. Emlékeztető: a szegmens fogalma L1 és L2 szintjén értelmezett, míg egy alhálózat az L3 logikai címei alapján jön létre. Az alhálózatok kialakításakor a címtartományunk hoszt ID komponenséből néhány bitet a hálózati azonosításhoz fogunk hozzárendelni. Az, hogy konkrétan hány bitről lesz szó, az attól függ, hogy hány alhálózatot kell megkülönböztetni. A routerek képesek szétválasztani/ összekapcsolni ezeket a szegmenseket a logikai (IP) címek alapján. Maradjunk az előbbi C osztályú címtartománynál, de rajzoljuk egy komplexebb topológiát!
25 http://elqui.dcsc.utfsm.cl/util/redes/3COM-Understanding-IP-addressing/nsc/501302.html és az Internet enciklopédia: www.freesoft.org/CIE/Course/Subnet/205.htm
2009. II. 24/
22
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Tehát az eddigi hálózati címünk és prefixünk 223.255.254.0/24. Az ilyen C osztályú hálózatokban a Host ID 8 bites {yyyyyyyy}. Most próbaképpen ennek két felső bitjét (ami most legyen a b1 és b0) átcsoportosítjuk a Network ID-hez {b1b0yyyyyy} és ezt a változást a netmaszkkal (prefixszel) is követnünk kell. Címzéskor a b1b0 bitek négyféle állapotban lehetnek, ennek megfelelően a következő táblázatban négy új (al)hálózat cím van az eredeti egy hálózatcím helyett. b1 b0 Új alhálózatcímek. (Az ábrákon Network Number: NN.) 0 0 223.255.254.0 0 1 223.255.254.64 1 0 223.255.254.128 1 1 223.255.254.192
Netmaszk 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192
Régebbi hálózati technológiák nem engedélyezték az első és utolsó alhálózat használatát. Ezt a következő számításokban még figyelembe is vesszük, de a mai gyakorlatban már nincs értelme ennek a korlátnak. A Subnet-Zero (most 00) használatakor a 223.255.254.0/26 hálózat címe megegyezne az eredeti 223.255.254.0/24 hálózat címével ami megzavarja26 a classful módon működő routert27. Az All-Ones Subnet (most 11) használatakor pedig az alhálózaton belüli broadcast cím azonos lenne az eredeti hálózaton belüli broadcast címmel. (A tiltás nem vonatkozott azokra az esetekre, amikor a rendszergazda kézzel állította be a routing táblákat, azaz nem használt irányító protokollokat. Egyébként a régebbi ún. osztály alapú irányító protokollok (IGRP, RIP v1) az osztály alapú hálózatokat támogatták, de még az ilyen fix méretű alhálózatokat tartalmazó környezetben sem okoztak problémát.)
A hosztok azonosítására 26-2 címet használhatunk a négy (ill. most létrehozható kettő) alhálózaton belül. A fenti hálózathoz ez kevés, mert láthatóan három alhálózattal rendelkezik. Vonjunk be még egy bitet a hálózatcímek kialakításába: b2 b1 b0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Új alhálózatcímek: Tilos 223.255.254.32 223.255.254.64 223.255.254.96 223.255.254.128 223.255.254.160 223.255.254.192 Tilos
Netmaszk 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 -
Netmaszk a prefix alakban /27 /27 /27 /27 /27 /27
Látható, hogy hat darab új (al)hálózatcímet sikerült kialakítani. Vizsgáljuk meg a Network ID és Host ID viszonyát: 223.255.254.{b2b1b0yyyyy} Tehát öt bit (y) áll rendelkezésünkre az egyes alhálózatokon belüli IP címekhez. Ezekkel 2 5-2 darab IP címet tudunk megkülönböztetni, így pl. az egyik alhálózat IP címei: 223.255.254.32 223.255.254.33 223.255.254.34 … 223.255.254.62
223.255.254.63
Az alhálózat címe. 1. Hosztcím. 2. Hosztcím. 30. (utolsó) hosztcím. Broadcast cím az alhálózaton belül.
A hat alhálózatban összesen 180 gépet tudunk elhelyezni. Az alhálózatok az Internet felől nem érzékelhetőek, a hálózatunk kívülről egységesnek látszik. (Ha az ISP routerének útválasztó tábláját megvizsgáljuk látszik, hogy a LAN Router I. gépe elfedi az alhálózatainkat.)
26 http://elqui.dcsc.utfsm.cl/util/redes/3COM-Understanding-IP-addressing/nsc/501302.html 27 http://www.lgosys.com/products/IPGadgetHelp/Classic.html
2009. II. 24/
23
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Host R_IWAN
Interfész Ppp0
IP cím 223.255.254.65
R_I_B_ HB1 HB2 R_II_B_ R_II_A_ HA1 HA2 HA3 HA4 R_II_C_ HC1 HC2
Eth0 Eth0 Eth0 Eth0 Eth1 Eth0 Eth0 Eth0 Eth0 Eth2 Eth0 Eth0
223.255.254.66 223.255.254.67 223.255.254.68 223.255.254.69 223.255.254.33 223.255.254.34 223.255.254.35 223.255.254.36 223.255.254.37 223.255.254.97 223.255.254.98 223.255.254.99
Az egyes gépek routing táblája: A WAN másik (az ábrán nem látható) végén egy, az Internet “gerincéhez” közelebbi router 145.236.193.230 IP című PPP interfészéhez kapcsolódik a hálózatunk. Ezen router routing táblája tartalmazza az utalást a mi hálózatunkra, az alábbi sorral (részlet a routing táblából): Destination
Gateway
Netmask
Interface
223.255.254.0 255.255.255.0 ppp3 Figyeljük meg azt, hogy innen úgy tűnik nincs alhálózat a LAN-ban. Tehát az alhálózatok nem látszanak az Internetről, azok a hálózat belügyét képezik. Viszont a hálózatunkon belül az (al)hálózati maszkok fontos információt hordoznak, mert eltérnek az első oktett alapján azonosítható természetes maszktól. A természetes maszk alapján nem tudnánk megkülönböztetetni egymástól a Destination bejegyzéseinek egy részét. Router I: Destination
Gateway
Netmask
Interface
223.255.254.32
223.255.254.69
255.255.255.224
Eth0
223.255.254.64
-
255.255.255.224
Eth0
223.255.254.96
223.255.254.69
255.255.255.224
Eth0
127.0.0.0
-
255.0.0.0
Lo
0.0.0.0
145.236.193.230
0.0.0.0
Ppp0
Destination
Gateway
Netmask
Interface
223.255.254.32
-
255.255.255.224
Eth1
223.255.254.64
-
255.255.255.224
Eth0
223.255.254.96
-
255.255.255.224
Eth2
127.0.0.0
-
255.0.0.0
Lo
Megjegyzés: Ezt az alhálózatot az R_II látja közvetlenül, ezért R_II felé küldjük. Ezt az alhálózatot az R_I látja közvetlenül. Ezt az alhálózatot az R_II látja közvetlenül, ezért R_II felé küldjük. A hálózatunk minden alhálózatán próbálkoztunk, de úgy látszik, hogy külső IP címet vizsgáltunk. Talán az ISP routere ismeri majd ezt a címet. Pl. ha a konkurencia LAN-jából való cím, akkor az ISP tudja, hogy R_B-hez kell küldenie.
Router II:
0.0.0.0
2009. II. 24/
223.255.254.66
0.0.0.0
Eth0
24
Megjegyzés: Ezt az alhálózatot az közvetlenül látja. Ezt az alhálózatot az közvetlenül látja. Ezt az alhálózatot az közvetlenül látja.
R_II R_II R_II
Ha nem a mi hálózatunkból való a cím, akkor az R_I segítségével tudjuk továbbküldeni az ISP routerére. Tehát R_I-re küldjük.
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
HC2 nevű gép: Destination 223.255.254.96 127.0.0.0 0.0.0.0
HB1 nevű gép: Destination
Gateway
Netmask
Interface
223.255.254.97
255.255.255.224 255.0.0.0 0.0.0.0
eth0 lo eth0
Gateway
Netmask
223.255.254.32 223.255.254.64 223.255.254.96 127.0.0.0
223.255.254.69 223.255.254.69 -
255.255.255.224 255.255.255.224 255.255.255.224 255.0.0.0
0.0.0.0
145.236.193.66
0.0.0.0
Interface Megjegyzés: Eth0 Eth0 Eth0 Lo Eth0
Az R_II látja közvetlenül. A HB1 látja közvetlenül. Az R_II látja közvetlenül. Mint az sorában
R_II
default
router
A címzési rendszer fejlődése II.: Variable–Length Subnet Masking (VLSM) Az azonos méretű alhálózatok használatakor felmerült, hogy különösen a pont–pont típusú kapcsolatok esetén sok IP címet pazarol el a módszer. Pl.: az ábrán az R1–R2 közötti kapcsolat két IP címének kedvéért a többivel megegyező méretű alhálózatot kell létrehozni, melyben a rendelkezésükre álló cím tartományból több IP cím van lekötve feleslegesen.
A probléma feloldására 1987–ben bevezették a Variable–Length Subnet Masking (VLSM) eljárást, melyben az alhálózatok mérete pontosabban az igényekhez igazítható (skálázható). A skálázhatóság azt jelenti, hogy különböző hálózat méretek mellett is hatékony marad a címzés (címkiosztás). Ez a routerek szempontjából nézve azt jelenti, hogy egy útvonal bejegyzéssel az igényeknek megfelelő méretű hálózat érhető el. A gyakorlatban ez úgy nyilvánul meg, hogy egy adott címtartományt különböző méretű alhálózatokra oszthatunk. Sok gépes alhálózat esetén rövid a netmaszk, viszont két gépes (interfészes) alhálózatokban (pl. pont–pont kapcsolatban) a maximális a netmaszk: /30. 1. példa: 199.198.197.0/24 hálózat alhálózatokra osztása VLSM módszerrel
2009. 02. 24.
25
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Az IP címek kiosztását a legnagyobb méretű hálózatokkal célszerű kezdeni, majd alhálózatonként a következőket kell meghatározni: 1. hány darab IP cím szükséges az alhálózatban 2. az alhálózat számára lefoglalt címtartomány mérete 3. az alhálózat számára lefoglalt címtartomány kezdete és vége 4. az alhálózat alhálózati maszkja NW 3 alhálózattal célszerű kezdenünk: • 61 gép interfész + 1 router interfész + 1 szórási cím + 1 hálózatcím = 64 IP cím kell. • Hány darab hoszt azonosító biten tudjuk megkülönböztetni az igényelt 64 különböző IP címet: 6 bitnek 26=64 különböző állapota lehet, tehát pontosan 6 bitre van szükség. • Mivel ez az első alhálózat, ezért kezdőcíme legyen az eredeti hálózat kezdőcíme:199.198.197.0 A címtartomány utolsó címe (egyben az alhálózati broadcast cím) akkor áll elő, amikor mind a 6 darab hoszt bit 1-es értékű: 1111112=63, vagy ezzel megegyező értéket kapunk, ha a 26-1 kifejezést használjuk. Tehát a címtartomány: 199.198.197.0-199.198.197.63 • A 32 bites IP címből az előbb foglaltunk le 6 bitet az alhálózaton belüli címek számára, tehát a 32-6=26 bit marad a hálózat azonosítására, ezért /26 a netmaszk. NW 4: 50 gép interfész+ 1 router interfész + 1 szórási cím + 1 hálózatcím = 53 IP cím • A következő kérdés az, hogy hány darab hoszt azonosító biten tudjuk megkülönböztetni az igényelt 53 különböző IP címet: 5 bitnek 25=32 féle állapota lehet, ami kevesebb mint az igényelt 53, ezért 6 bitet kell felhasználnunk mivel a bitekszáma csak egész szám lehet. Tehát 6 bittel 64 darab IP címet foglaltunk le. • Mivel az előző alhálózat utolsó címe 199.198.197.63 volt, ezért most a következő címmel indulhatunk, ami 199.198.197.64 Ezzel együtt 64 IP címet foglalunk, így az utolsó cím 199.198.197.127 (Más megközelítéssel 64-es kezdőcím + 64 db. foglalt cím= 128 ami a következő hálózat kezdőcíme lesz.) • A 32 bites IP címből az előbb foglaltunk le 6 bitet az alhálózaton belüli címek számára, tehát a 32-6=26 bit marad a hálózat azonosítására, ezért /26 a netmaszk. NW 1: 11 gép interfész+ 1 router interfész + 1 szórási cím + 1 hálózatcím = 14 IP cím • A következő kérdés az, hogy hány darab hoszt azonosító biten tudjuk megkülönböztetni az igényelt 14 különböző IP címet: 3 bitnek 23=8 féle állapota lehet, ami kevesebb mint az igényelt 14, ezért 4 bitet kell felhasználnunk mivel a bitekszáma csak egész szám lehet. Tehát 4 bittel 16 darab IP címet foglaltunk le. • Mivel az előző alhálózat utolsó címe 199.198.197.127 volt, ezért most a következő címmel indulhatunk, ami 199.198.197.128 Ezzel együtt 16 IP címet foglalunk, így az utolsó cím 199.198.197.143 (Más megközelítéssel 128-as kezdőcím + 16 db. foglalt cím= 144 ami a következő hálózat kezdőcíme lesz.) • A 32 bites IP címből az előbb foglaltunk le 4 bitet az alhálózaton belüli címek számára, tehát a 32-4=28 bit marad a hálózat azonosítására, ezért /28 a netmaszk. NW 2: 0 gép interfész+ 2 router interfész + 1 szórási cím (br) + 1 hálózatcím (nw) = 4 IP cím • A következő kérdés az, hogy hány darab hoszt azonosító biten tudjuk megkülönböztetni az igényelt 4 különböző IP címet: 2 bitnek 22=4 féle állapota lehet. • Mivel az előző alhálózat utolsó címe 199.198.197.143 volt, ezért most a következő címmel indulhatunk, ami 199.198.197.144 Ezzel együtt 4 IP címet foglalunk, így az utolsó cím 199.198.197.147 • A 32 bites IP címből az előbb foglaltunk le 2 bitet az alhálózaton belüli címek számára, tehát a 32-2=30 bit marad a hálózat azonosítására, ezért /30 a netmaszk.
2009. 02. 24.
26
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Az eredmény összefoglalása: Hálózat IP cím [db] Netmaszk Címtartomány NW3 62+2 /26 199.198.197.0-199.198.197.63 NW4 51+2 /26 199.198.197.64-199.198.197.127 NW1 12+2 /28 199.198.197.128-199.198.197.143 NW2 2+2 /30 199.198.197.144-199.198.197.147 VLSM–et támogató technológiák esetén eltekinthetünk attól a megszorítástól, hogy a tisztán 0 vagy 1 tartalmú alhálózati címkomponenst nem használjuk, tehát akár 1 bites alhálózati maszk is elképzelhető vagy, pl.: 3 biten 6 helyett akár 8 alhálózatot kialakíthatunk.
2. példa Ebben is látható, hogy a VLSM estében lényegében alhálózatokat alhálózatokra bontunk. Csak azok az alhálózatok oszthatók tovább, amelyekben még nincs hoszt. Figyeljük meg, hogy a felosztandó hálózat címe egyben összefoglaló cím is lehet: 131.20.0.0/16 hálózatot először két alhálózatra osztjuk: (Ez kiindulási és egyben összefogó cím a két alhálózat számára.) 131.20.0.0/17
131.20.128.0/17 Összefogó cím
1. alhálózat 32766 interfész részére. A 2. alhálózatot majd tovább osztjuk 16 alhálózatra, melyből a 16. „alhálózatot” tovább osztjuk, 8 „alalalhálózatra”. 131.20.128.0/21 131.20.248.0/21 Összefogó cím
131.20.248.0/24 131.20.255.0/24
A routereken útvonalak (hálózatok, alhálózatok) összefogására (összevonására, aggregációjára) van lehetőség, ha azok „fizikailag közel vannak egymáshoz”, azaz azonos routerhez kapcsolódnak. Az összevont címet az összevonandó hálózatok azonos értékű címbitjei alkotják. Pl. a 131.20.248.0 összevont cím az alhálózatcímek 3. oktettjének azonos értékű bitjeiből származik: dec. 248 249 250 251 252 253 254 255
bin. 11111000 11111001 11111010 11111011 11111100 11111101 11111110 11111111
Az egyedi alhálózatok címei helyett a routerek gyakran egy összevont címet hirdetnek (ha ez lehetséges és célszerű), mert ezzel a hirdetést fogadó router(ek) routing táblájában csökkenthető az útvonal bejegyzések száma. Az alhálózatok létrehozása az adott címtartomány tulajdonosának magánügye, az Internet többi szereplője számára a felosztás észrevehetetlen. A VLSM használatát a statikus forgalom irányítás, valamint a RIPv2, OSPF, IS–IS és az EIGRP irányító protokollok támogatják.
2009. 02. 24.
27
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
A címzési rendszer fejlődése III.: osztályok nélküli címzés28 (CIDR) A VLSM egy hálózaton belül használhat különböző hosszúságú netmaszkokat és útvonal összevonásra is képes. A CIDR hálózatok összevonására (szuper hálózatok) ill. ezek terjesztésére képes. Az internet fejlődése során két kellemetlen tendenciára figyeltek fel a hálózat felügyelői. Az első jelenség a szabad IP címek rohamos fogyása. Ez odáig vezetett, hogy szinte elfogytak a B osztályú címek, mert sok szervezet kevésnek tartotta a C osztályú hálózatcímhez “rendelhető” 254 db hosztot, ezért inkább B osztályú címet igényelt. A gyakorlat azt mutatta, hogy ez a címtartomány viszont már túl nagynak bizonyult számukra, mert csak néhány száz vagy ezer gépet üzemeltettek a lehetséges 65534 helyet. A vizsgálatok hasonló eredményre vezettek az “A” osztályú címmel rendelkező hálózatoknál is. Ebből azt a következtetést vonták le, hogy nagyon pazarló az osztályokon alapuló címzés.A második aggasztó jelenség a routing táblák rohamos nagyobbodása volt, amely különösen az Internet gerincéhez közeli routerek esetében volt megfigyelhető. Ha visszaemlékezünk a routing táblákra, akkor észrevehetjük, hogy a routernek minden rajta keresztül elérhető hálózathoz egy bejegyzésre van szüksége a routing táblájában. (Szerencsére a hosztokat egyenként nem kell ismernie.) A routing tábla méretére káros hatású az is, ha egy szervezetnek B osztályú hálózati cím hiányában, pl. 4 darab C osztályú címet kell kiosztani, mert ilyenkor a routing táblában 4 bejegyzés tartozik az adott szervezethez29. A nagyméretű routing tábla a keresgélés a lassúságán kívül más hátránnyal is jár. A különböző routerek ugyanis kommunikálnak egymással a routing táblák karbantartása érdekében. A nagy routing tábláknál nagy mennyiségű szerviz célú adatmozgásra van szükség a routerek között. Ez a hasznos sávszélességet is csökkenti és az így nagyobb valószínűséggel bekövetkező átviteli zavarok a hálózat működésében is zavart okozhatnak. Ha megvizsgáljuk a routerek elhelyezkedését és a routing tábláját, akkor látszik, hogy minél közelebb van egy router a gerinchez, a routing táblájában annál több a bejegyzés. Az ábra fiktív példájában az EU routernek ismernie kell az A,B,C,D,E,F,G,H hálózatokhoz vezető út legalább első állomását, viszont a HUN routernek csak a D,E,F,G,H hálózatokhoz vezető utat. Egyébként egy EU router szintjén már nem valószínű egy default gateway bejegyzés, mert az igazi nehézséget jelentő C (?) osztályú címek kontinentálisan is strukturáltak. (Lásd később!).
28 Classless Inter-Domain Routing (1993) 29 Mondhatnánk erre, hogy jó, de azt a négy hálózatot amúgy is kiosztanák és bekerülne a négy bejegyzés a routing táblába. Viszont itt úgy áll a dolog, hogy a négy címet egy hálózathoz rendeljük!
2009. 02. 24.
28
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Az 1993-ban szabványosított ún. osztályok nélküli címzés esetén ezek a káros jelenségek kisebb mértékben jelentkeznek ezért érdemes megvizsgálnunk, hogy az IP cím szerkezete, hogyan alakul az új módszerrel: pppppppp.pppppppp.ppp 000000.00000000 Lengő prefix A prefix itt is tulajdonképpen a netmaszkot helyettesíti, azaz kijelöli az IP cím hálózati komponensét. Az osztályokon alapuló címzésnél a prefix 8, 16, 24 bites lehetett, viszont ebben az esetben nincs ilyen megkötés. Például egy szervezet 1000 gépet szeretne IP címmel ellátni. Ehhez B30 osztályú hálózatcímet luxus lenne igényelni, 4 darab C osztályú hálózati cím pedig 4 bejegyzéssel jár a routing táblában: 192.60.128.0 192.60.129.0 192.60.130.0 192.60.131.0
(11000000.00111100.10000000.00000000) C osztályú cím (11000000.00111100.10000001.00000000) C osztályú cím (11000000.00111100.10000010.00000000) C osztályú cím (11000000.00111100.10000011.00000000) C osztályú cím
Az osztály nélküli címzésnél a szervezet kap egy hálózati címet és egy prefixet (maszkot): 192.60.128.0 (11000000.00111100.10000000.00000000) szupernet címe 255.255.252.0 (11111111.11111111.11111100.00000000) prefix 192.60.131.255 (11000000.00111100.10000011.11111111) broadcast cím A táblázat első felében a négy C osztályú hálózatcímet láthatjuk, amelyek helyett a C osztályú címek aggregációjával egy olyan ún. supernet jön létre, amelyben a 192.60.128.0192.60.131.255 címtartomány használható. Még egyszer kiemelnénk azt, hogy a szupernet címe 192.60.128.0 és a prefix 255.255.252.0. Más írásmóddal: 192.60.128.0/22, tehát a Network ID (másnéven prefix) 22 bites és a Host ID 10 bites. Szükség esetén a kapott szupernetet a szervezeten belül tovább lehet osztani alhálózatokra (hosszabb prefixekkel), de ez már a szervezet belügye. Figyeljük meg, hogy amikor a hálózati maszk „hosszabb” volt, mint a hálózati cím, akkor alhálózatokat hoztunk létre, most amikor rövidebb, akkor pedig szuperhálózatot. Az osztályok esetén a prefixek statikus határokat jelöltek az osztályok között: IP_A/8, IP_B/16, IP_C/24. Az új módszerben a prefix az igényelt hálózati címtér méretének megfelelően állítható be. A megoldás előnye, hogy a routing táblába több bejegyzés helyett egy kerülhet, csökkentve ezzel a routing tábla méretét (ez különösen a felső hierarchia szintű routereknél érzékelhető). Másképpen fogalmazva egy bejegyzéssel több hálózatot (pontosabban most már egy szupernet-et) kezel a router! Ennél a megállapításnál még két szempontot kell megemlítenünk. Először azt, hogy szuperhálózattá csak címfolytonos hálózatok szervezhetők. Más szavakkal megfogalmazva akkor hatékony az osztályok nélküli címzés, ha egy szervezet az ISP címtartományának egy részletét kapja. A második lényeges szempont, hogy ezek a hálózatok fizikailag (földrajzilag) egy irányban legyenek a routertől. Ezek olyan feltételek, amelyeket a címkiosztás során eddig nem vettek figyelembe, ezért ezek teljesítése körülményes lesz. Egy példát említünk földrajzi szempontok megjelenésére az IP címek kiosztásakor. 1993-tól a C osztályú címek földrajzi szempontok szerint oszthatók ki. Ezzel az új kiosztással egy routing tábla sorba 32*106 IP címet sűrítettek be. 194.0.0.0 – 195.255.255.255 Európa 198.0.0.0 – 199.255.255.255 Észak Amerika 200.0.0.0 – 201.255.255.255 Közép és Dél Amerika 202.0.0.0 – 203.255.255.255 Ázsia 204.0.0.0 – 223.255.255.255 tartalék
30A 90-es évek elején gyakorlatilag elfogytak az A ill. B osztályú címek.
2009. 02. 24.
29
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Elméletileg a lengőprefixes aggregációval az is lehetővé válik, hogy egy A vagy B osztályú hálózati címen az eddigi egy helyett több szervezet osztozzon, ezáltal pillanatnyilag kihasználatlan IP címeket lehet a hálózaton aktivizálni. A CIDR esetén új problémák is megjelennek: több földrészen dolgozó szervezeteket hogyan lehet optimálisan IP címmel ellátni? egy földrész egy területét hogyan lehet megkülönböztetni a többitől?
• •
A CIDR használatához osztály nélküli útválasztó protokollok szükségesek. Az IP címek kimerülésének lassítására a korábban megismert címfordítási technika31 (NAT) is lehetőség, de az igazi megoldást az IPv6 (IPng) bevezetése jelenti.
A Windows operációs rendszerek IP hálózati alrendszerének beállítása A hálózati interfészek IP konfigurációját a következő lépésekkel állíthatjuk be:
Válasszuk ki a kívánt hálózati kapcsolatot (interfészt), -ez most a VIA Rhine…-, majd „Properties” gomb. A TCP/IP protokoll kiválasztása után megint „Properties”. A megjelenő ablakban beállíthatjuk kézzel az interfész IP címét, netmaszkját és az alaértelmezett átjárót, vagy amint az a következő ábrán látható, automatikus beállítást kérünk. A DNS szerver IP címét szintén kézzel vagy automatikusan lehet beállítani. Amint azt a későbbiek során majd megismerjük, az automatikus beállítás a hálózatban elérhető DHCP szerver segítségével lehetséges:
Egy interfész IP beállításainak ellenőrzése: 31 Tehát egy C osztályú hálózatcím mögött több mint 254 gép is lehet!
2009. 02. 24.
30
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
Karakteres felületen az IPCONFIG /ALL paranccsal kapunk hasonó tájékoztatást. Útvonal (routing) táblák létrehozása és karbantartása Általában az operációs rendszerekben az útválasztás az IP implementáció feladata és ebben az útválasztó (routing) táblára támaszkodik. Bizonyos operációs rendszerekben a rendszergazdának kézzel kell létrehoznia a szükséges útválasztó táblázatokat. A W9X, XP rendszerek azonban a hálózati interfészek és azok IP tulajdonságai alapján automatikusan generálja a táblázatot. (XP alatt az is engedélyezhető32, hogy a RIP útválasztó protokoll jelzései alapján a routing tábla aktualizálódjon egy távolabbi (cél)hálózatban lezajlott változás után.) Windows XP-n az útválasztó tábla a ROUTE nevű IP segédprogrammal (konzol paranccsal) manipulálható. A routing tábla megjelenítéséhez szükséges lépések:
A konzolon megvizsgálható a gép routing táblája:
32
2009. 02. 24.
www.softwareonline.hu/art3578/rip+figyeles+windows+xp+alatt.html
31
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
ROUTE [-f] [-p] [parancs] [cél] [mask netmaszk] [átjáró] [metric költség] -
-
f Törli az útvonal táblából az összes bejegyzést. Ha más paranccsal együtt használjuk, akkor ez hajtódik végre először. p Hatására a gép bekapcsolásakor is érvényes lesz az útvonaltábla így felvett sora (nem felejti el a gép). Parancs: négyféle lehet: - add egy útvonal felvétele a táblába. - change Egy útvonal módosítása a táblában. - delete Egy útvonal törlése. - print Az útvonal tábla kiírása. (-p paraméterrel csak az állandó bejegyzések jelennek meg.) cél A célhálózatot adhatjuk meg, pl.: 192.168.0.0 mask hálózati maszk, pl.: mask 255.255.255.0 átjáró az útvonalhoz tartozó átjáró, pl.: 145.236.193.69 metric (mérték) azonos útvonalak közötti különbséget fejezi ki. Több lehetséges útvonal közül az kerül kiválasztásra, amelyik metric értéke (költsége) kisebb. Egy adott rendszertől függ, hogy egy útvonal milyen jellemzői (pl. sebesség) alapján számolja a mértéket.
>route print Kapcsolatlista: 0x1 MS TCP Loopback interface 0x2 ...00 60 52 0a 29 c4 Realtek RTL8029(AS) PCI Ethernet adapter - Packet Scheduler MiniportAktív útvonalak: Hálózati cél Hálózati maszk Átjáró Kapcsolat Metrika 0.0.0.0 0.0.0.0 192.168.0.100 192.168.0.1 30 (1) 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0. 1 (2) 192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1 30 (3) 192.168.0.1 255.255.255.255 127.0.0.1 127.0.0.1 30 (4) 192.168.0.255 255.255.255.255 192.168.0.1 192.168.0.1 30 (5) 224.0.0.0 240.0.0.0 192.168.0.1 192.168.0.1 30 (6) 255.255.255.255 255.255.255.255 192.168.0.1 192.168.0.1 1 (7) Alapértelmezett átjáró: 192.168.0.100 Állandó útvonalak: Nincs
Mit hova küld (forrás: https://www.netacademia.net/tudastar/default.aspx?upid=7885) a sorok végén egy
sorszámot helyeztem el, hogy az adott sor funkciója követhetőbb legyen. 1. sor: célhálózat ismeretlen helyen, kiküldi a hálóra a Default Gateway-re 2. sor: loopback “hálózat”, a 127.x.x.x címre küldötteket beküldi az OS-be 3. sor: célhálózat a saját hálózatom, kiküldi a hálóra 4. sor: cél a saját interfészem, beküldi az OS-be 5. sor: broadcast a saját hálózaton, kiküldi a hálóra 6. sor: multicast, kiküldi a hálóra 7. sor: globális IP broadcast, kiküldi a hálóra Metric: Windows 2000-nél a NIC hálózata 1 “költséggel” érhető el XP: „Automatic Metric” módszert használ ahol a link sebességétől függ, pl.: >200 Mbps=10, 80Mbps..200Mbps=20, stb.
2009. 02. 24.
32
Szarka T.
HÁLÓZATOK
HÁLÓZATI RÉTEG IP
A Windows operációs rendszer mint IP router Windows rendszerekben az útválasztás alap funkciója már egy hálózati interfész installálása után üzemel, megjelenik a routing tábla az IP beállítások során megadott adatok alapján. Ha több hálózati interfész van a gépben, akkor a valódi router funkció (IP Forwarding), azaz egyik interfészről a másikra történő csomag kapcsolás is elérhető lesz, a következő registry bejegyzés segítségével: Windows 2000/XP: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"IPEnableRouter"="1"
Windows 98/ME: [HKEY LOCAL MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
"EnableRouting"="1"
Megjegyzés: ha az "IPEnableRouter" (vagy "EnableRouting") nem létezik az adott registry kulcs alatt, akkor manuálisan is létrehozható: Regedit.exe program ’Edit’/'New' menűpontjában egy új DWORD típusú bejegyzést kell létrehozni a megfelelő névvel. (W98-nál karakteres érték.)
A Windows szerver operációs rendszerek útválasztási beállításaival később foglalkozunk.
Kérdések Az IP a különböző hálózati modellek melyik rétegeiben található? Az alkalmazások számára, mi biztosítja az IP szolgáltatásait? Melyek az IP főbb szolgáltatásai? Milyen szolgáltatás minőséget biztosít az IP? Hány bites az IP v4 cím, milyen belső szerkezete van? Prefix, netmaszk, DDN, TTL, ARP, RARP, ICMP, TCP, UDP fogalmak jelentése? Mi az IP fejléc egyes mezőinek szerepe? Mi az encapsulation, decapsulation és a demultiplexer funkció feladata? Ismertesse a TCP/IP protocol stack felépítését, protokolljainak szerepét! Soroljon fel néhány alkalmazást, amelyik az alkalmazási rétegben dolgozik? Mit csinál és hogyan működik az útválasztó folyamat. Milyen adatbázisra épül és milyen cím alapján történik az útválasztás? Hogyan jön létre a routing tábla tartalma? Mi a routing tábla egyes mezőinek szerepe? Van-e jelentősége útválasztáskor annak, hogy a címzett melyik cím osztályba tartozik? Mi a leghosszabb prefix szerepe az útválasztáskor? Milyen módszerekkel csökkenthető a routing táblák bejegyzéseinek száma? Mi az alapértelmezett útvonal, ill. a default gateway szerepe? Hogyan csoportosítaná a routing tábla bejegyzéseit? Mi a különbség az irányító és irányított protokollok között? Milyenek ezek a címek: fizikai, logikai, broadcast, MAC, multicast, unicast, IP, loopback? Mi a különbség a fizikai és virtuális kommunikáció között? Mit jelent az ISP, WAN, MTU, RIP, OSPF, classful ill. classless routing? Egy hálózati interfésznek milyen IP jellemzőit kell beállítani? Hogyan történhet a beállítás? Mi a VLSM és CIDR előnye? Mi a szuperhálózat? Mi a ROUTE és az IPCONFIG /ALL parancs szerepe? Milyen szoftver műszerekkel lehet megvizsgálni egy IP csomag tartalmát és útvonalát? Hogyan valósítható meg az útvonalak összevonása? Mi az összevonás feltétele? Mit jelent, mikor és hogyan történik a csomagok fregmentációja? Melyek a privát IP címtartományok és mi a 127.x.x.x IP címek szerepe? Mi a szegmens, az alhálózat és a brodcast vihar? Mi a különbség a routing tábla útvonal és célhálózat bejegyzései között? Milyen IP opciók vannak? Mi történik ha egy útválasztó nem tud továbbítani egy csomagot? Mit jelent a forrás általi forgalom irányítás? 2009. 02. 24.
33
Szarka T.