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

چرا به اینترنت جدید نیاز داریم؟
نویسندگان پروتکل‌های اصلی اینترنت کارشان را در دهه ۱۹۶۰ آغاز کردند و هدفشان ساخت شبکه‌ای عمدتاً برای ارسال ایمیل از یک کامپیوتر به کامپیوتر دیگر بوده است. هرچند اکنون مردم می‌توانند به‌طور زنده فیلم ببینند و از سرویس‌هایی مانند یوتیوب و نت‌فلیکس استفاده کنند، ولی اغلب اوقات باید یک تکه محتوا میان صدها یا هزاران و میلیون‌ها کاربر به‌طور مجازی و شبیه‌سازی ‌شده‌ در حالت بی‌درنگ و زنده توزیع شود. با رشد اینترنت، کارکردها، علایق و نیازهای کاربران هم تغییر کرده و همین موضوع ماهیت و ذات اینترنت را به‌شدت تحت تأثیر قرار داده است. به همین دلیل، هنگامی که یک بازی فوتبال یا یک فیلم را زنده تماشا می‌کنید، دائم باید شاهد پیام Bufferingباشید.

مهندسان شبکه به‌طور مدام در حال استفاده از راه ‌حل‌هایی برای بهبود کارایی زیرساخت شبکه اینترنت هستند و به‌طور مدام روش‌های جدیدی را جست‌وجو می‌کنند تا بتوانند کمی ظرفیت اینترنت را افزایش دهند. سیسکو پیش‌بینی می‌کند تا سال ۲۰۲۰ هر سال شاهد افزایش ۲۲ درصدی ترافیک اینترنت باشیم. به این صورت، احتمالاً در سال‌های آینده شاهد عصر طلایی اینترنت خواهیم بود. البته خیلی سخت است بتوان تصویری واقعی از اینترنت در چند سال آینده ترسیم کرد، اما اگر همین زیرساخت و فریم‌ورک فعلی اینترنت پابرجا بماند، باید انتظار مشکلات بیشتری را در آینده داشته باشیم.
آنچه واقعاً نیاز داریم این است که اینترنت از پهنای ‌باند بیشتری برخوردار شود و تأخیر کمتری برای تعداد زیادی از کاربران در هنگام استفاده از یک سرویس به وجود بیاید و البته امنیت بیشتری تأمین شود. اینترنتی با چنین مختصاتی دقیقاً چیزی است که محققان مرکز تحقیقاتی پالوآلتو (PARC) در کالیفرنیا درصدد ساخت آن هستند. این مرکز در تلاش است تا زیرساخت بهتری برای اینترنت بسازد. این زیرساخت CCN (سرنامContent-Centric Networking) نام‌گذاری شده است (ترجمه لغوی آن «شبکه‌سازی محتوامحور» یا «شبکه‌های محتوامبنا» می‌شود اما برای راحتی کار در این مقاله از عبارت CCN استفاده می‌کنیم). این رویکرد جدید به اینترنت به‌طور اساسی نحوه سازمان‌دهی، ارسال و بازپس‌گیری اطلاعات را تغییر می‌دهد و قابلیت‌های اطمینان‌پذیری، مقیاس‌پذیری و امنیت اینترنت را بهبود می‌بخشد.

