جلسه قبل راجع به کلاس بندی های IPv4 صحبت شد و فهمیدیم که ۵ کلاس مختلف دارن که از بین این ۵ کلاس ۳ تای اولی یعنی A و B و C برای ما بیشتر اهمیت دارند. همچنین تعداد تقریبی Network و  Hostهای هر شبکه رو هم گفتیم اماااا چیزی که نگفتیم اینه که این اعداد چجوری محاسبه شد؟تازه از اونجا میرسیم به مبحث شیرین Subnetting و از همه مهمتر اینکه classful و classless چیه و چه ربطی به این داستان داره؟

خب توی این مقاله قرار خیلی شیک مفهوم subnetting رو یاد بگیرید…. گفتم شیک چون قراره از این به بعد توی بعضی مقالات یک سری سوالات هم از همون مبحث ازتون پرسیده بشه (تحت عنوان چطور شد؟) که نسبتاً سادست. اولین نفری هم که توی کامنت ها به تمامی سوالات توی هر مقاله جواب درست بده یک کد تخفیف برای محصولات آموزشی جایزه میگیره!!

Classful IPv4-Class A:

توی این کلاس NetID دارای ۸ بیت و HostID دارای ۲۴ بیت است. نکته مهم در این کلاس IP این است که با ارزش ترین بیت اوکتت اول همیشه صفر است و ۷ بیت بعدی این اوکتت برای Network استفاده می شود.

آدرس کلاس A

 لذا برای تعداد شبکه ها داریم:

Number of Networks: 27-2=126

در این کلاس ۲ تا شبکه از تعداد کل باید کم بشه. (بگید چرا؟ شماره ۱).

0.0.0.0

127.x.y.z

لذا بازه IP در این کلاس به صورت زیر خواهد بود:

IP Range: 1.x.x.x – 126.x.x.x

Number of Hosts: 224 = 16,777,214

Classful IPv4-Class B:

توی این کلاس NetID دارای ۱۶ بیت و HostID دارای ۱۶ بیت است. به علاوه دو تا با ارزش ترین بیت اوکتت اول توی NetID همواره 10 است (بگید چرا؟ شماره ۲)

آدرس کلاس B

 لذا داریم:

Number of Networks: 214=16,384

Number of Hosts: 216 -2= 65,534

IP Range: 128.0.x.x – 191.255.x.x

Classful IPv4-Class C:

توی این کلاس NetID دارای ۲۴ بیت و HostID دارای ۸ بیت است. به علاوه سه تا با ارزش ترین بیت اوکتت اول توی NetID همواره 110 است.

آدرس کلاس C

 لذا داریم:

Number of Networks: 221=2,097,152

Number of Hosts: 28 -2= 256

IP Range: 192.0.0.x – 223.255.255.x

نکته: اگر دقت کرده باشین وقتی که خواستیم تعداد Host هر کلاس رو محاسبه کنیم ۲ تا ازش کم کردیم یا به عبارتی دیگر از تعداد IP ها دو تا کم شد. دلیل این کار اینه که:

تیک اولین IP هر شبکه معرف شبکه است و نمی توان از آن استفاده کرد.

تیک آخرین IP هر شبکه هم به عنوان broadcast رزرو شده است و نمی توان از آن استفاده کرد.

نکته: subnet Mask رو به اختصار به صورت عدد/  هم نشون میدن که توی اون عدد، تعداد یک های موجود توی subnet Mask است برای مثال برای یک IP کلاس C میشه اینجور نوشت:

  192.168.1.80/24

آدرس دهی Classful چه اشکالی دارد؟

با این روش آدرس دهی، میلیون ها آدرس از کلاس A و تعداد بسیار بالایی از آدرس های کلاس B بلا استفاده می شوند در حالی که تعداد آدرس های موجود توی کلاس C انقدر کمه که پاسخگوی نیاز بسیاری از سناریوهای شبکه ای نیست!! لذا آدرس دهی classful در سال ۱۹۹۳ میلادی با Classless Inter-Domain Routing (CIDR) یا همان آدرس دهی Classless جایگزین شد.

Subnetting چیست؟

بخوام خیلی ساده براتون بگم کار این نوع کلاس بندی (classless) در حقیقت شکوندن بلوک های بزرگ آدرس ها به بلوک های کوچکتر همجوار است به طوری که این بلوک ها هر کدوم برای یک شبکه کوچکتر استفاده می شوند. به این کار Subnetting می گویند.

برای مثال 192.168.1.1/28 رو در نظر بگیرید. توی کلاس C گفتیم که subnet mask برابر ۲۴ هست ولی اینجا برای این IP عدد ۲۸ است یعنی subnet mask آن برابر 255.255.255.240 خواهد بود. جهت یافتن تعداد Host ها در هر subnet از فرمول زیر استفاده می شود:

2(32 – given bits for mask) – 2

هیچی مثل حل یک مثال نیست! بریم یه مثال حل کنیم…

حل یک مثال آدرس دهی classless

فرض کنید شبکه زیر به شما داده شده است.

172.16.0.0/25

1) کلاس اون رو تعیین کنید

2) تعداد subnet های این این شبکه را تعیین کنید

3) تعداد Host ها به ازای هر subnet رو تعیین کنید

4) برای اولین Subnet، آدرس Subnet، اولین Host ID، آخرین Host ID و آدرس Broadcast  رو تعیین کنید

خب از قیافش معلومه که کلاس B است از طرفی دیگر در حالت Classful به صورت /16 خواهد بود. پس Classful نیست!

Number of Subnets: 2(25-16) = 29=512

Hosts per Subnet: 2(32-25) -2 = 27 – 2=126

First Subnet Block, Subnet address = 172.16.0.0

First Host ID = 172.16.0.1

Last Host ID = 172.16.0.126

Broadcast address = 172.16.0.127

2 دیدگاه برای "Subnetting چیست و چرا از آن استفاده می شود؟"

  • Sadegh 10 خرداد 1403 در 18:55

    بگید چرا؟ شماره ۱ برا اینکه net id ۱۲۷ برای loopback استفاده میشه همچنین 0 هم از ip های رزرو شده هست
    بگید چرا؟ شماره ۲ برای اینکه رنج ip های network کلاس B از ۱۲۸ که 10000000 تا حداکثر ۱۹۱ هست 10111111
    ممنون از مقاله مفیدتون به زبون ساده توضیح داده بودید

شما هم می‌توانید در مورد این مقاله نظر بدهید