Friday, July 20, 2007

പിങ്

ഒരു കംപ്യൂട്ടര്‍ ശ്രംഘലയില്‍ ഒരു കംപ്യുട്ടര്‍ ലഭ്യമാണോ എന്നറിയാന്‍ ഉപയോഗിക്കുന്ന ഒരു സങ്കേതമാണ് പിങ്. ഇതിനായി പിങ് ഒരു ഡേറ്റ പാക്കറ്റ് നെറ്റ്വര്‍ക്കിലൂടെ നിര്‍ദിഷ്ട ഐ.പി അഡ്രസ് ഉള്ള ഒരു കംപ്യുട്ടറിലേക്ക് അയക്കുന്നു.ഈ ഡേറ്റ പാക്കറ്റിനോട് ഇത് ലഭിച്ച കംപ്യുട്ടര്‍ പ്രതികരികൂന്നു.ഇങ്ങനെ ഡേറ്റ പാക്കറ്റ് നെറ്റ് വര്‍ക്കിലൂടെ തിരിച്ചുവരാന്‍ എടുക്കുന്ന സമയവും പ്രതികരണ നിരക്കും പിങ് കണക്കാക്കുന്നു.പാക്കറ്റുകള്‍ നെറ്റ്വര്‍ക്കില്‍ നഷ്ടപ്പെടുകയാണെങ്കില്‍ അതും പിങിന് മനസിലാക്കാന്‍ സാധിക്കും.

ചരിത്രം
--------------------------------------------------------------------------------------------------------------------------------------------------
1983 ഡിസംബറില്‍ മൈക് മസ്സ്(Mike Muuss) നെറ്റ്വര്‍ക്കിലെ തകരാറുകള്‍ കണ്ടെത്താനായി ഒരു പ്രോഗ്രാം രചിച്ചു.കടലിന്റെ ആഴം അളക്കാനായി ഉപയോഗിക്കുന്ന സോണാര്‍ എന്ന ഉപകരണത്തിന്റെ പ്രവര്‍ത്തനവുമായി അതിന് സാമ്യമുണ്ടായിരുന്നു.മൈക് ആ പ്രോഗ്രാമിന് പിങ്(Ping) എന്ന് പേരിട്ടു.പിന്നീട് ഡേവിഡ് എല്‍.മില്‍സ്(David L. Mills) പിങിനെ ‘പാക്കറ്റ് ഇന്റര്‍നെറ്റ് ഗ്രൂപര്‍‘(Packet InterNet Grouper) എന്നുവിളിച്ചു.

2003 മുതലാണ് പിങിന്റെ ദുരുപയോഗങ്ങള്‍ പുറത്തുവന്നത്. ആ സമയത്ത് ഇന്റര്‍നെറ്റില്‍ പടര്‍ന്നുകൊണ്ടിരുന്ന പല വേമുകളും(Internet worms) ഉദാഹരണത്തിന് വെല്‍ച്ചിയ(Welchia) ആക്രമിക്കാനുള്ള പുതിയ കംപ്യുട്ടറുകളെ കണ്ടെത്തിയിരുന്നത് പിങ് അഭ്യര്‍ദ്ധനകള്‍ വഴിയായിരുന്നു.ഇതുകൂടാതെ പിങ് അഭ്യര്‍ദ്ധനകള്‍ ഇന്റര്‍നെറ്റിന്റെ വാഹകശേഷിയെ വരെ ബാധിച്ചു. ഇതുകൊണ്ടൊക്കെ പല ഇന്റര്‍നെറ്റ് സര്‍വീസ് പ്രൊവൈഡേഴ്സും(Internet Service Providers) പ്രതികരണം ആവിശ്യപ്പെട്ടുകൊണ്ടുള്ള ഡേറ്റ പാക്കറ്റുകളെ നെറ്റ്വര്‍ക്കില്‍ നിന്ന് ഒഴിവാക്കി.

പിങിന്റെ കാര്യത്തില്‍ ഇപ്പോഴും രണ്ടഭിപ്രായങ്ങള്‍ നിലനില്‍ക്കുന്നുണ്ട്.പിങ് അഭ്യര്‍ദ്ധനകളെ പൂര്‍ണമായും ഇന്റര്‍നെറ്റില്‍ നിന്ന് ഒഴിവാക്കണമെന്നും അങ്ങനെ നെറ്റ്വര്‍ക്കിന്റെ പ്രവര്‍ത്തനം കൂടുതല്‍ സുഗമമാക്കാമെന്നും ഒരുകൂട്ടം ആള്‍ക്കാര്‍ കരുതുന്നു.മറ്റൊരുകൂട്ടരാകട്ടെ നെറ്റ്വര്‍ക്കിന്റെ നിരന്തരമായ പരിരക്ഷക്ക് പിങ് അത്യാവിശ്യമാണെന്ന് കരുതുന്നു

