NSX چیست؟ معماری آن چگونه است ؟ مفاهیم مهم آن چیست و در لایه های مختلف چه کاربردی دارد؟ در این نوشته NSX را به شکل کامل بررسی میکنیم و معماری آن را نیز شرح خواهیم داد.
NSX چیست؟
NSX محصول شبکه و امنیت شرکت VMware است که در سال 2012 با خریداری شرکت Nicira به سبد محصولات شرکت VMware افزوده شد.این محصول یکی از پرکاربردترین محصولات مجموعه VMware vSphere است که برای معرفی آن لازم است مفاهیمی را از قبل بدانیم:
از این محصول برای مجازی سازی شبکه (Network Virtualization یا NV) و مجازی سازی توابع شبکه (Network Function Virtualization یا NFV) و همچنین برای جداسازی لایه های مختلف مدیریت، کنترل و انتقال (Software Define Networking یا SDN) استفاده می شود.
Vmware NSX و سه مفهوم مهم
مفاهیمی که پیش از این نام برده شد به صورت خلاصه در ذیل توضیح داده می شوند:
NV یا Network Virtualization
در این تکنولوژی با استفاده از پروتکل های Overlay Networking بدون تغییر در زیرساخت فعلی شبکه، بستر جدیدی با ایجاد لایه 2 بر روی لایه 3 فراهم می شود. پروتکل مورد استفاده در محصولNSX ، پروتکل VXLAN می باشد.
NFV یا Network Function Virtualization
در این تکنولوژی تمرکز بر تفکیکِ فانکشن های مورد استفاده در تجهیزات است، بدین ترتیب که اگر مثلا ما نیاز به یک قابلیتی به نام IPS یا Intrusion Prevention System داریم، تنها این قابلیت را در زیرساخت به کار گیریم و نیازی به تهیه ی تجهیزاتِ همه منظوره ای مانند فایروال ها یا اپلاینس های دیگر نداشته باشیم. این نوع فانکشن ها معمولا از طریق یک VM Appliance در محیط مجازی قرار میگیرند و به وسیله هایپروایزر کنترل می شوند.
SDN یا Software Defined Networking
در این تکنولوژی که در آن با تفکیک اجزای تجهیزات ، شبکه را چابک تر میکنند، معماری شبکه به بخشهای مدیریت یا Management plane و بخش کنترل یا Control plane و بخش انتقال داده یا Data plane تقسیم می شود.
NSX محصولی است که در هر سه حوزه یاد شده کار میکند یعنی هم محصول NV است و هم NFV و SDN و این نقطه قوت محصول NSX است.
از محصولات هم رده nsx میتوان به cisco ACI یا Application Centric Infrastructure اشاره کرد که تنها در دو حوزه NV و SDN کار میکند.
کامپوننت های اصلی محصول NSX به صورت یک آپدیت بر روی ESXi نصب میشوند و در واقع بیشتر فعالیت های NSX در داخل کرنل صورت میگیرد.
نسخه های مختلف NSX
این محصول در دو نسخه NSX Datacenter for vSphere یا NSX-V و همچنین NSX for cloud یا NSX-T ارایه شده است. در محصول NSX-V زیرساخت مورد استفاده حتما می بایست مبتنی بر محصولات شرکت VMware باشد ولی در نسخه NSX-T میتوان از پلتفرم های مجازی سازی KVM-Based دیگر نظیر KVM و XEN نیز استفاده کرد. از دیگر تفاوت های این دو محصول، این است که NSX-V بر روی سوییچ مجازی VDS یا Distributed Switch پیاده سازی میشود ولی در NSX-T از OVS یا Open vswitch بهره گرفته شده است. این دو محصول در پشتیبانی از پروتکل های مختلف network overlay نیز با یکدیگر تفاوت دارند.
NSX در لایه شبکه
سرویس های NSX در لایه Networking به شرح ذیل میباشد:
-
ایجاد بستر لایه 2 بر روی لایه 3 با NSX
محیطی ایده آل برای برای ایجاد بستری چابک بین دیتاسنتر های مختلف که هم اکنون بستر لایه 3 بین آنها وجود دارد به دور از مشکلاتی از قبیل loop در شبکه
استفاده از تعداد 16 میلیون سگمنت مجزا در مقایسه با تعداد 4096 وی لن موجود در زیرساخت های مبتنی بر پروتکل 802.1q
جلوگیری از ارسال Broadcast ماشین های مجازی در محیط فیزیکی با استفاده از لایه کنترلی
-
پیاده سازی روترهای توزیع شده (Distributed Router) در داخل هاست ها و بهینه سازی ترافیک های شرق – غرب (East – West)
انتقال ترافیک بین سابنت های مختلف بدون خروج بسته ها از زیرساخت مجازی
قابلیت ایجاد 1000 اینترفیس بر روی هر روتر توزیع شده
ادغام ترافیک بین سگمنت های مختلف با استفاده از قابلیت Bridging
-
پیاده سازی سرویس روتر مرکزی برای ترافیک های داخل به خارج (North – South)
استفاده از VM به عنوان روتر مرکزی با استفاده از سیستم عامل های روترهای شناخته شده و قدرتمند
قابلیت هم افزونی یا HA در پیاده سازی روترها و ایچاد دو روتر Active – Standby برای جلوگیری از پیشامدهای سخت افزاری و نرم افزاری بر روی هاست ها
قابلیت ایجاد امکانات پیشرفته ای مانند ECMP
نکته : از روتر توزیعی برای ترافیکهای North – South نیز می توان استفاده کرد ولی توصیه شده نیست.
-
پیاده سازی سرویس های NAT، VPN، DHCP، DNS
محلی سازی یا Localize کردن سرویس های مهم لایه شبکه برای ادمین مجازی
ایجاد ارتباط های امن بین دیتاسنترها با استفاده از L2 VPN و..
-
پیاده سازی Load Balancer
عملکرد فوق العاده درپیاده سازی انواع مختلف Load Balancer
سازگاری کامل با دیگر محصولات VMware
بسیار کاربردی در سناریوهای Load Distribution بین دیتاسنترهای مختلف
NSX در لایه امنیت :
سرویس های NSX در لایه Security به شرح ذیل است:
ایجاد فایروال توزیع شده و پیاده سازی فایروال های مجزا به ازای هر کارت شبکه ماشین مجازی
استفاده از تکنولوژی Micro segmentation و کنترلِ دقیقِ کوچکترین workload ها به صورت مجزا در شبکه در لایه های 2 – 7
قابلیت ایجاد perimeter firewall یا فایروال مرکزی با امکان کنترل ترافیک در لایه های 2 – 7
قابلیت Automatic Rule Generation
ایجاد سهولت و دقت در امر ایجاد قوانین و پالیسی ها با ایجاد اتوماتیک rule ها
قابلیت identity based firewall
ایجاد پالیسی به ازای کاربران مختلف سازمان
قابلیت Service defined firewall
ایجاد پالیسی و rule های مورد نیاز اپلیکیشن ها و سرویس های شناخته شده مانند SAP و ERP به صورت اتوماتیک
موارد بالا بخشی از مهمترین سرویس های محصول NSX می باشد و طبیعتا بسیاری موارد دیگر نیز وجود دارد که درج تمامی آنها در این مطلب ممکن نیست .
Service Insertion :
نکته مهم در محصول NSX، قابلیت ماژولار بودن آن در بسیاری از بخش های ساختار آن است که به تولید کنندگان محصولات مختلف این امکان را میدهد که محصولات خود را با آن تجمیع و یا به عبارتی در داخل آن تزریق کنند و این بدین معنی است که شما می توانید با استفاده از محصولات تولید کنندگان مختلف تجهیزات شبکه و امنیت، که برای زیرساخت مجازی NSX تولید شده اند از محصول دلخواه خود به جای محصولات Native در NSX استفاده کنید.
از نمونه این محصولات می توان به محصول لود بالانسر شرکت F5 با نام VE یا Virtual Edition اشاره کرد که به راحتی با NSX تجمیع میشود.
NSX در cloud:
محصول NSX در هر دو نسخه nsx-v و nsx-T به راحتی از طریق API قابلیت استفاده در زیرساخت های رایانش ابری همچون open stack را دارد و کلیه سرویس های ذکر شده می توانند به صورت اتوماتیک و بسته به نیاز ایجاد و یا حذف گردند.
معماری NSX
در ادامه به بررسی معماری کلی NSX خواهیم پرداخت
همانطور که ذکر شد این محصول، به عنوان محصول SDN در معماری SDDC به کار میرود و می بایست بتواند به عنوان یک محصول ،SDN لایه های سنتی شبکه را به لایه های مبتنی نرم افزار تبدیل کند که این امر در شکل زیر قابل مشاهده است.
مطابق تصویر بالا، محصول NSX با تفکیک لایه های تجهیزات شبکه و متمرکز کردن آنها در 3 لایه Management plane، Control Plane و Data plane معماری و شکل جدیدی به شبکه تحت مدیریت ما خواهد داد که در ذیل به صورت مختصر به هر کدام از آنها اشاره میکنیم:
Management plane :
در این لایه نرم افزار NSX manager قرار میگیرد که که به عنوان پنل مدیریتی NSX از آن استفاده میشود. این نرم افزار به صورت یک فایل OVA ارایه میشود که پس از دیپلوی کردن در زیرساخت مجازی، پلاگینی را روی وی سنتر ایجاد می نماید. از وظایف NSX Manager میتوان به ایجاد لایه Control plane به وسیله دیپلوی کردن کنترلرها و همچنین ایجاد لایه Data plane (یا آماده سازی هاست ها برای مجازی سازی شبکه) اشاره کرد.
Control Plane:
دز این لایه با دیپلوی کردن کنترلرها که به صورت ماشین مجازی خواهند بود و توصیه میشود که حداقل 3 عدد از آنها برای ایجاد HA و پخش کردن وظایف لایه کنترلی بین آنها، وجود داشته باشد، قرار خواهند گرفت.
لایه کنترلی در NSX وظیفه نگهداری MAC Table، ARP Table، VTEP Table و شرکت در ایجاد Dynamic Routing ها را بر عهده دارد که در پست های بعدی به تفصیل به آنها خواهیم پرداخت.
Data plane:
این لایه با نصب VIB هایی از طریق NSX Manager، بر روی هاست های درون یک کلاستر ایجاد خواهد شد که توسط این VIB ها پکیج های VXLAN (لایه سوییچینگ) ، DLR (روتینگ در سطح هاست) و DFW (فایروال توزیع شده) به صورت مستقیم بر روی هاست نصب میشوند.
نتیجه گیری:
در این مطلب سعی بر آن شد به صورت کلی بخش از قابلیت های NSX عنوان شود وهمانطور که دیدیم وجود لایه های مختلف در این محصول بسیار کاربردی بوده و با پایداری بالایی که این محصول همانند محصولات دیگر شرکت vmware دارد می تواند بخش بزرگی از چالش های کوتاه مدت و بلند مدت سازمانها را با صرف هزینه های بسیار معقول تر در زمان بسیار کمتر حل کند.
در VIPromise قصد داریم با نصب مرحله به مرحله و ایجاد سناریوهای کاربردی، علاقه مندان را بیشتر با این محصول آشنا کنیم که در آینده نزدیک ، پست های مربوط به نصب، پیکربندی و مدیریت این محصول منتشر خواهد شد.