پروتکل TCP چیست؟
پروتکل TCP چیست؟
✅transmission control protocol یا پروتکل TCP استاندارد اینترنتی است که تبادل موفقیت آمیز بسته های داده را بین دستگاه ها از طریق شبکه تضمین می کند.
✅TCP پروتکل ارتباطی اساسی برای طیف گسترده ای از برنامه ها ، از جمله سرورهای وب و وب سایت ها ، برنامه های ایمیل ، FTP و برنامه های همتا است.
✅TCP با پروتکل اینترنت (IP) کار می کند تا نحوه تبادل داده ها بصورت آنلاین مشخص شود. IP وظیفه ارسال هر بسته به مقصد خود را دارد ، در حالی که TCP تضمین می کند که بایت ها به روشی که در آن ارسال شده اند بدون خطایی منتقل می شوند. با هم ، به دو پروتکل TCP / IP گفته می شود.
✅در لایه چهارم شبکه دو نوع پروتکل tcp و udp رو داریم که اتصال گرا و غیر اتصال گرا نامیده می شوند.
Handshake چیست؟
?فرض کنید شما با دوست خود می خواهید ارتباط برقرار کنید، ابتدا دوست خود را صدا میزنید و وقتی که اون برگشت به شما نگاه کرد، سلام می گویید و احتمالا شما هم در جواب او سلام می گویید، خب در این سناریو و در مرحله اول شما رفیق خود را صدا می زنید، در مرحله دوم کلمه سلام را از دوست خود دریافت می کنید و در مرحله سوم هم جواب دوست خود را با سلام می دهید که با این کار ارتباط شما با دوست خود برقرار می شود. حالا میتوانید ادامه صحبت های خود را با دوستتان در میان بزارید.
?زمانی که شما بخواهید در دنیای اینترنت و شبکه یک ارتباط با سیستم یا سرور برقرار کنید کامپیوتر ها به صورت خودکار یک پکت ارسال می کنند که با نام syn شناخته می شود و طرف مقابل که این پیام را دریافت می کند یک پیام syn+ack به سمت فرستنده ارسال می کند و فرستنده هم یک ack به سمت مقابل می فرستد و ارتباط برقرار می شود حالا کامپیوتر ما با کامپیوتر مقابل ارتباط برقرار کرده و اقدام به رد و بدل کردن داده ها و درخواست ها می کنند.
?پروتکل tcp، برای برقراری ارتباط از یک دست تکانی (handshake) سه مرحله ای استفاده می کند تا از برقراری ارتباط با طرف مقابل اطمینان حاصل شود و با این روش برقراری ارتباط، شما قادر خواهید بود که از ارسال و دریافت کامل داده ها اطمینان حاصل کنید.
?برقراری اتصال TCP مستلزم آن است که هم مشتری و هم سرور در آنچه که به عنوان three-way handshake شناخته می شود ، شرکت کنند. این روند به شرح زیر تقسیم می شود:
- مشتری یک بسته SYN – درخواست اتصال از پورت منبع خود را به پورت مقصد سرور ارسال می کند.
- سرور با یک بسته SYN / ACK پاسخ می دهد ، و تایید درخواست اتصال را تأیید می کند.
- مشتری بسته SYN / ACK را دریافت می کند و با بسته ACK خود پاسخ می دهد.
?پس از برقراری اتصال ، TCP با تجزیه داده های منتقل شده به بخش ها ، کار می کند که هر یک از آن ها در یک دیتاگرام بسته بندی شده و به مقصد خود ارسال می شود
?برای مثال هنگامی که شما با استفاده از http که یک پروتکل برای وب می باشد به سایتی درخواست می فرستید، این پروتکل به دلیل tcp بودن، از اینکه کل داده های سایت را دریافت کرده است تا سایت به ما کامل نمایش داده شود اطمینان حاصل می کند.
?در پروتکل tcp اگر در هنگام ارسال و دریافت داده ها، داده ای خراب شود یا حین ارسال به هر دلیلی پکت ها خراب شوند، میزبان متوجه می شود که این پکت ها خراب هستند و درخواست ارسال دوباره پیام ها را می کند که این کار با استفاده از ack number موجود در هدر tcp انجام می شود.
?به اینصورت که اگر هر بسته ای را دریافت نکند هیچ پیغام ack جدیدی نمی دهد و مجدد پیغام ack قبلی را می فرستد تا دوباره بسته های جدید ارسال شوند
ساختار هدر TCP:
?TCP هر بسته داده را با یک هدر که شامل ۱۰ قسمت اجباری است که در مجموع ۲۰ بایت (یا اکتنت) پیچیده می کند. هر هدر اطلاعات مربوط به اتصال و داده های جاری ارسال شده را نگه می دارد.
۱۰ قسمت هدر TCP به شرح زیر است:
?Source port: پورت دستگاه ارسال کننده.
?Destination port: پورت دستگاه دریافت کننده.
?Sequence number: دستگاهی که اتصال TCP را آغاز می کند باید یک عدد دنباله اولیه تصادفی را انتخاب کند ، که پس از آن با توجه به تعداد بایت های منتقل شده افزایش می یابد.
?Acknowledgment number: دستگاه دریافت کننده شماره تأیید را از صفر شروع می کند. این تعداد را با توجه به تعداد بایت دریافتی افزایش می دهد.
?TCP data offset: این اندازه هدر TCP را بیان می کند که با کلمات ۳۲ بیتی بیان شده است. یک کلمه نشان دهنده چهار بایت است.
?Reserved data: قسمت رزرو شده همیشه روی صفر تنظیم شده است.
Control flags: پروتکل TCP از ۹ پرچم کنترلی برای مدیریت جریان داده در موقعیت های خاص مانند آغاز تنظیم مجدد استفاده می کند.
?Window size TCP checksum: فرستنده checksum را تولید می کند و آن را در هر هدر بسته انتقال می دهد. دستگاه دریافت کننده می تواند از checksum برای بررسی خطاهای موجود در سربرگ دریافتی و بارگیری استفاده کند.
?Urgent pointer: اگر پرچم کنترل URG تنظیم شده باشد ، این مقدار جبران کننده ای از شماره دنباله را نشان می دهد و آخرین بایت فوری داده را نشان می دهد.
?mTCP optional data: اینها فیلدهای اختیاری برای تنظیم حداکثر اندازه قطعه ، تأییدیه های انتخابی و امکان مقیاس گذاری پنجره برای استفاده بیشتر از شبکه های پهنای باند هستند.
فواید اصلی پروتکل TCP:
?توسط tcp می توانید 100% اطمینان کامل از این موضوع داشته باشید که فایل شما به مقصد می رسد، به موقع می رسد و داپلیکت ( تکراری ) نخواهد بود.
?در پروتکل tcp همه چیز توسط سیستم عامل پیش خواهد رفت. حتی رفع مشکلات احتمالی را سیستم عامل به طور اتوماتیک حل خواهد کرد. در نتیجه می توانید استراحت کنید تا همه کار ها خود به خود پیش بروند.
?tcp به صورت اتوماتیک دیتا ها را برای شما بخش بخش خواهد کرد. این کار یکی از عوامل موثر در سرعت دانلود شما خواهد بود.
مضرات پروتکل TCP:
?از آنجایی که همه کار ها توسط سیستم عامل پیش می روند، در نتیجه ممکن است به خاطر مشکلات داخل سیستم عامل، با مواردی مانند مشکل در وب گردی یا دانلود از اینترنت رو به رو شوید.
?از tcp نمی شود به عنوان برودکست یا پخش کننده استفاده کرد. به عنوان مثال، توسط tcp نمی توانید یک سیستم پخش آنلاین ویدئو راه اندازی کنید.
دیدگاهتان را بنویسید