Címzési rendszer

A címzési rendszer kialakításánál azt a valóságos tényt vették figyelembe, hogy a címzés legyen hierarchikus: azaz vannak hálózatok, és ezen belül gépek (hosztok). Így célszerű a címet két részre bontani: egy hálózatot azonosító, és ezen belül egy, a gépet azonosító címre. Mivel a cím hossza 32 bit ezért ezt kellett két részre bontani, olyan módon, hogy a nagy hálózatokban lévő sok gépet is meg lehessen címezni. Négy különböző formátum használható, ahogy ezt az 114. ábrán bemutatjuk.

 

114. ábra: IP címek

A cím négy bájtját szokásos a közéjük pontokat írva, a bájtok decimális megfelelőjével leírni.

Az első három címforma 128 hálózatot hálózatonként 16 millió hoszttal (A osztályú cím), 16 384 hálózatot 64 K-nyi hoszttal (B osztályú cím), illetve 2 millió hálózatot, (amelyek feltételezhetően LAN-ok), egyenként 254 hoszttal azonosít. Az utolsó előtti címforma (D osztályú cím) többszörös címek (mulicast address) megadását engedélyezi, amellyel egy datagram egy hosztcsoporthoz irányítható. Az utolsó címforma (E) fenntartott.

 

A címzéseknél a hálózat és hoszt címének szétválasztására cím-maszkokat (netmask) használnak. Alkalmazásakor bitenkénti ÉS műveletet végezve az IP cím és a cím-maszk között, a hálózati cím leválasztására. C osztályú címek esetén ezért a maszk: 255.255.255.0, míg B osztálynál: 255.255.0.0, stb.

A címzésnél bizonyos címtartományok nem használhatók.  

A 127-el kezdődő címek a “loopback” (visszairányítás) címek, nem használhatók a hálózaton kívül, a hálózatok belső tesztelésére használható.

A hoszt címrészbe csak 1-eseket írva lehetséges az adott hálózatban lévő összes hosztnak üzenetet küldeni (broadcast). Például a 195.13.2.255 IP címre küldött üzenetet a 193.13.2 című hálózatban lévő összes gép megkapja.

Ha a hoszt címrésze 0, az a aktuális hálózatot jelöli. Ha a hálózati cím 0, az a aktuális hálózatot jelöli. Például a saját gépről 0.0.0.0 címre küldött üzenet a saját gépre érkezik.

Sajnos a fejlemények azt mutatják, hogy ez a felosztás a tervezés gyenge pontja volt, és már ma is címhiánnyal küszködik az Internet. Természetesen ez nem azt jelenti, hogy már 232 számítógép van a hálózatban, hanem a kialakított címrendszerben nagyon sok címet nem használnak fel. (Hol van a világon 128, egyenként 65000 gépet tartalmazó hálózat?) Ezért rövidesen új címzést fognak bevezetni (a tervezet neve: IPv6), ahol a címmező 128 bit hosszú lesz.

Az Internetben a rétegeknek megvan az egyedi azonosítója a címzéshez:

Réteg

Címzési módszer

Alkalmazási

Hoszt neve, portja

Internet

IP cím

Hálózat elérési

Fizikai cím

 

A hoszt neve, — amely valamilyen szimbolikus név — azonosítja a felhasználó számára a gépet — “így hívja”. Pl.: alpha1

Az Internet használata során két, egymástól akár sok ezer kilométerre lévő számítógép között alakul ki kapcsolat. Nyilvánvalóan ezért minden egyes gépet azonosíthatóvá, címezhetővé kell tenni.

Erre két, egymással egyenértékű módszer áll rendelkezésre. Az elsődleges módszer az amit IP címzésként már megismertünk, míg a másodlagos — a felhasználók által szinte kizárólagosan használt módszer az azonosító domén (domain) nevek rendszere. [13]

