تصور کن یه روز صبح بیدار میشی و میبینی که همه ابزارهای شبکهای که تا حالا استفاده میکردی، ناپدید شدن. دیگه خبری از فایروالها، روترها و اون تجهیزات سنگین و گرانقیمت نیست. شاید اولش بهت شوک وارد بشه، ولی بعدش متوجه میشی که تمام این عملکردها به یه سری نرمافزار ساده و سریع تبدیل شدن که روی هر سیستمی میتونی اجراشون کنی. اینجاست که مفهوم NFV یا همون مجازیسازی عملکردهای شبکه به کار میاد. توی این مقاله قراره با یه سفر جذاب وارد دنیای NFV بشیم و ببینیم چطور میتونه دنیای شبکهها رو از نو بسازه، سریعتر و ارزانتر از همیشه!
Network Functions Virtualization یا NFV یه فرآیند توی معماری شبکهست که میاد و عملکردهای شبکهای مثل بالانس کردن بار و رمزنگاری رو از تجهیزات فیزیکی جدا میکنه و میندازه روی ماشینهای مجازی (همون VMها). این یعنی به جای اینکه برای هر عملکرد یه دستگاه خاص بخری، میتونی همه این کارها رو با نرمافزار روی یه سیستم انجام بدی. اینطوری کلی هزینهها کم میشه و راهاندازی سرویسها هم سریعتر انجام میشه.
حالا قبلاً برای هر کاری توی شبکه، مثلا برای لود بالانسینگ، فایروال یا روتر، مجبور بودی یه دستگاه جدا بخری و اون رو راه بندازی. این دستگاهها خیلی گرون بودن و اگه میخواستی آپدیتشون کنی، شاید ماهها طول میکشید یا حتی مجبور بودی یه دستگاه جدید بخری که با تکنولوژی جدید سازگار باشه. اما وقتی این عملکردها رو از دستگاههای فیزیکی جدا کنی و بیاری توی نرمافزار، دیگه هیچکدوم از این دردسرها رو نداری و میتونی سرویسهای جدید رو خیلی سریعتر راهاندازی کنی و نیازت به دستگاههای فیزیکی هم خیلی کمتر میشه.
توی معماری NFV از مجازیسازی و VMها استفاده میشه تا یه شبکه منعطف و مقیاسپذیر ایجاد بشه که به راحتی از یه پنل مرکزی میتونی مدیریتش کنی. با این سیستم میتونی خودکار همه منابع شبکه رو پیکربندی کنی و خیلی سریع به تغییرات ترافیک و نیازهای شبکه واکنش نشون بدی.
NFV به درد اون دسته از شرکتهایی میخوره که میخوان کنترل شبکهشون دست خودشون باشه ولی در عین حال دارن از سختافزار فیزیکی به سمت منابع مجازی و ابری مهاجرت میکنن. به خاطر همین هم مجله فوربز NFV رو جزو پنج تکنولوژی برتر قرار داده که دارن سرویسهای مخابراتی رو متحول میکنن، کنار هوش مصنوعی (AI)، یادگیری ماشینی (ML)، محاسبات لبهای (Edge Computing)، APIها و بینایی کامپیوتر.
توی صنعت مخابرات، همیشه توسعه محصولات با رعایت استانداردهای سختگیرانهای انجام میشد؛ از پروتکلها گرفته تا کیفیت و پایداری. اما همین استانداردهای سختگیرانه باعث میشد توسعه تجهیزات سختافزاری خیلی کند پیش بره و زمان عرضه محصولات جدید به بازار طولانی بشه. علاوه بر این، شرکتها مجبور بودن به سختافزارهای خاص و اختصاصی خودشون وابسته باشن که این خودش یه چالش بزرگ بود.
اما سرویسهای ارتباطی عمومی مثل Google Talk، Netflix و Skype و البته تقاضای بالای مصرفکنندگان، همه این معادلات رو تغییر دادن.
در اکتبر ۲۰۱۲، یک گروه کاری روی مجازیسازی عملکردهای شبکه (NFV) مقالهای منتشر کرد که در مورد OpenFlow و شبکههای نرمافزارمحور (SDN) بود. این مقاله از طرف موسسه استانداردهای مخابراتی اروپا (ETSI) بود و در واقع نقطه شروع حرکت به سمت NFV رو رقم زد.
برای بهرهبرداری بهتر از مزایای مجازیسازی، شرکتهای تولید کننده تجهیزات NFV همچنان تلاش میکنن تا تکنولوژیهای مجازیسازی رو بهبود بدن. هدفشون چیه؟ مقیاسپذیری بیشتر، قابلیتهای مدیریت شبکه بهتر و عملکرد موثرتر. همچنین، برای کاهش هزینههای کلی، پیادهسازی ویژگیهای سطح بالای کاربری خیلی مهمه. مثلاً، توی NFV باید به سطحی از دسترسپذیری برسی که بهش میگن “پنج نُه” (یعنی ۹۹.۹۹۹٪). این یعنی باید از منابع پشتیبان به شکلی موثر استفاده بشه تا همیشه در دسترس باشه.
مجازیسازی داره روشهای جدیدی برای تعریف و اندازهگیری دسترسپذیری ارائه میده. وقتی VNFها (عملکردهای شبکه مجازیشده) جایگزین تجهیزات فیزیکی سنتی میشن، دیگه لازم نیست برای دسترسپذیری، سختافزار خاصی داشته باشی. حالا این VNFها هستن که دسترسپذیری رو تعریف میکنن، نه سختافزارها.
معماری NFV یه پایه، فرآیند و استراتژی برای مجازیسازی عملکردهای شبکهای فراهم میکنه. موسسه استانداردهای مخابراتی اروپا (ETSI) با انتشار یه مقاله، چارچوب اولیه متنباز NFV رو ارائه داد. بقیه سازمانها هم توی توسعه NFV شرکت کردن، اما معماری اصلی همچنان همونه.
معماری NFV از سه لایه تشکیل شده:
NFV از اون تکنولوژیهایی هست که وقتی درست استفاده بشه، میتونه دنیای شبکهها رو متحول کنه. این تکنولوژی به شرکتها کمک میکنه که با هزینه کمتر و انعطافپذیری بیشتر، سرویسهای شبکهای رو مدیریت و توسعه بدن. حالا بیایید ببینیم چرا NFV اینقدر ارزشمنده.
یکی از بزرگترین مزایای NFV اینه که میتونی با استفاده از منابع کمتر، کارهای بیشتری انجام بدی. توی دنیای شبکهها، این یعنی مصرف برق کمتر، نیاز به فضای دیتاسنتر کوچکتر و نیاز به سیستمهای خنککننده کمتر. با استفاده از NFV، میتونی چندین سرویس شبکه رو به جای اینکه روی چندین سرور فیزیکی اجرا کنی، همگی رو روی یک سرور مجازی اجرا کنی. این یعنی پول کمتری خرج میکنی ولی بازدهی بیشتری داری.
فرض کن میخوای یه سرویس جدید راهاندازی کنی یا یه سرویس موجود رو ارتقا بدی. با NFV، دیگه نیاز نیست کلی وقت صرف خرید تجهیزات سختافزاری جدید کنی. همه چیز با نرمافزار انجام میشه. این یعنی میتونی خیلی سریعتر به نیازهای جدید سازمانت پاسخ بدی و سرویسهای جدید رو به بازار عرضه کنی. همچنین، NFV بهت این امکان رو میده که خیلی راحتتر به تغییرات ترافیک شبکه واکنش نشون بدی و منابع رو به صورت خودکار مدیریت کنی.
یکی از مشکلات بزرگ در صنعت IT اینه که وقتی یه شرکت از تجهیزات یک فروشنده خاص استفاده میکنه، ممکنه به اون فروشنده وابسته بشه. یعنی برای هر تغییر یا ارتقا، باید از همون شرکت خرید کنه. NFV این مشکل رو حل میکنه چون تو میتونی سرویسهای شبکهای رو روی سختافزارهای عمومی اجرا کنی. این یعنی نیازی نیست همیشه به یک فروشنده خاص وابسته باشی و میتونی از تجهیزات مختلف استفاده کنی.
NFV به مدیران شبکه این امکان رو میده که همه چیز رو از یک پنل مرکزی مدیریت کنن. یعنی به جای اینکه برای هر بخش از شبکه جداگانه بررسی و مدیریت کنی، میتونی همه عملکردها رو یکجا زیر نظر داشته باشی. این قابلیت نه تنها کار رو سادهتر میکنه، بلکه باعث میشه بهتر و سریعتر به مشکلات پاسخ بدی و از قطعیهای ناگهانی جلوگیری کنی.
با NFV، زمان مورد نیاز برای توسعه و عرضه محصولات جدید به بازار خیلی کمتر میشه. چرا؟ چون دیگه لازم نیست منتظر بمونی تا سختافزارهای جدید آماده بشن. همه چیز به صورت نرمافزاری انجام میشه و این یعنی میتونی خیلی سریعتر محصولات جدید رو به بازار عرضه کنی و از رقبا جلو بزنی.
مثل هر تکنولوژی دیگهای، NFV هم چالشها و مشکلات خاص خودش رو داره. اگرچه مزایای این تکنولوژی جذابه، اما بدون در نظر گرفتن چالشها، ممکنه به مشکلاتی برخورد کنی که جلوی پیشرفت و بهرهوری رو بگیره. بیایید نگاهی به این چالشها بندازیم تا با دید بازتری به سراغ پیادهسازی NFV بریم.
یکی از بزرگترین چالشهای NFV، پیچیدگیهای مرتبط با پیادهسازی اون در مقیاس بزرگه. NFV شامل چندین بخش مختلف مثل VNFs (عملکردهای شبکه مجازیشده)، NFVI (زیرساخت مجازیسازی عملکردهای شبکه) و MANO (مدیریت، خودکارسازی و ارکستراسیون شبکه) میشه. هماهنگ کردن این بخشها با هم و ادغام اونا با زیرساختهای موجود، نیاز به تخصص و تجربه داره. اگه توی این کار تخصص کافی نداشته باشی، ممکنه به مشکلات زیادی بر بخوری.
هر چقدر که NFV جذاب باشه، با خودش مسائل امنیتی خاصی هم میاره. وقتی عملکردهای شبکه رو از سختافزار فیزیکی به نرمافزار منتقل میکنی، سطح حملات سایبری افزایش پیدا میکنه. هکرها میتونن به سرویسهای مجازیشده دسترسی پیدا کنن و اونا رو هدف قرار بدن. برای جلوگیری از این مشکلات، باید به امنیت شبکه توجه ویژهای داشته باشی و از پروتکلهای امنیتی قوی استفاده کنی.
برای اینکه NFV به خوبی کار کنه، نیاز به زیرساختهای شبکهای قوی داری. اگر سرورها، شبکه و ذخیرهسازی به اندازه کافی قوی نباشن، ممکنه عملکرد NFV به مشکل بخوره. بنابراین قبل از پیادهسازی NFV، باید مطمئن بشی که زیرساختهای لازم رو داری.
از اونجا که NFV بیشتر به نرمافزار وابسته است، نیاز به مهارتهای تخصصی توی زمینههای مختلف مثل مجازیسازی، مدیریت شبکه و امنیت داری. اگه این مهارتها رو نداشته باشی، پیادهسازی NFV میتونه خیلی چالشبرانگیز باشه.
یکی از معایب NFV اینه که به خاطر همکاری چندین سازمان مختلف توی توسعه این تکنولوژی، یک سری پیچیدگیهای استانداردسازی به وجود اومده. این مسئله باعث میشه که گاهی اوقات تجهیزات و نرمافزارهای مختلف با هم سازگار نباشن و پیادهسازی و ادغام NFV دشوارتر بشه.
در نهایت، NFV یه تکنولوژی فوقالعاده قدرتمنده که میتونه کلی مزیت برای سازمانها داشته باشه، اما برای بهرهبرداری بهینه از اون، باید به چالشها و مشکلاتی که ممکنه پیش بیاد هم توجه کنی و برنامهریزی دقیقی داشته باشی.
شاید این مقاله هم برات جذاب باشه: "برنامه نویسی شبکه چیست؟"
خیلیها SDN و NFV رو با هم اشتباه میگیرن، چون هر دوشون به نوعی با مجازیسازی شبکه سروکار دارن. اما این دو تا تکنولوژی با وجود شباهتهایی که دارن، برای کارهای متفاوتی طراحی شدن و هر کدوم نقش خاص خودشون رو دارن.
SDN بیشتر تمرکزش روی دیتاسنترهاست، یعنی جایی که همه سرورها و تجهیزات شبکه متمرکز هستن. هدف اصلی SDN اینه که مدیریت شبکه رو متمرکز کنه و مسیر ترافیک شبکه رو بهینهتر کنه. از اون طرف، NFV برای شبکههای گستردهتر مثل WAN و خدماتدهندگان شبکه طراحی شده. NFV به مجازیسازی عملکردهای شبکه کمک میکنه و نیاز به تجهیزات فیزیکی رو کمتر میکنه، این یعنی هم چابکی بیشتر و هم کاهش هزینهها.
حالا SDN چطور این کار رو انجام میده؟ SDN کنترل نحوه مسیر دادن به بستههای داده رو از لایهای که خود دادهها رو منتقل میکنه جدا میکنه. به این لایهها به ترتیب میگن "control plane" و "data plane". این جداسازی باعث میشه مدیریت منابع شبکه دقیقتر بشه و بتونی با استفاده از ابزارهای خودکار، منابع رو بر اساس شرایط لحظهای بهینهسازی کنی، که در نهایت منجر به کاهش تأخیر و بهبود خدمات میشه.
جالبه بدونی که عملکردهای مجازیشده شبکه (VNFs) هم میتونن توی اکوسیستم SDN مستقر بشن. در واقع، وقتی SDN و NFV با هم ترکیب بشن، یه شبکه چابک و منعطف ایجاد میکنن که به خوبی از پس مدیریت محیطهای مجازی پیچیده برمیاد.
خب، اگه میخوای NFV رو پیادهسازی کنی، اولین قدم اینه که عملکردهای شبکه مجازیشده یا همون VNFs رو ایجاد و راهاندازی کنی. این VNFsها باید به صورت استراتژیک و مرحله به مرحله ساخته بشن تا بتونن سرویسهای پیچیدهتری رو ارائه بدن.
یکی دیگه از بخشهای مهم توی پیادهسازی NFV، فرآیند ارکستراسیون هست. این لایه توی شبکه باید بتونه VNFsها رو ایجاد کنه، اونا رو مانیتور کنه و حتی در صورت نیاز تعمیر و مدیریت کنه. این ویژگیهای سطح بالا باعث میشن که سرویسهای مقیاسپذیر و بسیار قابل اعتمادی داشته باشی که هزینههای نگهداری و عملیاتی رو کم میکنه و امنیت و دسترسی بالا رو فراهم میکنه.
نکته مهم اینه که لایه ارکستراسیون باید بتونه VNFsها رو بدون توجه به تکنولوژی زیرساختی مدیریت کنه. به عبارت دیگه، این لایه باید قادر باشه هر نوع VNF از هر شرکتی رو که روی هر تکنولوژیای اجرا میشه، مدیریت کنه.
سرورهای قدرتمند و با عملکرد بالا، بخش مرکزی تجهیزات NFV هستن. معماری NFV بر تکنولوژی مجازیسازی سرور متکیه و لایههای مجازیسازی که امروزه استفاده میشن شامل VMware، OpenStack و تکنولوژی کانتینر هستن. VMware و OpenStack گزینههای اصلی هایپروایزر هستن. اگرچه مجازیسازی شبکه بر پایه کانتینر هنوز به اندازه بقیه استفاده نمیشه، اما مزایای زیادی توی عملکرد اپلیکیشنهای نسل بعدی ارائه میده.
لایه MANO توی معماری NFV میتونه متفاوت باشه؛ بعضی استانداردهای باز دارن و بعضی هم توسط فروشندهها ارائه میشن. گزینه اصلی متنباز برای MANO از بنیاد لینوکس با پلتفرم Open Network Automation Platform (ONAP) ارائه میشه. اپراتورهای شبکه باید MANO رو با نیازهای خاص زیرساختهای عملیاتی و صورتحسابهای خودشون تطبیق بدن.
در لایه اپلیکیشن، VNFs کدهای شبکهای با ویژگیهای غنی رو ارائه میدن. توی تنظیمات پیشرفتهتر، اپراتورهای شبکه میتونن چندین VNF رو انتخاب و زنجیرهسازی کنن تا عملکردهای گستردهای رو توی شبکه ارائه بدن.
NFV در طیف وسیعی از عملکردهای شبکه قابل استفاده است، از جمله شبکههای موبایل. بعضی از کاربردهای رایج NFV عبارتند از:
بله! VMware NSX Advanced Load Balancer یک راهحل برای Load Balancing مقیاسپذیر در پیادهسازیهای NFV فراهم میکنه. با این پلتفرم، میتونی تجهیزات قدیمی و اختصاصی رو کنار بذاری و با یه کنترلر تحویل اپلیکیشن و لود بالانسر، NFV رو به پتانسیل کامل خودش برسونی. معماری VMware NSX Advanced Load Balancer، لایههای کنترل و داده رو برای سرویسهای اپلیکیشن مثل Load Balancing و Web Application Firewall جدا میکنه و Load Balancing رو به عنوان یه منبع انعطافپذیر ارائه میده که میتونه توی هر محیط ابری اجرا بشه.
با VMware NSX Advanced Load Balancer، تنها با یه تماس REST API میتونی توی چند ثانیه Load Balancerهای جدید رو راهاندازی کنی و سرویسهای مجازی رو فوراً پیکربندی کنی. این پلتفرم همچنین دادههای اپلیکیشن رو جمعآوری و پردازش میکنه تا تحلیلهای دقیق از امنیت، عملکرد و تجربه کاربر نهایی ارائه بده.
NFV (مجازیسازی عملکردهای شبکه) یه چارچوبه که توسط موسسه استانداردهای مخابراتی اروپا (ETSI) طراحی شده تا بتونه زیرساختها و منابع شبکه مثل محاسبات، ذخیرهسازی و شبکه رو مجازیسازی کنه. حالا، اون عملکردهای خاصی که توی نرمافزار مجازیسازی میشن، مثل فایروالها، روترها و گیتویهای شبکه، بهشون میگن VNF (عملکردهای شبکه مجازیشده).
برخلاف پلتفرمهای شبکهای که بر اساس سختافزارهای خاص طراحی میشن، NFV یه زیرساخت نرمافزاری رو فراهم میکنه که به سختافزار وابسته نیست. سرورهای معمولی (COTS) مثل سرورهای x86 به عنوان یه پلتفرم محاسباتی عمومی برای ماشینهای مجازی (VMها) عمل میکنن که عملکردهای شبکه رو اجرا میکنن. منابع سرور مثل محاسبات، حافظه و ذخیرهسازی میتونن بهصورت انعطافپذیر بین چند VM به اشتراک گذاشته بشن تا هم عملکرد بهینه بشه و هم هزینهها کمتر بشه. برخلاف سختافزارهای اختصاصی که فقط یه سرویس رو پشتیبانی میکنن، NFV این امکان رو میده که سرویسها رو بر اساس تقاضا مقیاسپذیر کنی و چندین سرویس رو روی یه سرور فیزیکی میزبانی کنی، که این کار به صرفهجویی اقتصادی کمک میکنه.
یه VNF میتونه بهصورت یه VM روی یه سرور اجرا بشه یا میتونه به بخشهای مختلف تقسیم بشه و بهصورت چندین VM روی چندین سرور مختلف اجرا بشه. این تقسیمبندی نرمافزاری باعث میشه که اجزای سرویس از پلتفرمها و مکانهای مختلفی ارائه بشن – مثلاً لایه کنترل از یه دیتاسنتر منطقهای و لایه کاربر از یه ابر لبهای (edge cloud) – تا عملکرد، تأخیر، مقیاسپذیری و هزینهها بهینه بشه. یه VNF ممکنه از چندین اپلیکیشن تشکیل شده باشه که هر کدوم توی VM خودش اجرا میشه، تا عملکرد و مقیاس هر اپلیکیشن بهینه بشه، بدون اینکه نیاز باشه کل VNF رو دوباره راهاندازی کنی.
5G، یعنی نسل پنجم شبکههای موبایل، طوری طراحی شده که بتونه سرعت بیشتر، تأخیر کمتر و اتصال گستردهتری رو ارائه بده. حالا، NFV در این مسیر نقش کلیدی داره. NFV به شبکههای 5G این امکان رو میده که سریعتر و با انعطافپذیری بیشتری عمل کنن.
چطور؟ با استفاده از NFV، میتونیم بخشهای مختلف شبکه 5G رو به صورت مجازی و نرمافزاری پیادهسازی کنیم. این یعنی دیگه لازم نیست برای هر بخش از شبکه، سختافزارهای گرانقیمت و اختصاصی تهیه کنیم. به جای اون، میتونیم عملکردهای مختلف شبکه رو به صورت نرمافزار روی سرورهای معمولی اجرا کنیم. این کار باعث میشه که هزینههای راهاندازی و نگهداری شبکه 5G خیلی کمتر بشه.
علاوه بر این، NFV به خودکارسازی فرایندها و مدیریت هوشمند شبکه کمک میکنه. یعنی شبکه 5G میتونه به صورت خودکار به تغییرات شرایط و ترافیک پاسخ بده، منابع رو بهینهسازی کنه و سرویسها رو سریعتر ارائه بده. این خودکارسازی و چابکی باعث میشه که 5G بتونه به نیازهای کاربران بهتر و سریعتر پاسخ بده و سرویسهای جدید رو با سرعت بیشتری عرضه کنه.
به طور خلاصه، NFV به 5G کمک میکنه که نه تنها سریعتر و کارآمدتر بشه، بلکه هزینهها رو هم کاهش بده و به عنوان یک زیرساخت مدرن و انعطافپذیر عمل کنه.
براساس معماری مرجع ETSI NFV، منابع سختافزاری مثل محاسبات، ذخیرهسازی و شبکه با استفاده از یه لایه مجازیسازی به نام هایپروایزر انتزاع میشن. هایپروایزر VMها رو ایجاد و اجرا میکنه که از سختافزار زیرین استفاده میکنن. یکی یا چند تا از این VMها برای پیادهسازی یه VNF استفاده میشن. مدیریت و ارکستراسیون NFV که به MANO معروفه، توسط اپلیکیشنهای سطح بالاتر انجام میشه تا چرخه حیات زیرساخت NFV (NFVI) و سرویسهای VNF رو خودکار کنه. شبکهبندی VMها و سرویسها بر عهده یه کنترلر شبکه نرمافزارمحور (SDN) هست که عضویت زیرشبکه و اجرای سیاستها رو به صورت خودکار مدیریت میکنه.
NFV یه تکنولوژی انقلابی توی دنیای شبکههاست که بهت اجازه میده عملکردهای مختلف شبکه رو از سختافزارهای گرانقیمت جدا کنی و اونها رو به نرمافزارهایی که روی هر سروری قابل اجرا هستن، تبدیل کنی. این کار باعث میشه هزینهها کاهش پیدا کنه، انعطافپذیری بیشتر بشه و سرعت راهاندازی سرویسها بالا بره. البته مثل هر تکنولوژی دیگهای، NFV هم چالشهای خودش رو داره، از پیچیدگیهای پیادهسازی گرفته تا نیاز به زیرساختهای قوی. اما اگه این چالشها رو به درستی مدیریت کنی، NFV میتونه تحولی عظیم توی نحوه مدیریت و توسعه شبکهها ایجاد کنه و آیندهای روشنتر رو برای تکنولوژیهای مدرنی مثل 5G فراهم کنه. در نهایت، NFV نه تنها شبکهها رو چابکتر و کارآمدتر میکنه، بلکه مسیر جدیدی رو برای آیندهای دیجیتال هموار میکنه.