4. Nem TCP protokollok: UDP és ICMP


Eddig csak olyan kapcsolatokkal foglalkoztunk, amelyek TCP-t használnak. Emlékezzünk vissza, hogy a TCP az üzenetek datagrammokra darabolásáért és helyes sorrendben történõ visszaállításáért felelõs. Sok alkalmazás során találjuk magunkat szembe olyan üzenetekkel, amelyek elférnek egyetlen datagrammban is. Egy példa erre a nevek kikeresése. Amikor egy felhasználó egy másik rendszerrel kapcsolatba akar lépni, akkor általában az adott rendszer nevét fogja megadni, és nem az IP címét. Mielõtt bármit is kezdhetne vele, a felhasználó rendszerének ezt a nevet le kell fordítania IP címre. Az erre a célra szolgáló adatbázissal viszont nem minden rendszer rendelkezik, ezért a felhasználó rendszere az adatbázissal bírót kéri meg a fordításra. A kérés annyira rövid, hogy biztosan elfér egyetlen datagrammban. Ugyanez mondható el a válaszról is. Úgy látszik, hogy nem érdemes a TCP-t használni. Persze a TCP az üzenetek darabolásán kívül még mást is csinál. Biztosítja, hogy az üzenetek megérkezzenek: ahol szükséges, ott a datagrammokat újraadja. Viszont az olyan kérdéshez, amely egyetlen datagrammban elfér, 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. Az ilyen alkalmazásokra a TCP mellett létezik más alternatíva.

A legszélesebb körben használt ilyen protokoll az UDP (user datagram protocol -- felhasználói datagrammprotokoll), amelyet olyan alkalmazásokhoz találtak ki, ahol nincs szükség datagramok sorozatba állítására. 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 továbbítja az adatot. 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 nem végez annyi feladatot, mint a TCP: nem tördeli szét az üzenetet datagrammokra, nem figyeli a már elküldött adatokat, hogy majd esetleg újraadja õket. 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. Megjegyezzük még, hogy az UDP fejléc sokkal rövidebb, mint a TCP fejléce. Ebben is szerepel a forrás- és a célport száma, valamint egy ellenõrzõ összeg, de ennyi az egész. Nincs benne sorszám, mert nincs szükség rá. Az UDP fejléc így néz ki:

   
   
       <<-------------------------- 32 bit --------------------------->>
   
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           Forrásport          |           Célport             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           Hossz               |       Ellenõrzõösszeg         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   
   
   

Az UDP-t a nevek kikeresését végzõ (lásd az IEN 116, az RFC 882 és az RFC 883 dokumentumokat), illetve az ezekhez hasonlóan mûködõ protokollok használják.

Egy másik alternatív protokoll az ICMP (Internet control message protocol -- internet vezérlõüzenet protokoll) nevet viseli. Az ICMP-t a hibaüzenetek és a TCP/IP-t megvalósító szoftvernek szánt üzenetek kezelésére használják. Kapcsolat kérésekor a kezdeményezõ rendszer kaphat például olyan ICMP üzenetet, hogy "host unreachable" (elérhetetlen gép). Az ICMP-t használják még arra is, hogy magáról a hálózatról információkat gyûjtsenek. A protokollt az RFC 792 dokumentum írja le teljes részletességében. Az ICMP abban hasonlít az UDP-hez, hogy mindketten olyan üzenetekkel foglalkoznak, amelyek egyetlen datagrammban elférnek. Az ICMP azonban annál is egyszerûbb. Még csak portszámok sincsenek a fejlécében. Mivel minden egyes ICMP üzenetet maga a hálózati szoftver értelmez, ezért nincs szükség olyan portszámokra, amelyek megmondják, hogy egy adott ICMP üzenet hova menjen.


Vissza a tartalomjegyzékhez
<<
>>