پردازش بسته

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

دو دسته گسترده و وسیع از الگوریتم های پردازش بسته وجود دارند که با دو زیرقسمت شبکه استاندارد شده، صفحه کنترل و صفحه داده، همسو می شوند. این الگوریتم ها برای یکی از موارد زیر اعمال می شوند:

* اطلاعات کنترلی موجود در یک بسته که با هدف انتقال ایمن و کارآمد بسته از مبدا به مقصد استفاده می شود

یا

* محتوای داده (که معمولا payload (بار مفید) نامیده می شود) بسته که با هدف ایجاد تغییرات خاص محتوایی یا انجام یک اقدام مبتنی بر محتوا استفاده می شود.

در هر دستگاه فعال شبکه (به عنوان مثال روتر ، سوئیچ ، عناصر شبکه یا ترمینال مانند رایانه یا تلفن هوشمند)، این زیرسیستم پردازش بسته است که پیمایش شبکه چند لایه یا پشته پروتکل ( به انگلیسی: protocol stack) را از لایه های پایین تر فیزیکی و شبکه، تا راه رسیدن به لایه برنامه مدیریت میکند.

## تاریخچه
تاریخچه پردازش بسته، همان تاریخچه اینترنت و راه‌گزینی بسته (به انگلیسی: packet switching) است. نقاط عطف تاریخی پردازش بسته شامل:

* 1962-1968: تحقیقات اولیه در مورد راه‌گزینی بسته
* 1969: اولین دو گره ARPANET متصل شد. تا پایان سال   1971 ، 15 سایت به همراه ایمیل به عنوان یک برنامه جدید متصل شدند.
* 1973: بسته‌ها، اتصالات صوتی را از طریق ARPANET با پروتکل صدای شبکه تغییر دادند. پروتکل انتقال فایل (FTP) مشخص شد.
* 1974: پروتکل کنترل انتقال (TCP) تعیین شد
* 1979: اجرا شدن VoIP - NVP در نسخه های اولیه IP
* 1981: IP و TCP استاندارد شدند
* 1982: TCP/IP استاندارد شد
* 1991: شبکه جهانی وب (WWW) توسط CERN منتشر شد، تالیف تیم برنرز لی
* 1998:  IPv6 برای اولین بار منتشر شد.

منابع تاریخی و نمودار زمانی مربوطه را می توان در قسمت منابع خارجی زیر یافت.

## مدل های ارتباطی
برای موفقیت و کارآمدی شبکه ها، داشتن یک استاندارد یکپارچه و کلی که معماری سیستم های شبکه ای را برای آن تعریف می کند، ضروری است. نیاز اساسی برای چنین استانداردی، ارائه چارچوبی است که تولیدکنندگان سخت افزار و نرم افزار در سراسر جهان را قادر می سازد تا فناوری های شبکه ای را توسعه دهند که با هم کار میکنند و از ظرفیت های سرمایه گذاری فزاینده خود برای پیشبرد وضعیت شبکه سازی رو به جلو استفاده کنند.

در دهه 1970، دو سازمان، سازمان بین المللی استانداردسازی  (ISO) و کمیته مشاوره بین المللی تلگراف و تلفن  (CCITT که اکنون اتحادیه بین المللی مخابرات (ITU-T) ) نامیده می شود، هر کدام پروژه هایی را با هدف توسعه استانداردهای بین المللی شبکه آغاز کردند. در سال 1983، این تلاش ها ادغام شدند و در سال 1984 استانداردی به عنوان مدل اتصال متقابل سامانه های باز   توسط ISO و به عنوان استاندارد X.200  توسط ITU-T منتشر شد.

مدل OSI یک مدل 7 لایه  است که نحوه کار و عملکرد یک سیستم عامل شبکه را توصیف می کند. یک مدل لایه‌ای مزایای زیادی دارد  از جمله توانایی تغییر یک لایه بدون تأثیر گذاشتن بر لایه‌های دیگر و به‌عنوان مدلی برای درک نحوه عملکرد یک سیستم‌عامل شبکه. تا زمانی که ارتباط بین لایه ها حفظ شود، فروشندگان می توانند پیاده سازی یک لایه مستقل را بدون تأثیرگذاری بر سایر لایه ها بهبود ببخشند.

