قرارداد هدایت انتقال

از ویکی‌پدیا، دانشنامهٔ آزاد

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

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

TCP/IP(بر اساس IPv4) شامل چهار لایه‌است:

  1. لایه واسط شبکه (Network Interface Physical)
  2. لایه ارتباط اینترنتی یا اینترنت (اینترنت)
  3. لایه ارتباطات میزبان به میزبان یا انتقال (ترابری)
  4. لایه سرویس‌های کاربردی (Application)

برای برقراری یک ارتباط گفتاری به وسیلهٔ اینترنت، در لایه انتقال از دو پروتکل TCP و UDP استفاده می‌شود. پروتکل TCP انتقال داده را با دقت و امنیت بالا انجام می‌دهد در حالیکه ویژگی پروتکل UDP انتقال سریع اطلاعات، بدون در نظر گرفتن مسائل امنیتی برای انتقال داده است

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

پروتکل UDP یا User ک Protocol[ویرایش]

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

پروتکل ) ک Protocol)[ویرایش]

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

در پروتکل انتقال ابرمتن به دنباله‌ای از درخواست‌ها و پاسخ‌ها جلسه گفته می‌شود. کلاینت با ایجاد یک اتصال هدایت انتقال () بر روی یک درگاهِ از پیش تعیین شده بر روی سرور (معمولاً درگاه شماره ؛ فهرست عددهای درگاه تی‌سی‌پی و یودی‌پی)، جلسه را آغاز می‌کند. سرور وب همواره بر روی درگاه در انتظار درخواست‌های کلاینت‌ها می‌باشد. بعد از دریافت درخواست ارسال شده، سرور با ارسال یک خط وضعیت و بدنه، پاسخ کلاینت را به او بازمی‌گرداند. بدنه بستهٔ پاسخ معمولاً حاوی منبع درخواست شده‌است؛ با این حال از آن برای ارسال خطا و اطلاعات دیگر نیز استفاده می‌شود.ساختاره بسته‌های پروتکل TCP[ویرایش]

در این قسمت ساختار یک بسته TCP را تشریح خواهیم کرد

  • فیلد source port: این فیلد ۱۶ بیتی آدرس پورت فرستنده را به همراه دارد
  • فیلد destination port: این فیلد ۱۶ بیتی آدرس پورت مقصد را که باید تحویل شود را دارا است.
  • فیلدSequence Number: این فیلد سی ودو بیتی شماره ترتیب آخرین بایتی را که در فیلد داده از بسته جاری قرار دارد را نشان می‌دهد.

در پرتکل TCP شماره ترتیب، بر حسب شماره آخرین بایتی است که در بسته جاری قرار دارد. به عنوان مثال اگر در این فیلد عدد ۱۹۳۴۱ قرار بگیرد به این معناست که داده‌ها تا بایت ۱۹۳۴۱ درون این فیلد داده‌ها قرار دارد.

فیلد nuber: این فیلد ۳۲ بیتی شماره ترتیبی بایتی است گیرنده بسته برای تأیید به فرستنده ارسال می‌کند که دادها تا بایت که در این فیلد قرار دارد به درستی دریافت شده‌است. به عنوان مثال اگر در این فیلد عدد ۱۲۳۶۵ قرار گرفته شود به این معنی است که دادها تا بایت ۱۲۳۶۵ صحیح و کامل دریافت شده‌است و در انتظار بایتهای ۱۲۳۶۷ به بعد می‌باشد.

فیلد قرارداد هدایت انتقال Length: عددی که در این فیلد قرار می‌گیرد طول کل سرآیند بسته TCP بر مبنای کلمات ۳۲ بیتی تعیین می‌کند. به عنوان مثال اگر در این فیلد عدد ۷ قرار بگیرد طول سر آیند بسته برابر است با ۲۸=۷*۴ بایت خواهد بود (این فیلد کلاً چهار بیتی است).

بیتهای flagپرچم: • بیت URG: در صورتی که در این بیت عدد ۱ قرار گیرد معین می‌شود که در فیلد Urgent Pointer مقدار قابل معتبری قرار دارد و بایستی مورد پردازش قرار گیرد. • بیت ACK: اگر در این بیت عدد ۱ قرار داشته باشد به این معنا است که در فیلد Acknowledgment number عدد معتبری قرار دارد. بیتهای ACKو SYN نقش دیگری نیز دارند که در ادامه بدان اشاره خواهد شد. • بیتPSH: اگر این بیت مقدار ۱ قرار گرفته باشد از گیرنده تقاضا می‌شود که داده‌های موجود را بافر نکرده و در اسرع وقت تحویل برنامه کاربردی صاحب آن شود. • بیت RST: اگر در این بیت عدد ۱ قرار گرفته شود به این معنی است که این ارتباط به صورت یک طرفه خاتمه یافته‌است. • بیت SYN: این بیت نقش اساسی در ارتباط یک بسته TCP بازی می‌کند. برقراری ارتباط یک طرفه TCP از روند زیر تبعیت می‌کند • شروع‌کننده ارتباط یک بستهTCP بدون هیچ داده‌ای و با تنظیم بیتهای ۱= SYN و ACK=۰ تقاضای یک ارتباط جدید می‌کند • در صورتی که طرف مقابل تمایل به بر قراری ارتباط داشته باشد برای طرف مقابل یک بسته با قرار دادن بیتهای ۱= SYN و ACK=۱ تمایل خود را برای برقراری ارتباط به طرف مقابل اعلام می‌کند • بیت FIN: اگر یکی از طرفین هیچ داده دیگری برای فرستادن نداشته باشد این بیت را در آخرین بسته برابر ۱ قرار می‌دهد و ارتباط را یک طرفه قطع می‌کند باید توجه داشته که ارتباط هنوز به‌طور کامل قطع نشده‌است و باید طرف مقابل نیز در آخرین بسته خود این فیلد را برابر ۱ قرار داده تا ارتباط کامل قطع شود.

