ARP (Address Resolution Protocol)
Introduction to ARP (Address Resolution Protocol)
ARP एक network layer protocol है। TCP/IP protocol suit में ये एक बहुत ही important protocol है। हालाँकि इसे 80 के दशक के शुरआती दिनों में ही develop कर लिया गया था लेकिन 1982 में RFC 826 में define किया गया था। ARP को IPv4, X.25, frame relay, ATM जैसी महत्वपूर्ण technologies के साथ implement किया गया है।
ARP protocol IP address के base पर MAC address को resolve करता है। Application layer पर किसी भी device से communicate करने के लिए IP address use किया जाता है। लेकिन data link layer (LAN) पर किसी device से communicate करने या फिर उसे data send करने के लिए MAC address की आवश्यकता होती है।
जब किसी local host को कोई data send किया जाता है तो networks के बीच ये IP address के माध्यम से travel करता है। लेकिन LAN में उस host तक पहुँचने के लिए इसे उस host के MAC address की requirnment होती है। इस situation में address resolution protocol एक अहम् भूमिका निभाता है।
Working of ARP (Address Resolution Protocol)
निचे address resolution protocol की working को कुछ steps के द्वारा समझाया जा रहा है।
- जब एक sender किसी receiver से communicate करना चाहता है तो sender सबसे पहले अपना ARP cache check करता है। Sender check करता है की क्या receiver का MAC address पहले से ARP cache में मौजूद है? यदि receiver का MAC address पहले से ARP cache में मौजूद है तो sender उस MAC address को use करते हुए receiver से communicate करेगा।
- यदि receiver device का MAC address ARP cache में पहले से मौजूद नहीं है तो ऐसी situation में sender device द्वारा एक ARP request message तैयार किया जाता है। इस message में sender का MAC address, sender का IP address और receiver का IP address होता है। Receiver के MAC address वाले field को खाली छोड़ दिया जाता है क्योंकि उसे resolve किया जा रहा है।
- Sender device इस ARP request message को LAN में broadcast कर देता है।
- क्योंकि ये एक broadcast message है इसलिए LAN से connected हर device इस message को receive करता है।
- सभी devices इस request message के receiver IP address को स्वयं के IP address से match करते है। जिन devices का ये IP address match नहीं होता है वे इस request message को drop कर देते है।
- जिस device के IP address से इस request message का receiver IP address match करता है वह इस message को receive करता है और ARP reply message तैयार करता है। ये एक unicast message होता है जो सिर्फ sender को भेजा जाता है।
- ARP reply message में sender के IP address और MAC address को reply message भेजने के लिए use किया जाता है। साथ ही इस message में receiver अपना IP address और MAC address भी भेजता है। Receiver device भी अपने ARP cache को future use के लिए sender के MAC address से update करता है।
- जैसे ही sender device ARP reply message receive करता है तो वह अपने ARP cache को नयी information (Receiver का MAC address) के साथ update कर लेता है।
- अब sender के ARP cache में receiver का MAC address मौजूद है sender बिना किसी परेशानी के data send और receiver कर सकता है।
Message Format of ARP (Address Resolution Protocol)
Address resolution protocol द्वारा MAC address resolve करने के लिए message भेजे जाते है। ये message LAN में सभी devices को broadcast किये जाते है। इस message का format निचे diagram द्वारा show किया जा रहा है।
ARP message format में दिए गए सभी fields को निचे detail से समझाया जा रहा है।
- Hardware Type - इस field की size 2 bytes होती है। ये field define करता है की ARP message को transmit करने के लिए किस प्रकार का hardware type use किया गया है। सबसे common hardware type Ethernet है। Ethernet की value 1 होती है।
- Protocol Type - ये field बताता है की ARP message की transmitting के लिए किस protocol को use किया गया है। ज्यादातर इस field की value 2048 होती है जो की IPv4 को दर्शाती है।
- Hardware Address Length - ये field hardware address की length bytes में दर्शाता है। Ethernet MAC address की size 6 byte होती है।
- Protocol Address Length - ये field IP address की size bytes में दर्शाता है। IP address की size 4 bytes होती है।
- OP Code - ये field ARP message के type को बताता है। यदि इस field की value 1 है तो यह request message है और यदि इस field की value 2 है तो यह reply message है।
- Sender Hardware Address - इस field में message send करने वाले device का MAC address होता है।
- Sender Protocol Address - इस field में message send करने वाले device का IP address होता है।
- Target Hardware Address - Request message में यह field खाली होता है। इस field में receiving device का hardware address होता है।
- Target Protocol Address - इस field में receiving device का IP address होता है।