Subnetting:
می خواهیم پاهای خود را فراتر از حالت های معمول IP بگذاریم و ببینیم حالت های غیر معمول آن چیست . برای درک بهتر این موضوع داستانی را برای شما مطرح خواهم کرد .
یکی بود یکی نبود 📖
روزگاری نه چندان دور ، 3 دوست بودند که با هم کلاس شبکه می رفتند . یکی از آنها 🧔 Admin شبکه یک کارخانه بزرگ شد و دیگری 👨 در یک ارگان دولتی مشغول به کار شد و نفر سوم 👱♂️ برای خودش کار می کرد . روزی این دوست سوم که برای خودش کار می کرد نزد دوست اول خود ، که در یک کارخانه وظیفه بخش IT را بر عهده داشت رفت . پس از صحبت های متنوع و اینکه ، آلمان در یورو 2024 از اسپانیا باخت ⚽، صحبت به اینجا رسید که :
👱♂️ فلانی چند تا کامپیوتر در کارخانه دارید ؟
🧔 256 تا کامپیوتر .
👱♂️ این 256 تا کامپیوتر که با هم شبکه اند را چجوری IP دادید .
🧔 24 / 7.255 - 192.168.7.0
👱♂️ یادته ما با هم کلاس شبکه می رفتیم و استاد می گفت ، اگر تعدادی زیادی
کامپیوتر تحت یک شبکه باشند ، حجم ترافیک Broadcast بالا می رود و Performance
شبکه را پایین می آورد .
🧔 آره یادم است .
👱♂️ خوب این درسته که 256 تا کامپیوتر را در یک شبکه به هم متصل کنی ؟ اگر یکی از
آنها Broadcast کند و هدفش رسیدن به کامپیوتر دومی باشد ، 254 تا سیستم را هدف
قرار می دهد .
🧔 والا از شما چه پنهان ، مطالب را یادم رفته است .
👱♂️ من به تو کمک می کنم که این شبکه 256 تایی را به چند عدد شبکه کوچکتر تقسیم کنی تا کامپیوتر ها راحت تر فعالیت کنند.
👱♂️ به 4 شبکه ی 64 تایی تقسیم کنیم بهتر نیست ؟ تا 1 شبکه ی 256 تایی ؟ آیا من می تونم از هر نوع IP که دوست داشتم استفاده کنم ؟
🧔 مشکلی نیست . از هر کلاسی خواستی IP انتخاب کن .
👱♂️ اگر قرار شد هر قسمت 64 تا کامپیوتر باشد ، حالا اگر تعداد بازه IP ها بیشتر از 64 تا برای هر قسمت شد ، مشکلی پیش می آید ؟
🧔 نه ، اتفاقا خیلی خوب است شاید فردا روز 4 تا کامپیوتر اضافه کردم و 4 تا IP دم دست داشته باشم .
👱♂️ اینکه Subnet Mask پیش فرض کلاس ها را رعایت نکردم اشکالی دارد ؟
🧔 حاشا ، هیچ ایرادی ندارد .
👱♂️ البته ما نیاز به یک Router داریم با 4 عدد Interface که ترافیک های Unicast و Multicast را بین آنها رد کند .
فردا روز نزد دوست سوم 👨 می رویم . پس از سلام و احوال پرسی و اینکه دیروز پیش
فلانی بودم و سلام خیلی رساند ، صحبت به اینجا رسید که :
👱♂️ فلانی چند تا کامپیوتر در این ارگان دارید ؟
👨 240 تا کامپیوتر .
👱♂️ این 240 تا کامپیوتر که با هم شبکه اند را چجوری IP دادید .
👨 24 / 7.255 - 192.168.7.0 👈 بازه من 256 تایی است ، 240 تا آن را استفاده کردم
.
👱♂️ کار خدا را ببین دیروز هم آقای فلانی اینجور IP داده بود . با هم هماهنگ کردید
؟
👨 نه ، هیچ اطلاعی از IP آنها ندارم .
👱♂️ دیروز من یک سوال از او پرسیدم ، حالا از تو می پرسم. به نظرت وجود 240 تا
کامپیوتر در یک شبکه درست است ؟
👨 بله ، در جریان هستم که حجم ترافیک Broadcast بالا می رود و Performance شبکه را
پایین می آورد .
👱♂️ حالا جو دیروز هم من رو گرفته . می خوای برات درستش کنم ؟ اتفاقا دیروز من
شبکه آنها را 4 تا 64 تایی بستم.
👨 کار به این سادگی ها نیست . جایی که از هر کلاسی IP دادی ، یک کارخانه بودند که
اختیار IP دادن دست خودشون بوده . ما اینجا یک ارگان دولتی هستیم یک شبکه یکپارچه
و دست ما نیست که هر جوری دوست داشتیم IP به سیستم ها بدهیم .
👨 ما طبق نامه رئیس IT تهران ، باید از این رنج IP استفاده کنیم .
بسمه تعالی
مدیریت IT شهرستان شیراز با سلام
احتراما به استحضار می رساند ، جهت یکپارچه سازی شبکه های کامپیوتری ارگان بوق ، در کل کشور IT مرکز تهران یک طراحی IP Addressing انجام داده است و بازه آدرس فوق خدمت شما اعلام می شود 24/ 7.255 - 192.168.7.0 لذا توصیه می شود از تغییر این آدرس IP خوداری بفرمایید . زیرا تغییر این آدرس شما را وارد رنج IP استان های دیگر می کند و شبکه ما دچار مشکل خواهد شد .مسلما عدم توجه به این آیتم ، تبعاتی برای شما خواهد داشت.
با تشکر
رئیس IT مرکز
👱♂️ ای دوست ، تو از این نامه می ترسی ؟ نترس. شبکه تو را هم به 4 قسمت تقسیم
خواهم کرد اما نه به روش آن کارخانه .
👱♂️ این رنج IP که تهران گفته ، یک رنج 256 تایی IP است .به نظرت اگر من ، 4 تا 64
تایی کنم ، مشکلی است ؟
👨 اگر می تونی ، بسم الله .
قائده Subnet Mask بدین شرح است :
ما این قدرت را داریم که شبکه های بزرگ را بدون آنکه در اصل Net ID آنها دست ببریم را به چند زیر شبکه کوچکتر تقسیم کنیم و تنها ابزار ما در این راه بیت های 0 خواهند بود ( بیت های 1 به کار ما نمی آیند ) . حال ما هستیم و 8 تا بیت 0 که 4 تا شبکه از دل آن می خواهیم در بیاوریم .
👈 از 2 فرمول بالا برای شکستن شبکه های بزرگ به قطعات کوچکتر استفاده می کنیم :
✔️ Prefix /24 تهران را به شکل Subnet Mask می نویسیم .
✔️ 0 . 255 . 255 . 255 👈 این Subnet Mask معادل 24 تا بیت ( 1 ) و 8 بیت 0 است .
👈 11111111.11111111.11111111.00000000
✔️ 4 تا شبکه می خواهیم ، بنابراین N = 2 خواهد شد . و علی الحساب تعریف ما از N
، تعداد بیت هایی که باید از سمت چپ 1 شوند .👈
11111111.11111111.11111111.11000000
✔️ 6 تا بیت صفر همان H ( گنجایش شبکه ) هستند و طبق فرمول H = 64 خواهد بود . یعنی
4 تا شبکه 64 تایی .
✔️ اگر 2 تا بیت را 1 کنیم ، با استفاده از ارزش مکانی ( مطابق تصاویر بالا) آن
را جمع کرده و به مبنای 10 می بریم . 👈 192 . 255 . 255 . 255 یا 26 /
✔️ Subnet Mask جدید به دست آمده ، برای تمام اعضای این 4 تا شبکه خواهد بود .
✔️ سر گروه ها را مشخص می کنیم و سر گروه تیم اول همیشه کسی است که Host ID آن با
0 شروع می شود . 👈 26/ 192.168.7.0
✔️ سر گروه تیم دوم . یک توصیه به شما برای اینکه فاصله بین سرگروه ها را حساب کنید
و اینکه سرگروه ها مضرب چه عددی با هم فاصله دارند ، از یک تفریق استفاده کنید :
کسر عدد 256 از Subnet Mask جدید 👈 64 = 192 - 256
درست است که طبق فرمول 64 = H شده است ، اما بعضی اوقات H و تفریق ، یک عدد را
نشان نمی دهند و این جور مواقع است که این تفریق به کمک شما می آید . اما به یاد
داشته باش که این تفریق بدان معنا است که، سر گروه ها با هم 64 تا 64 تا فاصله
دارند یا سرگوره ها مضارب 64 هستند .
26/ 192.168.7.0
26/ 192.168.7.64
26/ 192.168.7.128
26/ 192.168.7.192
❌ 26/ 192.168.7.256 👈 در IP عدد 256 وجود ندارد ، بنابراین سر گروه پنجمی وجود
نخواهد داشت .
✔️ هر سر گروه یک ته گروه دارد .انتهای هر گروه برابر است با یکی قبل از سر گروه بعدی .
26/ 192.168.7.63
26/ 192.168.7.127
26/ 192.168.7.191
26/ 192.168.7.255
👈 این تغییرات 2 بیت باعث شد که ، هر 64 تا تبدیل به 1 شبکه شوند ، بدون آنکه در اصل Net ID که روی صحبت تهران بود را تغییر دهیم و ما فقط 2 بیت قسمت چهارم Host ID که اختیارش دست خودمان بود را دست کاری کردیم . حال ما نیازمند یک Router با 4 تا Interface هستیم که این 4 شبکه را به هم وصل کنیم .
مثال :
در یک ارگان دولتی 240 کامپیوتر وجود دارد ، که به صورت 24/ 7.255 - 192.168.7.0 آدرس دهی شده اند . این شبکه را طوری تقسیم بندی کنید که ، 8 شبکه مجزا داشته باشیم .
در مثال بالا 240 تا کامپیوتر وجود داشت که یک بازه 256 تایی را به 8 قسمت تقسیم
کردیم. بنابراین حدودا 240 تا IP به درد بخور ، در این IP ها خواهیم داشت . نکته
ای که وجود دارد این است که ما برای Interface های روتر کمبود IP داریم، زیرا IP
کم آمده است .
البته ما درست حساب کردیم اما مجبور هستیم که جهت این موضوع
یک نامه به مدیر IT تهران ارسال کنیم .
بسمه تعالی
مدیر محترم IT مرکز
بدین وسیله به اطلاع می رساند که تعداد سیستم های شبکه ما 240 تا می باشد و ما
مبنا داریم که آن را به 8 زیر شبکه تقسیم کنیم . لذا در هر 8 زیرشبکه 30 IP به
درد بخور می افتد و برای روتر ها IP باقی نمی ماند . مسئلت نموده فضای IP
Addressing شهرستان شیراز را تصحیح بفرمائید .
👈 چند روز بعد جواب نامه از تهران سمت ما ارسال می شود .
بسمه تعالی
مدیریت محترم IT شهرستان شیراز
بر طبق نامه به اطلاع می رساند ، درخواست شما مورد پذیرش قرار گرفت و رنج 16/ 255.255 - 172.25.0.0 برای شهرستان شیراز مورد تایید است .
مثال :
در یک ارگان دولتی 240 کامپیوتر وجود دارد ، که به صورت 16/ 255.255 - 172.25.0.0 آدرس دهی شده اند . این شبکه را طوری تقسیم بندی کنید که ، 8 شبکه مجزا داشته باشیم .
سوال ؟
چرا در هر کلاس که حل می کنیم ، یک جواب واحدی به دست نمی آید ؟ 8192 تا IP از لحاظ علمی مشکلی ندارد ، اما اگر بازه ها کوچکتر بود که سر و ته آن راحت حساب می شد ، بهتر نبود؟
24/ 7.255 - 192.168.7.0 👈 8 شبکه مجزا 👈 IP = 30 👈 Subnet Mask New = /27
16/ 255.255 - 172.25.0.0 👈 8 شبکه مجزا 👈 IP = 8190 👈 Subnet Mask New = /19
8/ 255.255.255 - 10.0.0.0 👈 8 شبکه مجزا 👈 IP = 16777214 👈 Subnet Mask New = /11
الان در هر کلاس که حل می کنیم، گنجایش یک عدد و Subnet Mask هم یک عدد دیگر به
دست می آید . به نظرت بهتر و جالب تر نمی شد که :
1
بازه ها اینقدر الکی بزرگ نمی افتاد .
2
در هر کلاس که حل می کردیم ، یک جواب می گرفتیم . یک Subnet Mask و با یک
گنجایش . الان این جوری نیست (30 ، 8190 ، 16777214 )
راه حل ؟
👈 ما تمام صورت مساله ها را به صورت زیر حل می کردیم :
ابتدا تعداد شبکه (N) را حساب می کردیم و بعد از آن گنجایش شبکه (H) را حساب می کردیم
.
حال بر عکس حساب کنید ( اول H و بعد از آن N را حساب کنید) . اگر بدین صورت حل
کنیم در هر کلاس یک جواب می گیریم .
👱♂️
صورت مساله هم عوض شد :
خوب دوست عزیز چند تا شبکه می خواهی داشته باشید ؟ 8 تا . این به من ربطی ندارد .
به من بگو که گنجایش هر شبکه ات چقدر می خواهی باشد ؟
👨 در هر بازه 30 تا کامپیوتر است با 1 عدد روتر . سر رنج و ته رنج که حساب نیست
. در نتیجه بازه من باید 33 را جواب بدهد ، که 31 عدد IP مورد استفاده وجود داشته
باشد .
👱♂️ H = 6 ، قبلا تعریف ما از H ، تعداد صفر هایی که باقی می ماند
بود . حال تعریف عوض شد (تعداد صفر هایی که باید از سمت راست صفر بمانند ) و همان
گونه که N از سمت چپ محاصبه می شد ، H از سمت راست محاصبه می گردد .
First and Last IP :
در هر گروه IP سر رنج (Network ID ) و ته رنج ( Broadcast ) قابل استفاده نیست و نمی توان از آنها برای هیچ دستگاهی ( روتر ، سوئیچ یا کامپیوتر ) استفاده کرد .
سوال ؟
چرا هیچ دستگاهی سر رنج و ته رنج را قبول نمی کند ؟
زمانی که به یک کامپیوتر IP می دهید، در واقع به آن یک شناسه دادید که این آدرس
یعنی تو .
اما آدرس های سررنج
کل شبکه را نشان می دهند . مثل پدر خانواده 👨🦳 می ماند که تمام
افراد خانواده را به نام پدر می شناسند ، مثلا خانم یا آقای نوری . بنابراین سررنج
به عنوان یک آدرس واحد برای یک تک سیستم قابل استفاده نیست . این IP ها معرف بازه
ی خود هستند .
👈 البته بعضی جاها از IP های سرنج استفاده می کنند . به عنوان مثال :
فرض کنید یک بازه 64 تایی IP را می خواهم از بین ببرم . 2 راه وجود
دارد :
1
تک تک IP ها را صدا زده و از بین ببرم . ( 64 بار باید این کار را انجام دهم)
2
یک راه ساده تر این است که IP سر رنج را از بین ببرم . یک بار IP سر رنج را صدا میزنم
و روی 64 تا دیگر تاثیر می گذارد . 👈 192.168.7.0
👈 اگر به یاد داشته باشید ، در تعریف Router ها گفتیم ، روتر ها Broadcast را از خود عبور نمی دهند . Packet وقتی به روتر می رسد ، Router از کجا می فهمد Broadcast است ؟
از آدرس مقصد که روی Packet نوشته شده است .
فرض کنید که کامپیوتری که IP آن 192.168.7.10 است می خواهد Broadcast کند و وقتی
Broadcast کند به تمام اعضای هم گروهیش می رسد . بر روی Packet می نویسد :
(
فرستنده 7.10 گیرنده 7.63 ) 👈
آدرس ته رنج می نویسد .
Router از روی آدرس گیرنده که IP ته رنج است ، Broadcast بودن Packet را متوجه
شده و اجازه عبور را نمی دهد .
👈 بنابراین دوستان عزیز شما در هر بازه IP ، سر رنج (Network ID ) و ته رنج ( Broadcast ) را از دست می دهید و هر چه بازه را بیشتر بشکنید ، IP های بیشتری را از دست می دهید .
Broadcast Domain :
هر شبکه یک Broadcast Domain است ، زیرا اگر در یک شبکه ، 1 نفر Broadcast کند
همه ی اعضای آن شبکه Broadcast را می گیرند .
تعداد کامپیوتر ها Broadcast را مشخص می کنند نه گنجایش شبکه . در مثال های بالا
، بازه ها 64 تایی و 32 تایی شد ، بنابراین Broadcast بر روی 64 کامپیوتر بیشتر
تاثیر گذار است .
یا به عنوان مثال یک خانه 2 هزار متری وجود دارد که 2
نفر در آن زندگی می کنند. حالا چون 2 هزار متراژ دارد ، خانه شلوغی است ؟ خیر .
تعداد افراد مشخص می کنند .