پروتکل اینترنت نسخه ۴

نشانی دهی

هر آدرس IPv4 شامل 32 بیت می‌شود که از 4 بخش 8 بیتی تشکیل شده‌است.  در نتیجه فضای نشانی را به ۴٬۲۹۴٬۹۶۷٬۲۹۶ (۲۳۲) نشانی یکتای ممکن محدود می‌سازد. اما قسمتی از این نشانی‌ها برای مقاصد خاصی مانند شبکه‌های خصوصی (تقریباً ۱۸ میلیون نشانی) وچند پخشی(تقریباً ۲۷۰ میلیون نشانی) رزرو شده‌است و شمار نشانی‌های قابل استفاده برای مسیریابی روی شبکه عمومی اینترنت کمتر می‌شود. همچنانکه نشانی‌های بیشتری به کاربران تخصیص می‌یابد به اتمام آدرسهای IP نزدیک تر می‌شویم، هرچند که طراحی‌های مجدد ساختار نشانی دهی شبکه از راه شبکه‌های باکلاس(Classful network)، مسیریابی میان دامنه بدون کلاس(CIDR) و ترجمه نشانی شبکه (NAT) از عواملی هستند که این امر را به تعویق انداختند.
محدودیت IPv4 در شمار نشانی‌ها انگیزه‌ای برای ایجاد IPv6 شد که هنوز در مراحل اولیه به‌کارگیری قرار داردو تنها راه حل بلند مدت برای کمبود نشانی هاست.

نشانی دهی باکلاس(Classful Addressing)

درسیستم نشانی دهی اولیه یک نشانی آی پی  به دوقسمت تقسیم می‌شد، شناسه شبکه که توسط باارزش‌ترین هشت تایی (بالاترین مرتبه) نشانی مشخص می‌گردید و شناسه میزبان که توسط ۳ هشت تایی باقی‌مانده مشخص می‌گردید و از این رو به "فیلد باقیمانده" مشهور بود. این روش امکان نشانی دهی تا حداکثر ۲۵۶ شبکه را فراهم می‌کرد که به زودی معلوم شد که این تعداد ناکافی است.
برای غلبه بر این محدودیت، در سیستمی که بعدها به نام شبکه بندی باکلاس خوانده شد، باارزشترین هشت تایی در تعریفی جدید به کلاسهایی از شبکه‌ها تقسیم شد. این سیستم پنج کلاس نشانی تعریف می‌کند:A,B,C,D و E. کلاس‌های A,B,C تعداد بیتهای متفاوتی برای مشخص کردن شبکه دارندو باقی نشانی مانند قبل برای مشخص کردن یک میزبان درون شبکه به کار می‌رود. بدین ترتیب کلاس‌های شبکه ظرفیت‌های متفاوتی برای نشانی دهی به میزبان‌ها دارند. کلاس D برای نشانی‌های چندپخشی و کلاس E برای کاربردهای آینده رزرو شدند.
کلاس A: در این کلاس ۸ بیت اول آن netID و ۲۴ بیت آخر hostID است و بیت اول netID صفر است. در نتیجه از ۱ تا ۱۲۶ را در بر میگیرد.
کلاس B: در این کلاس ۱۶ بیت اول آن netID و ۱۶ بیت آخر hostID است و بیت اول netID یک و بیت دوم صفر است. در نتیجه از ۱۲۸ تا ۱۹۱ را در بر میگیرد.
کلاس C:  در این کلاس  ۲۴ بیت اول آن netID و ۸ بیت آخر hostID است و دو بیت netID آن یک و بیت سوم صفر است. در نتیجه از ۱۹۲ تا ۲۲۳ را در بر میگیرد.
کلاس D: در این کلاس سه بیت netID آن یک و بیت چهارم صفر است. در نتیجه از ۲۲۴ تا ۲۳۹ را در بر میگیرد.
کلاس E: در این کلاس چهار بیت netID آن یک است. در نتیجه از ۲۴۰ تا ۲۵۵ را در بر میگیرد.

زیرشبکه بندی

در سال ۱۹۸۵ زیرشبکه‌ها معرفی شدند که امکان تقسیم شبکه‌های باکلاس را ایجاد کرد.

پوشش زیرشبکه با طول متغیر(Variable Length Subnet Mask)

در سال ۱۹۸۷ پوشش زیرشبکه با طول متغیر(VLSM) معرفی شد که برای ایجاد زیر شبکه‌هایی با اندازه‌های متفاوت به کار می‌رود.

مسیریابی میان دامنه‌ای بدون کلاس(CIDR) و ابرشبکه بندی(Supernetting)