Amikor a hálózathoz újabb gép csatlakozik, egy — az adott hálózatnak adott címtartományból — négy tagból (bájtból) álló azonosító számot, Internet címet (IP-address) kap. A címtartományok kiosztását az Internet központi adminisztrációja, az INTERNIC (Internet Network Information Center) végzi. A körzeti központok az adott gépet ezen a számon tartja nyilván. A tényleges címeket általában decimális alakban pl. 193.224.41.1 használják.

A címben szereplő egyes címrészeket ma már nem véletlenszerűen határozzák meg, hanem hierarchikusan felosztott földrajzi terület, domének alapján. Így a cím egyes oktetjei (8 bites csoprtjai) a domént, az ezen belüli aldomént és hosztot, azaz a címzett számítógép helyét jelölik ki. A domén általában egy ország globális hálózati egysége vagy hálózati kategóriája, az aldomén ezen belül egy különálló hálózatrész, a hoszt pedig az adott hálózatrészen belüli felhasználókat kiszolgáló gép azonosító száma.

A felhasználó számára könyebben használható a név alapján történő címzés, ahol a sok számjegyből álló IP cím helyett egy karakterlánc, az FQDN (Fully Qualified Domain Name) használható. Az FQDN, azaz a teljes domén-név, amelyet a DNS (Domain Name System), vagyis a domén-név rendszer szerint képeznek, ugyanúgy hierarchikus felépítésű, mint az IP cím, formailag pedig több, egymástól ponttal elválasztott tagból áll.

Például az alpha1.obuda.kando.hu címben az egyes tagok sorrendben a kiszolgáló gépet, a hosztgépet (egy DEC Alpha munkaállomást), az aldomént azaz hálózati altartományt (obuda.kando), végül pedig a domént, vagyis az adott ország globális hálózati tartományát (hu) határozzák meg. A hálózati altartomány, az aldomén több tagot is tartalmazhat, de akár hiányozhat is a cím domén-név részéből.

A domén-név egyes részeit néha eltérő kifejezéssel adják meg: a hálózati tartomány domén vagy network, az altartomány aldomén vagy subnet, a kiszolgáló gép a hoszt vagy hoszt-address.

A domén-nevek használata az Internet számára némi járulékos munkát ad, hiszen egy adatcsomag továbbítás előtt a hosztcímből meg kell határozni a vele egyenértékű IP címet, és a küldemény hosztcímét ezzel kell helyettesítenie. Az összetartozó IP címeket és hosztcímeket a hosztgép először a helyi címtáblázatban (host table) keresi. Ha a keresés eredménytelen, a hosztgép az Internet valamelyik speciális szolgáltató-gépéhez, a névszolgáltatóhoz (Name Server-hez) fordul, amely az Internet gépeinek adatait tartalmazó, szabályos időközönként frissített sokszor hatalmas címtáblázatot kezeli. A címtáblázatokban a host.aldomén.domén alakú hostcímhez a vele egyenértékű IP cím, esetleg hivatkozási (alias) alak is tartozhat [13].

Az IP cím kérésekor azt is közölni kell a névszolgáltatóval, hogy az mire kell. Ha levelezéshez kérjük, akkor a névszolgáltató a névhez tartozó MX (Mail Exchange) adatrekordot adja vissza, különben a tényleges IP címet.

Az előbbi példa szerint az alpha1.obuda.kando.hu cím-meghatározása a következő: A gép Internet címének meghatározásához 4 potenciális kiszolgálót kellene megkérdezni. Először egy központi kiszolgálótól kellene megtudakolni, hogy hol található az hu kiszolgáló, amely nem más, mint a hálózatba kapcsolt magyar internet helyek nyilvántartása. A gyökérként szereplő kiszolgáló több hu kiszolgáló nevét és Internet címét adná meg. (Minden szinten több ilyen névkiszolgáló van, hogy az esetleges meghibásodások ne okozzanak fennakadást.) A következő feladat lenne az hu kiszolgáló lekérdezése a kando névkiszolgálójáról. Itt is több kiszolgáló nevét és Internet címét kapnánk meg (az egyik közülük a SZTAKI). Ezek közül általában nem mindegyik található az intézmény területén (egy esetleges áramszünet fellépte miatt).

