Subnetting
17 مهر 1394 آموزش های کاربردی یک دیدگاه
آموزش رایگان

آموزش Subnetting

سلام به همه شما همراهان همیشگی هیوا

آموزش Subnetting را با یک سناریو آغاز می کنیم. اما پیش از آن باید با IPv4 و ساختار آن و کلاس های IP آشنایی داشته باشید. پس مرور کوتاهی بر IPv4 ، ساختار و دسته بندی های آن می کنیم.

ویژگی های IPv4:

149.202.138.80

IPv4 یک شناسه 32 بیتی است.

از 4 بخش تشکیل شده.

به هر بخش octet می گویند ( 32/4=8 bit )

هر octet با نقطه از هم جدا می شوند.

نحوه نمایش آن به صورت Decimal یا ده دهی است.

به ازای هر IP یک همزاد وجود دارد که به آن Subnet mask می گویند.

کار Subnet mask مشخص کردن Net ID و Host ID است.

دسته بندی کلاس های IPv4 :

IPv4 در 5 کلاس دسته بندی می شود که هر کلاس ویژگی های خود را دارد.

تعداد هاست در هر شبکهتعداد شبکهCIDRSubnet maskبازهکلاس
224 – 2126/8255.0.0.00-127A
216 – 264 * 28/16255.255.0.0128-191B
28 – 232 * 216/24255.255.255.0192-223C
تعریف نشده255.255.255.255224-239D
تعریف نشده255.255.255.255240-255E

IP های Private :

برای هر یک از کلاس های A ، B و C یک بازه Private تعریف شده است. این IP ها برای شبکه های خصوصی مناسب هستند و شما می توانید با توجه به وسعت شبکه خود یکی از این ها را انتخاب کنید:

انتهای بازهابتدای بازهکلاس
10.255.255.25510.0.0.0A
172.31.255.255172.16.0.0B
192.168.255.255192.168.0.0C

IP های خاص:

برخی از IP ها از قبل Reserve شده اند و یا بنا به دلایلی نمی توانیم از آن ها استفاده کنیم. در زیر لیست برخی از آن ها را می بینید:

کاربردIP
0.0.0.0
رزرو شده برای loopback127.x.y.z
APIPA169.254.x.y

سناریو :

شما مدیر IT سازمانی هستید که 6 واحد و حدود 190 کامپیوتر دارد .در هر واحد حدود 40 کامپیوتر وجود دارد. شما از رنج 192.168.10.x برای شبکه سازمان استفاده کرده اید. در این حالت تمام کامپیوتر ها با هم Ping و ارتباط دارند. از بالا دستور آمده که هیچ واحدی نباید با واحد دیگر ارتباط داشته باشد. یعنی هر 6 واحد فقط بتوانند با کامپیوتر های واحد خود ارتباط داشته باشند. حالا چه باید کرد؟

راه حل:

به روش های گوناگونی می توان این کار را اجرایی کرد. مانند استفاده از Switch های لایه 3، جداسازی اتصالات شبکه هر واحد، استفاده از رنج های IP گوناگون. اما یکی از روش های ساده و کم هزینه، استفاده از Subnetting است.

ایده اصلی:

ایده اصلی کار، در تغییر Subnet mask است، نه تغییر رنج IP .

چرا به جای Subnetting از رنج IP های مختلف استفاده نکنیم؟

این دو حالت را در نظر بگیرید:

1 – DHCP داشته باشیم.

اگر DHCP داشته باشیم و شما بخواهید برای هر واحد رنج IP جدا در نظر بگیرید در این صورت :

  • به ازای هر واحد باید یک Scope جدید در DHCP تعریف کنید.
  • به ازای هر Scope در DHCP باید یک کارت شبکه داشته باشید (در این سناریو 6 کارت شبکه)
  • به ازای هر کامپیوتر باید Reservation در DHCP انجام دهید و یا هر کارت شبکه DHCP مستقیما به واحد مربوطه وصل شود و آن واحد هم باید از لحاظ فیزیکی ایزوله باشد وگرنه در شبکه هرج و مرج بوجود می آید

2 – DHCP نداشته باشیم.

باید برای هر واحد به صورت دستی IP ها را Set کنید. هر چند همین کار را در حالت Subnetting هم باید انجام دهیم اما مقدار تغییرات کمتر است!

همچنین اگر فردا از بالا دستور بیاید که همه با هم شبکه شوند دوباره کلی IP هست که باید Set کنید در حالی که در صورت استفاده از Subnetting فقط کافیست که Subnet mask را تغییر دهید.

مشکل اینترنت، Gateway و Active Directory :

اگر کلاینت های شما به اینترنت متصل می شدند و الان هم باید به اینترنت متصل باشند باید به ازای هر رنج، یک Gateway در همان رنج داشته باشید. در غیر این صورت اگر از Gateway استفاده نمی کنید و در شبکه Active Directory دارید باید به ازای هر واحد، یک IP در Active Directory تعریف کنید.

مشکل ایجاد شدن IP ها آزاد در شبکه:

فرض کنیم شما مهمانی گرفتید. می دانید که حداکثر مهمان های شما 200 نفر هستند. پس شما 200 کارت دعوت چاپ می کنید. هر کس که یکی از این کارت های دعوت را داشته باشد می تواند در مهمانی شما شرکت کند و پذیرایی شود. حالا در نظر بگیرید که مهمان های شما همان 200 نفر هستند اما شما 800 کارت دعوت چاپ کنید؟ چه اتفاقی می افتد؟ در خوشبینانه ترین حالت هیچ اتفاقی. اما در حالت غیر خوشبینانه اگر فرد یا افراد غریبه ای به این کارت های دعوت دسترسی بیابند می توانند در مهمانی شما شرکت کنند و همه شیرینی ها را بخورند!

