تصور کن یه روز صبح بیدار میشی و میبینی که همه ابزارهای شبکه ای که تا حالا استفاده میکردی، ناپدید شدن. دیگه خبری از فایروال ها، روترها و اون تجهیزات سنگین و گران قیمت نیست. شاید اولش بهت شوک وارد بشه، ولی بعدش متوجه میشی که تمام این عملکردها به یه سری نرم افزار ساده و سریع تبدیل شدن که روی هر سیستمی میتونی اجراشون کنی. اینجاست که مفهوم 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 نه تنها شبکهها رو چابکتر و کارآمدتر میکنه، بلکه مسیر جدیدی رو برای آینده ای دیجیتال هموار میکنه.
دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد: