لايه TCP:
پروتوکل کنترل کننده انتقال داده (TCP) اطلاعات اتصال را به بسته مي افزايد.
TCP تضمين مي کند که داده ها صحيح و سالم ارسال مي شوند و اگر در بين مسير داده دچار مشکل شود فرستنده يک پيام خطا دريافت مي کند. در هر اتصال يا TCP session بسته داده حاوي اطلاعاتي در رابطه با ايجاد اتصال است. همين که اتصال برقرار شد برنامه تحت شبکه ديگر نيازي به کسب اطلاع در مورد بسته هاي گمشده يا خراب شده در حين انتقال بين ادوات شبکه را ندارد.
TCP header داراي بخش هاي گوناگوني است که هر کدام با عمل خاص در اتصال TCP ارتباط دارند. بعضي از آنها عبارتند از :
الف) تميز دادن چندين اتصال بين دستگاه ها ( توسط شماره پورت مبدا و مقصد)
ب) پيگيري ترتيب بسته ها يا تقاضاي ارسال مجدد بسته ها گم شده(توسط شماره ترتيب ياsequence و شماره acknowledgment)
ج) برقراري و قطع اتصال بين دستگاه ها(کامپيوترها) براي ارسال داده ( توسط فلگهاي TCP)
شماره پورت برنامه هاي TCP:
TCP از پورت براي مشخص کردن تک تک اتصال هاي TCP براي يک کارت شبکه استفاده مي کند.
براي اينکه شما بتوانيد با کامپيوتر ديگري در شبکه اتصال برقرار کنند به دو چيز نيازمنديم
1-آدرس IP کامپيوتر مقصد
2- شماره پورت از نوع TCP براي برنامه کامپيوتر مقصد
بگذاريد اين دو را با مثالي روشن کنيم :
فرض کنيد شما مي خواهيد براي کسي نامه ارسال کنيد ، در ابتدا بايد آدرس خانه آن شخص را داشته باشيد( همان شماره IP) حال که نامه به مقصد رسيد از روي نامي که شما روي پاکت نوشته ايد تضمين مي شود که نامه بايد بدست چه کسي برسد( که اين همان شماره پورت است)
به اين معنا که وقتي بسته داده به کامپيوتر مقصد رسيد در آنجا بايد تعيين شود که اين بسته متعلق به کدام نرم افزار است. در نظر بگيريد هنگامي که بسته داده به کامپيوتر شما مي رسد چندين نرم افزار در حال اجرا منتظر بسته داده باشند. در اين شرايط اين شماره port است که تعيين ميکند بسته داده بايد به کدام نرم افزار تحويل داده شود.
کامپيوتر A دو نرم افزار server را اجرا مي کنند که منتظر بسته هايي هستند که از Client ها ارسال شده اند يکي از برنامه ها شماره پورت 8000 و ديگري شماره پورت 9000 را دارد کامپيوتر b يک client است که مي خواهد با برنامه روي server اتصال برقرار کند. براي کامپيوتر client نيز لازم است که به يک شماره پورت الحاق شود ولي اين شماره مهم نيست(چرا؟)
جواب چرا : اگر نخواهد بسته اي از سرور دريافت کند مهم نيست در غير اينصورت server از اطلاعات بسته اي که از client دريافت کرده شماره IP و port ان client را بدست آورده و داده هاي درخواستي را به آن ها ارسال مي کند.
نکته : به ترکيب IP و port يک endpoint مي گويند.
جدول زير ليستي از برخي شماره هاي پورت TCP مي باشد.
براي مثال پورت 80 مخصوص http است نرم افزار Internet Explorer روي اين پورت منتظر دريافت داده مد باشد.
منبع:http://www.academist.ir