Ez után a kando-tól kérdeznénk le az óbudai telephely (obuda) névkiszolgálójának adatait, majd végül az ottani névkiszolgálók egyike adná meg az alpha1 gép adatait. A végső eredmény a alpha1.obuda.kando.hu gép Internet címe lenne. A fenti szintek mindegyike egy tartományt (domain) jelöl. A teljes alpha1.obuda.kando.hu név egy tartománynév (domain name). (Ugyanígy a felsőbb tartományok nevei is tartománynevek: obuda.kando.hu, kando.hu, és hu)

Az esetek nagy többségében szerencsére nem kell a fenti lépések mindegyikét végrehajtani. A legfelső kiszolgáló (gyökér) ugyanis egyben a legfelső szinten lévő tartományok (pl. hu) névkiszolgálójaként is szerepel. Tehát a gyökér kiszolgáló felé irányuló egyetlen kérdéssel a MIT névkiszolgálójához lehet eljutni. Az alkalmazott szoftverek pedig a már feltett kérdésekre kapott válaszokra emlékeznek, az így megkapott domén név és a hozzá tartozó IP cím eltárolódik. Persze minden ilyen információnak van egy megfelelő élettartama, ami tipikusan pár napnak felel meg. Az élettartam lejárta után az információkat fel kell frissíteni, amivel az esetleges változások is nyomon követhetők.

Az IP cím — hosztcím átalakítást a TCP/IP automatikusan végzi, de a host operációs rendszer parancs kiadásával mi is lekérdezhetjük egy ismert felhasználó számát.

Az előbbiek alapján már nyilvánvaló, hogy az egyes hosztgépekhez nemcsak IP cím vagy az azzal egyenértékű domén cím tartozik, hanem a hosztgépek a rajtuk futó alkalmazások eléréséhez tartozó portcímet (Application Selection Address) is használnak. Ezért a címeket ki kell egészíteni az alkalmazás elérésére szolgáló portcímmel is:

hostcím:portcím

Míg az egyes hosztokat a hosztcímük egyértelműen meghatározzák, addig a hosztokat több felhasználó használja, tehát a hozzájuk kapcsolódó felhasználókat is meg kell különböztetnünk egymástól. Erre azok felhasználói neve (login- vagy felhasználónév), vagyis az adott hoszton egyedi azonosító-név szolgál [13].

Egy személy Internet elérhető levelezési (E-mail) címe tehát két főrészből áll, és a következő alakú:

felhasználónév@host.aldomén.domén

 

Összeköttetés-mentes szállítási protokoll: az UDP.

Sok alkalmazás használ üzeneteket, amelyek elférnek egyetlen datagramban. Példa erre a domén nevek kikeresése. Amikor egy felhasználó egy másik rendszerrel kapcsolatba akar lépni, akkor általában az adott rendszer IP címe helyett a nevét fogja megadni. Ezt a nevet le kell fordítania IP címre. Ehhez a név-szolgáltatóhoz kell a kérést tartalmazó üzenetet eljuttatni. A kérés annyira rövid, hogy biztosan elfér egyetlen datagramban, és a válasz ugyanilyen rövid. Ilyenkor nincs szükség a TCP teljes bonyolultságára. Ha egy pár másodpercen belül nem kapunk választ, akkor egyszerűen megismételjük a kérdést.

 

115. ábra: Az UDP csomagformátuma

