آموزش رایگان ccna؛ زیرشبکه چیست و چگونه پیادهسازی میشود؟
در شمارههای قبل آموزش رایگان ccna؛ اصول اولیه آدرسدهی TCP/IP را بررسی کردیم. اکنون میخواهیم به بررسی این موضوع بپردازیم که چگونه یک آدرس شبکه را به چند شبکه یا زیرشبکه تقسیم کنیم، به طوری که هر محدوده آدرس به یک شبکه (زیر شبکه) جداگانه (شبکهای متشکل از چندین شبکه) تخصیص داده شود. با فالنیک همراه باشید.
جهت دریافت مشاوره رایگان خرید سرور و همچنین قیمت سرور hp میتوانید با شماره 02154591915 تماس بگیرید.
فهرست محتوا
برخی سازمانها برای انجام فعالیتهای تجاری مجبور هستند از شبکههای مختلفی استفاده کنند تا مدیریت شبکهها سادهتر شود و علاوه بر این، اگر مشکلی برای یک شبکه بهوجود آمد تاثیری بر عملکرد دیگر شبکهها نداشته باشد. در چنین شرایطی، سازمانها یک شبکه واحد را به شبکههای مختلفی تقسیم میکنند و یک روتر بین هر بخش شبکه قرار میدهند تا ارتباط شبکهها با یکدیگر و اینترنت برقرار شود و علاوه بر این، مدیریت ترافیک سادهتر شده و هر شبکه بار ترافیک پخشی مخصوص به خود را داشته باشد.
در این سناریو، هر سگمنت به محدوده آدرس شبکه خود نیاز دارد تا روتر بتواند دادهها را از یک شبکه به شبکه دیگر ارسال کند. نکتهای که باید به آن دقت کنید این است که اگر دو شبکه فیزیکی داشته باشید و از یک محدوده آدرس آیپی واحد بدون تعریف یک زیرشبکه استفاده کنید، روتر فرض میکند که همه سیستمها در یک شبکه هستند و هرگز سعی نمیکند برای انتقال دادهها میان گرههای مختلف از مکانیزم مسیریابی استفاده کند.
اگر از زیرشبکهسازی روی شبکهای که به چند سگمنت فیزیکی شبکه تقسیم شده استفاده نکنید، پروتکل اینترنت (IP) همه سیستمها را در یک شبکه شناسایی میکند و سعی نمیکند هیچگونه مکانیزم مسیریابی را برای ارسال دادهها برای سگمنتهای مختلف شبکه بهکار گیرد. در این حالت، شما میتوانید با میزبانهای روی سگمنتتان ارتباط برقرار نکنید، اما قادر به برقراری ارتباط با سگمنتهای دیگر نخواهید بود.
ماسک زیر شبکه (Subnet Mask) چیست؟
ماسک زیرشبکه یک مقدار 32 بیتی است، بهطوریکه بیتهای میزبان همه صفرها و بیتهای شبکه روی همه یکها تنظیم شوند. به این ترتیب ماسک زیر شبکه نشانی IP را به دو بخش نشانی شبکه و میزبان تقسیم میکند.
نشانی 255 همواره به یک نشانی همهپخشی تخصیص داده میشود و نشانی 0 نیز همیشه به نشانی شبکه اختصاص پیدا میکند. هیچ کدام از این نشانیها را نمیتوان به میزان اختصاص داد، زیرا برای مقاصد خاصی رزرو شدهاند. نشانی آیپی، ماسک زیرشبکه و گیتوی یا روتر از یک ساختار زیربنایی به نام پروتکل اینترنت پیروی میکنند که شبکهها از آن برای تسهیل ارتباط بین گرههای شبکه استفاده میکنند.
از آنجایی که استفاده و درک استفاده از سیستم عددی دودویی سخت است، ما هر مقدار هشتتایی را به سیستم عددی دهدهی تبدیل میکنیم که همان آدرس آیپی است که مقادیر آن با نقطه از یکدیگر متمایز میشوند. بهطور مثال، آیپی 172.17.254.5 چنین حالتی دارد. بازه مقادیر در این سیستم مقداردهی دهدهی از 0 تا 255 است که معادل اعداد 00000000 تا 11111111 در سیستم دودویی است.
زیرشبکهسازی (Subnetting) چیست؟
شما یک شناسه شبکه (Network ID) را به زیرشبکه تبدیل میکنید تا آدرس شبکه منطقیِ واحد را به چند آدرس شبکه منطقی تقسیم کرده و بتوانید یک شناسه شبکه منطقی و آدرسهای مرتبط را به هر بخش فیزیکی شبکه اختصاص دهید. برای انجام اینکار، باید ماسک زیرشبکه را در سطح بیتی دستکاری کنید و اساساً بیتهای میزبان را بردارید و آنها را به بیتهای زیر شبکه تبدیل کنید.
زیرشبکهسازی چگونه کار میکند؟
همانگونه که اشاره کردیم، زیرشبکهسازی (Subnetting) تکنیکی است که به شکل منطقی یک شبکه فیزیکی منفرد را به چند زیرشبکه کوچکتر تقسیم میکند. زیرشبکهسازی اجازه میدهد تا پیچیدگی شبکه را پنهان کرده و با افزودن زیرشبکههای اضافی بدون ساخت یک شبکه جدید بزرگ، حجم ترافیک یک شبکه بزرگ را کم کنید. از مزایای زیرشبکهسازی باید به کاهش حجم پیامهای همهپخشی و ترافیک شبکه و امکان دور زدن محدودیتهای شبکه محلی مانند بیشینه تعداد میزبانها اشاره کرد.
در این قسمت، نحوه زیرشبکه کردن آدرسهای شبکه کلاس A، کلاس B و کلاس C را توضیح میدهیم. اگر آشنایی چندانی با مفهوم زیرشبکه ندارید، بهترین راه برای یادگیری مفاهیم فوق این است که روی کاغذ محاسبات مربوطه را انجام دهید.
زیرشبکه کردن شبکههای کلاس A
در این بخش، زیرشبکه کردن یک آدرس شبکه کلاس A را بررسی میکنیم. فرض کنید، محدوده آدرس 10.0.0.0 دارید و قصد دارید شبکه را به چهار شبکه یا زیرشبکه تقسیم کنید. ساختار فیزیکی شبکه در شکل زیر نشان داده شده است. زیرشبکهسازی شامل قرض گرفتن برخی از بیتهای میزبان از زیر شبکه و استفاده از آنها به عنوان بیتهای شبکه اضافی است. در اینحالت شبکههای بیشتری در اختیارتان قرار میگیرد. با زیرشبکهسازی، بیتهای میزبان اضافی را دریافت میکنید و با تنظیم بیتها در حالت 1، یک ماسک (Mask) برای آنها ایجاد میکنید (به بیان دقیقتر، آنها را به عنوان بیتهای شبکه پرچمگذاری میکنید) بهطوری که آنها دیگر توصیفکننده بخش شناسه میزبان ماسک زیر شبکه نیستند. اینکار باعث ایجاد شبکههای اضافی میشود، اما در مقابل، باعث میشود تا میزبانهای کمتری در هر یک از شبکهها داشته باشید.
برای شروع، اولین نکتهای که باید در مورد آن اطلاع داشته باشید این است که به چه تعداد بیت میزبان برای ساخت شبکه یا شبکههای موردنظر نیاز دارید. برای محاسبه تعداد بیتها برای چهار شبکه (زیر شبکه) از فرمول زیر استفاده میکنیم:
2 بیت ماسک شده = تعداد زیر شبکهها
2masked bits = number of subnets
بهعنوان مثال، اگر به دنبال چهار زیرشبکه هستید، فرمول برابر با 22=4 شبکه یا زیرشبکه خواهد بود. بنابراین شما میتوانید دو بیت از بیتهای میزبان در ماسک زیر شبکه را قرض بگیرید (ماسک بزنید) و آنها را به بیتهای شبکه تبدیل کنید. در این حالت، به بیتهای فوق، بیتهای زیر شبکه (Subnet bits) گفته میشود.
اکنون که میدانید برای ساخت چهار زیرشبکه باید دو بیت ماسک شوند، مرحله بعدی این است که به محدوده IP خود 10.0.0.0 نگاه کنید و از خود بپرسید، «ماسک زیر شبکه پیشفرض این آدرس چیست؟» اگر مطالب شماره قبل را به خاطر داشته باشید، اکنون میدانید که آدرس 255.0.0.0 را در اختیار دارید، زیرا یک آدرس کلاس A است. هنگامیکه ماسک زیر شبکه پیشفرض را شناختید، گام بعدی این است که ماسک زیر شبکه را به معادل دودویی (باینری) تبدیل کنید. یک زیرشبکه پیشفرض کلاس A اعشاری در حالت باینری به شکل زیر است:
هنگامیکه ماسک زیر شبکه را به معادل باینری آن تبدیل کردید، باید فرآیند محاسبه آدرسهای جدید چهار زیرشبکه را آغاز کنید. اولین کاری که باید انجام دهید این است که دو بیت را از قسمت شناسه میزبان زیرشبکه قرض بگیرید (ماسک بزنید) و با قرار دادن آنها در حالت 1، آنها را به بیتهای زیر شبکه تبدیل کنید. به یاد داشته باشید که شما دو بیت را برای محاسبه قبلی خود مصرف کردهاید. از آنجایی که سه اکتت آخر این ماسک زیرشبکه بیتهای میزبان یک آدرس کلاس A را نشان میدهند، از چپ به راست کار کنید و دو بیت اضافی را ماسک کنید تا جدول دودویی جدیدی به شرح زیر بهدست آورید:
توجه داشته باشید دو بیتی که اکنون فعال شدهاند در اکتت دوم قرار دارند. همچنین دقت کنید که همیشه در ماسک زیر شبکه باید از چپ به راست کار کنید.
محاسبه ماسک زیر شبکه جدید
اکنون میتوانید ماسکهای زیر شبکه جدید را برای هر چهار شبکه محاسبه کنید. برای انجام اینکار، مقدار باینری جدید در جدول قبلی 11111111.11000000.00000000.00000000 را باید به نماد اعشاری آن تبدیل کنیم که برابر با 255.192.0.0 است که به عنوان ماسک زیر شبکه جدید چهار زیرشبکه جدید خود خواهد بود. این مقدار را یادداشت کنید، زیرا در ادامه به آن نیاز خواهیم داشت.
مرحله بعدی محاسبه محدوده IP برای چهار شبکه مختلف است، اما قبل از انجام اینکار، باید اطلاعاتی در مورد هر یک از زیرشبکههای جدیدی که طراحی میکنید داشته باشید:
• ماسک زیرشبکه جدید (New subnet mask): بعد از زیرشبکه کردن یک شبکه، ماسک زیرشبکه جدیدی خواهید داشت که توسط همه زیرشبکههایی که ایجاد کردهاید به رسمیت شناخته شده و استفاده میشود.
• شناسه شبکه (Network ID): برای محاسبه شناسه شبکه برای هر شبکه باید همه بیتهای میزبان روی صفر تنظیم شوند.
• نخستین آدرس معتبر (First Valid Address): برای محاسبه اولین آدرس معتبر، کمترین بیت میزبان را روی ۱ تنظیم میکنیم، در حالیکه دیگر بیتهای میزبان برابر با صفر هستند.
• آدرس پخشی (Broadcast Address): برای محاسبه آدرس پخشی برای هر زیرشبکه، همه بیتهای میزبان را روی ۱ تنظیم میکنیم.
• آخرین آدرس معتبر (Last Valid Address): برای محاسبه آخرین آدرس معتبر، کم اهمیتترین بیت میزبان را روی 0 تنظیم میکنیم، در حالی که سایر بیتهای میزبان 1 هستند.
اکنون میدانید که ماسک زیر شبکه جدید 255.192.0.0 است، بنابراین میتوانید با محاسبه شناسه شبکه هر یک از چهار زیرشبکه کار خود را آغاز کنید.
محاسبه شناسه شبکه (Network ID)
برای محاسبه شناسههای شبکه برای هر یک از زیرشبکهها، باید تعداد بیتهایی (تمام حالتهای روشن/خاموش) را که از بیتهای میزبان به بیتهای زیرشبکه تبدیل شوند را تعیین کرد. به عنوان مثال، از دو بیت به عنوان بیتهای زیرشبکه برای ایجاد شبکههای بیشتر استفاده میشود، از اینرو، ممکن است چهار حالت روشن/خاموش با دو بیت (00، 01، 10، و 11) داشته باشید. این حالتها در ناحیه کاری و در سیستم دودویی شبیه به جدول زیر است:
در مرحله بعد، صفرهای باقیمانده را به بیتهایی اضافه میکنیم که نشاندهنده بخش ID میزبان هستند. به یاد داشته باشید که شناسه اصلی شبکه 10.0.0.0 است، بنابراین اکتت اول بدون توجه به آنچه در فرمت باینری تغییر پیدا میکند با 10 شروع میشود، زیرا کار خود را با اکتت دوم آغاز کردهایم.
گام بعدی این است که 10 را به اکتت اول بیاوریم، در این حالت هر شناسه شبکه با مقدار 10 شروع میشود. پس از قرار دادن عدد 10 در اکتت اول، شناسه شبکه هر یک از دو شبکه را با گذاشتن تمام بیتهای میزبان روی 0 (بیتهای غیر پررنگ)، محاسبه میکنیم، درست به همان ترتیبی که در جدول زیر آورده شده است:
در مثال فوق، به دلیل اینکه در حال ویرایش دو بیت زیر شبکه هستیم و همه بیتهای میزبان روی 0 تنظیم شدهاند، چهار شناسه شبکه جدید با مقادیر 10.0.0.0، 10.64.0.0، 10.128.0.0 و 10.192.0.0 ایجاد میشوند. برای محاسبه این مقادیر، تنها کاری که باید انجام دهید این است که پس از فهرست کردن وضعیتهای روشن/خاموش دو بیت زیرشبکه، تمامی مقادیر دودویی را به معادل اعشاری آنها تبدیل کنید.
محاسبه اولین آدرس معتبر (First Valid Address)
اکنون که شناسه هر زیرشبکه را محاسبه کردید، مقدار بعدی که باید محاسبه کنید، اولین آدرس معتبری است که میتوان به میزبان در هر یک از این شبکهها اختصاص داد. برای محاسبه اولین آدرس معتبر، کافی است کم اهمیتترین بیت را که بیت سمت راست است فعال کنید. هنگامی که بیت کم اهمیت را فعال کردید، تمام اکتتها را به معادل اعشاری تبدیل کنید تا اولین آدرس IP معتبر هر شبکه را پیدا کنید. در جدول زیر ناحیه کاری موردنظر را مشاهده میکنید. همانگونه که در جدول زیر آمده است با چهار زیرشبکه، اولین آدرس معتبر برای هر شبکه 10.0.0.1، 10.64.0.1، 10.128.0.1 و 10.192.0.1 است:
محاسبه آدرس پخشی (Broadcast Address)
اکنون که اولین آدرس معتبر برای هر یک از چهار شبکه را محاسبه کردیم، باید آدرس پخشی را محاسبه کنیم. آدرس پخشی آدرسی است که هر سیستمی دادهها را به آن ارسال میکند تا اطمینان حاصل شود که هر سیستم در شبکه دادهها را دریافت میکند. برای محاسبه آدرس پخشی، همه بیتهای میزبان را فعال میکنیم (آنها را روی 1 تنظیم میکنید)، و سپس هر اکتت را از معادل دودویی به اعشاری تبدیل میکنیم. نتیجه را در جدول زیر مشاهده میکنید:
همانطور که مشاهده کنید، با فعال بودن تمام بیتهای میزبان، اگر آنرا به معادل اعشاری تبدیل کنید، 10.63.255.255، 10.127.255.255، 10.191.255.255 و 10.255.255.255 را برای آدرسهای پخشی چهار شبکه دریافت میکنید. توجه داشته باشید که دو بیت اول از سمت چپ در اکتت دوم در کل این فرآیند تغییر نکردهاند، اما از آنها در تبدیل اکتت از باینری به اعشاری استفاده میشود. آنها تغییر نکردهاند، زیرا بیتهای میزبان نیستند و در اصل بیتهای زیر شبکه هستند.
نکته امتحانی: برای آزمون CCNA، به یاد داشته باشید که آدرس میزبانی که همه بیتهای میزبان آن روی 0 (که برای شناسه شبکه رزرو شده است) یا همه بیتهای میزبان روی 1 (که برای آدرس پخشی رزرو شده است) تنظیم شده باشد، یک آدرس نامعتبر برای استفاده در یک سیستم یا دستگاه در نظر گرفته میشود. با خواندن مقاله آموزش رایگان ccna؛ خلاصهسازی مسیر چیست و چرا استفاده میشود؟ با نکات مهمی که باید هنگام پیادهسازی زیرشبکهها به آنها دقت کنید، آشنا میشوید.
محاسبه آخرین آدرس معتبر (Last Valid Address)
اکنون که ماسک زیر شبکه جدید، شناسه شبکه، اولین آدرس معتبر و آدرس پخشی چهار زیرشبکه جدید خود را محاسبه کردید، تنها اطلاعاتی که به آن نیاز دارید آخرین آدرس معتبری است که ممکن است به میزبانهای هر زیر شبکه اختصاص داده شود. برای محاسبه آخرین آدرس میزبان معتبر هر زیرشبکه، کافی است مقدار 1 را از یک آدرس پخشی با غیرفعال کردن کمترین بیت (بیت میزبان سمت راست) کم کنید. برای مشاهده حالت دودویی و اعشاری آخرین آدرس معتبر هر شبکه به جدول زیر نگاه کنید:
اکنون تمام اطلاعات مورد نیاز برای پیکربندی چهار سگمنت فیزیکی شبکه را که ایجاد کردیم محاسبه نمودیم. جدول زیر پیکربندی هر یک از چهار سگمنت شبکه را بهشکل خلاصه شده به همراه نحوه پیکربندی این چهار سگمنت شبکه نشان میدهد.
ارزیابی اندازه شبکه (Network Size)
در روز آزمون، سناریوهایی به شما داده میشود که میگوید به تعداد مشخصی زیرشبکه نیاز داریم تا بتوانیم تعداد معینی میزبان در هر زیرشبکه را مدیریت کنیم. با انجام چند محاسبه ریاضی ساده میتوانید تأیید کنید که اعداد صحیح را در اختیار دارید.
• تعداد زیرشبکهها: برای تعیین تعداد زیرشبکهها، از فرمول 2subnet bits=number استفاده میکنیم. در مثال قبل ما اینکار را انجام دادیم.
• تعداد میزبان در هر زیرشبکه: برای تعیین اینکه قادر به پشتیبانی از تعداد صحیح میزبان در هر زیرشبکه هستیم، از فرمول زیر استفاده میکنیم:
2host bits-2= number of hosts per subnet
جایگذاری مقادیر در فرمول بالا به شرح زیر است:
222 = 4,194,304 – 2 = 4,194,302 hosts per subnet
زیرشبکه کردن شبکه های کلاس B
فرض کنید شناسه شبکه 190.45.0.0 را دارید. به یاد داشته باشید که ماسک زیر شبکه پیشفرض برای یک شبکه کلاس مذکور 255.255.0.0 است. فرض کنید در این سناریو از شما خواسته میشود محدوده آدرس را به شش زیرشبکه تقسیم کنید، زیرا قصد دارید شبکه سازمانی را به شش زیرشبکه تقسیم کنید.
اولین قدم این است که دست به قلم شوید و آنچه را که قبلاً میدانید مکتوب کنید:
چه تعداد بیت برای ایجاد زیرشبکه نیاز داریم؟
گام بعدی این است که مشخص کنیم چند بیت از قسمت شناسه میزبان ماسکهای زیر شبکه را قصد دارید به بیتهای زیر شبکه تبدیل کنید. این فرمول را به خاطر بسپارید:
2masked bits = number of subnets
طبیعی است در اینجا چهار زیرشبکه کافی نیست، زیرا همانگونه که اشاره کردیم به شش زیر شبکه نیاز داریم. پس 23 را امتحان میکنیم، که هشت زیرشبکه را به ما میدهد که زیادتر از تعدادی است که نیاز داریم، اما باید از آن استفاده کنیم، زیرا استفاده 22 جوابگوی نیاز کاری ما نیست. هشت زیرشبکه با دو زیرشبکه اضافی برای آینده که نیازهای کاری گستردهتر میشود ایدهآل است. اکنون که مشخص کردیم در نظر داریم سه بیت را از بیتهای میزبان به بیتهای زیر شبکه در ماسکهای زیر شبکه تبدیل کنید، به محاسبه زیر میرسیم:
اکنون ماسک زیر شبکه جدید برای هر یک از شش زیرشبکه را میشناسید (در واقع ما هشت زیرشبکه داریم، در حالی که نیاز واقعی ما برابر با شش زیرشبکه است). پس از انجام تغییر در ماسک زیر شبکه به صورت باینری، اگر آن را به مقدار اعشار تبدیل کنید، برای هر یک از زیر شبکهها یک ماسک زیر شبکه جدید دریافت خواهیم کرد که برابر با 255.255.224.0 است.
مرحله بعدی فهرست کردن تمام حالتهای روشن/خاموش ممکن است که سه بیت زیر شبکه میتوانند ایجاد کنند. شما باید به تعداد زیرشبکههایی که سه بیت ایجاد میکنند (که هشت عدد است) ترکیب داشته باشید (این ترکیبات به شرح زیر است):
هر یک از این ترکیبها بهدست آمده در وضعیت سه بیت زیر شبکه قرار میگیرند و هر کدام یک شناسه شبکه ایجاد میکنند. از آنجایی که این سه بیت آغاز در اکتت سوم هستند، دو اکتت اول را با آدرس های IP اصلی پر میکنیم. البته به این نکته دقت کنید که کار را با چه مقداری شروع کردیم. این مقادیری هستند که باید دقت نظر خاصی نسبت به آنها داشته باشید و به همین دلیل است که بیتهای زیر شبکه پررنگ نوشته شدهاند:
محاسبه شناسه شبکه
برای محاسبه شناسه شبکه برای هر زیرشبکه، باید به خاطر داشته باشید که همه بیتهای میزبان باید روی 0 تنظیم شوند. اگر تمام مقادیر باینری را به معادل اعشار تبدیل کنید، شناسه شبکه برای هر یک از زیرشبکهها به شرح زیر است:
محاسبه اولین آدرس معتبر برای هر زیرشبکه
در مرحله بعد، باید اولین آدرس معتبر را برای هر یک از زیرشبکهها محاسبه کنیم. همیشه باید اینکار را به صورت باینری انجام دهید و سپس به اعشار تبدیل کنید. قانون اولین آدرس معتبر یک زیرشبکه این است: کمترین بیت میزبان را بگیرید و آنرا روشن کنید. سپس تمام مقادیر باینری را به معادل اعشار تبدیل کنید تا آدرسهایی به شرح زیر داشته باشید:
محاسبه آدرس پخشی در زیر شبکه
آدرس پخشی برای ارسال پیام به تمام سیستمهای موجود در شبکه استفاده میشود. آدرس پخشی نباید به سیستمی در شبکه اختصاص داده شود. برای محاسبه آدرس پخشی، همه بیتهای میزبان (بیتهای سمت راست بیتهای زیرشبکه) را روی ۱ قرار میدهیم و سپس کل آدرس را به معادل اعشار تبدیل میکنیم:
محاسبه آخرین آدرس معتبر در زیر شبکه
برای تعیین آخرین آدرس معتبر هر زیرشبکه، باید همه بیتهای میزبان را به جز بیت میزبان سمت راست (که به عنوان بیت کم اهمیت شناخته میشود) روی 1 تنظیم کنیم. در ادامه مقدار باینری را به معادل اعشار تبدیل کنیم تا آخرین آدرس معتبر را دریافت کنیم:
در شماره آینده نحوه زیرشبکهسازی در کلاس C را بررسی میکنیم.