هم راستا با توسعه مدل OSI، یک شبکه تحقیقاتی توسط آژانس پروژه های تحقیقاتی پیشرفته دفاعی ایالات متحده  ( دارپا ) در حال پیاده سازی بود. پروتکل شبکه تقابلی که برای پشتیبانی از شبکه ایجاد شد، به نام   ARPAnet ، برنامه کنترل انتقال یا TCP نامیده شد.همزمان با پیشرفت تحقیقات و توسعه پروژه، اندازه شبکه بزرگ تر شد، مشخص گردید که طراحی شبکه تقابلی مورد استفاده ناکارآمد بوده و دقیقاً از رویکرد لایه‌ای مدل OSI پیروی نمی‌کند. این امر باعث تقسیم TCP اولیه و به وجود آمدن معماری TCP/IP شد  -  اکنون TCP مخفف پروتکل کنترل انتقال و IP مخفف پروتکل اینترنت میباشد.

## ظهور پردازش بسته
بسته های شبکه  در نتیجه نیاز در اوایل دهه 1960 برای مطمئن تر کردن شبکه های ارتباطی به وجود آمدند. می توان آن را به عنوان پیاده سازی مدل لایه ای با استفاده از ساختار بسته مشاهده نمود.

شبکه های تجاری اولیه متشکل از مدارهای آنالوگ اختصاصی بودند، که از آن ها برای ارتباطات صوتی استفاده می شد. مفهوم راه گزینی بسته (به انگلیسی: packet switching ) برای ایجاد یک شبکه ارتباطی معرفی شد که با وجود خرابی تجهیزات در سراسر شبکه، به کار خود ادامه دهد. در این تغییر پارادایم، شبکه‌ها به عنوان مجموعه‌ای از سیستم‌ها در نظر گرفته می‌شوند که داده‌ها را در بسته‌های کوچکی انتقال میدهند که مسیر خود را از مبدا به مقصد و با هر تعداد مسیر می یابند. توابع اولیه پردازش بسته از مسیریابی( شبکه ) بسته ها از طریق شبکه، تشخیص و تصحیح خطای انتقال و سایر عملکردهای مدیریت شبکه پشتیبانی می کردند.

راه گزینی بسته با توابع پشتیبانی کننده پردازش بسته ، مزایای عملی متعددی نسبت به شبکه های سوئیچ مدار سنتی دارد:

* یک محیط تمام دیجیتالی که از انواع داده ها (مانند صدا، داده و ویدئو) پشتیبانی می کند، نه تنها زندگی کاربران را غنی می کند،   بلکه به طور قابل توجهی کارایی ارائه دهندگان شبکه را افزایش می دهد که قبلاً مجبور بودند شبکه های مختلف را برای پشتیبانی از انواع مختلف داده ها پیاده سازی کنند
* استفاده از پهنای باند بیشتر، با چندین "مدارهای منطقی" با استفاده از پیوندهای فیزیکی یکسان
* بقای ارتباطات به دلیل وجود مسیرهای متعدد از طریق شبکه از هر مبدأ به هر مقصد
* خدمات اطلاعات ارزش افزوده می توانند با استفاده از توابع پردازش بسته برای ارائه پردازش های لازم معرفی شوند

## ساختار بسته
یک بسته شبکه جزء اساسی سازنده شبکه های راه‌گزینی بسته (به انگلیسی: packet-switched networks ) است.  هنگامی که یک آیتم مانند یک فایل، پیغام ایمیل، صدا یا جریان ویدیویی از طریق شبکه انتقال می یابد، به قطعاتی به نام بسته تقسیم می شود که می تواند به طور موثرتر از یک بلوک بزرگ داده در شبکه جابجا شود. استانداردهای متعددی ساختار بسته ها را پوشش می دهد، اما معمولا بسته ها از سه عنصر تشکیل شده اند:

* سربرگ - حاوی اطلاعاتی در مورد بسته، از جمله مبدا، مقصد، طول و شماره بسته است.
* بار (یا بدنه) - حاوی داده هایی است که بسته را تشکیل می دهد.
* تریلر - پایان بسته را نشان می دهد و اغلب شامل اطلاعات تشخیص و تصحیح خطا می شود.

