رفتن به محتوای اصلی
کوهستان
توضیح کوهستانمعماری شبکهتوضیح فنی· 6 دقیقه مطالعه· در قالب‌های محتوا

سازوکار پشته TCP/IP: چگونه این چهار لایه واقعاً داده‌ها را در اینترنت منتقل می‌کنند؟

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

به قلم غزل بختیاری

به‌طور خلاصه

  • اینترنت جریان‌های پیوسته داده ارسال نمی‌کند؛ بلکه بسته‌هایی با قالب‌بندی سخت‌گیرانه می‌فرستد.
  • پشته TCP/IP به لایه‌های کاربرد، انتقال، اینترنت و دسترسی به شبکه تقسیم می‌شود.
  • TCP با تکه‌تکه کردن داده‌ها به قطعات و درخواست رسید، تحویل قابل اعتماد را تضمین می‌کند.

مردم اغلب اینترنت را به صورت یک لوله پیوسته تصور می‌کنند که در آن یک عکس یا پیام متنی در یک جریان واحد و بدون وقفه از یک دستگاه به دستگاه دیگر می‌لغزد. واقعیت بسیار صنعتی‌تر از این حرف‌هاست. اینترنت فایل ارسال نمی‌کند؛ بلکه پاکت‌های داده میکروسکوپی و با قالب‌بندی سخت‌گیرانه می‌فرستد. این توهم جریان یکپارچه توسط پشته TCP/IP حفظ می‌شود، یک معماری چهار لایه که هر قطعه اطلاعات دیجیتالی که مصرف می‌کنید را تکه‌تکه، بسته‌بندی، مسیریابی و دوباره سرهم‌بندی می‌کند.[5]

وقتی مواد تبلیغاتی از «ابر» یا «فیبر فوق‌العاده سریع» صحبت می‌کنند، کار سنگین و بوروکراتیک در سطح پروتکل را پنهان می‌کنند. مجموعه پروتکل کنترل انتقال/پروتکل اینترنت (TCP/IP) کمتر یک شبکه فیزیکی و بیشتر یک زبان جهانی است. این مجموعه که در دهه ۱۹۷۰ توسط وزارت دفاع توسعه یافت، طراحی شده بود تا با اطمینان از اینکه هیچ گره واحدی ضروری نیست، از خرابی‌های شبکه جان سالم به در ببرد. امروز، این مجموعه از هرج و مرج محض میلیاردها دستگاه که همزمان با هم صحبت می‌کنند، جان سالم به در می‌برد.[5][6]

این پشته به چهار لایه متمایز تقسیم می‌شود: کاربرد، انتقال، اینترنت و دسترسی به شبکه. آن را مانند یک سیستم پستی در نظر بگیرید که در آن یک نامه در یک پاکت قرار می‌گیرد، که آن پاکت در یک کیسه پستی قرار می‌گیرد، و آن کیسه در یک کامیون بار می‌شود. هر لایه فقط با همتای مستقیم خود در سمت گیرنده ارتباط برقرار می‌کند و کاملاً از لایه‌های بالا یا پایین خود بی‌خبر است.[3][6]

چهار لایه مدل TCP/IP.

لایه کاربرد جایی است که کاربران واقعاً با شبکه تعامل دارند. وقتی یک مرورگر وب را باز می‌کنید، پروتکل‌هایی مانند HTTP یا HTTPS درخواست شما را دریافت و قالب‌بندی می‌کنند. این لایه اهمیتی نمی‌دهد که داده چگونه به سرور می‌رسد؛ فقط به نحو نگارش (سینتکس) درخواست اهمیت می‌دهد. این لایه یک پیام دست‌نخورده و تکه‌تکه نشده را به لایه بعدی تحویل می‌دهد، با این فرض که شبکه به نحوی کار را به سرانجام خواهد رساند.[4]

لایه انتقال، که عمدتاً توسط TCP اداره می‌شود، جایی است که کار سنگین شروع می‌شود. TCP فایل حجیم لایه کاربرد را می‌گیرد و به شدت آن را به قطعات قابل مدیریت به نام سگمنت (Segment) تکه‌تکه می‌کند. این یک پروتکل «اتصال‌گرا» است، به این معنی که قبل از ارسال هر چیزی، یک دست‌دهی رسمی (Handshake) را طلب می‌کند و برای هر سگمنت تحویل داده شده، رسید می‌خواهد.[1][6]

