مجموعه پروتکل اینترنت

**مجموعه پروتکل اینترنت**  که معمولاً به عنوان TCP/IP شناخته می‌شود، مجموعه‌ای از پروتکل‌های ارتباطی مورد استفاده در اینترنت و شبکه‌های کامپیوتری مشابه است. پروتکل‌های اساسی فعلی در این مجموعه پروتکل، عبارتند از پروتکل کنترل انتقال (TCP) و پروتکل اینترنت (IP) و همچنین پروتکل داده‌نگار کاربر (UDP).

در زمان توسعه و بهبود این مجموعه پروتکل‌ها، نسخه‌هایی از آن با عنوان مدل **وزارت دفاع** (**DoD**) شناخته می‌شد چرا که در اصل، تأمین مالی برای توسعه طراحی شبکه از طریق دارپا یا همان آژانس پروژه‌های پژوهشی پیشرفتهٔ دفاعی متعلق به وزارت دفاع ایالات متحده آمریکا انجام شد. پیاده‌سازی یا اجرای این مجموعه پروتکل‌ها، یک پشته پروتکل است.

مجموعه پروتکل اینترنت مشخص می‌کند داده‌ها چگونه باید بسته‌بندی شوند، آدرس‌دهی شوند، منتقل شوند، مسیریابی و دریافت شوند و اینگونه ارتباطات میان کامپیوترها و اینترنت را فراهم می‌کند. این وظایف در چهار لایه انتزاعی سازماندهی و تقسیم شده‌است که تمام پروتکل‌های مرتبط را بر اساس محدوده شبکه هر پروتکل طبقه‌بندی می‌کند. از پایین‌ترین تا بالاترین لایه‌ها عبارتند از: لایه پیوند که پروتکل‌هایی را برای تبادل اطلاعات از طریق سخت‌افزار شبکه در یک پیوند فراهم می‌کند. لایه اینترنت، شبکه‌بندی متقابل شبکه‌های مستقل را تعریف می‌کند، لایه انتقال، ارتباطات هاست به هاست را مدیریت می‌کند و لایه کاربرد، زمینه تبادل داده را برای نرم‌افزارهای کاربردی با شبکه فراهم می‌کند.

استانداردهای فنی که زیربنای مجموعه پروتکل‌های اینترنت و پروتکل‌های تشکیل‌دهنده آن را تعریف می‌کند، توسط کارگروه مهندسی اینترنت (IETF) انتخاب می‌شود. مجموعه پروتکل اینترنت پیش از مدل OSI شکل گرفت و چارچوب مرجع فراگیرتری برای سیستم‌های شبکه عمومی است.

مدل اصلی TCP/IP از ۴ لایه تشکیل شده‌است. سازمان IETF استانداردی که یک مدل ۵ لایه‌ای است را قبول نکرده‌است و پروتکل‌های لایه فیزیکی و لایه پیوند داده‌ها به وسیلهٔ IETF استاندارد نشده‌اند. سازمان IETF تمام مدل‌های لایه فیزیکی را تأیید نکرده‌است. با پذیرفتن مدل ۵ لایه‌ای در بحث اصلی بامسولیت فنی برای نمایش پروتکل می‌باشد این امکان هست که راجع به پروتکل‌های غیر IETF در لایه فیزیکی صحبت کنیم.
این مدل قبل از مدل مرجع OSI گسترش یافته و واحد وظایف مهندسی اینترنت (IETF)، برای مدل و پروتکل‌های گسترش یافته تحت آن پاسخگو است، هیچ‌گاه خود را ملزم ندانست که توسط OSI تسلیم شود. درحالی که مدل بیسیک OSI کاملآ در آموزش استفاده شده‌است و OSI به یک مدل ۷ لایه‌ای معرفی شده‌است، معماری یک پروتکل واقعی (RFC ۱۱۲۲) مورد استفاده در محیط اصلی اینترنت خیلی منعکس نشده‌است.
حتی یک مدرک معماری IETF که اخیراً منتشر شده یک مطلب با این عنوان دارد: “ لایه بندی مضر است ”. تأکید روی لایه بندی به عنوان محرک کلیدی معماری یک ویژگی از مدل TCP/IP نیست، اما نسبت به OSI بیشتر است. بیشتر اختلال از تلاش‌های واحد OSI می‌آید لایه شبیه داخل یک معماری است که استفاده آن‌ها را به حداقل می‌رساند.

## تاریخچه

### تحقیقات اولیه

مجموعه پروتکل اینترنت، حاصل تحقیق و توسعه آژانس پروژه‌های تحقیقاتی پیشرفته دفاعی (دارپا) در اواخر دهه ۱۹۶۰ است. پس از راه‌اندازی آرپانت در سال ۱۹۶۹، دارپا کار بر روی تعدادی دیگر از فناوری‌های انتقال داده را آغاز کرد. در سال ۱۹۷۲، باب کان به دفتر فناوری پردازش اطلاعات در دارپا پیوست. او بر روی شبکه‌های بسته ماهواره‌ای و شبکه‌های بسته رادیویی زمینی کار می‌کرد و به اهمیت امکان برقراری ارتباط بین این دو شبکه پی برد. در بهار سال ۱۹۷۳، وینتون سرف که به توسعه پروتکل موجود آرپانت، یعنی پروتکل برنامه کنترل شبکه (NCP) کمک کرده بود، به کان پیوست تا روی مدل‌های ارتباطی با معماری باز کار کند و به دنبالش نسل بعد پروتکل‌ها را برای آرپانت طراحی کنند. برای رسیدن به این هدف، آنها از تجربه جامعه تحقیقاتی آرپانت و کارگروه بین‌المللی شبکه‌سازی که سرف ریاست آن را بر عهده داشت، استفاده کردند.

تا تابستان سال ۱۹۷۳، کان و سرف یک فرمول مجدد اساسی را ایجاد کردند که در آن تفاوت‌های میان پروتکل‌های شبکه محلی با استفاده از یک پروتکل ارتباطی مشترک پنهان می‌شد و به جای اینکه مانند پروتکل‌های آرپانت، شبکه مسئول قابلیت اعتماد (اطمینان از ارسال داده از فرستنده به گیرنده) باشد، این وظیفه به هاست‌ها محول شده بود. سرف از هوبرت زیمرمن و لوئیس پوزین که طراحان شبکه سیکلادز بودند یاد کرد و به تأثیرات مهمی که سیکلادز بر طراحی جدید آنها داشت اشاره کرد. این پروتکل جدید با عنوان برنامه کنترل انتقال در سال ۱۹۷۴ اجرایی شد.

