Sunday, May 22, 2011

පරිගණක ජාලකරණය පාඩම 15 - IP Address classes



                                මතකයිනේ අපි  Binary සහ Decimal පිලිබදව පහුගිය පාඩමේදි කතාබහ කලා. පහු ගිය ලිපියෙන් කිව්වා වගේම අද බලන්න යන්නේ IPv4 වර්ගයේ  IP Address එකක් ජාලයක් තුල  සන්නිවේදනය සදහා යොදාගන්නා ආකාරය පිලිබදවයි. ඔයාල දැන් හොදටම දන්නවානේ bits 32ක binary number එකක් decimal  4 ක value එකක් විදිහටයි පෙනි හිටින්නේ කියන එක‍. ඒ වගේම හැම bits 8 කම වු ඩෙසිමල් අගය (0 සිට 255 දක්වා වු range එක) අපි octet ලෙසින් ව්‍යවහාර කරන බවත් මතකයිනේ. ඒකට කියන්නේ "dotted decimal notation" යනුවෙන් බවත් දැන් මතකයට එනව ඇති. Binary to Decimal සහ Decimal  to Binary වලට පරිවර්තනය කිරීම පිලිබදව කතාකල නිසා අපිට දැන් කතා කරන්න යන IP classes වලට ලේසියෙන් හා ඉක්මනින්ම අවශ්‍ය කරන IP ප්‍රමානය assign කරගැනීමට වගේම   ගැලපෙන Network address range එක නිර්මාණය කරගැනීමටත් හැකිවේවි.
                            ඉතින් මේ IP address එකක් කොටස් දෙකකට දැක්විය හැකියි. ඒ Network part හා Host part ලෙසින්. ඒ කියපු  Host part එකම අපි node, local යන නම් වලිනුත් හදුන්වනවා. අපි මෙහිදි class එකක් ලෙස හදුන්වන්නේ යම් address එකක් අපි "X.X.X.X." ලෙස ගත්තොත් එහි මොන part එකද  network address එකට අයත් වන්නේ හා මොන part එකද  host address එකට අයත් ව්න්නේ යන්න දැනගැනිමයි. සිද්ධාන්තයට අනුවනම් මේ 32 bit IP addresse එක, 232= 4,294,967,296 (approximately 4.3 billion) පමණ වු පරිගණක ප්‍රමාණයකට ගැළපෙන සේ යෙදිය හැකියි. නමුත් ප්‍රායෝගිකව ඒ ගණන වලංගු නැ. මොකද  සමහර IP address ranges විශේෂ කාර්යයන්ටම  වෙන්කර පවතිනවා. ඒ නිසා ඒවා වෙනත් කාර්යයකට භාවිතයට ගැනිම බොහෝවිට සිදුවන්නේ නැ.මම ඒ ගැන මෙහි අවසානයට කතා කරන්න ඉතිරි කරන්නම්.

Address classes 


       IP Address එකක් ලෝකයේ ඕනෑම තැනක පොදුවේ භාවිතා කල හැකි ආකාරයට යම් කිසි සම්මුතියකට යටත් කර, ලෝකයේ කොහේ හෝ තැනක IP Address එකක් භාවිතා වනවා නම් එය මේ ආකාරයේ එකක්  විය යුතු යැයි  ප්‍රකාශයට පත්කර ඇත. ඉතින් මේ ආකාරයෙන්ම මෙම IP Address  Classes නිර්මානය කිරීමත් සිදු කර තිබෙනවා.මෙසේ Address  Classes එකක් සදහා මුලිකවම අපි භෘවිතයට ගැනිමට යන Network එ‍කට අයත් විය හැකි host හා network  ප්‍රමාණය පදනම් කරගෙන තිබෙනවා. එනම් එතරම් පරිගණක ප්‍රමාණයක් නොයෙදෙන කුඩා Network එකක් සදහා ඒ ආකාරයේ කුඩා Class එකක්ද , ඊට වඩා ටිකක් විශාල එකකට තවත් එකක්ද  විශාල   Network එකකට තවත් එකක්ද වශයෙන් ඒ.  මොකද ඒ ආකාරයට තමන්ට හරියටම ගැලපෙනම පරාසය ලබාදුන්නාම ජාලය ජංජාලයක් නොවි ගත හැකි උපරිම පර්ෆෝමන්ස් යටතේ ක්‍රියාකල හැකිවිම එහි වාසියයි. ඒවගේම එතකොට පිටතින් එන අතුරැ ආබාධ වුවත් ලෙහෙසියෙන්ම හොයාගෙන විසදුම් දෙන්නත් හැකියි.
                   IP Address Classes පහක් තිබෙනවා පහත දැක්වෙන ආකාරයට. නමුත් මෙයින් අප‍ගේ භාවිතයට ගැනෙන්නේ බොහෝවිට  තුනක් පමණයි. අනෙක් classes දෙක ‍අපි Multicast, Broadcast වැනි වෙනම වු විශේෂ කටයුතු සදහා යොදාගන්නවා. Unicast, Multicast, Broadcast Transmission කියන්නෙ මොනවද කියල අවසානයේදි කතා කරමු.