در یک شبکه راه گزینی بسته (به انگلیسی: packet-switched network) ، کامپیوتر میزبان فرستنده آیتم اولیه را بسته بندی می کند و هر بسته از طریق شبکه به مقصد خود هدایت می شود. برخی از شبکه‌ها از بسته‌های با طول ثابت، معمولاً 1024 بیتی، استفاده می‌کنند، در حالی که برخی دیگر از بسته‌های با طول متغیر استفاده می‌کنند و طول بسته را در هدر لحاظ میکنند.

بسته های منفرد ممکن است مسیرهای متفاوتی را به مقصد انتخاب کنند و خارج از نظم اولیه به مقصد برسند. رایانه مقصد صحت و درستی داده ها را در هر بسته تأیید میکند (با استفاده از اطلاعات موجود در تریلر بسته)، آیتم اولیه را با استفاده از اطلاعات شماره بسته در سربرگ، دوباره جمع می کند و آیتم را به برنامه یا کاربر دریافت کننده ارائه می دهد.

این مثال بنیادی شامل سه عملکرد اساسی پردازش بسته، بسته بندی، مسیریابی و دوباره سرهم کردن ( assembly ) است. توابع پردازش بسته طیفی از ساده تا بسیار پیچیده را شامل میشوند. به عنوان مثال، تابع مسیریابی در واقع یک فرآیند چند مرحله‌ای است  که شامل الگوریتم‌های بهینه‌سازی مختلف و جستجو های جدول است. یک تابع بنیادی مسیریابی در اینترنت چیزی شبیه به این است:

1. بررسی کنید که آیا مقصد، آدرسی است که متعلق به این رایانه است. اگر چنین است، بسته را پردازش کنید. اگر نه:

: الف) بررسی کنید که آیا IP Forwarding روی "بله" تنظیم شده است یا خیر. اگر نه، بسته از بین رفته است. اگر بله، پس
:: ب) بررسی کنید که آیا شبکه متصل به این رایانه دارای آدرس مقصد است یا خیر. اگر بله، بسته را به شبکه مناسب هدایت کنید. اگر نه، پس
::: 1. بررسی کنید که آیا مسیری به شبکه مقصد وجود دارد یا خیر. اگر بله، بسته را به درگاه هاپ بعدی هدایت کنید. اگر نه، بسته را از بین ببرید.

توابع مسیریابی پیشرفته‌تر شامل متعادل‌سازی بار ترافیکی (به انگلیسی: load balancing )  شبکه  و  الگوریتم‌های سریع‌ترین مسیر هستند.  این مثال‌ها طیف الگوریتم‌های ممکن برای پردازش بسته و اینکه چگونه می‌توانند تاخیرهای قابل توجهی  را در انتقال یک آیتم ایجاد کنند، را نشان میدهند. طراحان تجهیزات شبکه، اغلب از ترکیبی از شتاب دهنده های سخت افزاری و نرم افزاری برای به حداقل رساندن تاخیر در شبکه استفاده می کنند.

## معماری تجهیزات شبکه
تجهیزات مبتنی بر پروتکل اینترنت ( IP ) را می توان به سه عنصر بنیادی تقسیم کرد: صفحه داده، صفحه کنترل و صفحه مدیریت.

## صفحه داده
صفحه داده زیرسیستمی از یک گره شبکه است که بسته‌ها را به وسیله یک رابط دریافت و ارسال می‌کند، آن‌ها را طبق یک پروتکل مناسب و اجرا شدنی پردازش می‌کند و در صورت لزوم آنها را تحویل داده، رها کرده، یا ارسال می‌کند.

## صفحه کنترل
صفحه کنترل اطلاعاتی را نگهداری و ذخیره می کند که می توان از آنها برای تغییر داده های استفاده شده توسط صفحه داده استفاده نمود. حفظ این اطلاعات نیازمند مدیریت پروتکل های پیام رسانی ( به انگلیسی: signaling protocols ) پیچیده است. پیاده سازی این پروتکل ها در صفحه داده منجر به عملکرد ضعیف ارسال بسته ها می گردد. یک راه متداول برای مدیریت این پروتکل ها این است که به صفحه داده اجازه شناسایی بسته های سیگنال ورودی داده شود و بتواند آنها را به صورت محلی به صفحه کنترل ارسال کند. پروتکل های پیام رسانی ( به انگلیسی: signaling protocols ) صفحه کنترل می توانند اطلاعات صفحه داده را به روزرسانی کنند و بسته های سیگنال خروجی را به صفحه داده تزریق کنند. این معماری کار می کند زیرا ترافیک سیگنالینگ بخش بسیار کوچکی از ترافیک جهانی را شامل میشود.