در ابتدا، پروتکل برنامه کنترل انتقال، هم انتقال دیتاگرام و هم مسیریابی را مدیریت می‌کرد، اما با افزایش تجربه در زمینه پروتکل‌ها، همکاران توصیه کردند تا عملکردها در لایه‌هایی با پروتکل‌های مجزا تقسیم شود.

## مقدمه‌ای بر نسخه7 TCP/IP
TCP/IP، یکی از مهم‌ترین پروتکل‌های بکار گرفته شده در شبکه‌های رایانه‌ای است. اینترنت به عنوان بزرگ‌ترین شبکه موجود، از پروتکل نامبرده به منظور برقراری ارتباط دستگاه‌های گوناگون بهره می‌گیرد. پروتکل، مجموعه قوانین مورد نیاز جهت قانونمند نمودن چگونگی ارتباطات در شبکه‌های رایانه‌ای است. در مجموعه مقاله‌هایی که ارائه خواهد شد به بررسی این پروتکل خواهیم پرداخت. در این بخش مواردی همچون: فرایند انتقال اطلاعات، معرفی و تشریح لایه‌های پروتکل TCP/IP و چگونگی استفاده از سوکت برای ایجاد تمایز در ارتباطات، تشریح می‌گردد.

## مقدمه
امروزه بیشتر شبکه‌های رایانه‌ای بزرگ و اغلب سیستم‌های عامل موجود از پروتکل TCP/IP، استفاده و پشتیبانی می‌نمایند. TCP/IP، امکانات لازم برای ارتباط دستگاه‌های ناهمسان را فراهم می‌آورد. از ویژگی‌های مهم این پروتکل، می‌توان به مواردی همچون: اجراپذیری بر روی محیط‌های گوناگون، ضریب اطمینان بالا و توسعه‌پذیری آن اشاره کرد. از این پروتکل، برای دستیابی به اینترنت و بهره‌مندی از خدمات گوناگون آن همچون وب یا رایانامه استفاده می‌گردد. گونه گونی پروتکل‌های موجود در پشته TCP/IP و ارتباط منطقی و سامان مند آن‌ها با یکدیگر، امکان برقراری ارتباط در شبکه‌های رایانه‌ای را با اهداف متفاوت، فراهم می‌نماید. فرایند برقراری یک ارتباط، شامل فعالیت‌های متعددی نظیر: تبدیل نام کامپیوتر به آدرس IP معادل، جانمایی رایانه مقصد، بسته‌بندی اطلاعات، آدرس دهی و مسیریابی داده‌ها به منظور تراگسیل موفقیت‌آمیز داده‌ها به مقصد مورد نظر، بوده که توسط مجموعه پروتکل‌های موجود در پشته TCP/IP انجام می‌گیرد.

## معرفی پروتکل TCP/IP
TCP/IP، پروتکلی استاندارد برای ارتباط کامپیوترهای موجود در یک شبکه مبتنی بر ویندوز ۲۰۰۰ است. از پروتکل فوق، به منظور ارتباط در شبکه‌های بزرگ استفاده می‌گردد. برقراری ارتباط از طریق پروتکل‌های متعددی که در چهارلایه مجزا سازماندهی شده‌اند، میسر می‌گردد. هر یک از پروتکل‌های موجود در پشته TCP/IP، دارای وظیفه‌ای خاص در این زمینه (برقراری ارتباط) می‌باشند. در زمان ایجاد یک ارتباط، ممکن است در یک لحظه تعداد زیادی از برنامه‌ها، با یکدیگر ارتباط برقرار نمایند. TCP/IP، دارای قابلیت تفکیک و تمایز یک برنامه موجود بر روی یک کامپیوتر با سایر برنامه‌ها بوده و پس از دریافت داده‌ها از یک برنامه، آن‌ها را برای برنامه متناظر موجود بر روی کامپیوتر دیگر ارسال می‌نماید. نحوه ارسال داده توسط پروتکل TCP/IP از محلی به محل دیگر، با فرایند ارسال یک نامه از شهری به شهر، قابل مقایسه است.
برقراری ارتباط مبتنی بر TCP/IP، با فعال شدن یک برنامه بر روی کامپیوتر مبدأ آغاز می‌گردد. برنامه فوق، داده‌های مورد نظر جهت ارسال را بگونه‌ای آماده و فرمت می‌نماید که برای کامپیوتر مقصد قابل خواندن و استفاده باشند. (مشابه نوشتن نامه با زبانی که دریافت‌کننده، قادر به مطالعه آن باشد). در ادامه آدرس کامپیوتر مقصد، به داده‌های مربوط اضافه می‌گردد (مشابه آدرس گیرنده که بر روی یک نامه مشخص می‌گردد). پس از انجام عملیات فوق، داده به همراه اطلاعات اضافی (درخواستی برای تأیید دریافت در مقصد)، در طول شبکه بحرکت درآمده تا به مقصد مورد نظر برسد. عملیات فوق، ارتباطی به محیط انتقال شبکه به منظور انتقال اطلاعات نداشته، و تحقق عملیات فوق با رویکردی مستقل نسبت به محیط انتقال، انجام خواهد شد.

## لایه‌های پروتکل TCP/IP
انگشتی|چپ
TCP/IP، فرآیندهای لازم به منظور برقراری ارتباط را سازماندهی و در این راستا از پروتکل‌های متعددی در پشته TCP/IP استفاده می‌گردد. به منظور افزایش کارایی در تحقق فرایندهای مورد نظر، پروتکل‌ها در لایه‌های متفاوتی، سازماندهی شده‌اند. اطلاعات مربوط به آدرس دهی در انتها قرار گرفته و بدین ترتیب کامپیوترهای موجود در شبکه قادر به بررسی آن با سرعت مطلوب خواهند بود. در این راستا، صرفاً کامپیوتری که به عنوان کامپیوتر مقصد معرفی شده‌است، امکان باز نمودن بسته اطلاعاتی و انجام پردازش‌های لازم بر روی آن را دارا خواهد بود. TCP/IP، از یک مدل ارتباطی چهار لایه به منظور ارسال اطلاعات از محلی به محل دیگر استفاده می‌نماید Application ,Transport ,Internet و Network Interface، لایه‌های موجود در پروتکل TCP/IP می‌باشند. هر یک از پروتکل‌های وابسته به پشته TCP/IP، با توجه به رسالت خود، در یکی از لایه‌های فوق، قرار می‌گیرند.

