TCP چيست (لايهTransport)؟ارسال اطلاعات Three-Way Handshake
محتوای مقاله TCP
در مقاله هاي قبلي مدل OSI را كامل بررسي كرديم كه شامل 7 لايه و انواعي از پروتكل ها بود و در هر لايه عملكرد هاي روي بسته ديتا انجام ميشود كه در نهايت از فرستنده به گيرنده ارسال و دريافت صورت ميگرفت .
در لايه Transport پروتكل اي تحت عنوان TCP وجود داشت اين پروتكل مخفف Tranmission Control Protocol است كه امكان توزيع و عرضه اطلاعات بين دو سيستم را با اعتماد و يررسي بالا انجام ميدهد ،مي بايست قبل از ارسال داده ، ارتباط بين دو سيستم برقرار گردد و پس از برقراري ارتباط امكان ارسال اطلاعات براي صرفا اتصال ايجاد شده فراهم ميگردد.
به زبان ساده تر TCP مسئول اينه كه داده ها به صورت درست ، كامل و به ترتيب از يك سيستم به سيستم ديگر برسن.
كاربرد TCP
- تقسيم داده ها به بسصته هاي كوچك تر و ارسال آنها
- اطمينان از رسيدن بسته (اگر به درستي ارسال نشوند ارتباط براي ارسال دوباره را انجام ميدهد)
- بر اساس درستي بسته ها را مرتب سازي ميكند.
- برقراري ارتباط پايدار بين فرستنده و گيرنده (Handshake)
- كنترل ترافيك و شلوغي شبكه
Handshake پروتكل TCP
پروتكل TCP Connection Oriented است يعني قبل از ارسال اطلاعات يك ارتباط ايمن و بدون قطعي بين دو سيستم ايجاد ميشود و سپس ارسال اطلاعات انجام ميشود . اين ارتباط بين دو سيستم توسط پرچم (Flag) در بسته هاي اطلاعات ماند SYN , SYN-ACK ,ACK انجام ميشود ، براي مثال با فرض اينكه يك كاربر ميخواهد با يك سرو ارتباط برقرار كند مراحل براي ارتباط توسط TCP به صورت زير پيش ميرود.(مطابق تصوير زير)
مرحله 1- كاربر يك بسته با Flag تحت عنوان SYN براي سرور ارسال ميكند( يعني داخل بسته به سرور ميگه من ميخوام با شما يك ارتباط برقرار كنم آيا حاضري؟)
مرحله 2- سرور در پاسخ به كاربر بسته اي با Flag تحت عنوان SYN-ACKارسال ميكند.(يعني سرور در جواب به كاربر ميگه درخواست شما به دست من رسيد و من حاضر هستم )
مرحله 3- كاربر بسته اي با Flag تحت عنوان ACK ارسال مكيند .(يعني پاسخ براي ارتباط با شما براي من ارسال شد)
در نهايت بعد از اين مراحل اتثال برقرار ميشود و ارسال داده شروع ميشود .
Flag(پرچم) چيست ؟
در پروتكل TCP كه درباره آن صحبت كرديم ، براي برقراري ارتباط يا قطع كردن ارتباط يا هر چيزي ديگر اين Flag هاي در هدر هاي بسته تايين كننده عملكرد هستند . يعني اگر به صورت مفهومي بخواهيم بگيم ، بسته هاي ارسالي در لايه هاي مدل OSI زمان انتقال بسته ها از هر لايه به لايه يعدي از فرستنده نيز هدر هاي به آن ها اضافه ميشود و برعكس از سمت گيرنده اين هدر ها كم ميشوند ، حالا درون اين هدر ها Flag يا پرچم هاي مختلف مانند SYN , SYN-ACK ,ACK , FIN, RST و… وجود دارد كه هر كدام كار خاصي را براي بسته ها تايين ميكنند.
SYNيعني :
مخفف Synchronize است كه براي شروع اتصال استفاده ميشود يعني از به گيرند اطلاع ميدهد كه ميخواهم ارتباط برقرار كنم.
SYN-ACK يعني :
تركيبي از SAN و ACK كه تركيبي از مخفف Synchronize و Acknwledgment است و اعلام ميكند من آماده هستم براي برقراري ارتباط و پيام قبلي كاربر ارسال كننده را با پرچم SYN دريافت كردم و آمادگي كامل دارم.
ACK يعني :
مخفف Acknwledgment است يعني دستور كه ارسال كرد را دريافت كردم و حالا به دنبال مراحل بعدي هستم تا ارتباط خود را تكميل تر كنم .
پروتكل هاي كه از TCP استفاده ميكنند ؟
پروتكل هاي براي صحت اطلاعات ، اعتماد براي برقراري ارتباط و پايداري ارتباط خود از TCP استفاده ميكنند مانند موارد زير :
برای ارتباط وب : HTTP , HTTPS
براي ارتباط ايميل : SMTP , IMAP , POP3
براي انتقال فايل : FTP , FTPS , SFTP
براي دسترسي و مديريت :SSH , Telnet
براي اشتراك گذاري و سرويس ها : SMB ,CHFS ,LDAP , RDP
دیدگاهتان را بنویسید