پروتکل اینترنت (IP) پروتکل یا مجموعهای از قوانین است که برای مسیریابی و آدرسدهی پکتهای داده مورد استفاده قرار میگیرد، به طوری که آنها از طریق شبکه منتقل شده و به مقصد صحیح خود میرسند.
فرایند حرکت دادهها در اینترنت به گونهای است که دادهها را به قسمتهای کوچکتر تقسیم مینماید. اطلاعات IP به هر پکت ضمیمه شده و این اطلاعات به روترها کمک میکنند تا پکتها را به مقصد صحیح خود ارسال کنند.
به تمام دستگاهها و دامینهایی که به اینترنت متصل میشوند، یک آدرس IP اختصاص مییابد و همان طور که پکتها به آدرس آی پی ضمیمه شده به آنها ارسال میشوند، دادهها نیز به محل مورد نظر خود منتقل میگردند.
زمانی که پکتها به مقصد مورد نظر خود رسیدند، بسته به این که توسط کدام پروتکل انتقال در ترکیب با پروتکل اینترنت مورد استفاده قرار میگیرند، به طور متفاوتی اداره میشوند. رایجترین پروتکلهای انتقال (transport protocol)، TCP و UDP هستند.
پروتکل شبکه چیست؟
در دنیای شبکه، پروتکل روشی استاندارد جهت انجام اقدامات خاص و قالببندی دادهها است، به طوری که دو یا چند دستگاه را قادر به برقراری ارتباط و درک یکدیگر مینماید.
برای درک بهتر ضرورت پروتکلها، فرایند ارسال نامه را تصور کنید. بر روی پاکت نامه، آدرس به این ترتیب نوشته میشود: نام گیرنده، خیابان، شهر، استان و کد پستی. در صورتی که پاکتنامهای که داخل صندوق پستی انداخته میشود این ترتیب را رعایت نکرده باشد، اداره پست مسئولیت آن را بر عهده نمیگیرد و آن را به گیرنده نمیرساند.
به همین ترتیب، تمام پکتهای دادهی پروتکل اینترنت میبایست اطلاعات خاصی را به ترتیب مشخص شده به همراه داشته باشند و تمام آدرسهای IP از یک فرمت استاندارد پیروی میکنند.
آدرس آی پی چیست؟ نحوۀ عملکرد آدرس دهی IP چگونه است؟
یک آدرس آی پی (IP address)، شناسهای منحصر به فرد است که به یک دستگاه یا یک دامنهی (domain) متصل به اینترنت اختصاص مییابد. هر آدرس آی پی، شامل گروهی کارکتر میباشد مانند 183.168.1.1.
کاربران به کمک DNS resolver که نام دامنهی قابل خواندن توسط انسان را به آدرسهای آی پی ترجمه میکند، قادر هستند به وبسایتهای مورد نظر خود دسترسی داشته باشند، بدون این که مجبور به حفظ کردن مجموعهای پیچیده از کارکترها باشند.
هر IP packet هم شامل آدرس آی پی دستگاه یا دامنه ارسال کننده پکت میباشد و هم آدرس آی پی گیرنده مورد نظر. دقیقا مانند این که هم آدرس مقصد و هم آدرس مبدا بر روی یک نامه وجود دارد.
تفاوت IPV4 و IPV6
نسخه چهارم IP که به اختصار IPV4 گفته میشود، در سال 1983 ارائه شد. IPV4 از یک آدرس ۳۲ بیتی برای آدرسهای اینترنتی خود استفاده میکند. این بدان معناست که میتواند ۲ به توان ۳۲ آدرس را که بیش از ۴ میلیارد آدرس میشود را ذخیره کند.
IPV4 تا به امروز، به عنوان پروتکل اصلی اینترنت در نظر گرفته شده است و ۹۴% ترافیک را به خود اختصاص داده است.
IPV6 از آدرسهای اینترنتی ۱۲۸ بیتی استفاده میکند؛ بنابراین میتواند از ۲ به توان ۱۲۸ آدرس اینترنتی پشتیبانی کند. تعداد آدرسهای IPV6،ا ۱۰۲۸ بار بزرگتر از آدرسهای IPV4 است.
بنابراین میتوان گفت تعداد آدرسهای IPV6 برای گسترش دستگاههای اینترنتی، خیلی زیاد و بیشتر از کافی است. با این حال IPV6 هنوز به طور کامل تصویب نشده و اکثر دامنهها و دستگاهها از IPV4 استفاده میکنند.
پکت آی پی (IP packet) چیست؟
پکتهای IP با افزودن یک هدر (IP header) به هر پکت داده قبل از ارسال در مسیر ایجاد میشوند. یک IP header شامل گروهی از بیتها (صفر و یک) است و اطلاعات مختلفی از جمله ارسال و دریافت آدرس آی پی را ثبت میکند. در ضمن هدرهای آی پی، گزارشات زیر را نیز ارائه میدهند:
- طول هدر
- طور پکت
- TTL یا تعداد هاپهای (hop) شبکه که قبل از رها کردن پکت، میتواند ایجاد کند.
- این که از کدام پروتکل انتقال استفاده میشود (TCP یا UDP و غیره)
نحوه عملکرد مسیریابی IP چگونه است؟
اینترنت از شبکههای بزرگ به هم پیوستهای تشکیل شده است که هر یک مسئول بلاکهای خاصی از آدرسهای آی پی میباشند. این شبکههای بزرگ تحت عنوان سیستمهای خودمختار (autonomous system) نام دارند.
روترها دارای جدولهایی هستند که نشان میدهد پکتها باید از کدام ASها عبور کنند تا در اسرع وقت به مقصد مورد نظر خود برسند. پکتها تا زمانی که به ASای برسند که مسئولیت آدرس آی پی هدف را بر عهده دارد، از یک AS به AS بعدی منتقل میشوند. در این مرحله AS، پکتها را به مقصد مورد نظر هدایت میکند.
پروتکلهای ضمیمه شده به هدر پکتها (packet header) در لایههای مختلف مدل OSI:
پکتها میتوانند در صورت لزوم، مسیرهای مختلف را به یک مکان برسانند؛ همان طور که گروهی از افراد مسیرهای مختلفی را طی میکنند تا به مقصدی که با هم توافق کردهاند، برسند.
TCP/IP چیست؟
پروتکل کنترل انتقال (TCP) یک پروتکل انتقال است؛ به عبارت دیگر مسیر ارسال و دریافت دادهها را مشخص میکند. هر بخش از دادههای پکت که از TCP/IP استفاده میکند، دارای یک TCP header میباشد.
TCP قبل از انتقال اطلاعات با گیرنده ارتباط برقرار میکند. TCP تضمین میکند تمامی پکتها پس از ارسال، به ترتیب و روشی صحیح تحویل داده میشوند. گیرنده از طریق TCP وصول هر پکت را اعلام میکند و در صورت عدم اعلام وصول یک پکت توسط گیرنده، پکت مورد نظر مجددا ارسال خواهد شد.
بدیهی است TCP با هدف قابلیت اطمینان طراحی شده است؛ نه سرعت. از آنجا که TCP میبایست از رسیدن تمامی پکتها به صورت متوالی اطمینان حاصل کند، در صورت از دست رفتن برخی از پکتها، لود شدن (loading) دادهها از طریق TCP/IP به زمان بیشتری نیاز دارد.
در ابتدا TCP و IP برای استفاده با هم طراحی شدند، از این رو غالبا از آنها تحت عنوان TCP/IP نام برده میشود. هرچند که سایر پروتکلهای انتقال نیز با IP استفاده میشوند.
UDP/IP چیست؟
User Datagram Protocol یا UDP یکی دیگر از پروتکلهای انتقال است که به صورت گسترده مورد استفاده قرار میگیرد. سرعت UDP از TCP بالاتر است، اما از قابلیت اطمینان کمتری برخوردار است. UDP ضمانتی در رسیدن همهی بستهها به صورت مرتب ندارد و همچنین قبل از انتقال دادهها، ارتباط برقرار نمیکند.