## صفحه مدیریت
صفحه مدیریت یک رابط مدیریتی برای سیستم کلی ارائه می کند. این متشکل از فرآیندهایی است که از اقدامات مدیریت عملیاتی، مدیریت، پیکربندی یا تدارک پشتیبانی می کنند مانند:

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

راه‌حل‌های پیچیده‌تر مبتنی بر XML ( زبان نشانه‌گذاری توسعه‌یافته ) نیز می‌توانن شامل شوند.

## مثال ها
لیست برنامه های کاربردی پردازش بسته  معمولاً به دو دسته تقسیم می شود. در ادامه چند مثال برای نشان دادن تنوع کاربرد های امروزه ، انتخاب شده است.

## کاربرد های کنترلی

* ارسال ، عملکرد اساسی یک روتر
* رمزگذاری/رمزگشایی ، حفاظت از اطلاعات در بار ( payload ) با استفاده از الگوریتم های رمزنگاری
* کیفیت خدمات (QOS) ، رفتار متفاوت با بسته‌ها، مانند ارائه خدمات اولویت‌دار یا تخصصی بر اساس کلاس بسته

## کاربرد های داده ای

* Transcoding ، تبدیل رمزگذاری خاص یک ویدیو به رمزگذاری خاص مورد استفاده توسط مقصد
*  Transrating & Transizing،  تبدیل اندازه و تراکم تصویر متناسب با دستگاه مقصد
* تشخیص تصویر یا صدا، تشخیص یک الگوی خاص (تصویر یا صدا) که با الگوهای موجود در پایگاه داده مطابقت دارد و در هنگام وقوع یک تطابق، اقداماتی انجام می‌شود.
* برنامه های کاربردی پیشرفته که شامل حوزه هایی مانند امنیت ( نظارت بر تماس و جلوگیری از نشت داده ها )، تبلیغات هدفمند ، خدمات سطح بندی شده ، اجرای حق نشر و تکثیر و آمار استفاده از شبکه است. اینها و بسیاری دیگر از برنامه های کاربردی آگاه از محتوا، مبتنی بر توانایی تشخیص اطلاعات خاص موجود در محموله بسته ها با استفاده از فناوری های بازرسی عمیق  (DPI) هستند.

## معماری های پردازش بسته
راه‌گزینی بسته  همچنین برخی مصالحه های مربوط به معماری را معرفی می کند. اجرای توابع پردازش بسته در انتقال اطلاعات، باعث به وجود آمدن تاخیرهایی می شود که ممکن است برای برنامه در حال اجرا مضر باشند. به عنوان مثال، در برنامه های صوتی و تصویری، تبدیل لازم از آنالوگ به دیجیتال و برعکس در مقصد، همراه با تاخیرهای ایجاد شده توسط شبکه می توانند باعث ایجاد شکاف های محسوسی شوند که برای کاربران اختلال ایجاد می کنند. تأخیر (به انگلیسی: latency ) ، یک اندازه گیری تاخیر زمانی است که توسط یک سیستم پیچیده تجربه می شود.

رویکرد های مختلف معماری برای پردازش بسته با هدف رسیدگی به عملکرد و الزامات کارکردی یک شبکه خاص و همچنین رسیدگی به مشکل تاخیر توسعه داده شده اند.

## معماری تک رشته ای (سیستم عامل استاندارد)
یک پشته شبکه استاندارد (به انگلیسی: standard networking stack ) از خدمات ارائه شده توسط سیستم عامل (OS) در حال اجرا بر روی یک پردازنده واحد ( تک رشته ای ) استفاده می کند. با وجود اینکه معماری های تک رشته ای از نظر پیاده سازی ساده ترین نوع هستند، اما آنها مشمول هزینه های سربار مرتبط با عملکرد توابع سیستم عامل مانند preemption ها، مدیریت رشته، تایمرها و قفل کردن میشوند. این هزینه های سربار پردازش سیستم عامل بر روی هر بسته ای که از سیستم عبور می کند تحمیل می شوند که منجر به جریمه در توان کلی  می شود.

