IPV4 Addressing
Introduction to IPV4 Addressing
Internet protocol version 4 किसी भी network में hosts के लिए logical address (IP address) assign करने का standard protocol होता है। अभी आप इसी protocol को यूज़ कर रहे है। ये protocol इस दुनिया में available जितने भी devices है उनको unique address provide करने में अभी तो सक्षम है लेकिन कुछ सालों बाद नहीं होगा। इसलिए इसका advanced version IPV6 introduce किया गया है, जिसके बारे में आप IPV6 की tutorial में पढ़ सकते है।
IPV4 में IP address 32 bits का होता है। इसे 8 bits के 4 blocks में दर्शाया जाता है। निचे IPV4 address को binary और decimal दोनों form में represent किया गया है।
Binary - 11000000.10101000.00001010.00000001
Decimal - 192.168.10.1
ये blocks network और hosts को represent करते है। शुरू के blocks network को represent करते है और बाद के hosts को represent करते है। कितने blocks network को represent करेंगे और कितने hosts को represent करेंगे ये IP address की classes के द्वारा defined होता है। यदि आप IPV4 address के format और classes के बारे में और अधिक जानना चाहते है तो Addressing tutorial को पढ़ सकते है।
IPV4 Header
Internet Protocol (IP) layer 3 (Network Layer) पर काम करता है। ये layer layer 4 (Transport Layer) के द्वारा भेजे गए segments (when using TCP as protocol) या datagram (when using UDP as protocol) को packets में break करती है। Packets में break करने के बाद इन packets के साथ IP header attach की जाती है। ये header packet से related आवश्यक information receiver side को provide करती है। IP header में ये information different fields के द्वारा represent की जाती है।
निचे IP header को एक diagram के द्वारा represent किया गया है। इसके बाद सभी fields को निचे detail से समझाया गया है।
Version Number - Version Number field के द्वारा Internet Protocol का version number define किया जाता है। यँहा पर IPV4 header की बात की जा रही है इसलिए version भी 4th ही होगा।
Header Length - इस field के द्वारा IP header की length define की जाती है। IPV4 header की length 32 bit words (with options) के द्वारा दर्शायी जाती है। यदि header में कोई options defined ना हो तो इस filed की value 5 set होती है।
Types of Service - ये field वो तरीका define करता है जिससे router को packets को queue करना चाहिए जब packets forward होने के लिए wait कर रहे हो। यदि किसी packet की priority ज्यादा हो तो इस field की value 1 होती है। Regular packets के लिए इस packet की value 0 होती है।
Total Length - ये field IP data-gram की total length को दर्शाता है। ऊपर define किया गया header length field header की length को define करता है और ये field data और header सहित data-gram की total length को define करता है। ये एक 16 bit field होता है।
Identification - ये field एक segment का identification होता है। ये एक 16 bit का number होता है जो source address के साथ मिलकर किसी segment को uniquely identify करता है।
Flags - ये field दर्शाता है की क्या router किसी segment को fragment कर सकते है। इस field में 3 bits होती है। पहली bit reserved होती है। यदि इस field में second bit set हो तो उसका मतलब होता है don’t fragment और यदि इस field में third bit set हो तो उसका मतलब होता है की segment fragmented है।
Fragment Offset - यदि packet fragmented है तो ये field original packet की शुरू की 8 bits को दर्शाता है। ये field 13 bits का होता है।
Time to Live - ये field एक limit set करता है। मान लीजिये इस field की value 15 है। यदि packet 15 routers से pass होने के बाद भी destination तक नहीं पहुँचता है तो उस packet को discard कर दिया जाता है। Authenticity के नजरिए से ये एक महत्वपूर्ण field है। इस field की size 8 bits होती है।
Protocol - इस field में उस protocol का नाम होता है जिसने packet network layer को pass किया क्योंकि receiver side पर De-multiplexing के लिए ये पता होना चाहिए की कौनसे protocol को data pass करना है।
Header Checksum - ये field errors को check करने के लिए यूज़ किया जाता है। जब packet source से send किया जाता है तो इस field में एक value होती है जो algorithm के द्वारा header से calculate की जाती है। जब ये packet receiver side पर पहुँचता है तो उसी algorithm के द्वारा value को वापस header से calculate किया जाता है यदि value source side से match करती है तो माना जाता है की packet error free है। ये field 8 bits का होता है।
Source IP Address - ये field source के IP address को represent करता है। इस field की size 32 bits की होती है।
Destination IP Address - इस field के द्वारा destination address represent किया जाता है। इस field की size 32 bits होती है।
Options - ये field कुछ options को represent करता है जो कुछ packets use कर सकते है। हालाँकि इस field को यूज़ नहीं किया जाता है लेकिन जब भी इसे यूज़ किया जाता है इससे header की length 32 bits से ज्यादा हो जाती है।
Data - इस field में मुख्य data होता है जो transport layer protocols द्वारा IP को pass किया जाता है।
IPV4 Address Types
जब भी IPV4 packets send या receive किये जाते है तो वे निचे दिए गए 3 में से एक प्रकार के address द्वारा send/receive होते है। आइये इनके बारे में detail से जानने का प्रयास करते है।
Unicast
एक unicast address एक specific host को represent करता है। इस तरह के address IPV4 packet में specific destination host को represent करते है। इस प्रकार के address one-to-one communication के लिए यूज़ किये जाते है। उदाहरण के लिए LAN A का एक host LAN B के किसी host को packet send करे तो वह unicast addressing कहलाएगी।
Multicast
Multicast addresses को किसी packet को एक से अधिक hosts को send करने के लिए यूज़ किया जाता है। ये one-to-many communication के लिए यूज़ किये जाते है। उदाहरण के लिए कोई एक host किसी दूसरे network में एक IP addresses के group को packet send करता है। ये packet सिर्फ उन्हीं hosts द्वारा receive किया जाता है जो multicast group में है।
Broadcast
IPV4 के द्वारा किसी एक host के packet को पुरे network में फैलाने के लिए broadcast addresses यूज़ किये जाते है। ये एक one-to-all communication होता है। उदाहरण के लिए एक host किसी packet को LAN में available बाकि सभी hosts को भेज सकता है।