ഒരു പിങ്ങിങ്
--------------------------------------------------------------------------------------------------------------------------------------------------
ഇവിടെ ലിനക്സ് റൂട്ട് ഉപയോഗിച്ച് ഇംഗ്ലീഷ് വിക്കിപീഡിയയെ(en.wikipedia.org) പിങ് ചെയ്തിരിക്കുന്നു

[root@server] ping en.wikipedia.org
PING rr.pmtpa.wikimedia.org (66.230.200.100) 56(84) bytes of data.
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=1 ttl=52 time=87.7 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=2 ttl=52 time=95.6 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=3 ttl=52 time=85.4 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=4 ttl=52 time=95.8 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=5 ttl=52 time=87.0 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=6 ttl=52 time=97.6 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=7 ttl=52 time=87.3 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=8 ttl=52 time=97.5 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=9 ttl=52 time=78.1 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=10 ttl=52 time=79.5 ms

--- rr.pmtpa.wikimedia.babunlaut ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 8998ms
rtt min/avg/max/mdev = 78.162/89.213/97.695/6.836 ms

എക്കോ റിക്വസ്റ്റ്
-------------------------------------------------------------------------------------------------------------------------------------------
ഒരു ഐ.സി.എം.പി(ICMP) സന്ദേശമാണ് എക്കോ റിക്വസ്റ്റ്(Echo Request). ഇവിടെ എക്കോ റിപ്ലേ(Echo Reply) പ്രതീക്ഷിച്ചുകൊണ്ട് ഒരു ഡേറ്റ പാക്കറ്റ് ഒരു കംപ്യുട്ടറിലേക്ക് അയക്കുന്നു. ഈ ഡേറ്റ പാക്കറ്റ് സ്വീകരിക്കുന്ന കംപ്യുട്ടര്‍ ഇത് അയച്ച കംപ്യുട്ടറിലേക്ക് ഒരു എക്കോ റിപ്ലേ അയയ്ക്കുന്നു.ഈ റിപ്ലേയില്‍ അയച്ച അതേ ഡേറ്റ തന്നെയായിരിക്കും ഉണ്ടാവുക.

സന്ദേശത്തിന്റെ രൂപരേഖ
--------------------------------------
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Type = 8 Code = 0 Header Checksum
Identifier Sequence Number
Data :::
1.ടൈപ് 8 ആയിരിക്കണം
2.കോഡ് 0 ആയിരിക്കണം
3.ഐഡന്റിഫയറും(Identifier) സീക്വന്‍സ് നമ്പറും(Sequence Number) സ്വീകര്‍ത്താവിനെ എക്കോ റിക്വസ്റ്റും എക്കോ റിപ്ലേയും കൈകാര്യം ചെയ്യാന്‍ സഹായിക്കുന്നു.
4.എക്കോ റിക്വസ്റ്റില്‍ ഉള്ള എല്ലാ വിവരങ്ങളും എക്കോ റിപ്ലേയിലും ഉണ്ടായിരിക്കണം.

എക്കോ റിപ്ലേ
-----------------------------------------------------------------------------------------------------------------------------------
എക്കോ റിക്വസ്റ്റിന് മറുപടിയായി ഉണ്ടാവുന്ന ഒരു ഐ.സി.എം.പി(ICMP) സന്ദേശമാണ് എക്കോ റിപ്ലേ.

സന്ദേശത്തിന്റെ രൂപരേഖ
--------------------------------------
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Type = 0 Code = 0 Header Checksum
Identifier Sequence Number
Data :::
1.ടൈപ്പും കോഡും 0 ആയിരിക്കണം
2.ഐഡന്റിഫയറും(Identifier) സീക്വന്‍സ് നമ്പറും(Sequence Number) സ്വീകര്‍ത്താവിനെ എക്കോ റിക്വസ്റ്റും എക്കോറിപ്ലേയും കൈകാര്യം ചെയ്യാന്‍ സഹായിക്കുന്നു.
3.എക്കോ റിക്വസ്റ്റില്‍ ഉള്ള എല്ലാ വിവരങ്ങളും എക്കോ റിപ്ലേയിലും ഉണ്ടായിരിക്കണം.

പുറത്തേക്കുള്ള കണ്ണികള്‍
-----------------------------------------------------------------------------------------------------------------------------------------
http://ftp.arl.mil/%7Emike/ping.html - പിങ്ങിന്റെ നിര്‍മാതാവ് മൈക് മസ്സ്(Mike Muuss) ല്‍ നിന്നും
http://www.linuxjournal.com/article/8605 - ലിനക്സ് ജേര്‍ണലില്‍ നിന്നും

2 comments:

Kalesh Kumar said...

നിഖില്‍, നന്നായിട്ടുണ്ട്!
തുടര്‍ന്നും എഴുതൂ....

Anivar said...

നന്നായിരിക്കുന്നു നിഖില്‍. നമുക്ക് ഗ്നു/ലിനക്സിലെ സാങ്കേതികവിദ്യാ സംബന്ധിയായ ലേഖനങ്ങള്‍ ഒന്നു ഇന്‍ഡക്സ് ചെയ്യാംന്നു കരുതുണു. കൂടുമല്ലോ

അനിവര്‍