EtherChannel چیست؟ با NIC Teaming در VMware چه تفاوتی دارد؟

EtherChannel چیست؟ چه تفاوتی با NIC Teaming در VMWare دارد؟ حالت های مختلف Load Balancing در VMWare چگونه است؟ چگونه EtherChannel را راه اندازی کنیم؟ در این مقاله قصد داریم به معرفی امکانات Nic teaming در Vm Ware برای Load Balancing بپردازیم و قبل از آن مروری کوتاه بر تکنولوژی Etherchannel در Cisco می پردازیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
EtherChannel چیست

مفهوم Etherchnnel در سیسکو

لینک‌های Ethernet با استانداردهای متفاوت معرفی شده‌اند که مشخصات متفاوتی دارند. یکی از مهمترین مشخصات آن که انگیزه پیشرفت را ایجاد کرده همواره سرعت آنها بوده استEthernet . در حال حاضر با استاندارد های 10M،100M،1G،10G موجود است که طبیعتا برای لینک‌های با پهنای باند بیشتر می‌بایست هزینه بیشتری برای تجهیزات و لینکهای ارتباطی متحمل شد. علاوه بر هزینه ممکن است Media ارتباطی نظیر فیبر برای سرعت بالاتر وجود نداشته باشد.

پس در موارد نیاز به سرعت بیشتر باید به دنبال راه چاره گشت. گاهی اوقات ما بین 2 عدد Switch یا یک Router و یک Switch نیاز به برقراری یک ارتباط خطا پذیر داریم. به صورتی که هنگام قطع شدن یکی از لینک های ارتباطی لینک دومی وجود داشته باشد تا در مدار آمده و سرویس دهی را ادامه دهد.برای پاسخ به مشکلات فوق تکنولوژی Etherchnnel ابداع گردید که تحت استاندارد 802.3ad معرفی شده‌است. این استاندارد اتصال دو Switch را توسط دو الی هشت لینک ارتباطی ممکن می‌سازد.

در ابتدا شرکت سیسکو Ether channel را با پروتکل Port Aggregation Protocol(PAGP) عرضه کرد و پس از آن IEEE استاندارد 802.3ad را با نام Link Aggregation Control Protocol(LACP) معرفی نمود. PAGP تنها بین تجهیزات سیسکو قابل استفاده است و LACP به صورت استاندارد در ما بقی تجهیزات کاربرد دارد. لازم به ذکر است که تجهیزات سیسکو نیز از LACP پشتیبانی می‌کنند.

نحوه توزیع پهنای باند در EtherChannel

معیار تقسیم پهنای باند بین لینکها بر اساس موارد زیر است که به صورت دستی می‌توان آنها را مشخص نمود.

  • Source IP Address
  • Destination IP Address
  • Source MAC Address
  • Destination MAC Address
  • Source and Destination IP Address
  • Source And Destination MAC Address
  • Source TCP/UDP Port (4500،6500 series)
  • Destination TCP/UDP Port (4500،6500 series)
  • Source and Destination TCP/UDP Port (4500،6500 series)

در Etherchnnel ممکن است پهنای باند به صورت یکسان تقسیم نشود. که مقدار سهم هر لینک بستگی به تعداد کل لینک‌ها دارد. جدول زیر مقدار توزیع پهنای باند را در شرایط مختلف نشان می‌دهد.تعداد پورت های فعال نحوه تقسیم پهنای باند

  • 8 1:1:1:1:1:1:1:1
  • 7 2:1:1:1:1:1:1
  • 6 2:2:1:1:1:1
  • 5 2:2:2:1:1
  • 4 2:2:2:2
  • 3 3:3:2
  • 2 4:4

Etherchnnel به صورت پیش فرض پورت اصلی یعنی پورتی که ابتدا ترافیک روی آن فرستاده می‌شود را مشخص می‌کند که بر اساس شماره پورت در آن Switch مشخص می‌شود که شماره پورت کوچکتر دارای اولویت بالاتر است. در تجهیزات سیسکو میتوان به صورت دستی نیز اولویت هر پورت را مشخص کرد.

حالت های مختلف پورت در Etherchnnel

هر پورت می‌تواند روی یکی از حالت‌های زیر تنظیم شود:

  • Active
  • Passive
  • Desirable
  • Auto
  • On

از موارد فوق Active و Passive برای پروتکل PACP، موارد Desirable و Auto برای پروتکل PAGP و حالت on برای هر دو پروتکل قابل استفاده است.حالت on پورت‌ها را بدون توجه به آن طرف خط در Etherchnnel قرار می‌دهد. حالتهای Auto و Passive پورت مورد نظر را در حالت آماده باش قرار می‌دهد که در صورت نیاز آن طرف، خط در Etherchnnel قرار گیرد. حالتهای Desirable و Active پورت را وادار به جستجوی تجهیزاتی در آن طرف خط می‌کند که در صورت امکان وارد Etherchnnel شوند.

اجرای Ether channel در تجهیزات سیسکو

