در این مطلب بررسی میکنیم که سابنتینگ چیست و چه نکات کلیدی در فرایند آن وجود دارد. پس از تشریح اینکه آدرسهای IP چه هستند و چگونه کار میکنند، به سابنتینگ نگاهی میاندازیم. در این مقاله، اجزا و فرایندهای کلیدی مانند کلاسهای سابنتینگ و ماسکینگ سابنت و سازماندهی و مدیریت سابنتها را پوشش خواهیم داد. همه مفاهیم موجود در این راهنما به بخشهای کوچک تقسیم شدهاند تا این موضوع تا حد امکان قابل هضم باشد. پس از مطالعه این مقاله درک بهتری نسبت به اینکه سابنتینگ چیست پیدا خواهید کرد.
سابنتینگ چیست؟
سابنتینگ یک تکنیک در شبکههای کامپیوتری است که برای تقسیم یک شبکه بزرگ به زیرشبکههای کوچکتر استفاده میشود. این فرآیند به تخصیص بهتر آدرسهای IP و بهبود مدیریت شبکه کمک میکند. با سابنتینگ، میتوان تعداد دستگاهها یا هاستهای موجود در یک زیرشبکه را مشخص کرد و همچنین از آدرسهای IP بهصورت بهینهتر استفاده کرد. این تکنیک به مدیران شبکه اجازه میدهد که ترافیک را بهتر مدیریت کرده و امنیت و کارایی شبکه را بهبود بخشند.
نحوه محاسبه و سابنتینگ با استفاده از Subnet Calculator
Subnet Calculator ابزاری بسیار کاربردی برای مدیران شبکه و متخصصان IT است که به آنها کمک میکند تا به سرعت و با دقت پارامترهای مربوط به زیرشبکهها را محاسبه کنند. درک درست این اطلاعات به شما امکان میدهد که شبکهها را به شکل بهینهتری مدیریت کنید، از فضای آدرسهای IP بهتر استفاده کنید و شبکههای محلی با عملکرد بالاتری طراحی کنید.
برای کاربران مبتدی، این ابزار به شما اجازه میدهد بدون نیاز به محاسبات دستی، تمامی اطلاعات مهم درباره یک سابنت را ببینید و آنها را در تصمیمگیریهای مربوط به شبکهتان استفاده کنید.
بیایید با جزئیات بیشتر به این تصویر و نحوه کارکرد Subnet Calculator بپردازیم.
آدرس IP و CIDR notation:
در این مثال، آدرس IP 255.255.255.255 و در مثال ما، CIDR /24 به این معناست که 24 بیت اول این آدرس به شبکه اختصاص دارد و 8 بیت باقیمانده برای هاستها قابل استفاده است. این پیشوند نشان میدهد که ما 256 آدرس IP داریم که میتوان آنها را به دستگاههای مختلف شبکه تخصیص داد.
پیشوند /24 نشان میدهد که subnet mask برابر با 255.255.255.0 است.
نمایش Decimal و نمایش Hex :
نمایش Decimal: این مقدار نشاندهنده آدرس IP بهصورت یک عدد بزرگ است. در این مثال، IP به صورت 760872192 نمایش داده شده است.
نمایش شانزدهگانی (Hexadecimal): آدرس IP بهصورت یک عدد هگزادسیمال (16تایی) نمایش داده میشود. در این مثال مقدار آن 2D59FD00 است.
محدوده شبکه (Network Range)
محدوده شبکه، مجموعهای از آدرسهای IP را در یک زیرشبکه نشان میدهد. در مثال، این محدوده از 45.89.253.0 تا 45.89.253.255 است. به این معنی که 256 آدرس IP در این زیرشبکه وجود دارد.
آدرسهای قابل استفاده (Usable Range)
از کل آدرسهای موجود در زیرشبکه، دو آدرس رزرو شدهاند:
- اولین آدرس (45.89.253.0) به عنوان آدرس شبکه رزرو شده است که برای شناسایی کل زیرشبکه استفاده میشود.
- آخرین آدرس (45.89.253.255) به عنوان آدرس پخش (Broadcast) استفاده میشود. این آدرس برای ارسال داده به همه دستگاههای موجود در زیرشبکه بهکار میرود.
سایر آدرسها، یعنی 45.89.253.1 تا 45.89.253.254، قابل استفاده برای دستگاههای مختلف (هاستها) هستند.
Subnet Mask
Subnet Mask نشاندهنده تعداد بیتهایی است که به شبکه اختصاص داده شده است. در این مثال 255.255.255.0، که به معنی این است که 24 بیت برای بخش شبکه و 8 بیت برای بخش هاستها اختصاص دارد. این نوع Subnet Mask برای شبکههای محلی کوچک و متوسط مناسب است.
آدرس Broadcast
همانطور که اشاره شد، آدرس پخش آخرین آدرس در زیرشبکه است، در اینجا 45.89.253.255. این آدرس به عنوان یک مقصد استفاده میشود تا اطلاعات به همه دستگاههای موجود در شبکه ارسال شود.
PTR Record
این بخش به DNS معکوس مرتبط است، که در آن یک آدرس IP به یک نام دامنه ترجمه میشود. در اینجا، PTR Record مثال نشان میدهد که IP به صورت معکوس به نام دامنه ترجمه میشود، مانند 0.253.89.45.in-addr.arpa.
در ادامه به بررسی برخی از مفاهیم مورد نیاز برای سابنتینگ که در این بخش هم به برخی از آنها اشاره شد مانند آدرس IP، Subnet mask، نحوه استفاده از سابنتها برای سازمان دهی شبکه و تشخیص این که یک آدرس در کدام سابنت قرار دارد میپردازیم.
آدرس IP چیست؟
قبل از اینکه بتوانیم درک کنیم که سابنتها چطور کار میکنند و چگونه باید آنها را مدیریت کنیم، لازم است درک دقیقی از نحوه کار آدرسهای IP داشته باشیم. آدرس IP اساسا یک شناسه برای هر دستگاه متصل به شبکه است. دو نوع آدرس IP وجود دارد: IPv4 (نسخه 4) و IPv6 (نسخه 6).
نمونهای از آدرس IPv4:
216.27.61.137
یک آدرس IPv4 از باینری 32 بیتی برای بیان شناسه دستگاه استفاده میکند. برای اینکه بیتهای باینری را بهتر درک کنید، بیتهای 32 بیتی به چهار گروه هشتتایی تقسیم میشوند و سپس هر گروه به یک عدد اعشاری تبدیل میشود. همانطور که در مثال بالا میبینید، این چهار گروه با یک نقطه از هم جدا میشوند.
آدرسهای IPv6 از 128 بیت باینری تشکیل شدهاند. این بیتها به هشت گروه و هر گروه با یک کالن یا علامت «:» از هم جدا میشوند.
نمونهای از آدرس IPv6:
2001:cdba:0000:0000:0000:0000:3257:9652
در استفاده معمول، گروههای که بهطور کامل از عدد صفر تشکیل شدهاند، حذف شده و برای سهولت استفاده، یک کالن جایگزین میشود تا آدرس IP کوتاه شود.
IPv6 به این دلیل ایجاد شد که 232 ترکیب در IPv4 امکانپذیر بود که تا 4.3 میلیارد آدرس IP منحصربهفرد را در دسترس قرار میداد. با افزایش دسترسی به اینترنت و تعداد دستگاههای متصل، نیاز به ترکیبهای بیشتری از اعداد ضروری شد. IPv6 حداکثر 2128 ترکیب را امکانپذیر میکند که تعداد آدرسهای منحصربهفرد ممکن را به میزان قابل توجهی افزایش داده است.
آدرسهای IP را میتوان با یک دستگاه دیگر به اشتراک گذاشت، با چند دستگاه دیگر Multicast یا برای همه دستگاهها Broadcast کرد. به عبارت دیگر، آنها را به آدرسهای IP عمومی (Public) تبدیل کرد. آدرسهای IP همچنین میتوانند پویا (Dynamic) یا ثابت (Static) باشند. برای مثال، سرور اختصاصی ایران میتواند یک یا چند آیپی اختصاصی ایران را در اختیارتان قرار دهد. بنابراین، نوع و تعداد آیپیهایی که در دسترس شما قرار میگیرد به پلن انتخابی بستگی خواهد داشت.
آدرس IP ثابت به این معنی است که یک دستگاه خاص دارای یک آدرس IP است که تغییر نمیکند. آدرس IP پویا به این معنی است که وقتی دستگاهی به شبکه متصل میشود، یک آدرس IP موجود به آن اختصاص مییابد که میتواند با هربار اتصال دستگاه تغییر کند.
کلاس IP چیست؟
اکنون که به ماهیت آدرس IP نگاهی انداختیم، نکته بعدی که باید در نظر گرفت کلاسهای IP است، زیرا اینها برای درک نحوه عملکرد سابنتها ضروری هستند.
فرض کنید قصد دارید یک آدرس IP خاص را پیدا کنید یا آدرسهای IP را در شبکه خود سازماندهی کنید. این کار بدون نوعی سیستم غیرممکن خواهد بود. آدرسهای IP به بخشهای عددی تقسیم میشوند تا به شما کمک کنند آنچه را که به دنبال آن هستید سریعتر پیدا کنید. به این بخشها کلاس (Class) میگویند. آدرسهای IP به سه کلاس A، B و C تقسیم میشوند.
کلاس A: آدرسهای IP بین 0.0.0.0 و 127.255.255.255 هستند.
کلاس B: آدرسهای IP بین 128.0.0.0 و 191.255.255.255 هستند.
کلاس C: آدرسهای IP بین 192.0.0.0 و 223.255.255.255 هستند.
اگر میخواهید کلاس یک آدرس IP را تعیین کنید، باید به عدد اول آن نگاه کنید. اگر عدد اول 1 تا 127 باشد، آدرس در کلاس A قرار میگیرد. اگر عدد اول 128 تا 191 باشد، آدرس در کلاس B است. در نهایت، اگر این عدد از 192 تا 223 باشد، آدرس از کلاس C برخوردار است.
بسته به کلاس آدرس IP، بخشهای مختلفی از آدرس IP برای تعیین شبکه و میزبان استفاده میشود. به عنوان مثال، کلاس A فقط از 8 بیت برای آدرس IP استفاده میکند و 24 بیت برای میزبان باقی میماند. بنابراین، با استفاده از مثال 126.27.61.137، آدرس IP شبکه 126.0.0.0 و آدرس میزبان 0.27.61.137 خواهد بود.
برای یک آدرس با کلاس C، 24 بیت برای شبکه استفاده میشود و 8 بیت برای میزبان باقی میماند. برای مثال، 200.23.65.1 را در نظر بگیرید؛ در این آدرس 200.23.65.0 برای شبکه و 0.0.0.10 برای میزبان خواهد بود.
برای عملکرد شبکههایی مانند شبکه TCP/IP، روترهایی که اطلاعات را در سراسر شبکه ارسال میکنند، نیازی به دانستن آدرس دقیق میزبان ندارند. آنها فقط باید بخش مربوط به شبکه از آدرس IP را بدانند. سپس، هنگامی که بسته به شبکه میزبان تحویل داده شد، میتواند به میزبان مناسب برسد.
Subnet mask چیست؟
هر کلاس آدرس IP دارای یک subnet mask متناسب است که روشی آسان برای شناسایی بخشی از آدرس IP که به شبکه و میزبان مرتبط است را فراهم میکند. این کار برای اطمینان از اینکه بستههایی که از طریق شبکه حرکت میکنند به مکان مناسب میرسند ضروری است.
ماسکهای سابنت بهطور پیشفرض برای هر کلاس سابنت به شرح زیر است:
کلاس A: سابنت 0.0.0
کلاس B: سابنت 255.0.0
کلاس C: سابنت 255.255.0
وقتی به ماسکهای سابنت نگاه میکنیم و اعداد اعشاری را دوباره به باینری تبدیل کنیم، میبینیم که کدام بیت از آدرس IP به شبکه و کدام بیت به میزبان اختصاص داده شده است.
در باینری، 255 با 11111111 و 0 با 0 برابر است.
بنابراین، یک Subnet Mask 255.255.255.0 به عدد زیر تبدیل میشود:
11111111.11111111.11111111.0000000
وقتی این ترکیب باینری را با یک آدرس IP مانند 192.168.123.132 مطابقت دهید، میتوانید بخش شبکه و میزبان آدرس IP را تعیین کنید. هر «1» در Subnet Mask به بخش شبکه و هر «0» به بخش میزبان اشاره دارد.
برای مثال، subnet mask و آدرس آیپی زیر را در نظر بگیرید:
11111111.11111111.11111111.0000000
subnet: 255.255.255.192
11000000.10101000.01111011.10000100 Binary IP address: 192.168.123.132
این یعنی بخش شبکه سابنت 192.168.123 است و 0.132 به میزبان اختصاص داده شده است. هنگامی که اطلاعات به شبکه 192.168.123.0 میرسد، بهعنوان بخشی از شبکه پردازش شده و سپس به میزبان 0.0.0.132 تحویل داده میشود.
استفاده از سابنتها برای سازماندهی و بهینهسازی شبکه
اساسا یک سابنت بخش کوچکتری از شبکه در کلاس A، B و C است. ایجاد و استفاده از سابنتها میتواند به سازماندهی و عملکرد شبکه شما کمک کند.
نمونهای از سابنتینگ را میتوانید در سه مرحله زیر ببینید:
فرضیه:
فرض کنید یک کسبوکار میخواهد از چهار بلوک آدرس IP مختلف برای بخشهای مختلف شبکه خود با 50 میزبان در هر بخش استفاده کند. کسبوکار از بلوکهای آدرس IP زیر استفاده میکند:
200.1.0.0 200.1.1.0 200.1.2.0 200.1.3.0
هدف:
هر بلوک آدرس IP میتواند تا 254 آدرس IP ایجاد کند که اجازه میدهد تا مجموعا 254 ضربدر 4 آدرس IP برای استفاده در شبکه ایجاد شود. این یعنی در مجموع میتوان به 1016 آدرس IP دسترسی داشت. اما کسبوکار فقط به 50 هاست در هر بلوک نیاز دارد، بنابراین 816 آدرس IP دیگر اصلا استفاده نمیشود. این آدرسهای IP اتلاف شده میتواند توسط دستگاههای دیگر استفاده شود. سابنت راهی برای تقسیم یک بلوک آدرس IP به بخشهای کوچکتر است تا آدرسهای IP کمتری هدر رود.
اجرا:
ما میدانیم که در آدرس آیپی 200.1.0.0، قسمت 200.1.0 به بخش شبکه و 0. به بخش میزبان اختصاص دارد. آدرس IP کامل در باینری 32 بیتی بهصورت زیر است:
11001000.00000001.00000000.00000000
اما ما میدانیم که به تمام 254 میزبان ایجاد شده توسط این بلوک آدرس IP نیاز نداریم، بنابراین میتوانیم برخی از بیتهای متعلق به هاست را برای ایجاد یک زیرشبکه یا سابنت جدید قرض بگیریم.
با استفاده از مثال 11001000.00000001.00000000.00000000، یک «بیت» را از بخش میزبان برای ایجاد یک سابنت قرض میگیریم.
بنابراین:
11001000.00000001.00000000.00000000 به 11001000.00000001.00000000.10000000 تبدیل خواهد شد.
در نتیجه، آدرس IP اعشاری جدید بهصورت زیر خواهد بود:
200.1.0.128
پس از قرض گرفتن این یک بیت از قسمت میزبان آدرس IP، هنوز هفت بیت در این قسمت باقی مانده است. هفت بیت در بخش میزبان اجازه ایجاد حداکثر 128 آدرس IP را میدهد که برای نیازهای یک کسبوکار کاملا کافی خواهد بود. اگر این فرایند را ادامه دهیم و بیت دیگری از قسمت میزبان آدرس IP قرض بگیریم، چهار سابنت زیر را میتوان ایجاد کرد:
11001000.00000001.00000000.00000000 200.1.0.0 11001000.00000001.00000000.01000000 200.1.0.64 11001000.00000001.00000000.10000000 200.1.0.128 11001000.00000001.00000000.11000000 200.1.0.192
این چهار سابنت امکان ایجاد 64 آدرس IP را فراهم میکنند و اتلاف بسیار کمتری نسبت به مثال بالا وجود دارد.
دو میزبان برای آدرسهای IP موردنیاز برای هویت شبکه (اولین IP) و آدرس Broadcast (آخرین IP) رزرو شده است. بنابراین، برای هر بلوک آدرس IP، تنها 12 آدرس IP به هدر میرود.
اینجاست که ماسکهای سابنت بازمیگردند. اگر بیتهایی را از قسمت میزبان آدرس IP قرض گرفتهاید، تشخیص اینکه قسمت شبکه به کجا ختم میشود و قسمت میزبان از کجا شروع میشود دشوار است. با Subnet Mask میتوانید مشخص کنید که کدام بخش از سابنت به بخش شبکه و کدام به میزبان اختصاص دارد.
بهعنوان مثال، برای آدرس آیپی 200.1.0.64 ایجاد شده در بالا، Subnet Mask بهصورت زیر خواهد بود:
11111111.11111111.11111111.1100000 Subnet: 255.255.255.192
11001000.00000001.00000000.01000000 Binary IP address: 200.1.0.64
عدد «11» در ابتدای بخش پایانی Subnet Mask، به عدد 192 در آدرس IP تبدیل میشود که نشان میدهد دو بیت ابتدایی در بخش میزبان آدرس IP بهجای میزبان به سابنت تعلق دارد.
در هر سابنت چند میزبان میتوانید داشته باشید؟
تعیین تعداد میزبانهایی که میتوانید در سابنت خود داشته باشید بسیار مهم است، زیرا در نهایت سابنت شما نباید آنقدر کوچک باشد که تمام آدرسهای IP را پوشش ندهد یا آنقدر بزرگ باشد که به هدر رفتن تعدادی زیادی آدرس IP منجر شود.
با کم کردن تعداد بیتهای شبکه از تعداد بیتهای کل، میتوانید بفهمید که چند میزبان میتوانید در سابنت خود داشته باشید؛ به عبارت دیگر، 32 بیت کلی منهای تعداد بیتهای شبکه. برای درک بهتر از 26 به عنوان مثال استفاده میکنیم:
یک سابنت با 26 بیت شبکه دارای 6 بیت برای آدرسهای IP میزبان است. سپس باید 2 آدرس IP را برای IP شبکه و آدرس Broadcast کم کنید.
بنابراین، فرمول به شرح زیر است:
2^32-26 – 2 = 2^6 – 2 = 62
شما میتوانید از این فرمول برای تعیین تعداد بیتهای موجود برای ایجاد میزبان برای سابنت خود با هر تعداد بیت شبکه استفاده کنید.
چگونه بفهمیم که یک آدرس در کدام سابنت است؟
همچنین ممکن است بخواهید بهسرعت سابنتی که یک آدرس IP مشخص بخشی از آن است را تعیین کنید.
بیایید به آدرس 156.67.154.75 نگاه کنیم. ابتدا باید تعیین کنید که چند بیت به شبکه و چند بیت به هاست اختصاص داده شده است. از قبل میدانیم که در این آدرس IP، 28 مورد برای شبکه و چهار مورد برای میزبان استفاده میشود.
سپس با در نظر گرفتن تعداد بیتهای اختصاص داده شده به میزبان و به توان رساندن عدد 2 به توان آن عدد، باید تعیین کنید که سابنت چقدر بزرگ است. در مثال بالا، 2 به توان 4 میرسد که نتیجه آن 16 است. این عدد اندازه بلوک «Block Size» نامیده میشود، زیرا به اندازه بلوکهای سابنتی اشاره دارد که شبکه به آنها تقسیم شده است. میتوانید از این اندازه بلوک برای شمارش صفر استفاده کنید تا مشخص شود آدرس IP متعلق به کدام بلوک سابنت است.
برای 156.67.154.75، شما از 156.67.154.0 شروع میکنید و هربار تا 16 بالا میروید، بهصورت زیر:
156.67.154.0/28 |
156.67.154.16/28 |
156.67.154.32/28 |
156.67.154.48/28 |
با ادامه دادن شمارش، میتوانید ببینید که 156.67.154.75 بین دو بلوک سابنت زیر قرار میگیرد:
156.67.154.64/28 |
156.67.154.80/28 |
این یعنی آدرس آیپی 156.67.154.75 در سابنتی است که با 156.67.154.64 شروع میشود، زیرا 0.80 بسیار بالا خواهد بود.
درک این موضوع به کمی تمرین نیاز دارد. فقط به یاد داشته باشید که ابتدا تعداد بیتهای موجود در آدرس IP اختصاص داده شده به میزبانها را تعیین کنید، سپس عدد 2 را به توان تعداد بیتهای اختصاص داده شده به میزبانها برسانید.
هر عددی که به دست میآورید، اندازه بلوک است و سپس میتوانید در آدرس آیپی براساس اندازه بلوک محاسبه را ادامه دهید تا زمانی که دو بلوک را پیدا کنید که آدرس IP بین آنها قرار میگیرد. در این حالت آدرس IP در سابنت پایینی آن دو بلوک قرار دارد.
چگونه میتوان تشخیص داد که آیا دو آدرس در یک سابنت قرار دارند یا خیر؟
اگر میخواهید بفهمید که آیا دو آدرس در یک سابنت قرار دارند یا خیر، ابتدا باید اندازه بلوک سابنت را تعیین کنید. سپس محدوده مناسب برای تعداد میزبان را محاسبه میکنید تا ببینید آیا آدرس دوم در همان محدوده قرار میگیرد یا خیر.
در اینجا نمونهای از این فرایند با استفاده از دو آدرس IP زیر آورده شده است:
10.21.45.137/13 |
10.23.156.198/13 |
همانطور که میبینید تعداد بیتهای شبکه 13 است، به این معنی که سابنت باید در بخش دوم آدرس IP تنظیم شود.
بنابراین، میتوانیم با آدرس آیپی 10.0.0.0/13 شروع کنیم.
ما همچنین میتوانیم اندازه بلوک سابنت را با در نظر گرفتن تعداد بیتهای اختصاص داده شده به میزبان و به توان رساندن عدد 2 به توان آن عدد تعیین کنیم. بنابراین، با حداکثر 16 بیت در دو اکتت (Octet)، اندازه بلوک سابنت معادل 2^(16-13) = 8 است.
سپس میتوانید از طریق بلوکهای سابنت محاسبه خود را ادامه دهید و هربار هشت تا افزایش دهید:
10.0.0.0/13 |
10.8.0.0/13 |
10.16.0.0/13 |
10.24.0.0/13 |
از آنجایی که 10.21.45.137/13 و 10.23.156.198/13 بین 10.16.0.0/13 و 10.24.0.0/13 قرار دارند، هردو بر روی یک سابنت قرار دارند.
جمع بندی
در این مقاله به بررسی این که سابنتینگ چیست و اهمیت آن در شبکههای کامپیوتری پرداخته شده است. سابنتینگ به عنوان یک تکنیک مورد استفاده در شبکهها برای تقسیم شبکههای بزرگتر به زیرشبکههای کوچکتر معرفی میشود که با این کار، مدیریت بهتر منابع IP و بهبود کارایی و امنیت شبکه امکانپذیر میشود.
ابزارهایی مانند Subnet Calculator به مدیران شبکه کمک میکنند تا به سرعت محاسبات لازم برای زیرشبکهها را انجام دهند و تصمیمات بهتری برای مدیریت شبکه بگیرند. مقاله همچنین به توضیح مفاهیمی مانند آدرسهای IP، Subnet Mask، محدوده آدرسهای قابل استفاده، و آدرسهای پخش پرداخته و نشان میدهد که چطور این مفاهیم به بهینهسازی استفاده از IPها کمک میکنند.