پروتکل هدایت انتقال: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
جز اضافه کردن قسمت عملگرهای انتقال
خط ۸۲:
| colspan="32" bgcolor="#FFCC88" | Options (if Data Offset > 5, padded at the end with "0" bytes if necessary){{سخ}}...
|}
 
== عملگرهای قراردادها ==
عملگرهای پروتکل TCP به سه فاز مختلف تقسیم می‌شود. اتصالات باید قبل از ورود به مرحله انتقال داده ها ، بطور صحیح در یک فرآیند دستیابی چند مرحله ای (ایجاد اتصال) برقرار شوند. پس از اتمام انتقال داده ، پایان اتصال مدارهای مجازی مستقر را بسته و کلیه منابع اختصاص داده شده را آزاد می کند. اتصال TCP توسط یک سیستم عامل از طریق منبعی که نقطه انتهاییِ محلی، برای ارتباطات که سوکت اینترنت را نشان می دهد ، مدیریت می شود. در طول عمر یک اتصال TCP ، نقطه انتهایی محلی، دستخوش یک سری از تغییر حالت ها می شود<ref>{{یادکرد وب|عنوان=Transmission Control Protocol|نشانی=https://tools.ietf.org/html/rfc793.html|وبگاه=tools.ietf.org|بازبینی=2020-07-17|کد زبان=en|نام=J.|نام خانوادگی=Postel}}</ref>:
 
'''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<ref>{{یادکرد وب|عنوان=Transmission Control Protocol|نشانی=https://tools.ietf.org/html/rfc793.html|وبگاه=tools.ietf.org|بازبینی=2020-07-17|کد زبان=en|نام=J.|نام خانوادگی=Postel}}</ref> یک اتصال می تواند در مدت زمان حداکثر چهار دقیقه در زمان انتظار، منتظر بماند (MSL).]
 
; CLOSED
 
(هم سرور و هم مشتری) به هیچ وجه حالت اتصال را نشان نمی دهند.
 
=== برقراری ارتباط ===
برای برقراری ارتباط ، TCP از دست‌دهی سه طرفه استفاده می کند. قبل از اینکه مشتری سعی کند با یک سرور ارتباط برقرار کند ، سرور ابتدا باید به یک پورت متصل و به آن گوش کند تا آن را برای اتصالات باز کند: به این حالت، باز منفعل گفته می شود. پس از برقراری ارتباط باز منفعل ، مشتری ممکن است عمل باز فعال را آغاز کند. برای برقراری ارتباط ، دست‌دهی سه طرفه (یا 3 مرحله ای) رخ می دهد:
 
# '''SYN''': باز کردن فعال توسط مشتری و از طریق ارسال SYN به سرور انجام می شود. مشتری تعداد دنباله سگمنت را برابر مقدار تصادفی A قرار می دهد.
# '''SYN-ACK''': در پاسخ ، سرور با SYN-ACK پاسخ می دهد. شماره تأیید برابر با یکی بیشتر از تعداد دنباله دریافت شده یعنی A + 1 تنظیم شده است و شماره توالی که سرور برای بسته انتخاب می کند شماره تصادفی دیگری به نام B است.
# '''ACK''': سرانجام ، مشتری ACK(پیام تایید مثبت) را به سرور ارسال می کند. شماره دنباله روی مقدار تأیید دریافتی یعنی A + 1 تنظیم شده است ، و شماره تأیید روی یک شماره بیشتر از شماره دنباله دریافت شده یعنی B + 1 تنظیم می شود.
در این مرحله ، هر دو سرویس گیرنده و سرور تصدیق اتصال را دریافت کرده اند. مراحل 1 ، 2 پارامتر اتصال (شماره دنباله) را برای یک جهت ایجاد می کند و تأیید می شود. مراحل 2 ، 3 پارامتر اتصال (شماره دنباله) را برای جهت دیگر ایجاد می کند و تأیید می شود. با اینها ، یک ارتباط کاملاً دوطرفه برقرار می شود.
 
== منابع ==