قبل از این مقاله بهتره “پیکربندی اولیه سوئیچ در شبکههای سیسکو” رو مطالعه کنید، در این پست، به بررسی ساختار آدرسهای IPv4، کلاسهای آدرس و تفاوت بین آدرسهای عمومی (Public) و خصوصی (Private) پرداخته میشود. همچنین، مفاهیم سابنتینگ (Subnetting) بررسی خواهد شد. توانایی سابنتینگ سریع و دقیق یک مهارت ضروری است. به عنوان مثال، اگر یک شبکه /16 در اختیار داشته باشید و بخواهید بیشترین تعداد زیربخش (Subnet) ممکن را ایجاد کنید، در حالی که بزرگترین زیربخش حداقل 500 هاست داشته باشد، پاسخ 255.255.254.0 یا /23 خواهد بود. این مقدار 128 زیربخش با 510 هاست قابل استفاده در هر زیربخش ایجاد میکند. همپین در این بخش، به تکنیکهای ماسکهای سابنت متغیر (VLSM) نیز پرداخته خواهد شد.
با اینکه IPv6 در حال جایگزینی با IPv4 است، اما همچنان بسیاری از شبکهها از IPv4 استفاده میکنند، به خصوص در شبکههای خصوصی که مهاجرت به IPv6 زمانبر خواهد بود.
فرمت هدر IPv4
هر بستهی IP شامل یک هدر IPv4 است که شامل اطلاعات زیر است:
فیلد | توضیح |
---|---|
Version | مشخصکننده نسخه پروتکل IP (در اینجا مقدار 4 است). |
Header Length | طول هدر IP را مشخص میکند. |
Type of Service (ToS) | اولویتبندی بسته در شبکه. |
Total Length | اندازه کل بسته (هدر + داده). |
Identification | شناسهای برای شناسایی قطعههای یک بسته. |
Flags | کنترل نحوهی تقسیم بستهها. |
Fragment Offset | نشان میدهد که این قطعه متعلق به کدام بخش از داده اصلی است. |
Time To Live (TTL) | تعداد هاپهایی که بسته میتواند عبور کند. |
Protocol | پروتکل لایه حمل (TCP، UDP و غیره). |
Header Checksum | بررسی صحت هدر بسته. |
Source IP Address | آدرس IP فرستنده. |
Destination IP Address | آدرس IP گیرنده. |
IP Options | گزینههای اضافی (در صورت نیاز). |
Data | داده اصلی بسته. |
کلاسهای آدرس IPv4 (Classes of Addresses)
آدرسدهی در IPv4 بر اساس کلاسبندی انجام شده است. این کلاسها شامل A، B، C، D و E هستند:
- کلاس A → برای شبکههای بسیار بزرگ
- کلاس B → برای شبکههای متوسط
- کلاس C → برای شبکههای کوچک
- کلاس D → برای چندپخشی (Multicasting)
- کلاس E → رزرو شده برای تحقیقات
جدول کلاسهای آدرس IPv4
هدف ماسک سابنت (Purpose of the Subnet Mask)
ماسک سابنت، مرز بین بخش شبکه و هاست را در یک آدرس IP مشخص میکند.
- ماسک سابنت شامل مجموعهای از 1ها و سپس 0ها است.
- اندازه ماسک، تعداد بیتهای مربوط به بخش شبکه را تعیین میکند.
- از عملگر AND بین آدرس IP و ماسک سابنت استفاده میشود تا آدرس شبکه مشخص شود.
مثال: AND بین آدرس IP و ماسک سابنت
آدرس | باینری (32 بیت) |
---|---|
آدرس: 192.168.1.51 | 11000000.10101000.00000001.00110011 |
سابنت ماسک: 255.255.255.0 | 11111111.11111111.11111111.00000000 |
آدرس شبکه: 192.168.1.0 | 11000000.10101000.00000001.00000000 |
جدول مقادیر ماسک سابنت
ماسک (Decimal) | ماسک (Binary) | تعداد بیتهای شبکه | تعداد بیتهای هاست |
---|---|---|---|
0 | 00000000 |
0 | 8 |
128 | 10000000 |
1 | 7 |
192 | 11000000 |
2 | 6 |
224 | 11100000 |
3 | 5 |
240 | 11110000 |
4 | 4 |
248 | 11111000 |
5 | 3 |
252 | 11111100 |
6 | 2 |
254 | 11111110 |
7 | 1 |
255 | 11111111 |
8 | 0 |
آدرسدهی خصوصی و عمومی در IPv4 (Private and Public IP Addressing)
RFC 1918 تحت عنوان “Address Allocation for Private Internets”، محدودههای خاصی از آدرسهای IPv4 خصوصی (Private) را برای استفاده در شبکههای داخلی رزرو کرده است. این آدرسها در اینترنت عمومی قابل مسیریابی (Routable) نیستند و فقط در شبکههای محلی (LANs) به کار میروند.
محدوده آدرسهای خصوصی IPv4
کلاس | محدوده آدرس (CIDR) | محدوده اعشاری (Decimal Range) |
---|---|---|
Class A | 10.0.0.0/8 |
10.0.0.0 – 10.255.255.255 |
Class B | 172.16.0.0/12 |
172.16.0.0 – 172.31.255.255 |
Class C | 192.168.0.0/16 |
192.168.0.0 – 192.168.255.255 |
آدرسهای عمومی (Public) آدرسهایی هستند که در اینترنت استفاده شده و از طریق پروتکل NAT قابل ترجمه به آدرسهای خصوصی هستند.
NAT به سازمانها اجازه میدهد با استفاده از آدرسهای خصوصی، تنها تعداد محدودی آدرس عمومی داشته باشند.
سابنتینگ در چهار مرحله (Subnetting in Four Steps)
مراحل سابنتینگ
- تعیین تعداد بیتهایی که باید قرض گرفته شوند (بر اساس تعداد مورد نیاز هاستها)
- محاسبه ماسک جدید سابنت
- تعیین مقدار سابنت مالتیپلایر
- لیست کردن زیربخشها، محدوده هاستها و آدرسهای Broadcast
مثال: سابنتینگ یک شبکه IPv4
فرض کنید که آدرس شبکه 192.168.1.0/24 در اختیار دارید و میخواهید بیشترین تعداد سابنت ممکن را ایجاد کنید، در حالی که هر سابنت حداقل 30 هاست داشته باشد.
مرحله 1: تعیین تعداد بیتهایی که باید قرض گرفته شوند
برای تعیین تعداد بیتهایی که باید قرض گرفته شوند:
- از 8 بیت هاست (در اکتت چهارم) شروع کنید.
- برای تأمین حداقل 30 هاست، فرمول زیر را استفاده کنید:
در نتیجه، باید 5 بیت را برای هاست باقی بگذاریم و 3 بیت را قرض بگیریم.
- تعداد زیربخشهای ایجاد شده:
پس میتوانیم 8 سابنت مجزا ایجاد کنیم.
جدول محاسبه سابنتها
شماره سابنت | آخرین اکتت باینری | آخرین اکتت اعشاری |
---|---|---|
0 | 00000000 |
.0 |
1 | 00100000 |
.32 |
2 | 01000000 |
.64 |
3 | 01100000 |
.96 |
4 | 10000000 |
.128 |
5 | 10100000 |
.160 |
6 | 11000000 |
.192 |
7 | 11100000 |
.224 |
مرحله 2: تعیین ماسک سابنت جدید
- ماسک اصلی شبکه:
255.255.255.0
(/24
) - با قرض گرفتن 3 بیت از اکتت چهارم، ماسک جدید /27 میشود:
255.255.255.224
مرحله 3: تعیین مقدار سابنت مالتیپلایر
- مقدار سابنت مالتیپلایر برابر است با 32 (بالاترین مقدار قابل تخصیص برای هر سابنت).
- روش محاسبه:
- روش 1:
256 - 224 = 32
- روش 2:
آخرین بیت 1 ماسک در باینری = 32
- روش 1:
مرحله 4: لیست کردن زیربخشها، محدوده هاستها و آدرسهای Broadcast
شماره سابنت | آدرس سابنت | محدوده هاست | آدرس Broadcast |
---|---|---|---|
0 | 192.168.1.0 |
192.168.1.1 – 192.168.1.30 |
192.168.1.31 |
1 | 192.168.1.32 |
192.168.1.33 – 192.168.1.62 |
192.168.1.63 |
2 | 192.168.1.64 |
192.168.1.65 – 192.168.1.94 |
192.168.1.95 |
3 | 192.168.1.96 |
192.168.1.97 – 192.168.1.126 |
192.168.1.127 |
4 | 192.168.1.128 |
192.168.1.129 – 192.168.1.158 |
192.168.1.159 |
5 | 192.168.1.160 |
192.168.1.161 – 192.168.1.190 |
192.168.1.191 |
6 | 192.168.1.192 |
192.168.1.193 – 192.168.1.222 |
192.168.1.223 |
7 | 192.168.1.224 |
192.168.1.225 – 192.168.1.254 |
192.168.1.255 |
مثالهای سابنتینگ (Subnetting Examples)
مثال 1: سابنتینگ آدرس 172.16.0.0/16 با حداقل 80 هاست در هر سابنت
مرحله 1: تعیین تعداد بیتهایی که باید قرض گرفته شوند
- آدرس اصلی /16 است، بنابراین 16 بیت برای بخش هاست باقی میماند.
- هر سابنت حداقل 80 هاست نیاز دارد، بنابراین برای تأمین 80 هاست از فرمول زیر استفاده میکنیم:
- 7 بیت برای هاست باقی میماند.
- 9 بیت را برای سابنت قرض میگیریم، که 2⁹ = 512 زیربخش ایجاد میکند.
مرحله 2: محاسبه ماسک جدید
- ماسک اصلی
/16
یا255.255.0.0
است. - 9 بیت از هاست گرفته شده، بنابراین ماسک جدید
/25
یا255.255.255.128
است.
مرحله 3: تعیین سابنت مالتیپلایر
- مقدار سابنت مالتیپلایر 128 است (
256 - 128 = 128
).
مرحله 4: لیست سابنتها و محدوده هاستها
شماره سابنت | آدرس سابنت | محدوده هاستها | آدرس Broadcast |
---|---|---|---|
0 | 172.16.0.0 |
172.16.0.1 – 172.16.0.126 |
172.16.0.127 |
1 | 172.16.0.128 |
172.16.0.129 – 172.16.0.254 |
172.16.0.255 |
2 | 172.16.1.0 |
172.16.1.1 – 172.16.1.126 |
172.16.1.127 |
مثال 2: سابنتینگ آدرس 172.16.0.0/16 با حداقل 80 سابنت
مرحله 1: تعیین تعداد بیتهایی که باید قرض گرفته شوند
- 16 بیت برای بخش هاست باقی میماند.
- حداقل 80 سابنت نیاز داریم، بنابراین 7 بیت را قرض میگیریم:
که بیش از 80 سابنت موردنیاز است.
- 9 بیت برای هاست باقی میماند، که مقدار 510 هاست در هر سابنت فراهم میکند.
مرحله 2: محاسبه ماسک جدید
- ماسک اصلی
/16
یا255.255.0.0
است. - 7 بیت از هاست گرفته شده، بنابراین ماسک جدید
/23
یا255.255.254.0
است.
مرحله 3: تعیین سابنت مالتیپلایر
- مقدار سابنت مالتیپلایر 2 است (
256 - 254 = 2
).
مرحله 4: لیست سابنتها و محدوده هاستها
شماره سابنت | آدرس سابنت | محدوده هاستها | آدرس Broadcast |
---|---|---|---|
0 | 172.16.0.0 |
172.16.0.1 – 172.16.1.254 |
172.16.1.255 |
1 | 172.16.2.0 |
172.16.2.1 – 172.16.3.254 |
172.16.3.255 |
2 | 172.16.4.0 |
172.16.4.1 – 172.16.5.254 |
172.16.5.255 |
مثال 3: سابنتینگ آدرس 172.16.10.0/23 با حداقل 60 هاست در هر سابنت
مرحله 1: تعیین تعداد بیتهایی که باید قرض گرفته شوند
- در اینجا 9 بیت برای هاست باقی میماند.
- برای تأمین حداقل 60 هاست در هر سابنت، فرمول:
- 6 بیت برای هاست باقی میگذاریم.
- 3 بیت را برای سابنت قرض میگیریم، که 2³ = 8 زیربخش ایجاد میکند.
مرحله 2: محاسبه ماسک جدید
- ماسک اصلی
/23
یا255.255.254.0
است. - 3 بیت از هاست گرفته شده، بنابراین ماسک جدید
/26
یا255.255.255.192
است.
مرحله 3: تعیین سابنت مالتیپلایر
- مقدار سابنت مالتیپلایر 64 است (
256 - 192 = 64
).
مرحله 4: لیست سابنتها و محدوده هاستها
شماره سابنت | آدرس سابنت | محدوده هاستها | آدرس Broadcast |
---|---|---|---|
0 | 172.16.10.0 |
172.16.10.1 – 172.16.10.62 |
172.16.10.63 |
1 | 172.16.10.64 |
172.16.10.65 – 172.16.10.126 |
172.16.10.127 |
2 | 172.16.10.128 |
172.16.10.129 – 172.16.10.190 |
172.16.10.191 |
مثال سابنتینگ با VLSM (VLSM Example Topology)
توپولوژی و فضای آدرسدهی
- فضای آدرسدهی:
172.30.4.0/22
- تعداد کل آدرسهای موجود: 1024 (2¹⁰)
- نیازهای شبکههای مختلف:
- LAN 1: 60 هاست
- LAN 2: 10 هاست
- LAN 3: 250 هاست
- LAN 4: 100 هاست
- WAN Link: 2 هاست
مرحله 1: تخصیص سابنت برای LAN 3 (250 هاست)
- حداقل بیتهای موردنیاز برای هاستها:
- 8 بیت را برای هاستها باقی میگذاریم.
- 2 بیت را برای سابنت قرض میگیریم.
- ماسک سابنت جدید:
/24
یا255.255.255.0
- مالتیپلایر: 1
- سابنتهای اختصاصیافته:
172.30.4.0/24
172.30.5.0/24
172.30.6.0/24
172.30.7.0/24
(یک سابنت برای LAN 3، باقیمانده برای سایر بخشها)
مرحله 2: تخصیص سابنت برای LAN 4 (100 هاست)
- حداقل بیتهای موردنیاز برای هاستها:
- 7 بیت برای هاستها باقی میگذاریم.
- 1 بیت را قرض میگیریم.
- ماسک سابنت جدید:
/25
یا255.255.255.128
- مالتیپلایر: 128
- سابنتهای اختصاصیافته:
172.30.5.0/25
172.30.5.128/25
مرحله 3: تخصیص سابنت برای LAN 1 (60 هاست)
- حداقل بیتهای موردنیاز برای هاستها:
- 6 بیت برای هاستها باقی میگذاریم.
- 2 بیت را قرض میگیریم.
- ماسک سابنت جدید:
/26
یا255.255.255.192
- مالتیپلایر: 64
- سابنتهای اختصاصیافته:
172.30.5.0/26
172.30.5.128/26
مرحله 4: تخصیص سابنت برای LAN 2 (10 هاست)
- حداقل بیتهای موردنیاز برای هاستها:
- 4 بیت برای هاستها باقی میگذاریم.
- 2 بیت را قرض میگیریم.
- ماسک سابنت جدید:
/28
یا255.255.255.240
- مالتیپلایر: 16
- سابنتهای اختصاصیافته:
172.30.5.192/28
172.30.5.208/28
172.30.5.224/28
172.30.5.240/28
مرحله 5: تخصیص سابنت برای WAN Link (2 هاست)
- حداقل بیتهای موردنیاز برای هاستها:
- 2 بیت برای هاستها باقی میگذاریم.
- 2 بیت را قرض میگیریم.
- ماسک سابنت جدید:
/30
یا255.255.255.252
- مالتیپلایر: 4
- سابنتهای اختصاصیافته:
172.30.5.208/30
(WAN Link)172.30.5.212/30
172.30.5.216/30
172.30.5.220/30