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

مقدمه‌ای بر 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 موجود در سوکت، امکان آدرس دهی کامپیوتر مقصد را فراهم و پورت مربوطه، برنامه‌ای را که داده‌ها برای آن ارسال می‌گردد را مشخص می‌نماید.

تفاوت‌های بین لایه‌های 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 از لایه فیزیکی است که آن را قادر به رقابت با برخی از استانداردهای مودم می‌کند.