معماری قدیمی اینترنت
مرکز PARC بیش از یک دهه است روی مفهوم و زیرساخت جدیدی برای اینترنت کار می‌کند تا درنهایت در ژانویه ۲۰۱۶ کدهای منبع ‌باز نرم‌افزار CCN به‌طور عمومی منتشر شدند. پس از آن، بیش از هزار دانلود از این کدها توسط افراد مختلف، سازمان‌های تحقیقاتی و پژوهشگاهی، دانشگاه‌ها و شرکت‌های تجاری و صنعتی اتفاق افتاد. شرکت‌هایی مانند الکاتل-لوسنت (اکنون بخشی از نوکیا است)، هواوی، اینتل، پاناسونیک و سامسونگ در این مدت روی جنبه‌های مختلفی از CCN کار کردند. در فوریه سال جاری، شرکت سیسکو اعلام کرد پلتفرم CCN اصلی که در مرکز PARCتوسعه داده شده را دریافت کرده است.
هر روز بر کاربران اینترنت افزوده می‌شود و تا چند سال آینده یک میلیارد کاربر جدید داریم. همه این کاربران نیز می‌خواهند ویدئوهای دلخواه‌ خود را استریم و پخش کنند و سازندگان محتواهای ویدئویی نیز دوست دارند ویدئوهای خود را سریع روی اینترنت آپلود کنند. به این ترتیب، می‌توانیم هم‌زمان راه را برای تهیه یک زیرساخت اینترنت بهتر فراهم سازیم و به نظر می‌رسد اکنون وقت آن فرا رسیده است. البته انتظار نمی‌رود که CCN به‌طور کامل جایگزین پروتکل‌های قدیمی اینترنت شود، اما باید به این باور برسیم که CCN یک جایگزین و معماری خوب برای اینترنت فعلی با هدف بهبود بسیاری از بخش‌ها مانند کارایی و امنیت است.
ریشه‌های اینترنت کنونی به‌طور گسترده نشأت گرفته از فناوری‌ و الگوریتم‌های استفاده شده در سیستم‌های تلفن عمومی هستند. همانند سیستم تلفن، در ابتدا اینترنت به مجموعه‌ای از نشانی‌ها نیاز دارد تا بتواند کاربران را شناسایی و دستورالعمل‌های لازم برای مسیریابی انتقال اطلاعات و محافظت از لینک‌ها را در سراسر شبکه تعریف کند. با گذشت زمان، بسیاری از متدهای مشابه که برای بالا بردن قابلیت اطمینان و امنیت تماس‌های تلفنی استفاده و باعث مقیاس‌پذیری بیشتر سیستم‌های تلفنی شدند، در معماری و زیرساخت اینترنت نیز وارد و به کار گرفته شدند.
این استراتژی کامل نبود، زیرا سیستم‌های تلفنی اولیه براساس شبکه‌های سوئیچینگ مداری کار می‌کردند. در چنین شبکه‌ای، کاربران یک جریان اطلاعاتی را به‌صورت سیگنال روی اتصال اختصاصی خود و به‌طور مستمر از ابتدای تماس تلفنی ارسال می‌کنند. اما اینترنت براساس شبکه سوئیچینگ بسته‌ای است، به این معنا که یک واحد اطلاعاتی به تعداد بسیار زیادی بسته کوچک و سپس بیت‌ها تقسیم و پس از آن از مسیرهای مختلفی روی شبکه به‌سوی مقصد ارسال می‌شوند. در مقصد، دوباره این بیت‌ها و بسته‌ها به یکدیگر متصل و اطلاعات اصلی ساخته می‌شود.

هر قطعه از محتوایی که روی اینترنت است، روی یک سرور کاربر (که با هاست می‌شناسیم) ذخیره می‌شود. غالباً محتواها روی سرورهای خود سازنده محتوا ذخیره شده‌اند. برای دریافت این محتواها، باید درخواست‌هایی به‌سوی این سرور ارسال شود و پس از آن، بسته‌های درخواستی به‌سوی درخواست‌کننده گسیل می‌شوند. در طول این مسیر، روترها مداوم باید با انواع دستورالعمل‌ها و قوانین تعریف شده سعی کنند بهترین مسیر برای ارسال بسته‌ها به‌سوی مقصد را بیابند. بنیان‌گذاران اینترنت برای مسیریابی مستقیم روترها، سیستم هوشمندانه نشانی IP را اختراع کردند. در این سیستم، به هر کاربر یا سرور یک نشانی IP منحصر به ‌فرد و اختصاصی تخصیص داده می‌شود. این نشانی‌های IP مشابه شماره‌های تلفن هستند. روترها با دریافت بسته‌های اطلاعاتی، سرآیند بسته را می‌خوانند و نشانی IP مقصد را مشخص می‌کنند و بعد به‌دنبال نشانی IP گیرنده بسته در جدول‌های مسیریابی خود می‌گردند و در مرحله بعدی، بسته را به‌سوی گیرنده یا روتر میانی بعدی ارسال می‌کنند. هر زمان که یک کاربر اینترنت یک نشانی سایت، URL یا نشانی ایمیل را در مرورگر وب تایپ می‌کند، سیستم نام دامنه (DNS) این نشانی‌ها را به نشانی IPترجمه می‌کند و درخواست کاربر را به‌سوی سرور مورد نظر می‌فرستد. سیستم DNS اساساً یک دفترچه تلفن برای اینترنت است.
از طریق این سرورها، یک URL مانند http://spectrum.ieee.org به یک نشانی IP مانند 23.197.245.16 تبدیل می‌شود.  برای اینکه بسته‌های اطلاعاتی بتوانند میان چند سرور یا کاربر در حرکت باشند، سازندگان پروتکل‌های اولیه اینترنت یک معماری شبکه اشتراکی را طراحی کردند، البته به شرطی که نشانی IP کاربران حقیقی و صحیح باشد. معماری نشانی‌های IP اینترنت که به پروتکل TCP/IP مشهور است، از چهار لایه مستقل تشکیل شده است که هر لایه یک کار مشخص و تابعی انجام می‌دهد. لایه اول «ارتباط داده» است که اطلاعات روی آن ارسال می‌شود. در این لایه کابل‌های مسی، روترها و سوئیچ‌ها، کابل‌های فیبر نوری، برج‌های سلولی و دیگر تجهیزات فیزیکی شبکه قرار دارند. لایه‌های دوم و سوم «اینترنت» و «انتقال» و شامل یک سری قوانین و دستورالعمل‌ها برای مسیریابی اطلاعات و بسته‌ها هستند. در اینجا، پروتکل اساسی و بسیار مهم Internet قرار دارد که نشانی‌ها را برای بسته‌ها و کاربران مدیریت می‌کند. همچنین، این نشانی‌ها را برای پروتکل Control ترجمه می‌کند تا نشان دهد این بسته‌ها و اطلاعات چگونه باید ارسال شوند. بالاترین لایه پروتکل TCP/IP لایه «کاربردی» است که بیشتر برای نحوه نمایش اطلاعات در کامپیوتر، برنامه‌ها و مرورگرهای وب مختلف سمت کاربران استفاده می‌شود.
این پروتکل‌های اساسی بیش از چهار دهه است اینترنت را پشتیبانی کرده و باعث رشد آن شده‌اند، اما نقایصی نیز دارند. به عنوان مثال، آن‌ها همیشه محتوا را با کارآمدترین روش‌ها سازمان‌دهی نمی‌کنند یا نسبت به نوع محتوا حساس نیستند. همین ‌طور، این پروتکل‌ها به‌طور پیش‌فرض از سیستم‌های رمزنگاری پشتیبانی نمی‌کنند. در حالی که می‌توان با تعریف توابع جدید و افزودن پروتکل‌های الحاقی بیشتر، قابلیت‌های جدیدی مانند رمزنگاری اطلاعات را به اینترنت اضافه کرد، اما از آن سو موجب تأخیر بیشتر در تحویل بسته‌ها و افزایش ترافیک شبکه می‌شوند.
معماری CCN برای اینترنت
مرکز تحقیقاتی PARC سعی کرده است در CCN یک معماری جدید برای اینترنت طراحی کند که اساس کار نه نشانی‌های IP کاربران، بلکه اطلاعات درون شبکه برای سازماندهی اینترنت است. به همین خاطر، این معماری را «شبکه‌سازی محتوامحور» می‌خوانیم، چون مبنای کار آن براساس این است که یک محتوا چگونه نام‌گذاری و ذخیره شده است، چگونه تحویل و روی کدام مکان‌ها باید تحویل داده شود. پروتکل جدید CCN می‌تواند هر زمان که نیاز باشد، محتوای روی اینترنت را پیدا کند و بداند کجاها تحویل داده شده است و به درخواست‌های جدید در هر نود شبکه تحویل بدهد و البته می‌تواند برخی کارها و عملیات‌ جدید اضافی نیز روی محتوا انجام دهد که باعث می‌شوند شبکه سریع‌تر، انعطاف‌پذیرتر و امن‌تر شود. برای درک چگونگی کارکرد CCN در اینترنت، باید این مسئله درک شود که چگونه معماری جدید اینترنت می‌تواند یک محتوای خاص در شبکه را بیابد و به هر کاربر علاقه‌مند تحویل دهد. (شکل ۱)