ابتدا به اجرای Etherchnnel با پروتکل PAGP میان دو Switch سیسکو می‌پردازیم:باید وارد مود کانفیگ شویم و اینترفیس مورد نظر خود را انتخاب کنیم. باید توجه داشت که تمامی اینترفیس‌هایی که قرار است در یک Etherchnnel قرار گیرند می‌بایست دقیقا از یک نوع بوده و دارای شرایط و کانفیگ یکسان باشند. به عنوان مثال نمیتوان یک Gigabit Ethernet را با یک Fast Ethernet در یک Etherchnnel قرار داد.ابتدا نحوه load balance را مشخص میکنیم:

Switch1(config)# port-channel load-balance src-dst-ip

برای راحتی بیشتر و مقدار کانفیگ کمتر از interface range استفاده میکنیم که چند اینترفیس را همزمان با هم تنظیم می‌کند.

Switch1(config)# interface range fastethernet 0/1-  2

سپس نوع پروتکل ارتباطی را مشخص می‌کنیم:

Switch1(config-if)# channel-protocol pagp

و حالت قرار گیری پورت را تعیین می‌کنیم:

Switch1(config-if)# channel-group 1 mode desirable

حالا به Switch دوم رفته و همین تنظیمات را اعمال میکنیم:

Switch2(config)# port-channel load-balance src-dst-ip
Switch2(config)# interface range Fast 0/3 – 4
Switch2(config-if)# channel-protocol pagp

Switch دوم را در حالت auto قرار میدهیم:

Switch2(config-if)# channel-group 1 mode auto

اکنون دو پورت 1 و 2 Switch اول با پورتهای 3 و 4 Switch دوم به صورت Etherchnnel در آمده‌اند که بر اساس IP مبدا و مقصد Frame ها را بین یکدیگر تقسیم می‌کنند. بعد از تنظیم Ether channel تمامی پورتها به عنوان یک پورت شناخته می‌شوند. و با نام PO که مخفف Port-channel است می‌توانیم به آنها دسترسی داشته‌باشیم. به عنوان مثال برای تنظیم IP بر روی Etherchnnel اینگونه عمل می‌کنیم:

Switch2(config)# interface po2
Switch2(config-if)# ip address 10.0.2.55 255.255.255.0

و در آخر با دستور زیر می‌توانیم از وضعیت پورتها و Ether channel مطلع شویم.

Switch2# show etherchannel summary

در Vm ware ما چهار گزینه برای Load balancing داریم :

  1. Route based on originating virtual port id : در این حالت با توجه به شماره پورت Vmها ترافیکراز یکی از Vmincها ارسال می‌شود، و به دلیل سادگی Loadکمتری بر روی سیستم می‌گذارد. به طور مثال اگر چهار Vm داشته باشیم که به سه Vmnic از طریق یک Port Group متصل هستند به ترتیب با توجه به کمترین شماره پورت آنها را از Vmnic0 تا Vmnic3 ارسال می‌کند و بدلیل اینکه تعداد Vmها از Vmnicها بیشتر است به صورت Round Robin ترافیک چهارمین Vm را نیز از Vmnic0 عبور می‌دهد.
  2. Route based on source MAC hash : این گزینه نیز همانند روش اول عمل می‌کند با این تفاوت که در انتخاب Source به جای Port id از Source Mac استفاده می‌کند و همانند روش قبلی ترافیک هر کدام از Vmها را بر روی یک Vmnic به صورت ثابت ارسال می‌کند و تنها تفاوت آن با روش قبلی این است که Port id Vmها در خاموش و روشن شدن ممکن است تغییر کند ولی Mac address به هیچ عنوان تغییر پذیر نیست.
  3. Route based on IP hash : در این حالت بر خلاف دو روش قبلی ما با Destination IP نیز روبرو هستیم و کلیدی ترکیبی با Source IP ساخته و ترافیک را به طور متقارن‌تری از Vmnicها ارسال می‌کنیم. اما از طرفی بدلیل اینکه ترافیک Vmها به صورت متغیر از Vmnicها ارسال می‌شود باعث می‌شود در Mac Table سوئیچ فیزیکی یک Vm از چند پورت مختلف دیده شود و باعث سردرگمی سوئیچ شود و برای حل مشکل ما باید در سوئیچ فیزیکی پورت‌های ورودی از Vmnicها را در یک Channel-group تعریف کنیم و به عبارت ساده‌تر Etherchnnel بزنیم.
  4. Use explicit failover order:آخرین گزینه در واقع یک نوع راهکار برای HA است و عمل Load Balancing را انجام نمی‌دهد و اولویت کاری Vmnicها را در صورت از کار افتادن هر کدام از آنها را مشخص می‌کند.

سیدمصطفی موسوی نیا
سیدمصطفی موسوی نیا

اینجانب فارغ التحصیل کارشناسی رشته مهندسی کامپیوتر از دانشگاه شهید بهشتی و کارشناسی ارشد فناوری اطلاعات از دانشگاه پیام نور هستم. 15 سال سابقه کار در زمینه شبکه و تدریس مفاهیم شبکه و کامپیوتر را دارم و دوره های CCNA,VCP,MCITP را گذرانده ام.

نظرات