در این مقاله بررسی میکنیم که سابنتینگ (Subnetting) چیست، چه کاربردهایی دارد و چگونه میتوان با استفاده از ابزارهایی مانند Subnet Calculator، به سادگی محاسبات مربوط به زیرشبکهها را انجام داد. ابتدا نگاهی کوتاه به مفهوم آدرس IP و نحوه عملکرد آن خواهیم داشت و سپس وارد مبحث اصلی یعنی سابنتینگ و نکات کلیدی آن میشویم. برای درک بهتر، مفاهیم به صورت مرحلهای و سادهسازیشده ارائه شدهاند تا حتی کاربران مبتدی نیز بتوانند به خوبی آنها را درک کنند.
خلاصه مقاله در یک نگاه:
برای تشخیص اینکه آیا دو آدرس IP در یک سابنت (Subnet) قرار دارند یا نه، ابتدا باید بدانید چند بیت از آدرس برای شبکه اختصاص یافته است (مثلاً /13 یا /24). سپس با محاسبه تعداد بیتهای باقیمانده برای میزبان (با فرمول 32 منهای تعداد بیتهای شبکه)، اندازه بلوک سابنت را به دست میآورید. این اندازه با فرمول 2 به توان تعداد بیتهای میزبان محاسبه میشود و به شما میگوید هر سابنت چه بازهای از IPها را پوشش میدهد. در ادامه باید بررسی کنید که هر دو IP در داخل همان بازه (بلوک سابنت) قرار دارند یا نه. اگر هر دو IP در بازه یکسانی باشند، آنها در یک Subnet قرار دارند. راه دقیقتر این است که عملیات AND باینری بین هر آدرس IP و Subnet Mask انجام دهید؛ اگر نتیجه برای هر دو IP یکسان بود، به این معنی است که در یک سابنت هستند. این فرایند به درک بهتر ساختار شبکه کمک میکند و در مدیریت منابع IP بسیار کاربردی است.
فهرست مطالب
تعریف سابنتینگ
سابنتینگ تکنیکی در طراحی شبکه است که برای تقسیم یک شبکه بزرگ به چند شبکه کوچکتر یا “زیرشبکه” استفاده میشود. این فرآیند به تخصیص کارآمدتر آدرسهای IP و مدیریت بهینهی منابع شبکه کمک میکند. با استفاده از سابنتینگ، میتوان مشخص کرد که چه تعداد دستگاه یا هاست در هر زیرشبکه میتوانند فعالیت کنند. این قابلیت باعث میشود که امنیت، کنترل و عملکرد کلی شبکه بهبود یابد و ترافیک بین بخشهای مختلف بهطور مؤثرتری مدیریت شود.
محاسبه سابنت با Subnet Calculator
برای انجام محاسبات سابنتینگ، استفاده از Subnet Calculator بسیار رایج است. این ابزار آنلاین یا نرمافزاری، پارامترهای مهمی مانند تعداد هاستها، رنج آدرسهای IP، ماسک سابنت (Subnet Mask) و آدرس شبکه را بهصورت خودکار محاسبه میکند. استفاده از این ابزار بهویژه برای کاربران مبتدی بسیار مفید است، زیرا دیگر نیازی به انجام محاسبات دستی و احتمال خطا در محاسبات نیست.
با استفاده از Subnet Calculator میتوانید در چند ثانیه یک شبکه دقیق و بهینه طراحی کنید و ساختار آدرسدهی مناسبی برای پروژههای کوچک یا بزرگ شبکهای ایجاد نمایید. در ادامه، نحوه استفاده از این ابزار و نکات فنی مربوط به آن را بهصورت تصویری بررسی خواهیم کرد.
آشنایی با آدرس IP، CIDR، Subnet Mask و سایر مفاهیم مهم در سابنتینگ
برای درک بهتر نحوه عملکرد سابنتینگ، ابتدا باید با مفاهیم کلیدی مانند آدرس IP، CIDR Notation، Subnet Mask و نحوه تخصیص آدرسها در شبکه آشنا شویم.
آدرس IP و CIDR Notation
آدرس IP بهصورت چهار بخش عددی نمایش داده میشود (مثلاً 255.255.255.255). وقتی از قالب CIDR مانند /24 استفاده میکنیم، منظور این است که ۲۴ بیت اول آدرس متعلق به شبکه و ۸ بیت پایانی آن برای هاستها اختصاص داده شده است. این به ما امکان میدهد تا ۲۵۶ آدرس IP در آن زیرشبکه داشته باشیم، که از این تعداد، ۲ آدرس رزرو شده و ۲۵۴ آدرس قابل استفاده هستند.
نمایش اعشاری و شانزدههشتی (Decimal & Hex)
برخی ابزارهای محاسبهگر مانند Subnet Calculator، آدرس IP را به صورت عددی نیز نمایش میدهند:
- نمایش Decimal: تبدیل آدرس IP به عدد دهدهی بزرگ (مثلاً 760872192)
- نمایش Hex: همان آدرس به صورت عدد مبنای ۱۶ (مثلاً 2D59FD00)
محدوده شبکه و آدرسهای قابل استفاده
در یک سابنت با پیشوند /24 مانند 45.89.253.0/24:
- محدوده شبکه (Network Range) از 45.89.253.0 تا 45.89.253.255 است.
- آدرس 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، مشخص میکند چند بیت از IP به شبکه تعلق دارد. در این مثال، ۲۴ بیت برای شبکه و ۸ بیت برای هاستها در نظر گرفته شده است. این ماسک، معمولاً برای شبکههای کوچک تا متوسط کاربرد دارد.
آدرس Broadcast
Broadcast، آخرین آدرس IP در یک زیرشبکه است که برای ارسال اطلاعات به تمام دستگاههای آن زیرشبکه استفاده میشود. در مثال ما، این آدرس 45.89.253.255 است.
PTR Record (DNS معکوس)
PTR رکورد یا رکورد معکوس DNS، آدرس IP را به نام دامنه تبدیل میکند. به عنوان مثال، آدرس 45.89.253.0 ممکن است به شکل 0.253.89.45.in-addr.arpa در DNS معکوس نمایش داده شود.
آدرس IP چیست و چه انواعی دارد؟
برای درک بهتر مفاهیمی مانند سابنتینگ یا مدیریت ساختار شبکه، ابتدا باید به یکی از پایهایترین عناصر شبکه یعنی آدرس IP بپردازیم. آدرس IP (Internet Protocol Address) یک شناسه منحصربهفرد برای هر دستگاه متصل به شبکه است که به کمک آن، ارتباطات درون شبکهای و اینترنتی امکانپذیر میشود.
انواع آدرس IP: IPv4 و IPv6
IPv4 (نسخه ۴) رایجترین نوع آدرس IP است که از یک ساختار ۳۲ بیتی استفاده میکند. این آدرس به صورت چهار عدد دهدهی نمایش داده میشود که با نقطه از یکدیگر جدا شدهاند؛ برای مثال: 216.27.61.137. این ساختار در واقع از چهار بخش ۸ بیتی (Octet) تشکیل شده که مجموع آنها ۳۲ بیت میشود.
با رشد سریع اینترنت، فضای IPv4 محدود شد. به همین دلیل، IPv6 (نسخه ۶) معرفی شد که ساختاری ۱۲۸ بیتی دارد و میتواند تعداد بسیار بیشتری آدرس را پشتیبانی کند. آدرسهای IPv6 بهصورت هگزادسیمال (مبنای ۱۶) و با علامت «:**» از هم جدا میشوند؛ مثل:
2001:cdba:0000:0000:0000:0000:3257:9652
IP عمومی، اختصاصی، پویا و ثابت
آدرسهای IP میتوانند ثابت (Static) یا پویا (Dynamic) باشند. IP ثابت همیشه به یک دستگاه خاص اختصاص دارد و تغییر نمیکند، اما IP پویا توسط DHCP بهطور خودکار و موقت به دستگاهها تخصیص مییابد و ممکن است با هر اتصال تغییر کند.
IP همچنین میتواند عمومی (Public) باشد که در اینترنت قابل دسترسی است یا خصوصی (Private) که تنها در شبکههای محلی کاربرد دارد.
کلاسبندی آدرسهای IP
برای سادهسازی مدیریت شبکهها، آدرسهای IPv4 به سه کلاس اصلی تقسیم میشوند:
- کلاس A: از 0.0.0.0 تا 127.255.255.255 (مناسب برای شبکههای بسیار بزرگ)
- کلاس B: از 128.0.0.0 تا 191.255.255.255 (برای شبکههای متوسط)
- کلاس C: از 192.0.0.0 تا 223.255.255.255 (برای شبکههای کوچک)
هر کلاس، بخش متفاوتی از آدرس IP را برای شناسه شبکه و بخش باقیمانده را برای شناسه هاست (دستگاه) در نظر میگیرد. بهعنوان مثال، در کلاس A تنها ۸ بیت برای شبکه و ۲۴ بیت برای هاستها در نظر گرفته میشود، در حالی که در کلاس C این نسبت معکوس است.
درک ساختار و طبقهبندی آدرسهای IP نخستین گام برای ورود به مفاهیم پیشرفتهتری مانند سابنتینگ و طراحی بهینه شبکه است.
Subnet Mask چیست و چه کاربردی دارد؟
در دنیای شبکههای کامپیوتری، تنها داشتن آدرس IP کافی نیست؛ باید بدانیم کدام قسمت از این آدرس به شبکه و کدام قسمت به میزبان (Host) تعلق دارد. اینجاست که ماسک زیرشبکه (Subnet Mask) وارد عمل میشود.
تعریف Subnet Mask
Subnet Mask ابزاری است که مشخص میکند چند بیت از آدرس IP مربوط به شبکه (Network) و چند بیت مربوط به میزبان (Host) است. این مفهوم برای هدایت صحیح بستههای داده به مقصد و تفکیک بخشهای مختلف یک شبکه ضروری است.
ماسکهای پیشفرض برای کلاسهای مختلف IP
هر کلاس آدرس IP دارای یک ماسک پیشفرض است:
- کلاس A: 255.0.0.0
- کلاس B: 255.255.0.0
- کلاس C: 255.255.255.0
در این ماسکها، هر بخش عددی معادل با ۸ بیت است و عدد 255 در مبنای باینری برابر است با 11111111. این بدان معناست که هر بیت 1، نشاندهنده بخش شبکه و هر بیت 0 نشاندهنده بخش میزبان است.
مثال ساده:
اگر آدرس IP برابر با 192.168.123.132 و Subnet Mask برابر با 255.255.255.0 باشد:
IP: 11000000.10101000.01111011.10000100
Subnet: 11111111.11111111.11111111.00000000
سه بخش اول برای شبکه و بخش آخر برای میزبان خواهد بود. یعنی:
- شبکه: 192.168.123.0
- میزبان: 0.0.0.132
برای اجرای شبکههای پیچیده و پروژههای هوش مصنوعی نیاز به زیرساختی مطمئن دارید!
سرورهای HP با قابلیت شبکهبندی پیشرفته و سرعت بالا، بهترین انتخاب برای شما هستند.
هماکنون بهترین سرور HP را انتخاب کن و تجربهای بینظیر از مدیریت شبکه داشته باش!
کاربرد سابنتینگ در بهینهسازی شبکه
سابنتینگ فرآیند تقسیم یک شبکه بزرگ به بخشهای کوچکتر است. این کار باعث استفاده بهینه از آدرسهای IP و سازماندهی بهتر شبکه میشود.
مثال کاربردی:
فرض کنید شرکتی به ۴ بخش مختلف تقسیم شده و هر بخش به ۵۰ دستگاه نیاز دارد. آدرسهای زیر در اختیار آنهاست:
- 200.1.0.0
- 200.1.1.0
- 200.1.2.0
- 200.1.3.0
هر بلوک آدرس C میتواند 254 دستگاه را پشتیبانی کند، ولی شرکت فقط به ۵۰ دستگاه نیاز دارد؛ یعنی بسیاری از آدرسها هدر میروند.
راهکار با سابنتینگ:
میتوان با قرض گرفتن بیتهایی از بخش میزبان، تعداد سابنتهای بیشتر اما با ظرفیت کمتر ساخت.
مثال:
- آدرس IP: 200.1.0.0
- باینری: 11001000.00000001.00000000.00000000
اگر ۲ بیت از بخش میزبان قرض بگیریم، به سابنت ماسک جدیدی به صورت 255.255.255.192 میرسیم:
Subnet Mask: 11111111.11111111.11111111.11000000
با این تنظیم، میتوان ۴ زیرشبکه با ۶۲ هاست در هر شبکه ایجاد کرد:
- 200.1.0.0
- 200.1.0.64
- 200.1.0.128
- 200.1.0.192
هر یک از این سابنتها فقط دو آدرس برای Network ID و Broadcast رزرو میکنند و باقیمانده قابل استفاده است. در نتیجه، بهجای هدر رفت 800+ آدرس، تنها تعداد کمی از آدرسها بلااستفاده خواهند بود.
تطابق آدرس با ماسک:
اگر Subnet Mask = 255.255.255.192
و آدرس IP = 200.1.0.64
در باینری:
IP: 11001000.00000001.00000000.01000000
Subnet: 11111111.11111111.11111111.11000000
دو بیت اول از بخش چهارم (64 = 01000000) مربوط به شبکه و شش بیت باقیمانده مربوط به میزبان هستند.
چند میزبان در هر Subnet میتوان داشت؟
تعیین تعداد دقیق میزبانهایی که در یک زیرشبکه (Subnet) میتوان جای داد، یکی از مهمترین مراحل طراحی شبکه است. اگر سابنت بیش از حد کوچک باشد، جوابگوی تعداد دستگاهها نخواهد بود و اگر بیش از حد بزرگ باشد، باعث هدر رفت آدرسهای IP خواهد شد.
فرمول تعیین تعداد میزبانها
برای محاسبه تعداد میزبانهای قابل استفاده در یک Subnet، ابتدا باید تعداد بیتهای اختصاصدادهشده به بخش میزبان (Host) را بدانیم. آدرسهای IP از 32 بیت تشکیل شدهاند. هر چقدر بیت بیشتری به شبکه اختصاص یابد، بیتهای کمتری برای میزبان باقی میماند.
فرمول کلی به شکل زیر است:
تعداد میزبانها = (2 ^ تعداد بیتهای میزبان) – 2
عدد 2 به دلیل رزرو بودن دو آدرس حذف میشود:
- یکی برای Network ID (اولین آدرس)
- یکی برای Broadcast (آخرین آدرس)
مثال:
سابنتی با ماسک /26 دارای 26 بیت برای شبکه و 6 بیت برای میزبان است:
تعداد میزبان = 2^6 – 2 = 64 – 2 = 62 میزبان
شما میتوانید از این فرمول برای هر Subnet استفاده کنید؛ کافی است تعداد بیتهای میزبان را محاسبه کنید (32 منهای تعداد بیتهای شبکه).
چگونه بفهمیم که یک آدرس IP در کدام Subnet قرار دارد؟
گاهی لازم است بدانیم یک آدرس خاص در کدام Subnet قرار دارد. برای این کار، مراحل زیر را دنبال کنید:
گام ۱: تعیین اندازه بلوک (Block Size)
ابتدا باید تعداد بیتهای اختصاص داده شده به میزبانها را بدانید. مثلاً اگر یک Subnet دارای ماسک /28 باشد، به این معنی است که 28 بیت برای شبکه است و 4 بیت برای میزبان باقی مانده.
Block Size = 2 ^ تعداد بیتهای میزبان = 2^4 = 16
بنابراین، هر بلوک از سابنتها به اندازه 16 آدرس پیش میرود.
گام ۲: محاسبه بازههای Subnet
برای پیدا کردن سابنت مربوط به آدرس IP، از نزدیکترین صفر شروع کرده و بهاندازه Block Size افزایش میدهید.
مثال:
آدرس IP: 156.67.154.75
سابنت ماسک: /28 → اندازه بلوک = 16
از 156.67.154.0 شروع میکنیم:
- 156.67.154.0/28
- 156.67.154.16/28
- 156.67.154.32/28
- 156.67.154.48/28
- 156.67.154.64/28
- 156.67.154.80/28
حالا میبینیم که 156.67.154.75 بین 156.67.154.64 و 156.67.154.80 قرار دارد، پس این آدرس متعلق به سابنت 156.67.154.64/28 است.
چگونه تشخیص دهیم که آیا دو آدرس IP در یک Subnet هستند یا نه؟
یکی از مهمترین وظایف در طراحی یا تحلیل شبکه، تعیین این است که آیا دو آدرس IP در یک زیرشبکه (Subnet) قرار دارند یا خیر. این موضوع نهتنها بر ارتباط مستقیم بین دستگاهها، بلکه بر عملکرد کلی شبکه نیز تأثیر میگذارد.
گامهای تشخیص:
- بررسی Subnet Mask یا Prefix Length
ابتدا مشخص کنید Subnet Mask یا طول پیشوند (مانند /13 یا /24) چقدر است. این تعیین میکند که چه تعداد بیت برای شبکه و چه تعداد برای میزبان استفاده میشود. - محاسبه آدرس شبکه (Network Address) برای هر IP
با استفاده از AND منطقی میان آدرس IP و Subnet Mask، آدرس شبکه هر IP را محاسبه کنید. اگر نتیجه برای هر دو IP یکسان باشد، آنها در یک سابنت قرار دارند.
مثال:
فرض کنید دو آدرس IP زیر را داریم:
- 10.21.45.137/13
- 10.23.156.198/13
گام ۱: محاسبه اندازه بلوک
با توجه به پیشوند /13، یعنی 13 بیت برای شبکه استفاده شده و 32 – 13 = 19 بیت برای میزبان باقی مانده است.
اندازه بلوک = 2 ^ (8 – (13 – 8)) = 2^3 = 8 در اکتت دوم
بنابراین سابنت در اکتت دوم (دومین عدد IP) به فاصلههای 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
- 10.23.156.198
در بازه بین 10.16.0.0 و 10.24.0.0 قرار دارند.
نتیجه: هر دو آدرس در سابنت 10.16.0.0/13 قرار دارند و بنابراین در یک زیرشبکه هستند.
روش سریعتر با AND باینری (برای متخصصان)
اگر با عملیات باینری راحت هستید، یک روش دقیق و رسمیتر استفاده از عملیات AND بین آدرس IP و Subnet Mask است. در این روش:
IP Address AND Subnet Mask = Network Address
اگر Network Address حاصل برای هر دو آدرس IP یکسان بود، آنها در یک سابنت قرار دارند.
کلام آخر
- برای تشخیص تعلق دو آدرس IP به یک Subnet، میتوانید از روش شمارش بر اساس اندازه بلوک یا عملیات باینری استفاده کنید.
- این کار برای تنظیمات شبکه، فایروال، روتینگ و دسترسی بین دستگاهها حیاتی است.
- ابزارهایی مانند Subnet Calculator میتوانند این محاسبات را سریعتر انجام دهند.
بهکارگیری صحیح سابنتینگ به شما امکان میدهد منابع آدرسدهی را بهینه کرده، امنیت را افزایش دهید و عملکرد شبکه را بهبود ببخشید.