یکی از مباحث جدیدی که در مجازی سازی شبکه به وفور از آن یاد می شود موضوع NFV یا Network Function Virtualization می باشد. در این مقاله قصد داریم به معرفی این تکنولوژی بپردازیم .
اولین نکته ای که باید به آن توجه کنیم این است که عبارت NFV معادل NV یا Network Virtualization نیست و مبحثی کاملا مجزاست که در ادامه به آن خواهیم پرداخت و همانطور که در گذشته عنوان کردیم nsx محصولی است که ارایه دهنده هر دو این تکنولوژی ها می باشد.
همانطور که از نام این تکنولوژی بر می آید، در آن به مجازی سازی فانکشن های شبکه یا Network Function ها پرداخته می شود و به همین منظور قبل از اینکه به معرفی NFV بپردازیم لازم است، ابتدا در مورد NF یا Network Function صحبت کنیم و و از آن به VNF یا Virtualized Network Function برسیم.
NF یا Network Function :
تعریف زیر در مورد NF از موسسه ETSI یا انستیتو استانداردهای مخابراتی اروپا ارایه شده است:
“Network Function or NF is a functional building block within a network infrastructure which has well-defined external services and a well-defined functional behavior, in practical terms, a network function is today often a network node or physical appliance.”
به عبارتی:
Network Function یک ساختار کاربردی در زیرساخت شبکه است که دارای خدمات خارجی کاملاً تعریف شده و عملکردی کاملاً تعریف شده است و به صورت عملی ، امروزه یک network function اغلب به صورت یک دستگاه فیزیکی در شبکه ها دیده می شود.
از اینرو هر دستگاهی که با تعریف بالا مطابقت داشته باشد می تواند ارایه دهنده یک یا چند NF در شبکه باشد. به عنوان مثال دستگاه load balancer، یا فایروال ها و سیستم های کشف و ممانعت کننده از intrusion ها (IPS و IDS)، همگی مثال هایی از دستگاههایی هستند که هر کدام ایجاد کننده یک یا چند Function در شبکه هستند.
یک NF می تواند توسط یک تجهیز و یا مجموع عملکردهای چند تجهیز ایجاد شود. در شبکه های non-virtualized ، NF ها معمولا در یک BOX توسط سازندگان ارایه می شوند و به عنوان یک Device در شبکه از آنها استفاده میکنیم که مثال هایی از آنها ارایه شد.
شکل زیر نشان میدهد که چگونه NF ها توسط زیرساخت شبکه بین Endpoint A و Endpoint B قرار گرفته اند. همانطور که می بینید NF میتواند مستقل باشد ویا برایند NF های دیگر باشد که در شکل زیر یک logical interface که با خط چین نمایش داده شده است، نمایانگر این موضوع می باشد.
VNF یا Virtualized Network Function :
حال با توجه به توضیحات بالا، اگر ما بتوانیم NF ها را بدون وابستگی به سخت افزارهایی که همراه آنها ارایه شده اند، به روش هایی دیگر ایجاد و مدیریت کنیم، یعنی نگاه ما، نگاه با محوریت تجهیزات نباشد بلکه network Function ها را به عنوان موجودیت مستقل بشناسیم وآنها را از تجهیزات سخت افزاری جدا کرده و به آنها هویت مستقل بدهیم و بتوانیم از آنها بدون وابستگی به تجهیزات خاصی در محیط استفاده کنیم، در واقع آنها را مجازی سازی کرده ایم.
البته ذکر این نکته در این بخش مهم است که بدانیم ایجاد VNF ها بر بستر زیر ساخت مجازی اتفاق خواهد افتاد یعنی به عبارتی ما از قبل نیاز به زیرساختی داریم که توسط hypervisor ها، مجازی سازی شده است که به آن NFVI یا Network function virtualization infrastructure می گوییم.
تصاویر زیر این موضوع را نشان می دهند:
در تصویر دوم همانطور که می بینیم ما VNF ها را بر بستر Virtualized ایجاد کرده ایم، یعنی یکی از الزامات ایجاد VNF ها این است که NFVI یا NFV infrastructure از قبل وجود داشته باشد. با ایجاد VNF ها ما میتوانیم به اهداف ذیل دسترسی پیدا کنیم:
- جداسازی نرم افزار از سخت افزار
- افزایش سرعت در پیاده سازی
- کاهش مصرف برق
- استفاده از vendor های مختلف در کنار هم
- انعطاف در گسترش network Function ها
- عملکرد پویا و استفاده بسته به نیاز از VNF ها
Network Function Virtualization یا NFV:
از توضیحات بالا در می یابیم که NFV یا Network Function Virtualization به عملیاتی اطلاق می شود که طی آن میتوان به کمک نرم افزارهای مجازی سازی (Hypervisors) ، فانکشن های موجود در شبکه یا NF ها را با جداسازی آنها از سخت افزارهایی که توسط vendor ها ارایه شده است و تغییر در نحوه ایجاد و گسترش آنها، تبدیل به VNF کرد و از مزایایی که در بالا ذکر شد بهره برد.
در زیرساخت VMware و با استفاده از محصول NSX ایجاد VNF هایی همچون Load Balancer و فایروال امکان پذیر است.
بخشی از تصاویر و محتوا در این نوشته از مستند ETSI در مورد NFV ارایه شده است که علاقه مندان می توانند با استفاده از لینک مربوطه ، اطلاعات بیشتری از آن کسب کنند.