اگر تازه وارد دنیای شبکه شده باشید، احتمالاً با واژههایی مثل IPv4، Subnet Mask، Public IP و Private IP زیاد روبهرو شدهاید؛ مفاهیمی که در ظاهر سادهاند، اما در عمل برای خیلی از دانشجویان تازهکار کمی گیجکننده میشوند.
واقعیت این است که یادگیری این مفاهیم، فقط حفظ کردن چند تعریف نیست. اگر ندانیم IP دقیقاً چه نقشی دارد، چرا Subnet Mask مهم است و تفاوت IP عمومی و خصوصی چیست، در ادامه مسیر شبکه—از پیکربندی سیستمها گرفته تا درک Routing، VLAN، DHCP و امنیت—بارها دچار ابهام میشویم.
در شرکت آراسامانه، آموزش مفاهیم پایه شبکه همواره یکی از مهمترین بخشهای مسیر یادگیری متخصصان فناوری اطلاعات بوده است. به اعتقاد مصطفی پورآقایی، مدیرعامل شرکت آراسامانه، درک صحیح مفاهیم بنیادی مانند IP Address و Subnet Mask نقش بسیار مهمی در موفقیت افراد در مباحث پیشرفتهتر شبکه و زیرساخت دارد.
در این مقاله میخواهم این مفاهیم را نه به شکل خشک و کتابی، بلکه به زبان ساده، با مثال، تشبیه و نگاه کاربردی توضیح دهم؛ مخصوصاً روی مفهومی که معمولاً بیشترین چالش را برای دانشجویان ایجاد میکند: Subnet Mask.
IP چیست و چرا اصلاً به آن نیاز داریم؟
برای اینکه دستگاهها در یک شبکه بتوانند با هم ارتباط برقرار کنند، باید هر کدام یک آدرس مشخص داشته باشند؛ درست مثل آدرس خانهها در یک شهر.
این آدرس در شبکه، IP Address نام دارد.
وقتی شما در شبکه یک پیام، درخواست یا داده ارسال میکنید، این داده باید بداند:
- از کجا آمده
- قرار است به کجا برود
IP دقیقاً همین نقش را بازی میکند:
یعنی مشخص میکند هر دستگاه در شبکه هویت و موقعیت منطقی خودش را داشته باشد.
IPv4 چیست؟
IPv4 مخفف Internet Protocol version 4 است؛ یعنی نسخه چهارم پروتکل IP که سالهاست رایجترین روش آدرسدهی در شبکهها و اینترنت بوده است.
آدرس IPv4 از 32 بیت تشکیل شده و معمولاً به شکل چهار عدد دهدهی نمایش داده میشود، مثل:
content_copy text
192.168.1.10
هر بخش از این آدرس را یک Octet میگویند، چون از 8 بیت ساخته شده است.
پس IPv4 به طور کلی شامل 4 اکتت است:
content_copy text
192 . 168 . 1 . 10
هر اکتت میتواند عددی بین 0 تا 255 باشد.
ساختار IP را چطور بفهمیم؟
یکی از بهترین راهها برای فهم IP این است که آن را شبیه آدرس یک ساختمان در نظر بگیریم.
فرض کنید یک شهر بزرگ داریم:
- نام شهر میتواند نشاندهنده شبکه باشد
- نام خیابان یا بلوک میتواند زیرشبکه را نشان دهد
- شماره ساختمان یا واحد میتواند میزبان یا Host باشد
در دنیای شبکه هم IP فقط یک عدد تصادفی نیست.
هر IP معمولاً از دو بخش تشکیل میشود:
- بخش شبکه (Network Portion)
- بخش میزبان (Host Portion)
مشکل اینجاست که از روی خود IP، همیشه بهتنهایی نمیتوان فهمید کدام بخش مربوط به شبکه است و کدام بخش مربوط به میزبان.
اینجاست که Subnet Mask وارد بازی میشود.
کلاسهای IP چه بودند و چرا هنوز باید آنها را بشناسیم؟
در مدل قدیمی آدرسدهی IPv4، آدرسها به چند کلاس تقسیم میشدند:
Class A
- بازه:
1.0.0.0تا126.255.255.255 - مناسب شبکههای خیلی بزرگ
- ماسک پیشفرض:
255.0.0.0
Class B
- بازه:
128.0.0.0تا191.255.255.255 - مناسب شبکههای متوسط
- ماسک پیشفرض:
255.255.0.0
Class C
- بازه:
192.0.0.0تا223.255.255.255 - مناسب شبکههای کوچک
- ماسک پیشفرض:
255.255.255.0
Class D
- برای Multicast
Class E
- رزرو شده برای اهداف خاص و تحقیقاتی
آیا کلاسهای IP هنوز استفاده میشوند؟
از نظر عملی، امروزه شبکهها بیشتر بر پایه CIDR و Subnetting طراحی میشوند و مدل کلاسیک دیگر معیار اصلی طراحی نیست.
اما یادگیری کلاسها هنوز هم مهم است، چون:
- درک اولیه خوبی از ساختار آدرسدهی میدهد
- در منابع آموزشی و آزمونها زیاد دیده میشود
- به دانشجوی تازهکار کمک میکند بداند چرا بعضی ماسکها به شکل پیشفرض رایج شدهاند
به نظر من، کلاسهای IP بیشتر یک پله آموزشی هستند تا یک ابزار طراحی مدرن شبکه.
اگر کسی در همان ابتدا فقط کلاسها را حفظ کند ولی مفهوم Network/Host و Subnet Mask را نفهمد، در عمل چیز زیادی یاد نگرفته است.
Public IP و Private IP چه تفاوتی دارند؟
یکی از مهمترین سوالها برای تازهکارها این است که چرا بعضی IPها در اینترنت قابل دسترسی هستند و بعضی نه.
Public IP
آدرس عمومی یا Public IP آدرسی است که در سطح اینترنت منحصربهفرد است و میتواند مستقیماً در اینترنت شناسایی شود.
مثلاً وقتی مودم یا روتر شما به اینترنت وصل میشود، معمولاً از سمت ISP یک Public IP دریافت میکند.
Private IP
آدرس خصوصی یا Private IP برای استفاده در شبکههای داخلی طراحی شده است و مستقیماً در اینترنت Route نمیشود.
بازههای Private IP در IPv4 عبارتاند از:
10.0.0.0تا10.255.255.255172.16.0.0تا172.31.255.255192.168.0.0تا192.168.255.255
مثالهای رایج:
192.168.1.1010.0.0.5172.16.20.100
چرا Private IP داریم؟
اگر قرار بود هر دستگاهی در هر خانه، شرکت، دانشگاه و موبایل، یک Public IP جداگانه داشته باشد، آدرسهای IPv4 خیلی زود تمام میشدند.
به همین دلیل از Private IP استفاده میشود تا در شبکههای داخلی، دستگاهها آدرس بگیرند و فقط در مرز خروج به اینترنت، از طریق NAT به Public IP ترجمه شوند.
به زبان ساده:
- داخل شبکه: Private IP
- در ارتباط با اینترنت: معمولاً Public IP
Subnet Mask چیست؟
حالا میرسیم به مهمترین بخش مقاله.
Subnet Mask مشخص میکند کدام قسمت از IP مربوط به شبکه است و کدام قسمت مربوط به میزبان.
مثلاً در آدرس زیر:
content_copy text
192.168.1.10
اگر Subnet Mask برابر باشد با:
content_copy text
255.255.255.0
یعنی:
- بخش شبکه:
192.168.1 - بخش میزبان:
.10
پس دستگاهی با IP 192.168.1.20 در همان شبکه قرار میگیرد، اما دستگاهی با IP 192.168.2.20 در شبکه دیگری است.
Subnet Mask را با یک تشبیه ساده بفهمیم
بهترین تشبیهی که برای دانشجویان تازهکار جواب میدهد، تشبیه آدرس در یک مجتمع بزرگ یا شهرک است.
فرض کنید آدرسها اینطور تعریف شدهاند:
- بخش اول آدرس: نام شهرک
- بخش دوم: بلوک
- بخش سوم: ساختمان
- بخش چهارم: واحد
حالا اگر بگوییم:
تا اینجای آدرس مربوط به محل کلی است و از اینجا به بعد مربوط به واحدهاست، در واقع داریم همان کاری را میکنیم که Subnet Mask در شبکه انجام میدهد.
Subnet Mask به ما میگوید:
«کدام بخش IP برای شناسایی خودِ شبکه است و کدام بخش برای شناسایی دستگاه داخل آن شبکه.»
اگر این مرز را ندانیم، نمیتوانیم تشخیص دهیم دو دستگاه در یک شبکهاند یا برای رسیدن به هم باید از روتر عبور کنند.
چرا Subnet Mask برای خیلیها سخت است؟
چون خیلیها آن را فقط به شکل یک عدد حفظ میکنند:
content_copy text
255.255.255.0
اما نمیفهمند این عدد در عمل چه چیزی را مشخص میکند.
وقتی برای اولین بار با Subnet Mask روبهرو میشویم، معمولاً این سوالها پیش میآید:
- چرا 255؟
- چرا بعضیوقتها 0؟
- چرا گاهی 192 یا 224 یا 240 میبینیم؟
- از کجا بفهمیم چند Host داریم؟
اینها دقیقاً همان نقطهای هستند که یادگیریِ حفظی شکست میخورد و فهم مفهومی باید جای آن را بگیرد.
عدد 255 در Subnet Mask یعنی چه؟
در باینری، عدد 255 برابر است با:
content_copy text
11111111
یعنی 8 بیت همه روشن هستند.
در Subnet Mask، هر بیت 1 یعنی این بخش متعلق به Network است و هر بیت 0 یعنی متعلق به Host است.
مثلاً:
content_copy text
255.255.255.0
در باینری میشود:
content_copy text
11111111.11111111.11111111.00000000
یعنی:
- 24 بیت اول برای Network
- 8 بیت آخر برای Host
به همین دلیل به این ماسک میگوییم:
content_copy text
/24
CIDR چیست و چه ربطی به Subnet Mask دارد؟
در شبکههای امروزی، بهجای اینکه فقط بنویسیم:
content_copy text
255.255.255.0
اغلب از نمایش کوتاهتر استفاده میکنیم:
content_copy text
192.168.1.10/24
عدد /24 یعنی 24 بیت اول مربوط به Network هستند.
نمونههای رایج:
/8→255.0.0.0/16→255.255.0.0/24→255.255.255.0
یک مثال کاربردی از Subnet Mask
فرض کنید داریم:
content_copy text
IP Address: 192.168.1.50
Subnet Mask: 255.255.255.0
در این حالت:
- Network Address:
192.168.1.0 - Host range: از
192.168.1.1تا192.168.1.254 - Broadcast Address:
192.168.1.255
یعنی در این شبکه:
.0آدرس شبکه است.255آدرس Broadcast است- بقیه آدرسها قابل تخصیص به دستگاهها هستند
یک case study ساده: مشکل در ارتباط دو سیستم
در یکی از سناریوهای آموزشی رایج، دو کامپیوتر داریم:
سیستم اول
content_copy text
192.168.1.10
255.255.255.0
سیستم دوم
content_copy text
192.168.2.10
255.255.255.0
خیلی از دانشجویان تازهکار در نگاه اول میگویند:
«هر دو که با 192.168 شروع میشوند، پس باید همدیگر را ببینند.»
اما این نتیجهگیری اشتباه است.
چون با ماسک /24، بخش شبکه سه اکتت اول است:
- شبکه اول:
192.168.1.0 - شبکه دوم:
192.168.2.0
پس این دو سیستم در دو شبکه متفاوت قرار دارند و بدون روتر، مستقیماً با هم ارتباط نخواهند داشت.
این مثال بهظاهر ساده، یکی از بهترین تمرینها برای جا افتادن مفهوم Subnet Mask است.
چون نشان میدهد شباهت ظاهری IPها کافی نیست؛ مرز شبکه را Mask تعیین میکند.
case study مهمتر: چرا یک سیستم اینترنت دارد ولی به بعضی سیستمهای داخلی دسترسی ندارد؟
فرض کنید در یک شرکت کوچک:
- سیستم کاربر IP درستی گرفته
- اینترنت هم کار میکند
- اما به فایلسرور داخلی دسترسی ندارد
بعد از بررسی متوجه میشویم:
سیستم کاربر
content_copy text
IP: 192.168.1.50
Mask: 255.255.0.0
فایلسرور
content_copy text
IP: 192.168.2.20
Mask: 255.255.255.0
در ظاهر همهچیز نزدیک به هم است، اما مشکل از برداشت متفاوت دستگاهها از مرز شبکه است.
- سیستم اول با
/16فکر میکند192.168.2.20در شبکه خودش است - ولی سرور با
/24برداشت متفاوتی از محدوده شبکه دارد
در نتیجه ممکن است رفتار ارتباطی ناسازگار یا خطاهای عجیب دیده شود.
این دقیقاً از آن خطاهایی است که به دانشجو یاد میدهد:
فقط IP مهم نیست؛ IP بدون Subnet Mask ناقص است.
اشتباه رایجی که دانشجویان انجام میدهند
یکی از اشتباهات رایج این است که دانشجوها فکر میکنند:
- اگر IPها شبیه باشند، پس در یک شبکهاند
- یا اگر اینترنت وصل است، پس تنظیمات IP درست است
- یا Subnet Mask فقط یک عدد فرعی و کماهمیت است
اما در عمل، بارها دیده میشود که ریشه مشکل دقیقاً همین Mask است.
اگر بخواهم یک نکته را به دانشجوی تازهکار پررنگ بگویم، آن نکته این است:
در شبکه، هر IP را همیشه همراه با Subnet Mask ببین.
بدون Mask، تحلیل تو از آدرس ناقص است.
چطور تعداد Hostها را حساب کنیم؟
اگر در یک Subnet، تعداد بیتهای Host را بدانیم، با این فرمول میتوانیم تعداد آدرسهای قابل استفاده را حساب کنیم:
2n−2 2^n – 2 2n−2
که در آن:
- n n n = تعداد بیتهای Host
مثلاً در /24:
- 24 بیت برای Network
- 8 بیت برای Host
پس:
28−2=254 2^8 – 2 = 254 28−2=254
یعنی 254 آدرس قابل استفاده برای دستگاهها داریم.
چرا 2 تا کم میکنیم؟
- یکی برای Network Address
- یکی برای Broadcast Address
چند نمونه پرکاربرد
ماسک /24
content_copy text
255.255.255.0
- 8 بیت Host
- 254 Host قابل استفاده
ماسک /25
content_copy text
255.255.255.128
- 7 بیت Host
- 126 Host قابل استفاده
ماسک /26
content_copy text
255.255.255.192
- 6 بیت Host
- 62 Host قابل استفاده
ماسک /27
content_copy text
255.255.255.224
- 5 بیت Host
- 30 Host قابل استفاده
اینها همان جاهایی هستند که Subnetting کمکم از یک مفهوم تئوری به یک ابزار عملی تبدیل میشود.
چرا Subnetting مهم است؟
Subnetting یعنی تقسیم یک شبکه بزرگ به چند زیرشبکه کوچکتر.
این کار مزایای زیادی دارد:
- مدیریت بهتر آدرسها
- کاهش Broadcast
- افزایش نظم در طراحی شبکه
- بهبود امنیت و کنترل دسترسی
- سادهتر شدن Troubleshooting
به زبان ساده، Subnetting کمک میکند شبکه را از یک فضای شلوغ و بیساختار، به بخشهای منطقی و قابلمدیریت تبدیل کنیم.
جمعبندی مفهومی
اگر بخواهم همه این مقاله را در چند جمله خلاصه کنم:
- IPv4 روش آدرسدهی دستگاهها در شبکه است
- هر IP از بخش شبکه و بخش میزبان تشکیل میشود
- Subnet Mask مشخص میکند مرز این دو بخش کجاست
- Public IP برای اینترنت است
- Private IP برای شبکههای داخلی است
- کلاسهای IP برای درک پایه مفیدند، اما طراحی مدرن بیشتر بر پایه CIDR و Subnetting است
- بزرگترین سوءتفاهم دانشجویان معمولاً در فهم Subnet Mask است، نه در حفظ کردن خود IP
نتیجهگیری
برای یک دانشجوی تازهکار شبکه، یادگیری IP فقط حفظ کردن چند عدد و بازه نیست.
نقطهای که واقعاً فهم شبکه از آن شروع میشود، جایی است که فرد متوجه میشود IP بهتنهایی کافی نیست و Subnet Mask تعیین میکند دستگاهها چطور همدیگر را میبینند.
به نظر من، اگر کسی Subnet Mask را درست و مفهومی بفهمد، بسیاری از مباحث بعدی شبکه—از Routing گرفته تا VLAN و طراحی شبکه—برای او بسیار روشنتر میشوند.
همانطور که در شرکت آراسامانه نیز بر آموزش مفهومی و کاربردی شبکه تأکید میشود، یادگیری اصولی مباحث پایه میتواند مسیر ورود به دنیای حرفهای شبکه و زیرساخت را بسیار هموارتر کند. مصطفی پورآقایی، مدیرعامل آراسامانه، معتقد است تسلط بر مفاهیم بنیادینی مانند IPv4، آدرسدهی و Subnetting، زیربنای موفقیت در طراحی، پیادهسازی و مدیریت شبکههای مدرن است.
به همین دلیل، همیشه ارزش دارد که این بخش را نه با عجله، بلکه با مثال، تمرین و تحلیل سناریوها یاد بگیریم.



