قرارداد داده‌نگار کاربر: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
خط ۷۳:
روشی که برای محاسبه چک‌سام مورد استفاده قرار می گیرد در RFC 768 تعریف شده است:
<blockquote>''این کد حاصل جمع سرآیند، داده‌ها و یک «شبه فرآیند فرضی» (Pseudoheader) است. قالب شبه سرآیند فرضی در جدول پایین آمده است. برای محاسبه این کد ابتدا فید چک‌سام صفر فرض می شود و در صورت فرد بودن تعداد بایتها، تعدادی صفر زائد به انتهای داده‌ها اضافه می گردد تا تعداد بایتها زوج شود. الگوریتم محاسبه چک‌سام بسیار ساده است: مجموعه بایتها به صورت کلمات 16 بیتی (یعنی دو بایت دو بایت) با هم جمع شده و حاصل جمع به صورت «متمم 1» (One's Complement) منفی می شود و درون فید چک‌سام قرار می گیرد. نتیجتاً وقتی در گیرنده این محاسبه بر روی کل قطعه (شامل فیلد چک‌سام) انجام می شود نتیجه آن باید صفر باشد. در غیر اینصورت داده‌ها قابل اطمینان و سالم نیستند.<ref>همان، ص 537.</ref> ''</blockquote>
 
تفاوت IPv4 و IPv6 در محاسبه چک‌سام در میزان داده های محاسباتی آنها می باشد.
 
===شبه سرآیند فرضی در IPv4===
 
چک سام در قالب UDP IPv4 با استفاده از یک شبه سرآیند فرضی محاسبه می شود و شباهت زیادی به سرآیند واقعی یک IP دارد. این سرآیند فرضی یک سرآیند واقعی IP نمی باشد که در ارسال بسته IP دخالت دارد. جدول زیر ساختار کامل شبه سرآیند فرضی که تنها برای محاسبه چک‌سام مورد استفاده قرار می گیرد را مشخص می نماید.
 
{| class="wikitable" style="margin: 0 auto; text-align: center;"
|- align="center"
! bits
! colspan="8" width="75px"|0 &ndash; 7
! colspan="8" width="75px"|8 &ndash; 15
! colspan="8" width="75px"|16 &ndash; 23
! colspan="8" width="75px"|24 &ndash; 31
|- align="center"
! 0
| colspan="32" bgcolor="#FFDDDD"|آدرس مبدأ
|- align="center"
! 32
| colspan="32" bgcolor="#FFDDDD"| آدرس مقصد
|- align="center"
! 64
| colspan="8" bgcolor="#FFDDDD"| تعدادی صفر
| colspan="8" bgcolor="#FFDDDD"| پروتکل
| colspan="16" bgcolor="#FFDDDD"| طول UDP
|- align="center"
! 96
| colspan="16"| شماره پورت مبدأ
| colspan="16"| شماره پورت مقصد
|- align="center"
! 128
| colspan="16"| طول
| colspan="16"| چک‌سام
|- align="center"
! 160
| colspan="32"|&nbsp;<br />داده<br />&nbsp;
|}
 
==پانویس==