Class A 




begin with 0xxx, or 1 to 126 decimal.
යොදා ගන්නේ  - විශාල Host ප්‍රමාණයක් ඇති  ජාලයකටයි.
First Octet -  1 සිට  126 දක්වා වු අගයක් යෙදිය හැකියි. 
Network Address -  n/w address එක පලමු  bit 8 හෝ   first octet එකයි.
මෙහි  network  addresses 126 ක් (27 - 1) ලබා දෙයි. 
Host/Node Address - Host address එක අවසාන  bit 24 හෝ  අවසන්  octets 3 යි .මෙහි  host addresses 16,777,214 (224-2)ක් ලබාදෙයි.
‍class A can be shown as -
network.host.host.host


Class B 





begin with 10xx, or 128 to 191 decimal.
යොදා ගන්නේ  - මධ්‍යම ප්‍රමාණයේ පරාසයක දුවන ජාලයකටයි.
First Octet -  128 සිට 191 දක්වා වු අගයක් යෙදිය හැකියි. 
Network Address -  n/w address එක පලමු  bit 16 හෝ  පලමු octet දෙකයි. 
මෙහි  network addresses 16,384  ක් (214) ලබා දෙයි. 
Host/Node Address - Host address එක අවසාන  bit 24 හෝ  අවසන්  octets 3 යි .
මෙහි  host addresses 65,534 (216 -2)ක් ලබාදෙයි.
‍class B can be shown as -
network.network.host.host


Class C