شکل ۱: روش جدیدی در مسیریابی؛ نمایی از نحوه کار شبکه CCN
بسته‌های علاقه‌مندی با رنگ زرد و بسته‌های محتوایی با رنگ سبز مشخص شده‌اند. یک نود شبکه بسته علاقه‌مندی با یک نام خاص در شبکه منتشر می‌کند و نودهای دیگر سعی دارند محتوای مرتبط با آن را بیابند و برای نود مبدأ ارسال کنند. نودهای میانی با استفاده از اجزای شبکه CCN در تلاشند ابتدا به‌طور محلی درخواست‌ها را جواب دهند تا باعث افزایش سرعت، کاهش ترافیک و امنیت بیشتر شبکه شوند.

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

هنگامی که شما یک صفحه وب را بازدید می‌کنید، کامپیوتر شما نیاز دارد به‌طور میانگین نزدیک به صد قطعه محتوایی را دریافت کند. هر قطعه ممکن است بلوکی از متن، عکس یا عنوان باشد. در شبکه CCN، هنگامی که در یک صفحه وب حرکت یا روی لینکی کلیک می‌کنید، شما به‌طور خودکار بسته‌های علاقه‌مندی با موضوع دلخواه خود یا موضوعی که رویش لینک کرده‌اید، در شبکه ارسال می‌کنید تا محتوای مرتبط با آن به شما تحویل داده شود. تایپ ساده یک نشانی URL یا نشانی یک صفحه وب در نوار نشانی مرورگر وب می‌تواند به‌طور خودکار صدها بسته علاقه‌مندی را در سراسر شبکه ارسال کند. این بسته‌های علاقه‌مندی شامل موضوع‌ها و اجزای صفحه‌ای هستند که درخواست کردید.
هر دو نوع بسته برچسب‌هایی دارند که شامل یک سری بیت‌ها می‌شوند و می‌توانند اطلاعاتی درباره نوع بسته، زمان ساخت بسته و اطلاعات دیگر نشان بدهند. در بسته‌های محتوایی، برچسب شامل بیت‌هایی است که نوع محتوا را نیز مشخص می‌کنند، در حالی که برچسب‌های بسته‌های علاقه‌مندی نشان می‌دهند چه محتوایی مد نظر است و باید جست‌وجو شود. هنگامی که یک کاربر روی یک لینک کلیک می‌کند و ناگهان سیلی از بسته‌های علاقه‌مندی ساخته و ارسال می‌شود، شبکه شروع به جست‌وجو برای بسته‌های محتوایی با نام‌های مشابه می‌کند تا آن‌ها را برای درخواست‌کننده بفرستد. نام داخل برچسب بسته‌های علاقه‌مندی URL (سرنام Uniform Resource Identifier) نامیده می‌شود و از سه بخش تشکیل شده است. بخش اول، یک پیشوند است که روتر برای مسیریابی و یافتن مقصد آن بسته استفاده می‌کند. بخش دوم، محتوای خاصی که بسته یا درخواست‌کننده خواسته است و باید پیدا شود را شرح می‌دهد و بخش سوم، فهرستی از اطلاعات اضافی است. مانند اینکه این محتوا کجا ساخته شده است یا باید به چه ترتیبی نمایش داده شود.

