مطالب فصل
مجازی سازی شبکه
در این بخش قصد داریم در مورد یکی دیگر از انواع مجازی سازی یعنی Network Virtualization صحبت نماییم. در این قسمت توضیحات کلی در مورد Network Virtualization ارائه خواهیم داد، جزئیات بیشتر در دوره های مربوطه آموزش داده خواهد شد.
همانطور که در عکس بالا مشاهده میکنید، در هر دو طرف Cloud دو شبکه متفاوت با IP Public متفاوت از طریق Internet با یکدیگر در ارتباط هستند و امکان پینگ گرفتن برای هر دو طرف وجود دارد. این دسترسی دو شبکه از طریق اینترنت انجام میگیرد، مانند اینکه ما برای استفاده از Google نیاز به ارسال درخواستی خاصی نداریم، چون هم سیستم ما IP Public دارد هم سرور Google.
اگر بخواهیم بین شعبهها یک ارتباط Private (خصوصی) برقرار کنیم، بایستی از VPN Tunnel ها استفاده نماییم (یا از VPN یا از Tunnel؛ زیرا هر دو دارای یک ساختار میباشند.) مثال استاندارد برای VPN Tunnel ها، پروتکلهای GRE, IP-IP, IPsec می باشد. خب کار Tunnel چیه؟! Tunnel بسته های (Packet) IP را داخل یک بسته دیگر میگذارد تا بتواند آنها را از اینترنت عبور دهد، علت انجام این کار چیست؟ از آنجا که هر دو طرف IP range های متفاوتی دارند و جزو IP های Private هستند، قطعا امکان عبور از داخل اینترنت را ندارند، به همین دلیل ما از پروتکل GRE به منظور عبور دادن بستهها از بستر اینترنت استفاده میکنیم. در واقع پروتکل GRE بسته ها را با روش Encapsulation و از طریق IP Public از بستر اینترنت عبور میدهد. پس این دسترسی که میتوانیم مبدا و مقصد را با IP های Private از یکدیگر Ping بگیریم را ISP و Internet برای ما فراهم کرده است؛ یعنی برای ما یک شبکه زیرین یا Underlay ایجاد کرده تا ما با ایجاد کردن یک شبکه Overlay مانند GRE Tunnel بتوانیم Source و Destination را به یکدیگر ارتباط دهیم.
اگر بخواهیم بحث Underlay و Overlay را بیشتر بررسی کنیم، به عکس زیر توجه کنید:
در قسمت پایین یک شبکه Underlay وجود دارد که تمام سرورهای موجود در این بخش را به یکدیگر ارتباط میدهد، از طرف دیگر در قسمت بالا یک شبکه Overlay یا یک Logical Network ایجاد کرده اند تا بتوان ارتباط بین این دو شبکه را به وجود آورد.
خپ حالا بریم سراغ بحث اصلی یعنی Network Virtualization:
شاید عکس بالا برای شما که تازه وارد دنیای مجازی سازی شده اید، کمی گنگ و نا مفهوم باشد. اما اصلا نگران نباشید، با گذرندان دوره ها و مفاهیمی که اکنون یاد میگیرید، آرامش بار دیگر به وجود شما باز خواهد گشت!!! مبنای ما در دنیای مجازی سازی VM ها هستند، و این امکان وجود ندارد که ما بتوانیم IP های مختلف را بلاک کنیم چرا که امکان جابجایی VM ها با استفاده از feature هایی مثل High Availability وجود دارد؛ یعنی از دیتا سنتری که در لندن است به دیتا سنتر نیویورک مهاجرت کنند و کلا روتر و Edge آن ها تغییر کند، در این صورت باید تنظیمات و rule هایی که در فایروال ایجاد کرده اید را بار دیگر در دیتا سنتر جدید انجام دهید. در بعضی مواقع جابجایی VM ها بخاطر بحث هایی مثل DRS اتفاق میافتد. در واقع DRS پس از بررسی کلی دیتا سنترها، دیتا سنتری که از لحاظ منابع مناسب باشد برای VM انتخاب میکند و Migration (جابجایی) صورت میگیرد؛ یعنی VM براساس آنالیزی که انجام شده و به صورت dynamic از سروری به سرور دیگر انتقال مییابد. پس در دنیای Virtualization چه بخاطر High Availability و چه بخاطر استفاده بهینه تر جابجایی VM ها صورت میگیرد.
اما Network Virtualization نظر دیگری دارد؛ در واقع مبنای Network Virtualization به این صورت است که قسمت Underlay را ایجاد کنیم یعنی سرورهای فیزیکی را به یکدیگر ارتباط دهیم تا بتواند روترها، سوئیچ ها و فایروال ها را به یک سرویس فایلی تبدیل کند. در آموزش های قبلی ما یاد گرفتیم که چگونه دسکتاپ، سرورها و سرویس های خود را تبدیل به فایل کنیم، نرم افزارهای خود را تبدیل به stream کنیم و در این بخش قصد داریم Network خود را تبدیل به یک سرویس نرم افزاری نماییم. سوال: با انجام این کار امکان اینکه Software نتواند پاسخگوی ترافیک های سنگین باشد، وجود دارد؟! بله، ولی قرار نیست تمامی کارها در لایه نرم افزاری انجام شود، بخش سخت افزار وجود دارد اما نه برای کنترل ترافیک، نه برای بررسی کارهایی که مربوط به قسمت Underlay است. (وظیفه Underlay این است که سرورها را از طریق IP Public به یکدیگر متصل کند که از این اتصال Tunnelی ایجاد میشود که امکان انتقال VM ها از این Tunnel وجود دارد).
Network Virtualization میتواند در هر پلتفرمی پیاده سازی شود به شرطی که پلتفرم شما آن را support کند. از محصولاتی که در این زمینه بهترین هستند، میتوان به Cisco ACI و VMware NSX-T اشاره کرد. البته شرکت VMware دو محصول به نام های NSX-T و NSX-V دارد، که ما در این دوره از NSX-T استفاده میکنیم که Multi-Hypervisor است؛ یعنی نوع Hypervisor اهمیتی ندارد.
یکی از معضلاتی که شبکه های بزرگ در دیتا سنتر با آن درگیر هستند، پروتکل Spanning Tree میباشد که با وجود بحث هایی مانند Network Virtualization و Software defined network بحث Spanning Tree حذف میشود و دیگری نیازی به استفاده از آن ندارید تا بتوانید یک شبکه Flexible، Scalable و Flat داشته باشید. پس از Network Virtualization، دیگر نباید نگران اینکه Spanning Tree چه از لحاظ کانفیگ چه از لحاظ پیچیدگی و چه از لحاظ اینکه Spanning Tree برای جلوگیری از loop یک سری از پورت ها را بلاک میکرد و مشکلاتی را به وجود میآورد، نباشید. چرا که با وارد شدن محصولاتی همچون Network Virtualization و Software defined به دنیای تکنولوژی، resource هایی مانند روتر، سوئیچ و فایروال را به یک سرویس نرم افزاری تبدیل میکند و به تمامی packet هایی در VM و در داخل Hypervisor قرار دارند، دسترسی دارد.
این شکل، طراحی ساده تری از دیتا سنترهای امروزی میباشد. اصطلاحا به سوئیچ های بالا دستی Spine و سوئیچ های پایین دستی Leaf میگویند. سرورها از طریق Tunnelی به نام VXLAN که شباهت بسیار زیادی به GRE دارد با یکدیگر ارتباط برقرار میکنند. در قسمت بالا، ارتباط لایه 3 ای خواهد بود، سرورها و VM ها از طریق Tunnel ای که در داخل VXLAN ایجاد میشود میتوانند ارتباط لایه 2 ای با یکدیگر داشته باشند. ناگفته نماند Tunnel ای که VXLAN ایجاد میکند کاملا لایه 3 میباشد ولی دیتایی که در داخل آن رد و بدل میشود لایه 2 ای خواهد بود.
سوال؟ VXLAN در داخل شبکه جایگزین چه سرویسی است؟ جایگزین VLAN است چرا که VXLAN انعطاف پذیرتر و Scalable تر از VLAN میباشد. VXLAN حتی به شبکه های Access و Campus Network هم راه پیدا کرده است. (البته سرویس VLAN به طور کامل حذف نشده است و در بسیاری از پروژه های شبکه مورد استفاده قرار میگیرد.)
پس ما در Network Virtualization تمامی منابع روتری و سوئیچی را به یک فایل نرم افزاری تبدیل میکنیم و در داخل Hypervisor ها routing و switching را انجام میدهیم. به طور مثال فرض میکنیم VM1 در VLAN 10، و VM 2 در VLAN 20 قرار دارند، این دو VM برای اینکه با یکدیگر ارتباط برقرار کنند بایستی در روتر یا سوئیچ بالا دستی شان یک Inter-VLAN routing ی انجام شود و بسته از VM 1 به سوئیچ و از سوئیچ به VM 2 منتقل شود و ارتباط صورت بگیرد، درحالیکه این VM ها در داخل یک Hypervisor و یک دیتا سنتر هستند و انتقال دیتا هدر رفت منابع به حساب میآید. در صورتی که با استفاده از Network Virtualization یا Software defined در داخل Hypervisor روتینگ انجام میشود و VM ها با هم ارتباط برقرار میکنند.
با توجه به شکل بالا:
در اینجا دو VM با نامهای Web1 و App1 داریم که هر کدام در VLANهای متفاوتی هستند و IP های متفاوتی دارند، برای ارتباط دو VM نیاز نیست که در یک ساختار بیرونی Inter-VLAN routing انجام شود، با انجام عملیات routing در داخل روتر HV2، Packet به راحتی از Web1 به App1 وارد میشود که بسته بازگشت آن نیز به همین صورت است.
جزئیات این موارد به طور کامل در دوره مربوطه توضیح داده خواهد شد.
فیلم آموزشی
فیلم آموزشی
برای ثبت نظر ابتدا وارد حساب کاربری خود شوید
ورود به حساب کاربریهیچ نظری ارسال نشده است! اولین نظر را شما ارسال کنید...