begin with 110x, or 192 to 223 decimal.
යොදා ගන්නේ  - කුඩා Host ප්‍රමාණයක් ඇති  ජාලයකටයි.
First Octet -  192 සිට  223 දක්වා වු අගයක් යෙදිය හැකියි. 
Network Address -  n/w address එක පලමු  bit 24 හෝ  පලමු octet තුනයි. 
මෙහි  network addresses 2,097,152   ක්  (221 ලබා දෙයි. 
Host/Node Address - Host address එක අවසාන  bit 24 හෝ  අවසන්  octets 3 යි .
මෙහි  host addresses 254 (28 -2)ක් ලබාදෙයි.
‍class B can be shown as -
network.network.network.host



Class D 




begin with 1110x, or 224 to 239 decimal.
යොදා ගන්නේ -  multi casting (one to many)සදහායි. එනම් multicast messages එකක් වෙනත්  group එකකට හෝ  host machines වලට යැවිම උදාහරණ වශයෙන් දැක්විය හැකියි.
First Octet - 224  සිට 239 දක්වා වු අගයක් යෙදිය හැකියි. (Starts with binary bits - 1110).
මෙහිදි මතක් කල  යුතු විශේෂ කරැණ නම් මේ Class D යනු  special purpose සදහා  reserve කල  Class එකක් යන්නයි. ඒ වගේම මේ range එකට අයත් අගයන්   IP network එකකට හෝ  අන්තර්ජාලයේ කටයුතු සදහා හෝ assign කර නැත.

Class E 




begin with 1111x, or 240 to 255 decimal.
යොදා ගන්නේ  -  experimental purpose සදහා යොදාගනි.
First Octet -  240  සිට 255 දක්වා වු අගයක් යෙදිය හැකියි.
Class D වල වගේම  class E  යනු  special purpose සදහා  reserve කල  class එකකි. මේ range එකේ පරාසයන්ද  IP network එකකට හෝ  අන්තර්ජාලයේ කටයුතු සදහා හෝ assign කර නැත.එමෙන්ම  මේ range එකටම අයත් 255.255.255.255 දරණ  IP address එක අපි  Broadcast (one to any)සදහා භාවිතා කරනවා .
            මෙන්න මෙතන තියෙන table එක මගින් තව දුරටත් පැහැදිලි කරගන්න පුලුවන්.  Network හා Host ID පිලිබදව ඉහත දැක්වු කරැණු වල සාරාංශයක් තමයි මෙතන තියෙන්නේ.



 IP Address Class Network and Host Capacities
IP Address Class
Total # Of Bits For Network ID / Host ID
First Octet of IP Address
# Of Network ID Bits Used To Identify Class
Usable # Of Network ID Bits
Number of Possible Network IDs
# Of Host IDs Per Network ID
Class A
8 / 24
0xxx xxxx
1
8-1 = 7
27-2 = 126
224-2 = 16,277,214
Class B
16 / 16
10xx xxxx
2
16-2 = 14
214 = 16,384
216-2 = 65,534
Class C
24 / 8
110x xxxx
3
24-3 = 21
221 = 2,097,152
28-2 = 254


මං හිතන්නේ අවුලක් නැතිව ඇති නේද? ඊලග පෝස්ට් එකෙන් Network ID, Host ID හා Loopback Address පිලිබදවත් තව දුරටත් කතාකරමු.  එ‍තෙක් ඔබට ජය...

4 comments:

  1. බ්රෝ හොදට IP Address ගැන පැහැදිලි කරල තියෙනව. මමත් ජාලාකරනය ගැන තමයි ලියන්නෙ.මම දාන්නම්කො මගෙ බ්ලොග් එකෙත් link එකක් බ්රෝගෙ සයිට් එකට.

    ReplyDelete
  2. බොහොම ස්තුතියි සහෝ මාව දිරිමත් කිරීම පිලිබදව. ඔයාගේ සයිට් එකත් ගොඩක් වටිනවා. ගොඩක් කියන්නේ සෑහෙන්න විටිනවා. දන්න දේ මේ විදිහට කියල දෙන එක ලොකු පිනක්, කුසලයක් සහෝ. මහන්සිය නොබලා කම්මැලි නැතුව ඔයා මේ කරන වැඩේ අගේ ඇති වැඩක්. මගෙන් සුභ පැතුම්. බොහොම ස්තුතියි කමෙන්ට් එකට.

    ReplyDelete
  3. අයියේ, ඔයාගේ ලිපි පෙළ ගොඩාක් වටින්නේ දුප්පත් අපි වගේ අයට
    පන්තියකට ගිහින් ඉගෙනගන්න සල්ලි නැති අපිට දැනුම දෙනවාට ඔයාට ගොඩාක් පින්
    දිගටම කරගෙන යන්න

    ReplyDelete
  4. to රතී.....

    මුලින්ම කියන්න ඕන , sinhala blog reader එකේ මම කැමතිම blog එක ඔයාගෙ blog එක.
    මම Networking ඉගන ගන්න ගොඩක් කැමතියි. මම ඉස්සර ගොඩක් try කලා. ඒත් හැමදේම English වලින් තියන නිසා ගොඩක් අමාරැ උනා. මට මේ blog එක හම්බඋනාට පස්සේ පුදුම සතුටක් දැනුනෙ. ඇත්තටම ඔයාට ගොඩක් ස්තුතියි. මම ලගදි දවසක wikipedia එකේ 'ජාලකරණය' කියලා නිකමට search කලා. මෙන්න බොලේ මේකෙත් සිංහලෙන් ලිපි දාන්න පටන් අරගෙන. Networking ගැන ගොඩක් විස්තර නම් නෑ. ඒත් අරගෙන තියන උත්සහය වටිනවානේ. මට හිතුනා ඔයා කැමතිනම් ඔයාගේ මේ ලිපි ටිකත් ඒකට දැම්මොත් නම් ඒ ලිපි පෙළ complete කියලා.

    ඔයාට ආයිත් පාරක් ස්තුතියි.

    ReplyDelete