لایه Application، بالاترین لایه در پشته TCP/IP است. تمامی برنامه و ابزارهای کاربردی در این لایه، با استفاده از لایه فوق، قادر به دستیابی به شبکه خواهند بود. پروتکل‌های موجود در این لایه به منظور فرمت دهی و مبادله اطلاعات کاربران استفاده می‌گردند. HTTP و FTP دو نمونه از پروتکل‌ها ی موجود در این لایه می‌باشند.

پروتکل .(HTTP(Hypertext Transfer Protocol از پروتکل فوق، به منظور ارسال فایل‌های صفحات وب مربوط به وب، استفاده می‌گردد.
پروتکل. (FTP(File Transfer Protocol از پروتکل فوق برای ارسال و دریافت فایل، استفاده می‌گردد.
لایه Transport
لایه " حمل "، قابلیت ایجاد نظم و ترتیب و تضمین ارتباط بین کامپیوترها و ارسال داده به لایه Application (لایه بالای خود) یا لایه اینترنت (لایه پایین خود) را بر عهده دارد. لایه فوق، همچنین مشخصه منحصربفردی از برنامه‌ای که داده را عرضه نموده‌است، مشخص می‌نماید. این لایه دارای دو پروتکل اساسی است که نحوه توزیع داده را کنترل می‌نمایند.

TCP)Transmission Control Protocol)پروتکل فوق، انتقال داده را با دقت و امنیت بالا انجام می‌دهد

UDP)User Datagram Protocol) انتقال سریع اطلاعات، بدون در نظر گرفتن مسائل امنیتی برای انتقال داده‌است.

لایه اینترنت : لایه «اینترنت»، مسئول آدرس دهی، بسته‌بندی و روتینگ داده‌ها، است.

لایه فوق، شامل چهار پروتکل اساسی است:

. IP)Internet Protocol) پروتکل فوق، مسئول آدرسی داده‌ها به منظور ارسال به مقصد مورد نظر است.
. ARP)Address Resoulation Protocol)پروتکل فوق، مسئول مشخص نمودن آدرس MAC)Media Access Control) آداپتور شبکه بر روی کامپیوتر مقصد است.
. ICMP)Internet Control Message Protocol)پروتکل فوق، مسئول ارائه توابع عیب‌یابی و گزارش خطاء در صورت عدم توزیع صحیح اطلاعات است.
. IGMP)Internet Group Managemant Protocol)پروتکل فوق، مسئول مدیریت Multicasting در TCP/IP را برعهده دارد.
لایه Network Interface
لایه " اینترفیس شبکه "، مسئول استقرار داده بر روی محیط انتقال شبکه و دریافت داده از محیط انتقال شبکه است. لایه فوق، شامل دستگاه‌های فیزیکی نظیر کابل شبکه و آداپتورهای شبکه است. کارت شبکه (آداپتور) دارای یک عدد دوازده رقمی مبنای شانزده (نظیر (B5-50-04-22-D۴–۶۶: بوده که آدرس MAC، نامیده می‌شود. لایه " اینترفیس شبکه "، شامل پروتکل‌های مبتنی بر نرم‌افزار مشابه لایه‌های قبل، نمی‌باشد. پروتکل‌های Ethernet و ATM)Asynchronous Transfer Mode)، نمونه هائی از پروتکل‌های موجود در این لایه می‌باشند. پروتکل‌های فوق، نحوه ارسال داده در شبکه را مشخص می‌نمایند.

مشخص نمودن برنامه‌ها
در شبکه‌های کامپیوتری، برنامه‌ها ی متعددی در یک زمان با یکدیگر مرتبط می‌گردند. زمانی که چندین برنامه بر روی یک کامپیوتر فعال می‌گردند، TCP/IP، می‌بایست از روشی به منظور تمایز یک برنامه از برنامه دیگر، استفاده نماید. بدین منظور، از یک سوکت (Socket) به منظور مشخص نمودن یک برنامه خاص، استفاده می‌گردد.

آدرس IP
برقراری ارتباط در یک شبکه، مستلزم مشخص شدن آدرس کامپیوترهای مبدأ و مقصد است (شرط اولیه به منظور برقراری ارتباط بین دو نقطه، مشخص بودن آدرس نقاط درگیر در ارتباط است). آدرس هر یک از دستگاه‌های درگیر در فرایند ارتباط، توسط یک عدد منحصربفرد که IP نامیده می‌شود، مشخص می‌گردند. آدرس فوق به هریک از کامپیوترهای موجود در شبکه نسبت داده می‌شود. IP: ۱۰. ۱۰٫۱٫۱، نمونه‌ای در این زمینه است.

