بسته شبکه

در فناوری اطلاعات، بسته یک واحد دارای ساختار می‌باشد که به وسیله شبکه رایانه‌ای با پشتیباتی از حالت بسته منتقل می‌شود است. ارتباط‌های رایانه‌ای که بسته را پشتیبانی نمی‌کنند از قبیل ارتباط‌های نقطه به نقطه به طور ساده داده‌ها را به صورت دنباله‌ای از بایتها، کاراکترها یا بیت منتقل می‌کنند. وقتی که داده به صورت بسته حالت داده شوند، نرخ انتقال بین کاربرهای شبکه بیشتر می‌شود. با استفاده از شیوه راه‌گزینی بسته‌ای برای شبکه، تعیین‌کردن کمترین مقدار سرعت ممکن برای بسته‌های سخت‌تر است.
ساختار بسته
یک بسته شامل دو نوع داده است: اطلاعات کنترلی و اطلاعات کاربر. اطلاعات کنترلی، داده‌هایی که برای رساندن داده‌های کاربر به مقصد، مورد نیاز هستند را فراهم می‌کنند. برای مثال، آدرس‌های مبدا و مقصد بسته، کدهای کشف خطا , اطلاعاتی برای تعیین توالی بسته‌ها و … . اطلاعات کنترلی معمولا در سرایند و پشت‌بند بسته قرار داده می‌شود و داده‌های کاربر هم بین این دو قرار می‌گیرند.
قاب‌بندی بسته
در پروتکل‌های ارتباطی مختلف، از قراردادهای مختلفی برای تشخیص عناصر بسته و قالب‌بندی داده‌ها استفاده می‌شود. در انتقال هم‌گام دودویی، بسته در قالب بایت‌های ۸بیتی قالب‌بندی می‌شود و از کاراکترهای کنترلی خاصی برای جدا کردن عتاصر مختلف بسته از یکدیگر استفاده می‌شود. پروتکل‌های دیگر نظیر اترنت، عناصر موجود در بسته را با فاصله نسبی آنها نسبت به ابتدای بسته مشخص می‌کنند. برخی از پروتکل‌ها، بسته را به جای اینکه در سطح بایت‌ها قالب‌بندی کنند، در سطح بیت‌ها قالب‌بندی می‌کنند.
یک مثال خوب در این باره این است که بسته را به مانند یک نامه در نظر بگیریم. سرایند بسته، همانند پاکت نامه است و قسمت داده‌ای هم هر آنچیزی است که شخص در پاکت قرار می‌دهد. همانند سرایند بسته، پاکت نامه هم مبدا، مقصد و اطلاعات دیگر را در بر می‌گیرد. با این حال، تفاوتی که بین این دو وجود دارد این است که برخی از شبکه‌ها، در صورت لزوم، بسته‌های بزرگ را به بسته‌های کوچکتر خرد می‌کنند (توجه کنید که این قسمت‌های کوچک هم هنوز قالب یک بسته را حفظ کرده‌اند)
با استفاده کردن از بسته‌ها در طراحی شبکه می‌توان به دو هدف عمده دست یافت: کشف کردن خطاها و آدرس‌دهی کردن چندین میزبان
کشف خطا
محاسبه کردن چکسام و کد افزونگی چرخشی بر روی اطلاعات یک بسته، نتیجه‌ای موثرتر و قابل اعتمادتر نسبت به چک کردن خطاها با استفاده از بیت پاریتی کاراکتر به کاراکتر دارد. پشت‌بند یک بسته معمولا حاوی اطلاعاتی برای تشخیص دادن خطاهایی است که ممکن است در هنگام ارسال بسته بر روی شبکه اتفاق بیفتند.
آدرس‌دهی میزبان
شبکه‌های مردن معمولا تعداد سه تا (یا بیشتر) رایانه را به هم متصل می‌کنند. در چنین شبکه‌هایی، قسمت سرایند بسته، معمولا حاوی اطلاعات آدرس‌دهی (نظیر آدرس مبدا، آدرس مقصد و …) است که به کمک آنها یک بسته توسط گیرنده صحیح آن دریافت می‌شود. در شبکه‌های پیچیده که از چندین گره مسیریابی و سوئیچینگ تشکیل شده‌اند (همانند آرپانت و اینترنت)، بسته‌هایی که از یک رایانه به رایانه‌ای دیگر ارسال می‌شوند، ممکن است هر کدام مسیر متفاوتی را برای رسیدن به همان مقصد طی کنند. این تکنولوژی سوئیچینگ بسته نامیده می‌شود.
مثال: بسته‌های IP
بسته‌های IP ترکیبی از یک بخش سرایند و یک بخش محموله (منظور داده‌های کاربر است) هستند. هدر این بسته‌های شامل موارد زیر است:
۴ بیت که نسخه بسته را مشخص می‌کند. یا نسخه ۴ یا نسخه ۶.
۴ بیت که طول سرایند اینترنت را دربرمی‌گیرد، که طول بسته به صورت مضربی از ۴ است (مثلا ۵ به معنی ۲۰ بایت است)
۸ بیت که دربرگیرنده نوع سرویس است که البته به آن کیفیت خدمان هم می‌گویند. این فیلد اولویت بسته را مشخص می‌کند.
۱۶ بیت که دربرگیرنده طول بسته بر حسب بایت است.
۱۶ بیت که دربرگیرنده تگ شناسایی است که برای بازسازی بسته از چند تکه است.
۳ بیت. اولین بیت یک صفر است، دومین بیت پرچمی است که می‌گوید آیا بسته می‌تواند تکه تکه شود یا نه.
۱۳ بیت که دربرگیرنده آفست تکه است. فیلدی که جایگاه آن تکه در بسته اصلی را مشخص می‌کند.
۸ بیت که دربرگیرنده TTL بسته است که تعداد هپ‌های (یک رایانه، مسیریاب یا دیگر دستگاه‌های شبکه) مجازی که بسته قبل از مرگش می‌تواند از آنها عبور کند را مشخص می‌کند. (برای مثال اگر TTL برابر با ۱۶ باشد، یعنی اینکه بسته مورد نظر مجاز است که حداکثر از ۱۶ مسیریاب عبور کند تا بالاخره به مقصد برسد)
۸ بیت که پروتکل بسته را مشخص می‌کند. (مثل TCP, UDP یا …)
۱۶ بیت که سرایند چکسام نام دارد، عددی است که برای کنترل و تشخیص خطاها استفاده می‌شود.
۳۲ بیت که حاوی آدرس مبدا بسته است.
۳۲ بیت که حاوی آدرس مقصد بسته است.