در اینترنت کنونی، تنها یک نوع بسته اطلاعاتی وجود دارد و هر نوع محتوای کاربران اعم از متن، صوت و ویدئو را این نوع بسته اطلاعاتی منتقل می‌کند. اما در شبکه CCN، دو نوع بسته وجود دارد: بسته‌های محتوایی و بسته‌های علاقه‌مندی

فرض کنید یک مرورگر وب از شبکه CNN برای یافتن این مطلب در وب‌سایت IEEE­Spectrum استفاده می‌کند. شبکه باید تمام بسته‌های محتوایی که شامل این مطلب هستند را بیابد و تحویل کاربر دهد. برای انجام آسان‌تر این فرآیند، نام‌های URL از یک سیستم نام‌گذاری سلسله‌ مراتبی استفاده می‌کنند تا مشخص شود کدام بسته برای صفحه درخواست شده مورد نیاز است و در چه صورتی باید نمایش داده شود. به عنوان مثال، یک بسته محتوایی ممکن است نامی مشابه spectrum.ieee/2017/April/ver=2/chunk=9:540 داشته باشد.
در این مثال، spectrum.ieee همان پیشوند مسیریابی است که برای نسخه دوم این مطلب از سوی روترها استفاده می‌شود. اما بسته خاصی که درخواست شده است، بسته 9 از ۵۴۰ است که شامل مقاله کامل است.
هنگامی که یک کاربر CCN روی یک لینک کلیک یا نشانی را در وب تایپ می‌کند، ماشین کاربر یک بسته علاقه‌مندی را در شبکه توزیع می‌کند تا محتوای مرتبط با آن جست‌وجو شود، در حالی که با دیگر بسته‌های علاقه‌مندی می‌توان بسته‌های ۱۰ و ۱۱ را جست‌وجو کرد. وقتی یک بسته علاقه‌مندی با شماره ۹ در شبکه در حال حرکت و سفر است، هر روتر یا سرور با دریافت این بسته باید بررسی کند آیا محتوای مورد نظر را دارد یا نه. روتر و سروری که بسته علاقه‌مندی شماره ۹ را دریافت کرده است ولی به محتوای درخواست شده دسترسی ندارد، باید بررسی کند این بسته علاقه‌مندی را به نشانی کدام نود شبکه ارسال کند تا بتوانند بسته‌های محتوایی مرتبط را تأمین کنند. برای انجام این کارها، هر نود شبکه به یک سیستم CCN forwarder مجهز است. عملیات تعریف شده در CCN Forwarder تا حدود بسیار زیادی شبیه به آن چیزی است که در روترهای سنتی سراغ داریم.
یک  CCN Forwarder از پردازنده، حافظه و فضای ذخیره‌سازی برای مدیریت درخواست‌ها استفاده می‌کند. به‌علاوه، یک سری برنامه‌های مشترک را روی سخت‌افزار خود به اجرا خواهد گذاشت که با نام Forwarding Engine می‌شناسیم.