این قابلیت اطمینان هزینه‌ای دارد. هر سگمنت TCP با یک هدر حداقل ۲۰ بایتی مهر می‌شود. این هدر حاوی فراداده حیاتی است: پورت مبدأ، پورت مقصد، و یک شماره توالی تا رایانه گیرنده بداند چگونه فایل تکه‌تکه شده را دوباره به هم بدوزد. اگر سگمنتی گم شود، TCP با سرسختی خط مونتاژ را متوقف کرده و درخواست ارسال مجدد می‌دهد.[1]

هنگامی که لایه انتقال سگمنت‌ها را تکه‌تکه و برچسب‌گذاری کرد، آن‌ها را به لایه اینترنت تحویل می‌دهد. در اینجا، پروتکل اینترنت (IP) کنترل را به دست می‌گیرد. IP به شماره‌های توالی یا تحویل تضمین‌شده اهمیتی نمی‌دهد. تنها وظیفه آن مسیریابی است. این پروتکل سگمنت TCP را در یک پاکت جدید به نام بسته IP می‌پیچد و ۲۰ بایت سربار دیگر برای IPv4 استاندارد اضافه می‌کند.[2][5]

کپسوله‌سازی داده، دستورالعمل‌های مسیریابی و تحویل را در هر لایه اضافه می‌کند.

هدر IP، آدرس‌های IP مبدأ و مقصد را روی بسته مهر می‌کند. این همان مختصات GPS اینترنت است. همانطور که بسته دستگاه شما را ترک می‌کند، در سراسر جهان از روتر به روتر دیگر پرتاب می‌شود. هر روتر فقط به آدرس IP مقصد نگاه می‌کند، جدول مسیریابی خود را بررسی می‌کند و بسته را به خانه نهایی‌اش نزدیک‌تر هل می‌دهد.[2][3]

در نهایت، بسته به لایه دسترسی به شبکه می‌رسد که گاهی اوقات لایه پیوند (Link layer) نامیده می‌شود. اینجاست که دیجیتال با فیزیکی ملاقات می‌کند. چه کابل‌های اترنت باشد، چه امواج رادیویی وای‌فای یا فیبر نوری، این لایه بسته IP را به تکانه‌های الکتریکی یا پالس‌های نوری ترجمه می‌کند. این لایه بسته را برای آخرین بار در یک «فریم» می‌پیچد و آدرس‌های MAC را برای مسیریابی در شبکه فیزیکی محلی اضافه می‌کند.[3][6]

همانطور که فریم در محیط فیزیکی حرکت می‌کند، ممکن است از ده‌ها روتر میانی عبور کند. در هر پرش، روتر فریم دسترسی به شبکه را جدا می‌کند، بسته IP را برای یافتن مقصد بازرسی می‌کند و سپس آن را برای مرحله بعدی سفر در یک فریم کاملاً جدید می‌پیچد. سگمنت داخلی TCP و داده‌های کاربرد دست‌نخورده باقی می‌مانند و به طور ایمن در داخل کپسوله‌سازی شده‌اند.[2][5]

وقتی فریم بالاخره به سرور مقصد می‌رسد، فرآیند معکوس می‌شود. لایه دسترسی به شبکه سرور، فریم را جدا کرده و بسته را به بالا تحویل می‌دهد. لایه اینترنت آدرس IP را تأیید کرده و هدر IP را جدا می‌کند. لایه انتقال به شماره‌های توالی TCP نگاه می‌کند، منتظر می‌ماند تا تمام قطعات برسند، آن‌ها را مرتب می‌کند و رسید دریافت را تأیید می‌کند.[1][3]

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

تنها پس از آنکه کل فایل به طور کامل سرهم‌بندی شد، لایه انتقال آن را به لایه کاربرد تحویل می‌دهد. سرور وب درخواست HTTP را دقیقاً همانطور که شما ارسال کرده‌اید دریافت می‌کند، در حالی که کاملاً بی‌خبر است که آن درخواست در هزاران قطعه میکروسکوپی و با سربار سنگین، از اقیانوس‌ها عبور کرده است.[4][6]

