سلام دوستان امیدوارم که حالتون خوب باشه
حتما از آرشیو دیدن کنید
بیتهای کنترل TCP کد بیتها قسمت قابل کاربد . خاصی از عنوان TCP می باشند.این شش زمینه کوچک (هر کدام یک بیت طول دارند) شرح میدهند که کدام بخش از دوره کار بسته TCP با چه چیزی همراه است (مثل شروع دوره کا،تاییدیه،یا دوره کاری که گسسته می شوند).البته،بیتهای کنترل می توانند دلالت نمایند که آیا بسته نرم افزاری به کنترل خاص و ناگهانی توسط لایه TCP نیاز دارد.
چون بیشتر افراد بیتهای کنترل TCP را "کد بیت" مینامند به همین خاطر در ادامه من از این واژه استفاده می کنم.هر کد بیت را میتوان به طور مستقل تنظیم کرد،بنابراین،عنوان مجزایی از بسته TCP می تواند شامل یک یا چند از شش کدبیت باشد که مقدار صفر و یک دارند.معمولا تنها یک یا دو کد بیت به مقدار یک در بسته داده شده تنظیم می شود. تک تک کد بیتها دارای مفهیم زیر می باشند:
URG : اشاره گر فوری یا Urgen Pointer که در زمینه TCP Header مهم می باشد.
ACK : در زمینه Acknowledment مهم است. این بسته برای تصدیق بسته های اولیه استفاده می شود.
PSH : این مفهوم به معنای Push Function می باشد و برای روشن نمودن داده ها در سراسر لایه TCP به کار می رود.
RST : ارتباطی که باید بواسطه خطا یا نقص فنی دیگر از نو تنظیم گردد.
SYN : سیستم باید شماره مراحل کار را هماهنگ نماید.این کد بیته در طول استقرار دوره کار استفاده می گردد.
FIN : داده های بیشتری از طرف سرویس دهنده وجود ندارد.بنابراین،دروره کار باید از هم گسسته شود.
اهمیت کنترل بیتهای TCP وقتی معلوم می شود که ما روش شروع به کار اولیه TCP را مورد تحلیل و بررسی قرار دهیم.کلیه ارتباطات منطقی TCP با استفاده از اتصال سه راه برقرار می گردد. و ابزار پایه برای انجام کا TCP صورت می گیرد.اتصال سه راهه به سیستم اجازه می دهد تا دوره کار را باز نماید و مجمو عه ای از اعداد مراحل کار را برای بسته هایی برقرار می کند که از طریق دوره کار استفاده می شوند.
فزض کنید که دستگاهی مثل A دارای داده هایی می باشد که باید به سیستمی چون B ارسال شوند شاید A در حال اجرای مرورگر وب باشد و B نیز سرویس دهنده وب باشد.A اتصال سه راه را با برقراری ارتباط TCP و با ارسال بسته ای با کد بیت مساوی با یک و شماره مراحل کار مساوی با یک مقدار اولیه (که شماره مرحله کار اولیه نامیده می شود) ارسال می نماید (چون این شماره مرحله کار از طرف A می آید و آنرا ISNA می نامیم). این شماره مرحله کار اولیه به طور دینامیکی با لایه TCP تعیین می شود و برای این ارتباط منحصر به فرد است.
B این بسته TCP TYN را از طرف A دریافت می کند.اگر دروازه مقصد از طرف بسته نرم افزاری بر روی B باز باشد.B دومین بخش از اتصال سه راهه را با A انجام می دهد. B بسته مجزایی را با دو مجموعه کد بیت ACK و SYN به A ارسال می کند.در این تک بسته پاسخ،B زمینه های Acknowledgment Number و Sequence Number را نیز پر می کند.با این پاسخ، B پیغامی با این مضمون را ارسال می نماید.A ،من درخواست برقراری دوره کارتان را و Initial Sequence Number A را تصدیق می کنم و آنرا با استفاده از Initial Sequence Number B هماهنگ (SYN) خواهم نمود. بنابراین B بسته SYN-ACK را با ISNB ، و همراه با تاییدیه ISNA ارسال بسته ای با مجموعه کدبیت ACK و یک تاییدیه (AKC) و به ISNB کامل خواهد نمود.
بدین طریق ،A و B از کدبیت ها برای برقراری دوره کار TCP استفاده کرده اند. ه دو طرف با مجموعه شماره مراحل کاری توافق کرده اند که در ارتباط استفاده خواهد شد.تمام بسته هایی که از طرف A به سمت B می روند به شکل نمودی دارای شماره مراحل کار بالاتر می باشند و این شماره در هر هشت بیت داده ها یک شماره زیاد می گردد و این داده ها از طرف A به سمت B می رود، واز ISNA شروع می شود. همچنین،تمام بسته هایی که از طرف B به سمت A برمی گردند شماره مراحل کاری خواهند داشت که از ISNB شروع می شود و برای هشت بیت از داده ها افزایش می یابد.بعلاوه، بسته ها شماره تصدیق هایی خواهند داشت که بر پایه شماره مراحل کار بسته هایی دریافتی می باشد.
با این مبادله و توافق دقیق در شماره مراحل کار، TCPاکنون می تواند اطمینان دهد که تمام بسته ها در دوره کار با مرتبه مناسب می رسند.اگر دو بسته نرم افزاری در انتقال معکوس گردند (برای مثال،به خاطر اینکه بسته بعدی مسیر کوتاهتری از بسته اولیه می رسد)،این لای TCP می تواند مشکل را کشف نماید و بسته ها را قبل از عبور به نرم افزار کاربردی از نو مرتب نماید.بعلاوه،اگر بسته ای در طول انتقام گم شود. TCP می تواند مساله را با یک نگاه در شماره مراحل کار و تصدیق کشف کند و بسته گم شده را از نو انتقال دهد.
بنابراین اتصال سه راهه و شماره مراحل کار که از آن حاصل می شود، امکان انتقال های منطقی و مرتب شده برای TCP فراهم می اورد.
در حالی که کدبیتهای ACK و SYN به شدت برای برقراری دوره کار استفاده می شوند. کدبیت FIN برای گسستن دوره کار استفاده می گردد.هر طرف بسته ای را با مجموعه کد بیت FIN ارسال می نماید تا نشان دهد که دوره کار باید خاتمه یابد.
کد بیت RST برای قطع ارتباطات و باز نمودن شماره مراحل کار استفاده می شود.اگر دستگاهی بسته ای در دریافت نماید که انتظار دریافت آن ندارد (مثل بسته ای که شامل مجموعه بیت ACK می باشد وقتی هیچ دوره کاری برقرار نشده است)، با بسته ای به آن پاسخ خواهد داد که دارای مجموعه بیت RST می باشد و به این مضنون می باشد که اگر فکر می کنید دوره کاری وجود دارد،آن را باز نمایید،برای اینکه ماشین نمی تواند مد نظرتان چه چیزی می باشد.
کد بیت های URG و PSH کمتر از چهار کدبیت دیگر مورد اسنفاده قرار می گیرند.کد بیت URG به معنای آن می باشد که جریان داده ها شامل یکسری داده های فوری می باشند.اگر کدبیت URG مساوی با یک قرار گیرد، زمینه Urgent Pointer نشان خواهد داد که در کجای جریان داده ها، داده های فوری واقع شده اند.TCP روش کنترل داده های فوری را با نرم افزار کاربردی برای طرف دیگر ارتباط نشانه گذاری نماید.کد بیت PSH به معنای آن است که لایه TCP باید از درون توده لایه ها سریعا روشن گردد،و نباید برای ارسال بعدی منتظر بماند.