## معماری چند رشته ای (سیستم عامل چند پردازشی)
عملکرد پشته شبکه سیستم عامل می تواند با تطبیق نرم افزار پردازش پشته پروتکل برای پشتیبانی از چندین پردازنده ( چند رشته ای )، یا از طریق استفاده از پلتفرم های متقارن چند پردازشی (SMP) یا معماری پردازنده چند هسته ای ، بهبود یابد. افزایش و بهبود عملکرد برای اعداد کوچکی از پردازنده ها مشهود میباشند،  اما نمی تواند در تعداد بیشتری از پردازنده ها (یا هسته ها) به صورت خطی  مقیاس شود و برای مثال پردازنده ای با هشت هسته ممکن است پردازش بسته ها را به طور قابل توجهی سریعتر از یک پردازنده با دو هسته انجام ندهد.

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

یک پردازنده چند هسته ای می تواند عملکرد بهبود یافته مضاعفی را برای پیاده سازی مسیر سریع ارائه دهد. به منظور به حداکثر رساندن توان کلی سیستم،می توان چندین هسته را به اجرای مسیر سریع اختصاص داد، در حالی که تنها یک هسته برای اجرای سیستم عامل، پشته شبکه سیستم عامل و صفحه کنترل برنامه ها مورد نیاز خواهد بود.

تنها محدودیت در پیکربندی پلتفرم این میباشد که از آنجایی که هسته‌های اجرا کننده مسیر سریع، خارج از سیستم‌عامل اجرا می‌شوند، پس باید منحصراً به مسیر سریع اختصاص داده شوند و با نرم‌افزارهای دیگر به اشتراک گذاشته نشوند. با تغییر الگوهای ترافیک، سیستم را نیز می توان به صورت پویا دوباره پیکربندی نمود. همچنین، تقسیم صفحه داده به دو لایه نیز باعث افزایش پیچیدگی میشود زیرا هر دو لایه باید اطلاعات یکسانی داشته باشند تا از سازگاری و تداوم سیستم اطمینان حاصل شود.

## فناوری های پردازش بسته
به منظور ایجاد بسترهای تخصصی پردازش بسته، فناوری های مختلفی توسعه یافته و به کار گرفته شده اند . این فناوری‌ها، که طیفی از سخت‌افزار ها  و نرم‌افزار ها را در بر می‌گیرند، همگی با هدف به حداکثر رساندن سرعت و توان کلی و در عین حال به حداقل رساندن تأخیر، طراحی شده‌اند.

## پردازنده های شبکه
یک واحد پردازشگر شبکه (NPU) از بسیاری جهات شبیه به پردازنده‌های هدف عمومی (به انگلیسی: general purpose processors ) میباشد که اکثر رایانه‌ها را تغذیه می‌کنند، اما با معماری داخلی و عملکردهای متناسب با عملیات های شبکه محور. واحد های پردازشگر شبکه معمولاً دارای توابع خاص شبکه مانند جستجوی آدرس، تطبیق الگو و مدیریت صف هستند که در ریزبرنامه سازی (به انگلیسی: microcode ) خود تعبیه شده است. عملیات های پردازش بسته سطح بالاتر مانند امنیت یا تشخیص نفوذ اغلب در معماری های NPU تعبیه شده اند . نمونه های پردازنده شبکه عبارتند از:

* اینتل - خانواده IXP2xxx
* نترونوم - خانواده NFP-6xxx/4xxx/32xx
* PMC Sierra - خانواده Winpath
* EZChip - خانواده NP-x

## پردازنده های چند هسته ای
یک پردازنده چند هسته ای یک بسته نیم رسانا منفرد است که دارای 2 یا چند هسته میباشد که هر یک نشان دهنده یک واحد پردازش جداگانه است که قادر به اجرای کد به صورت موازی هستند. CPUهای عمومی همانند Intel Xeon  ، اکنون تا 8 هسته را پشتیبانی می کنند . برخی از پردازنده‌های چند هسته‌ای قابلیت‌ها و ظرفیت های پردازش بسته اختصاصی را برای ارائه یک سیستم روی تراشه کامل  ( SoC )، تلفیق می‌کنند. آنها معمولاً رابط‌های اترنت، موتورهای رمزنگاری ، موتورهای تطبیق الگو ، صف‌های سخت‌افزاری برای کیفیت خدمات( QoS ) و گاهی اوقات عملکردهای پیچیده‌تر را با استفاده از ریز هسته‌ها ادغام می‌کنند. همه این ویژگی‌های سخت‌افزاری می توانند پردازش بسته‌های نرم‌افزاری را بارگیری کنند. نمونه‌های اخیر این بسته‌های تخصصی چند هسته‌ای، همانند Cavium OCTEON II، می‌توانند از ۲ تا ۳۲ هسته پشتیبانی کنند.

