
مسیردهی برچسبهای VLAN به زیربخشهای ابر خصوصی مجازی (VPC) در یک محیط مجازی سازی
Mapping VLAN Tags to Virtual Private Cloud Subnets
در یک محیط مجازیسازی معمول، یک ماشین مجازی (VM) ترافیک بدون برچسب را از کارت شبکه مجازی خود (vNIC) ارسال میکند. بهصورت پیشفرض، سوییچ مجازی هر ترافیکی را که دارای برچسب VLAN طبق استاندارد 802.1Q باشد، حذف میکند. برای اجازه دادن به این نوع ترافیک، باید ویژگیای به نام برچسبگذاری VLAN توسط مهمان (Guest VLAN Tagging – GVT) بهطور صریح روی اتصال پورت vNIC فعال شود. پیش از پرداختن به روش ساده و قدرتمندی که در زیربخشهای VPC در دسترس است، بیایید بررسی کنیم که این موضوع بهطور سنتی چگونه مدیریت میشد.
برچسبگذاری VLAN توسط مهمان (Trunking) در روش سنتی
در یک گروه پورت توزیعشده vSphere (dvPortGroup) یا یک سگمنت مبتنی بر VLAN در NSX، GVT با تنظیم پورت بهعنوان ترانک (trunk) فعال میشود. این کار شامل مشخص کردن دامنهای از شناسههای VLAN مجاز بهجای تنها یک شناسه است. در این مدل ترانک، ترافیکی که توسط یک VM با برچسب VLAN X ارسال میشود، به همان صورتِ دارای برچسب X به شبکه فیزیکی فرستاده میشود. زیرساخت شبکه فیزیکی سپس مسئول پردازش این ترافیک دارای برچسب خواهد بود.
برچسبگذاری VLAN توسط مهمان روی سگمنتهای Overlay در NSX
فعالسازی GVT روی یک سگمنت overlay در NSX (از طریق پیکربندی یک محدوده VLAN) در ابتدا مشابه عمل میکند. ترافیک VM که دارای برچسب VLAN است، با حفظ همان برچسب وارد سگمنت overlay میشود. چون NSX فریمهای دارای برچسب را مشاهده میکند، آن را بهعنوان ترافیک ساده لایه ۲ در نظر میگیرد. نتیجه اینکه بسیاری از سرویسهای پیشرفته NSX که فقط روی ترافیک IP اعمال میشوند (مانند مسیریابی، توازن بار یا دیوار آتش توزیعشده)، نمیتوانند این ترافیک دارای برچسب را بازرسی یا پردازش کنند. برای حل این مشکل، NSX ویژگی مسیردهی VLAN (VLAN Mapping) را ارائه میدهد. این قابلیت امکان میدهد که یک vNIC ترافیک دارای برچسب خود را به چندین سگمنت مختلف توزیع کند. با این پیکربندی، ترافیک ارسالشده توسط vNIC با برچسب VLAN X بهطور خودکار از برچسبش جدا شده و بهعنوان ترافیک بدونبرچسب در سگمنت مشخصشده برای VLAN X تزریق میشود. از آنجا که ترافیک در سگمنت بدون برچسب است، مجموعه کامل قابلیتهای NSX میتواند روی آن اعمال شود.
این ویژگی که از مفهوم پورت والد/فرزند (parent/child port) استفاده میکند، در اینجا توضیح داده شده است:
پیادهسازی مسیردهی VLAN به زیربخش (VLAN-to-Subnet Mapping) در یک VPC
در مدل ابر خصوصی مجازی (VPC)، گزینهای برای ترانککردن Guest VLAN Tagging روی یک زیربخش وجود ندارد، اما این مدل یک روش سادهتر و قدرتمندتر ارائه میدهد که معادل ویژگی مسیردهی /تفکیک VLAN در سگمنت NSX است. تفاوت اصلی در اینجاست که این مسیردهی در سطح زیربخش (Subnet) انجام میشود، نه روی هر پورت vNIC، که همین موضوع مدیریت را بهطور چشمگیری سادهتر میکند.
سناریو: پیش از اعمال مسیرده
در این مثال، یک ماشین مجازی (VM1) وجود دارد که ترافیک دارای برچسب VLAN 10 ارسال میکند. این VM به زیربخشی به نام sub-nogvt متصل است. از آنجا که sub-nogvt فقط ترافیک بدونبرچسب را انتظار دارد، هر فریمی که از VM1 با برچسب VLAN 10 برسد، حذف میشود.
راهحل: Subnet Binding
برای رفع این مشکل، ابتدا یک زیربخش دیگر در همان VPC ایجاد میکنیم به نام subnet-10. این زیربخش قرار است ترافیک VLAN 10 را دریافت کند، با این تفاوت که برچسب VLAN از آن حذف شده است. سپس یک binding بین زیربخشها ایجاد میکنیم تا ترافیک VLAN 10 از sub-nogvt به subnet-10 مسیردهی شود. این کار تنها با یک فراخوانی API انجام میشود:
/policy/api/v1/orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/subnets/{subnet-id}/subnet-connection-binding-maps/{map-id}
در مثال ما، فرض کنید VPC با نام myVPC وجود دارد. فراخوانی API به این شکل خواهد بود:
PATCH /policy/api/v1/orgs/default/projects/default/vpcs/myVPC/subnets/subnet-10/subnet-connection-binding-maps/map-vlan-10
Content-Type: application/json
{
"vlan_traffic_tag": "10",
"subnet_path": "/orgs/default/projects/default/vpcs/myVPC/subnets/sub-nogvt"
}
این Binding به زیرساخت سوئیچینگ VPC دستور میدهد که هر زمان ترافیک دارای برچسب VLAN 10 روی هر پورتی که به sub-nogvt متصل است دیده شد، ابتدا برچسب را حذف کند و سپس فریم بدونبرچسب را به subnet-10 منتقل کند.
اکنون، اگر ماشین مجازی VM2 به subnet-10 متصل شود، VM2 ترافیک بدونبرچسبی را دریافت خواهد کرد که در اصل توسط VM1 با VLAN 10 ارسال شده بود. این مکانیزم دوطرفه است و مسیر ارتباطی را ایجاد میکند—مشابه همان مسیردهی سطح پورت در NSX اما اکنون در سطح زیربخش پیادهسازی شده است.
مزایای کلیدی مسیردهی در سطح زیربخش (Subnet-Level Mapping)
مزیت اصلی این رویکرد آن است که بهصورت خودکار برای تمام ماشینهای مجازی موجود روی زیربخش اعمال میشود، بدون نیاز به تنظیمات جداگانه روی هر vNIC.
ماشینهای جدید روی زیربخش مبدأ (Source Subnet)
اگر ماشین مجازی VM3 را به زیربخش sub-nogvt متصل کنیم، این رفتار را بهطور خودکار به ارث میبرد. VM3 میتواند ترافیک دارای برچسب VLAN 10 ارسال کند و بدون هیچ پیکربندی اضافهای با VM2 ارتباط برقرار کند.
ماشینهای جدید روی زیربخش مقصد (Destination Subnet)
اگر VM4 را به subnet-10 متصل کنیم، بلافاصله و از طریق ترافیک بدونبرچسب میتواند با VM1، VM2 و VM3 ارتباط برقرار کند.
ارتباط داخل همان زیربخش (Intra-Subnet Communication)
این Binding امکان ارتباط بین ماشینهای روی یک زیربخش مبدأ را نیز فراهم میکند. اگر VM1 و VM3 هر دو روی sub-nogvt باشند، ترافیک آنها با برچسب VLAN 10 در حالت عادی حذف میشود.
اما با فعالبودن Binding، ترافیک هر دو VM به subnet-10 هدایت شده و امکان ارتباط از طریق زیربخش مسیردهیهشده فراهم میشود.
جمعبندی: روشی انعطافپذیر برای مدیریت VLAN Tagging
این روش مسیردهی در سطح زیربخش، راهکاری تمیز، مقیاسپذیر و مبتنی بر API برای مدیریت VLAN در محیطهای مجازی فراهم میکند. این رویکرد تضمین میکند که ترافیک دارای برچسب VLAN میتواند توسط کل مجموعه سرویسهای شبکهای VPC پردازش شود. البته، یک vNIC میتواند همزمان با استفاده از چندین VLAN Tag به چند زیربخش مختلف متصل شود، که امکان ایجاد توپولوژیهای ارتباطی پیچیدهتر و منعطفتر را فراهم میسازد.