A legtöbbet használt ilyen protokoll az UDP (user datagram protocol — felhasználói datagram protokoll). Hasonlóképpen illeszkedik a rendszerbe, mint a TCP. A hálózati szoftver az adatok elejére ráilleszti az UDP fejlécet ugyanúgy, ahogy a TCP fejléc esetében teszi. Az UDP ezek után az IP-nek adja át a datagramot. Az IP hozzáteszi a saját fejlécét, amibe a TCP helyett az UDP protokollszámát helyezi el a Protokoll mezőben (lásd IP fejléc). Az UDP csak portszámokat biztosít, hogy egyszerre több program is használhassa a protokollt. Az UDP portszámok ugyanúgy használatosak, mint a TCP portszámok. Az UDP-t használó kiszolgálókhoz is léteznek jól ismert portszámok. Látható, hogy az UDP fejléc sokkal rövidebb, mint a TCP fejléce.

 

Az Internet vezérlése: az ICMP protokoll

Az Internet működését az IMP-k és az átjárók felügyelik olyan módon, hogyha valami gyanús esemény fordul elő, akkor az eseményt az ICMP (Internet Control Message Protocol - internet vezérlőüzenet protokoll) alapján jelentik. Megközelítőleg egy tucat ICMP üzenettípus létezik. Minden üzenettípus IP-csomagba burkolva vándorol a hálózatban. A protokoll az Internet tesztelésére is használható [1].

A DESTINATION UNREACHABLE (cél elérhetetlen) üzenet akkor keletkezik, amikor a hoszt, vagy egy átjáró nem tudja lokalizálni a címzettet, vagy amikor egy bebillentett DF bittel rendelkező csomagot egy közbenső "kis csomagú" hálózat miatt nem lehet kézbesíteni.

A TIME EXCEEDED (időtúllépés) üzenet küldésére akkor kerül sor, ha egy csomagot a nullára csökkent számlálója miatt el kell dobni. Ez az esemény tünete lehet annak, hogy a csomag hurokban kering, hogy súlyos torlódás van, vagy hogy az időzítés értéke túl kicsire van beállítva.

A PARAMETER PROBLEM (paraméterprobléma) üzenet azt jelzi, hogy illegális értéket vett észre valaki egy fejrészmezőben. Ez a probléma a küldő hoszt IP-szoftverének, vagy egy keresztezett átjáró szoftverének hibájára hívja fel a figyelmet.

A SOURCE QUENCH (forráslefojtás) üzenet a túl sok csomagot küldő hosztok megfékezésére használható. Amikor egy hoszt egy ilyen üzenetet vesz, akkor adási sebességét csökkentenie kell.

A REDIRECT (újrairányítás) üzenetet akkor küld egy átjáró, amikor észreveszi, hogy egy csomag valószínűleg rossz útvonalon halad. Ez segít a forgalomirányításnak a helyes út, megtalálásához.

Az ECHO REQUEST (visszhangkérés) és ECHO REPLY (visszhangválasz) üzenetekkel egy adott címzett elérhetőségét és működőképességét lehet megvizsgálni. Az ECHO üzenet kézhezvételét követően a címzettnek egy ECHO REPLY üzenettel kell válaszolnia.

A TIMESTAMP REQUEST (időpontkérés) és TIMESTAMP REPLY (időpontválasz) üzenetek hasonlóak csak a .válaszüzenetben a kérés megérkezésének és a válasz indulásának ideje is fel van jegyezve. Ez a szolgáltatás a hálózati teljesítmény mérésére nyújt lehetőséget.

Ezeken az üzeneteken kívül van még négy másik, amelyek az internet címzéssel foglalkoznak, és lehetőséget biztosítanak a hosztok számára, hogy azonosítsák saját hálózatszámukat, felfedezzék a címzési hibákat: például kezelni tudják azt az esetet, amikor egyetlen IP-címet több LAN birtokol.

Hálózat elérési réteg