* Tilera- خانواده پردازنده های TILE-Gx
* شبکه های Cavium - خانواده پردازنده های چند هسته ای OCTEON و OCTEON II
* Freescale – بسترهای پردازش QorIQ
* NetLogic Microsystems – خانواده های پردازنده XLP، XLR و XLS

## شتاب دهنده های سخت افزاری
برای اقدامات واضح، قابل تعریف و تکراری ، راه حل ایجاد یک شتاب دهنده اختصاصی که مستقیما در یک سخت افزار نیم رسانا ساخته شده است، در مقایسه با نرم افزاری که روی یک پردازنده با هدف عمومی اجرا می شود، سرعت عملیات را افزایش می دهد. در پیاده سازی های اولیه از FPGA (آرایه دروازه میدانی برنامه پذیر) یا ASICs (مدار مجتمع ویژه برنامه) استفاده می شد، اما هم اکنون عملکردهای خاصی مانند رمزگذاری و فشرده سازی هم در GPP و هم در NPU به عنوان شتاب دهنده های سخت افزاری داخلی تعبیه شده اند . نمونه‌های پردازنده‌های چند هسته‌ای کنونی با شتاب‌دهنده‌ های سخت‌افزاری مخصوص شبکه شامل Cavium CN63xx با شتاب دهنده برای امنیت، TCP/IP ،  تطبیق الگو های QOS و HFA  و خانواده پردازنده‌های Netlogic Microsystems XFS با موتورهای شتاب‌دهنده شبکه ای و امنیتی هستند.

## بازرسی عمیق بسته
توانایی تصمیم گیری بر اساس محتوای هر بسته، طیف وسیعی ای از برنامه های کاربردی جدید مانند تابع قوانین و گماشتن قوانین (PCRF) و کیفیت خدمات را امکان پذیر می کند. سیستم‌های پردازش بسته، انواع ترافیک خاص را از طریق استفاده از فناوری‌های بازرسی بسته عمیق (DPI)  تفکیک می‌کنند. فناوری‌های DPI از الگوریتم‌های تطبیق الگو برای بررسی بار داخلی داده‌ها برای شناسایی محتویات هر بسته‌ای که در یک دستگاه شبکه جریان دارد، استفاده می‌کنند . تطبیق الگوهای موفق برای هر اقدام مناسب بعدی به برنامه کنترل گزارش می شوند.

## نرم افزار پردازش بسته
نرم افزار سیستم عامل شامل پشته های شبکه استاندارد خاصی است که هم در محیط های تک هسته ای و چند هسته ای کار می کنند. برای اینکه بتوان معماری‌های bypass  سیستم‌عامل (مسیر سریع) را پیاده‌سازی کرد، نیاز به استفاده ااز نرم‌افزارهای تخصصی پردازش بسته‌ها مانند 6WIND's 6WINDGate است. این نوع نرم‌افزار مجموعه‌ای از پروتکل‌های شبکه را ارائه می‌کند که قادرند در چندین تیغه، پردازنده یا هسته توزیع شوند و به طور مناسب مقیاس شوند.

## مراجع


## لینک های خارجی

* تاریخ زنده. " تاریخچه اینترنت "
* هاو، والت. (2010) " تاریخچه مختصر اینترنت "
* جامعه اینترنتی. تاریخچه اینترنت
* تاریخ زنده. " سابقه سوئیچینگ بسته "
* رابرتز، دکتر لارنس جی. (نوامبر 1978). " تکامل سوئیچینگ بسته "
* مارشال، دیو. تاریخچه اینترنت - جدول زمانی. ”
* رامی روزن " شتاب شبکه با DPDK "، مقاله در lwn.net، جولای 2017.
* رامی روزن " شبکه سازی فضای کاربر با DPDK "، مقاله در ژورنال لینوکس، آوریل 2018.

رده:مقاله‌های ایجادشده توسط ایجادگر
رده:شبکه رایانه
رده:تاریخ اینترنت
رده:بسته‌ها (فناوری اطلاعات)