شایان ذکر است که TCP تنها بازیگر در لایه انتقال نیست. برای برنامه‌هایی که سرعت مهم‌تر از دقت کامل است—مانند پخش زنده ویدئو یا بازی‌های آنلاین—پشته از UDP (پروتکل دیتاگرام کاربر) استفاده می‌کند. UDP دست‌دهی و رسیدها را نادیده می‌گیرد. این پروتکل فقط بسته‌ها را به سمت مقصد پرتاب می‌کند و امیدوار است که به مقصد برسند، و قابلیت اطمینان را فدای سرعت خام می‌کند.[1][6]

نبوغ واقعی پشته TCP/IP در همین جداسازی سخت‌گیرانه وظایف از طریق کپسوله‌سازی است. از آنجایی که لایه کاربرد نیازی به دانستن فرکانس‌های وای‌فای ندارد، و لایه IP نیازی به دانستن اینکه آیا در حال حمل ایمیل است یا ویدئو ندارد، اینترنت می‌تواند دائماً تکامل یابد. ما سیم مسی را با فیبر نوری جایگزین کردیم بدون اینکه مجبور باشیم پروتکل HTTP را بازنویسی کنیم.[3][5]

TCP تحویل تضمین‌شده را در اولویت قرار می‌دهد، در حالی که UDP سرعت را در اولویت قرار می‌دهد.

اگرچه مدل چهار لایه برای دهه‌ها دوام آورده است، اما تحت فشار دائمی قرار دارد. انتقال از IPv4 به IPv6 ضروری بود زیرا آدرس‌ها تمام شدند، و پروتکل‌های جدیدی مانند QUIC در تلاشند تا لایه‌های انتقال و کاربرد را ادغام کنند تا تأخیر ناشی از دست‌دهی‌های وسواس‌گونه TCP را کاهش دهند. با این حال، سازوکارهای بنیادی تکه‌تکه کردن، بسته‌بندی و مسیریابی همچنان سنگ بنای اتصال انسانی باقی مانده‌اند.[2][5]

اصطلاحات کلیدی

TCP (Transmission Control Protocol)
یک استاندارد که تحویل قابل اعتماد و مرتب بسته‌های داده را در سراسر شبکه با درخواست رسید برای هر قطعه تضمین می‌کند.
IP (Internet Protocol)
مجموعه‌ای از قوانین حاکم بر مسیریابی و آدرس‌دهی بسته‌ها تا بتوانند در شبکه‌های جهانی حرکت کنند.
Encapsulation
فرآیند پیچیدن داده‌ها با اطلاعات پروتکل در هر لایه از پشته TCP/IP.
Packet
یک واحد اصلی داده که از طریق شبکه منتقل می‌شود و شامل محموله و هدرهای مسیریابی است.
UDP (User Datagram Protocol)
یک جایگزین سریع‌تر و بدون اتصال برای TCP که تحویل داده را تضمین نمی‌کند و اغلب برای استریم استفاده می‌شود.

پرسش‌های متداول

چرا با وجود چهار لایه، آن را TCP/IP می‌نامند؟

TCP و IP به سادگی بنیادی‌ترین و شناخته‌شده‌ترین پروتکل‌ها در لایه‌های انتقال و اینترنت هستند، بنابراین کل مجموعه به نام آن‌ها نامگذاری شده است.

تفاوت بین بسته (Packet) و فریم (Frame) چیست؟

بسته واحد داده در لایه اینترنت (IP) است، در حالی که فریم واحد داده در لایه دسترسی به شبکه است که شامل مسیریابی‌های خاص سخت‌افزاری مانند آدرس‌های MAC می‌شود.

چرا اینترنت من گاهی بسته‌ها را از دست می‌دهد؟

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

بررسی عمیق دیدگاه‌ها

خلوص‌گرایان پروتکل

برای ثبات طولانی‌مدت شبکه و بی‌نیازی به سخت‌افزار، برای جداسازی سخت‌گیرانه لایه‌ها ارزش قائل هستند.

معماران شبکه که از طراحی اصلی TCP/IP دفاع می‌کنند، استدلال می‌کنند که جداسازی سخت‌گیرانه لایه‌ها تنها دلیلی است که اینترنت در سطح جهانی مقیاس‌پذیر شد. با اطمینان از اینکه لایه کاربرد کاملاً از لایه فیزیکی دسترسی به شبکه بی‌خبر است، توسعه‌دهندگان می‌توانند نرم‌افزار بسازند بدون اینکه نگران باشند کاربر از وای‌فای، 5G یا فیبر نوری استفاده می‌کند. این ماژولار بودن اجازه می‌دهد تا لایه‌های مجزا ارتقا یابند—مانند انتقال از IPv4 به IPv6—بدون اینکه کل پشته از کار بیفتد.