Jelenleg a legtöbb hálózat fizikai és adatkapcsolati szinten Ethernet kártyákat használ. Mivel az Ethernet keretnek saját fejléce van, saját egyedi, 48 bites címzéssel rendelkezik, ezért az IP csomagokat ilyen hálózaton közvetlenül nem lehet átvinni, be kell csomagolni. Minden Ethernet keretnek egy 14 oktetes fejléce van, amely a forrás- és a célgép Ethernet címét, valamint egy típuskódot tartalmaz. A hálózaton lévő gépek csak az olyan kereteket figyelik, amelyek célmezőjében a saját Ethernet címüket, vagy a mindenkinek szóló körözvénycímet találnak. Minden számítógépnek van egy táblázata, amelyben felsorolja, hogy milyen Ethernet cím milyen Internet címnek felel meg. Ennek a táblázatnak a karbantartását a rendszer egy protokoll, az ARP (Address Resolution Protocol - címleképezési protokoll) segítségével végzi.

Egy alhálózatban, amelyik Ethernet összeköttetést használ, tegyük fel, hogy a 193.18.24.196 IP című hosztról a 193.18.24.75 hoszttal szeretnénk kapcsolatba lépni. A kezdeményező 193.18.24.196 című hoszt megnézi, hogy szerepel-e a saját ARP táblázatában a 193.18.24.75 címhez tartozó Ethernet cím bejegyzés. Ha igen, akkor a datagramhoz egy Ethernet fejlécet csatol, és elküldi. Ha azonban ilyen bejegyzés az ARP táblázatban nincsen, akkor a csomagot nem lehet elküldeni, hiszen nincs meg az Ethernet cím.

Ekkor lép működésbe az ARP protokoll. A 193.18.24.196 hoszt egy “a 193.18.24.75 Ethernet cím kellene” tartalmú ARP kérést ad ki az Ethernet hálózatra. Az adott hálózaton minden hoszt figyeli az ARP kéréseket. Ha egy hoszt egy rá vonatkozó ARP kérést kap, akkor válaszol rá.

Ebben az esetben tehát a 193.18.24.75 hallja a kérést, és egy ARP üzenetet küld válaszul a kérdezőnek, amelyben megadja a 193.18.24.75 IP című gépben lévő kártya Ethernet címét, pl.: 12:3:44:12:52:11. A kérést adó rendszer a kapott információt bejegyzi az ARP táblázatába.

Abban az esetben, ha a kért IP cím nincs a közös Ethernet hálózatba kapcsolt hosztok között, akkor a külvilág felé kapcsolatot biztosító átjáróban (routerben) lévő Ethernet kártyacímet felhasználva, oda kell küldeni az adott keretet.

A fentiekből nyilvánvaló, hogy az ARP kéréseket tartalmazó kereteket üzenetszórás formájában kell a hálózatra kiadni. A kérés megfogalmazásához a csupa egyes bitből álló FF:FF:FF:FF:FF:FF Ethernet címet használják. Megállapodás szerint az Ethernet alapú hálózatok minden gépe figyeli az ilyen címre küldött kereteket. Ez azt jelenti, hogy az ARP kérést is látja mindegyikük. Minden egyes gép ellenőrzi, hogy a kérés rá vonatkozik-e. Ha igen, akkor választ küld. Ha nem, akkor egyszerűen nem veszi figyelembe. Az üzenetszórást jelző IP című csomagokat (pl. 255.255.255.255 vagy 193.18.24.255) is csupa egyes bitből álló Ethernet címre kell küldeni.

A címek mellett a fejlécben szerepel még egy a használt protokollt azonosító típuskód is. Ennek segítségével ugyanazon a hálózaton többfajta protokollkészlet használata is lehetséges: TCP/IP, DECnet, Xerox, NS stb... Ezen protokollok mindegyike különböző értéket helyez a típus mezőbe. A csomag végén az ellenőrzőösszeg található, amely az egész csomagra vonatkozik. Az Ethernet keret tehát így néz ki:

 

116. ábra: Ethernet IP keret

Az ilyen módon “burkolt” (encapsuleted) keretek megérkezése után az egyes fejléceket leszedi a megfelelő protokoll. Az Ethernet interfész az Ethernet fejlécet és az Ethernet ellenőrzőösszeget szedi le. Ezek után ellenőrzi a protokollra utaló típuskódot. Ha az IP-re mutat, akkor a datagramot átadja az IP-nek, amely a protokoll mező tartalmát megvizsgálja. Itt általában azt találja, hogy TCP, ezért a datagramot a TCP-nek adja át. A TCP a Sorszám mező tartalma és egyéb információk alapján állítja össze az eredeti állományt.

