IP Address در حقیقت همان Internet Protocol Address ، یک شماره منحصر به فرد در شبکه برای هر نود می باشد که کلیه ارتباطات از طریق این شماره در شبکه انجام گرفته و از دو بخش Net ID)Network Identifier) و (Host Identifier (Host ID تشکیل شده.
این آدرس برای اولین بار در سال ۱۹۸۳ بکار برده شد و بعدها با توجه به گستردگی این آدرس پایه اینترنت بنا نهاده شد.
در نظر داشته باشید که کلیه ارتباطات سرورها با نودها از طریق IP ADDRESS بوده و هم چنین تنها آدرسی که ادمین در شبکه در دسترس دارد ، IP Address می باشد.به لحاظ مدیریتی بسیار مهم است که شما در IP Address تسلط کامل داشته باشید ، بدانید از چه رنجی و به چه صورتی باید این تقسیم بندی را انجام دهید. در این مقاله سعی کردم روش بدست آوردن شبکه مناسب را توضیح دهم.
این آدرس در لایه ۳ از پروتکل TCP/IP تعریف شده که به لایه Network یا Internet شناخته می شود.هم چنین کلیه امور مربوط به Routing یا مسیریابی و ARP نیز در همین لایه انجام می شود.

IP Address ورژن:
این آدرس با ورژن ۴ به بهره برداری رسید ، اما در آینده با گسترش اینترنت و بحث اینترنت اشیا ، ای آدرس کاستی های خود را نشان داد و سریعا IP Address ورژن ۶ اختراع گردید. با این حال هنوز هم IP ورژن ۴ جوابگوی نیازها ست و مشکلی حس نشده.
IPv4 addresses:
آی پی آدرس ورژن ۴ یک آدرس ۳۲ بیتی به اندازه ۴،۲۹۴،۹۶۷،۲۹۶ (۲۳۲) ، که البته تعدادی نیز رزرو شده و در اینترنت استفاده نشده . از جمله آدرس های شبکه های خصوصی یا Private Addresses که حدود ۱۸ میلیون آدرس و یا مالتی کست (MultiCast) که حدود ۲۷۰میلیون آدرس هستند.
آی پی آدرس ورژن ۴ به دو صورت تقسیم بندی می شود :
- ClassFull
- Classless
در این مقاله ما فقط به بحث و یادگیری Classfull می پردازیم.
ClassFull IP Addresses
یک آدرس ۳۲ بیتی که به صورت Doted-Decimal یا پایه ۱۰ در ۴ قسمت که با نقطه از هم جدا می شوند نوشته می شود ، البته که کامپیوتر این آدرس را در هر صورت به باینری یا پایه ۲ تبدیل می کند.
با این حساب این آدرس ۳۲ بیتی به ۴ قسمت ۸ بیتی تبدیل شده و به هر قسمت یک اکتت Octet ، به معنای ۸تایی گفته می شود و ازسمت چپ به اکتت اول ، تا چهارم شناخته می شود.

در ابتدا بایستی بدانیم ابتدا و انتها در اکتت چه مقدار است و برای این منظور یک اکتت را با هم حساب می کنیم.
یک اکتت از ۸ بیت تشکیل شده که در حداقل مقدار هشت صفراست ۰۰۰۰ ۰۰۰۰ ومقدار دسیمال آن هم صفر است،و در حداکثر مقدار هشت عدد یک ۱۱۱۱ ۱۱۱۱ ، که اگ مقدار دسیمال آن را حساب کنیم ، معادل ۲۵۵ می شود .یعنی هر اکتت ار صفر است تا ۲۵۵ که بازه آن ۲۵۶ عدد است .
۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۲۵۵= ۱ + ۲ + ۴ + ۸ + ۱۶+ ۳۲ + ۶۴ + ۱۲۸
(۲۰*۱)+ (۲۱*۱)+ (۲۲*۱)+ (۲۳*۱)+ (۲۴*۱)+ (۲۵*۱)+ (۲۶*۱)+ (۲۷*۱)
به همین صورت اگر عددی در بین این بازه باشد نیز محاسبه می گردد.
۱ ۱ ۰ ۰ ۰ ۰ ۱ ۱
(۲۰*۱)+ (۲۱*۱)+ (۲۲*۰)+ (۲۳*۰)+ (۲۴*۰)+ (۲۵*۰)+ (۲۶*۱)+ (۲۷*۱) : ۱۹۵

Class-ID
اگر IP Address را به صورت W.X.Y.Z تصور کنیم ، w نماینده Class ID می شود ، در واقع همان اکتت اول نماینده کلاس IP ، در آدرس می باشد، بدون توجه به اکتت های بعدی. برای نمونه اگر اکتت اول ۱۰ ، یعنی w را ۱۰ قرار دهیم ، این آدرس در کلاس A قرار می گیرد .
اگر IP برابر با ۱۰.۲۳۹٫۴۶٫۵۵ ، این آی پی در کلاس A (اکتت های بعدی در کلاس در نظر گرفته نمی شوند)
تقسیم بندی به صورت زیر است:
Class A: ۱≤w≤۱۲۶
Class B: ۱۲۸≤w≤۱۹۱
Class C: ۱۹۲≤w≤۲۲۳
Class D: ۲۲۴≤w≤۲۳۹
Class E: ۲۴۰≤w≤۲۵۵
اما از کلاس های بالا A,B,C در اختیار ما و در اینترنت کاربرد دارد ، دو کلاس D,E در شبکه و اینترنت قابل استفاده نیستند. پرا که کلاس D مربوط به Multicast و کلاس E مربوط به سازمان توزیع IP Address یعنی (IANA(Internet Assigned Numbers Authority .
یک آدرس از دو قسمت تشکیل شده: IP=Net-ID+Host-ID
Net-ID و Host-ID
قسمتی از IP Address که در همه نودها مشترک بوده و باعث می شود همه نودها در یک شبکه قرار گرفته ، بتوانند با یکدیگر در ارتباط باشندرا Net-ID می نامند.
IP Address مانند یک کد پستی عمل میکند ، به این صورت که اگر برای مثال، کد پستی خانه شما ۵۲۳۳۱-۸۹۴۱۶ باشد ، همه خانه هایی که در منطقه شما قرار دارند در قسمت ………-۸۹۴۱۶ با خانه شما مشترکند . این در واقع نشان دهنده همه خانه هایی است که در این محله ساخته شده اند ، اما ۵ رقم دوم به صورت منحصر بفرد است و در منطقه تکرار نشده و همین امر باعث می شود چیزی به نام Conflict وجود نداشته باشد و ۵ رقم دوم برای خانه ما همان Host-ID است که در یک شبکه منحصر بفرد و تکرار نشدنی است.
اما چگونه این دو بخش را از هم جدا کنیم؟؟
Subnet Mask
یک تعریف ساده برای Subnet Mask : جدا کننده مرز بین Net-ID از Host-ID
این عبارت در هر کلاس متفاوت است:
Class A: 255.0.0.0
Class B: 255.255.0.0
Class C: 255.255.255.0
و خوب طبعا دو کلاس دیگر ، از این عبارت استفاده نمی کنند.

و اما کاربرد این عبارت:
اگر Subnet Mask را در IP Address ضرب منطقی کنیم ، یعنی بیت در بیت ضرب کنیم ، عدد حاصل همان Net-ID یا قسمت مشترک در همه کامپیوتر ها خواهد بود.
اگر آدرس ۹۵٫۲۵٫۶۴٫۲۵۰ را در نظر بگیریم ، کامپیوتر ای ن این آدرس را باینری کرده و در باینری Subnet Mask کلاس A ، ضرب میکند.
۲۵۰ ۶۴ ۲۵ ۹۵
۰۱۰۱۱۱۱۱٫۰۰۰۱۱۰۰۱٫۰۱۰۰۰۰۰۰٫۱۱۱۱۱۰۱۰
۱۱۱۱۱۱۱۱٫۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰
——————————————————
۰۱۰۱۱۱۱۱٫۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰
۹۵٫۰٫۰٫۰ برابر با Net-ID
پس هر نودی که می خواهد در این شبکه قرار گیرد باید اکتت اول خود را ۹۵ قرار داده و اکتت های دوم ،سوم و چهارم در این رنج Host-ID اند.
همانطور که در Subnet Mask می بینید ، این عبارت از یک های پشت سر هم از سمت چپ و به دنبال آن ۰ های پشت سر هم به سمت راست پر شده
۱۱۱۱۱۱۱۱٫۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰ : ۲۵۵٫۰٫۰٫۰
و وقتی ضرب منطقی این عبارت در آی پی آدرس انجام می شود هر جا یک های پشت سر هم هستند ، همان اکتت به پایین آمده و Net-ID را تشکیل می دهد.
۰۱۰۱۱۱۱۱.۰۰۰۱۱۰۰۱٫۰۱۰۰۰۰۰۰٫۱۱۱۱۱۰۱۰
۱۱۱۱۱۱۱۱.۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰
——————————————————
۰۱۰۱۱۱۱۱.۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰٫۰۰۰۰۰۰۰۰
بر این اساس می توان گفت :
عبارت Subnet Mask تشکیل شده از یک های پشت سر هم از سمت چپ که نماینده Net-ID و صفر های پشت سر هم به سمت راست ، که نماینده Host-ID می باشد.
بدین صورت اگر IP : ۱۲۸٫۲۵۰٫۳۳٫۶۹ به شما داده شود ، در ابتدا کلاس آدرس را تشخیص دهید و بعد subnet mask را طبق قانون گفته شده پیدا کنید و سپس ضرب منطقی IP * SubnetMask = Net-ID
۱- Class: B
۲- ۲۵۵٫۲۵۵٫۰٫۰ :Subnet Mask
۳- ۱۲۸٫۲۵۰٫۰٫۰ :Net-ID

جدول Class-Full

تعداد Net-ID در هر کلاس و تعداد Host-ID nدر هر رنج شبکه
خوب با توجه به Subnet Mask در کلاس A و هم چنین تعریف آخر این عبارت به این نتیجه میرسیم که ۲۵۵٫۰٫۰٫۰ ، که ۸ بیت اول آن نماینده Net-ID است ، می تواند تعداد شبکه های موجود در کلاس A را مشخص نماید، به این صورت که ، به دلیل وجود ۸ بیت یک ، در
Subnet Mask ، تعداد شبکه های موجود ۲۵۶ عدد است (۲۵۶=۲۸) . در اینجا باید در نظر داشته باشیم که اکتت اول دارای محدودیت است و در کلاس A، اکتت اول از ۱تا ۱۲۶ می باشد. در نتیجه تعداد شبکه در کلاس A برابر ۱۲۶ عدد است.
۲۵۵٫۰٫۰٫۰ ۱٫۰٫۰٫۰
۲۵۵٫۰٫۰٫۰ ۲٫۰٫۰٫۰
۲۵۵٫۰٫۰٫۰ ۳٫۰٫۰٫۰٫۰
.
.
.
۲۵۵٫۰٫۰٫۰ ۱۲۶٫۰٫۰٫۰
تعداد نودها در هر شبکه نیز به تعداد صفرها در Subnet Mask بستگی دارد که در این کلاس بربر ۲۴ عد صفر و تعداد Host در هر شبکه برابر (۲-۲۲۴ ) می شود .چیزی حدود ۱۶ میلیون آدرس در هر شبکه ، که عددی است غیر منطقی. و اما (۲-) در عبارت ،به دو قانون باز می گردد:
۱- تمام بیت های Host-ID نمی تواند صفر باشد ، چرا که برابر Net-ID می شود . مانند: ۱٫۰٫۰٫۰ را نمی توان به یک نود اختصاص داد ، چرا که خودش شناسه شبکه است.
۲- تمام بیت های Host-ID نمی تواند یک باشد ، چرا که برابر آدرس BroadCast در آن شبکه می شود . مانند: ۱٫۲۵۵٫۲۵۵٫۲۵۵ را نمی توان به یک نود اختصاص داد ، چرا که خودش شناسه ارسال به همه در آن شبکه است.
به همین ترتیب تعداد Net-ID و Host-ID در کلاسهای B,C محاسبه می شود.
Class B
۱۶بیت اول یک و ۱۶ بیت دوم صفر ، اما بایستی محدوده اکتت اول را در نظر گرفت ۲۵۵٫۲۵۵٫۰٫۰
محاسبه Net-ID
۱۲۸-۱۹۲=۶۴یا همان ۲۶ ، اکتت دوم محدودیت ندارد ، خودش نوشته می شود ۲۸
۲۶.۲۸=۲۱۴ حدودا ۱۴۰۰۰ شبکه
محاسبه Host-ID
۲۸.۲۸=۲۱۶ – ۲ که دقیقا می شود ۶۵۵۳۴ آدرس در هر شبکه
Class C
۲۴بیت اول یک و ۸ بیت آخر صفر ، اما بایستی محدوده اکتت اول را در نظر گرفت ۲۵۵٫۲۵۵٫۲۵۵٫۰
محاسبه Net-ID
۱۹۲-۲۲۴=۳۲ یا همان ۲۵ ، اکتت دوم و سوم محدودیت ندارد ، خودش نوشته می شود ۲۸
۲۵.۲۸.۲۸=۲۲۱ حدودا ۲،۰۰۰،۰۰۰ شبکه
محاسبه Host-ID
۲۵۴=۲۸ – ۲
این بحث را در مقاله (چگونه IP Address تنظیم کنیم ؟) ادامه میدهیم.