Forwarding Engine تصمیم می‌گیرد هر محتوا کجا ذخیره‌ شود، چگونه ترافیک ورودی/ خروجی نود را در شرایط ترافیکی سنگین و بار کاری زیاد متعادل کند و کدام مسیریابی میان دو هاست بهتر است. Forwarding Engineشامل سه بخش اصلی می‌شود: ذخیره‌سازی محتوا، جدول علاقه‌مندی‌های در حالت انتظار و بانک اطلاعاتی مربوط به هدایت بسته‌ها. به‌طور کلی، CCN شبیه به این کار می‌کند. Forwarding Engine یک نود بسته‌های علاقه‌مندی جدید را دریافت می‌کند و به بررسی آن‌ها می‌پردازد. اگر محتوای درخواست شده را در فضای ذخیره‌سازی خود داشته باشد، یک بسته محتوایی برای مبدأ ارسال می‌کند، ولی اگر محتوای درخواست شده را نداشته باشد، برای نشانی نود بعدی به جدول علاقه‌مندی‌های در حالت انتظار مراجعه و براساس آخرین مرتب‌سازی انجام گرفته و اطلاعات ذخیره شده در بانک اطلاعاتی Forwarding تصمیم می‌گیرد بسته علاقه‌مندی را برای کدام نود ارسال کند. در حالی که به نظر می‌رسد Forwarding Engine بیشتر برای مسیریابی و نگهداری اطلاعات مسیریابی به کار گرفته شود، اما هر موتور از الگوریتم‌هایی برای تصمیم‌گیری درباره ذخیره‌سازی بسته‌های محتوایی، کش کردن محتواها برای آینده نزدیک و نحوه تحویل اطلاعات و محتوا به کاربران سود می‌برد.
برای اینکه درک کنید چگونه این سیستم می‌تواند پروتکل‌های فعلی اینترنت را بهبود دهد، باید در نظر بگیرید هنگامی که یک بسته علاقه‌مندی جدید وارد یک نود می‌شود، چه اتفاقی می‌افتد. ابتدا، Forwarding Engineبررسی می‌کند که آیا محتوای درخواست شده را دارد یا خیر. برای این منظور به‌سراغ Content Store خود می‌رود.Content Store بانک اطلاعاتی شامل هزاران بسته محتوایی است که برای دسترسی سریع و ساده در حافظه نگهداری می‌شوند؛ شبیه به حافظه کش در روترهای معمولی بازار. اما در CCN یک تفاوت کلیدی وجود دارد. پروتکلInternet سنتی تنها به هاست اصلی یا تعدادی محدود سرور اختصاصی اجازه ذخیره‌سازی اطلاعات را می‌دهد، اما در شبکه CCN هر نود اجازه دارد محتوا را در هر کجای شبکه کپی و ذخیره کند. یک نود برای ساختن Content Storeخود می‌تواند از هر بسته محتوایی عبوری، یک کپی از آن به Content Store اضافه کند تا بتواند درخواست‌های آینده را سریع‌تر پاسخ دهد. این قابلیت به این معنا است که دیگر نیازی نیست محتوا فقط روی سرور اصلی سازنده محتوا نگهداری شود. محتوا می‌تواند در سراسر شبکه حرکت کند و در هر نودی ذخیره شود یا حداقل در جاهایی که احتمال نیاز بیشتری است یا درخواست‌های بیشتری دارد ذخیره شود. این قابلیت به‌وضوح هوشمندی و تحویل سریع‌تر شبکه را در پی دارد.
در حال حاضر، شرکت‌های بزرگی مانند نت‌فلیکس پول بسیار زیادی هزینه می‌کنند تا بتوانند نسخه‌های بیشتری از محتواهای پرمخاطب و محبوب خود را روی شبکه‌های تحویل محتوا ذخیره کنند و به‌نوعی مراکز داده منطقه‌ای برای خود بسازند. با CCN کل اینترنت می‌تواند مانند یک شبکه تحویل محتوا عمل کند. هر سرور با برخورداری از حافظه کافی نه‌تنها می‌تواند سروری باشد که نت‌فلیکس مدیریت می‌کند، بلکه می‌تواند 3 ثانیه از فیلم‌های محبوب نت‌فلیکس را نیز روی خود ذخیره کند. در ادامه خواهیم گفت یک شبکه CCN چگونه می‌تواند از محتواهای ذخیره شده روی هر نود یا سرور نیز محافظت به عمل بیاورد و امنیت آن‌ها را تأمین کند. پس، نگرانی از بابت کپی محتواها روی نودهای مختلف در شبکه وجود نخواهد داشت. (شکل ۲)

شکل ۲: اجزای یک نود در شبکه CCN
سرورها و روترها می‌توانند با استفاده از دو جدول PIT و FIB مکان بسته‌های محتوایی را در هر کجای شبکه CCN پیدا کنند. PIT آخرین وضعیت بسته‌های رد و بدل شده در شبکه را نگهداری می‌کند و FIB فهرستی از محتواهای ذخیره ‌شده روی سرور یا روتر را دارد.