بهینه‌سازان عملکرد

بر کاهش تأخیر با دور زدن یا فشرده‌سازی سربارهای سنتی لایه تمرکز می‌کنند.

توسعه‌دهندگان وب مدرن و مهندسان عملکرد اغلب پشته سخت‌گیرانه TCP/IP را یک گلوگاه می‌دانند. آن‌ها اشاره می‌کنند که دست‌دهی‌های اجباری و تأییدیه‌های رسید TCP، تأخیر غیرقابل قبولی را برای برنامه‌های بلادرنگ ایجاد می‌کند. این گروه از پروتکل‌های جدیدتر مانند QUIC حمایت می‌کنند که عملاً لایه‌های انتقال و کاربرد را ادغام می‌کند تا سربار سنتی را دور بزند، و استدلال می‌کنند که معماری دهه ۱۹۷۰ برای وب بلادرنگ امروزی بسیار کند است.

مهندسان امنیت

بر آسیب‌پذیری‌های ذاتی در طراحی اصلی و رمزگذاری‌نشده لایه‌های پایین‌تر تمرکز می‌کنند.

متخصصان امنیت سایبری از دریچه سادگی تاریخی به پشته TCP/IP نگاه می‌کنند. از آنجایی که پروتکل‌های اصلی برای یک شبکه دانشگاهی قابل اعتماد طراحی شده بودند، لایه‌هایی مانند IP و TCP ذاتاً فاقد رمزگذاری یا احراز هویت قوی هستند. این گروه تأکید می‌کنند که بدون مداخله سنگین رمزنگاری در لایه کاربرد (مانند TLS/HTTPS)، لایه‌های پایین‌تر به شدت در برابر شنود بسته، جعل IP و حملات مرد میانی آسیب‌پذیر هستند.

خلوص‌گرایان پروتکل 40%بهینه‌سازان عملکرد 35%مهندسان امنیت 25%
خلوص‌گرایان پروتکل
برای ثبات طولانی‌مدت شبکه و بی‌نیازی به سخت‌افزار، برای جداسازی سخت‌گیرانه لایه‌ها ارزش قائل هستند.
بهینه‌سازان عملکرد
بر کاهش تأخیر با دور زدن یا فشرده‌سازی سربارهای سنتی لایه تمرکز می‌کنند.
مهندسان امنیت
بر آسیب‌پذیری‌های ذاتی در طراحی اصلی و رمزگذاری‌نشده لایه‌های پایین‌تر تمرکز می‌کنند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • توسعه‌دهندگان برنامه‌های کاربردی نهایی که به APIهای سطح بالا متکی هستند و به ندرت مستقیماً با پشته تعامل دارند.
  • تولیدکنندگان سخت‌افزار که سوئیچ‌های فیزیکی مجری لایه دسترسی به شبکه را طراحی می‌کنند.

منابع

پوشش منابع

7 منبع

3 دیدگاه شناسایی‌شده

خلوص‌گرایان پروتکل 40%بهینه‌سازان عملکرد 35%مهندسان امنیت 25%
  1. [1]RFC Editorخلوص‌گرایان پروتکل

    Transmission Control Protocol (TCP)

    مطالعه در RFC Editor →
  2. [2]RFC Editorخلوص‌گرایان پروتکل

    Internet Protocol

    مطالعه در RFC Editor →
  3. [3]RFC Editorخلوص‌گرایان پروتکل

    Requirements for Internet Hosts -- Communication Layers

    مطالعه در RFC Editor →
  4. [4]RFC Editorخلوص‌گرایان پروتکل

    Requirements for Internet Hosts -- Application and Support

    مطالعه در RFC Editor →
  5. [5]Wikipediaخلوص‌گرایان پروتکل

    Internet protocol suite

    مطالعه در Wikipedia →
  6. [6]IBMبهینه‌سازان عملکرد

    TCP/IP concepts

    مطالعه در IBM →
  7. [7]تیم سردبیری کوهستانمهندسان امنیت

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

اخبار قالب‌های محتوا با پوشش کامل منابع و تحلیل دیدگاه‌ها، هر روز و رایگان.