پورت TCP/UDP
پورت مشخصه‌ای برای یک برنامه و در یک کامپیوتر خاص است. پورت با یکی از پروتکل‌های لایه حمل (TCP)و یا (UDP مرتبط و پورت TCP یا پورت UDP، نامیده می‌شود. پورت می‌تواند عددی بین صفر تا ۶۵۵۳۵ را شامل شود. پورت‌ها برای برنامه‌های TCP/IP سمت سرویس دهنده، به عنوان پورت‌های "شناخته شده " نامیده شده و به اعداد کمتر از ۱۰۲۴ ختم و رزو می‌شوند تا هیچ‌گونه تعارض و برخوردی با سایر برنامه‌ها به وجود نیاید؛ مثلاً برنامه سرویس دهنده FTP از پورت TCP بیست یا بیست ویک استفاده می‌نماید.

سوکت (Socket)
سوکت، ترکیبی از یک آدرس IP و پورت TCP یا پورت UDP است. یک برنامه، سوکتی را با مشخص نمودن آدرس IP مربوط به کامپیوتر و نوع سرویس (TCP) برای تضمین توزیع اطلاعات یا (UDP)و پورتی که نشان دهنده برنامه است، مشخص می‌نماید. آدرس IP موجود در سوکت، امکان آدرس دهی کامپیوتر مقصد را فراهم و پورت مربوط، برنامه‌ای را که داده‌ها برای آن ارسال می‌گردد را مشخص می‌نماید.

## اصول کلیدی [[معماری]]
آخرین مدرک معماری (RFC ۱۱۲۲) روی قواعد و اصول معماری لایه بندی تأکید کرده‌است.
# اصول END-TO-END: دربارهٔ زمان ابداع شده‌است. قانون اولیه آن نگهداری ازحالت واطلاعات کلی را در حاشیه‌ها بیان می‌کند؛ و فرض می‌شود که اینترنتی که حاشیه‌ها را بهم وصل می‌کند از نظر کیفیت، سرعت و سادگی همان‌طور باقی نمی‌ماند. جهان واقعی برای دیوار آتش، مترجم‌های آدرس شبکه، حافظه‌های پنهانی محتوای وب و قدرت تغییرات وچنین چیزها نیاز دارد و همه آنهاروی این قانون تأثیر می‌گذارند.
# قانون قدرت Robustness :” درآنچه که تو قبول می‌کنی آزادباش و به آنچه که تومی فرستی محتاط باش. نرم‌افزاره ادر دیگر میزبان‌ها ممکن شامل نقص هایی‌باشد و اما ویژگی‌های پروتکل را برای بهربرداری کردن قانونی بی‌تدبیر می‌سازد.
حتی هنگامی که لایه بررسی شده‌است، و اسناد معماری رده‌بندی شده‌است—مدل معماری جداگانه‌ای مانندISO۷۴۹۸ وجود ندارد، لایه‌های تعریف شده کمتر و بی دقت تری را نسبت به مدل OSI رایج است؛ بنابراین برای پروتکل‌های جهان واقعی یک مدل متناسب تر تهیه می‌کند. در حقیقت، یک مدرک مرجع مکرر شامل ذخیره‌ای از لایه‌ها نیست. عدم تأکید روی لایه بندی یک تفاوت مهم بین روش‌های OSI و IETF است. این فقط به وجود لایه شبکه و به‌طور کلی لایه‌های بالایی اشاره می‌کند. این اسناد مانند یک عکس فوری از معماری در سال ۱۹۹۶را خواسته بودند. اینترنت و معماری آن از شروع کوچک به صورت تکامل درآمدندو بیشتر از یک طرح بزرگ گسترش یافته‌اند. درحالی‌که این فرایند ازتحول یکی از دلایل مهم برای موفقیت تکنولوژی است، باوجود این برای ثبت کردن یک snapshot از اصول و قواعد برای معماری اینترنت مفیدبه نظر می‌رسد.

هیچ سندی به‌طور رسمی به دلیل عدم تأکید روی لایه بندی مدل ر امشخص نکرده‌است. نام‌های متفاوتی به وسیله نوشته‌های مختلف به لایه‌ها داده شده‌است و تعداد لایه‌های متفاوتی به‌وسیلهٔ نوشته‌های مختلف نشان داده شده‌است.

ورژن‌هایی از این مدل با لایه های۴ تایی و۵ تایی وجود دارد. RFC ۱۱۲۲ درخواست هایHOST را برای لایه بندی روی مرجع عمومی ساخته‌است، اما به خیلی از اصول معماری که روی لایه بندی تأکید ندارند براشاره می‌کند؛ و آن به صورت یک نسخه ۴لایه‌ای است که به‌طور آزادانه تعریف شده با لایه‌هایی که نه نام دارند نه شماره،
لایه پردازش یا لایه کاربردی: «سطح بالاتر» جایی است که پروتکل‌هایی شبیه FTP ,SMTP,SSH,HTTP و غیره هستند.
لایه انتقال ـHOST-TO-HOST: جایی است که کنترل جریان و پروتکل‌های وجود دارند مانندTCP. این لایه با باز شدن و نگه داشتن ارتباطات سروکاردارد و اطمینان می‌بخشد که Packetها درحقیقت رسیده‌اند.

لایه اینترنت یاشبکه :این لایه آدرس‌های IP را با بسیاری از برنامه‌های مسیریابی برای جهت‌یابی بسته‌ها از یک آدرس IP به دیگری را مشخص می‌کند.
لایه دسترسی شبکه: این لایه هم پروتکل‌های (مانند لایه پیوندداده OSI) استفاده شده برای دسترسی میانجی برای وسیله‌های به اشتراک گذاشته را، و هم پروتکل‌های فیزیکی وتکنولوژی‌های لازم برای ارتباطات از HOSTهای جداگانه برای یک رسانه توصیف می‌کند.
درخواست پروتکل اینترنت(و پشته پروتکل متناظر) و این مدل لایه بندی قبل از نصب شدن مدل OSI استفاده می‌شد، و از آن به بعد، در کلاس هاوکتاب‌ها به دفعات زیادی مدل TCP/IP با مدل OSI مقایسه می‌شدند؛ که اغلب به سردرگمی منتج می‌شد. برای اینکه ۲مدل فرض‌های مختلفی استفاده کرده‌اند، که مربوط به اهمیت دادن لایه بندی فیزیکی است.

### لایه‌ها در مدل TCP/IP
لایه‌های نزدیک به بالا منطقاً به کاربرد کاربر (نه فرد کاربر) نزدیکتر هستند ولایه‌های نزدیک به پایین منطقاًبه انتقال فیزیکی داده‌ها نزدیک ترهستند. لایه‌های دیده شده به عنوان یک پیشرفت دهنده یا مصرف‌کننده یک سرویس یک متد تجرید برای جدا کردن پروتکل‌های لایه بالاتر از جزئیات عناصر مهم بیت‌ها، اترنت، شبکه محلی، و کشف تصادفات و برخوردها است درحالی‌که لایه‌ها پایین‌تر از دانستن جزئیات هرکاربردو پروتکل آن اجتناب می‌کنند.
این تجرید همچنین به لایه‌های بالاتر اجازه می‌دهد که سرویس‌هایی را که لایه‌های پایین‌تر نمی‌توانند انتخاب کنندو یا تهیه کنندرا فراهم می‌کند و دوباره، مدل مرجعی OSI اصلی برای شامل شدن سرویس‌های بدون ارتباط (OSIRM CL)توسعه یافتند. برای مثال، IP برای این طراحی نشده بود که قابل اطمینان باشد و یکی از بهترین پروتکل‌های پاسخگویdelivery است؛ و به این معنی است که به هر حال همه لایه‌های انتقال برای فراهم آوردن قابلیت اطمینان و درجه باید انتخاب شوند. UDP درستی داده را (به‌وسیلهٔ یک Checksum) فراهم می‌کند اماdelivery آن را تخمین نمی‌زند، TCP هم درستی داده و هم تخمینdelivery را فراهم می‌کند (توسط انتقال از مبدأ به مقصد تا دریافت‌کننده PACKET را دریافت کند).

ارتباطات شبکه نظیر به نظیر
لایه کاربردی
لایه انتقال
لایه شبکه
لایه پیوند داده

این فرم مدل مرجع OSI و اسناد مربوط به آن را دچار آسیب می‌کند، اما IETF از یک مدل رسمی استفاده نمی‌کند و این محدودیت را ندارد و در توضیحات David D.clark آمده که”ما به حکومت، رئیس‌جمهور و رای‌گیری اعتقاد نداریم، ما موافق نظام و قانون اجرایی هستیم. ”عدم تصویب این مدل، که با توجه به مدل مرجعیOSI ساخته شده‌است معمولاً بسط‌های لایهOSI را برای آن مدل ندارد
# برای ارتباط دسترسی چندگانه با سیستم‌های آدرس دهی خودشان (مثل اترنت) یک پروتکل نگاشت آدرس نیاز است. این پروتکل‌ها می‌توانند IP پایین اما بالای سیستم ارتباط موجود بررسی می‌شود، درحالی‌که از لغات و اصطلاحات فنی استفاده نمی‌کند، ولی یک زیر شبکه است که به آسانی مطابق یک مدل OSI گسترش داده شده‌است، یعنی سازمان داخلی لایه شبکه.
# ICMP وIGMP درتمامIP عمل می‌کند اما داده را مانند UDP وTCP انتقال نمی‌دهد. ودوباره این قابلیت استفاده مانند بسطهای مدیریت لایه برای مدلOSI در چهارچوب مدیریت آن وجود دارد. (OSIRM MF)
# کتابخانه SSL/TLS روی لایه انتقال (به کاربردن TCP) اما زیر پروتکل‌های کاربردی عمل می‌کند. پس در بخش طراحان این پروتکل‌ها برای مطابقت با معماری OSI مفهومی وجود ندارد.
# ارتباط مثل یک جعبه سیاه است که در این‌جا عنوان می‌شود و برای بحث IP خوب است. (از وقتی که تمام نقاط IP هستند، روی هر چیز مجازی اجرا خواهد شد).IETF صریحاً به عنوان بحث سیستم‌های مخابره‌ای فهمیده نمی‌شوند. سیستم‌هایی که کمتر دانشگاهی هستند اما به‌طور عملی با مدل مرجع OSI مرتبط می‌شود

### تفاوت‌های بین لایه‌های TCP/IP and OSI
سه لایه بالایی در مدل OSI - لایه کاربردی، لایه نمایش و لایه اجلاس معمولاً درون یک لایه در مدل TCP/IP یک جا جمع شده‌اند. درحالی‌که بعضی از برنامه‌های کاربردی پروتکل OSI مانند X.۴۰۰ نیز با همدیگرجمع شده‌اند، نیاز نیست که یک پشته پروتکل TCP/IP برای هماهنگ‌کردن آن‌ها بالای لایه انتقال باشد. برای مثال پروتکل کاربردی سیستم نایل شبکه (NFS) روی پروتکل نمایش داده خارجی (XDR) اجرا می‌شود و روی یک پروتکل با لایه اجلاس کار می‌کند و فراخوان رویه راه دور (RPC) را صدا می‌زند. RPCمخابرات را به‌طور مطمئن ذخیره می‌کند، پس می‌تواند با امنیت روی پروتکل UDP اجرا شود.
لایه اجلاس تقریباً به پایانه مجازی Telnet که بخشی از متن براساس پروتکل‌هایی مانند پروتکل‌های کاربردی مدل HTTP و SMTP TCP/IP هستند مرتبط می‌شود؛ و نیز با شمارش پورت UDP و TCP که بخشی از لایه انتقال در مدل TCP/IP است مطرح می‌شود. لایه نمایش شبکه استاندارد MIME است که در HTTP و SMTP نیز استفاده می‌شود.

از آنجایی که سعی برای پیشرفت پروتکل IETF به لایه بندی محض ربطی ندارد، بعضی از پروتکل‌های آن ممکن است برای مدل OSI متناسب باشند. این ناسازگاری‌ها هنگامی‌که فقط به مدل اصلی ISO7498, OSI نگاه کنیم بیشتر تکرار می‌شوند، بدون نگاه کردن به ضمایم این مدل (مانند چارچوب مدیریتیISO)یا سازمان درونی ISO ۸۶۴۸ لایه شبکه (IONL) هنگامی‌که IONL و اسناد چهارچوب مدیریتی مطرح می‌شوند، ICMP و IGMP، به‌طور مرتب به عنوان پروتکل‌های مدیریت لایه برای لایه شبکه تعریف می‌شوند. در روشی مشابه، IONL یک ساختمان برای «قابلیتهای همگرایی وابسته به زیر شبکه» مانند ARP و RARP را فراهم آورده‌است.
پروتکلهایIETF می‌توانند پشت سر هم کاربرد داشته باشند چون توسط تونل زدن پروتکل‌هایی مانند GRE توضیح داده می‌شوند درحالی‌که اسنادبیسیک OSI با تونل زدن ارتباطی ندارند بعضی مفاهیم تونل زدن هنوز هم در توسعه‌های معماری OSI وجود دارند. مخصوصاً دروازه‌های لایه انتقال بدون چهارچوب پروفایل بین‌المللی استاندارد شده‌است. تلاش‌های پیشرفت دهنده مرتبط با OSI، به خاطر استفاده پروتکل‌های TCP/IP در جهان واقعی رها شده‌اند..
لایه‌ها
در ادامه توضیح ازهرلایه در پشته رشته IP آمده‌است.

لایه کاربردی
لایه کاربردی بیشتر توسط برنامه‌ها برای ارتباطات شبکه استفاده می‌شود. داده‌ها از برنامه در یک قالب خاص برنامه عبور می‌کنند سپس در یک پروتکل لایه انتقال جاگیری می‌کنند.

از آنجایی که پشتهIP بین لایه‌های کاربردی و انتقال هچ لایه دیگری ندارد، لایه کاربردی باید هر پروتکلی را مانند پروتکل لایه اجلاس و نمایش در OSI عمل می‌کنند در بگیرد.
داده‌های ارسال شده روی شبکه درون لایه کاربردی هنگامی‌که در پروتکل لایه کاربردی جاگیری شدند عبور می‌کنند. از آنجا داده‌ها به سمت لایه‌های پایین‌تر پروتکل لایه انتقال می‌روند. دو نوع از رایجترین پروتکل‌های لایه پایینی TCP و UDP هستند. سرورهای عمومی پورتهای مخصوصی به این‌ها دارند (HTTP پورت ۸۰ و FTP پورت ۲۳ را دارند و…) درحالی‌که کلاینت‌ها از پورتهای روزانه بی دوام استفاده می‌کنند.
روترها و سوئیچ‌ها این لایه را بکار نمی‌گیرند اما برنامه‌های کاربردی بین راه در در پهنای باند این کار را می‌کنند، همان‌طور که پروتکل RSVP (پروتکل ذخیره منابع) انجام می‌دهد.

۳ لایه بالایی در مدل OSI - لایه کاربردی، لایه نمایش و لایه نشست معمولاً درون یک لایه در مدل TCP/IP مجتمع می‌شوند. درحالی‌که برخی از برنامه‌های کاربردی پروتکل OSI مانند X۴۰۰ نیز با یکدیگر جمع شده‌اند، نیاز نیست که یک پشته پروتکل TCP/IP برای یکپارچه کردن آن‌ها بالای لایه انتقال باشد. برای نمونه پروتکل کاربردی سیستم نایل شبکه (NFS) روی پروتکل نمایش داده خارجی (XDR) اجرا می‌شود و روی یک پروتکل با لایه نشست کار می‌کند و فراخوان رویه راه دور (RPC) را صدا می‌زند (Remote Procedure Call).RPCمخابرات را به‌طور مطمئن ذخیره می‌کند، پس می‌تواند با امنیت روی پروتکل UDP اجرا شود.
لایه نشست تقریباً به پایانه مجازی Telnet که بخشی از متن براساس پروتکلهایی مانند پروتکل‌های کاربردی مدل HTTP و SMTP TCP/IP هستند مرتبط می‌شود؛ و نیز با شمارش پورت UDP و TCP که بخشی از لایه انتقال در مدل TCP/IP است مطرح می‌شود. لایه نمایش شبیه استاندارد MIME که در HTTP و SMTP نیز استفاده می‌شود است. از آنجاییکه تلاش برای پیشرفت پروتکل IETF به لایه بندی محض ربطی ندارد، برخی از پروتکل‌های آن ممکن است برای مدل OSI متناسب باشند. این ناسازگاری‌ها هنگامی‌که فقط به مدل اصلی OSI, ISO ۷۴۹۸ نگاه کنیم بیشتر تکرار می‌شوند، بدون نگاه کردن به ضمایم این مدل (مانند چارچوب مدیریتیISO ۷۴۹۸\۴) یا سازمان درونی ISO ۸۶۴۸ لایه شبکه (IONL) هنگامی‌که IONL و مستندات چهارچوب مدیریتی مطرح می‌شوند، ICMP و IGMP، به‌طور مرتب به عنوان پروتکل‌های مدیریت لایه برای لایه شبکه تعریف می‌شوند. در روشی مشابه، IONL یک ساختمان برای «قابلیتهای همگرایی وابسته به زیر شبکه» مانند ARP و RARP را فراهم آورده‌است. پروتکلهایIETF می‌توانند پشت سر هم کاربرد داشته باشند چون توسط تونل زدن پروتکلهایی مانند GRE (Generic Routing Encapsulation) شرح داده می‌شوند درحالی‌که مستندات پایه‌ای OSI با تونل زدن ارتباطی ندارند برخی مفاهیم تونل زدن هنوز هم در توسعه‌های معماری OSI وجود دارند. مخصوصاً دروازه‌های لایه انتقال بدون چهارچوب پروفایل استاندارد شده بین‌المللی. تلاش‌های پیشرفت دهنده مرتبط با OSI، به خاطر استفاده پروتکل‌های TCP/IP در دنیای واقعی رها شده‌اند.

## لایه‌ها
در ادامه توضیحی از هر لایه در پشته رشته IP آمده‌است.

### لایه کاربردی
لایه کاربردی بیشتر توسط برنامه‌ها برای ارتباطات شبکه استفاده می‌شود. داده‌ها از برنامه در یک قالب خاص برنامه عبور می‌کنند سپس در یک پروتکل لایه انتقال جاگیری می‌شوند. از آنجاییکه پشتهIP بین لایه‌های Application (کاربردی) و (انتقال) Transport هیچ لایه دیگری ندارد، لایه کاربردی Application می‌بایست هر پروتکلی را مانند پروتکل لایه نشست (session) و نمایش (presentation) در OSI عمل می‌کنند در بگیرد. داده‌های ارسال شده روی شبکه درون لایه کاربردی هنگامی‌که در پروتکل لایه کاربردی جاگیری شدند عبور می‌کنند. از آنجا داده‌ها به سمت لایه‌های پایین‌تر پروتکل لایه انتقال می‌روند.
دو نوع از رایجترین پروتکل‌های لایه پایینی TCP و UDP هستند. سرورهای عمومی پورتهای مخصوصی به این‌ها دارند (HTTP پورت ۸۰و FTP پورت ۲۱ را دارند و…) درحالی‌که کلاینتها از پورتهای روزانه بی دوام استفاده می‌کنند.
روترها و سوئیچ‌ها این لایه را بکار نمی‌گیرند اما برنامه‌های کاربردی بین راه در در پهنای باند این کار را می‌کنند، همان‌طور که پروتکل RSVP (پروتکل ذخیره منابع) انجام می‌دهد.

### لایه انتقال (Transport)
مسئولیتهای لایه انتقال، قابلیت انتقال پیام را END-TO-END و مستقل از شبکه، به اضافه کنترل خطا، قطعه قطعه کردن و کنترل جریان را شامل می‌شود. ارسال پیام END-TO-END یا کاربردهای ارتباطی در لایه انتقال می‌توانند جور دیگری نیز گروه‌بندی شوند :.۱ اتصال گرا مانند TCP
۲. بدون اتصال مانند UDP
لایه انتقال می‌تواند کلمه به کلمه به عنوان یک مکانیزم انتقال مانند یک وسیله نقلیه که مسئول امن کردن محتویات خود (مانند مسافران و اشیاء) است که آن‌ها را صحیح و سالم به مقصد برساند، بدون اینکه یک لایه پایین‌تر یا بالاتر مسئول بازگشت درست باشند.
لایه انتقال این سرویس ارتباط برنامه‌های کاربردی به یکدیگر را در حین استفاده از پورتها فراهم آورده‌است. از آنجاییکه IP فقط یک delivery فراهم می‌آورد، لایه انتقال اولین لایه پشته TCP/IP برای ارائه امنیت و اطمینان است. توجه داشته باشید کهIP می‌تواند روی یک پروتکل ارتباط داده مطمئن امن مانند کنترل ارتباط داده سطح بالا (HDLC) اجرا شود. پروتکل‌های بالای انتقال مانندRPC نیز می‌توانند اطمینان را فراهم آورند.
به‌طور مثالTCP یک پروتکل اتصالگر است که موضوع‌های مطمئن بیشماری را برای فراهم آوردن یک رشته بایت مطمئن و ایمن آدرس دهی می‌کند:
داده in order می‌رسند.
داده‌ها حداقل خطاها را دارند.
داده‌های تکراری دور ریخته می‌شوند.
بسته‌های گم شده و از بین رفته دوباره ارسال می‌شوند.
دارای کنترل تراکم ترافیک است.
SCTP جدیدتر نیز یک مکانیزم انتقالی مطمئن و امن و اتصالگراست -رشته پیام گراست نه رشته بایت گرا مانند TCP - و جریان‌های چندگانه‌ای را روی یک ارتباط منفرد تسهیم می‌کند؛ و همچنین پشتیبانی چند فضا را (multi-homing) نیز در مواردی که یک پایانه ارتباطی می‌تواند توسط چندین آدرسIP بیان شود. (اینترفیس‌های فیزیکی چندگانه) را فراهم می‌آورد تا اینکه اگر یکی از آن‌ها دچار مشکل شود ارتباط دچار وقفه نشود. در ابتدا برای کاربردهای تلفنی (برای انتقالSS۷ رویIP) استفاده می‌شود اما می‌تواند برای دیگر کاربردها نیز مورد استفاده قرار بگیرد.

UDP یک پروتکل داده‌ای بدون اتصال است مانندIP این هم یک پروتکل ناامن و نامطمئن است. اطمینان در حین کشف خطا با استفاده از یک الگوریتم ضعیفchecksum صورت می‌گیرد.UDP به‌طور نمونه برای کاربردهایی مانند رسانه‌های (audio,video,voice رویIp و…) استفاده می‌شود که رسیدن هم‌زمان مهم‌تر از اطمینان و امنیت است یا برای کاربردهای پرسش و پاسخ ساده مانند جستجوهایDNS در جاهایی که سرریزی به سبب یک ارتباط مطمئن از روی عدم تناسب بزرگ است استفاده می‌شود.
هم TCP و هم UDP شان متمایز می‌شوند توسط یک سری قانون خاص پورتهای شناخته و معروف با برنامه‌های کاربردی مخصوصی در ارتباط هستند. (لیست شماره‌های پورتهای TCP و UDP را ببنید) RTP یک پروتکل datagram داده‌ای است که برای داده‌های هم‌زمان مانند audio ,video

### لایه شبکه
همانگونه که در آغاز کار توصیف شد، لایه شبکه مشکل گرفتن بسته‌های سرتاسر شبکه منفرد را حل کرده‌است. نمونه‌هایی از چنین پروتکل‌هایی X.۲۵ و پروتکل HOST/IMPمربوط به ARPANET است.
با ورود مفهوم درون شبکه‌ای کارهای اضافی به این لایه اضافه می‌شوند از جمله گرفتن از شبکه منبع به شبکه مقصد و عموماً routing کردن و تعیین مسیر بسته‌های میان یک شبکه از شبکه‌ها را که به‌عنوان شبکه داخلی یا اینترنت شناخته می‌شوند را شامل می‌شود.
در همه پروتکل‌های شبکه IP وظیفه اساسی گرفتن بسته‌های داده‌ای را از منبع به مقصد انجام می‌دهد. IP می‌تواند داده‌ها را از تعدادی از پروتکل‌های مختلف لایه بالاتر حمل کند. این پروتکل‌ها هرکدام توسط یک شماره پروتکل واحد و منحصر به فرد شناسایی می‌شوند:ICMP و IGMP به ترتیب پروتکل‌های ۱و۲ هستند.
برخی از پروتکل‌های حمل شده توسط IP مانند ICMP (مورد استفاده برای اطلاعات تشخیص انتقال راجع به انتقالات IP), IGNP (مورد استفاده برای مدیریت داده‌های multicast در IP) در بالای IP لایه بندی شده‌اند اما توابع لایه داخلی شبکه را انجام می‌دهند، که یک ناهمسازی بین اینترنت و پشته IP و مدل OSI را ایجاد کرده‌اند. تمام پروتکل‌های مسیریابی مانند OSPT وRPT نیز بخشی از لایه شبکه هستند. آنچه که آن‌ها را بخشی از لایه شبکه کرده‌است این است که هزینه load آن‌ها (play load) در مجموع با مدیریت لایه شبکه در ارتباط است. کپسول بندی و جاگیری خاص آن به اهداف لایه بندی بی ارتباط است.

### لایه ارتباط داده
لایه ارتباط داده از متدی که برای حرکت بسته‌ها از لایه شبکه روی دو میزبان مختلف که در واقع واقعاً بخشی از پروتکل‌های شبکه نیستند، استفاده می‌کند، چونIP می‌تواند روی یک گستره ار لایه‌های ارتباطی مختلف اجرا شود. پردازش‌های بسته‌های انتقال داده شده روی یک لایه ارتباطی داده شده می‌تواند در راه انداز وسایل نرم‌افزاری برای کارت شبکه به خوبی میان افزارها یا چیپ‌های ویژه کار صورت گیرد.
این امر می‌تواند توابع ارتباط داده‌ها را مانند اضافه کردن یکheader بسته به منظور آماده کردن آن برای انتقال انجام دهد سپس واقعاً فرم را روی واسط فیزیکی منتقل کند. برای دسترسی اینترنت روی یک مودم dial-up معمولاً بسته‌های IP با استفاده از PPPمنتقل می‌شوند. برای دسترسی به اینترنت با پهنای باند بالا مانندADSL یا مودم‌های کابلی PPPOE غالباً استفاده می‌شود. در یک شبکه کابلی محلی معمولاً اترنت استفاده می‌شود و دو شبکه‌های بی‌سیم محلی IEEE۸۰۲٫۱۱ معمولاً استفاده می‌شود.
برای شبکه‌های خیلی بزرگ هردو روش PPP یعنی خطوطT-Carrier یا E-Carrier تقویت‌کننده فرم، ATM یا بسته روی (POS) SONET/SDM اغلب استفاده می‌شوند. لایه ارتباطی همچنین می‌تواند جاییکه بسته‌ها برای ارسال روی یک شبکه خصوصی مجازی گرفته می‌شوند نیز باشند. هنگامی‌که این کار انجام می‌شود داده‌های لایه ارتباطی داده‌های کاربردی را مطرح می‌کنند و نتایج به پشته IP برای انتقال واقعی بازمی‌گردند. در پایانه دریافتی داده‌ها دوباره به پشته stack می‌آیند (یکبار برای مسیر یابی و بار دوم برای VPN).
لایه ارتباط می‌تواند ابتدای لایه فیزیکی که متشکل از اجزای شبکه فیزیکی واقعی هستند نیز مرتبط شود. اجزایی مانند هاب‌ها، تکرارکننده‌ها، کابل فیبر نوری، کابل کواکیسال، کارت‌های شبکه، کارت‌های وفق دهنده.host و ارتباط دهنده‌های شبکه مرتبط: -۴۵ (R ,BNC،...) و مشخصات سطح پایینی برای سیگنال‌ها (سطوح ولتاژ، فرکانس‌ها و…)

### لایه فیزیکی
لایه فیزیکی مسئول کد کردن و ارسال داده‌ها روی واسط ارتباطی شبکه‌است و با داده‌ها در فرم بیتهایی که از لایه فیزیکی وسیله ارسال‌کننده (منبع) هستند و در لایه فیزیکی و دستگاه مقصد دریافت می‌شوند کار می‌کند. اترنت، Token ring, SCSI، هاب‌ها، تکرارکننده‌ها، کابل‌ها و ارتباط دهنده‌ها وسایل اینترنتی استانداردی هستند که روی لایه فیزیکی تابع بندی شده‌اند. لایه فیزیکی همچنین دامنه بسیاری از شبکه سخت‌افزاری مانند LAN، و توپولوژی WAN و تکنولوژی بی‌سیم (Wireless) را نیز دربرمی گیرد.

## پیاده‌سازی نرم‌افزاری و سخت‌افزاری
معمولاً برنامه نویسان کاربردی مسئول پروتکل‌های ۵ لایه‌ای (لایه کاربردی) هستند درحالی‌که پروتکل‌های ۳و۴ لایه‌ای سرویس‌هایی هستند که توسط پشته TCP/IP در سیستم‌عامل مهیا شده‌اند.
میان اقرارهای میکرو کنترلی در وفق دهنده شبکه به‌طور نمونه با لایه ۲ کار می‌کنند، توسط یک نرم‌افزار راه انداز در سیستم‌عامل پشتیبانی شده‌است. الکترونیک‌های دیجیتالی و آنالوگ غیرقابل برنامه‌نویسی معمولاً به جای لایه فیزیکی، استفاده می‌شوند که از یک چیپ مدار مجتمع خاض (ASIC) برای هر واسط رادیویی یا دیگر استانداردهای فیزیکی استفاده می‌کنند.
به هر حال، پیاده‌سازی نرم‌افزارهای و سخت‌افزاری در پروتکل‌ها یا مدل مرجع لایه بندی شده عنوان نمی‌شوند. روش‌هایی با کارایی بالا که از وسایل الکترونیکی دیجیتالی قابل برنامه دهی استفاده می‌کنند، سویچ‌های ۳ لایه انجام می‌دهند. در مودم‌های قدیمی و تجهیزات بی‌سیم، لایه فیزیکی ممکن است با استفاده از پردازشگرهای DSP یا چیپ‌های قابل برنامه دهی رادیویی نرم‌افزاری پیاده‌سازی شوند و چیپ‌ها مجازند که در چندین استاندارد مرتبط و اینترفیس رادیویی از مدارات جداگانه برای هر استاندارد استفاده شوند. مفهوم Apple Geoport (پورتی سریالی که بین یک خط تلفن و کامپیوتر است) نمونه‌ای از پیاده‌سازی نرم‌افزاریcpu از لایه فیزیکی است که آن را قادر به رقابت با برخی از استانداردهای مودم می‌کند.

## پانویس

## منابع

* Wikipedia contributors, "TCP/IP model," Wikipedia, The Free Encyclopedia, [//en.wikipedia.org/w/index.php?title=TCP/IP_model&oldid=180502886 http://en.wikipedia.org/w/indexphpphp?title=TCP/IP_MODEL&OLDID=180502886] (accessed December 31, 2007).indexphpphp

رده:پروتکل‌های اینترنت
رده:تاریخ اینترنت
رده:معماری شبکه