موضوع مقاله: پردازش بسته | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پردازش بسته | مقدمه: در شبکه‌های ارتباطی دیجیتال ، پردازش بسته به طیف گسترده‌ای از الگوریتم‌ها گفته می‌شود که بر روی یک بسته داده ها یا اطلاعات در حال حرکت در عناصر مختلف شبکه یک شبکه ارتباطی اعمال می‌شود. | ## بخش 1: پردازش بسته | متناظر با افزایش و بهبود عملکرد رابط های شبکه، نیاز مربوط به پردازش سریعتر بسته ها به وجود می آید.D. doi: 10.1109/COMST.2018.2851072 دو دسته گسترده و وسیع از الگوریتم های پردازش بسته وجود دارند که با دو زیرقسمت شبکه استاندارد شده، صفحه کنترل و صفحه داده، همسو می شوند. این الگوریتم ها برای یکی از موارد زیر اعمال می شوند: اطلاعات کنترلی موجود در یک بسته که با هدف انتقال ایمن و کارآمد بسته از مبدا به مقصد استفاده می شود یا محتوای داده (که معمولا payload (بار مفید) نامیده می شود) بسته که با هدف ایجاد تغییرات خاص محتوایی یا انجام یک اقدام مبتنی بر محتوا استفاده می شود. در هر دستگاه فعال شبکه (به عنوان مثال روتر ، سوئیچ ، عناصر شبکه یا ترمینال مانند رایانه یا تلفن هوشمند)، این زیرسیستم پردازش بسته است که پیمایش شبکه چند لایه یا پشته پروتکل ( به انگلیسی: protocol stack) را از لایه های پایین تر فیزیکی و شبکه، تا راه رسیدن به لایه برنامه مدیریت میکند. نقاط عطف تاریخی پردازش بسته شامل: 1962-1968: تحقیقات اولیه در مورد راه‌گزینی بسته 1969: اولین دو گره ARPANET متصل شد. مدل های ارتباطی برای موفقیت و کارآمدی شبکه ها، داشتن یک استاندارد یکپارچه و کلی که معماری سیستم های شبکه ای را برای آن تعریف می کند، ضروری است. نیاز اساسی برای چنین استانداردی، ارائه چارچوبی است که تولیدکنندگان سخت افزار و نرم افزار در سراسر جهان را قادر می سازد تا فناوری های شبکه ای را توسعه دهند که با هم کار میکنند و از ظرفیت های سرمایه گذاری فزاینده خود برای پیشبرد وضعیت شبکه سازی رو به جلو استفاده کنند. در دهه 1970، دو سازمان، سازمان بین المللی استانداردسازی (ISO) و کمیته مشاوره بین المللی تلگراف و تلفن (CCITT که اکنون اتحادیه بین المللی مخابرات (ITU-T) ) نامیده می شود، هر کدام پروژه هایی را با هدف توسعه استانداردهای بین المللی شبکه آغاز کردند. مدل OSI یک مدل 7 لایه است که نحوه کار و عملکرد یک سیستم عامل شبکه را توصیف می کند. یک مدل لایه‌ای مزایای زیادی دارد از جمله توانایی تغییر یک لایه بدون تأثیر گذاشتن بر لایه‌های دیگر و به‌عنوان مدلی برای درک نحوه عملکرد یک سیستم‌عامل شبکه. تا زمانی که ارتباط بین لایه ها حفظ شود، فروشندگان می توانند پیاده سازی یک لایه مستقل را بدون تأثیرگذاری بر سایر لایه ها بهبود ببخشند. هم راستا با توسعه مدل OSI، یک شبکه تحقیقاتی توسط آژانس پروژه های تحقیقاتی پیشرفته دفاعی ایالات متحده ( دارپا ) در حال پیاده سازی بود. پروتکل شبکه تقابلی که برای پشتیبانی از شبکه ایجاد شد، به نام ARPAnet ، برنامه کنترل انتقال یا TCP نامیده شد.همزمان با پیشرفت تحقیقات و توسعه پروژه، اندازه شبکه بزرگ تر شد، مشخص گردید که طراحی شبکه تقابلی مورد استفاده ناکارآمد بوده و دقیقاً از رویکرد لایه‌ای مدل OSI پیروی نمی‌کند. ظهور پردازش بسته بسته های شبکه در نتیجه نیاز در اوایل دهه 1960 برای مطمئن تر کردن شبکه های ارتباطی به وجود آمدند. می توان آن را به عنوان پیاده سازی مدل لایه ای با استفاده از ساختار بسته مشاهده نمود. شبکه های تجاری اولیه متشکل از مدارهای آنالوگ اختصاصی بودند، که از آن ها برای ارتباطات صوتی استفاده می شد. در این تغییر پارادایم، شبکه‌ها به عنوان مجموعه‌ای از سیستم‌ها در نظر گرفته می‌شوند که داده‌ها را در بسته‌های کوچکی انتقال میدهند که مسیر خود را از مبدا به مقصد و با هر تعداد مسیر می یابند. توابع اولیه پردازش بسته از مسیریابی( شبکه ) بسته ها از طریق شبکه، تشخیص و تصحیح خطای انتقال و سایر عملکردهای مدیریت شبکه پشتیبانی می کردند. راه گزینی بسته با توابع پشتیبانی کننده پردازش بسته ، مزایای عملی متعددی نسبت به شبکه های سوئیچ مدار سنتی دارد: یک محیط تمام دیجیتالی که از انواع داده ها (مانند صدا، داده و ویدئو) پشتیبانی می کند، نه تنها زندگی کاربران را غنی می کند، بلکه به طور قابل توجهی کارایی ارائه دهندگان شبکه را افزایش می دهد که قبلاً مجبور بودند شبکه های مختلف را برای پشتیبانی از انواع مختلف داده ها پیاده سازی کنند استفاده از پهنای باند بیشتر، با چندین "مدارهای منطقی" با استفاده از پیوندهای فیزیکی یکسان بقای ارتباطات به دلیل وجود مسیرهای متعدد از طریق شبکه از هر مبدأ به هر مقصد خدمات اطلاعات ارزش افزوده می توانند با استفاده از توابع پردازش بسته برای ارائه پردازش های لازم معرفی شوند ساختار بسته یک بسته شبکه جزء اساسی سازنده شبکه های راه‌گزینی بسته (به انگلیسی: packet-switched networks ) است. هنگامی که یک آیتم مانند یک فایل، پیغام ایمیل، صدا یا جریان ویدیویی از طریق شبکه انتقال می یابد، به قطعاتی به نام بسته تقسیم می شود که می تواند به طور موثرتر از یک بلوک بزرگ داده در شبکه جابجا شود. استانداردهای متعددی ساختار بسته ها را پوشش می دهد، اما معمولا بسته ها از سه عنصر تشکیل شده اند: سربرگ - حاوی اطلاعاتی در مورد بسته، از جمله مبدا، مقصد، طول و شماره بسته است. برخی از شبکه‌ها از بسته‌های با طول ثابت، معمولاً 1024 بیتی، استفاده می‌کنند، در حالی که برخی دیگر از بسته‌های با طول متغیر استفاده می‌کنند و طول بسته را در هدر لحاظ میکنند. | ## بخش 2: پردازش بسته | بسته های منفرد ممکن است مسیرهای متفاوتی را به مقصد انتخاب کنند و خارج از نظم اولیه به مقصد برسند. رایانه مقصد صحت و درستی داده ها را در هر بسته تأیید میکند (با استفاده از اطلاعات موجود در تریلر بسته)، آیتم اولیه را با استفاده از اطلاعات شماره بسته در سربرگ، دوباره جمع می کند و آیتم را به برنامه یا کاربر دریافت کننده ارائه می دهد. این مثال بنیادی شامل سه عملکرد اساسی پردازش بسته، بسته بندی، مسیریابی و دوباره سرهم کردن ( assembly ) است. به عنوان مثال، تابع مسیریابی در واقع یک فرآیند چند مرحله‌ای است که شامل الگوریتم‌های بهینه‌سازی مختلف و جستجو های جدول است. اگر بله، پس ب) بررسی کنید که آیا شبکه متصل به این رایانه دارای آدرس مقصد است یا خیر. این مثال‌ها طیف الگوریتم‌های ممکن برای پردازش بسته و اینکه چگونه می‌توانند تاخیرهای قابل توجهی را در انتقال یک آیتم ایجاد کنند، را نشان میدهند. طراحان تجهیزات شبکه، اغلب از ترکیبی از شتاب دهنده های سخت افزاری و نرم افزاری برای به حداقل رساندن تاخیر در شبکه استفاده می کنند. معماری تجهیزات شبکه تجهیزات مبتنی بر پروتکل اینترنت ( IP ) را می توان به سه عنصر بنیادی تقسیم کرد: صفحه داده، صفحه کنترل و صفحه مدیریت. صفحه داده صفحه داده زیرسیستمی از یک گره شبکه است که بسته‌ها را به وسیله یک رابط دریافت و ارسال می‌کند، آن‌ها را طبق یک پروتکل مناسب و اجرا شدنی پردازش می‌کند و در صورت لزوم آنها را تحویل داده، رها کرده، یا ارسال می‌کند. صفحه کنترل صفحه کنترل اطلاعاتی را نگهداری و ذخیره می کند که می توان از آنها برای تغییر داده های استفاده شده توسط صفحه داده استفاده نمود. پیاده سازی این پروتکل ها در صفحه داده منجر به عملکرد ضعیف ارسال بسته ها می گردد. یک راه متداول برای مدیریت این پروتکل ها این است که به صفحه داده اجازه شناسایی بسته های سیگنال ورودی داده شود و بتواند آنها را به صورت محلی به صفحه کنترل ارسال کند. این معماری کار می کند زیرا ترافیک سیگنالینگ بخش بسیار کوچکی از ترافیک جهانی را شامل میشود. این متشکل از فرآیندهایی است که از اقدامات مدیریت عملیاتی، مدیریت، پیکربندی یا تدارک پشتیبانی می کنند مانند: امکاناتی برای پشتیبانی از جمع آوری و تجمیع آمار، پشتیبانی از پیاده سازی پروتکل های مدیریتی، رابط خط فرمان، رابط های پیکربندی گرافیکی کاربر از طریق صفحات وب یا مدیریت سنتی SNMP ( پروتکل آسان مدیریت شبکه ). راه‌حل‌های پیچیده‌تر مبتنی بر XML ( زبان نشانه‌گذاری توسعه‌یافته ) نیز می‌توانن شامل شوند. کاربرد های کنترلی ارسال ، عملکرد اساسی یک روتر رمزگذاری/رمزگشایی ، حفاظت از اطلاعات در بار ( payload ) با استفاده از الگوریتم های رمزنگاری کیفیت خدمات (QOS) ، رفتار متفاوت با بسته‌ها، مانند ارائه خدمات اولویت‌دار یا تخصصی بر اساس کلاس بسته کاربرد های داده ای Transcoding ، تبدیل رمزگذاری خاص یک ویدیو به رمزگذاری خاص مورد استفاده توسط مقصد Transrating & Transizing، تبدیل اندازه و تراکم تصویر متناسب با دستگاه مقصد تشخیص تصویر یا صدا، تشخیص یک الگوی خاص (تصویر یا صدا) که با الگوهای موجود در پایگاه داده مطابقت دارد و در هنگام وقوع یک تطابق، اقداماتی انجام می‌شود. برنامه های کاربردی پیشرفته که شامل حوزه هایی مانند امنیت ( نظارت بر تماس و جلوگیری از نشت داده ها )، تبلیغات هدفمند ، خدمات سطح بندی شده ، اجرای حق نشر و تکثیر و آمار استفاده از شبکه است. اینها و بسیاری دیگر از برنامه های کاربردی آگاه از محتوا، مبتنی بر توانایی تشخیص اطلاعات خاص موجود در محموله بسته ها با استفاده از فناوری های بازرسی عمیق (DPI) هستند. اجرای توابع پردازش بسته در انتقال اطلاعات، باعث به وجود آمدن تاخیرهایی می شود که ممکن است برای برنامه در حال اجرا مضر باشند. به عنوان مثال، در برنامه های صوتی و تصویری، تبدیل لازم از آنالوگ به دیجیتال و برعکس در مقصد، همراه با تاخیرهای ایجاد شده توسط شبکه می توانند باعث ایجاد شکاف های محسوسی شوند که برای کاربران اختلال ایجاد می کنند. تأخیر (به انگلیسی: latency ) ، یک اندازه گیری تاخیر زمانی است که توسط یک سیستم پیچیده تجربه می شود. رویکرد های مختلف معماری برای پردازش بسته با هدف رسیدگی به عملکرد و الزامات کارکردی یک شبکه خاص و همچنین رسیدگی به مشکل تاخیر توسعه داده شده اند.Selissen, M. | ## بخش 3: پردازش بسته | با وجود اینکه معماری های تک رشته ای از نظر پیاده سازی ساده ترین نوع هستند، اما آنها مشمول هزینه های سربار مرتبط با عملکرد توابع سیستم عامل مانند preemption ها، مدیریت رشته، تایمرها و قفل کردن میشوند. این هزینه های سربار پردازش سیستم عامل بر روی هر بسته ای که از سیستم عبور می کند تحمیل می شوند که منجر به جریمه در توان کلی می شود. معماری چند رشته ای (سیستم عامل چند پردازشی) عملکرد پشته شبکه سیستم عامل می تواند با تطبیق نرم افزار پردازش پشته پروتکل برای پشتیبانی از چندین پردازنده ( چند رشته ای )، یا از طریق استفاده از پلتفرم های متقارن چند پردازشی (SMP) یا معماری پردازنده چند هسته ای ، بهبود یابد. اما نمی تواند در تعداد بیشتری از پردازنده ها (یا هسته ها) به صورت خطی مقیاس شود و برای مثال پردازنده ای با هشت هسته ممکن است پردازش بسته ها را به طور قابل توجهی سریعتر از یک پردازنده با دو هسته انجام ندهد. معماری مسیر سریع (بای پس سیستم عامل) در پیاده سازی مسیر سریع ، صفحه داده به دو لایه تقسیم می شود. لایه پایینی که اغلب مسیر سریع نامیده می شود، اکثر بسته های ورودی را در خارج از محیط سیستم عامل پردازش می کند و بدون اینکه هیچ یک از هزینه های سربار سیستم عامل را متحمل شود که عملکرد کلی را کاهش می دادند، پردازش می کند. فقط بسته هایی که نیاز به پردازش پیچیده ای دارند به پشته شبکه سیستم عامل (لایه بالایی صفحه داده) ارسال می شوند که عملکردهای لازن برای مدیریت، پیامرسانی (به انگلیسی: signaling ) و کنترل را انجام می دهد. هنگامی که الگوریتم های پیچیده ای مانند مسیریابی ( شبکه ) یا امنیت مورد نیاز هستند، پشته شبکه سیستم عامل بسته را به اجزای نرم افزار اختصاصی در صفحه کنترل ارسال می کند. به منظور به حداکثر رساندن توان کلی سیستم،می توان چندین هسته را به اجرای مسیر سریع اختصاص داد، در حالی که تنها یک هسته برای اجرای سیستم عامل، پشته شبکه سیستم عامل و صفحه کنترل برنامه ها مورد نیاز خواهد بود. تنها محدودیت در پیکربندی پلتفرم این میباشد که از آنجایی که هسته‌های اجرا کننده مسیر سریع، خارج از سیستم‌عامل اجرا می‌شوند، پس باید منحصراً به مسیر سریع اختصاص داده شوند و با نرم‌افزارهای دیگر به اشتراک گذاشته نشوند. با تغییر الگوهای ترافیک، سیستم را نیز می توان به صورت پویا دوباره پیکربندی نمود. همچنین، تقسیم صفحه داده به دو لایه نیز باعث افزایش پیچیدگی میشود زیرا هر دو لایه باید اطلاعات یکسانی داشته باشند تا از سازگاری و تداوم سیستم اطمینان حاصل شود. فناوری های پردازش بسته به منظور ایجاد بسترهای تخصصی پردازش بسته، فناوری های مختلفی توسعه یافته و به کار گرفته شده اند . این فناوری‌ها، که طیفی از سخت‌افزار ها و نرم‌افزار ها را در بر می‌گیرند، همگی با هدف به حداکثر رساندن سرعت و توان کلی و در عین حال به حداقل رساندن تأخیر، طراحی شده‌اند. واحد های پردازشگر شبکه معمولاً دارای توابع خاص شبکه مانند جستجوی آدرس، تطبیق الگو و مدیریت صف هستند که در ریزبرنامه سازی (به انگلیسی: microcode ) خود تعبیه شده است. برخی از پردازنده‌های چند هسته‌ای قابلیت‌ها و ظرفیت های پردازش بسته اختصاصی را برای ارائه یک سیستم روی تراشه کامل ( SoC )، تلفیق می‌کنند. آنها معمولاً رابط‌های اترنت، موتورهای رمزنگاری ، موتورهای تطبیق الگو ، صف‌های سخت‌افزاری برای کیفیت خدمات( QoS ) و گاهی اوقات عملکردهای پیچیده‌تر را با استفاده از ریز هسته‌ها ادغام می‌کنند. همه این ویژگی‌های سخت‌افزاری می توانند پردازش بسته‌های نرم‌افزاری را بارگیری کنند. در پیاده سازی های اولیه از FPGA (آرایه دروازه میدانی برنامه پذیر) یا ASICs (مدار مجتمع ویژه برنامه) استفاده می شد، اما هم اکنون عملکردهای خاصی مانند رمزگذاری و فشرده سازی هم در GPP و هم در NPU به عنوان شتاب دهنده های سخت افزاری داخلی تعبیه شده اند . بازرسی عمیق بسته توانایی تصمیم گیری بر اساس محتوای هر بسته، طیف وسیعی ای از برنامه های کاربردی جدید مانند تابع قوانین و گماشتن قوانین (PCRF) و کیفیت خدمات را امکان پذیر می کند. فناوری‌های DPI از الگوریتم‌های تطبیق الگو برای بررسی بار داخلی داده‌ها برای شناسایی محتویات هر بسته‌ای که در یک دستگاه شبکه جریان دارد، استفاده می‌کنند . | ## جمع‌بندی | این نوع نرم‌افزار مجموعه‌ای از پروتکل‌های شبکه را ارائه می‌کند که قادرند در چندین تیغه، پردازنده یا هسته توزیع شوند و به طور مناسب مقیاس شوند.