درحوالی سال ۱۹۹۳ مسیریابی میان دامنه بدون کلاس(Classless Inter-Domain Routing) معرفی شد. CIDR برای پیاده‌سازی ابرشبکه بندی به کار می‌رود. ابر شبکه بندی انبوهش مسیر را ممکن می‌سازد.
CIDR نشان‌گذاری پیشوندی را معرفی کرد که به نام نشان‌گذاری سی آی دی آر (CIDR) نیز شناخته می‌شود. این نشان‌گذاری اکنون در هر سه مورد نشانی دهی بدون کلاس به کار می‌رود: زیرشبکه بندی(subnetting)، پوشش زیرشبکه با طول متغیر(VLSM)و ابرشبکه بندی(supernetting).
CIDR جانشین سیستم ابتدایی کلاس‌های آی پی شد و سیستم قدیم به دلیل طراحی مبتنی بر کلاس، در مقابله با واژه (بدون کلاس)Classless به نام (باکلاس)classful خوانده شد.
مزیت اصلی استفاده از CIDR این است که می‌توان هر فضای نشانی را تقسیم نمود تا امکان تخصیص بلوک‌های کوچکتر یا بزرگتر به کاربران به وجود آید.
ساختار سلسله مراتبی CIDR تحت نظارت سازمان مرجع شماره‌های تخصیص داده شده(Internet Assigned Numbers Authority یا IANA) و دفاتر ثبت منطقه‌ای اینترنت(Regional Internet Registry یا RIR) تخصیص نشانی‌ها در جهان را مدیریت می‌کند. هر RIR یک پایگاه داده WHOIS دارد که برای جستجوی عموم در دسترس است و حاوی اطلاعات مربوط به تخصیص آی پی هاست. اطلاعات این پایگاه داده در بسیاری از ابزارهایی که مکان جغرافیایی یک نشانی آی پی را مشخص می‌کنند نقش مرکزی دارد.

شبکه خصوصی مجازی

بسته‌هایی که نشانی خصوصی داشته باشند، عمداً توسط مسیریاب‌ها نادیده گرفته می‌شوند. بنابراین برقراری ارتباط بین دو شبکه خصوصی  بدون داشتن امکانات اضافی امکانپذیر نیست. برای انجام این کار می‌توان از شبکه خصوصی مجازی(VPN) استفاده کرد.
VPNها یک تونل ارتباطی بین دوشبکه و از طریق شبکه عمومی درست می‌کنند که دو سر انتهایی آن به عنوان مسیریابهایی برای بسته‌های شبکه‌های خصوصی عمل می‌کنند. این مسیریاب‌ها بسته‌ای را که نشانی خصوصی دارد پوشش می‌دهند و سرآیندهایی  با نشانی قابل مسیر یابی در شبکه عمومی به بسته اضافه می‌کنند تا بتوانند آن را از راه شبکه عمومی به مسیریاب مقابل در انتهای دیگر تونل تحویل دهند و در آنجا سرآیندهای نشانی عمومی بسته حذف می‌شود و بسته اولیه به ماشین محلی مقصد تحویل داده می‌شود.
به صورت اختیاری می‌توان بسته‌های کپسول شده(پوشش داده شده) را برای حفظ امنیت داده درهنگام عبور از شبکه عمومی، رمزگذاری نمود.

نشانی دهی پیوند-محلی (Link-Local Addressing)

RFC 5735 یک بلوک نشانی - ۱۶۹٫۲۵۴٫۰٫۰/۱۶ - برای استفاده ویژه در نشانی دهی پیوند-محلی تعریف می‌کند. این نشانی‌ها تنها در پیوند(مثل یک قطعه شبکه محلی ویا ارتباط نقطه به نقطه) معتبر هستند. این نشانی‌ها قابل مسیر یابی نیستند و نمی‌توانند نشانی مبدأ یا مقصد بسته‌ای باشند که از اینترنت عبور می‌کند. نشانی‌های پیوند-محلی برای پیکربندی خودکار(Autoconfiguration) میزبانهایی که قادر نیستند از طریق DHCP یا تنظیمات داخلی خود، نشانی بگیرند.
وقتی که این بلوک نشانی رزرو شد، هیچ ساز وکار استانداردی برای  پیکربندی خودکارنشانی وجود نداشت. برای پر کردن این خلا مایکروسافت یک پیاده‌سازی از آن با عنوان نشانی دهی آی پی خصوصی خودکار(Automatic Private IP Addressing یا APIPA). به دلیل قدرت مایکروسافت در بازار، APIPA در میلیون‌ها ماشین به کار رفت و تبدیل به یک استاندارد عملی (غیر رسمی) شد. چندین سال بعد IETF یک استاندارد رسمی برای این کارکرد بانام پیکربندی پویای نشانی‌های آی پی پیوند-محلی به وجود آورد.(RFC 3927)

میزبان خانگی (Localhost)

دامنه نشانی ۱۲۷٫۰٫۰٫۱ تا ۱۲۷٫۲۵۵٫۲۵۵٫۲۵۵ (۱۲۷٫۰٫۰٫۱/۸) برای ارتباط میزبان خانگی نشانی‌های درون این دامنه هرگز خارج از رایانه میزبان ظاهر نمی‌شوند و بسته‌هایی که به این نشانی فرستاده شوند به همان دستگاه مجازی شبکه بازمی‌گردند.

