HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Internet Control Message Protocol (ICMP)



Cikkünkben bemutatjuk a minden TCP/IP kapcsolatban működő, de legtöbbször mégis láthatatlan ICMP (Internet Control Message Protocol) protokollt. Az általános ismertetésben leírjuk, hogy hol és milyen körülmények között bukkanhat fel, majd továbbmegyünk és gyakorlati oldalról a Windows XP tűzfal szoftverében betöltött szerepe következik. Végül két ICMP-t használó, hálózatdiagnosztikai segédprogrammal zárjuk cikkünket

Az ICMP az IP adatforgalom üzenetküldő protokollja. Működése legtöbbször a háttérben húzódik meg a felhasználó számára észrevétlenül, ugyanakkor léteznek parancssori segédprogramok, melyek csak ICMP-t használva hálózattesztelésre készültek. A protokoll leírása megtalálható az RFC 792-es számú dokumentációjában. Még a TCP/IP korai fázisában fejlesztették ki, ezért gyakorlatilag minden operációs rendszerben megtalálható. Sőt a hozzá tartozó parancssori segédprogramok is hallgatólagos szabvánnyá váltak és használatukban kis eltérést tapasztalunk például a Windows és a Linux verziók között.
Az IP küldést megvalósító aktív hálózati elemek állapotjelzése zajlik az ICMP üzenetekkel. Aktív hálózati elem egy hálózati kártya, egy útválasztó és minden, ami IP csomagokat küld és fogad és rendelkezik IP címmel. Mikor keletkeznek az üzenetek?
  • Ha egy IP csomag nem ért célba
  • Ha az útválasztó konfigurációja olyan, hogy nem képes az adott feltételekkel továbbítani a csomagot.
  • Ha az útválasztó az adott sebességen nem képes a továbbításra.
  • Illetve, ha az útválasztó átirányítja a csomagot egy másik útvonalra.
  • Hálózati diagnosztikánál.
  • Útválasztó táblák felépítésénél és karbantartásánál.
  • Útválasztó keresésnél.
  • PMTU meghatározásnál (lásd lejjebb).
Az IP adatcsomagok két fő részre oszthatók: fejléc és tartalom. Utóbbi beágyazva tartalmazza az ICMP üzeneteket, tehát IP nélkül nincs ICMP sem.
PMTU meghatározás
Ha két eszköz között létrejön a hálózati kapcsolat, akkor kicserélik egymással a Maximum Segment Size (MSS) (=legnagyobb szegmens méret) értékeiket. Különbözőség estén mindig a kisebbikkel kommunikálnak. Ha a csomag küldője Windows 2000-et futtató gép, akkor egy flag-ben csomag töredezettségre vonatkozó adatot is küld. Amennyiben a fogadó egy útválasztó, akkor a következő válaszokat adhatja:
  • Elutasítja a csomagot és egy ICMP üzenetben visszajelez a küldőnek. Az ilyen jellegű üzeneteknek ez a célja. Így a felhasználó szempontjából értékes adatátvitel és diagnosztikai szoftverek nélkül megállapítható a kapcsolat létrejötte.
  • Elutasítja a csomagot és visszajelez egy ICMP üzenetben. Ezenkívül elküldi a használható szegmens méretét.
  • Elutasítja a csomagot és nem jelez vissza, mintegy fekete lyukként működik, ami hasonlít egy tűzfal működéséhez.
ICMP üzenetek engedélyezése a Windows XP tűzfalán keresztül
Alapértelmezésben az XP tűzfala nem enged át ICMP üzeneteket, tehát egy külső próbálkozó számára úgy viselkedik a gép, mint ha nem is lenne. Viszont ezzel elveszik az ICMP használatának egyik legnagyobb előnye a hálózati diagnosztika lehetősége. A megoldás bizonyos vagy az összes ICMP üzenet engedélyezése.
Nyissuk meg Vezérlőpult > (Hálózati és internetes kapcsolatok) > Hálózati kapcsolatok (Control Panel > (Network and Internet Connections) > Network Connections) mappát. Keressük meg a kapcsolatot, amelyik tűzfallal van védve és engedélyezni kívánjuk az ICMP forgalmát. Kattintsunk rá a jobboldali egérgombbal, majd lépjünk a "Tulajdonságok" ("Properties") menüre, utána a "Speciális" ("Advanced") oldalra. Bekapcsolt tűzfal mellett elérhető az oldal alján lévő "Beállítások" ("Settings") gomb - kattintsunk rá. Megjelenik egy újabb ablak, ahol kattintsunk az "ICMP" oldalra. A listában található jelölőnégyzetek ki- és bekapcsolásával szabályozható a forgalom. Például egy alapszintű PING csomag fogadásához aktivizáljuk a "Bejövő echo kérés engedélyezése" ("Allow incoming echo request") jelölőnégyzetet.


ICMP üzeneteket használó parancssori segédprogramok
Legalapvetőbb - több operációs rendszeren is meglévő - segédprogram a PING. Lényege, hogy ICMP üzeneteket küld egy IP címmel rendelkező állomásnak (számítógép, útválasztó, átjáró, stb.) és a visszakapott válaszokat feldolgozza és megjeleníti a képernyőn, mérve a küldött és kapott csomagok számát, illetve az átvitelhez szükséges időt. Nézzünk néhány példát a használatára:
ping 192.168.0.10
Echo üzeneteket küld a 192.168.0.10-es IP címmel ellátott gép számára. Ha a célállomás válaszol, akkor kiírja a csomagstatisztikát, ha nem, akkor ezt is jelzi. IP cím helyett gépnevet is használhatunk. Mit jelent a válasz? A két gép között van TCP/IP hálózati kapcsolat. Ha ugyanez IP cím helyett gépnévvel is működik, akkor a névfeloldási rendszer is helyesen van konfigurálva.
Alapértelmezésben 4 csomag küldése és fogadása történik, de a -t kapcsolóval végteleníthető a csomagszám:
ping 192.168.0.10 -t
Minden csomaghoz tartozik egy életben maradási Time-to-Live (TTL) érték, ami minden ugrás alkalmával eggyel csökken. Az ugrás egy útválasztón való áthaladás. Ha elérte a nullát, a csomag elveszik. Tesztünk során megadható, hogy a csomag számára maximálisan mennyi ugrást engedélyezünk:
ping 192.168.0.10 -i 10
Példánkban tizet.
Szintén a TTL alkalmazására épül a hálózati útvonalkövetésre használható TRACERT program. Feladata megjeleníteni a képernyőn, hogy az ICMP csomagok milyen állomásokon keresztül haladnak. Hasonlít a PING-hez, de az ugrásokról is mutat adatokat. Használata nagyon egyszerű: adjuk meg paraméterként a tesztelendő célállomás nevét. A többi megjelenik a monitoron.
tracert server.microsoft.com

Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2002 évkönyv 342. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |