IP Addressing & Subnetting
Part 3
قبل از مطالعه این بخش حتما قسمت دوم مقاله را مطالعه فرمائید.
Network ID & Broadcast address
هر Range آدرس IP داخل یک شبکه واحد ، مجموعه ای از یکسری آدرس IP است که همگی داخل آن شبکه اند . از این مجموعه ، دو آدرس منحصر به فرد وجود دارد:
Network ID : که مشخصه و معرف آن شبکه است.
Broadcast address: که برای دسترسی به همه نود های آن شبکه استفاده می شود.
این دو آدرس را نمی توان به عنوان آدرس معتبر، به نود ها اختصاص داد.
برای محاسبه NetID تمام بیت های Host را صفر می کنیم.
و برای دسترسی به Broadcast address تمام بیت های Host را یک می کنیم.
مثال ) NetID و Broadcast address شبکهای که آدرس IP ، 80.32.51.60 در آن وجود دارد را پیدا کنید.
ابتدا نگاه می کنیم که این آدرسها عضو کدام کلاس می باشند ، چون می خواهیم بخش Network را از Host جدا کنیم.
این آدرس متعلق به Class A است . بنا بر این :
Host |
Network |
32.51.60 |
80. |
اگر آدرس را بصورت باینری بنویسیم خواهیم داشت :
Host |
Network |
00100000 . 00110011 . 00111100 |
01010000 . |
حالا برای اینکه NetID را بدست آوریم ، تمام بیت های Host را صفر می کنیم.
Host |
Network |
00000000 . 00000000 . 00000000 |
01010000 . |
پس NetID می شود : 80.0.0.0
برای بدست آوردن آدرس Broadcast همه بیت های Host را یک می کنیم.
Host |
Network |
11111111 . 11111111 . 11111111 |
01010000 . |
پس Broadcast address می شود : 80.255.255.255
چون این دو آدرس را نمی توانیم به نود ها اختصاص دهیم ، بنابر این اولین آدرس قابل استفاده می شود یکی بالاتر از NetID به عبارتی :
Host |
Network |
00000000 . 00000000 . 00000001 |
01010000 . |
اولین آدرس این شبکه می شود : 80.0.0.1
آخرین آدرس شبکه نیز می شود یکی مانده به آدرس Broadcast یعنی :
Host |
Network |
11111111 . 11111111 . 11111110 |
01010000 . |
آخرین آدرس قابل استفاده در این شبکه می شود : 80.255.255.254
بنا براین وقتی می خواهیم تعداد آدرسهای قابل استفاده در یک شبکه را حساب کنیم از فرمول
2 به توان h ، منهای 2
استفاده می کنیم که h در آن ، تعداد بیت های Host می باشد.
تمرین ) شبکه ای که آدرس IP ، 201.202.32.40 در آن وجود دارد را تحلیل کنید.
ابتدا نگاه می کنیم که این آدرسها عضو کدام کلاس می باشند ، چون می خواهیم بخش Network را از Host جدا کنیم.
این آدرس متعلق به Class C است . بنا بر این :
Host |
Network |
40 |
201.202.32. |
اگر آدرس را بصورت باینری بنویسیم خواهیم داشت :
Host |
Network |
00101000 |
11001001 . 11001010 . 00100000 . |
حالا برای اینکه NetID را بدست آوریم ، تمام بیت های Host را صفر می کنیم.
Host |
Network |
00000000 |
11001001 . 11001010 . 00100000 . |
پس NetID می شود : 201.202.32.0
برای بدست آوردن آدرس Broadcast همه بیت های Host را یک می کنیم.
Host |
Network |
11111111 |
11001001 . 11001010 . 00100000 . |
پس Broadcast address می شود : 201.202.32.255
چون این دو آدرس را نمی توانیم به نود ها اختصاص دهیم ، بنابر این اولین آدرس قابل استفاده می شود یکی بالاتر از NetID به عبارتی :
Host |
Network |
00000001 |
11001001 . 11001010 . 00100000 . |
اولین آدرس این شبکه می شود : 201.202.32.1
آخرین آدرس شبکه نیز می شود یکی مانده به آدرس Broadcast یعنی :
Host |
Network |
11111110 |
11001001 . 11001010 . 00100000 . |
آخرین آدرس قابل استفاده در این شبکه می شود : 201.202.32.254
تعداد آدرس IP قابل استفاده در شبکه : (2^8)-2
می شود 254 آدرس IP
وقتی از شما می خواهند که شبکه ای را تحلیل کنید ، بایستی موارد زیر را حساب کنید :
C |
Class |
201.202.32.0 |
Network ID |
201.202.32.1 |
First IP address |
201.202.32.254 |
Last IP address |
201.202.32.255 |
Broadcast address |
254 |
Number of Available IP addresses |
تمرین ) شبکه ای که آدرس IP ، 130.64.33.25 در آن وجود دارد را تحلیل کنید.
ابتدا نگاه می کنیم که این آدرسها عضو کدام کلاس می باشند ، چون می خواهیم بخش Network را از Host جدا کنیم.
این آدرس متعلق به Class B است . بنا بر این :
Host |
Network |
33.25 |
130.64. |
لزومی ندارد قسمت Network را نیز به باینری تبدیل کنیم ، پس اگر آدرس را بصورت باینری بنویسیم خواهیم داشت :
Host |
Network |
00100001 . 00011001 |
130.64. |
حالا برای اینکه NetID را بدست آوریم ، تمام بیت های Host را صفر می کنیم.
Host |
Network |
00000000 . 00000000 |
130.64. |
پس NetID می شود : 130.64.0.0
برای بدست آوردن آدرس Broadcast همه بیت های Host را یک می کنیم.
Host |
Network |
11111111 . 11111111 |
130.64. |
پس Broadcast address می شود : 130.64.255.255
چون این دو آدرس را نمی توانیم به نود ها اختصاص دهیم ، بنابر این اولین آدرس قابل استفاده می شود یکی بالاتر از NetID به عبارتی :
Host |
Network |
00000000 . 00000001 |
130.64. |
اولین آدرس این شبکه می شود : 130.64.0.1
آخرین آدرس شبکه نیز می شود یکی مانده به آدرس Broadcast یعنی :
Host |
Network |
11111111 . 11111110 |
130.64. |
آخرین آدرس قابل استفاده در این شبکه می شود : 130.64.255.254
تعداد آدرس IP قابل استفاده در شبکه : (2^16)-2
می شود 65534 آدرس IP
وقتی از شما می خواهند که شبکه ای را تحلیل کنید ، بایستی موارد زیر را حساب کنید :
B |
Class |
130.64.0.0 |
Network ID |
130.64.0.1 |
First IP address |
130.64.255.254 |
Last IP address |
130.64.255.255 |
Broadcast address |
65534 |
Number of Available IP addresses |
سوال ) شبکه ای 200 عدد نود دارد . از کدام Class برای آدرس دهی استفاده کنیم ؟
(2^h) – 2 >= 200
h = 8 پس تعداد بیت های Host باید حداقل 8 باشد.
Host |
Network |
hhhhhhhh |
xxxxxxxx.xxxxxxxx.xxxxxxxx |
پس از Class C استفاده خواهیم کرد.
Subnet Mask
آموختیم که چگونه می توانیم بفهیم دو آدرس IP متعلق به یک شبکه اند یا خیر. کامپیوتر برای اینکه این موضوع را بفهمد از مفهومی به نام Subnet Mask استفاده می کند. به این صورت که تمام بیت های Network را یک و تمام بیت های Host را صفر در نظر می گیرد تا Subnet mask را بسازد. سپس Subnet Mask را در آدرس IP ، Boolean AND می کند.
Boolean AND :
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0
1 And 1 = 1
به عبارتی :
Subnet mask برای Class A :
11111111.00000000.00000000.00000000
255.0.0.0
Subnet mask برای Class B :
11111111.11111111.00000000.00000000
255.255.0.0
Subnet mask برای Class C :
11111111.11111111.11111111.00000000
255.255.255.0
به عنوان مثال کامپیوتر می خواهد متوجه شود که آدرس های 80.23.45.2 و 80.24.35.1 در یک شبکه اند یا خیر :
80.23.45.2
01010000.00010111.00101101.00000010
این را در subnet Mask مربوط به Class A ، AND می کند :
01010000.00010111.00101101.00000010
AND
11111111.00000000.00000000.00000000
نتیجه1 : 01010000.00000000.00000000.00000000
همین کار را برای آدرس بعدی می کند :
80.24.35.1
01010000.00011000.00100011.00000001
این را در subnet Mask مربوط به Class A ، AND می کند :
01010000.00011000.00100011.00000001
AND
11111111.00000000.00000000.00000000
نتیجه2 : 01010000.00000000.00000000.00000000
اگر نتیجه1 با نتیجه2 مقدار یکسانی داشت (که در اینجا یکسان است) ، برداشت می کند که این دو آدرس در یک شبکه اند.
از روی خود آدرس می توان تشخیص داد که کدام قسمت مربوط به Network و کدام قسمت مربوط به Host است . پس لزوم استفاده از Subnet Mask چیست؟
می توان بدون توجه به Class ، آدرس دهی نمود (Subnetting) . در چنین مواردی برای تشخیص این مطلب که کدام قسمت مربوط به Network و کدام قسمت مربوط به Host است ، استفاده از Subnet Mask ضروری است.
با توجه به تعاریف گفته شده می توان نتیجه گرفت که عدد Subnet Mask هیچ ارتباطی با آدرس IP ندارد و فقط نمایانگر این است که کدام قسمت مربوط به Network و کدام قسمت مربوط به Host است.
Public & Private IP addresses
ابتدا آدرس های IP که اختصاص داده می شد ، بنا بود از طریق اینترنت، مسیر یابی شوند. ولی همه آدرسها لازم نبود از اینترنت دیده شوند و به عبارتی یکسری آدرس داخلی نیاز بود تا در خود سازمان استفاده گردند. اینجا بحث آدرسهای Public و Private مطرح گردید. یعنی یک Range از IP ها در اختیار قرار گرفت تا بصورت داخلی و خصوصی استفاده شوند و از روی اینترنت مسیر یابی نشوند.
Class A : 10.0.0.0
Class B : 172.16.0.0 to 172.31.0.0
Class C : 192.168.0.0
به این Range از آدرسها ، آدرسهای Private گفته می شوند. سایر آدرسها ، آدرسهای Public هستند که عموما هزینه دارند و از طریق ISP ها و یا سازمانهای مرجع اینترنت بالاتر ، مدیریت می شوند و در اختیار کاربران قرار می گیرند.
نکته : در آدرسهائی که در Class ها یاد گرفتیم ، یکسری آدرس رزرو می باشد . مثلا :
127.0.0.0 Loopback
224 to 238.0.0.0 Multicast
239 to 254 .0.0.0 Experimental
ادامه مطالب را در بخش چهارم این مقاله بخوانید
علی شریعتی
مدرس دوره های شبکه