به مثال خود برگردیم. اگر Forwarding Engine محتوای درخواست شده در یک بسته علاقه‌مندی را رویContent Store خود جست‌وجو و پیدا می‌کند، یک بسته محتوایی به‌سوی کاربری که بسته علاقه‌مندی را ارسال کرده بود، با همان نشانی گیت‌وی یا Face مشابه ارسال می‌کند. اما ممکن است وقتی یک بسته علاقه‌مندی به دست یک نود می‌رسد، محتوای درخواست شده را در Content Store خود نداشته باشد. در این شرایط وارد مرحله بعدی می‌شویم. Forwarding Engine با هم‌فکری جدول علاقه‌مندی‌ها (PIT) سعی می‌کند اطلاعات بسته علاقه‌مندی دریافت شده را در این جدول ذخیره و بانک اطلاعاتی خود شامل تمام بسته‌های علاقه‌مندی دریافت شده توسط این نود را به‌روزرسانی کند. در این جدول، اطلاعات محتواهای مورد علاقه و نشانی محتواهای اخیراً ارسال شده براساس بسته‌های علاقه‌مندی نیز نگهداری می‌شود. Forwarding Engine با دریافت یک بسته علاقه‌مندی، جدول PIT را بررسی می‌کند تا ببیند آیا اخیراً بسته‌های علاقه‌مندی مشابه دیگری یا با محتوای مشابه درخواستی دریافت کرده است یا خیر. اگر این‌ طور بود، تصمیم می‌گیرد بسته علاقه‌مندی را به‌سوی همان روتر قبلی ارسال کند. یک حالت دیگر این است که صبر کند تا بسته محتوایی درخواست شده در مسیر بازگشت به نود اصلی به دست او برسد. سپس، این بسته محتوایی را برای تمام کاربرانی که این محتوا را درخواست کرده‌اند گسیل کند.
ایده محوری در اینجا ساختن رکوردهایی برای هر بسته علاقه‌مندی در PIT است تا بتوان در کل شبکه در هر نود به‌دنبال محتوای مورد درخواست گشت و اگر بشود یک نود زودتر به محتوا دسترسی یابد، شبکه سریع‌تر و بهینه‌تر شده است. چنین شبکه‌ای با معماری اینترنت سنتی بسیار متفاوت است. در شبکه‌های سنتی، روترها سریع فراموش می‌کنند که چه بسته‌ها یا محتوایی را ارسال کردند. Forwarding Engine به‌طور مرتب با PIT در ارتباط است تا تصمیم بگیرد یک بسته علاقه‌مندی را به‌سوی جلو یا عقب در شبکه هدایت کند. در ضمن، جدول PIT نیز به‌طور مرتب به‌روزرسانی می‌شود و رکوردهای جدیدی به آن اضافه خواهد شد که آخرین وضعیت شبکه و بسته‌های علاقه‌مندی و محتوایی را نشان می‌دهد.
در وضعیتی که یک بسته علاقه‌مندی به Forwarding Engine برسد، ولی محتوای درخواست شده در Content Store نباشد و همین‌ طور هیچ رکورد مشابهی در PIT ثبت نشده باشد، به‌ناچار به‌سراغ FIB می‌روند که آخرین تلاش برای پاسخ‌گویی موفقیت‌آمیز به یک درخواست جدید است. در حالت ایده‌آل، FIB ایندکسی از تمام پیشوند‌هایURL در خود ذخیره کرده است یا جدول مسیریابی مقصد کل شبکه را دارد. هنگامی که یک بسته علاقه‌مندی دریافت می‌شود، Forwarding Engine شروع به جست‌وجو در ایندکس‌های FIB برای مکان‌یابی محتوای درخواست شده می‌کند. سپس، بسته علاقه‌مندی را از طریق هر گیت‌وی نزدیک‌تر به‌سوی مقصد یافته شده ارسال می‌کند و یک رکورد جدید در PIT برای آینده ثبت می‌کند. در FIB، اگر بخواهیم وضعیت کل اینترنت را نگهداری کنیم، بانک اطلاعاتی بسیار بزرگی خواهد شد که امکان نگهداری آن در هر نود میانی نیست؛ بنابراین، همانند جدول‌های مسیریابی روترها سعی می‌شود وضعیت کل اینترنت در شبکه توزیع شود و هر نود بانک اطلاعاتی از مسیریابی‌های نودهای اطراف خود نگهداری کند.

