در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

نحوه محاسبه (عملکرد) کنترلی TCP و هدر TCP (هدر checksum)

در مقاله قبل

به صورت مختصر راجع به هدر IP صحبت شد

اینبار نوبت هدر Check sum می باشد که توضیحاتی را در ذیل عکس قرار می دهم.

نحوه محاسبه (عملکرد) کنترلی TCP و هدر TCP (هدر checksum)

نحوه محاسبه (عملکرد) کنترلی TCP و هدر TCP

تشخیص خطاهای انتقال با استفاده از کنترلرها

برای فراهم نمودن امنیت پایه ای در مقابل خطاها حین انتقال، TCP/IP در هدر خود دارای یک فیلد کنترلی 16بیتی می باشد.تفکری که در پس این کنترلر می باشد مستقیم و رو به جلو است.

به عبارتی: دریافت یک عبارت(رشته) از داده ها بر حسب بایت و افزودن آنها به همدیگر. سپس مجموعه را به همراه رشته داده ای ارسال نموده و دریافت کننده مجموعه را کنترل می کند.

در TCP برای محاسبه این کنترلر(چک سام) بوسیله دستگاه ارسال کننده قطعه الگوریتم بخصوصی بکار میرود و سپس الگوریتم مشابهی در گیرنده برای کنترل داده رسیده و اطمینان از صحت انتقال و عدم وجود خطا استفاده میشود.

محاسبه کنترلی بکار رفته در TCP نسبت به الگوریتم کنترلی منظم یک بیت تفاوت دارد.

نحوه محاسبه (عملکرد) کنترلی TCP و هدر TCP (هدر checksum)

یک کنترلر معمولی بر روی همه بایتهایی که چک سام برای محافظت در نظر گرفته است اجرا می شود و می تواند در هریک از آن فیلدها بیشترین خطاها را تشخیص دهد

براساس محاسبه checksum قسمت شبه هدر TCP قبل از سگمنت TCP به طور منطقي قرار داده مي شود و Checksum محاسبه مي گردد هم بر اساس سگمنت TCP هم بر اساس شبه هدر .

شبه هدر هنگامي كه قسمت TCP به مقصد مي رسد نرم افزار TCP دريافتي همان محاسبات را انجام مي دهد . آن شبه هدر را شكل مي دهد و قسمت واقعي TCP و سپس checksum را اجرا مي كند.

(تنظيم مي كند checksum را به 0 وبراي محاسبه همانند قبل اگر مقدارش با فرستنده يكي نبود در checksum قرار مي دهد اين نشان مي دهد كه يك خطاي ترتيبي اتفاق افتاده و سگمنت به صورت طبيعي از بين رفته است)

چک سام از لايه 3 به لايه 2 تمام data را ميگيرد و يك check sum یا یک شبه هدر به تريلر آن اضافه ميكند

شبه هدري كه به check sum اضافه مي شود حاوي اطلاعات مبداً و مقصد استSource IP Address و Destination IP Address

همچنين بعد از اين داده كنترلي را اضافه ميكند كه همان الگوریتمي است كه مقصد بايد از آن پيروي كرده براي چك كردن بسته پس از رسيدن بسته توسط گیرنده آن الگوريتم استخدام شده و برای بررسی داده های دریافتی آن و اطمینان حاصل شود که در بسته هیچ خطايي وجود ندارد

توضیح مختصر در مورد نحوه کار کردن چک سام : يك فیلد كه شانزده بیتی است به منظور كشف خطاهای احتمالی در سرآیند هر بستة IP استفاده می شود. برای محاسبة كد كشف خطا، كل سرآیند بصورت دو بایت، دوبایت با یكدیگر جمع می شود. نهایتاً حاصل جمع به روش ”مكمل یك” (Ones Compelement) منفی می شود و این عدد منفی در این فیلد سرآیند قرار می گیرد. در هر مسیریاب قبل از پردازش و مسیریابی ابتدا صحت اطلاعات درون سرآیند بررسی می شود. روش بررسی بدینصورت است كه اگر تمامی سرآیند بصورت دو بایت، دوبایت در مبنای مكمل یك با یكدیگر جمع شود باید حاصل جمع، صفر بدست آید؛ درغیر این صورت بستة IP فاقد اعتبار بوده حذف خواهد شد.

دقت كنید كه فیلد Checksum در هر مسیریاب باید از نو محاسبه و مقداردهی شود زیرا وقتی یك بستة IP وارد یك مسیریاب می شود حداقل فیلد TTL از آن بسته عوض خواهد شد.

فیلد Checksum برای كشف خطاهای احتمالی درون داده های فیلد Payload استفاده نمی شود چرا كه اینگونه خطاها در لایه پایین تر یعنی لایه فیزیكی معمولاً اوسط كدهای CRC نظارت می شود؛ در ضمن لایه های بالاتر نیز مسئلة خطا را بررسی می كنند. در حقیقت این فیلد برای كشف خطاهایی است كه یك مسیریاب در تنظیم سرآیند یك بستة IP مرتكب شده است.


نویسنده : فرهاد خانلری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#محاسبه_عملیات_checksum #هدر_چک_سام
1 نظر
sinaelm

راستش من احساس کردم که قسمت محاسبه ی سرآیند جمع کنترلی (Header Checksum) رو میشه کمی بهتر توضیح داد واس همین یکبار دیگه همون قسمت مقالتون رو با زبون خودم مینویسم. البته با اجازه ی شما :)

همونطور که اشاره کردین هدف از چک سام اطمینان از صحت قسمت هدرها میباشد. بدین منظور فرستنده چون 16 بیت برای هدر چک سام دارد، بیت های بسته ی آی پی را 16 تا 16 جدا کرده و بدون در نظر گرفتن بیت های بخش چک سام، سایر قسمت ها را باهم جمع می کند و اگر حاصل این جمع ها از 16 بیت بیشتر شد، بیت های 17 به بعد را دوباره با 16 بیت قبلی جمع میکند تا حاصل را بتواند در 16 بیت چک سام قرار دهد. سپس از 16 بیت حاصله، مکمل یک میگرد تا صورت منفی شده ی آن را در هدر چک سام قرار می دهد.

مشابه اعمال بالا در گیرنده هم رخ می دهد با این تفاوت که دیگر بیت های هدر چک سام را صفر در نظر نمیگیرد. طبیعی است که انتظار رود اگر بیت ها تغییری نکرده باشند، حاصل جمع باید صفر شود، در غیر این صورت متوجه می شویم که خطایی رخ داده است.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....