Létezik az ARP protokoll fordítottja, a RARP (Reverse Address Resolution Protocol) amely olyan táblázattal dolgozik, amelyben az van felsorolva, hogy milyen IP cím milyen Ethernet címnek felel meg.

 

Foglaljuk össze a lényeget mégegyszer!

Az információ datagramban terjed. A datagram (csomag) az üzenetben elküldött adatok összessége. Minden datagram a hálózatban egyedi módon terjed. Ezen csomagok továbbítására két protokoll, a TCP és az IP szolgál.

A TCP (Transmission Control Protocol) végzi az üzenetek datagramokra darabolását, míg a másik oldalon az összerakást. Kezeli az esetleges elvesző csomagok újrakérését és a sorrendváltozást. Az IP (Internet Prootocol) az egyedi datagramok továbbításáért felelős.

Pédául ha egy adathalmazt akarunk a hálózaton átvinni:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

a TCP ezt datagramokká darabolja:

xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx

a TCP minden datagram elejére egy fejlécet rak (T=FEJ(TCP)) ami tartalmazza a forrás és a célprocessz port címét a sorozatszámot, és az ellenőrző összeget.

Txxx Txxx Txxx Txxx Txxx txxx Txxx

ezt adja tovább az IP-nek a cél Internet címével együtt. Az IP ebből és a hely Internet címből újabb fejlécet képez (I=FEJ(IP)) :

ITxxx ITxxx ITxxx ITxxx ITxxx ITxxx ITxxx

A hálózat elérési szint, (amely lényegében a fizikai és adatkapcsolati szint) különböző lehet — pl. soros vonal, X25, vagy Ethernet — keretekkel dolgozik. Az Ethernet saját fejlécét (a két ETHERNET címmel) és C ellenőrző összegét illeszti EIT(FEJ(F)):

EITxxxC EITxxxC EITxxxC EITxxxC EITxxxC EITxxxC

A fogadó oldal ezeket sorban egymásután leszedi, ha IP típusú, akkor az IP-nek adja tovább, ha TCP típusú, akkor a TCP-nek, ami a sorozatszám alapján visszaállítja az eredeti adatfolyamot.

A UNIX hálózatkezeléséről röviden

Mivel az Internetben sok gépen a UNIX-ot használják operációs rendszerként, ezért érdemes röviden összefoglalni, hogy ez az operációs rendszer hogyan támogatja a hálózati lehetőségeket. A TCP/IP-t protokollt egy primitívhalmazon keresztül lehet elérni, amelyeket rendszerhívásokként valósítottak meg (implementáltak). Ezen keresztül érheti el a felhasználó a szállítási szolgálatokat. A főbb rendszerhívásokat a következő táblázatban soroltuk fel [1]:

 

NÉV

FUNKCIÓ

Socket

Létrehoz egy adott típusú TSAP-ot

Bind

ASCII nevet rendel egy korábban létrehozott sockethez

Listen

Létrehoz sort, amely a bejövő összeköttetés-kéréseket tárolja

Accept

Eltávolít a sorból, vagy vár egy összeköttetés-kérést

Connect

Összeköttetést kezdeményez egy távoli sockettel

Shutdown

Lezárja az összeköttetést a socketen

Send

Üzenetet küld el egy socketen keresztül

Recv

Üzenetet vesz egy adott végponton

Select

Megvizsgál egy sockethalmazt, hogy készek-e olvasásra vagy írásra

 

A szolgálatinterfész központi jelentőségű fogalma a socket (foglalat), amely hasonló az OSI TSAP-jához. A socketek végpontok, amelyekhez alulról (az operációs rendszer felől) az összeköttetések, míg felülről (a felhasználó felől) a folyamatok kapcsolódnak.