فیلد Window size: مقدار قرار گرفته در این فیلد مشخص می‌کند که مقدار بافر گیرنده چند بایت دیگر فضای خالی دارد.

فیلد Checksum: در این فیلد ۱۶ بیتی کد کشف خطا قرار می‌گیرد

فیلد Segment length: در آن طول کل بسته TCP قرار می‌گیرد

فیلدUrgent Pointer: در این فیلد عدد به عنوان اشاره گر قرار می‌گیرد که موقعیت داده‌های اضطراری را درون بسته مشخص می‌کند. این داده‌ها زمانی اتفاق می‌افتد و ارسال می‌شود که عملی شبیه وقوع وقفه در هنگام اجرای یک برنامه کاربردی رخ دهد. بدون آنکه ارتباط قطع شود داده‌ها درون همین بسته جاری قرار گرفته و ارسال می‌شود. لازم است ذکر شود که از این فیلد لایه‌های بالاتر استفاده می‌کنند.


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

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

LISTEN

(سرور) بیانگر انتظار برای درخواست اتصال از هر TCP و پورت از راه دور است.

SYN-SENT

(مشتری) نشان دهنده انتظار برای درخواست اتصال مورد نظر، پس از ارسال درخواست اتصال است.

SYN-RECEIVED

(سرور) بیانگر انتظار تأیید برای اتصال درخواست‌شده، پس از دریافت و ارسال درخواست اتصال است.

ESTABLISHED

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

FIN-WAIT-1

(هم سرور و هم مشتری) نشانگر انتظار برای خاتمه اتصال TCP از راه دور یا تأییدیه درخواست خاتمه اتصال است که قبلاً ارسال شده است.

FIN-WAIT-2

(هم سرور و هم مشتری) نشان دهنده انتظار برای خاتمه اتصال TCP از راه دور است.

CLOSE-WAIT

(هم سرور و هم مشتری) نشان دهنده انتظار برای خاتمه اتصال از طرف کاربر محلی است.

CLOSING

(هم سرور و هم مشتری) نشانگر انتظار برای تصدیق درخواست خاتمه اتصال TCP از راه دور است.

LAST-ACK

(هم سرور و هم مشتری) نشان دهنده انتظار تأیید درخواست خاتمه اتصال است که قبلاً به TCP از راه دور ارسال شده است (که شامل تأیید درخواست خاتمه اتصال آن است).

TIME-WAIT

(یا سرور یا مشتری) نشانگر زمان انتظار کافی برای اطمینان از این است که TCP از راه دور تأیید درخواست خاتمه اتصال خود را دریافت کرده است.[مطابق با RFC 793 یک اتصال می تواند در مدت زمان حداکثر چهار دقیقه در زمان انتظار، منتظر بماند (MSL).]

CLOSED

(هم سرور و هم مشتری) به هیچ وجه حالت اتصال را نشان نمی دهند.

برقراری ارتباط[ویرایش]

برای برقراری ارتباط ، TCP از دست‌دهی سه طرفه استفاده می کند. قبل از اینکه مشتری سعی کند با یک سرور ارتباط برقرار کند ، سرور ابتدا باید به یک پورت متصل و به آن گوش کند تا آن را برای اتصالات باز کند: به این حالت، باز منفعل گفته می شود. پس از برقراری ارتباط باز منفعل ، مشتری ممکن است عمل باز فعال را آغاز کند. برای برقراری ارتباط ، دست‌دهی سه طرفه (یا 3 مرحله ای) رخ می دهد:

  1. SYN: باز کردن فعال توسط مشتری و از طریق ارسال SYN به سرور انجام می شود. مشتری تعداد دنباله سگمنت را برابر مقدار تصادفی A قرار می دهد.
  2. SYN-ACK: در پاسخ ، سرور با SYN-ACK پاسخ می دهد. شماره تأیید برابر با یکی بیشتر از تعداد دنباله دریافت شده یعنی A + 1 تنظیم شده است و شماره توالی که سرور برای بسته انتخاب می کند شماره تصادفی دیگری به نام B است.
  3. ACK: سرانجام ، مشتری ACK(پیام تایید مثبت) را به سرور ارسال می کند. شماره دنباله روی مقدار تأیید دریافتی یعنی A + 1 تنظیم شده است ، و شماره تأیید روی یک شماره بیشتر از شماره دنباله دریافت شده یعنی B + تنظیم می شود.

در این مرحله ، هر دو سرویس گیرنده و سرور تصدیق اتصال را دریافت کرده اند. مراحل 1 ، 2 پارامتر اتصال (شماره دنباله) را برای یک جهت ایجاد می کند و تأیید می شود. مراحل 2 ، 3 پارامتر اتصال (شماره دنباله) را برای جهت دیگر ایجاد می کند و تأیید می شود. با اینها ، یک ارتباط کاملاً دوطرفه برقرار می شود.

منابع کشش[ویرایش]

۱.

پی‌نوشت‌ها[ویرایش]