آدرسدهی IPv4 — IPv4 Addressing
🎯 اهداف یادگیری
در پایان این درس، دانشجو میتواند:
- سیستم عددی دودویی (Binary) را درک کند
- ساختار یک آدرس IPv4 را توضیح دهد
- تفاوت بخش Network و بخش Host در آدرس IP را بیان کند
- Subnet Mask را تعریف کند
- بین آدرس خصوصی و عمومی تمایز قائل شود
- یک آدرس IP معتبر از نامعتبر تشخیص دهد
پیشنیاز: درس ۰۴ — مدل TCP/IP
۱. مقدمه
هر دستگاهی که به شبکه متصل میشود نیاز به یک آدرس دارد — دقیقاً مثل اینکه هر خانهای برای دریافت نامه به یک آدرس پستی نیاز دارد.
در شبکههای کامپیوتری، این آدرس IP Address نام دارد. بدون آدرس IP، دادهها نمیدانند به کجا بروند.
آدرسدهی IPv4 پایهایترین و مهمترین مفهوم در شبکه است. اگر این درس را خوب یاد بگیرید، بسیاری از دروس بعدی برایتان آسانتر خواهد بود.
۲. مقدمهای بر عدد دودویی
کامپیوترها با زبان دودویی (Binary) کار میکنند — یعنی فقط دو عدد: ۰ و ۱. هر کدام از اینها یک بیت (Bit) نامیده میشود.
سیستم دهدهی (Decimal) vs. دودویی (Binary)
در سیستم دهدهی، هر رقم میتواند ۰ تا ۹ باشد:
255 = 2×100 + 5×10 + 5×1
در سیستم دودویی، هر رقم فقط ۰ یا ۱ است و ارزش هر رقم دو برابر رقم قبلی است:
11111111 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
جدول ارزش بیتها (۸ بیت)
بیت: 7 6 5 4 3 2 1 0
ارزش: 128 64 32 16 8 4 2 1
مثال: عدد دودویی 11000000 برابر است با:
128 + 64 = 192
مثال: عدد دودویی 10101000 برابر است با:
128 + 32 + 8 = 168
تمرین سریع: عدد دودویی
192.168.1.1به دودویی تبدیل کنید:
- 192 =
11000000- 168 =
10101000- 1 =
00000001- 1 =
00000001
۳. ساختار آدرس IPv4
یک آدرس IPv4 شامل ۳۲ بیت است که به ۴ بخش ۸ بیتی (Octet) تقسیم میشود.
هر بخش ۸ بیتی میتواند مقداری بین ۰ تا ۲۵۵ داشته باشد.
نمایش نقطهای (Dotted Decimal)
آدرس IPv4 بهصورت چهار عدد جداشده با نقطه نوشته میشود:
192.168.1.1
هر عدد نشاندهنده یک Octet (۸ بیت) است:
192 . 168 . 1 . 1
──────── ──────── ──────── ────────
11000000 . 10101000 . 00000001 . 00000001
۳۲ بیت کل = ۴ آکتت
محدوده مقادیر
- هر آکتت: ۰ تا ۲۵۵ (چون ۲⁸ = ۲۵۶ مقدار)
- حداقل آدرس: 0.0.0.0
- حداکثر آدرس: 255.255.255.255
۴. بخش Network و بخش Host
هر آدرس IP از دو بخش تشکیل شده:
192.168.1 . 1
────────── ──
بخش بخش
Network Host
بخش Network (شبکه)
مشخص میکند دستگاه به کدام شبکه تعلق دارد. مثل نام خیابان در آدرس پستی.
بخش Host (میزبان)
مشخص میکند دستگاه کدام دستگاه در آن شبکه است. مثل شماره خانه در آدرس پستی.
مثال
شبکه A: شبکه B:
192.168.1.0 10.0.0.0
├── 192.168.1.1 (PC1) ├── 10.0.0.1 (PC3)
├── 192.168.1.2 (PC2) └── 10.0.0.2 (PC4)
└── 192.168.1.3 (Router)
دستگاههای 192.168.1.1 و 192.168.1.2 در یک شبکه هستند (بخش شبکه یکسان). دستگاههای 192.168.1.1 و 10.0.0.1 در شبکههای مختلف هستند.
۵. Subnet Mask چیست؟
سوال مهم: از کجا بدانیم کدام بخش آدرس IP مربوط به شبکه و کدام مربوط به Host است؟
جواب: Subnet Mask
ساختار Subnet Mask
Subnet Mask هم مانند آدرس IP یک عدد ۳۲ بیتی است:
- بیتهای ۱ نشاندهنده بخش Network هستند
- بیتهای ۰ نشاندهنده بخش Host هستند
مثال:
آدرس IP: 192.168.1.100
─────────────────
Subnet Mask: 255.255.255.0
11111111.11111111.11111111.00000000
NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
- ۲۴ بیت اول (۱) = بخش Network
- ۸ بیت آخر (۰) = بخش Host
نتیجه:
- بخش شبکه: 192.168.1
- بخش Host: 100
- تعداد آدرسهای قابل استفاده: ۲⁸ - ۲ = ۲۵۴ دستگاه
چرا - ۲؟ چون همیشه دو آدرس رزرو شدهاند:
- آدرس شبکه (همه Hostها صفر) = 192.168.1.0
- آدرس Broadcast (همه Hostها یک) = 192.168.1.255
۶. نمایش CIDR
بهجای نوشتن Subnet Mask کامل (مثلاً 255.255.255.0)، از نمایش CIDR استفاده میشود:
192.168.1.0/24
──
تعداد بیتهای Network (Subnet Mask)
مثالها:
| CIDR | Subnet Mask | بیتهای Network | تعداد Host |
|---|---|---|---|
| /8 | 255.0.0.0 | ۸ | ۱۶,۷۷۷,۲۱۴ |
| /16 | 255.255.0.0 | ۱۶ | ۶۵,۵۳۴ |
| /24 | 255.255.255.0 | ۲۴ | ۲۵۴ |
| /30 | 255.255.255.252 | ۳۰ | ۲ |
فرمول: تعداد Host = 2^(بیتهای Host) - 2
۷. آدرسدهی خصوصی و عمومی
آدرس Public (عمومی)
آدرسی است که در اینترنت قابل مسیریابی است. هر دستگاه متصل به اینترنت باید یک آدرس Public منحصربفرد داشته باشد.
آدرس Private (خصوصی)
آدرسهایی هستند که فقط در شبکه محلی قابل استفادهاند و در اینترنت مسیریابی نمیشوند. این آدرسها در RFC 1918 تعریف شدهاند:
| بازه | CIDR | تعداد آدرس |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | ۱۶,۷۷۷,۲۱۶ |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | ۱,۰۴۸,۵۷۶ |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | ۶۵,۵۳۶ |
مثال واقعی
وقتی گوشی شما به Wi-Fi خانه وصل میشود:
گوشی شما: 192.168.1.105 ← آدرس خصوصی
روتر خانه: 192.168.1.1 ← آدرس خصوصی (Gateway)
روتر شما: 85.214.132.117 ← آدرس عمومی (از ISP)
سرور Google: 142.250.185.78 ← آدرس عمومی
وقتی شما google.com را باز میکنید، روتر با استفاده از NAT آدرس خصوصی شما را به آدرس عمومی تبدیل میکند.
۸. آدرسهای خاص
| آدرس | توضیح |
|---|---|
| 0.0.0.0 | آدرس نامشخص — نشاندهنده "همه آدرسها" یا "بدون آدرس" |
| 127.0.0.1 | Loopback — تست خود سیستم (localhost) |
| 255.255.255.255 | Broadcast عمومی — ارسال به همه دستگاهها |
| 169.254.x.x | APIPA — آدرس خودکار وقتی DHCP پاسخ نمیدهد |
۹. بررسی اعتبار آدرس IP
آدرس IP معتبر باید شرایط زیر را داشته باشد:
- ۴ عدد جداشده با نقطه باشد
- هر عدد بین ۰ تا ۲۵۵ باشد
- هیچ حرف یا نماد غیر عددی نداشته باشد
| آدرس | معتبر؟ | دلیل |
|---|---|---|
| 192.168.1.1 | ✅ | همه اعداد 0-255 |
| 256.1.1.1 | ❌ | 256 > 255 |
| 192.168.1 | ❌ | فقط ۳ عدد |
| 192.168.1.1.1 | ❌ | ۵ عدد |
| 10.0.0.256 | ❌ | 256 > 255 |
| 192.168.1.1 | ✅ | صحیح |
۱۰. خلاصه
- آدرس IPv4 یک عدد ۳۲ بیتی است که به ۴ آکتت تقسیم میشود.
- هر آکتت مقداری بین ۰ تا ۲۵۵ دارد.
- هر آدرس IP از دو بخش تشکیل شده: Network و Host.
- Subnet Mask مشخص میکند کدام بخش Network و کدام Host است.
- نمایش CIDR (مثلاً /24) روش سادهتر نوشتن Subnet Mask است.
- آدرسهای خصوصی فقط در شبکه محلی قابل استفادهاند.
- آدرس 127.0.0.1 برای تست خود سیستم (Loopback) استفاده میشود.
🔬 مثال عملی
بررسی تنظیمات شبکه
در Windows:
ipconfig
در Linux:
ip addr
خروجی نمونه (Linux):
2: eth0: <BROADCAST,MULTICAST,UP>
inet 192.168.1.105/24 brd 192.168.1.255 scope global eth0
معنی خروجی:
- inet 192.168.1.105 ← آدرس IP
- /24 ← Subnet Mask معادل 255.255.255.0
- brd 192.168.1.255 ← آدرس Broadcast
- UP ← رابط شبکه فعال است
⚠️ خطاهای رایج
-
آدرس IP تکراری: هر دستگاه در یک شبکه باید آدرس IP منحصربفرد داشته باشد. اگر دو دستگاه آدرس یکسانی داشته باشند، تداخل ایجاد میشود.
-
تایپ نادرست Subnet Mask: Subnet Mask باید از چپ به راست ۱ باشد و بعد ۰. مثلاً 255.255.0.255 معتبر نیست.
-
استفاده از آدرس خصوصی در اینترنت: آدرسهای خصوصی در اینترنت مسیریابی نمیشوند. برای دسترسی به اینترنت نیاز به آدرس Public دارید.
❓ سوالات مرور
- آدرس IPv4 چند بیت است؟
- عدد دودویی
11000000معادل کدام عدد دهدهی است؟ - تفاوت بخش Network و بخش Host را توضیح دهید.
- آدرس IP
192.168.1.0/24چند دستگاه میتواند در شبکه داشته باشد؟ - چرا آدرسهای انتهایی و ابتدایی هر شبکه قابل استفاده نیستند؟
- چرا آدرس 127.0.0.1 مهم است؟
- آدرس IP زیر معتبر است؟
172.32.1.1
📚 اصطلاحات مهم
| English | فارسی | توضیح |
|---|---|---|
| IPv4 (Internet Protocol version 4) | پروتکل اینترنت نسخه ۴ | آدرسدهی ۳۲ بیتی |
| IP Address | آدرس IP | شناسه یکتای دستگاه در شبکه |
| Octet | آکتت | بخش ۸ بیتی از آدرس IP |
| Subnet Mask | ماسک زیرشبکه | جداکننده بخش Network و Host |
| CIDR (Classless Inter-Domain Routing) | مسیریابی بدون کلاس | نمایش /N برای Subnet Mask |
| Network Address | آدرس شبکه | آدرس ابتدایی هر شبکه (Host صفر) |
| Broadcast Address | آدرس پخش | آدرس انتهایی شبکه (Host یک) |
| Private Address | آدرس خصوصی | آدرس غیرقابل مسیریابی در اینترنت |
| Public Address | آدرس عمومی | آدرس قابل مسیریابی در اینترنت |
| Loopback | حلقه بازگشت | آدرس 127.0.0.1 برای تست خود سیستم |
| Default Gateway | دروازه پیشفرض | روتری که ترافیک خارج از شبکه را هدایت میکند |
🔗 منابع
- RFC 791 — Internet Protocol (IPv4)
- RFC 1918 — Address Allocation for Private Internets
- RFC 4632 — Classless Inter-Domain Routing (CIDR)
- RFC 3927 — Dynamic Configuration of IPv4 Link-Local Addresses (APIPA)
درس بعدی: Subnetting — تقسیم شبکه به زیرشبکهها