در یک شبکه سنتی، روترها با مراجعه به جدول‌های مسیریابی به روشی مشابه بالا، نشانی IP سرورهای مقصدی که اطلاعات مورد نیاز کاربر ذخیره شده است را می‌یابند و نزدیک‌ترین مسیر و گیت‌وی را برای ارسال درخواست انتخاب می‌کنند. باز هم در اینجا یک تفاوت با شبکه CCN وجود دارد. در FIB مکان فعلی یک سرور جست‌وجو می‌شود، ولی در شبکه‌های سنتی به‌سراغ نشانی IP ذخیره شده سرور در جدول مسیریابی می‌روند. با تمرکز روی یافتن مکان کنونی یک محتوا یا سرور به‌جای یافتن نشانی IP هاست اصلی، شبکه CCN می‌تواند انعطاف‌پذیرتر و پاسخ‌گوتر از شبکه‌های سنتی امروزی باشد. مطالعات ده ساله مرکز PARC کالیفرنیا نشان می‌دهد شبکه‌های CCN از سه مؤلفه اصلی برخوردار هستند: قابلیت اطمینان، قابلیت مقیاس‌پذیری و امنیت.
شبکه CCN با اجازه دادن به هر محتوا که در کجا ذخیره شود، قابلیت اطمینان را افزایش و بهبود می‌دهد. این ویژگی به‌طور خاص در شبکه‌های بی‌سیم با نرخ خطای بسیار زیاد کاربرد دارد؛ هنگامی که اطلاعات توسط یک تلفن هوشمند به‌سوی یک برج سلولی ارسال یا به‌صورت فراگیر توسط یک اکسس‌پوینت وای‌فای در محیط اطراف پخش می‌شود. پروتکل‌های فعالی اینترنت بازیابی خطاها در بالاترین سطح از پروتکل‌های پشته را رها کردند و قابلیت اطمینان‌پذیری پایینی دارند. اما با نگهداری یک کپی از محتوا برای مدت کوتاهی پس از ارسال در شبکه یا هدایت بسته به‌سوی مقصد، نود CCN ترافیک بالادستی برای دستیابی به یک بسته را کاهش می‌دهد. اگر یک بسته در مسیر انتقال به نود بعدی گم شود، نود قبلی نیازی به درخواست بسته از مبدأ ندارد و خود دوباره می‌تواند اقدام به ارسال بسته جدید کند، زیرا محتوای اخیراً ارسال شده را در حافظه دارد.
همچنین، PIT می‌تواند یک شبکه ساده‌تر برای مقیاس‌پذیری بسازد. با گروه‌بندی بسته‌های علاقه‌مندی مشابه هم پهنای ‌باند مورد نیاز برای هر درخواست کاهش خواهد یافت. به‌جای ارسال درخواست جدید برای هاست اصلی برای هر بسته علاقه‌مندی دریافت شده، هر نود می‌تواند تمام درخواست‌های بسته‌های علاقه‌مندی با یک شناسه را به‌طور محلی پاسخ‌ دهد و یک کپی از محتوای درخواست شده را برایشان ارسال کند. در این صورت، تعداد بیشتری درخواست با یک پهنای ‌باند کمتر تحویل داده می‌شود. وقتی نودی می‌بیند درخواست‌های بسیار زیادی برای یک ویدئوی خاص وجود دارد، می‌تواند با کمک الگوریتم‌هایی که برای آن تعریف شده است، یک کپی اضافه دیگری از بسته‌های محتوایی شامل این ویدئو در Content Store نگهداری کند تا سریع‌تر درخواست‌های احتمالی آینده را تحویل بدهد.
‌بهبود قابلیت اطمینان‌پذیری و سهولت در مقیاس‌پذیری شبکه دو مزیت عمده و بزرگ برای اینترنت هستند. اما به نظر می‌رسد مهم‌ترین مزیت و دستاورد شبکه CCN تأمین امنیت بیشتر باشد. در شبکه‌های سنتی، غالب مکانیسم‌های امنیتی روی محافظت از مسیرهای حرکتی اطلاعات دارند (شبیه استراتژی‌هایی که اوایل در شبکه‌های تلفنی مدار سوئیچ به کار گرفته می‌شدند). در مقابل، در شبکه CCN از خود بسته‌های اطلاعاتی محافظت به عمل می‌آید و به جریان و مسیرهای شبکه توجهی نمی‌شود.
در حال حاضر، دو کاربر روی اینترنت می‌توانند با به‌کارگیری پروتکل‌های اینترنتی در دسترس یک اتصال امن میان خود برقرار کنند. دو پروتکل شایع در این زمینه HTTPS و TLS هستند. با HTTPS سیستم کاربر با استفاده از شرکت‌های ثالثی مانند Symantec Corp یک اعتبارنامه دیجیتالی صادر می‌کند تا بتواند کاربران دیگر را احراز هویت و تأیید کند. در TLS، کاربران در شروع یک نشست و اتصال، مجموعه‌ای از کلیدها و الگوریتم‌های رمزنگاری را در اختیار یکدیگر می‌گذارند تا از طریق آن‌ها بتوانند اطلاعات را تبادل کنند.

 مطالعات ده ساله مرکز PARC کالیفرنیا نشان می‌دهد شبکه‌های CCN از سه مؤلفه اصلی برخوردار هستند: قابلیت اطمینان، قابلیت مقیاس‌پذیری و امنیت

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