خلاصه اینکه:

از Subnetting استفاده کنید.

Subnetting چطور انجام می شود؟

به بیان تقریبا ساده:

با گرفتن سقف لوگاریتم در مبنای 2 از x

آموزش Subnetting

اما x چیست؟

دو حالت دارد:

1- تعداد زیر شبکه

2- تعداد هاست

اما چرا باید در مبنای 2 لوگاریتم بگیریم؟

چون باید این کار را به زبان کامپیوتر انجام دهیم.

Subnetting بر اساس تعداد زیر شبکه

مثال:

سناریو بالا را در نظر بگیرید. ما می خواهیم رنج 192.168.10.x را برای 6 زیر شبکه، Subnetting کنیم. بنابراین:

192.168.10.0IP Range
11000000 . 10101000 . 00001010 . 00000000IP Range in Binary
255.255.255.0Subnet mask
11111111 . 11111111 . 11111111 . 00000000Subnet mask in Binary
nnnnnnnn . nnnnnnnn . nnnnnnnn . hhhhhhhhNet bists – Host Bits
6تعداد زیر شبکه مورد نیاز

یا همان x

110تعداد زیر شبکه به باینری
sub log28

تعداد بیت های لازم برای x زیر شبکه

پس از محاسبه تعداد بیت ها لازم برای 6 زیر شبکه، باید آن ها را از Host bit گرفته و به Net bit تبدیل کنیم. پس:

nnnnnnnn . nnnnnnnn . nnnnnnnn . ssshhhhhNet bit – Host bit
11111111 . 11111111 . 11111111. 1110000New Subnet mask in Binary
255.255.255.224New Subnet mask (decimal)

خب تا اینجای کار Subnet Mask جدید را پیدا کردیم.

اما مرحله بعدی کار، مشخص کردن زیرشبکه ها است. مراحل کار به صورت زیر است:

ما 6 زیر شبکه لازم داشتیم ( و داریم! ) که به باینری شد 3 بیت.

3 بیت در باینری 8 حالت بوجود می آورد: 8 = 23

حالت ها
0000
0011
0102
0113
1004
1015
1106
1117
هر یک از این حالت ها باید در 3 بیت گرفته شده از Host قرار بگیرد یعنی:
قبل از عمل
Broadcast IP ( انتهای شبکه )Net ID ( ابتدای شبکه )حالت
192.168.10.255192.168.10.0
11000000 . 10101000 . 00001010 . 1111111111000000 . 10101000 . 00001010 . 00000000
محاسبه زیرشبکه ها یا Subnet ها (بعد از عمل )
11000000 . 10101000 . 00001010 . 0001111111000000 . 10101000 . 00001010 . 00000000000
192.168.10.31192.168.10.00
11000000 . 10101000 . 00001010 . 0011111111000000 . 10101000 . 00001010 . 00100000001
192.168.10.63192.168.10.321
11000000 . 10101000 . 00001010 . 0101111111000000 . 10101000 . 00001010 . 01000000010
192.168.10.95192.168.10.642
11000000 . 10101000 . 00001010 . 0111111111000000 . 10101000 . 00001010 . 01100000011
192.168.10.127192.168.10.963
11000000 . 10101000 . 00001010 . 1001111111000000 . 10101000 . 00001010 . 10000000100
192.168.10.159192.168.10.1284
11000000 . 10101000 . 00001010 . 1011111111000000 . 10101000 . 00001010 . 10100000101
192.168.10.191192.168.10.1605
11000000 . 10101000 . 00001010 . 1101111111000000 . 10101000 . 00001010 . 11000000110
192.168.10.223192.168.10.1926
11000000 . 10101000 . 00001010 . 1111111111000000 . 10101000 . 00001010. 11100000111
192.168.10.255192.168.10.2247

خب بنابراین ما توانستیم Subnetting انجام دهیم. با 3 بیت 8 حالت ایجاد شد که هر یک از حالت ها، یک Subnet ایجاد کرد. اما ما فقط 6 زیر شبکه از موارد بالا را لازم داریم. بنابراین از 8 زیر شبکه بالا فقط از 6 تای آن استفاده می کنیم. کافیست برای هر واحد از IP های یک Subnet استفاده کنیم.

چند نکته در مورد Subnetting :

طبق قواعد IP ها، نمی توانید از Net ID و Broadcast IP استفاده کنید و باید از IP های بین آن ها استفاده کنید.

هر Subnet فقط با IP های درون خود Ping و ارتباط دارد.

در هنگام استفاده از IP های زیرشبکه، یادتان باشد که Subnet mask جدید را هم Set کنید.

Subnetting بر اساس تعداد هاست

این بخش در روزهای آتی کامل می شود.

امیدواریم آموزش subnetting برای شما همراهان مفید باشد

با سپاس از همراهی شما

هیوا شبکه

مطالعه بیشتر دوره های تخصصی در آموزشگاه هیواشبکه

سایت علمی آموزشی هیواشبکه

سایت طراحی و بهینه سازی سایت هیواشبکه

دانلود رایگان PDF آموزش subnetting

                                               آموزش Subnetting               آموزش Subnetting