Tartalmi kivonat
-1- Domain Name System (DNS) Az Interneten a gépeket az IP számok azonosítják. A felhasználók számára azonban egy könnyebben megjegyezhető, jobban kiejthető név volna jó. A gépekhez nevet kell rendelni, és kell egy mechanizmus, amellyel a neveket IP számokra, és az IP számokat nevekre lehet leképezni. Ennek a címfordítási mechanizmusnak az Internet összes gépén rendelkezésre kell állnia. A TCP/IP Internet Domain nevek A gépek száma az Interneten gyorsan növekszik, centralizált rendszer nem képzelhető el, mert központi adatbázis naprakészen tartása lehetetlen lenne, túl nagy lenne hálózati terhelés, nagy teljesítményű szerverekre lenne szükség. Ezért egy decentralizált rendszert kellett kialakítani, amelyben a nevek és a címek kezelése kisebb szervezetekben történik. Hierarchikus név-elrendezést alakítottak ki, amelyeket domain neveknek nevezünk. A névteret a legfelsőbb szinten (top level) partícionálták, és a
nevek kezelését az egyes partíciókban kijelölt hatóságokra bízták. A legfelsőbb szintű nevek két eltérő elnevezés hierarchiát engednek meg: földrajzi és szervezeti. A földrajzi partícionálás a gépeket az ország alapján osztja szét, ahol az országot a 2 betűs országkód azonosítja: hu, us, de, uk, stb. A szervezeti partícionálás az intézményeket a tevékenysége alapján sorolja az alábbi partíciók valamelyikébe. Domain Name COM EDU GOV MIL NET ORG ARPA INT Jelentés Profitorientált intézmények Oktatási intézmények Kormányzati intézmények Katonai szervezetek Főbb hálózati központok Egyéb szervezetek Már nem használják Nemzetközi szervezetek Az egyes partíciókat domain-eknek nevezzük, amelyeket a domain nevek jelölnek: com, edu, gov, , vagy hu, us, de, uk, A legfelsőbb szintű partíciókat tovább partícionálták a hozzájuk tartozó intézmények alapján. Egy-egy intézmény tehát a com, edu, gov, , vagy hu, us, de,
uk, domain-ek valamelyikébe tartozik. Az intézmények domain neve pedig: bankihu, novellcom, stb Ha szükséges az intézmények domain-je még tovább partícionálható. -2- Gyökér (névtelen) com edu gov hu us novell perdue nsf banki va cc cs ecn reston cnri Internet domain név hierarchia (részlet) Tehát a cs.perdueedu, a perdueedu és az edu egyaránt domain-ek Mindegyik domain rendelkezik egy hatósággal, amely az alá tartozó partíció neveit kezeli, felügyeli. Tehát a TCP/IP interneten a hierarchikus számítógép nevek elrendezése a földrajzi és/vagy a szervezeti struktúrát követi. A szervezetek pedig megkapják a névtér egy része felügyeletének jogát. A névtér partícionálása nem feltétlenül követi a fizikai hálózatok elrendezését Az objektumokra úgy hivatkozunk, hogy az objektum nevét a domain név elé írjuk. Pl: a banki.hu domain PC nevű gépére a pcbankihu névvel hivatkozunk A DNS rendszerben azonban nem csak
gépekre hivatkozhatunk, hanem egyéb objektumokra is, mint például Mail Exchanger (Levelező átjáró) vagy Name Server. Ezért az objektum név + domain név elrendezés nem elegendő a keresett objektum megnevezésére, hanem ki kell egészítenünk egy típussal. Domain név feloldás A nevek feloldását egy elosztott számítógépes rendszer biztosítja, amely független, együttműködő név szerverekből (name server) áll. A név szerver elvégzi a név-cím megfeleltetést. A kliens szoftver, amelyet név feloldónak (name resolver) nevezünk egy, vagy több névszerverhez fordul, amikor egy név lefordítására van szüksége. A név szerverek elrendezése a domain hierarchiának felel meg. Minden domain rendelkezik egy (vagy több) név szerverrel, amelyet domain felügyeleti hatósága üzemeltet. A gyökér (root) szerver a legfelsőbb szintű domain-eket ismeri, és tudja, hogy melyik domain-t melyik név szerver oldja fel. A következő szinten lévő név
szerverek a saját al-domain-jeiket oldják fel, és tudják, hogy melyik al-domain-t melyik név szerver oldja fel, és így tovább. -3Minden név szerver ismeri legalább egy gyökér név szerver címét. A név feloldását az alábbi ábrán szemléltetjük. Gyökér (névtelen) Name server Számítógép Root NS edu com hu Hu NS Com NS banki novell WWW Novell NS PC WWW PC elte bme Banki NS = www.novellcom = pc.bankihu Domain név feloldás pc.bankihu keresi a "wwwnovellcom" IP címét pc ismeri a banki.hu domain name szerverének IP címét (banki ns) 1. Pc megkérdezi a banki NS-t (az IP címe alapján), hogy mi a "wwwnovellcom" gép IP címe. 2. A Banki NS először megnézi, hogy a keresett név az általa felügyelt domain-ben van-e. Ha igen elvégzi a feloldást Ha nem (példánkban ez a helyzet) megkérdezi a Root NS-t, hogy mi a "com" domain name szerverének IP címe. 3. A Banki NS megkérdezi a Com NS-t, hogy mi a
"novellcom" domain name szerverének IP címe. 4. A Banki NS megkérdezi a Novell NS-t, hogy mi a "wwwnovellcom" gép IP címe. 5. A Banki NS megválaszolja a pcbankihu gépnek a "wwwnovellcom" gép IP címét. A példában a név rekurzív feloldását szemléltettük, azaz a hoszt egyetlen név szerverhez fordul, amely más szerverekkel együttműködve elvégzi a név feloldását. A hoszt kérhet iteratív feloldást is. Ha a név szerver nem tudja feloldani a nevet, csak annak a név szervernek a címét küldi vissza, amelyikhez legközelebb a hosztnak fordulnia kell. -4- A hatékonyság növelése name caching segítségével A név szerverek átmenetileg tárolják, az általuk feloldott neveket és címeket és hogy melyik név szerver oldotta fel a nevet. Ha bizonyos időn belül a név feloldását újra kérik, vagy egy domain név szerverének címére van szükség, a név szerver a cache-ből veszi elő. Ekkor ún nonauthoritative
választ ad a kérést faladó hosztnak. A cache-ben tárolt bejegyzések élettartamát, az eredeti feloldást végző név szervernek az adott névhez tartozó Time to Live paramétere határozza meg. DNS üzenet formátuma Ha egy alkalmazás egy adott nevű géppel akar kommunikálni, előbb meg kell találnia a névnek megfelelő IP címet. A hoszt resolver-e először megnézi a saját cache-ét, és csak akkor fordul a név szerverhez, ha nem találja a keresett nevet a cache-be. A DNS üzenet formátuma: 0 16 31 IDENTIFICATION NUMBER OF QUESTIONS NUMBER OF AUTHORITY PARAMETER NUMBER OF ANSWERS NUMBER OF ADDITIONAL QUESTION SECTION . ANSWER SECTION . AUTHORITY SECTION . ADDITIONAL INFORMATION SECTION . DNS üzenet formátum IDENTIFICATION: PATAMETER: NUMBER OF: QUESTION SECTION: a kliens ennek alapján rendeli egymáshoz a kérést és a választ. a kérés és a válasz kódját tartalmazza. az adott szekcióban foglalt tételek számát tartalmazza. kérések,
amelyekre választ kér a név szervertől. A PARAMETER mező bit-jeinek jelentése Parameter mező bit-jei 0 1-4 5 6 7 8 9 -11 Jelentés Művelet: 0 = Query; 1 = Answer Kérés típusa: 0 = Standard; 1 = Inverz 1, ha a válasz hiteles 1, ha a válasz csonka 1, ha rekurzív kérés 1, ha rekurzió lehetséges Fenntartott -512 - 15 Válasz típusa: 0 = nincs hiba; 2 = szerver hiba; 1 = formátum hiba a kérésben 3 = név nem létezik A QUESTION SECTION formátuma 0 16 31 QUERY DOMAIN NAME . QUERY TYPE QUERY CLASS DNS Question Section formátum QUERY TYPE: QUERY CLASS: ANSWER SECTION: AUTHORITY SECTION: ADD. INF SECTION: a kérés típusa: gép címére, vagy levélcímre van szükség Internet névre van szükség vagy valami másra resource rekordokból állnak Resource record 0 16 31 RESOURCE DOMAIN NAME . TYPE CLASS TIME TO LIVE RESOURCE DATA LENGTH RESOURCE DATA . DNS resource record formátum Tömörített nevek A DNS üzenetekben a neveket úgy tárolják,
hogy a név minden szavát (címkéjét) egy hossz byte előzi meg, ezért a szekciók változó hosszúságúak. -6- Objektum típusok A resource rekordok type mezője az alábbi típusokat tartalmazhatja: Típus A CNAME HINFO MINFO MX NS PTR SOA Jelentés Host Address Canonical name CPU & OS Mailbox Info Mail Exchanger Name Server Pointer Start of Authority TXT Arbitrary text Tartalom 32 bit-es IP cím Kanonikus domain név alias céljára A CPU és az operációs rendszer Maibox vagy mail list információ A domain levelező átjárója A domain name server-e Domain name (szimbolikus kapcsolat) A név hierarchiát specifikálja, amelyet a szerver implementál (több mező) Tetszőleges szöveg Inverz leképzés (Pointer query) Ismerjük az IP címet, és tudni szeretnénk a domain nevet. Ehhez egy speciális domain-t készítettek (in-addr.arpa), és egy speciális kérdést lehet feltenni a domain rendszernek, amelyet pointer query-nek nevezünk. Az IP cím legyen
aaa.bbbcccddd karakteres formában megadva A pointer query-hez az IP címből képezzük a ddd.cccbbbaaain-addrarpa sztringet Az így képzett sztringet kell egy inverz kérésben feladni a név szervernek. A név szerver a root szerverhez fordul, amely adatbázisában tárolja az érvényes IP címeket és az őket kezelő névszerverek címét. A név szerverek Az Interneten minden név szervert replikálni kell. A név szerveren tárolt információnak legalább két szerveren kell megjelennie, amelyek különböző hálózaton lévő gépeken futnak. A két szervert primary és secondary szervernek nevezzük. (Egy-egy szerver több domain név szerver feladatait képes ellátni.) A név szerverek fájának bármely pontjáról lokalizálni kell tudni bármelyik domain elsődleges és másodlagos név szerverét, és ha az elsődleges szerver nem elérhető, a kérést a másodlagos szervernek kell küldeni. -7- Nslookup segédprogram Név szerverek tesztelése. Nslookup NAME
NAME1 NAME2 help or set OPTION all [no]debug [no]d2 [no]defname [no]recurse [no]search [no]vc domain=NAME srchlist=N1[/N2/./N6] root=NAME retry=X timeout=X type=X querytype=X class=X [no]msxfr ixfrver=X server NAME lserver NAME finger [USER] root ls [opt] DOMAIN [> FILE] -a -d -t TYPE view FILE exit print info about the host/domain NAME using default server as above, but use NAME2 as server print info on common commands set an op print options, current server and host print debugging information print exhaustive debugging information append domain name to each query ask for recursive answer to query use domain search list always use a virtual circuit set default domain name to NAME set domain to N1 and search list to N1,N2, etc. set root server to NAME set number of retries to X set initial time-out interval to X s set query type (ex. A, ANY, CNAME, MX, NS, TR, OA, RV) same as type set query class (ex. IN (Internet), ANY) use MS fast zone transfer current version to use in IXFR
transfer request set default server to NAME, using current default server set default server to NAME, using initial serve finger the set current default server to the root optional NAME at the current default hos set current default server to the root list addresses in DOMAIN (optional: output to FILE) list canonical names and alias list all reco list records of the given type (e.g A, CNAME, MX, NS, PTR etc. sort an ls output file and view it with pg exit the program Kérdések, feladatok: Miért kell egy név szervernek ismernie a szülő név szerver IP címét a domain neve helyett? Használjuk az nslookup programot a főiskola név szerverének lekérdezésére. Tetszőleges Internet alkalmazás elindításával váltsuk ki DNS kérést. A netmon programmal analizáljuk a DNS forgalmat. -1- Transmission Control Protocol (TCP) Megbízható adatfolyam átviteli protokoll. A szállítási réteg protokollja Azon alkalmazások számára, amelyek nagy adatmennyiségeket
forgalmaznak a hálózaton, nem megfelelő az IP és az UDP által biztosított megbízhatatlan szállítási szolgáltatás. Nem praktikus minden egyes alkalmazásba külön-külön beépíteni a hiba vizsgálatot és annak korrekcióját. Ezért szükség van egy megbízható adatfolyam átviteli protokollra A megbízható adatfolyam szolgáltatás jellemzői A jellemzők öt pontba foglalhatók: Adatfolyam orientált (Stream oriented) Az alkalmazás által továbbítani kívánt adatokat bit-ek ill. byte-ok sorozatának fogjuk fel. Az adatfolyam szolgáltatás pontosan ugyanazt a byte sorozatot adja át a cél gép alkalmazásának, amelyet a küldő gép adott átvitelre az átviteli szolgáltatásnak. Virtuális áramköri kapcsolat (Virtual Circuit Connection) Telefon kapcsolathoz hasonlítható. Az alkalmazások az operációs rendszerhez fordulnak, kérik az átviteli szolgáltatást. Az operációs rendszerek kérésére a protokoll szoftverek kommunikálnak egymással,
megbeszélik, hogy mindkét fél kész-e a kapcsolat létrehozására, majd megállapodnak a részletekben. Ezután a protokoll értesíti az alkalmazásokat, hogy a kapcsolat létrejött, kezdhetik az átvitelt. Az átvitel alatt a két gép protokoll programja állandóan kommunikál, és biztosítja, hogy az átvitt adatok hibátlanok legyenek. Csak a helyrehozhatatlan hibákat jelentik az alkalmazásoknak. Azért nevezzük a kapcsolatot virtuális áramköröknek, mert az alkalmazások úgy látják, mintha egy dedikált hardver kapcsolat lenne. A megbízhatóságot az adatfolyam átviteli protokoll biztosítja. Pufferelt átvitel (Buffered Transfer) Az alkalmazások tetszőleges mennyiségű adatot adhatnak át átvitelre a szállítási szolgáltatásnak, a protokoll szoftver pufferben gyűjti, majd a hatékonyságot szem előtt tartva kisebb-nagyobb csomagokban továbbítja. Szükség lehet, hogy akár egy-egy byteot is átvigyünk, (pl egy billentyűleütést) Az erre
szolgáló ún push mechanizmus kényszeríti a protokollt, hogy a puffer megtelte előtt vigye át az adatot. A vételi oldalon a protokoll szoftver késleltetés nélkül átadja az adatot az alkalmazásnak. Strukturálatlan adatfolyam (Unstructured Stream) A szolgáltatás által kézbesített adat nem strukturált. A szállítási szolgáltatás semmit sem tud az átviendő adat tartalmáról, azok struktúrájáról. Az alkalmazásoknak kell megegyezniük az adatok szerkezetében és megérteniük az adatfolyamot. -2Egyszerre kétirányú kapcsolat (Full Duplex Connection) A TCP kapcsolat egyidejű adatfolyam átvitelt biztosít mindkét irányba (full duplex). Az alkalmazások lezárhatják az egyik irányú adatfolyamot, ha kívánják (half duplex). A full duplex kapcsolat azért is előnyös, mert az ellenkező irányban haladó adatfolyam vezérlő információt is továbbíthat. Ez a piggybacking csökkenti a hálózati forgalmat A megbízhatóság biztosítása Hogyan
tud a protokoll szoftver megbízható szállítási szolgáltatást nyújtani megbízhatatlan csomag átviteli szolgáltatással (IP)? A m egoldás: p ozitív n yugtázás i smételt át vitellel ( positive ac knowledgement w ith retransmission). A vételi oldalon lévő protokoll szoftver nyugtát (acknowledgement=ACK) küld a feladónak, ha adat érkezik. A küldő minden átküldött üzenetet nyilvántart, és vár a nyugtára. Küldő oldal Üzenet Vételi oldal 1. Üzenet elküldése 1. Üzenet vétele ACK 1. vétele ACK 1. elküldése 2. Üzenet elküldése 2. Üzenet vétele ACK 2. vétele ACK 2. elküldése Pozitív nyugtázás újraküldéssel Az elküldéskor a TCP elindít egy időzítést, és ha nem érkezik nyugta, mielőtt az időzítés lejár, újraküldi az üzenetet. -3- Küldő oldal Üzenet Vételi oldal Csomag elvész 1. üzenet elküldése, időzítés indul 1. üzenetnek meg kellene érkezni ACK 1.-et el kellene küldeni ACK 1.-nek meg
kellene érkezni Időzítés lejár 1. üzenet újraküldése, időzítés indul 1. üzenet vétele ACK 1. elküldése ACK 1. vétele, időzítés törlése Újraküldés, ha a csomag elvész Ha az átviteli rendszernek nagy a késleltetése, az üzenetek kettőződhetnek (adat és a nyugtája egyaránt). A protokoll szoftver minden üzenetet egy sorszámmal lát el, és a vevőnek emlékeznie kell, hogy mely sorszámú üzenetek érkeztek meg. A nyugtában a protokoll szoftver visszaküldi a sorszámot a küldőnek, így az a nyugtákat és az elküldött üzeneteket egymáshoz tudja rendelni. Csúszó ablakok (Sliding Windows) Minden átküldött üzenet után megvárni a nyugtáját, mielőtt a következő üzenetet küldenénk, nem hatékony. Ekkor egyszerre csak egy irányba haladnának az üzenetek A csúszó ablakos technikával több üzenetet küldhetünk, mielőtt várnánk a nyugtára. A protokoll szoftver az átküldendő üzenetek sorozatása egy kis méretű ablakot
fektet, és az ablak összes üzenetét elküldi. Kezdő ablak 1 2 3 4 5 6 7 8 9 10 . 8 9 10 . Ablak csúszik 1 2 3 4 5 6 7 Csúszó ablakos protokoll 8 csomaggal Ha az ablak bal szélső üzenetére pozitív nyugat érkezik, az ablak eggyel jobbra csúszik. Az ablakban lehetnek elküldetlen üzenetek, és elküldött, de nem nyugtázott üzenetek. Az alábbi ábra 3 csomag elküldését és nyugtázását mutatja csúszó ablakos technikával. -4Küldő oldal Üzenet Vételi oldal 1. üzenet elküldése 2. üzenet elküldése 1. üzenet megérkezése 1. ACK elküldése 3. üzenet elküldése 2. üzenet megérkezése 2. ACK elküldése 1. ACK vétele 2. ACK vétele 3. üzenet megérkezése 3. ACK elküldése 3. ACK vétele 3 csomag elküldése csúszó ablakos protokoll használatával Az ablak méretének helyes megválasztása nagyban befolyásolja a protokoll hatékonyságát. A csúszó ablakos protokoll minden üzenetre külön időzítőt
működtet. A protokoll szoftver a vételi oldalon hasonló ablakkal rendelkezik, amelyben összeállítja a bejövő adatokat, és tárolja, hogy melyeket nyugtázta. A full duplex kommunikáció miatt valójában mindkét oldalon két-két ablak van a független kétirányú kommunikációra. A TCP-ben alkalmazott csúszó ablak technikával a flow control (végállomások közötti adatfolyam vezérlés) is megoldható. Az állomások az ablak méretét tudják változtatni A fogadott nyugták tartalmaznak az ablakra vonatkozó információt (window advertisment), amely lényegében a másik fél szabad puffer méretét tartalmazza. A küldő fél ennek alapján változtatja a saját ablakának méretét. Ha a fogadó pufferei kezdenek megtelni, kisebb ablakot jelölő közleményt küld a feladónak. Portok, kapcsolatok és végpontok A TCP lehetővé teszi, hogy egy több alkalmazás egyidejűleg kommunikáljon, és az üzenetet a megfelelő alkalmazáshoz továbbítja. Az
UDP-hez hasonlóan a TCP is a protocol port számokat használja, az üzenet végső címzettjének azonosításához. A TCP port azonban önmagában nem azonosítja a cél objektumot. A TCP a kapcsolat (connection) fogalmát használja fel az azonosításhoz. A kapcsolatokat két végponttal azonosítjuk. A végpont két egész szám: (host, port), ahol a host = a host IP címe port = egy TCP port a hoszton Pl.: (19219017337, 25) Két végpont azonosítja a kapcsolatot. Pl: (192.19017337, 25) és (19219017355, 1071) -5Egy másik kapcsolat ugyanazon a gépen: (192.19017337, 25) és (19219017355, 1156) Elegendő, ha a kapcsolatot azonosító 4 szám közül 1 különbözik! Passzív és aktív megnyitás A TCP, ellentétben az UDP-vel kapcsolat orientált, tehát mindkét végpontnak egyet kell értenie a részvételben. Az alkalmazás az egyik végponton végrehajt az ún. passzív megnyitást, jelezve, hogy hajlandó bejövő kapcsolatot fogadni. Ekkor egy TCP port szám lesz
hozzárendelve ehhez a végponthoz. Az alkalmazás a másik végponton pedig kéri az operációs rendszert, hogy végezzen aktív megnyitást a kapcsolat létrehozására. A két TCP szoftver felépíti a kapcsolatot, majd kezdődhet az alkalmazások adatcseréje. A TCP szegmens formátuma Minden TCP forgalom: kapcsolat felépítése, adatok átvitele, nyugta küldése, ablak méret hirdetmény, kapcsolat lezárása, az alábbi szerkezetű szegmensben lesz továbbítva: 0 4 10 16 SOURCE PORT 24 31 DESTINATION PORT SEQUENCE NUMBER ACKNOWLEDGEMENT NUMBER HLEN RESERVED CODE BITS WINDOW CHECKSUM URGENT POINTR IP OPTIONS (IF ANY) PADDING DATA . TCP szegmens formátum TCP szegmens (üzenet) = fejrész + adatrész SOURCE PORT DESTINATION PORT feladó TCP port száma. cél TCP port száma. -6SEQUENCE NUMBER ACKNOWLEDGEMENT NUMBER HLEN CODE BITS WINDOW a küldött adatok pozíciója a byte folyamban annak byte-nak a sorszáma az adatfolyamban, amelyet a feladó
legközelebb meg akar kapni. Ez az ellenkező irányú folyamra vonatkozik! A szegmens hossza 32 bit-es egységekben. Az üzenet tartalmára utal. Mekkora puffer áll rendelkezésére, mennyi adatot képes fogadni A CODE mező jelentése Bit (balról jobbra) URG ACK PSH RST SYN FIN Jelentés Urgent Pointer mező használva van Acknowledgement mező használva van A szegmens push műveletet kér A kapcsolat bontása A sorszámok szinkronizálása (kapcsolat felépítése) A küldő az adatfolyam végére ért Fenntartott TCP port számok Az UDP-hez hasonlóan a TCP is használja a fenntartott portszámokat (well-known port assignments). -7Az alábbi táblázat a jelenleg használt port hozzárendelés egy részletét tartalmazza: Decimális 0 1 5 7 9 11 13 15 17 19 20 21 23 25 37 42 43 53 77 79 93 95 101 102 103 104 111 113 117 119 129 139 160-223 Kulcsszó TCPMUX RJE ECHO DISCARD USERS DAYTIME QUOTE CHARGEN FTP-DATA FTP TELNET SMTP TIME NAMESERVER NICNAME DOMAIN FINGER DCP
SUPDUP HOSTNAME ISO-TSAP X400 X400-SND SUNRPC AUTH UUCP-PATH NNTP PWDGEN NETBIOS-SSN Reserved UNIX kulcsszó echo discard systat daytime netstat qotd chargen ftp-data ftp telnet smtp time name whois nameserver rje finger supdup hostnames iso-tsap x400 x400-snd sunrpc auth uucp-path nntp Leírás Reserved TCP multiplexor Remote Job Entry Echo Discard Active Users Daytime Network status program Quote of the Day Character Generator File Transfer Protocol (data) File Transfer Protocol Terminal Connection Simple Mail Transport Protocol Time Host Name Server Who Is Domain Name Server Any private RJE service Finger Device Control Protocol SUPDUP Protocol NIC Host Name Server ISO-TSAP X.400 Mail Service X.400 Mail Sending SUN Remote Procedure Call Authentication Service UUCP Path Service USENET News Transfer Protocol Password Generator Protocol NETBIOS Session Service Kérdések: Elveszett nyugták miért nem vonnak maguk után feltétlenül újraküldést? Mit javasol, a TCP szoftver
lezárja a hosszabb ideje nem használt kapcsolatot vagy nem? Milyen arányban hasznosul a sávszélesség, ha minden üzenet csak egy byte adatot tartalmaz? Feladatok: Vegyen fel hálózati forgalmat a Netmon program segítségével, majd analizálja a nyugtázás mechanizmusát. -1- User Datagram Protocol (UDP) Az IP protokoll csak két gép közötti adattovábbítást biztosítja. Nem teszi lehetővé az alkalmazások vagy a felhasználók azonosítását. Az UDP szállítási protokoll biztosítja, hogy egy gépen egyidejűleg futó több alkalmazói program egymástól függetlenül küldhessen és fogadhasson csomagokat. A csomag legvégső célpontjának azonosítása A csomagokat a gépen futó egy-egy process dolgozza fel, de a csomag végső célját mégsem azonosíthatjuk a process-el. Ehelyett az operációs rendszer egy sor absztrakt célpontot jelöl ki, amelyeket protocol port-oknak nevezünk. Minden protocol port-ot egy pozitív egész azonosít. Az operációs
rendszer gondoskodik egy interfész mechanizmusról, amelyet a process-ek használnak, hogy a port-ot specifikálják vagy elérjék. A port-ok elérése általában szinkronizált, ami azt jelenti, hogy ha egy process adatot kér egy portról, a futása felfüggesztődik, mindaddig, amíg az adat be nem érkezik. Ekkor az operációs rendszer a pufferben tárolt adatot átadja a process-nek, majd újra engedélyezi a futását. A protokoll szoftver az adatokat átmenetileg egy a porthoz rendelt sorban tárolja, amíg a process feldolgozza. A process-ek közötti kommunikációhoz a process-eknek ismerniük kell a cél gép IP címét és a protocol port számát, és minden üzenetnek tartalmaznia kell a cél és a forrás protocol port számot. User Datagram Protocol Az UDP csomag fejlécében lévő cél és forrás port szám biztosítja, hogy a csomag a megfelelő process-hez kerüljön feldolgozásra, és hogy a válasz üzenet is a megfelelő helyre érkezzen. Az UDP az IP
protokollt használja az üzenet továbbítására. Az IP szolgáltatását nem javítja fel, ugyanolyan megbízhatatlan, összeköttetés nélküli protokoll, mint az IP. Az üzeneteket nem nyugtázza A megbízhatatlanságból eredő problémák megoldása az alkalmazói programok feladata. Az UDP üzenet formátuma 0 16 31 UDP SOURCE PORT UDP DESTINATION PORT UDP MESSAGE LENGTH UDP CHECKSUM DATA . UDP adatgramma formátum -2- Az UDP üzenet beágyazása Az UDP a szállítási réteg protokollja. Az hálózati réteg (IP) a teljes UDP üzenetet egy IP adatgrammába ágyazza, majd az adatkapcsolati réteg fizikai keretbe ágyazva továbbítja a fizikai hálózaton. UDP feje Adatgramma feje Keret feje UDP adat-része Adatgramma adat-része Keret adat-része UDP beágyazása adatgrammába, majd az adatgramma keretbe foglalása A vételi oldalon a beágyazás ellenkezője zajlik le. A fizikai keretből előkerül az IP adatgramma, az IP adatgrammából az UDP üzenet,
ebből pedig az adat. Az UDP üzenet pontosan megegyezik a küldő állomáson előállított üzenettel, így az UDP pontosan ugyanazt az adatot továbbítja az alkalmazói programnak, amelyet a küldő állomás adott át az UDP protokollnak. A forrás és a cél IP címeket csak az IP fejrésze tartalmazza, a forrás és a cél port számokat pedig csak az UDP fejrésze hordozza. UDP multiplexálás, demultiplexálás és a portok A protokoll hierarchiában egy-egy réteg objektuma és a következő réteg több objektuma között multiplexálni ill. demultiplexálni kell Például az UDP szoftver üzeneteket fogad számos alkalmazástól és átadja az IP-nek továbbításra, és megfordítva, az IP-től kapott adatgrammákat továbbítja a megfelelő alkalmazásnak. A multiplexálás és a demultiplexálás az UDP és az alkalmazói program között a port mechanizmussal történik. Minden alkalmazói program kér az operációs rendszertől egy protocol port-ot és az ehhez
rendelt port számot. Ha az alkalmazás egy bizonyos protocol port-on küld egy üzenetet, a port szám bekerül az UDP üzenet SOURCE PORT mezőjébe. Bejövő üzenet esetén az UDP az IP-től kapott üzenetet az UDP DESTINATION PORT száma alapján demultiplexálja a megfelelő alkalmazásnak: -3- Port 1 Port 2 Port 3 UDP: demultiplexálás a port alapján UDP adatgramma érkezik IP réteg IP fölötti réteg demultiplexálása A port-ot leginkább egy sornak tekinthetjük. Ebben tároljuk a bejövő üzeneteket feldolgozás előtt. Az UDP megvizsgálja a bejövő üzenetek port számát, hogy az megfelel-e egy létező port-nak. Ha nem, ICMP port unreachable hibaüzenetet generál, és eldobja az üzenetet, egyébként a megfelelő alkalmazásnak továbbítja. UDP port számok A TCP/IP bizonyos port számokat eleve bizonyos alkalmazásokhoz rendel, ezt well-known port assignments-nek nevezzük. A magasabb port számokat alkalmazói programokhoz lehet dinamikusan
hozzárendelni. Az alábbi táblázat a jelenleg használt port hozzárendelés egy részletét tartalmazza: Decimális 0 7 9 11 13 15 17 19 37 42 43 53 67 68 69 111 123 161 162 512 513 514 525 Kulcsszó ECHO DISCARD USERS DAYTIME QUOTE CHARGEN TIME NAMESERVER NICNAME DOMAIN BOOTPS BOOTPC TFTP SUNRPC NTP - UNIX kulcsszó echo discard sysstat daytime netstat qotd chargen time name whois nameserver bootps bootpc tftp sunrpc ntp snmp snmp-trap biff who syslog timed Leírás Reserved Echo Discard Active Users Daytime Who is up or NETSTAT Qoute of the day Character generator Time Host Name Server Who Is Domain Name Server Bootstrap Protocol Server Bootstrap Protocol Client Trivial File Transfer Sun Microsystem RPC Network Time Protocol SNMP net monitor SNMP traps UNIX comstat UNIX rwho daemon system log Time daemon -1- Internet címek Az eszközök globális azonosítása. 32 bit-es bináris cím. IP címnek nevezzük 0 1 2 3 4 8 16 netid 24 Class A 0 Class B 10 Class C
110 netid Class D 1110 multicast address Class E 11110 31 hostid netid hostid hostid reserved for future use Internet címek Minden hoszt egyedi címmel rendelkezik. Gyakorlatilag a címzésre az A, B és C osztályokat használják. A cím első 3 bit-je írja le az osztályt A cím két része: (netid, hostid) a hálózat és azon belül a hoszt azonosítására. Az A, B, C osztályú címek különböző méretű hálózatok címzésére használható. Egy hálózaton belül minden eszköz hálózati címe (netid) azonos! Csak a hoszt címben különböznek (hostid) A forgalomirányítók (útvonalválasztók, router-ek) a netid-et használják a csomagok továbbításakor. A címek a hálózati csatlakozást azonosítják: Mivel az IP címek a hálózatot és a hoszt-ot is azonosítják, az olyan számítógépek, amelyek több hálózatra is kapcsolódnak (multi-homed host) minden interfészükre külön IP címmel rendelkeznek. Network és Broadcast címek Az IP
címek a hálózatot is azonosítják: az olyan cím, amelynek hostid része csupa 0 bit-ből áll. Broadcast cím: az olyan cím, amelynek hostid része csupa 1-bit-ből áll. -2Ezzel a hálózat összes gépére küldhető csomag. Ez csak akkor hatékony, ha a fizikai hálózat szintén rendelkezik broadcast képességgel (pl. Ethernet) Irányított (directed) broadcast esetén a netid rész érvényes hálózati azonosítót tartalmaz, és az így megadott hálózat összes gépére küldhető broadcast. Korlátozott (limited) broadcast vagy helyi (local) broadcast esetén a teljes cím csupa 1 bit-ből áll, és csak a helyi hálózat gépei kapják meg az üzenetet. A TCP/IP a lehető legkevesebb számú gépre korlátozza a broadcast-ot. Csupa 0 címek Ha a netid = csupa 0 bit, a szóban forgó hálózatot jelenti. Ha a hostid = csupa 0 bit, a szóban forgó gépet jelenti. Olyan gépek használják ideiglenesen, amelyek nem ismerik a saját címüket. Válasz csomagok nem
tartalmazhatnak ilyen címeket. Multicast címzés Többes címzés, amikor a gépek nem csak a saját unicast címüket ismerik fel, hanem bizonyos multicast címeket is. A gépek egy meghatározott csoportja (nem csak ugyanazon a hálózaton) számára lehet csomagokat küldeni (pl. video on demand) Csak akkor hatékony, ha a fizikai hálózat is támogatja a multicast címzést. Az IP címzés néhány szabálya Ha egy számítógépet egy másik hálózatra kapcsolunk át, meg kell változtatni az IP címét! A csomag útja egy multi-homed számítógépre függ attól is, hogy melyik címére adtuk fel a csomagot. IP címek decimális megadása A 32 bit-es IP címeket programokban, dokumentációkban gyakran pontokkal elválasztott decimális egészként adjuk meg: pl. 192.19017337 Az egyes IP címosztályok címtartományai Osztály A B C D E Legkisebb cím 0.100 128.000 192.010 224.000 240.000 Legnagyobb cím 126.000 191.25500 223.2552550 239.255255255 147.255255255
-3- Loopback cím A 127.000 cím egyik osztályhoz sincs rendelve A helyi gépet jelenti Teszt célra és processzek közötti kommunikációra használható. A szoftver sosem küldi ki az ilyen című csomagot a hálózatra. Speciális címek összefoglalása csupa 0 Class B csupa 0 Class C host csupa 1 Class D net 127 E Class 1 2 3 Ez a host1 Host ezen a hálózaton 1 Korlátozott broadcast (helyi hálózat) 2 csupa 1 bármi (gyakran 1) Irányított broadcast ezen a hálózaton 2 Loopback 3 Csak rendszerindításkor megengedett,célállomás címeként nem használható Forráscímként nem használható A hálózaton soha nem jelenik meg Speciális címek jelentése Az Internet címek kiosztása Az Internet címeket az Internet Network Information Center (INTERNIC)-től lehet beszerezni (vagy egy nemzeti szervezettől). Csak a IP cím network részét adminisztrálja az INTERNIC, a cím hoszt részét a helyi hálózati adminisztrátor rendeli az interfészekhez.
Network byte sorrend Az egyes hosztok különbözőképpen ábrázolják a számokat: Little Endian vagy Big Endian. A számok ábrázolását (címek, csomag hosszak, stb.) szabványosítani kellett A TCP/IP standard byte order-t használ (ez a Big Endian). Az összes hoszt és router erre az alakra konvertálja a számokat a helyi ábrázolásmódból mielőtt továbbítaná, és a beérkezett számokat erről az alakról a helyi ábrázolási formára hozza. A Big Endian ábrázolásmódban a szignifikánsabb byte-ok közelebb vannak a csomag elejéhez. -4- Példa-hálózat Ethernet 193.2242250 193.2242253 Donat multihomed szerver 193.2242254 PC-122 Ethernet host 193.2242255 PC-123 Ethernet host 193.1922243 Lapu2 router Lapu1 router 193.1922241 193.2242256 TOKEN RING 193.1922240 193.1922242 193.19222412 3 hálózat összekapcsolása 2 router segítségével PC-34 Token Ring host 10.0036 -5- Az Internet címek leképzése fizikai címekre (ARP) Az Interneten
(TCP/IP) az eszközöket az IP címükkel azonosítjuk, adatot azonban a fizikai hálózaton csak a fizikai címre lehet küldeni. Az IP címet valahogyan meg kell feleltetni az eszköz fizikai címével. Bármilyen hálózati technológiát használunk, két azonos hálózaton lévő számítógép csak akkor kommunikálhat, ha ismerik egymás fizikai címét. Az IP címet tehát le kell képezni fizikai címre, és ezt a leképzést a csomag minden állomásán (router vagy hoszt) meg kell tenni a csomag teljes útja során a kiinduló állomástól a legvégső állomásig. Hogyan tudja meg egy hoszt vagy router egy adott IP című gép fizikai címét, ha csomagot akar küldeni neki? A különböző hálózatokban eltérő megoldásokat használnak: − A gépek táblázatot tartanak fenn a velük azonos hálózaton lévő gépek IP-fizikai cím párokkal. − Az IP cím tartalmazza a fizikai címet (közvetlen leképzés). − Dinamikus cím feloldás. Dinamikus cím feloldás A
broadcast képességgel rendelkező hálózatokban (pl. Ethernet) használható megoldás A protokoll neve: Address Resolution Protocol (ARP). Az ARP lehetővé teszi, hogy egy hoszt az ugyanazon a fizikai hálózaton lévő cél állo– más IP címének ismeretében megtudja annak fizikai (MAC) címét. Az A gép keresi az IB IP című gép PB fizikai címét. Az A gép felad egy brodcast-ot, amelyben azt kérdezi, hogy mi az IB fizikai címe. Az a gép, amelyik felismeri a kérésben a saját IP címét, egy ARP válaszban közvetlenül A-nak küldi meg a fizikai címét: A X B Y ‘A’ host felad egy ARP kérést tartalmazó broadcast-ot, hogy mi az IB fizikai címe A X B Y ‘B’ host válaszol egy ARP válaszban, megadva az IB - PB címpárt ‘I: Internet cím P: fizikai cím (MAC) -6- ARP cache A hosztok és router-ek egy ún. ARP cache-t tartanak fenn, amelyben eltárolják a beszerzett IP-MAC cím párokat, hogy ne kelljen minden csomag elküldése előtt
ARP kérést feladni. A régen beszerzett tételeket törli a cache-ből, hogy az esetleges változások miatt ne maradjanak hibás tételek a cache-ben. ARP finomítások Az ARP kérésben a feladó elküldi a saját IP-MAC cím párját, amelyet az összes gép fogad, és ezzel frissíti a saját cache tábláját. ARP protokoll formátum Az ARP kérés és válasz Ethernet keretben utazik, amelynek típus mezője: 080616. Az ARP üzenet felépítése: 0 8 16 HARDWARE TYPE HLEN PLEN 24 31 PROTOCOL TYPE OPERATION SENDER HA (octets 0-3) SENDER HA (octets 4-5) SENDER IP (octets 0-1) SENDER IP (octets 2-3) TARGET HA (octets 0-1) TARGET HA (octets 2-5) TARGET IP (octets 0-3) ARP üzenet formátum HARDWARE TYPE: 1 Ethernet esetén PROTOCOL TYPE: 080016 IP OPERATION: ARP kérés:1, ARP válasz: 2 HLEN: Hardver cím hossza: 6 Ethernet esetén PLEN: IP cím hossza: 4 Kérdések: Kell-e az ARP-nek módosítania a cache-t, ha egy adott IP címre már létezik bejegyzés a
cache-ben? Kell-e az ARP-nek módosítania a cache-t, ha kérés nélkül érkezik információ? -7Miért tartják az ARP-t biztonsági szempontból gyenge láncszemnek? Hogyan használható az ARP arra, hogy bekapcsoláskor megállapítsuk, van-e a mienkkel azonos IP című gép a hálózaton? Miért okoz intenzív broadcast-ot, ha egy távoli Ethernet hálózat nem létező IP című gépére csomagokat küldünk? ARP segédprogram A TCP/IP -t használó operációs rendszerekben megtalálható. Displays and modifies the IP-to-Physical address translation tables used by address resolution protocol (ARP). ARP -s inet addr eth addr [if addr] ARP -d inet addr [if addr] ARP -a [inet addr] [-N if addr] -a -g inet addr -N if addr -d -s eth addr if addr Displays current ARP entries by interrogating the current protocol data. If inet addr is specified, the IP and Physical addresses for only the specified computer are displayed. If more than one network interface uses ARP, entries for
each ARP table are displayed. Same as -a. Specifies an internet address. Displays the ARP entries for the network interface specified by if addr. Deletes the host specified by inet addr. Adds the host and associates the Internet address inet addr with the Physical address eth addr. The Physical address is given as 6 hexadecimal bytes separated by hyphens. The entry is permanent Specifies a physical address. If present, this specifies the Internet address of interface whose address translation table should be modified. If not present, the first applicable interface will be used. Gyakorlat: Netmon programmal felvenni a hálózati forgalmat. Ping programmal megszólítani a szomszéd asztalnál ülő társ gépét. ARP programmal megvizsgálni az ARP cache tartalmát. Netmon capture file tartalmának vizsgálata. ARP forgalom kiszűrése ARP csomagok (kérés és válsz) tartalmának vizsgálata. Törölni az ARP cache-ből a saját kérésre kapott IP-MAC bejegyzést. Megvizsgálni,
hogyan alakul a többi gép ARP cache-ének tartalma. -1- Internet Control Message Protocol (ICMP) Az Internet hiba és vezérlő üzenet továbbító protokollja Az adatgramma haladása során router-ek során halad, míg eléri célállomást. Ha egy router nem képes továbbítani az adatgrammát, vagy valamilyen rendellenességet tapasztal (pl. torlódás) értesítenie kell az adatgrammát feladó számítógépet, hogy orvosolja a problémát. A hosztok és router-ek az ICMP protokoll segítségével küldhetnek hiba és vezérlő információt. Az Internet Control Message Protocol Néhány lehetséges hiba, ami miatt hibajelzésről gondoskodni kell: Vonalak, hardver eszközök meghibásodása, Az IP nem tudja eljuttatni a csomagot a célba, mert a célállomás átmenetileg vagy véglegesen ki van kapcsolva vagy nincs csatlakoztatva a hálózatra. A Time to Live számláló értéke eléri a 0-át. A router-eken torlódnak a csomagok. A hibák jelzését
a TCP/IP protokoll család ICMP protokollja segítségével oldják meg. Az ICMP üzenetek az IP adatgaramma adat-részében utaznak. Az ICMP üzenet célja nem az alkalmazói program vagy felhasználó, hanem a célállomás ICMP modulja. Majd az ICMP modul dönti el, hogy mit kezd az üzenettel, melyik szoftver modult értesíti. Összefoglalva: Az ICMP lehetővé teszi, hogy hosztok vagy router-ek hiba vagy vezérlő üzenetet küldjenek m ás ho sztoknak v agy r outer-eknek. A z I CMP mindig ké t g ép I P szoftvere között biztosít kommunikációt. Hibajelzés vagy hibajavítás Az ICMP technikailag egy hibajelző mechanizmus. Amikor egy adatgramma hibát okoz, az ICMP jelzi a hibát az adatgramma eredeti feladójának. A feladó állomásnak kell a hibát összekapcsolnia a megfelelő alkalmazással, vagy megtenni a szükséges intézkedést a hiba kiküszöbölésére. A hibák egy része az adatgramma eredeti feladójától származik, más része nem. Az ICMP mindig az
adatgramma eredeti feladóját értesíti, a közbenső router-eket nem képes értesíteni. Pl. Tegyük fel, hogy az adatgramma az R1, R2, Rk router-eken halad keresztül. Ha Rk hibás routing információk alapján RE -nek továbbítja a csomagot, RE nem tudja az ICMP-vel értesíteni az Rk router-t, hanem csak a csomag eredeti feladóját. -2Ennek oka az IP adatgramma struktúrájában rejlik. Az IP fejrésze csak a feladó és a célállomás IP címét tartalmazza, a router-ekét nem! A router-ek nem rendelkeznek azon eszközök címével, amelyeken a csomag áthaladt. Az ICMP üzenetkézbesítés Az ICMP üzenet egy IP csomagban utazik az interneten. Ugyanúgy halad router-eken keresztül, mint a normális adatot szállító IP csomag. Az ICMP üzenet továbbítása is lehet sikertelen, azonban egy ICMP üzenetet szállító IP csomag elakadásáról újabb ICMP üzenet nem generálódik! ICMP feje Adatgramma feje Keret feje ICMP adat-része Adatgramma adat-része
Keret adat-része ICMP beágyazása adatgrammába, majd az adatgramma keretbe foglalása Az ICMP üzenet IP csomagba ágyazódik, az ICMP mégsem tekinthető magasabb szintű protokollnak. Az ICMP az IP szükséges része Az ICMP üzenet nem továbbítható közvetlenül a fizikai hálózaton, mivel a célállomás eléréséhez általában több fizikai hálózaton kell keresztülhaladnia. Az ICMP üzenet formátuma Mindegyik ICMP üzenet saját formátummal rendelkezik, az első 3 mezőjük azonos: TYPE CODE CHECKSUM Azonosítja az üzenetet. További információt ad az üzenet típusáról. Az ICMP üzenet ellenőrző összege. A fentieken kívül azon üzenetek, amelyek valamilyen hibát jeleznek, mindig tartalmazzák a hibát okozó adatgramma első 64 bit-jét. -3Az ICMP TYPE mező meghatározza az üzenet jelentését és a formáját: Type mező 0 3 4 5 8 11 12 13 14 15 16 17 18 ICMP üzenet típus Echo Reply Destination Unreachable Source Quench Redirect (change a
route) Echo Request Time Exceeded for Datagram Parameter Problem on Datagram Timestamp Request Timestamp Reply Information Request (obsolete) Information Reply (obsolete) Address Mask Request Address Mask Reply A célállomás elérhetőségének tesztelése A hálózati problémák feltárásához nyújt segítséget az echo request és echo reply üzenet. Minden gép, amely kap egy echo request üzenetet, egy echo reply üzenetben megválaszolja. Ezzel tesztelhető a hálózati alrendszer. A legtöbb operációs rendszer a ping programmal teszi ezt a mechanizmust közvetlenül elérhetővé a felhasználók számára. Az Echo Request és Echo Reply üzenet formátum 0 8 TYPE (8 v. 0) 16 31 CHECKSUM CODE (0) SEQUENCE NUMBER IDENTIFIER OPTIONAL DATA . ICMP echo kérés és válasz OPTIONAL DATA IDENTIFIER SEQUENCE NUMBER TYPE A feladó kitöltheti ezt a mezőt tetszőleges adattal, a célállomás a válaszüzenetébe átmásolja ezt. A kérést és a választ rendeli
egymáshoz A kérést és a választ rendeli egymáshoz kérés = 8; válasz = 0 -4- Elérhetetlen célállomás Ha egy router nem tudja kézbesíteni vagy továbbítani a csomagot, ezt az üzenetet küldi az eredeti feladónak. 0 8 TYPE (3) 16 31 CHECKSUM CODE (0-12) UNUSED (CSUPA 0) INTERNET HEADER + FIRST 64 BITS OF DATAGRAM . ICMP cél nem elérhető Az ICMP CODE mező részletezi a problémát: Code mező 0 1 2 3 4 5 6 7 8 9 10 11 12 Jelentés Network Unreachable Host Unreachable Protocol Unreachable Port Unreachable Fragmentation needed and DF set Source route failed Destination network unknown Destination host unknown Source host isolated Communication with destination network administratively prohibited Communication with destination host administratively prohibited Network unreachable for type of service Host unreachable for type of service A router destination unreachable üzenetet küld, valahányszor egy adatgrammát nem képes kézbesíteni vagy
továbbítani. A router-ek azonban nem mindig észlelik a hibát Pl Ethernet hálózaton MAC szinten nincs visszaigazolás. Torlódás és adatfolyam vezérlés (Congestion and Datagram Flow Control) Torlódás akkor fordul elő, ha a router nem képes olyan gyorsan továbbítani a csomagokat, mint amilyen gyorsan érkeznek. Ennek alapvetően két oka lehet: Gyors forrás A csomagok több forrásból származnak A router-ekben és a hosztokban lévő puffrek átmenetileg kiküszöbölhetik a forgalmi csúcsokat, de tartósan megnövekedett forgalmat nem tudnak feloldani. -5A gépek az ICMP forrás elfojtás üzenettel jelezhetik a forrásnak a torlódást. A router-ek minden eldobott csomag-ról generálnak egy forrás elfojtás üzenetet. Egyes router-ek csak a legnagyobb forgalmat generáló forrást értesítik, vagy már a torlódás bekövetkezte előtt (hosszú várakozó sorok) elküldik a hibaüzenetet. A forrás elfojtás üzenetnek nincs fordított párja. Ezért a hoszt
IP protokollja úgy működik, hogy ha adott célállomásra küldött üzenetről forrás elfojtás üzenetet kap, addig csökkenti a sebességet, amíg a hibaüzenetek megszűnnek, majd fokozatosan növeli az üzenetek gyakoriságát addig, amíg újra forrás elfojtás üzenet nem érkezik. Forrás elfojtás (Source Quench) 0 8 TYPE (4) 16 31 CHECKSUM CODE (0) UNUSED (CSUPA 0) INTERNET HEADER + FIRST 64 BITS OF DATAGRAM . ICMP forrás elfojtás Útvonal megváltoztatás kérés (Route Change Request) A hosztok általában csak egyetlen router címét ismerik, és neki küldik az összes továbbítandó csomagot. A router, ha az adott célállomásra jobb kiinduló router-t ismer, ICMP üzenetben jelzi a hosztnak, hogy a többi csomagot melyik router-nek továbbítsa ezután. Routing ciklus vagy túl hosszú útvonal (Time exceeded for a datagram) A hibás routing táblákból eredő ciklusokat, és a túl hosszú útvonalakat a Time to Live számlálóval küszöbölik
ki. Ha a TTL miatt kell egy csomagot eldobni, ezt az ICMP üzenetet generálja a router. Egyéb problémák jelzése (Parameter problem on datagram) Általában a hibás adatgramma fejléceket jelzik ezzel az ICMP üzenettel. -6- Órák szinkronizálása és csomag haladási idejének becslése (Timestamp request and reply) A gépek lekérdezhetik a másik gép óráját, amely korrigálható a csomagok haladási idejével. Ezzel a mechanizmussal egyúttal a csomag haladási ideje is becsülhető az adott útvonalon. Subnet maszk kérés és válasz (Address mask request and reply) Subnet használata esetén a Subnet Mask határozza meg, hogy az adott osztályú cím hosztokat azonosító részéből mely bitek határozzák meg az adott fizikai hálózatot. Ez a maszk beállítható a hoszt hálózati konfigurálásakor, de ezzel az ICMP kéréssel be is szerezhető a router-től. A kérés a router-nek közvetlenül is elküldhető, vagy broadcast-tal is kérhető 0 8 TYPE
(17 v. 18) 16 CODE (0) 31 CHECKSUM SEQUENCE NUMBER IDENTIFIER ADDRESS MASK ICMP cím maszk kérés és válasz Ping segédprogram Cél elérhetőségének tesztelése: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] destination-list -t -a -n count -l size -f -i TTL -v TOS -r count -s count -j host-list -k host-list -w timeout Ping the specifed host until interrupted. Resolve addresses to hostnames. Number of echo requests to send. Send buffer size. Set Dont Fragment flag in packet. Time To Live. Type Of Service. Record route for count hops. Timestamp for count hops. Loose source route along host-list. Strict source route along host-list. Timeout in milliseconds to wait for each reply. -7- Feladatok Analizáljuk az előre felvett hálózati forgalom ICMP üzeneteit! A netmon programmal vegyük fel a hálózati forgalmat, szűrjük ki az ICMP üzeneteket, elemezzük ezeket! Generáljunk olyan
hálózati forgalmat, amely kiváltja a forrás elfojtás üzenetet! Használjuk a ping programot hosztok és router-ek elérhetőségének vizsgálatára! Próbáljunk meg elérni egy nem létező szervert a helyi hálózati szegmensen és egy távoli szegmense. Melyik esetben kapunk hibaüzenetet, és miért? -1- IP Subnet címzés A subnet címzés lehetővé teszi, hogy ugyanazt a hálózati címet használjuk egy hálózat több fizikai alhálózatán. Az IP cím felépítése: hálózat címe + hoszt címe: 0 1 2 3 4 8 16 24 netid Class B 31 hostid netid Class C hostid Internet címek felosztása hálózati és hoszt részre Egy fizikai hálózat összes gépe IP címének ugyanazzal a hálózati címmel kell rendelkeznie. Ethernet 193.2242250 193.2242253 Donat multihomed szerver 193.2242254 PC-122 Ethernet host 193.2242255 PC-123 Ethernet host 193.1922243 Lapu1 router 193.1922241 193.2242256 Lapu2 router TOKEN RING 193.1922240 193.1922242 10.0036
193.19222412 3 hálózat összekapcsolása 2 router segítségével PC-34 Token Ring host Az ered eti I P cí mzési s émában m inden f izikai h álózathoz eg yedi h álózati cí met rendeltek. T ehát m inden h oszt I P cí mének h álózati rés ze ( netid) a zonos v olt, a h oszt (hostid) része pedig egyedi. Ez az elrendezés lehetővé tette, hogy a routing táblák viszonylag kis méretűek maradjanak, mivel csak hálózatonként volt szükség egy-egy bejegyzésre a táblában, nem pedig hosztonként. -2Az egyes hálózatoknak lehetőségük van a fenti sémától eltérni, feltéve, hogy a változtatás más hálózatok számára láthatatlan marad. A hálózaton belül minden hoszt és router alkalmazkodik a megváltozott címzési sémához, más hálózatok pedig ugyanúgy kezelik a hálózatot, mintha semmi változás nem történne. A hálózatszámok csökkentése Az Internet robbanásszerű terjedésével a hosztok és a hálózatok száma óriási ütemben
növekszik. Ennek hatásai: a központi adminisztratív feladatok növekednek, a router-ek routing táblái óriásira megnövekednek, és a rendelkezésre álló címtartomány előbb-utóbb kimerül. Tehát minimalizálni kell a hálózati címeket. Mindhárom problémára némi orvosság a subnet címzés, amelynek lényege, hogy: Egy hálózati címet meg kell osztani több fizikai hálózaton. Subnet címzés Szabványosított megoldás. Ezzel a mechanizmussal az összes IP szoftver rendelkezik Az alábbi példában a 128.1000 B osztályú hálózat 2 fizikai hálózatból áll Csak a helyi R router tudja, hogy több fizikai hálózat van, és hogyan kell közöttük a forgalmat irányítani. 128.1010 hálózat 128.1011 H1 Az Internet többi része 128.1012 H2 R 128.1020 hálózat Összes forgalom a 128.1000 hálózatra 128.1021 H3 128.1022 H4 2 fizikai hálózat subnet címzéssel B ossztályú hálózati címmel Minden más router úgy kezeli a
hálózatot, mintha csak 1 fizikai hálózat lenne. A fizikai hálózatok közötti választást úgy oldják meg, hogy a cím 3. byte-ja a fizikai hálózatokat különbözteti meg. Az egyik hálózat gépei a 128.101X, a másiké pedig a 128102X tartományból kerülnek ki A router a 3. byte alapján dönti el, hogy melyik fizikai hálózatra kell továbbítani a csomagot -3- Internet rész Internet rész Helyi rész Fizikai hálózat Host A subnet cím elvi sémája: a.) az eredeti IP cím sémája b.) a subnet sémája: a helyi rész 2 részből áll, amelyek a fizikai hálózatot és a hosztot azonosítják Úgy t ekintjük a 32 bi t-es I P cí met, m int a melynek va n eg y I nternet r észe és eg y h elyi r észe, ahol az Internet rész a helyet azonosítja, akár több fizikai hálózattal, és a Helyi rész a fizikai hálózatot és a hosztot azonosítja a helyen belül. Ezzel egyfajta hierarchikus címzés, amely természetesen hierarchikus routing-hoz vezet. Hogy
a subnet cím partícionálása maximálisan rugalmas legyen, a TCP/IP subnet szabvány megengedi, hogy a subnet értelemezését minden egyes fizikai hálózat egymástól függetlenül végezze. Azonban ha a subnet partícionálása megtörtént, a fizikai hálózat összes gépének ezt tekintetbe kell vennie. A subnet megvalósítása subnet mask segítségével A kérdés az, hogyan azonosítsuk a cím helyi részén belül a fizikai hálózatot és a hosztot azonosító részt. Erre egy 32 bit-es subnet maszkot használnak: Ebben minden bit, amely a hálózatot azonosítja 1 , és minden bit, amely a hosztokat azonosítja 0. Pl. Az alábbi maszk a fenti B osztályú hálózat subnet felosztásának megfelelő maszk: 11111111 11111111 11111111 00000000 A 3. byte azonosítja a fizikai hálózatokat, így elvileg 256 (valójában csak 254) fizikai hálózat lehetséges az adott helyen belül. A hálózatok: 128.1010 128.1020 128.1030 128.102540 A szabvány nagyobb rugalmasságot
enged meg, de javasolt, hogy a subnet maszk az összes fizikai hálózaton belül azonos legyen. -4- A subnet mask reprezentációja Pontokkal elválasztott decimális számok. Pl: 2552552550 Pontokkal elválasztott hexadecimális számok. Pl: ffffff0 Általában a helyi operációs rendszertől függ, hogy milyen ábrázolási módszert alkalmazunk. Routing subnet használata esetén A routing tábla bejegyzései az alábbi tételeket tartalmazzák: subnet maszk, hálózat címe, következő router címe A subnet maszk is szükséges, mivel a címből nem derül ki, hogy az adott hálózatot hogyan osztották fel alhálózatokra. Az út választásakor a router bit-enkénti logikai ÉS műveletet végez a cél IP címmel és a subnet maszkkal, majd az így kapott értéket keresi meg a routing tábla hálózat-címei között. Ha egyezést talál, a csomagot a következő router címére küldi. Az alábbi routing algoritmus az alapértelmezett útvonalat is
megfelelően kezeli: A r outing t áblában az al apértelmezett útvonalat 0.000 hál ózat c ímmel é s 0000 subnet maszkkal kell jelölni. Routing algoritmus: Route IP adatgramma ( adatgramma, routing tábla) Vegyük ki a cél IP címet, ID-t az adatgrammából; Számítsuk ki a cél hálózat címét, IN-t; Ha az IN megegyezik valamelyik közvetlenül rákapcsolt hálózat címével, küldjük az adatgrammát a f izikai hálózaton a célállomásnak (fizikai keretbe csomagolva); egyébként ciklus a routing tábla összes bejegyzésére végezzük el: N := (ID) bit-enkénti ÉS (subnet maszk) Ha N egyenlő a bejegyzés hálózat cím értékével, küldjük az adatgrammát a következő router címére, ciklus befejezése ciklus vége Ha nem volt egyezés, hibát kell jelezni. -5- Kérdések: Tegyük fel, hogy egy B osztályú hálózatot legalább 76 fizikai hálózatra kell osztani. Hány hoszt lehet az egyes hálózatokon? Van-e értelme C osztályú hálózatok
subnet-elésének? Gondoljuk át a alapértelmezett routing-ot subnet használata esetén. Mi történik, ha egy nem létező subnet-re érkezik csomag? Hasonlítsuk össze a router-ekkel subnet-ekre osztott hálózatot a hídakat alkalmazó hálózatokkal. Mikor melyik a jobb? Implementáljuk a fenti routing algoritmust Java-ban olyan adatszerkezetet használva, hogy a szekvenciális keresést hashing-gel helyettesítsük. -1- Internet Protocol (IP): Kapcsolat nélküli adatgramma továbbítás A szolgáltatás megbízhatatlan, kapcsolat nélküli. A hálózat a legjobb tudása szerint (besteffort) kézbesíti a csomagokat a forrástól a célig Megbízhatatlan: a kézbesítés nem garantált. A csomagok elveszhetnek, kettőződhetnek, késhetnek, és helytelen sorrendben érkezhetnek. Kapcsolat nélküli: a csomagok egymástól függetlenül lesznek továbbítva, ezért akár különböző útvonalon is haladhatnak. Az IP protokoll célja 1. Az IP adatgramma (csomag) az
adattovábbítás egysége a TCP/IP hálózaton, így meghatározza a továbbítandó adat pontos formáját. 2. Az IP szoftver elvégzi a forgalomirányítást (routing), meghatározva azt az útvonalat, amelyen a csomag halad. 3. Az IP magában foglal egy sor szabályt, amely meghatározza, hogy a hosztok és routerek hogyan dolgozzák fel az adatgrammát, mikor kell hibát generálniuk, és azon a feltételeket, amelyeknek a bekövetkezésekor a csomagot el lehet dobni. Az IP adatgramma A fizikai keret (frame) és az IP adatgramma között szoros analógia van. A keret tartalmaz egy fejrészt és egy adatrészt. A fejrész a cél és a forrás címéből áll Az IP adatgramma is egy fejrészből és egy adatrészből áll. Az IP fejrész azonban a forrás és a cél állomás IP címét tartalmazza és tartalmaz többek között egy típus mezőt is, amely az adatgramma tartalmára utal. Az adatgramma formátuma -2- 0 4 8 16 19 VERS HLEN SERVICE TYPE 31 TOTAL LENGTH
FLAGS FRAGMENT OFFSET IDENTIFICATION TIME TO LIVE 24 PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) PADDING DATA . IP adatgramma formátum PRECEDENCE D T R UNUSED SERVICE TYPE mező VERS = 4 HLEN TOTAL LENGTH az IP verziója (minden IP szoftver ellenőrzi). a header hossza 32 bit-es egységekben. Az IP opciók miatt a header változó hosszúságú lehet. Az opciók nélküli header 20 byte-os. a teljes adatgramma hossza byte-okban. A max hossz: 65,535 byte. A szolgáltatás típusa és az adatgramma precedenciája PRECEDENCE = 0 - 7 Az IP adatgramma fontossága. A legtöbb router nem kezeli, de elvben a vezérlő információk soron kívül továbbíthatók. D bit = low delay T bit = nagy átviteli sebesség R bit = nagy megbízhatóság Nem célszerű mindet beállítani, mert ezek gyakran ellentmondanak egymásnak. A router-ek gyakran nem is kezelik ezeket. Inkább csak egy tanács a router-eknek, ha több út is
választható, mi alapján válasszanak. Az adatgaramma beágyazása (encapsulation) Az IP adatgramma mindig egy fizikai keretbe van beágyazva (pl. Ethernet frame), és így utazik a hálózaton. -3- Adatgramma feje Keret feje Adatgramma adat-része Keret adat-része IP adatgramma keretbe foglalása Az IP csomag hossza max. 65,535 byte, a fizikai keret hossza jóval rövidebb Célszerű az IP csomagot olyan hosszúra választani, hogy az elférjen egy fizikai keretben. Ha ez nem lehetséges, az IP tovább tördeli a csomagokat. Az adatgramma mérete, a hálózat MTU-ja és a csomagok tördelése. MTU = Maximum Transfer Unit az az adatmennyiség, amely egy fizikai keretben továbbítható. Ez a méret az egyes hálózat típusoknál más és más Hiába választjuk meg az IP csomag méretét úgy, hogy az beférjen a fizikai keretbe, mivel a csomag több hálózaton mehet keresztül, amelyek típusáról a feladó hoszt mit sem tud: Host A Host B Net 1 Net 3 MTU=1500
MTU=1500 R1 Net 2 MTU=620 R2 IP adatgramma tördelése -4Túl rövidre sem érdemes az IP csomaghosszt választani, mert a továbbítás nem lesz hatékony. Az IP szoftver konvencionális hosszt választ : 576 byte. Ekkora csomaghosszt az összes hosztnak és router-nek kezelnie kell. Ha a csomag az útja során nem fér el az adott hálózat fizikai keretében, a router tördeli (fregmentálja), és tördelt csomagokat továbbítja. A tördelt IP csomagok fejrészében jelzi, hogy melyik töredék csomagot tartalmazza, hogy a végállomáson újra összeállítható legyen. Ha egyszer egy IP csomagot egy router fregmentált, a darabok csak a célállomáson lesznek egyesítve. Persze az egyes darabok szükség szerint tovább tördelhetők Time to Live (TTL) A Time to Live mező meghatározza, hogy egy adatgramma hány másodpercet tölthet az Internet rendszerben. A továbbítás során minden router csökkenti ezt az értéket a router-ben töltött másodpercek számával,
de legalább 1-el. Ha a mező 0 lesz, az adatgarammát eldobja, és hibaüzenetet generál a csomag eredeti feladójának. Ez a módszer meggátolja, hogy hibás routing táblák miatt a csomagok vég nélkül keringjenek a hálózatban. Egyéb fejlécmezők megadja, hogy a DATA mező milyen protokollt hordoz (pl. TCP). HEADER CHECKSUM a router-ek csak ezt az ellenőrző összeget számolják újra. SOURCE IP ADDR. a forrás IP címe. DESTINATION IP ADDR. a cél IP címe PROTOCOL IP options Változó hosszúságú mezők. A mezők pontos felépítését nem ismertetjük. Record route option: a router-ek a csomag haladása során beírják a router-ek IP címét. Test célokat szolgál. Source route option: a feladó hoszt megadja azon router-ek címét, amelyeknek a csomagot továbbítaniuk kell. Test célokat szolgál Timestamp option: hasonló a record route option-hoz, csak a router az IP címén kívül az időpontot is beírja az adatgramma option mezőjébe. Kérdések
Mi az értelme, hogy az ellenőrző összeget csak a header-ből számítja az IP szoftver? -5Van-e értelme IP ellenőrző összeg számításának, amikor Ethernet hálózaton továbbítjuk? Mikor változik a VERS mező? Mi az előnye, hogy a router-ek által fregmentált IP csomagokat csak a célállomáson egyesítik újra, és nem a következő router-en? Mekkora egy Ethernet keret, ha a lehető legkisebb IP csomagot szállítja? Tracert segédprogram Követhetjük a csomag útját egy megadott célállomásigtracert [-d] [-h maximum hops] [-j host-list] [-w timeout] target name -d -h maximum hops -j host-list -w timeout Do not resolve addresses to hostnames. Maximum number of hops to search for target. Loose source route along host-list. Wait timeout milliseconds for each reply. Feladatok Kövessük a csomagok útját a tracert (traceroot) program segítségével! Vegyük fel a hálózati forgalmat a netmon programmal és vizsgáljuk meg az adatgramma beágyazását az
Ethernet keretbe! Vizsgáljuk meg, hogy egy a tracert milyen forgalmat generál! -1- Tűzfalak (Firewalls) Miért van szükség tűzfalakra? Mit akarunk védeni? Mi ellen védekezünk? Hogyan védhetjük meg a hálózatunkat? Mi az Internet tűzfal? Mit akarunk védeni? A számítógépeken lévő adatainkat, Az erőforrásainkat: a számítógépeket, A jó hírnevünket. A számítógépeken lévő adataink védelme Titkosság (secrecy): illetéktelenek ne olvashassák el az adatainkat. Integritás (integrity): illetéktelenek ne változtathassák meg az adatainkat. Elérhetőség (availability): amikor szükségünk van az adatokra, elérhessük. Az erőforrásaink védelme Ne használják illetéktelenek a számítógépeket, ne foglaljanak diszk kapacitást, ne használják a hálózatot. A jó hírnevünk védelme Betolakodók a nevünkben cselekedhetnek. Mi ellen védekezünk? Betolakodás (intrusion) A betolakodók használják a
számítógépeket. Csak érvényes azonosítóval és jelszóval lehessen belépni. A tűzfal úgy konfigurálható, hogy a jelszó csak egyszer használható A bejelentkezések auditálása. A használat akadályozása (denial of service) A betolakodó elárasztja a számítógépet vagy a hálózatot üzenetekkel, feldolgozási vagy hálózati kérésekkel, így a valódi munka lehetetlenné válik. Pl elektronikus levél áradat. Vagy az account használhatatlanná válik néhány hibás jelszó megadás után. Gyakran nehéz védekezni ellene. Információ ellopása (information theft) Aktív: lekérik az információt, tettetve, hogy egy bizonyos gépről, vagy legális felhasználóként jelentkezünk be. Passzív: lehallgatják (sniffing) a hálózati forgalmat. Ethernet vagy token ring hálózatot a technológiából eredően viszonylag könnyű lehallgatni -2A jelszavak megszerzése sajnos gyakran elég könnyű. A jelszavakat gyakran lehallgatással szerzik meg.
Védekezés: tűzfal alkalmazásával megakadályozhatjuk, hogy illetéktelenek beha– toljanak. Azonban ha az Interneten keresztül nyújtunk szolgáltatást, nehéz védekezni a lehallgatás ellen Hogyan védhetjük meg a hálózatunkat? Hosztok védelme: Sok, és különféle gépet tartalmazó hálózatoknál nehéz minden egyes gépet külön védeni, és figyelemmel lenni az összes biztonsági problémára. Minden gép védelme gyakran lehetetlen program hibák miatt, vagy, mert bizonyos funkciók eleve nem biztonságosak. A hálózat védelmével együtt használják Hálózat védelme: Gyakran a hálózatot, és az általa felkínált szolgáltatásokat védik, ahelyett, hogy a hosztok egyenkénti védelmére helyeznék a hangsúlyt. Tűzfalat használnak, szigorú autentikációt követelnek meg (pl. egyszeri jelszó használata), és az adatokat titkosítják az átvitel során Egy tűzfal a hálózat összes gépét képes megvédeni a tűzfalon kívülről jövő
támadásokkal szemben. A hosztok védelme azonban ekkor is fontos a belső támadások lehetősége miatt Mi az Internet tűzfal? Az Internet tűzfal megakadályozza, hogy az Internet fenyegetései a belső hálózatra is átterjedjenek. A tűzfalat az Internet és a belső hálózat határára telepítik: -3- Internet Firewall Belső hálózat H H H S H: hoszt S: szerver A tűzfal elválasztja a belső hálózatot az Internet-től Minden forgalom az Internet és a belső hálózat között keresztül halad a tűzfalon, ezért szabályozható, hogy milyen forgalom elfogadható. A forgalom (pl E-mail, file átvitel, távoli bejelentkezés) elfogadhatósága a hálózat biztonsági politikájától függ, és ezért hálózatonként különböző A tűzfal logikailag egy elválasztó, korlátozó és elemző eszköz, fizikailag gyakran több komponens együttese: router-ek, számítógépek és hálóza–tok kombinációja megfelelő szoftverrel ellátva, és
megfelelően konfigurálva. A tűzfal nem véd olyan támadóktól, akik már bent vannak. Általában más védekezési mechanizmusokkal együtt kell használni A tűzfalnak hátrányai is vannak: költséges, fáradságos az elkészítése, és gyakran a bosszantó korlátozásokkal jár a hálózat belső használói számára is. Mit tud a tűzfal? A biztonságra vonatkozó döntések fókuszpontja. Minden forgalom ezen a szűk ponton megy keresztül. A biztonságra vonatkozó döntéseinket ide koncentrálhatjuk A tűzfal létesítése költséges, általában mégis olcsóbb és hatékonyabb, mint más megoldások. A tűzfal kikényszeríti biztonsági politika alkalmazását. Csak jóváhagyott szolgáltatások mehetnek keresztül a tűzfalon, és ezek is csak meghatározott szabályok betartásával. A tűzfal ilyen módon a potenciálisan veszélyes szolgáltatásokat a tűzfalon belül tartja. Pl: NFS Vagy előírható, hogy csak egyetlen gép kommunikálhat a külvilággal.
-4Vagy csak bizonyos gépek végezhetnek file átvitelt az Internet-en, és korlátozva e gépek felhasználóit, végül is a felhasználók file átviteli lehetőségeit tarthatjuk kézben. A tűzfal hatékonyan rögzítheti a hálózat Internet forgalmát. A tűzfal gyűjthet információt a hálózat használatáról és annak sikertelenségéről. Mit nem tud a tűzfal? A tűzfal nem véd a rosszindulatú belső felhasználók ellen. Másolatok készítése, adatlopás, hardver és szoftverrongálás lehetséges. A tűzfal nem véd olyan kapcsolatoktól, amelyek nem mennek rajta keresztül. Telefonos kapcsolat is létesíthető a belső hálózat és az Internet között. A tűzfal nem véd meg egészen újfajta fenyegetésekkel szemben. A tűzfalat nem örökre készítjük, időnként felül kell vizsgálni. Időnként újfajta támadások bukkannak elő, amelyeket korábban nem ismertünk A tűzfal nem véd vírusok ellen. A tűzfalon csomagok haladnak át. Annak
felismerése, hogy a csomag egy program része, megállapítani, hogyan kellene kinéznie annak a programnak, és hogy a változást vírus okozta úgyszólván lehetetlen. Internet szolgáltatások Milyen szolgáltatásokat akarunk biztosítani az Interneten? A standard szolgáltatások, amelyeket a legtöbb hálózat biztosít: Elektronikus levelezés (SMTP) File átvitel (FTP) Távoli terminál használata és parancs végrehajtás (Telnet, rlogin, rsh) Usenet News (NNTP) World Wide Web (WWW) Egyéb információszolgáltatás (Gopher, Wais, Archie) Információ személyekről (finger, whois) Real-Time konferencia rendszer (talk, IRC) Névszolgáltatás (DNS) Hálózat menedzsmentszolgáltatás (SNMP, ping, traceroot) Időszolgáltatás (Time Service: NTP) Hálózati file rendszer (NFS) X-Window rendszer (X11 window system) Hálózati nyomtatás (lp, lpr) Stb. Egyik szolgáltatás sem igazán biztonságos, mindegyiknek
megvan a maga gyenge pontja. Csak a legszükségesebb alkalmazásokat használjuk az Interneten, azokat is csak olyan gépen, amelynek implementációja kellően biztonságos. -5- Tűzfallal (Firewall) kapcsolatos definíciók Tűzfal Komponens vagy komponensek, amelyek korlátozzák a védett hálózat és az Internet közötti forgalmat. Hoszt (Host) Hálózatra kapcsolt számítógép. Bástya gép (Bastion Host) A belső hálózat felhasználóinak kapcsolódási pontja az Internet-tel. E gép biztonságát a lehető legmagasabb szinten kell biztosítani Dual-homed host Általános célú számítógép, amely legalább két hálózati interfésszel rendelkezik. Csomagszűrés (Packet filtering) Csomagok áthaladásának engedélyezését vagy blokkolását egyik hálózatról a másikra bizonyos szabályok alapján végzik. A szűrést végezheti egy router vagy hoszt az IP címek, port számok vagy a protokoll alapján. A szűrést screening-nek is nevezik Határ hálózat
(Perimeter network) Az Internet és a védett hálózat közé iktatott hálózat, amely fokozott védelmet biztosít. Proxy szerver Program, amely külső szerverekkel tart kapcsolatot, a belső hálózaton lévő kliensek kiszolgálása érdekében. Proxy kliensek a proxy szerverrel kommunikálnak, amely az engedélyezett kliens kéréseket a valódi szerverekhez továbbítják, a válaszokat pedig a kliensekhez küldik vissza Csomagszűrés (Packet Filtering) A csomagszűrő rendszer a csomagokat szelektíven továbbítja a belső és a külső számítógép között. Az alkalmazott router-t screening router-nek nevezzük Az IP csomagok a fejlécükben az alábbi információkat tartalmazzák: IP forrás cím IP cél cím Protokoll (TCP, UDP, ICMP) TCP vagy UDP port ICMP üzenet típusa Ezek segítségével lehet a screening router-ekben a továbbításra vagy a blokkolásra vonatkozó szabályokat megadni. -6- Internet Screening router: a biztonsági
politika függvényében továbbítja vagy átengedi a csomagokat. Belső hálózat H H H S H: hoszt S: szerver Screening router végzi a csomag szűrést Egy normál router arról dönt, hogyan továbbítsa a bejövő csomagot. A screening router a csomag fejrésze és a beállított szabály rendszer alapján eldönti, hogy kell-e továbbítani a csomagot vagy sem, és csak ezután dönt a hogyanról. Példák: Blokkolhatjuk az összes Internet-ről bejövő forgalmat az SMTP kivételével (csak Email fogadás engedélyezett. Csak bizonyos IP című gépek közötti forgalom engedélyezett. E-mail és FTP szolgáltatás engedélyezett, de tiltott a TFTP, az X Window, az RPC. Proxy szolgáltatások A Proxy szolgáltatások különleges alkalmazások vagy szerver programok, amelyek egy tűzfal gépen futnak, amely vagy egy: dual-homed host (interfésszel rendelkezik a belső hálózat és az Internet felé, vagy egy bastion host (eléri az Internet-et, és elérik a
belső hálózat gépei) Ezek a programok fogadják a felhasználók Internet szolgáltatások (Telnet, FTP) iránti kéréseit, és a biztonsági politikának megfelelően továbbítják ezeket a valós szerverek felé, vagy elutasítják. A proxy-kat application-level gateway-eknek is nevezik. A proxy-k többnyire transzparensek. A kliens és a szerver úgy látják, mintha közvetlenül kommunikálnának egymással, valójában a proxy közvetít közöttük. A proxy szolgáltatások csak akkor érnek valamit, ha nem létesíthető közvetlen kapcsolat a kliens és a szerver között. Az alábbi dual-homed host proxy szoftverrel biztosítja, hogy a tűzfal nem megkerülhető, és a szolgáltatás (amit a proxy megvalósít), szelektíven igénybe vehető. -7- Internet Valós Szerver Külső hoszt DualProxy homed Szerver host Tűzfal Belső hálózat Proxy Kliens H H S H: hoszt S: szerver Belső hoszt Proxy szolgáltatás használata dual-homed hoszttal A proxy kliens a
normál kliens egy különleges változata, amely a proxy szerverrel beszél a valós szerver helyett. A proxy szerver kiértékeli a kérést, és eldönti, hogy elfogadja vagy elutasítsa Ha elfogadja, közvetíti a kliens kérését a valós szerver felé, majd a választ vissza a valós szervertől a proxy kliens felé. Néha a normál kliens programok is alkalmasak proxy-kkal való kommunikációra, különleges beállítással. Néhány kitűnő proxy: A SOCKS egy proxy készítő eszköz készlet, amely meglévő kliens/szerver alkalmazásokat alakít proxy alkalmazásokká. Trusted Information System Internet Firewall Toolkit (TIS FWTK) proxy szervereket tartalmaz (Telnet, FTP, HTTP, stb.) A normál kliensek használhatók speciális felhasználói eljárásokkal A technikák és technológiák kombinációja Néhány protokoll (Telnet, SMTP) hatékonyabban kezelhető csomagszűréssel, más protokollok pedig proxy-kkal. A legtöbb tűzfal a csomag szűrés és a proxy
szolgáltatások kombinációja -8- Tűzfal architektúrák A különböző tűzfal komponensek összeillesztése: Dual-Homed Host architektúra Screened Host architektúra Screened Subnet architektúra Dual-Homed Host architektúra Ez az architektúra a dual-homed host köré épül. Internet Dualhomed host Tűzfal Belső hálózat H H H S H: hoszt S: szerver Dual-homed host architektúra Legalább két interfésszel rendelkezik, de a routing funkció le van tiltva. A dual-homed host működhet proxy-ként, vagy a felhasználók be is jelentkezhetnek és így vehetik igénybe az Internet szolgáltatásait. Ez utóbbi megoldás biztonsági szempontból veszélyeket rejt magában Screened Host architektúra Ez az architektúra úgy biztosítja a szolgáltatásokat, hogy a szolgáltatást nyújtó gép csak a belső hálózatra csatlakozik. Az elsődleges biztonságot a csomagszűrő router adja A csomag– szűrő megakadályozza, hogy a felhasználói gépek
közvetlenül hozzáférjenek az Internet-hez. -9A bástya gép a belső hálózatra csatlakozik. A csomagszűrő router-t úgy konfigurálják, hogy az Internet gépei csak a bástya géppel léphetnek érintkezésbe. A bástya gép biztonsága elsőrendűen fontos. A bástya gép proxy-ként működik. A screning router akár úgy is konfigurálható, hogy bizonyos szolgáltatások közvetlenül is elérhetők legyenek, míg más szolgáltatások csak a proxy szerveren keresztül működtethetők. Internet Tűzfal Screening router Belső hálózat H H H Bástya gép Dual-homed host architektúra A screened host architektúra nagyobb biztonságot nyújt, mint a dual-homed host architektúra. A screened host architektúra hátránya, hogy ha egy támadónak sikerül betörnie a bástya gépre, már semmi sem állja útját a belső hálózat többi gépe felé. Ebből a szempontból a screened subnet architektúra biztonságosabb. Screened Subnet architektúra A screened
subnet architektúra egy újabb biztonsági réteget helyez el az Internet és a belső hálózat közé. Ez a határ (perimeter) hálózat A bástya gép sebezhető, ezt támadják leginkább. Ha a támadó bejut a bástya gépre, még mindig útját állja a belső router - 10 - Bástya gép Tűzfal Internet Külső router Kerületi (perimeter) hálózat Belső router Belső hálózat H H H H H Screened-subnet architektúra Perimeter hálózat Ha a támadó bejut a bástya gépre, csak a perimeter hálózat forgalmát tudja lehallgatni, a belső hálózat forgalmát nem láthatja. A perimeter hálózaton megy keresztül a bástya gépre és közvetlenül az Internet-re irányuló forgalom, de két belső gép egymás közötti forgalom nem. Bástya gép A bejövő forgalom kezelésének helye. Kezeli a bejövő E-mail forgalmat (SMTP), a bejövő FTP forgalmat (anonymous FTP), a bejövő DNS kéréseket, stb. A kifelé irányuló szolgáltatások két
módon is kezelhetők: a belső és a külső router-ek csomagszűrő szabályainak beállításával, proxy szerverek futtatásával a bástya gépen. Ekkor is megfelelően kell beállítani a csomagszűrőket. - 11 Belső router (Choke router) Szabályozza, hogy a belső hálózatról mely szolgáltatások érhetők el közvetlenül: pl. Telnet, FTP, Wais, Archie, Gopher, stb. Szabályozza a belső hálózat és a bástya gép közötti forgalmat. Ezt a forgalmat is lehetőleg kevés számú protokollra (SMTP, DNS) és kevés számú belső gépre kell redukálni, hogy a bástya gépről minél kevesebb belső gép legyen támadható. Külső router (Access router) Védi a perimeter és a belső hálózatot az Internet felől. Általában minden forgalmat kienged a perimeter hálózatról. A belső hálózat védelmét biztosító csomagszűrési szabályok mindkét router-en azonosak Csak azon szabályok különlegesek, amelyek a bástya gépet védik az Internet felől.
Tűzfal architektúrák variációi Az eddig tárgyalt architektúrák néhány variácója: Több bástya gépet is lehet alkalmazni A belső és a külső router összevonható A bástya gép és a külső router összevonható Több külső router is alkalmazható, ha szükséges Nem javasolt: A bástya gép és a belső router összevonása Több belső router alkalmazása Csomagszűrés A csomagok szűrése elvégezhető az: IP címek, a protokoll port számok és a protokoll típusa alapján. A router-ek különböző port-jaira külön-külön szabályok adhatók meg, és külön szabályok vonatkozhatnak a bejövő és a kimenő forgalomra. A csomag szűrők előnyei: Egyetlen screening router képes védeni az egész hálózatot A felhasználók részéről semmilyen különleges tudást vagy együttműködést nem igényel A legtöbb router-ben rendelkezésre áll. - 12 A csomag szűrők hátrányai: Nehéz
konfigurálni Nehéz tesztelni A szabályok általában nem kompatiblisek a különböző termékekben Néhány protokoll nem jól kezelhető csomagszűréssel (RPC, NFS, "r" protokollok) Bizonyos biztonsági politikák nem érvényesíthetők: felhasználóra nem lehet szűrni, vagy az alkalmazásokat csak a port számuk alapján szűrhetjük. A csomagszűrő router-ek konfigurálása: Figyelembe kell venni, hogy a Protokollok kétirányúak (kérés - válasz), Különbséget kell tenni a bejövő és a kimenő szolgáltatás között (pl. külső gépre jelentkezünk be Telnet-tel belülről, vagy fordítva) A bejövő és a kimenő szolgáltatásnak egyaránt kétirányú forgalma van Mik az alapértelmezett szabályok: eutasító vagy megengedő. Az elutasító azt jelenti, hogy minden forgalom tiltva van, ami explicite nincs megengedve Ez a megoldás rövidebb szabálylistát eredményez, és biztonságosabb, mint a megengedő. Példák Szűrés cím
alapján Egy megbízható külső hoszt és a belső hálózat között bármilyen IP forgalom megengedett Szabály Irány Forrás cím A Bejövő B Kimenő Megbízható külső hoszt Belső C Bármelyik Bármi Cél cím Belső Megbízható külső hoszt Bármi ACK bit beállítás Bármi Tennivaló Megenged Bármi Megenged Bármi Elutasít Az ACK (acknowledgement) bit a TCP kapcsolat felvételekor, az első üzenetben mindig 0, minden további üzenetben 1. A legtöbb router ezt is tudja vizsgálni - 13 Cisco router-en a fenti szamályokat érvényesítő parancsok: A külső gép IP címe: 172.165150 A C osztályú belső hálózat: 192.1901730 access-list 101 permit ip 172.165150 0000 1921901730 000255 access-list 101 deny ip 0.000 255255255255 0000 255255255255 interface ethernet 0 access-group 101 in access-list 102 permit ip 192.1901730 000255 172165150 0000 access-list 102 deny ip 0.000 255255255255 0000 255255255255 interface ethernet 0 access-group 102
out Szűrés szolgáltatás alapján Egy belső hoszt igénybeveheti bármelyik külső Telnet szerver szolgáltatását A Telnet protokoll szerver oldali port száma: 23 A kliens port száma: > 1023 Szabály Irány A B C Bejövő Kimenő Bármely Forrás cím Belső Bármi Bármi Cél cím Bármi Belső Bármi Protokoll TCP TCP Bármi Forrás port > 1023 23 Bármi Cél port 23 > 1023 Bármi ACK bit beállítás Bármi 1 Bármi Tennivaló Megenged Megenged Elutasít Az A szabály a külső Telnet szerver felé irányuló forgalmat engedi meg. A B szabály a visszajövő csomagokat engedi át. De az ACK = 1 beállítás letiltja, hogy külső gép Telnet kapcsolatot kezdeményezzen a belső hoszt Telnet szerverével. A C szabály az alapértelmezett. Modem -1 - Adatátvitel kapcsolt telefonvonalon Modem Jelenleg a kapcsolt telefonhálózat az egyetlen olyan átviteli csatorna, amellyel a világ bármelyik pontjával beszéd és adatátviteli kapcsolat
teremthető. Hátrányai: − viszonylag nagy kapcsolat felépítési idő, − zajos vonal, − alacsony átviteli sebesség Kiterjedten használják: − Bulletin Board System-ek (BBS) elérésére, − közvetlen számítógép - számítógép kommunikációra, − számítógép hálózatok elérésére. Adatátvitelre kapcsolt telefonhálózaton a két végponton egy-egy modem-re van szükség, amelyek elvégzik a számítógépek illesztését a telefonhálózatra, felépítik, majd az adatátvitel befejezése után lebontják a telefon kapcsolatot a két állomás között és a számítógépek digitális jeleit analóg jellé, majd a vételi oldalon az analóg jelet ismét digitálisra alakítják. Modulátor/demodulátor (Modem) lehetővé teszi digitális jelek továbbítását analóg csatornán. A kapcsolt telefonvonalak sávkorlátozottak (400 - 3400 Hz), egyenfeszültség átvitele nem lehetséges, így digitális jelek sem vihetők át. A számítógép digitális
jeleit a megadott tartományú hangfrekvenciás jelekké kell alakítani, majd a vételi oldalon visszaalakítani digitális jellé. Bérelt vonalak (leased line) Modemeket nemcsak kapcsolt telefonhálózaton, hanem bérelt vonalon történő átvitelre is használnak. Az ilyen modemeknek nem kell a kapcsolat felépítésével és lebontásával foglalkozniuk, a bérelt vonalon állandó kapcsolat van két pont között. A vonal nem feltétlenül (de lehet) mesterségesen sávkorlátozott. Az átvitel sebessége a bérelt vonal minőségétől, az áthidalt távolságtól, a modemek képességétől függ. A bérelt vonal végpontjain használt modemeknek azonos adatátviteli protokollal kell rendelkezniük. Gyakran azonos típusúak, és csak a gyártó saját (proprietary) protokollját ismerik. A bérelt vonali modemek lehetnek 2 és 4 huzalosak. A bérelt vonalak létesítési és havi bérleti díja függ a távolságtól, a telefonközpontok számától, amelyeken áthalad, az
igényelt sávszélességtől (max. átviteli sebesség), és a huzalok számától (2 vagy 4). A továbbiakban a kapcsolt telefonvonalon használható modemekkel foglalkozunk. Az adatút: Számítógép <=> Modem <-----> Telefonhálózat <-----> Modem <=> Számítógép Modem -2 A modem általában számítógép soros interfészére (RS-232C/V.24) csatlakozik szabványos (25 vagy 9 tűs) konnektoron keresztül. Az inerfész legfontosabb jeleinek definíciója a 25 tűs csatlakozó használata esetén: # 20 8 7 6 5 Irány Szg. -> Modem Szg. <- Modem Szg. <- Modem Szg. <- Modem Jel megnevezés Data Terminal Ready (DTR) Carrier Detect (CD) Signal Ground (SIG) Data Set Ready (DSR) Clear To Send (CTS) 4 Szg. -> Modem Request To Send (RTS) 3 2 1 Szg. <- Modem Szg. -> Modem Receive Data (RD) Transmit Data (TD) Shield Ground (SHD) Funkció A sz.g készenlétét jelzi A vivő meglétét jelzi. Föld A modem készenlétét jelzi A modem
nem képes több adat fogadására (puffer megtelt) A sz.g adatok fogadására kész Bejövő adatjel Kimenő adatjel Föld A vivő (carrier) adott frekvenciájú színuszos jel, amelyet az adatátviteli protokollnak megfelelő módszerrel modulálnak. A két modem különböző vivőfrekvenciával rendelkezik A vivő jel megléte jelzi a másik modem jelenlétét. A vivő jel a hívás felépítésekor jön létre, és a kapcsolat lebontásakor vagy megszakadásakor tűnik el. Az RS-232C szabvány egyéb jeleket is tartalmaz, ezeket azonban a modemeknél nem használják. A fenti jelek csak a soros interfész és a modem közötti kapcsolatban játszanak szerepet. A modem - modem kapcsolatot a modem protokoll szabályozza Modem kábel: a számítógépet a modemmel kapcsolja össze. A fenti táblázat összes jelét a két konnektor azonos sorszámú tüskéjére kell kötni! Null Modem kábel Néhány méter távolságban elhelyezett számítógépeket modem nélkül, közvetlenül
is össze lehet kapcsolni. Ez esetben a fenti modem kábel helyett ún Null M odem ká belt kell használni. A Null Modem kábel két csatlakozójában bizonyos jelvezetékeket (hand shaking) ellentétesen kell bekötni az alábbi módon: 1. csatlakozó 2 (TD) 3 (RD) 4 (RTS) 5 (CTS) 6 (DSR), 8 (CD) 7 (SIG) 20 (DTR) <==> <==> <==> <==> <==> <==> <==> 2. csatlakozó 3 (RD) 2 (TD) 5 (CTS) 4 (RTS) 20 (DTR) 7 (SIG) 6 (DSR), 8 (CD) Modem -3 Néhány fogalom Átviteli sebesség Átvitel iránya Aszinkron átvitel Szinkron átvitel Soros port sebessége Modem sebessége Forgalom szabályozás (Flow Control) Baud: a másodpercekénti jelváltások száma. Bps (bit/s): a másodpercenként átvitt bitek száma. A két sebesség nem feltétlenül azonos. Ha egy-egy jelváltás több bitet hordoz, a Bps sebesség többszöröse a Baud sebességnek. Simplex: mindig csak egy irányú adatátvitel (pl. nyomtató) Half duplex: felváltva lehet
kétirányú adatátvitel Duplex: egyszerre kétirányú adatátvitel. Duplex átvitel kapcsolt telefonvonalon (2 huzalos) a két irányban különbözö frekvenciájú vivők használatával lehetséges. Az átviteli adategység a byte. A byte-ok átvitele bit-sorosan történik. Az átvitt adat: − Start bit (1) − adat bit-ek (7 vagy 8) − Paritás bit (1) (lehet páros, páratlan vagy nincs) − Stop bit (1 vagy 2) A bit-időt mérjük bps-ben, az átvitt byte-ok között eltelt időre nincs kikötés. Több byte csomagban történő átvitele. A csomag elején és végén határoló jelek vannak. A csomagban ellenőrző összeg átvitele is lehetséges. Nincs Start és Stop bit A teljes csomag bitjei szinkronizáltan mennek át a vonalon. A soros port általában aszinkron átvitellel juttatja el az adatot a modembe és vissza. Ezt a sebességet a soros port beállításával a kommunikációs program határozza meg. A modem a Hayes-AT parancs bitsebességéből vesz tudomást
a soros port sebességéről. Bejövő hívás esetén a modem jelzi a számítógépnek a modem-kapcsolat sebességét (pl. CONNECT 1200), és a kommunikációs program ehhez igazítja a soros port sebességét. A modem-modem sebesség az adatátviteli protokoll függvénye. A két modemnek közös protokollal kell rendelkeznie, hogy összekapcsolódhassanak. A CCITT Vnn szabványai szót értenek egymással. A kapcsolat-felvétel protokollja: V22 Ha a kapcsolatban résztvevő eszközök: számítógépek (soros portokkal), és modemek nem azonos sebességgel működnek általában ez a helyzet), akkor az adatok valahol torlódnak (pufferek megtelnek), ezért az adatvesztés elkerülése érdekében forgalom-szabályozásról kell gondoskodni. Ha a modem puffere megtelik, mert nem képes a másik modem felé olyan sebességgel továbbítani, mint amilyennel a soros port-tól érkezik, a modem a CTS jel felemelésével, újbóli fogadókészségét pedig a CTS elejtésével jelzi. Ha a
soros port puffere telik meg, mert az adatok túl gyorsan érkeznek a modemtől, a soros port az RTS jel elejtésével, újbóli fogadókészségét pedig az RTS jel felemelésével jelzi. A modem-modem forgalom szabályozásról a modem-protokoll Modem -4 gondoskodik. CCITT protokollok (ajánlás) Az ajánlás meghatározza a: − sebességet, a − modulációs technikát, az − átvitel módját és az − adatátviteli hibák kezelésének módját Szabvány V.22 V.22bis V.32 V.32bis Baud - sebesség 1200 600 2400 2400 Bit - sebesség Bit/Baud arány 1200 1 2400 4 9600 4 14400 6 Mód Full duplex Full duplex Full duplex Full duplex A többi V.xx protokol nem adatátviteli protokoll, hanem − hiba kezelő (error control) vagy hiba javító (error correction) protokoll, − adat tömörítő (data compression) protokoll Hiba javító, adattömörítő protokollok V.42 hiba javító protokoll (LAPM - Link Access Protocol for Modems) Nincs Start és Stop bit (8 bit/byte)
V.42bis adattömörítő protokoll Módszer: Limpel-Ziv (max. 4:1 tömörítés ASCII text file esetén) Pl. V32 + V42bis - 9600 * 2 = 19200 bps Gyári szabványok (Proprietary protocol) Csak azonos típusú modemmel kommunikálhatnak, de általában van egy közös 2400 bps “fall back” protokoll, amivel szót értenek más gyártmányú modemekkel. Átviteli protokoll: HST, DIS PEP Hibajavító, adattömörítő protokoll: MNP, CSP MNP (Microcom Networking Protocol) protokoll: Hiba javító: MNP 2 - 4 Adattömörítő: MNP 5 (max 2:1 tömörítés) A V.42 és a V42bis szabvány előírja az MNP-t, mint “fall back” protokollt Modem -5 A V.24bis felismeri a tömörített file-t és nem kísérli meg tovább tömöríteni, az MNP 5 nem ismeri fel! A modem beállításoknak összhangban kell lenniük a kommunikációs program beállításaival. Error Control (EC) modem hardver local flow control-t használ (RTS/CTS), a szoftverben is RTS/CTS-t kell beállítani az Xon/Xoff
kikapcsolása mellett. Az Xon/Xoff szoftver flow control bekapcsolása bajt okozhat bináris file-ok átvitelekor. A modem-modem flow control-t az EC szabályozza, a modem-gép flow control-t pedig a modem-ben és a gépben beállított RTS/CTS vezérli. Modem üzemmódok 1. Parancs mód (Command mode) Bekapcsoláskor ebbe a módba kerül 2. Adatátviteli mód (Data mode vagy On-line mode) Az adatokat átviszi a vonalon a másik modem felé A modem on-line módban figyeli a: − Carrier Detect (CD) jelet, a − Data Terminal Ready (DTR) jelet és az − adatfolyamban lévő escape szekvenciát (+++) Ha a DCD vagy a DTR jel eltűnik, vagy +++ szekvencia érkezik, a modem parancs módba kerül. A két modem a kapcsolat felvételekor egyezteti az − adatátviteli sebességet (átviteli protokollt) pl. V32bis, a − hibakezelés módját, pl. V42 (LAPM) error control, az − adattömörítés módját, pl. V42bis data compression Hayes parancsok: Parancssor prefix AT (ATtension Code) egy
vagy több parancsot jelez. A kommunikációs port (RS-232C) az “A” és a “T” karaktert küldi ki a modemnek. A modem ebből állapítja meg az adatátviteli sebességet, a paritás beállítást és a Stop bitek számát. A modem ezt a beállítást használja a következő AT parancsig. Az AT parancsot Enter (CR) zárja. Két olyan parancs van, amelyet nem kelll Enter-rel zárni: +++ (Scape szekvencia) és az A/ (parancs ismétlés) parancs AT sebességei: 57600, 38400, 19200, 14400, 9600, . 300 bps A modem beállításait a kikapcsoláskor nem törlödő (Non volatile) RAM-ban tárolja. Modem -6 A modem válaszai a parancs végrehajtásakor a kommunikációs programnak: OK parancs végrehajtása sikeres, ERROR parancs végrehajtása sikertelen, CONNECT kapcsolat létrejött, BUSY hívott fél foglalt, NO CARRIER vivő elveszett, RING kicseng, NO DIAL TONE nincs tárcsahang, stb. Fontosabb Hayes modem parancsok AT D T P +++ H O A/ &Fn ATZ vagy ATZ0 ATZ1 AT&Z
ATDS= ATDL ATS0=1 AT&V AT prefix. A parancsokat ez vezeti be Dial (tárcsáz). Ezt követi a telefonszám Touch-tone. Tárcsázás hanggal Pl ATDTszám Pulse. Tárcsázás impulzusokkal Pl ATDPszám Escape Character Sequence: Átkapcsolás átviteli módból parancs módba. Kb. 1s várakozás után legfeljebb 1s időközönként +++ karakterek kiküldése a modemnek, parancs módba viszi a modemet. A modem OK-val válaszol. Az időzítések állíthatók! Ezután parancsok adhatók ki. Pl ATH - hung up ATO - On-line (ismét átviteli mód) Hung up. Kapcsolat megszakítása On-line. Kommunikáció folytatása Előző parancs megismétlése Factory defaults n=0,1,2,3. Gyári beállítás kiválasztása Pl AT&F1DT0,P113-9813 &F1 - 1. gyári beállítás kiválasztása , - rövid várakozás P - tárcsázás pulzusokkal 113-9813 - telefonszám modem reset a 0. RAM konfigurációra modem reset az 1. RAM konfigurációra Telefonszám tárolása. Pl AT&Z1=P0WT113-9813 (Z0
vagy, 1, 2, 3) modem függő! Tárolt szám hívása. Pl ATDS=0 (vagy 1, 2, 3) A legutóbb tárcsázott szám ismételt hívása. Automatikus válasz. Az S0 regiszter értéke 1 lesz Az első csöngetés után a modem answer módba kerül. ATS0=0. Auto-answer kikapcsolása Konfiguráció megtekintése Modem -7 A modem regiszter tömbjei: ACP: Active Configuration Profile - a modem működési paraméterei Aktív beállítás FCP: Facory Configuration Profile - gyári beállítások 0. Gyári beállítás 1. Gyári beállítás 2. Gyári beállítás 3. Gyári beállítás SCP: Stored Configuration Profile - tárolt beállítások 0. Tárolt beállítás 1. Tárolt beállítás Minden beállítás tartalmazza a modem működési paramétereit és az S-regisztereket. A modem működési paramétereit az ACP regiszter-tömb tárolja. Bekapcsoláskor az egyik (default) SCP átmásolódik az ACP-be, és a modem ezekkel a beállításokkal dolgozik. A default SCP-t az AT&Yn
paranccsal állíthatjuk be Az ACP tartalma AT parancsokkal módosítható. FCP --> ACP ACP --> SCP SCP --> ACP AT&Fn AT&Wn ATZn Néhány S-regiszter (S1, S3, S4, S5) ROM-ban van. Bekapcsoláskor az ACP-be másolódnak, itt módosíthatók, de nem tárolhatók el az SCP-ben! S-regiszterek 0 -255 darab 8-bites regiszter(jó néhány belső használatra való). Szám vagy karakter tárolására használjuk. A modem meghatározott célra használja a tárolt értékeket ATSn? ATSn= Read S-regiszter n Write S-regiszter n Néhány regiszter szerepe: S2 Escape karakter S3 CR S4 LF S5 BackSpace S7 Ennyi ideig (sec) vár a modem a vivőre (carrier) tárcsázás után Modem -8 Parancsok osztályozása Prefix, repeat, escape AT, A/, +++ Answer, dial és reset parancsok A - answer call D és P, T, W, S= DL &Fn Z0, Z1 Modem teszt parancsok Eredmény kód és párbeszéd üzenet parancsok Xn Pl. X3: vakon tárcsáz, nem vár tárcsahangra, BUSY-t küld X4: CONNECT, NO
DIAL TONE és BUSY üzenetet küld Hangszóró vezérlő és hangerő beállítás parancsok L0 vagy 1, 2, 3 - hangerő M0 vagy 1, 2, 3 - mikor legyen bekapcsolva a hangszóró Moduláció, fallback, flow control és mode parancsok &K3 RTS/CTS hardver flow control bekapcsolása &Q5 V.42 error control bekapcsolása (flow control is kell hozzá) B0 kezdeti párbeszéd CCITT V.22 ajánlás szerint 1200 bps-en Modem funkció és modem válasz beállítás parancsai &C1 nyomon követi a távoli modem Carrier Detect jelét &D2 nyomon követi a Data Terminal Ready (DTR) jelet. ON -> OFF átmenet megszakítja a kapcsolatot. Információ lekérés parancsok In 0 -6 &V konfiguráció lekérés Hallgató fel/le és folytatás parancsok H0 On-hook (hung up) H1 Off-hook (pick up) Memória írás és viselkedés bekapcsoláskor parancsok &W0 vagy 1 Aktív profil -> Tárolt profil &Y0 vagy 1 bekapcsoláskor melyik tárolt profil töltődjön be &Zi=n telefonszám
tárolása (i=0, 1, 2, 3) Modem -9 File átviteli protokollok (File Transfer Protocol) File átvitelét a kommunikációs program teszi lehetővé. A modem nem ismeri a file fogalmát Ez a program törödik a file nevével, méretével, az adatok hibátlanságával. A részleteket az átviteli protokoll kezeli. Fontosabb file átviteli protokollok XMODEM YMODEM IMODEM és YMODEM-G ZMODEM KERMIT 128 byte/blokk. A file erdeti hossza elvész! A file nevét is továbbítja. CRC-t kezel Minden blokkot visszaigazol (acknowledgement) (pozitív:ACK, negatív:NAK). A hiba kezelés nem modem-modem közötti, hanem gép-gép közötti. Hiba javító modem (EC) esetén a hibakezelés redundáns. hatékonyabb, mint az XMODEM, de a redundáns hibakezelés megmaradt. Nem végez hiba ellenőrzést, ezért hatékonyabb, de csak EC modem esetén szabad használni. Hiba ellenőrzés van. A megszakadt file átvitelét folytatni képes. Visszaigazolás csak a file végén van. Ez az egyik legjobb
protokoll. Blokk átvitel. File-név, hossz, dátum, idő is átmegy. Több file-t tud átvinni. Lassabb az XMODEM-nél Bizonyos karakterek helyett 2 karaktert visz át és a vételi oldalon visszaállítja az eredetit. Tömörít. -H1- Adatkommunikációs hálózatok és nyitott rendszerek Tartalom: 1. Háttér 2. Adatkommunikációs hálózatok 3. Szabványok 4. ISO Referencia Modell 5. Nyitott rendszerek szabványai Megismerjük az alábbiakat: − A számítógépes kommunikációs hálózatok különféle alkalmazásai − Az alkalmazásokban használt adatkommunikációs hálózatok különböző típusai − Az ISO Referencia Modell réteg struktúrájának megismerése − Az egyes rétegek szerepe az ISO Referencia Modellben − A TCP/IP protokoll készlet és kapcsolata az ISO Referencia Modellel − Az ISO protokollokra épülő szabványos protokoll készlet 1. Háttér Alkalmazás típusok: adatcsere számítógépek között (file transzfer, adat elérés távoli
adatbázisból kapcsolt telefon hálózaton keresztül, elektronikus levelezés cégen belül vagy cégek között, banki tranzakciók, helyfoglalás repülőgép járatokra, számítógép erőforrásainak megosztása (disk, printer), nagygépek igénybevétele, tervezés, gyártás irányítása). Foglalkozunk: HW, SW feltételekkel. Hogyan dolgozik két vagy több szg egy osztott alkalmazáson, amelyek különböző szó mérettel, karakter készlettel, különböző op. rendszerrel működnek. Különböző típusú kommunikációs szolgáltatások léteznek különböző jellegű alkalmazásokra. Az adatkommunikációs szolgáltatástól függetlenül a következő problémákkal kell szembenéznünk: − bit-soros átvitel (paralell-soros átalakítás) − hiba kezelés (error control): az átvitel során fellépő hibák észlelése, javítása, az adatok újra adása − az adattovábbítás ütemezése, az átviteli sebesség megválasztása (flow control) − adatútvonal
létesítése (ha közbenső adathálózat is van) -H2- 1. ábra Az alkalmazói processz és a kommunikációs alrendszer közötti interfész különböző lehet a két gépben a két gép eltérő sajátoságai (karakter készlet, stb.) miatt 2. Adatkommunikációs hálózatok Választás a hálózatok között az alábbiak függvénye: − az alkalmazás jellege − a számítógépek száma − a távolság -H3Két számítógép esetén 2. ábra Egyszerű számítógép - számítógép közötti összeköttetés -H4Több gép érdekelt az alkalmazásban: Local Area Network (LAN) 3. ábra -H5Számítógépek különböző telephelyen vannak: 4. ábra Közszolgáltatást kell igénybe venni: Wide Area Network (WAN) − Bérelt vonalakkal felépített privát hálózat (nagy cégek, nagy forgalom) − Public Switched Data Network (PSDN) − Integrated Serviced Digital Network (ISDN): teljesen digitális, modemek használata nem szükséges -H6Az egész
világot átfogó hálózat World wide internetwork 5. ábra 3. Szabványok Gyári szabványok (proprietary standarts): zárt rendszerek Ajánlások a hálózatra kapcsolódásra: V - sorozat: DTE - PSTN (DTE : Data Terminal Equipment) X - sorozat: DTE - PSDN I - sorozat: DTE - ISDN -H7Magasabb szintű szabványok foglalkoznak az adatok szintaxisával és a vezérlő információk cseréjével. Így különböző HW és SW gyártók rendszerei alkalmazhatók a szolgáltatások igénybevételére. A szabványosítás eredménye: Open Systems - Nyitott Rendszerek 6. ábra A nyitott rendszerek szabványi közül az első az összes számítógépen belül egy teljes kommunikációs alrendszer: ISO Reference Model for Open System Interconnection (OSI) Az ISO RM egy keret rendszer a szabványok fejlesztéséhez, amely lehetővé teszi a már létező és az új szabványok fejlesztésének egységes keretbe foglalását. A végső cél, hogy egy alkalmazás, amely eleget tesz bizonyos
szabványoknak egy számítógépen, szabadon kommunikálhasson egy másikkal gyártótól függetlenül. Néhány példa olyan alkalmazásokra, amelyek nyitott rendszerben kommunikálnak: − program, amely távoli file rendszert használ; − program (process), amely központi file szolgáltatást biztosít (szerver) elosztott közösség számára (kliens); − process, amely elektronikus levelezést vesz igénybe; − process, amely elektronikus levelezést szolgáltat egy elszórtan elhelyezkedő közösség számára; − egy felügyelő számítógépen futó process, amely elszórtan elhelyezkedő szg. alapú eszközöket (robot, gyártósor) irányít − egy berendezésen vagy robot kontrolleren futó process, amely parancsokat fogad és eredményeket továbbít a felügyelő rendszernek; − process egy bank számítógépén, amely banki tranzakciót kezdeményez egy távoli rendszerben -H8Nyitott rendszerek összekapcsolása lehetővé teszi ilyen folyamatok
információ cseréjét. Alkalmazói process-ek kooperálnak és bizonyos feladatot elvégeznek függetlenül attól, hogy milyen számítógépen futnak. 4. ISO Referencia Modell A bonyolult kommunikációs alrendszer ún. rétegekre (layer) van felosztva, amelyek jól definiált feladatot hajtanak végre. Az egyes rétegek meghatározott protokoll szerint működnek és csrélnek adat- és vezérlő információt a neki megfelelő peer réteggel. Az egyes rétegek közötti interface jól definiált, így az egyes rétegek megvalósítása független a többi rétegtől. 7. ábra Az ISO Referencia Modell 7 rétegű: 1. - 3 5. - 7 4. hálózat függő alkalmazás függő a fenti két csoport közötti kapcsolatot teremti meg -H9- Az egyes rétegek egy protokollként vannak specifikálva, amelyek egy csomó szabályt, konvenciót tartalmaznak, hogy a megfelelő peer réteggel kommunikálhassanak. Minden réteg egy szolgáltatás halmazt biztosít, a fölötte lévő rétegnek,
és felhasználja az alatta lévő réteg szolgáltatásait. 8. ábra - H 10 1. Fizikai réteg A bit kommunikációért felelős. Feszültség szintek, bithossz, egyirányú vagy kétirányú átvitel egyidejűleg. A kapcsolat hogyan épüljön föl és bomoljon le Csatlakozók típusa, a tüskék funkciója, stb. Mechanikai és elektromos interfész, amelyek az átviteli közeggel is kapcsolatosak. 2. Adatkapcsolati réteg A hálózati réteg számára hibamentesnek tűnő vonalat mutat. A küldő az adatokat adatkeretekké tördeli, sorrendhelyesen továbbítja, végül a vevő nyugta keretét feldolgozza. Felismeri az adatkeretek határait Hibás keret esetén újra adás Sérült, elveszett, kettőzött keretek miatt bekövetkező problémák megoldása. Forgalom szbályozási mechanizmust biztosít (flow control) (gyors adó - lassú vevő probléma megoldása). 3. Hálózati réteg A kommunikációs alrendszer működését vezérli. A csomagok útvonalának meghatározása
a forrástól a célig. Az útvonal lehet − behuzalozott, − a kapcsolat felépülésekor jön létre, − minden csomagra külön-külön lesz meghatározva További feladatok: − torlódások elkerülése, − Számlázás a forgalmazott csomagok, karakterek, bitek száma szerint Ha több, heterogén hálózaton megy keresztül az adat, eltérő lehet a hálózatok címzési módszere, max. csomag mérete, protokolljai 4. Szállítási réteg Adatokat fogad a viszony rétegtől, kisebb darabokra tördeli (ha kell), majd továbbadja a hálózati rétegnek, és biztosítja, hogy minden darab hibátlanul megérkezzék a másik oldalra. Elfedi a hardver technikában bekövetkező változásokat. A szállítási réteg - a viszony réteg kérésére - létrehozza a hálózati összeköttetést. A szállítási összeköttetés 3 típusa: − hibamentes csatorna két pont között (pl. TCP protokoll) − az üzenetek továbbítása nem sorrendhelyes (pl. UDP protokoll) −
célállomás csoportnak küldenek üzenetet Ez egy valódi End to End réteg. Közvetlenül a másik réteggel társalog Az alatta lévő rétegek még közbenső eszközöknek küldenek üzenetet. - H 11 A szállítási réteg az összeköttetés létrehozásán kívül valamilyen névadási mechanizmussal az egyik gépen futó folyamat megnevezi azt a folyamatot a másik gépen, amellyel társalogni kíván (folyamat - folyamat összekapcsolása). Információ áramlási mechanizmussal is rendelkezik. 5. Viszony réteg Lehetővé teszi, hogy különböző gépek felhasználói viszonyt létesítsenek egymással. A szállítási réteghez hasonlóan közönséges adatátvitelt tesz lehetővé kiegészítve néhány szolgáltatással pl. távoli bejelentkezés vagy állomány továbbítás Párbeszéd szervezése: egyidőben 1 vagy 2 irányú összeköttetés. Ha csak egyirányú, nyomon követi, hogy melyik fél következik. 6. Megjelenítési réteg Az átviendő adat
szintaktikájával és szemantikájával is foglalkozik. A karaktereket, numerikus értékeket szabványos módon ábrázolja. Elvégzi az oda - vissza konvertálást Ide tartozik az adattömörítés, hitelesítés, titkosítás. 7. A lkalmazói réteg Hálózati virtuális terminál kezelése Állomány továbbítás Elektronikus posta Távoli munka bevitel Katalógus kikeresés stb. 5. Nyitott rendszerek szabványai Az ISO Referencia Modell egy keret rendszer. Nincs egyetlen szabványos protokoll hozzárendelve minden egyes réteghez, hanem több is van, mindegyik más-más szintű funkcionalitással. Egy bizonyos nyílt rendszerű környezetben egy sorozat protokollt valósítanak meg az összes rendszerben, pl. automatizált gyártásnál Az OSI előtt, illetve vele párhuzamosan jött létre az US Department of Defense kezdeményezésére a Defense Advanced Research Projects Agency (DARPA) révén az ARPANET internetwork. Később kormányhivatalokkal, egyetemekkel kiegészülve
létrejött ay Internet A protokoll készlet (protocol suite, protocol stack) neve: Transmission Control Protocol/Internet Protocol (TCP/IP) - H 12 - 9. ábra Lényegében két gyártófüggetlen nyitott rendszrű szabvány létezik: − TCP/IP protokol suite − ISO szabványok 10. ábra Standards summary ? Adott feladatra kiválasztott protokol stack: open system interconnection profile Pl. : TOP: Technical and Office Environment MAP: Manufacturing Automation - H04 1 - Hálózatok illesztése az adatkapcsolati rétegben Követelmények: • Sok gép hálózatba kapcsolása, • LAN-ok kiterjedése nő, • LAN szegmensek összekapcsolása, • Nagy sávszélesség Összeköttetési módok: • LAN-ok a tárgyalt topológiákkal • Összeköttetés a fizikai rétegben: jelismétlők (repeater): csak a jelek regenerálását és továbbítását végzik a portok között. A meghibásodott szegmenseket esetleg lekapcsolják. Bármely szegmensben továbbított keret az
összes szegmensre átterjed még akkor is, ha nem egy másik szegmensen lévő munkaállomásnak címezték. Ez feleslegesen terheli a hálózatot • A LAN-okat hidakkal (bridge) összekötve a fenti probléma megoldódik. Ez esetben az illesztés az adatkapcsolati rétegben történik. - H04 2 - Hidak két vagy több szegmenst köthetnek össze (multiport bridges). A hidakat gyakran használják gerinchálózatokban. Ekkor általában nem kapcsolnak gépeket a gerinchálózatra (kivéve szerverek). A gerinc a szegmensközi forgalmat bonyollítja le. Az összekapcsolt szegmensek általában azonos típusúak: CSMA/CD, token bus vagy token ring. Ha a szegmensközi forgalom meghaladja a LAN-ok sávszélességét, nagy sebességű technológiát használnak: FDDI, DQDB. Ekkor az összekapcsolt szegmensek nagyobb területen helyezkedhetnek el. Hidak (Bridge) 802.x LAN-okat kötnek össze Az adatkapcsolati rétegben (MAC alréteg) működnek Használatának okai: − különböző
LAN-ok összekapcsolása − távoli LAN-ok összekötése (pl. épületek között infravörös fény átvitele) − szegmens-terhelések csökkentése − nagy távolság (pl. Ethernet esetén, ha túllépjük a 25 km-t) − megbízhatóság (hibás állomások kiszűrése) − biztonság (érzékeny forgalom kiszűrhető) - H04 3 a. M unkaállomás M unkaállomás T L T L N L N L LLC LLC MAC MAC Repeater PHY Repeater PHY L A N szegmens L A N szegmens L A N szegmens b. M unkaállomás M unkaállomás Híd T L T L N L N L LLC LLC Relé MAC MAC PHY PHY MAC MAC PHY PHY L A N szegmens L A N szegmens L A N-ok összekapcsolása: a. ismétlõ (repeater) b. híd (bridge) A hidak alkalmazásánál fellépő problémák: Elõtag K ezdet Hozzáférés K eret határoló vezérlés vezérlés Cél és forrás címek Hossz a. b. c. A z IEEE 802 keretformátumai: a. 8023, b 8024, c 8025 A dat PA D Ellenõrzõ összeg V ég határoló - H04
4 - Az egyes LAN-oknál különbözhetnek − a keretformátumok, új CRC-t is képezni kell, stb. − az adatsebességek, − a max. csomagméret (ez a legsúlyosabb probléma) 802.3 1518 byte 802.4 8191 byte 802.5 max 10ms (500 byte) Keret darabolás nem lehetséges, mert a 802-es protokoll ezt nem teszi lehetővé. A 802.x - 802y hidak összekapcsolásának 9 különböző változata lehetséges: 802.3 - 8023, 802.3 - 8024, 802.3 - 8025, 802.4 - 8024, 802.4 - 8025, 802.5 - 8025, 802.4 - 8023, 802.5 - 8023, 802.5 - 8024 Ennyiféle konverziót kell megoldani. A hidak működése Transzparens hi dak: (transzparens). a kommunikáló állomások számára láthatatlan - H04 5 a. A híd f el építése Á llomás cím Híd Port szám A dattovábbítás adatbázisa Port kezelõ szoftver Híd protokoll 2. híd port 1. híd port M emória puffer MAC chipset MAC chipset "A" LAN szegmens "B" LAN szegmens M unkaállomások M unkaállomások b. m ûk
ödési p é l d a Á llomás cím 1 2 3 4 5 6 Port szám Á llomás cím 1 1 2 2 2 2 1 2 3 4 5 6 1. híd 1. port 2 port 1 2 Port szám 1 1 1 1 2 2 2. híd 1. port 2 port 3 4 5 Kezdetben a hidak címtáblája üres. Bejövő csomag esetén a híd minden kimenetén kimegy a csomag (elárasztás). A hidak a bejővő keretek címéből tanulják meg, hogy melyik állomás, a híd melyik portján lévő LAN-on helyezkedik el. A táblázatában feljegyzi a gép címét (MAC számát, pl Ethernet címét) és a bejegyzés időpontját. Új keret érkezésekor ezt az időpontot frissíti Néhány percnél régebbi bejegyzések törlődnek, hogy az esetleges topológia változásokat követni lehessen (dinamikus topológia követés!). 6 - H04 6 Ha a hálózatban hurok van, a keretek vég nélkül keringenek a hálóaztban. Ezt küszöbölik ki a “Spanning tree algoritmussal”. A hiadak a bridge protokoll segítségével olyan táblákat építenek, hogy bármely két
állomás között csak egyetlen útvonal legyen. A f orrás által f orgalomirányított h idak (source routing bridges) más elven működnek: a csomagok tartalmazzák a követendő útvonalat is. A hidak hátrányi: − tárol - továbbít elven működik (store and forward), a kereteket puffereli, ami késleltetést okoz. − adattovábbítás vezérlés (flow control) nem lehetséges a MAC rétegben. Nagy forgalom esetén túlterhelődik A különböző kerethosszakból eredő problémát úgy küszöbölik ki, hogy a forrás állomás ismeri a legrövidebb kerethosszt és ennél hosszabb keretet nem bocsát ki. Másik megoldás bridge-router (brouter) alkalmazása. Ez olyan eszköz, amely a MAC és a hálózati rétegben is képes működni. Internet használata (internetworking) Az együttműködő számítógépek kapcsolódhatnak kizárólag LAN-hoz, kizárólag WAN-hoz, vagy LAN-ok és WAN-ok együtteséhez. LAN-ok és WAN-ok összekapcsolását nevezik internet-nek, az
ilyen módon együttműködő számítógépes alkalmazásokat internetworking-nek. A hálózatokat összekapcsoló eszközök: Intermediate System (IS) (közbenső rendszer). • A legfontosabb funkciójuk miatt router-nek vagy gateway-nek is hívják ezeket. A router az egyes port-jain különböző hálózati protokollokkal rendelkezhet, mivel teljesen eltérő hálózatokat kapcsolhat öszze. • Az IS-t protokoll konverternek nevezik akkor, amikor olyan hálózatokat kapcsolnak össze, amelyek teljesen eltérő protokoll készlettel (protocol stack) rendelkeznek. Az eltérő hálózati protokollokon kívül a hálózatfüggetlen protokoll rétegek is teljesen különbözők lehetnek. pl elektronikus levél átalakítása. - H04 7 M unkaállomás M unkaállomás A lkalmazói processz A lkalmazói processz A L A L P L P L IS Router/gateway S L S L T L T L Relay N L N L N L N L D L D L D L D L PHY PHY PHY PHY Network 1. Network 2. Intermediate
system (IS): router/gateway - H04 8 M unkaállomás M unkaállomás IS Protokoll konverter A lkalmazói processz A lkalmazói processz Relay A L A L A L A L P L P L P L P L S L S L S L S L T L T L T L T L N L N L N L N L D L D L D L D L PHY PHY PHY PHY Network 1. Network 2. Intermediate system (IS): protokoll konverter - H04 9 Internetwork architektúrák - H04 10 - Az Internetworking alábbi témáit tárgyaljuk: • • • • • • • Hálózati szolgáltatás (Network service) Címzés (Addressing) Forgalomirányítás (Routing) A szolgáltatás minősége (Quality of Service: QoS) Maximális csomagméret Adattovábbítás és torlódás vezérlés (Flow and congestion control) Hibajelzés (Error reporting) A több és esetleg különböző összekapcsolt hálózat ellenére az együttes hálózatnak a host-okon egységes hálózati szolgáltatást kell nyújtania, minhta tiszta LAN vagy WAN lenne. Hálózati
szolgáltatás (Network service) Feladata: csomagok eljuttatása forrásból célba, miközben több csomóponton kell keresztül haladniuk. A hálózati réteg szolgálatainak (feladatainak) meghatározásánál az alábbi célokat veszik figyelembe: 1. A szolgálatok függetlenek legyenek az alhálózat technikájától 2. A szállítási réteg elől el kell takarni a jelenlévő alhálózatok számát, típusát és topológiáját. 3. A szállítási réteg számára hozzáférhető hálózati címeknek egységes számozási rendszert kell alkotniuk (LAN-okon és WAN-okon egyaránt) Két fő megoldás létezik: összeköttetés alapú és összeköttetésmentes 1. Összeköttetés alapú kapcsolat A telefon kapcsolatot lehet analógiaként tekinteni: hívás felépítés, beszélgetés, bontás. Általában WAN-oknál használják és közszolgáltatást vesz igénybe (pl X.25) A viszonylag nagy késleltetés és a gyakori átviteli hibák miatt összeköttetés alapú
kapcsolattal működik. Feladatok: kapcsolat felépítése, két irányú kommunikáció, csomagok kézbesítése hibátlanul és sorrend-helyesen (FIFO). A forgalom szabályozás eleve biztosított. Az alhálózat bonyolult, a hoszt egyszerű. 2. Összeköttetésmentes kapcsolat Analógia a levél kézbesítés: az egymásután feladott leveleket különböző útvonalon továbbíthatják, és nem biztos, hogy a feladás sorrendjében érkeznek meg. Ilyen hálózat az Internet - H04 11 A LAN-oknál összeköttetésmentes kapcsolatot használnak, mivel az átviteli késleltetés alacsony és kicsi a hiba valószínűsége. Az alhálózat az összeköttetés nélküli kapcsolat miatt megbízhatatlan, a hibavédelmet és a forgalomszabályozást a hosztok oldják meg (a két végpont). Csak csomagküldés és fogadás van. Minden egyes csomag hordozza a teljes címet, mivel a csomagok küldése egymástól független. Az alhálózat egyszerű, a hoszt bonyolult. Az ISO mindkét
típusú szolgálatot tartalmazza. Címzés (Addressing) A hálózati rétegben használt címnek a teljes hálózaton azonosítania kell a számítógépet. A MAC címek nem használhatók a teljes hálózat címzésére. A hálózati címet és a MAC címet együttesen alkalmazzák. A közeghozzáféréshez a MAC címet (pl Ethernet cím), a teljes hálózati címzésre a hálózati címet (pl. IP cím) használják Az IS-nek (pl. router), mivel több hálózatra is csatlakozik, minden portjára rendelkeznie kell MAC címmel. Forgalomirányítás (Routing) Ha az együttműködő gépek ugyanazon a hálózaton vannak, elegendő a MAC címek használata. Ellenkező esetben a hálózati cím azonosítja a partner számítógépet egy másik hálózaton. A hálózati csomagok route-olásáról kell gondoskodni A hálózati cím önmagában nem elegendő a csomag route-olására. A továbbítandó csomagot a célállomás hálózati címével együtt el kell küldeni az ugyanazon a
hálózaton lévő router MAC címére. A router-nek pedig vagy a céllállomás MAC címére, vagy egy másik router MAC címére kell továbbítania a kézbesítendő csomagot. Az alábbi példában az 1. hálózat 1 gépe küld csomagot a 4 hálózat 1 gépének A példa topológiáját szemlélve az alábbi kérdések merülnek fel: • • • • • Honnan tudja meg a host a hálózatra kapcsolt router-(ek) MAC címét? Hogyan határozza meg egy router a hálózatra kapcsolt host-ok MAC címét? Hogyan választja ki a host azt a router-t, amelyiknek a csomagot elküldi? Hogyan határozza meg egy router az ugyanarra hálózatra kapcsolt router-ek MAC címét? Hogyan választja ki a router, hogy melyik másik router-nek továbbítja egy host-nak szóló csomagot? Az internet routing-nak választ kell adnia ezekre a kérdésekre. - H04 12 - A szolgáltatás minősége (Quality of Service: QoS) Paraméterek összessége, amelyek leírják a szolgáltatás teljesítményét,
jóságát, amelyet a hálózatot használó elvár a szolgáltatótól. Ezek: • csomag késleltetés, • az illetéktelen megfigyeléssel vagy beavatkozással szembeni védelem szintje, • a továbbítás költsége, • az átviteli hiba valószínűsége, • a relatív prioritás - H04 13 Összeköttetés alapú hálózatnál a kapcsolat létesítésénél a két hálózati felhasználó “megbeszéli” a QoS paramétereket. Összeköttetés nélküli hálózatnál a kapcsolat kezdeményezőjének ismernie kell a szolgáltatás QoS paramétereit. Maximális csomagméret A max. csomagméret különböző az egyes hálózat típusokban A max csomagméretet az alábbi tényezők befolyásolják: • a hiba arány, • az átviteli késleltetés, • a puffer méret igény és • az overhead (a hasznos adatot kísérő egyéb információ mennyisége: címek, CRC, stb.) A szállítási réteg szükség szerint fregmentálja az átviendő adatokat a hálózati réteg
számára továbbításra. A hálózati réteg a különböző alhálózatokon történő továbbítás során tovább tördeli, majd a vétel helyén újra összeállítja a csomagokat. Adattovábbítás és torlódás vezérlés (Flow and congestion control) Flow control mechanizmus szabályozza a különböző sebességű és leterheltségű végállomások közötti adatforgalmat. A congestion control az adatok hálózaton belüli torlódásának feloldását jelenti. Az összekötettés alapú hálózatok esetén a keretek nyugtázása biztosítja a flow control-t. A feladó nem küld addig újabb keretet, amíg bizonyos számú feladott keret nyugtázása meg nem történik. Az összekötettés nélküli hálózatoknál a flow control-t a szállítási réteg oldja meg. Hibajelzés (Error reporting) A hibák jelzésének módja hálózatonként eltérő. Több összekapcsolt és eltérő típusú hálózat esetén a megfelelő hibajelzésről gondoskodni kell. Internet protokoll
szabványok ARPANET hálózatból fejlődött ki az Internet. Az internet protokoll egy teljes protokoll készlet (stack): TCP/IP. Szállítási és alkalmazói protokollokat egyaránt tartalmaz. A specifikáció nyilvános (RFC-k) Ma ez a legáltalánosabban használt nyílt szabvány. A TCP/IP készlet állandóan fejlődik és bővül, de van egy magja, amelyik minden implementációnak része. - H04 14 - Internet IP A hálózati protokoll neve: Internet protocol (IP). Összeköttetésmentes protokoll Adatgarammák mennek a forástól a célig, nem feltétlenül megbízható módon, több hálózaton keresztül. A megbízhatósági mechanizmust a szállítási rétegbe helyezték, ahol megbízható end-to-end összeköttetés létesíthető megbízhatatlan hálózaton keresztül. Címzés A cím 32 bites. Hogy különbüző méretű hálózatokat lehessen kialakítani, 3 alap osztályt hoztak létre: A, B és C. A cím 2 részből áll: • hálózati cím • host cím -
H04 15 - Pl. “A” osztályú cím: 10.000 “B” osztályú cím: 128.323 “C” osztályú cím: 192.19017344 (hálózati cím: 10, host cím: 0.00) (hálózati cím: 128.3, host cím: 2.3) (hálózati cím: 192.190173, host cím: 44) “C” osztályú hálózatban 254 host gép helyezhető el. Lehetőség van ún. subnet-ek kialakítására a hálózaton belül úgy, hogy az osztály címtartományát feldaraboljuk. A hostok jelölésére szolgáló bit-csoport egy részét a hálózat jelölésére szolgáló bit-csoporthoz csatoljuk (lásd az ábra b. pontját) A subnet-cím határa nem merev, ezt a router-ekben és a host-okban egy ún. address mask-kal adjuk meg. - H04 16 A maszk hálózati címnek megfelelő bit helyeire “1”-est írunk, a host címnek megfelelő helyekre pedig “0”-t. A példa “B” címének osztályú subnet mask-ja: 255.2552550 (a szokásos decimális leírással). Ezzel a “B” osztályú hálózatunkban 256 subnet-et (alhálózatot)
alakíthatunk ki, amelyek között ugyanúgy route-olhatunk mint különböző hálózatok között. Az IP címeknek egyedieknek kell lenniük. A hálózati címeket az Internet központi hatósága a Network Information Center (NIC) vagy egy nemzeti meghatalmazott intézmény adja ki. A host címeket pedig a hálózatot üzemeltető intézmény rendeli az egyes gépekhez. - H04 17 - IP adatgramma A hálózati protokoll neve: Internet protocol (IP). Összeköttetésmentes protokoll Adatgarammák mennek a forástól a célig, nem feltétlenül megbízható módon, több hálózaton keresztül. A megbízhatósági mechanizmust a szállítási rétegbe helyezték, ahol megbízható end-to-end összeköttetés létesíthető megbízhatatlan hálózaton keresztül. Az IP működése: A szállítási réteg a felsőbb rétegtől kapott üzeneteket max. 64KB-os méretű adatgrammákra tördeli. (Lehet, hogy ezek útjuk során még kisebb darabokra lesznek tördelve). A vétel helyén,
az összes adatgramma megérkezése után a szállítási réteg újra összerakja az eredeti üzenetet. - H04 18 - Routing (forgalomirányítás) A forgalomirányítás módja lehet központosított (centralized) vagy elosztott (distributed). Elosztott forgalomirányítás. A host-ok és a router-ek kooperálnak, hogy az összes eszközben rendelkezésre álló routing információ mindig aktuális és konzisztens legyen. A routing információt a rendszerek táblázatokban tárolják. A routing eljárás kiveszi a továbbítandó csomagból a cél-IP címet, majd a táblázataiból kikeresi a host vagy router MAC címét, amelynek a csomagot továbbítani kell. Az Internet nem más, mint külön-külön menedzselt internetek összessége. Ezeket autonóm rendszereknek nevezzük, és saját belső routing algoritmussal és menedzsment szervezettel rendelkeznek. Az egyesített Internetet egy mag gerinc hálózatnak tekintjük, amelyhez az autonóm rendszerek csatlakoznak. -
H04 19 - Az autonóm rendszereken belül használt router-eket interior gateway-eknek, az autonóm rendszereket a mag hálózathoz csatoló routereket pedig exterior gateway-eknek nevezzük. A megfelelő routing protokollok pedig: az Interior Gateway Protocol (IGP) és az Exterior Gateway Protocol (EGP). Az egyes autonóm rendszerek különböző típusú IGP-vel rendelkezhetnek, az EGP azonban egységes az egész Internetre. A host-ok és a router-ek nem tárolnak a teljes Internetre vonatkozó routing információt. A routing információ tárolása hierarchikus: - H04 20 • • • a hostok csak annyi routing információt tárolnak, amely elegendő ahhoz, az ugyanahhoz a hálózathaoz csatolt host-ok és interior gateway-ek számára továbbíthassák a csomagokat, az interior gateway-ek csak annyi routing információt tárolnak, amely elegendő ahhoz, hogy az ugyanahhoz az autonóm rendszerhez csatlakozó host-ok és interior gateway-ek számára továbbíthassák a
csomagokat, az exterior gateway-ek csak annyi routing információt tárolnak, amely elegendő ahhoz, hogy egy interior gateway vagy egy másik exterior gateway számára továbbíthassák a csomagokat. A fenti feladatokat ellátó protokollok: • az Address Resolution Protocol (ARP), • többféle interior gateway protocol (IGP), és • egy exterior gateway protocol (EGP) - H04 21 - Address Resolution Protocol (ARP) A host-okban és az IG-kben is implementált ARP lehetővé teszi, hogy megtudják az ugyanazon a hálózaton lévő másik eszköz IP címének ismeretében annak MAC címét. Először a saját táblázatukban keresik, hogy fel van-e jegyezve a keresett IP-MAC pár. Ha nincs, akkor egy ARP kérést küldenek a hálózatra broadcast formájában. Az az eszköz, amelyik felismeri a saját IP címét a kérésben, egy ARP válaszban visszaküldi a keresett IP-MAC pár adatot. Ezután a csomag a megfelelő MAC címre továbbítható Interior gateway protocol (IGP)
- H04 22 - Többféle IGP létezik. A legáltalánosabban használt protokoll az IP routing information protocol (RIP). Ez egy elosztott routing protokoll, amely a távolság-vektor algoritmusra (distance-vector algorithm: DVA) épül. Üjabb protokoll a link-state open shortest path first (link-state OFPF) protokoll, amelyet az ISO-IP-ben is alkalmaznak. Itt a TCP/IP -hez kapcsolódó távolság-vektor algoritmust ismertetjük: A távolság fogalmat routing metrikaként használjuk a routerek között. Ha a metrika a hop (ugrás), akkor ez a szám a két router közötti hálózatok számát jelenti. Ha a metrika a késleltetés, akkor ez a szám a két router közötti átlagos késleltetést jelenti. Bármilyen metrikát is használjunk, a DVA elosztott algoritmusa segítségével minden IG felépít egy táblázatot az autonóm rendeszerben, amely tartalmazza a távolságokat önmaga és az összes hálózat között. Kezdetben minden gateway csak a közvetlenül hozzácsatolt
hálózatok címét (IP), és a csatlakozó gateway-ek IP-MAC cím párjait ismeri. A hálózat-címek a távoli routing táblában, az IP-MAC párok pedig a helyi routing táblában vannak. Minden gateway periodikusan elküldi a távoli routing táblájának a tartalmát a szomszédos gateway-eknek, amelyek ennek alapján kiegészítik és felfrissítik a távoli routing táblájukat. Néhány iteráció után minden gateway tartalmazni fog egy-egy bejegyzést az autonóm rendszer összes hálózatáról. - H04 23 - - H04 24 - Az Internet Control Message Protocol Az Internet működését a router-ek szorosan felügyelik. Hiba esetén az ICMP (Internet Control Message Protocol) üzenettel jelzik a hibát. Az ICMP üzenettípusai: − a cél nem elérhető, − időtúllépés, − paraméter probléma, − forráslefojtás (sebesség csökkentés), − újrairányítás, − visszhang kérés − stb. -1- Internet menedzsment (SNMP) Az internet szolgáltatási és
alkalmazói programjain kívül szükség van olyan programra is, amely segíti az üzemeltetőket a hibák feltárásában, a forgalomirányítás vezérlésében, a számítógépek hibás protokolljainak felderítésében. Ezt a tevékenységet internet menedzsmentnek nevezzük. Az Internet több és különböző típusú hálózatokból áll, amelyeket router-ek kapcsolnak össze. Jellemzők: a router-ek különböző típusúak, a menedzselendő eszközök nem rendelkeznek közös adatkapcsolati protokollal, és a hálózat különböző pontjain helyezkednek el. A jellemzőkből következően a menedzsment szoftvernek olyan protokollal kell rendelkeznie, amely az Internet bármely két pontja közötti kapcsolatot biztosítja. Tehát az I nternet menedzsment p rotokollok alkalmazási szinten működnek, és a TCP/IP szállítási protokolljait használják kommunikációra. Az alkalmazási szint használatának előnyei: Elegendő egyetlen protokoll
készlet az egész internet menedzselésére (hálózati hardvertől független). A legkülönbözőbb típusú eszközök menedzselhetők ugyanazzal a protokoll készlettel. A menedzser szemszögéből: az összes eszköz ugyanazzal a parancskészlettel vezérelhető. Az IP protokoll használata miatt bármelyik fizikai hálózaton lévő eszközök menedzselhetők. Az alkalmazási szint használatának hátrányai: Az operációs rendszernek, az IP szoftvernek és a szállítási protokollnak is hibátlanul kell működnie, hogy a menedzser elérje a vezérlendő eszközt. Pl a router hibás routing táblája miatt nem érhető el és nem javítható ki a routing táblája. Ha a router operációs rendszere nem működik, akkor a menedzsment szoftver sem működik rajta, miközben a csomagokat route-olja. A modell architektúrája A menedzselni kívánt eszközök (hosztok, router-ek, switch-ek) egy szerver programot futtatnak (MS), amelyet management agent-nek nevezünk.
A menedzser egy kliens programot futtat a számítógépén (MC) és kijelöli azt az agent-et, amellyel kommunikálni akar. Ezután a kliens lekérdezheti a szervert (agent) vagy olyan parancsot küld, amellyel megváltoztatja az állapotát. -2Menedzselt hosztok MS MS MS MS MS MC Menedzser hoszt MS MS Menedzselt router Külső hosztok Az Internet menedzsment szoftver csak megfelelő autentikáció után kaphat információt vagy vezérelheti az eszközt. A protokoll architektúrája A menedzsment protokollokat 2 szabvány írja le: 1. Az i nformáció k ommunikációjával f oglalkozik a kliens és az agent között Leírja az üzenetek formáját és jelentését, valamint a nevek és címek alakját. 2. A menedzselt adatokkal foglalkozik Leírja, hogy milyen adatokat kell nyilvántartani, az adatok nevét és szintaxisát. Network Management Protocol szabvány A TCP/IP-ben használt menedzsment protokoll: Simple N etwork Ma nagement Protocol (SNMP). Újabb
változat: SNMPv2 Menedzselt információra vonatkozó szabvány A menedzselt router-ek állapot és vezérlő információt tartalmaznak, amelyekhez a menedzser hozzáférhet. Ilyenek: -3statisztika interfészekről, a bejövő és kimenő forgalom, az eldobott csomagok, a generált hibaüzenetek, stb. A Management Information Base (MIB) szabvány írja le, hogy a router-eknek, hosztoknak (és egyéb eszközöknek) milyen adatokat kell nyilvántartaniuk, és ezeken milyen műveleteket kell megengedniük. Pl.: az IP szoftvernek nyilván kell tartania, hogy hány byte érkezett az egyes interfészeire, és hogy ezek az adatok csak olvashatók. A TCP/IP MIB a menedzselt információt 8 kategóriába sorolja: MIB kategória system interfaces addr. trans ip icmp tcp udp egp Információt ad az alábbiakról A hoszt vagy router operációs rendszer A hálózati interfész Cím fordítás (pl. ARP leképzés) Internet Protocol szoftver Internet Control Message Protocol szoftver
Transmission Control Protocol szoftver User Datagram Protocol szoftver Exterior Gateway Protocol szoftver A MIB definíció független a menedzsment protokolltól. A MIB változhat, új adatok jelenhetnek meg benne, amelyeket az agent-ek nem tudnak szolgáltatni. A szabványnak eleget tevő agent és kliens programok kommunikálnak egymással akkor is, ha az agent nem tartalmazza az összes adatot, amely a MIB-ben szerepel. -4- Példák MIB változókra MIB változó sysUpTime ifNumber ifMtu ipDefaultTTL ipInReceives ipForwDatagrams ipOutNoRoutes ipReasmOKs ipFragOks ipRouting Table icmpInEchos tcpRtoMin Kategória system interfaces interfaces ip ip ip ip ip ip ip icmp tcp tcpMaxConn tcp tcpInSegs udpInDatagrams egpInMsgs tcp udp egp Jelentés Utolsó reboot óta eltelt idő A hálózati interfészek száma Az interfész MTU-ja A TTL mezőben használt érték A beérkezett adatgrammák száma A továbbított adatgrammák száma A routing hibák száma Az
újraösszeállított adatgrammák száma A tördelt adatgrammák száma IP routing tábla Az ICMP echo kérések száma A legkisebb újraküldési idő, amelyet a TCP megenged A maximálisan megengedett TCP kapcs. száma A TCP által fogadott szegmensek száma A fogadott UDP adatgrammák száma A fogadott EGP üzenetek száma A fenti adatok többsége integer, de a MIB definiál összetett struktúrákat is, mint pl. a ipRouting Table. További MIB változók definiálják a routing tábla tartalmát, és a menedzsment protokoll hivatkozhat a tábla egyes bejegyzéseire is A MIB az egyes adatoknak csak a logikai definícióját tartalmazza, a fizikai tárolás módját az eszköz gyártók döntik el. Az agent szoftver biztosítja a MIB változó és a fizikai struktúra közötti leképzést A MIB objektum nevek struktúrája és megjelenítése Hogyan hivatkozhatunk az egyes változókra? Az objektum az onosító n évteret (object i dentifier n amespace) a z I SO és a z I TU a
dminisztrálja. Az objektum azonosító névtér bármilyen lehetséges objektum nevét tartalmazhatja, nem csak MIB változókét (pl. protokoll szabvány neve) Az objektum azonosító névtér globális, vagyis minden név globálisan egyedi. Felépítése hierarchikus A névtér egyes részei kezelésének joga különböző csoportokhoz van rendelve -5- A névtér felépítése: Névtelen iso 1 itu 2 iso-itu 3 org 3 dod 6 Internet 1 directory 1 mgmt 2 experimental 3 private 4 Objektum azonosító névtér (részlet) A gyökér névtelen. Minden leszármazottnak van egy neve (emberi olvasásra), és egy száma (gépi azonosításra). ( org: U.S standard organizations dod: U.S Department of Defense ) -6- Internet 1 directory 1 mgmt 2 Cimke a gyökértől eddig a pontig: 1.36 experimental 3 private 4 mib 1 system 1 interfaces 2 addr.trans 3 ip 4 icmp 5 tcp 6 udp 7 egp 8 A mib csomópont alatti objektum azonosító névtér Egy-egy objektum neve
pontokkal elválasztott cimkék vagy számok sorozata a gyökértől az objektumig. Minden MIB változó az iso.orgdodinternetmgmtmib vagy az 136121 előtaggal kezdődik Az ip kategória iso.orgdodinternetmgmtmibip vagy az 1361214 előtaggal kezdődik Az ipInReceives MIB változó neve iso.orgdodinternetmgmtmibipipInReceives vagy az 13612143 A változó neve és az azonosító száma közötti megfeleltetést a szabvány tartalmazza. -7- Simple Network Management Protocol (SNMP) A protokoll specifikálja a kliens (menedzsment program) és a szerver (menedzselt eszköz: router, hoszt,) közötti kommunikációt: üzenetek alakja és jelentése, az üzenetekben lévő adatok neve és értéke, a menedzserek azonosítása, jogainak ellenőrzése. Az SNMP csak néhány műveletet tartalmaz: a műveletek végrehajtását a fetch-store (lekér-visszaír) módszerrel oldja meg. Változók lekérésére, és értékek visszaírására van lehetőség. Minden más művelet ezek
mellékhatásaként lesz végrehajtva Pl.: Nincs explicit reboot parancs Helyette lehet definiálni olyan MIB változó, amely tartalmazza a következő reboot-ig hátralévő időt Ezt az időt az SNMP-vel megadhatjuk (akár 0 is lehet). A fetch-store módszer alkalmazásával az SNMP protokoll változtatása nélkül, a MIB változtatásával, kihasználva a változók mellékhatásait, bonyolult műveletek is elvégezhetők a router-ekben. Az SNMP protokoll köré látványos, könnyen kezelhető grafikus felületű programok készíthetők. Ezek használatakor úgy tűnik, mintha explicit parancsokat adnánk ki, miközben a háttérben az SNMP a megismert módszerrel végzi el a műveleteket Az SNMP parancsai: Parancs get-request get-next-request get-response set-response trap Jelentés Lekéri egy változó értékét Lekéri egy változó értékét, anélkül, hogy megadnánk a nevét Válasz egy lekérésre Eltárolja egy változó értékét Válasz egy kiváltott eseményre
Az SNMP deklarálja, hogy a műveletek atomi jellegűek, vagyis ha az SNMP üzenet több változó megváltozásával jár, akkor vagy mindegyik megváltozik, vagy egyik sem. A trap művelet, lehetővé teszi, hogy bizonyos, előre megadott események bekövetkezésekor az agent információt küldjön a kliensnek. -1- Internet Protocol version 6 (IPv6) Az Internet a TCP/IP hálózatok legnagyobb alkalmazása. Az Internet hosszú évek óta stabil, megbízható szolgáltatás, mégis a TCP/IP protokoll családdal együtt állandóan fejlődik. A TCP/IP és az Internet változásának legfőbb okai: 1. Új számítógép és kommunikációs technológiák megjelenése a számítógépek és routerek teljesítménye nő, új hálózati technológiák jelennek meg: pont-pont szatellit összeköttetés, ATM, huzal nélküli hálózatok (infrared, spread-spectrum) 2. Új alkalmazások megjelenése Olyan szolgáltatásokat igényelnek, amelyeket a jelen protokollok nem biztosítanak. Pl
a multimédia alkalmazások olyan protokollokat igényelnek, amelyek hangot és képet hatékonyan továbbít. A valós idejű audio és video kommunikácóhoz olyan protokollok szükségesek, amely késleltetést bizonyos korláton belül van, és az audio és a video szinkronizálható. 3. A hálózat méretének és terhelésének növekedése Az Internet növekedése exponenciális, mérete 9 havonta megduplázódik. Az Internet terhelése a méreténél is gyorsabban növekszik. Széles rétegek számára is elérhető, akik üzleti célokra és a szórakozásra hasaználják. Képek és video továbbítása nagyobb hálózati forgalmat generál, mint szöveg továbbítása. Az automatikus kereső rendszerek is nagyban hozzájárulnak a forgalom növeléséhez. 4. Új politikák Ahogy az Internet új iparágak és új országok felé terjeszkedik, új adminiszt– ratív hatóságokra van szükség. Ehhez új adminisztratív politikát kell érvénysíteni. Az Internet
architektúrája és protokollja is egyre jobban eltávolodik a centralizált modelltől. Az IPv6 jellemzői Az IPv4 1970 óta lényegében változatlan. Az IP protokoll változtatását a fent ismertetett körülmények megváltozás indokolja. Az IPv6 megtartja az IPv4 számos olyan tulajdonságát, amelyek hozzájárultak a sikeréhez, mint például: összeköttetés nélküli adatgramma kézbesítés, a küldő megválaszthatja az adatgramma méretét, a küldő meghatározhatja a maximális ugrások (hop) számát, megmarad az adatgramma fregmentálásának lehetősége és a source routing. A legfontosabb változások: Nagyobb címtartomány. A cím mérete 4-szeresére nőtt: 128 bit -2Rugalmasabb f ej ( header) f ormátum. Új, a régivel nem kompatibilis adatgramma formátum. Az IPv6 több opcionális fejet tartalamazhat Javított opciók. Opcionálisan vezérlő információk továbbíthatók Az IPv4-hez képest újabb opciók. Erőforrás allokáció támogatása. Az
IPv4 type of service specifikációját felváltja egy mechanizmus, amely megengedi hálózati erőforrások előzetes lefoglalását (garantált sávszélességet és késleltetést igénylő alkalmazásokhoz). A protokoll bővítésének lehetősége. A protokollhoz utólag új tulajdonságok adhatók, amellyel alkalmazkodni lehet a megváltozott körülményekhez. Az IPv6 adatgramma általános alakja Az IPv4-hez képest teljesen megváltozott. Tartalmaz egy fix máretű bázis fejlécet, amelyeket opcionálisan kiegészítő fejlécek követhet– nek: Opcionális Base Header Extension Header 1 . Extension Header n Data . Az IPv6 adatgramma általános alakja IPv6 bázis fejléc formátuma Az IPv4 adatgramma szerkezete: -3- 0 4 8 16 19 VERS HLEN SERVICE TYPE 31 TOTAL LENGTH FLAGS FRAGMENT OFFSET IDENTIFICATION TIME TO LIVE 24 PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) PADDING DATA . IP adatgramma formátum
PRECEDENCE D T R UNUSED SERVICE TYPE mező Az IPv6 kevesebb információt tartalmaz, mint az IPv4 fejléc. Néhány mező és az opciók a kiegészítő fejlécekbe kerültek át. Változások: 64 bit-es határra illesztés a fejléc hossza nem szerepel, PAYLOAD LENGTH az adatgramma teljes hosszát jelenti a forrás és cél cím 128 bit (16 byte) hosszú lett a tördelési információ kiegészítő fejlécbe került a TIME-TO-LIVE-et a HOP LIMIT váltja fel a SERVICE TYPE-ot a FLOW LABEL helyettesíti a PROTOCOL mezőt egy olyan mező helyettesíti, amely a következő fejléc típusára utal 0 4 16 VERS 24 FLOW LABEL PAYLOAD LENGTH NEXT HEADER SOURCE ADDRESS DESTINATION ADDRESS IPv6 bázis fej formátum VERS: értéke 6. HOP LIMIT 31 -4HOP LIMIT: PAYLOAD LENGTH: szigorúan a routerek max. számát jelenti, ahányon a csomag áthaladhat. az adatgramma hossza, beleértve a fejlécek hosszát is (max 64K). Egy új mechanizmus
támogatja az erőforrás lekötést, amely lehetővé teszi, hogy a routerek az adatgrammát előre lekötött erőforrással asszociálják. Az ún. flow (folyam) egy útvonalból áll, amelyben a router-ek bizonyos szolgáltatás minőséget garantálnak (Quality of Service). Pl két gép video szolgáltatáshoz egy folyamot létesít, amelyen a késleltetés és a sávszélesség garantált. A flow arra is jó, hogy egy szervezeten belül az erőforrásokkal úgy gazdálkodjunk, hogy minden alkalmazás hozzájusson bizonyos mennyiségű erőforráshoz. A FLOW LABEL szerkezete: 4 bit 24 bit TCLASS FLOW IDENTIFIER Az IPv6 adatgramma flow label mezője TCLASS: FLOW IDENTIFIER: az adatgramma forgalmi osztálya: 0 - 7 = folyamhoz tartozó adatgramma idő érzékenysége, 8 -15 = nem-folymhoz tartozó adatgramma prioritása a folyam létesítésekor lefoglalt azonosító Az IPv6 adatgramma bázis fejléce 40 byte. IPv6 kiegészítő fejlécek (Extension Header) Az IPv6-nak egy
sor mechanizmusra van szüksége, mint például az adatgramma fregmentá– ció, a source routing vagy az autentikáció. Az ilyen, viszonylag ritkán használt lehetőségeket leíró információkat kiegészítő fejlécekbe tették, mert ezek csak akkor vannak jelen az adat– grammában, ha szükség van rájuk. Ezzáltal növelhető a hatékonyság Az IPv6 adatgramma értelmezése Minden fejléc tartalmaz egy NEXT HEADER mezőt, amely a következő fejléc - az utolsóban a protokoll - típusát határozza meg. A routerek és a célállomás a fejléceket szekevnciálisan dolgozzák fel. -5- Base Header NEXT= TCP TCP segment Adatgramma base header-rel Base Header NEXT= ROUTE Route Header NEXT = TCP TCP segment Adatgramma base és egy extension header-rel Base Header NEXT= ROUTE Route Header NEXT = AUTH Auth Header NEXT = TCP TCP segment Adatgramma base és két extension header-rel IPv6 adatgramma fregmentáció és újraegyesítés A küldő állomás mielőtt
adatokat küldene a célállomásnak, egy ún. Path MTU discovery technikával felméri, hogy mekkora lehet a maximális csomaghossz. Csak akkor van baj, ha a csomagok nem ugyanazon az útvonalon haladnak, és valamelyik hálózat csak rövidebb csomagokat képes továbbítani. Ilyen esetben a router egy új adatgrammát hoz létre, amely a teljes eredeti adatgrammát adatként magában foglalja. Az új adatgarammát tördeli, megismételi mindegyikben a bázis fejlécet, és hozzátesz egy fragmant extension fejlécet. Az így keletkezett adatgrammákat a célállomásnak továbbítja, amely a töredékekből visszaállítja az eredeti adatgrammát. IPv6 source routing Forrás által meghatározott útvonal. Erre a célra az IPv6 egy kiegészítő fejlécet használ Router címek sorozata határozza meg az útvonalat. 0 8 16 NEXT HEADER ROUTING TYPE NUM ADDRS 24 31 NEXT ADDRS RESERVED FIRST ADDRESS SECOND ADDRESS . IPv6 source routing fej formátum IPv6 opciók -6Az
IPv6-ban van két kiegészítő fejléc, amelyek olyan járulékos információt hordoznak, amelyeket más fejlécekben nem lehet megadni. Ezek a Hop by Hop Extension Header és az End to End Extension Header. Olyan opciókat tartalmaznak, amelyek rendre csak router-ekre vagy csak a végállomásokra tartoznak. A két fejléc alakja: 0 8 16 31 NEXT HEADER HEADER LEN ONE OR MORE OPTIONS IPv6 option extension fej formátum 0 8 TYPE 16 LENGTH VALUE Egy-egy opció formátuma A fejléc ONE OR MORE OPTIONS része egyedi opciókat tartalmaz TYPE, LENGTH, VALUE adathármassal megadva. A TYPE mező 2 legmagasabb helyiértékű bit-je azt kódolja, hogyan kell eljárni, ha a router vagy hoszt nem ismeri az adott opció-típust: Bit-ek a Type-ban 00 01 01 11 Jelentés Opciót át kell ugrani Adatgarammát eldobni; ICMP üzenetet nem kell küldeni Adatgarammát eldobni; ICMP üzenetet kell küldeni a forrásnak Adatgarammát eldobni; ICMP üzenetet kell küldeni, ha nem multicast Az
IPv6 címtartomány mérete A 128 bit-es IPv6 címek száma 2128 (3.4 x 1038) A címtartomány elegendően nagy ahhoz, hogy ha később a tervezők szükségesnek találják, megváltoztathatják a címzési rendszert. Az IPv6 címek reprezentációja Egy IPv6 cím az IPv4-ben megszokott pontokkal elválasztott decimális megjelenítése: 104.230140100255255255255001712815010255255 Kettőspontokkal elválasztott hexadecimális ábrázolás: 68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF (rövidebb) -7A hexadecimális ábrázolás megengedi a zéro tömörítést. Ismétlődő 0-kat egy kettőspont párral helyettesítünk: FF05:0:0:0:0:0:0:B3 helyett írhatjuk: FF05::B3 Zéró tömörítést egy címben csak egyszer szabad alkalmazni! A hexadecimális ábrázolás kombinálható a decimálissal: 0:0:0:0:0:0:128.1021 vagy ::128.1021 (az IPv4-ről az IPv6-ra való átmenet idején használjuk) A három alapvető IPv6 cím típus A hálózat - hoszt koncepció megmaradt. A hálózati rész
azonban több részből állhat, amivel hálózat hierarchiát lehet létrehozni. Egy-egy hálózati intefészhez több cím is rendelhető. Az IPv6 kiterjeszti és egységesíti az IPv4 speciális címeit. Egy adatgramma címe az alábbi 3 kategória valamelyikébe esik: Unicast A cím egyetlen gépet specifikál Cluster A cél egy számítógép csoport, amelyek hálózati címe azonos, de az adatgrammát csak a csoport egyetlen gépe kapja meg (a "legközelebbi") Multicast A cél egy számítógép csoport, esetleg különböző helyeken. Mindegyik megkapja a csomagot (hardver multicast vagy broadcast segítségével) IPv6 címek felosztása A címek felosztásának szempontjai: Tegye lehetővé többszintű cím-hierarchia használatát. Így a címek kiosztásának felügyelete is hierarchizálható. Tegyen lehetővé hatékony útválasztást a router-ekben. -8- IPv6 címek felosztása típusok szerint Bináris prefix 0000 0000 0000 0001 0000 001 0000
010 0000 011 0000 100 0000 101 0000 110 0000 111 0001 001 010 011 100 101 110 1110 1111 0 1111 10 1111 110 1111 1110 1111 1111 Típus Reserved (IPv4 kompatíbilis) Reserved NSAP Addresses IPX Addresses Reserved Reserved Reserved Reserved Reserved Reserved Reserved Provider-Assigned Unicast Reserved Reserved for Geographic Reserved Reserved Reserved Reserved Reserved Reserved Available for Local Use Used for Multicast Részesedés a címtartományból 1/256 1/256 1/128 1/128 1/128 1/128 1/128 1/128 1/128 1/16 1/8 1/8 1/8 1/8 1/8 1/8 1/16 1/32 1/64 1/128 1/256 1/256 IPv6 cím hierarchia: szolgáltatók, előfizetők Az Internet szolgáltatók előfizetők számára biztosítanak hálózati hozzáférést. Az Internet felügyeleti hatósága egyedi azonosítót ad egy-egy szolgáltatóknak, a szolgáltatók pedig egyedi azonosítót adnak az előfizetőknek. Az előfizetők egyedi azonosítót rendelnek az egyes fizikai hálózataikhoz, majd egyedi végpont azonosítót a gépekhez.
Address type prefix 010 Provider ID Suscriber ID Subnet ID Provider prefix Subscriber prefix Subnet prefix IPv6 cím hierarchia Node ID -9Az egyes hálózati prefixek hossza nem rögzített. Ajánlott a gép azonosításához legalább 48 bit-et felhasználni. Ezzel a IEEE 802 címek az IP címben kódolhatók Az ARP protokoll használata megtakarítható. - H05 1 - Szállítási réteg (Transport Protocol) Az OSI protokoll készletben a szállítási réteg és az alkalmazási réteg között helyezkedik el a viszony réteg és a megjelenítési réteg. A TCP/IP protokoll készletben a szállítási réteg (UDP vagy TCP) közvetlenül szolgálja ki az alkalmazási réteget. A viszony réteg és a megjelenítési réteg funkciói az alkalmazási protokollba vannak beépítve. AZ ARPANET hálózat (TCP/IP) szállítási protokolljai Ez a protokoll a hierarchia szíve: az alhálózattól független adatszállítást biztosít a két hoszt egy-egy folyamata között. A
szállítási réteg a hálózati réteghez hasonlóan lehet: • összeköttetésmentes • összeköttetés alapú (felépítés, adatszállítás, lebontás) és Összeköttetésmentes protokoll: User Datagramm Protocol (UDP) Az egymástól függetlenül feladott üzeneteket továbbítja a két kommunikáló folyamat között. A szintén összeköttetés nélküli megbízhatatlan (a csomagok elveszhetnek, kettőződhetnek, és a feladás sorrendjétől eltérő sorrendben is érkezhetnek a különböző - H05 2 útvonalak miatt) IP hálózati protokoll szolgáltatásait veszi igénybe. Nem javítja fel a hálózati szolgáltatást. Olyan alkalmazásoknál használják, amelyek kevésbé érzékenyek az adatvesztéssel szemben (pl. kép átvitel), vagy az üzenetek mindössze egy csomagból állnak. Ha bizonyos időn belül nincs válasz, az adatgrammot újra el kell küldeni. Előnye a hatékonysága: kis overhead, kevés adminisztráció A kommunikáló folyamatok azonosítása
(címzése) azonos a TCP protokolléval. Ha megbízható átvitelre van szükség, az alkalmazások a TCP-t használják. Összeköttetés alapú protokoll: Transmission Control Protocol (TCP) Az alacsony szintű hálózati szolgáltatást (IP) feljavítja. Az alkalmazásokat egy szabványos primitív halmazzal lehet megírni: • Logikai kapcsolatot kell létesíteni két alkamazás között. • A két folyamat duplex (egyidejűleg kétirányú) kommunikációt folytat • Le kell bontani a kapcsolatot. A kapcsolat ideje alatt az átvitel begbízható: hibamentes, nincs adatvesztés és adatkettőzés, az adatok sorrendhelyesek, ha az összeköttetés lebomlik, újra létesíti a másik szállítási réteggell. A TCP az • üzenetet adatgarammákra darabolja, • a vételi oldalon újra összeállítja, • az elveszett adatot újra küldi, • az adatokat helyes sorrendbe rakja Címzés: A szállítási folyamatnak az összeköttetés létesítéséhez ki kell jelölnie a távoli
folyamatot. Megadjuk a hálózati címet (IP), és a folyamatot (process), amellyel dolgozni szeretnénk (pl. Telnet) A hálózati réteg felépíti az összeköttetést a két gép között. A folyamat azonosításának két megoldása van: 1. Kezdeti összeköttetés protokoll Minden gép, amely valamilyen szolgáltatást kínál, egy speciális folyamat-szolgáltatóval vagy bejelentkezővel rendelkezik, amelyen keresztül az összes szolgáltatás elérhető. A folyamat-szolgáltató egy ismert szállítási végponton várakozik. A kapcsolatot kereső gépnek ezt a végpontot kell megadnia. Létrejön a kapcsolat a folyamat-szolgáltatóval. A hívó kijelöli a futtatni kívánt programot. A folyamat-szolgáltató kijelöl egy azonosító számot (végpontot), létrehoz egy új folyamatot, amelyik az adott végponton (port) várakozik a kapcsolódásra. A folyamat-szolgáltató megküldi a hívónak az azonosítási számot, hogy ezen jelentkezzen. Ezután a hívó lebontja az
összeköttetést a folyamat-szolgáltatóval, majd újat létesít, most már a kiválasztott folyamattal. 2. Név szolgáltató használata (name server) A név szolgáltató megadja, hogy egy adott nevű szolgáltatás milyen port-on érhető el. A hívó tehát először a name server-hez fordul, majd a port szám birtokában már a felépítheti a kapcsolatot a szolgáltató gép megfelelő portjával. - H05 3 - A protokoll hierarchia működése: TCP - IP - Ethernet Transmission Control Protocol (TCP) Az adatgramma eljuttatásán kívül a TCP-nek tudnia kell, hogy az melyik összeköttetéshez tartozik. A TCP/IP az adatgrammát több szinten is ún fejrésszel (header) látja el. (Pl. levél -> boríték -> titkárnő -> újabb boríték -> postázó -> újabb boríték) Adatfolyam, amelyet el kell küldeni: . A TCP feldarabolja kezelhető darabokra: . (az állomások megbeszélik a méretet). A TCP fejrészt tesz mindegyik elé (min. 20 byte): 1. forrás
és cél port-szám A port # különbözteti meg ugyanazon két gép közötti független kapcsolatokat. Mindkét oldalnak ismernie kell a másik oldal port #-át is. 2. sorszám (sequence #) A sorszám alapján lehet helyes sorrendbe rakni a vételi oldalon a csomagokat. 3. Ellenőrző összeg (CRC) A hibás csomagot a vevő eldobja 4. Nyugta (acknowledgment) Ha ez a mező ki van töltve, akkor ez nyugtázza, hogy hányadik volt az utolsó megérkezett byte. TCP csomag: T. T T T (T = TCP fejrész) Internet Protocol (IP) A T. alakú adatgrammákat a TCP az IP-nek adja át az IP címmel együtt Az IP nem foglalkozik sem a TCP fejrésszel, sem az adattal. Az IP a továbbításhoz hozzáadja a saját fejrészét: Az IP fej részei: 1. forrás- és cél IP cím 2. protokoll azonosító száma (TCP, UDP, stb) Ez írja le, hogy a vétel helyén a csomagot melyik protokollnak kell továbbítani 3. IP fejrész CRC-je IT. I T I T I T (I = IP fejrész) A fej többi része: − Fragmet
offset további tördelés esetére − Time to Live. Minden rendszer, amelyen a csomag keresztülhalad 1-gyel csökkenti ezt a számot, és ha 0-ra csökken, eldobja. - H05 4 Ethernet Ethernet fejrész: 1. Cél címe 2. Feladó címe 3. Típus kód - TCP/IP, DECNET XEROX, stb 4. Adat 5. CRC Az Ethernet cím és az IP cím között semmilyen összefüggés nics! Minden gép rendelkezik egy táblázattal a két cím megfeleltetéséhez (lásd az ARP protokollt). EIT.C E ITC E ITC E ITC E ITC Az Ethernet interfész a vételi oldalon eltávolítja a fejrészt és a CRC-t. Megnézi a típus-kódot, felismeri az IP-t, ezért az IP protokollnak továbbítja. Az IP protokoll eltávolítja az IP fejrészt. A protokoll mező TCP-t jelez, ezért a TCP protokollnak továbbítja. A TCP megnézi a sorszámot és más mezőket, hogy helyreállítsa az adatgrammát. Well-known sockets (jól ismert szolgáltatások) és az alkalmazási réteg Kell lennie valamilyen mechanizmusnak, hogy kapcsolatot
létesítsünk egy másik számítógéppel, pl. bejelentkezzünk, vagy hogy megmondjuk, melyik file-t akarjuk átvinni, és lebonyolítsuk az átvitelt. Ezeket a feladatokat az “alkalmazói protokollok” végzik el. A TCP/IP csak adatfolyamot biztosít Hogyan találunk meg egy alkalmazást? Pl. egy file-t akarunk átküldeni egy másik számítógépre FTP-vel A másik oldalon kell lennie egy FTP szervernek. (A kükönböző alkalmazásokat általában különböző programok szolgálják ki.) Pl a 192190173195 IP számú gép FTP szerverével akarunk kapcsolatot létesíteni. Ez a “well-known socket”-ek (wks) segítségével lehetséges, amelyeket minden szerverhez hozzárendelnek. A hívó gép véletlen port#-ot használ (TCP szint) A szerverekhez, amelyek hívásra várnak fix port számot rendelnek. Hogyan kezel a TCP/IP többszörös összeköttetést két rendszer között? Pl. Két gép között két FTP session-t (kapcsolat) létesítetettünk Kilens IP cím TCP port#
192.19017370 1234 192.19017370 1235 socket FTP wks szerver IP cím TCP port# 192.190173195 21 192.190173195 21 socket Elég, ha egy kapcsolatot jellemző 4 szám (IP, port# - IP. Port#) közül egy különbözik egy másik kapcsolatot leíró 4 számtól. - H05 5 A szerver és a kliens két különböző program! A kapcsolat felépülése után alkalmazás-függő parancsok és adatok cseréjére kerül sor. Mail: − − − − − − megadja a hívó gép nevét, a levél küldőjét, a címzetteket, üzenet eleje parancs ( fogadó gép az üzenet vételére áll) . . . üzenet vége parancs (.), újra parancs-mód File tarnszfer Két összekötetés létesül − név, − jelszó, − file-név, amelyet átviszünk, − 2. összeköttetés létesül (a file átvitele ezen az összeköttetésen történik) − a parancsok átvitele folyhat a file átvitele alatt Domain System (Nevek nyomonkövetése) Feladata a nevek és az IP címek közötti összefüggés feloldása
(nevek használata kényelmesebb). A Host táblák helyileg megoldják a problémát. Ha az IP szám helyett a címzettre névvel hivatkozunk, a gép megnézi, hogy a Host táblában (file) van-e bejegyzés a keresett névre. Nagy hálózat esetén ez nem hatékony módszer. Minden gépen karban kellene tartani a nagyon sok bejegyzést tartalmazó táblázatot. Gyakori változások esetén ez lehetetlen Name Server (NS): néhány NS követi nyomon a neveket és a címeket. Nem egyetlen központi rendszer van, hanem elosztott rendszer. A neveket és a címeket minden intézmény maga tartja nyilván (saját NS). A name server-ek fa struktúrát alkotnak az intézményi hierarchiának megfelelően. A nevek szerkezete is hasonló. Pl. indyabankihu indya: számítógép banki: intézmény hu: ország Hogyan kapjuk meg az IP címet? Legfeljebb 3 name server-rel kell konzultálni: - H05 6 1. ‘root’ server: mi a ‘hu’ NS-ének IP címe? A ‘root’ server az egyes országok
NS-einek IP címeit tartja nyilván. ‘hu’ a magyar intézmények NS-eit tartja nyilván (több is lehet). 2. ‘hu’ server: mi a ‘bankihu’ domain NS-ének IP címe? 3. ‘banki’ server: mi az ‘indyabankihu’ gép IP címe? Nem kell minden alkalommal végigmenni a name server-eken, a szerverek emlékeznek egy ideig (néhány napig) a szerverek címére: ‘hu’, ‘banki.hu’, ‘indya,banki.hu’ A ‘hu’, a ‘banki.hu’-t domain-nek (tartomány) nevezzük Mindegyik szerver több jellemzőt tarthat nyilván: IP nevek és címek, gép típusok, szolgáltatások, mail box-ok, stb. A programok rákérdezhetnek bizonyos információkra, vagy egy név mellett nyilvántartott adatokra. A Domain System (DS) működését és a protokollt szabványok írják le. Minden hálózati segédprogramnak le kell tudni kérdezni a NS-t. Ezek a saját NS-sel konzultálnak. Az NS konzultál a többi szerverrel Az NS-ek különösen a levelezésnél fontos