
راهنمای مطالعه:
توی مقاله قبلی راجع به IP ها به صورت کلی صحبت کردیم و یک سری اطلاعات اولیه و کلی داده شد. از این مقاله میخوام شروع کنم و براتون یک سری اطلاعات جزئیتر و کاربردیتر بگم.
امروز میخوام راجع به بخشهای تشکیل دهندهی IP های ورژن ۴ (از این به بعد مختصراً مینویسم IPv4) براتون صحبت کنم. مبحثی خیلی مهم که اساس ارتباط دستگاههای مختلف رو تحت شبکه فراهم کرد.
یک سناریوی خیلی ساده!
بریم سر اصل مطلب! یک سناریو ساده مثل شکل زیر رو در نظر بگیرید. فرض کنید شما میخواین ۴ تا کامپیوتر رو با استفاده از یک هاب یا سوییچ با هم شبکه کنین جوری که اینا بتونن با همدیگه ارتباط برقرار کنن.

مسلماْ برای این کار باید به کارت شبکشون IP داد. با فرض اینکه سیستمها ویندوزی باشن از مسیر زیر وارد Network Connections میشیم:
Open Run >> type: ncpa.cpl
اینجا معمولا شما دو تا کارت شبکه دارین یکی برای Ethernet و دومی برای Wifi. چون سناریو ما کابلی بود لذا Ethernet رو انتخاب کرده و از مسیر زیر وارد تنظیمات TCP/IP میشیم:
Right click on Ethernet >> choose Properties >> choose Internet Protocol Version 4 (TCP/IPv4)

همونطور که توی شکل براتون مشخص کردم دو تا باکس هست به نام های IP Address و Subnet Mask که باید پر بشه.
توی مقاله معرفی IP و دستهبندی اونها، گفته شد که هر IPv4 یک آدرس ۳۲ بیتی است که داخل یک شبکه اختصاصاً به یک host (یک کامپیوتر، موبایل، روتر و…) تعلق میگیرد. این آدرس شامل ۴ تا اوکتت (هر اوکتت شامل ۸ دیجیت باینری) است که با dot از هم جدا شده اند. اما برای اینکه کاربران بتوانند به راحتی با آن کار کنند (ملموستر باشد) به صورت ۴ تا عدد در مبنای ۱۰ نوشته میشوند:

اجزای تشکیل دهنده IP
قشنگی داستان از اینجا شروع میشه! توی شبکههای WAN (Wide Area Network) (مثل اینترنت) که شامل چندین شبکهی کوچکتر هستند روترهای موجود محل دقیق بستههای ارسالی به مقصد را نمیدانند. روترها فقط شبکهای که host به آن تعلق دارند را میشناسند و با استفاده از اطلاعاتی که داخل route table خود دارند بسته ها را به مقصد میرسانند. برای اینکه این اتفاق بیفتد لازم است که یک IP شامل دو بخش باشد. قسمت اول آن به عنوان آدرس شبکه (Network Address) و قسمت دوم آدرس میزبان (Host Address) خواهد بود. برای مثال اگر IP به صورت ۱۹۲٫۱۶۸٫۱۲۳٫۱۳۲ باشد آنگاه بخش ۱۹۲٫۱۶۸٫۱۲۳ آدرس شبکه و ۱۳۲ آدرس هاست خواهند بود. به بیانی بهتر:
Network Address: 192.168.123.0
Host Address: 0.0.0.132
حالا سوال اینجاست که هر IP ای به ما دادن سه تای اول رو میگیریم Network و آخری رو Host؟
خب قطعا جواب خیر است !!!
پس چجوره؟
باکس دومی که باید پر می کردیم یعنی آقای Subnet Mask تعیین میکنه.
Subnet Mask چیست؟
کاربرد subnet mask در اینه که پروتکل TCP/IP بتونه تشخیص بده که هر host متعلق به چه شبکهای هست! ملموس تر بخوام بگم، فرض کنین شما تو بخش فنی یه شرکت خفن دارین کار میکنین یعنی یک هاست هستین از network فنی! حالا اگه برین قسمت مالی همون شرکت اونجا هیشکی تحویلتون نمیگیره چون جنستون بهشون نمیخوره!! Network تون یکی نیست!
Subnet mask هم مثل IP یک آدرس ۳۲ بیتی هستش. مثلاً توی مثال بالا این آدرس برابر ۲۵۵٫۲۵۵٫۲۵۵٫۰ است. برای درک بهتر هر دو رو توی مبنای ۲ مینویسیم:
IP Address (192.168.123.132) – 11000000.10101000.01111011.10000100
Subnet Mask (255.255.255.0) – 11111111.11111111.11111111.00000000
با مقایسه دو تا آدرس بالا میشه گفت که ۱ ها داخل subnet mask نمایش دهنده بخش Network در IP و صفرها نمایش دهنده بخش host در IP خواهند بود. لذا داریم:
Network address (192.168.123.0) – 11000000.10101000.01111011.00000000
Host address (0.0.0.132) – 00000000.00000000.00000000.11111111
اینکه در مثال بالا subnet mask چجوری تعیین شد (چرا سه تا ۲۵۵ در نظر گرفتیم؟!) سوالی هست که توی مقاله بعدی که کلاسبندی IP هارو توضیح دادم به جوابش خواهید رسید. اما کسانی که عاشق مطالعه بیشتر هستن میتونن به سایت IANA مراجعه کنن. اونجا کلی اطلاعات مفید در این زمینه وجود داره…
راستی داشت یادم میرفت به Network address و Host address به ترتیب Net ID و Host ID هم میگن و بالعکس!