نشانی‌هایی که به ۰ یا ۲۵۵ ختم می‌شوند

این تنهایک اشتباه عمومی است که گمان می‌رود هرگز نمی‌توان نشانی‌هایی که به ۰ یا ۲۵۵ ختم می‌شوند را به ماشینی تخصیص داد. این موضوع تنها در صورتی که پوشش زیرشبکه ۲۴ بیت یا بیشتر باشد صادق است. - شبکه‌های کلاس C یا مطابق نمادگذاری CIDR پوشش‌های زیرشبکه ۲۴/ تا ۳۲/ (۲۵۵٫۲۵۵٫۲۵۵٫۰ تا 255.255.255.255)
در نشانی دهی با کلاس تنها سه پوشش زیر شبکه(Subnet Mask) ممکن است: کلاس A - 255.0.0.0، کلاس B - 255.255.0.0 و کلاس C - 255.255.255.0 مثلاً در زیرشبک۱۹۲٫۱۶۸٫۵٫۰/۲۵۵٫۲۵۵٫۲۵۵٫۰ شناسه ۱۹۲٫۱۶۸٫۵٫۰ به کل زیرشبکه اشاره می‌کند و نمی‌تواند به یک ماشین تنها در آن زیر شبکه تخصیص داده شود.
یک نشانی پخشی (broadcast address) به نشانی گفته می‌شود که اجازه می‌دهد اطلاعات به تمام ماشین‌های یک زیر شبکه فرستاده شود. آدرس پخشی یک زیر شبکه طی یک عملیات "یا" ی بیتی بین مکمل بیتی پوشش زیر شبکه و شناسه شبکه به دست می‌آید. در مورد مثال بالا نشانی پخشی ۱۹۲٫۱۶۸٫۵٫۲۵۵ خواهد بود. برای جلوگیری از اشتباه این نشانی نیز قابل تخصیص دادن به ماشین‌ها نمی‌باشد. در یک شبکه کلاس A یا B  یا C نشانی پخشی همیشه به ۲۵۵ ختم می‌شود.
با اختراع CIDR آدرس‌های پخشی الزاماً به ۲۵۵ ختم نمی‌شوند.
به‌طور کلی اولین آدرس هر زیرشبکه، نشانی شبکه و آخرین آدرس نشانی پخشی آن شبکه هستند و بقیه نشانی‌ها را می‌توان برای ماشین‌های شبکه استفاده کرد.

ترجمه نشانی

میزبان‌های روی اینترنت معمولاً به جای نشانی آی پی با نام دامنه شناخته می‌شوند (مانند fa.wikipedia.com، iran.ir، google.com) اما مسیریابی در اینترنت بر اساس نام نیست و با استفاده از نشانی آی پی که  به این  نام‌های دامنه تعلق می‌گیرد، بسته‌ها مسیریابی می‌شوند. پس لازم است که نام‌های دامنه به نشانی‌های آی پی ترجمه شوند.
سامانه نام دامنه(DNS) کار تبدیل نام‌ها به نشانی‌ها و نشانی‌ها به نام‌ها را انجام می‌دهد. DNS ساختار سلسله مراتبی دارد و می‌تواند ترجمه یک فضای نام را به کارساز(سرور)های DNS دیگر بسپارد.
سامانه نام دامنه قابل قیاس با راهنمای تلفن است که نام‌ها را به شماره تلفن تبدیل می‌کند.

ترجمه نشانی شبکه(NAT)

کمبود نشانی‌های آی پی از دهه ۱۹۹۰ باعث پیدایش روش‌های استفاده کارآمد تر از نشانی‌ها شد. یکی از این روش‌ها ترجمه نشانی شبکه است. دستگاه‌های NAT کل شبکه خصوصی را پشت یک نشانی آی پی عمومی پنهان می‌کنند. بسیاری از ارائه دهندگان اینترنت از این روش استفاده می‌کنند.

ساختاربسته

یک بسته آی پی از دو بخش سرآیند و داده تشکیل می‌شود

پروتکلهای کمکی

آی پی پروتکلی است که میان شبکه بندی را در لایه اینترنت امکانپذیر می‌کند و از این رو اینترنت را می‌سازد. آی پی از یک سیستم نشانی دهی منطقی استفاده می‌کند. نشانی‌های آی پی به سخت افزار گره نخورده‌اند و یک واسط شبکه می‌تواند چندین نشانی آی پی داشته باشد. میزبان‌ها و مسیریاب‌ها نیاز دارند که ارتباط بین واسطهای دستگاه و نشانه‌های آی پی را بفهمند تا بتوانند به درستی یک بسته آی پی را روی لینک به مقصد تحویل دهند. پروتکل ترجمه نشانی (ARP) ترجمه ازنشانی‌های آی پی  به نشانی‌های فیزیکی (MAC Address) را انجام می‌دهد. پروتکل پیکربندی پویای میزبان (DHCP) برای تخصیص خودکار نشانی به میزبان‌ها به کار می‌رود.