درک شماره Sequence و Acknowledgment در پروتکل TCP

اعداد Sequence و Acknowledgment در پروتکل TCP این امکان را فراهم می کنند تا انتقال داده ها به صورت قابل اطمینان انجام گیرد.به بیان دیگر با استفاده از این شماره ها مطمئن می شویم تا تمام بسته ها و داده هایی که از پروتکل TCP انتقال می یابند، سالم و کامل به مقصد خواهند رسید. در این مطلب به شما کمک خواهیم کرد تا به راحتی شماره Sequence و Acknowledgment در پروتکل TCP را درک کنید.

شماره seq توسط کلاینت به سرور ارسال می شود و مشخص می کند که چه مقدار داده (بر حسب بایت) برای آن ارسال شده است. شماره ack نیز توسط سرور به کلاینت ارسال می شود و اعلام می کند که داده ها را به طور کامل دریافت کرده و برای دریافت بخش (segment) بعدی آماده است.

اعداد seq و ack با یکدیگر هماهنگ بوده و نقش کلیدی در هنگام ایجاد ارتباط، تبادل داده و بستن ارتباط دارند.

wireshark (برنامه برای آنالیز ترافیک شبکه) ، به طور پیش فرض شماده های seq و ack را به مقادیر نسبی تبدیل می کند. این بدان معنی است که این شماره ها برای اولین بسته مشاهده شده در هر مکالمه یا تبادل به 0 تبدیل می شوند.

تصویر زیر یک مثال واقعی از شماره های seq و ack در یک نمودار جریان TCP را نشان می دهد. متغیر کلیدی، طول سگمنت برای هر سگمنت ارسال شده در تبادل است.

شماره Sequence و Acknowledgment در پروتکل TCP

شماره Sequence و Acknowledgment در پروتکل TCP

کلاینت (client) بخش (سگمنت) اول داده ها را با seq=1 ارسال می کند و طول سگمنت 699 بایت است. سرور با ack=670 به کلاینت پاسخ می دهد و به آن می گوید که آماده دریافت بخش بعدی اطلاعات با شماره seq=670 است.

سگمنت بعدی که کلاینت ارسال می کند، seq=670 است و len (طول سگمنت) برابر با 1460 بایت است. حال نوبت سرور است که پاسخ کلاینت را بدهد. سرور یک ack=2130 (670+1460) را به کلاینت ارسال می کند. این چرخه تا زمان پایان جلسه یا session پروتکل TCP ادامه دارد.

توجه داشته باشید که منظور از طول در اینجا، طول سگمنت در TCP است، نه طول فریم در لایه 2 یا طول بسته IP.

Seq و Ack در Wireshark

کلاینت seq=1 و طول سگمنت TCP را برابر 699 قرار می دهد (len=699) :

سرور با Ack=670 پاسخ می دهد:

کلاینت seq=670 و len=1460 را ارسال می کند:

سرور نیز با ack=2130 پاسخ می دهد:

البته تمام این ها تنها پایه و اساس درک و فهمیدن کل پروتکل tcp و اعداد seq و ack هستند.

QR:  درک شماره Sequence و Acknowledgment در پروتکل TCP
به اشتراک بگذارید