A socket rendszerhívás létrehoz egy socketet (egy operációs rendszeren belüli adatstruktúrát): a hívások paraméterei kijelölik a címformátumot (pl. egy Internet nevet), a socket típust (pl. összeköttetés-alapú vagy összeköttetés-mentes), valamint a protokollt (pl. TCP/IP).

Miután egy socket már létrejött, a bejövő összeköttetés kérések tárolásához puffer allokálható. Ezt a listen hívással lehet végrehajtani. Egy listen hívásban megadott socket passzív végponttá válik, amely a kívülről hozzá érkező összeköttetés-kérésekre várakozik.

Azért, hogy egy távoli felhasználó összeköttetés kérést küldhessen egy socketnek, a socketeknek névvel (TSAP címmel) kell rendelkezniük. A socketekhez neveket a bind hívással rendelhetünk. Ezután a neveket valamilyen módon ismertté kell tenni, és a távoli felhasználók máris megcímezhetik azokat.

Az accept hívással lehet egy felhasználói folyamatot egy sockethez hozzárendelni, és passzív módon összeköttetés kérésekre várakoztatni. Ha egy kérés érkezik, akkor a hívás kiveszi azt a sorából; egyébként a folyamat blokkolódni fog addig, amíg egy kérés be nem érkezik (kivéve, ha a socketet nem-blokkolósnak specifikálták).

Amikor egy kérés beérkezik, egy új socket jön létre és válik az összeköttetés végpontjává. Így egyetlen port több összeköttetés létesítésére is használható.

Távoli sockethez való összeköttetés létesítéshez, a folyamatoknak connect hívást kell kiadniuk, amelyben paraméterként a helyi és a távoli socketet kell kijelölniük. Ez a hívás összeköttetést létesít a két socket között.

Ha a socketek összeköttetés-mentes típusúak, akkor az operációs rendszer e hívás hatására feljegyzi a kettő közti kapcsolatot, és így a lokális socketen a későbbiekben kiadott send hívások távoli socket felé tartó üzeneteket eredményeznek.

Egy összeköttetés lebontását, vagy egy socket-socket pár közötti összerendelés megszüntetését a shutdown hívás használatával lehet elérni. Egy duplex összeköttetés két irányát külön-külön is le lehet zárni.

A send és recv hívások üzenetek küldésére és vételére használhatók. Ezen alaphívásoknak több változata is létezik.

Végül a select rendszerhívás olyan folyamatok számára hasznos, amelyeknek több létesített összeköttetésük van. Sokszor előfordul, hogy egy ilyen folyamatnak minden egyes olyan socketre recv hívást kell kiadnia, amelyen üzenet érkezett számára. Sajnos azonban nem tudja, hogy melyek ezek a socketek. Ha véletlenszerűen választja ki azokat, akkor előfordulhat, hogy blokkolódik egy olyan végponton, ahol nincs is üzenet, míg más socketeken üzenetek várják. A select hívás lehetővé teszi a folyamatnak, hogy addig blokkolódjon, amíg a paraméterként magadott socket-halmazon sikeres olvasási vagy írási kisérlet végrehajtható nem lesz.

       


Ábrajegyzék

Bevezetés

1.fejezet: A hálózatok célja, alkalmazása, alapfogalmak

2.fejezet: Fizikai átviteli jellemzők és módszerek

3.fejezet: Közeg-hozzáférési módszerek

4.fejezet: Adatkapcsolati protokollok

5.fejezet: Hálózati réteg

6.fejezet: A felsőbb rétegek

7.fejezet: Lokális hálózatok

8.fejezet: TCP/IP protokoll, az Internet szállítási rétege: a TCP, az Internet hálózati rétege: az IP, Példa az alkalmazási rétegre: Az Internet szolgáltatások, WWW, Ellenőrző kérdések

9. fejezet: Szótár

Irodalomjegyzék

Tárgymutató