چالش‌های شبکه CCN
ویژگی امنیتی شبکه CCN خبرهای خوبی به همراه دارد. در شبکه CCN استفاده از حملات انکار سرویس توزیع شده (Distributed DoS) بسیار سخت خواهد بود. هکرها در این نوع حملات سعی می‌کنند حجم زیادی از درخواست‌های بزرگ را به‌سوی یک سرور یا وب‌سایت روانه کنند تا از کار بیفتد. چنین مکانیسمی روی شبکه CCN بسیار سخت‌تر خواهد بود. چون ترافیک‌های غیرمعمول در این شبکه‌ها به‌سادگی متوقف و از ادامه آن‌ها جلوگیری می‌شود. در CCNممکن است هکرها با هوشمندی حجم زیادی از بسته‌های علاقه‌مندی را به‌سوی سروری گسیل کنند تا حافظه و پردازنده سرور یا جدول PIT سرایز شود. این چالش و نقطه ضعف شبکه CCN است که باید برطرف شود تا امکان استفاده عمومی گسترده آن وجود داشته باشد.
یکی دیگر از چالش‌های مهم، چگونگی ادغام پروتکل‌های CCN در روترهایی است که اکنون در شبکه‌ها و اینترنت مورد استفاده قرار گرفتند و نیاز به‌ سرعت بسیار بالایی دارند. به‌طور ویژه، تحلیلگران نگران این موضوع هستند که در CCN روترها نیاز به ذخیره‌سازی جدول‌های بسیار بزرگ FIB و PIT هستند تا بتوانند محتواهای مختلف روی شبکه را ردگیری کنند و از پس چالش‌های بالقوه مرتبط با حافظه برآیند. شرکت‌هایی مانند سیسکو و هواوی و مراکز تحقیقاتی مانند PARK و دانشگاه واشینگتن روی این موضوع کار می‌کنند تا مشکل را برطرف کنند و نسخه‌ای از شبکه CCN سازگار با انواع روترهای معمولی موجود در بازار و همین ‌طور زیرساخت اینترنت ارائه بدهند.
مدل‌های مشابه
PARC تنها مرکز تحقیقاتی نیست که روی ارائه معماری جدیدی برای اینترنت کار می‌کند و توسعه‌دهنده رسمیCCN است. مراکز تحقیقاتی دیگر در سراسر جهان در حال کار روی پروتکل‌های دیگری برای جایگزینی با CCN یا اینترنت فعلی هستند. برای نمونه، این گروه‌ها توانستند معماری‌هایی مشابه CCN با نام‌هایی مانند CCN-lite(دانشگاه بازل سوئیس) و Named Data Networking (بنیاد ملی علوم) بسازند. تمام این پروژه‌ها مبتنی بر نرم‌افزار PARC هستند و بخشی از یک حوزه تحقیقاتی بسیار گسترده به‌نام ICN (سرنام InformationCentric Networking) می‌شوند که نمی‌توان در زیرشاخه CCN تقسیم‌بندی کرد و شاید بتوان گفت کلاً تحقیقات، اهداف و ساختار دیگری را دنبال می‌کنند.
یک پروژه تحقیقاتی بزرگ به‌نام GreenICN زیر نظر پروفسور شیومینگ فو در دانشگاه گوتینگن آلمان در جریان است که با بیش از ۱۲ دانشگاه و شرکت بزرگ دیگر دنیای فناوری همکاری داشته و در ارتباط هستند. این پروژه به بررسی استفاده از فناوری‌های جدید و به‌خصوص برنامه منبع ‌باز CCN مؤسسه PARC برای ساخت شبکه‌های قدرتمند می‌پردازند. به‌طور مشخص می‌خواهند شبکه‌های جدیدی بسازند که در حوادث طبیعی بسیار محکم و پایدار باشند و دستخوش تغییر یا نابودی قرار نگیرند. پروفسور فو و همکارانش از قابلیت‌های CCN برای ساخت شبکه‌های مستقل و خصوصی با مصرف انرژی محدود استفاده می‌کنند. پروژه GreenICN یک شبکه نمونه اولیه در سال ۲۰۱۶ عرضه کرد.
حرف آخر
در روزهای نخستین اینترنت، هیچ‌کس تصوری از آینده این شبکه نداشت و نمی‌شد پیش‌بینی کرد چه اتفاقی می‌افتد و اینترنت به چه موجودی تبدیل خواهد شد. اکنون، بیش از ۴۵ سال از آن زمان گذشته است و دانش و تجربه زیادی درباره ماهیت اینترنت و نحوه کارکرد و رشدش داریم. بنابراین، دور از واقعیت نیست که انتظار داشته باشیم نسل بعدی معماری اینترنت ساخته شود تا سریع‌تر، امن‌تر، قابل ‌اعتمادتر و انعطاف‌پذیرتر باشد. CCN یک معماری جدید برای اینترنت است که می‌خواهد همین هدف را تأمین کند و انتظار می‌رود در سال‌های آینده با استقبال و گسترش بیشتری روبه‌رو شود. شرکت‌های زیادی در سراسر دنیا می‌خواهند از CCN برای شبکه‌های محلی و درون‌سازمانی خود با کارکردهای ویدئویی و مالی استفاده کنند. در این شبکه‌ها، کاربران، فرستنده‌ها و حافظه‌های کش بهتر کنترل می‌شوند و چالش‌های بزرگی پیش ‌روی CCN وجود ندارد. به هر حال، همان ‌طور که گفتیم پیش‌بینی آینده اینترنت به‌خصوص برای آینده دور بسیار سخت است اما نیاز به شبکه‌ای جدید داریم تا بتواند سریع‌تر و چابک‌تر میلیاردها انسان دیگر را هم به یکدیگر وصل کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *