شبکهسازی باز یا Open Networking
شبکهسازی باز راهکاری برای رهایی از محدودیتهای تأمینکنندگان
برای بالابردن انعطاف و رهایی از Vendor lock-in، چندین سال است که ایده Open Networking در اکوسیستم تلکام به صورت پررنگتری مطرح شده است. برای توسعه این ایده، فریمورکها و Communityهایی ایجاد شده است. هدف این Communityها ایجاد فرصت برای شرکتهای مختلف در سرتاسر جهان است که بتوانند محصولات باکیفیتی را در اختیار اپراتورها قرار دهند.
زیرساخت اینترنت و اپراتورها
وجود زیرساخت اینترنت و ارتباطات نقش ویژهای در شکلگیری سبک زندگی مردم در سرتاسر جهان دارد. برای شکلگیری این زیرساخت، اپراتورهای مختلف نقش ویژهای را برعهده دارند. در حقیقت، ستون فقرات این شبکه توسط این اپراتورها در اختیار کاربران قرار میگیرد. اپراتورها نیز برای آماده کردن این زیرساخت از تجهیزات وندورهای بزرگ بهره میبرند. از طرفی دیگر، با توجه به نیازمندی و انتظارات جدید در سمت کاربران و تغییرات سریع فناوری، نیاز به انعطاف و نوآوری بیش از پیش احساس میشود.
مهمترین مانع برای دستیابی به انعطاف و ارائه سرویسهای جدید، وجود Vendor lock-in است. به عبارتی، وجود انحصار در سمت وندورها، امکان ارائه سرویسها با انعطاف مناسب برای کاربران را از بین برده است. در همین راستا، مشابه با فضای متنباز که در توسعه نرمافزار از گذشته مطرح بوده است، همین دیدگاه در سطح تجهیزات زیرساخت شبکه نیز مورد توجه قرار گرفته است. از این رو، سرفصل Open Networking چندین سال است که در زیستبوم شرکتهای فعال در حوزه زیرساخت شبکه مطرح میباشد.
ایده Open Networking
ایده Open Networking بر این اصل استوار است که بتوان بخشهای مختلف مورد نیاز برای توسعه یک محصول شبکه را به صورت متنباز تعریف کرده و در عین حال، واسطهای بین قسمتهای مختلف را به خوبی تعریف نمود. به عبارتی، هدف نهایی این است که شما بتوانید یک فریمورکی داشته باشید که از یک طرف، بخشهای مختلف آن و از طرفی دیگر، واسطهای ارتباطی بین بخشهای مختلف در فریمورک به خوبی تعریف شوند. در این صورت، شما میتوانید گزینههای مختلفی را برای هر کدام از این بخشها و واسطها در اختیار داشته باشید. با کنار هم قرار دادن این گزینهها، امکان ارائه محصولی را به دست میآورید که تا پیش از این، تنها توسط وندورهای بزرگ قابل ارائه بودند.
در راستای ایده Open Networking و پیادهسازی آن، بحث جداسازی سختافزار از نرمافزار مطرح میشود که در اینجا بحث Disaggregation تعریف میشود. Disaggregation در واقع جدایی بین سختافزار و نرمافزار میباشد. در طی این جدایی شما میتوانید قسمتهای سختافزاری و نرمافزاری را به صورت مجزا در اختیار داشته باشید. ارتباط بین این دو قسمت از طریق واسطهای استاندارد، برقرار میشود. در گام بعدی، میتوان خود نرمافزار را نیز به قسمتهای مختلفی تقسیم نمود که به صورت مجزا توسعه پیدا میکنند و ارتباط بین آنها از طریق واسطهای استاندارد برقرار میشود.
Disaggregation و SDN
در اینجا، بین بحث Disaggregation و SDN (Software Defined Networking) شباهتهایی وجود دارد که گاها ابهامهایی را در ذهن به وجود میآورد. هدف SDN این است که تصمیمگیری در سطح شبکه به صورت متمرکزتری اتفاق بیفتد. در حقیقت به جای آنکه، تصمیمگیری به صورت غیرمترکز توسط همه المانهای شبکه صورت پذیرد، به صورت متمرکز توسط یک کنترلر مرکزی صورت میگیرد. از این رو، برای پیادهسازی SDN نیاز است که نرمافزار از سختافزار جدا شده و در یک کنترلر مرکزی پیادهسازی شود.
با این حال، بین Disaggregation و SDN دو تفاوت اساسی وجود دارد. تفاوت اول این است که خواستگاه Disaggregation بیشتر نیاز به Open Networking و کم کردن Vendor Lock-in است. درحالیکه خواستگاه اصلی SDN، متمرکز کردن تصمیمگیری در سطح المانهای شبکه میباشد. تفاوت دوم مربوط به سطح جدا شدن نرمافزار و سختافزار میباشد. در Disaggregation، نرمافزار را میتوان تا حد خوبی از سختافزار مجزا در نظر گرفت. ولی در SDN، همه قابلیت های نرمافزاری المان شبکه به کنترلر منتقل نمیشود و تنها بخشهایی از آن، در سطح کنترلر پیادهسازی و بخشهایی از آن، همچنان بر روی المان شبکه پیادهسازی میشود.
نکته حائز اهمیت این است که با بررسی روند تکنولوژی و پیادهسازیهای محصولهای زیرساخت شبکه به این نتیجه میرسیم که هر دو ایده Disaggregation و SDN در حال توسعه بوده و حتی به صورت مکمل عمل میکنند. از طرفی دیگر، با توجه به وجود محصولهای زیرساخت شبکه، هر دوی این ایدهها به صورت تدریجی و گام به گام جایگاه خود را در نوع پیادهسازی محصولها و استانداردهای مختلف به دست میآورند.
ترافیک با پهنای باند بالا در Open Networking
محصولات زیرساخت شبکه باید بتوانند ترافیک را با پهنای باند بالایی پردازش کرده و به مقصد برسانند. از این روی، مهمترین المان برای پردازش ترافیک، تراشه NP (Network Processor) است که به صورت خاص برای پردازش ترافیک شبکه طراحی شده است.
یکی از مهمترین نکات در فضای Open Networking وجود تراشههای NP با ظرفیتهای متناسب با نیازمندیهای سطح Carrier Grade میباشد که امکان ارائه محصول مناسب در فضای Open Networking را فراهم کرده است. در این راستا، شرکتهای مختلفی مانند Barefoot (اکنون Intel)، Broadcom، Cisco (تراشههای سری Silicon One)، Innovium (اکنون Marvel)، Mellanox (اکنون Nvidia)، Nephos (spinout از MediaTek) قابلیت ارائه تراشه NP را دارند. متناسب با ظرفیت هر کدام از آنها میتوان در لایههای مختلفی از زیرساخت شبکه از آنها استفاده کرد.
در کنار راهحلهای مبتنی بر تراشههای NP، امکان استفاده از پرازندههای x86 با استفاده از ابزارهایی نظیر DPDK برای پردازش ترافیک شبکه نیز فراهم است. از این راهحل، در قسمتهایی از شبکه میتوان استفاده کرد که اولاً ترافیک ارسالی پایین بوده و ثانیاً بهرهمندی از قابلیتهای Virtualization حائز اهمیت باشد.
تأثیرات Open Networking
ایده Open Networking میتواند تأثیر خوبی بر زیستبوم زیرساخت شبکه بگذارد. علاوه بر این امکان ارائه سرویسهای جدیدتر و با تنوع بیشتر را در اختیار کاربران قرار میدهد. پیادهسازی این ایده این فرصت را در اختیار همه قرار میدهد که Vendor lock-in موجود در ارائه محصولات زیرساخت شبکه را کمتر کنند. بدین ترتیب بازیگران بیشتری میتوانند در این حوزه محصول ارائه کنند. از این روی، این امکان برای شرکتهای مختلفی در سرتاسر جهان فراهم میشود که بتوانند در قسمتی از این اکوسیستم نقش بازی کرده و بتوانند محصولات مناسبی را در اختیار کاربران قرار دهند.
در این فریمورک، برای ارائه محصول زیرساخت شبکه، لایههای مختلف و واسطهای مختلفی بین آنها تعریف شدهاند. هر یک از این لایهها توسط یک مجموعهی مجزا قابلیت پیادهسازی شدن دارد. یکی از مهمترین بخشها در این فریمورک، تراشههای پردازنده شبکه میباشند. این تراشهها را حتی میتوان به عنوان خط شکن این زیستبوم در نظر گرفت. خوشبختانه، اکنون شرکتهای مختلفی تراشههای پردازنده مختلفی را ارائه میدهند. با توجه به مشخصات هر یک از این تراشهها، میتوان از آنها در لایههای مختلف زیرساخت شبکه استفاده کرد.