در طراحی شبک های LAN تعدادی سوئیچ ACCESS ماننده 2950 ویا 2960 به یک سوئیچ DISTRIBUTION مانند 3750 متصل می شوند ، معمولا" سوئیچ های 2950 دارای 24 تا پورت 100MEG هستند ، به طور معمول بین سوئیچ های ACCESS و سوئیچ DISTRIBIUTE از لینک 1 GIG استفاده می شود.(البته این بستگی به شبکه نیز دارد ).
اگر فرض کنید همه ی کامپیوترهای متصل به سوئیچ ACCESS ترافیکی با کل ظرفیت پهنای باند به سمت سرورها که به سوئیچ DISTRIBIUTION متصل است ارسال نمایند آنگاه لینکی به ظرفیت 2.4GIG بین سوئیچ ACCESS و DISTRIBUTE نیازمند هستیم.
2.4GIG=24*100 MEG
در صورتی که بین 2 سوئیچ ACCESS و DISTRIBUTE پهنای باند 1GIG داشته باشیم ، آنگاه گلوگاه ایجاد خواهد شد.اگر بخواهیم بین 2 سوئیچ فوق الذکر پهنای باند بیشتر ( و یا REDUNDANCY ) داشته باشیم نیازمند این هستیم که بین 2 سوئیچ بیشتر از 2 کابل بکشیم اما در این شرایط پروتکل STP اجازه نمی دهد که لینک اضافه ای بین سوئیچ ها وجود داشته باشد و لینک های اضافی را جهت ممانعت از ایجاد LOOP به وضعیت بلاک می برد.
با استفاده از توانمندی ETHERCHANNEL می توانیم چندین اتصال فیزیکی که بین سوئیچ ها است را در یک گروه منطقی (مجازی ) قرار دهیم و از ظرفیت کل پهنای باند در گروه منطقی استفاده کنید.توانمندی ETHERCHANNEL برای افزایش پهنای باند بین سوئیچ ها و یا سوئیچ روتر استفاده خواهد شد.در واقع برای استفاده همزمان از همه ی لینک های بین سوئیچ ها ، از پروتکل ETHERCHANNEL استفاده میکنیم که این پروتکل چندین لینک فیزیکی را یکی کرده ( AGGREGATE ) کرده و به یک لینک LOGICAL به نام PORT-CHANNEL تبدیل می کند و در چنین شرایطی پهنای باند بین 2 سوئیچ افزایش یافته و مشکل گلوگاه حل خواهد شد.
اگر در یادگیری سیسکو مشکل دارید ، به شما پیشنهاد می کنیم از طریق دوره های آموزش سیسکو حرفه ای سایت توسینسو و با دوره آموزش CCNA روتینگ و سویچینگ شروع کنید ، فراموش نکنید که پیشنیاز همه این دوره های آموزش شبکه ، دوره آموزش نتورک پلاس است ، فراموش نکنید توسینسو اولین و بهترین انتخاب شما در حوزه آموزش فناوری اطلاعات فارسی است.تعریف ETHERCHANNEL
ادغام چند لینک فیزیکی و ایجاد یک لینک مجازی ( تحت عنوان PORT-CHANNEL ) را ETHERCHANNEL گویند.کمپانی سیسکو واژه ETHERCHANNEL را به جای AGGREGATION به کار می برد.
وقتی لینک های فیزیکی را از طریق ETHERCHANNEL به یک لینک LOGICAL ( یا همان PORT-CHANNEL ) تبدیل میکنیم ، STP بین 2 سوئیچ فقط یک لینک به نام PORT-CHANNEL می بیند و آنرا بلاک نمی کند.
هدف STP جلوگیری از ایجاد LOOP بود و لی حالا و با ایجاد لینک LOGICAL ایا مکانیزیمی جهت جلوگیری ازوجود LOOP وجود دارد یا اینکه STP تنها یک لینک می بینید؟
یک قانون ساده در ETHERCHANNEL تضمین میکند که LOOP بوجود نیاید بدین صورت که اگر روی یکی از لینک ها ETHERCHANNEL یا یک لینک فیزیکی ، ترافیکی ( BROADCAST AND MULTICAST )را گرفتی ( ترافیک برادکست ) ، آن ترافیک را روی مابقی لینک ها ارسال نکن.
چنانچه هر یک از موارد فوق بین پورتهاییکه قرار است ETHERCHANNEL شوند یکسان نباشد ، ETHERCHANNEL به درستی ایجاد نخواهد شد.
به دلیل نوع الگوریتم LOAD-BALANCING بهتر است تعداد پورتهایی که با یکدیگر ETHERCHANNEL شود توانی از 2 باشد یعنی تعداد لینک ها 2 و 4 و 8 لینک باشد که ما در گروه ETHERCHANNEL می توانیم از پورتهای FE , GIG , 10G استفاده نمائیم.
LACP
این پروتکل مربوط به شرکت سیسکونیست ولی توسط تجهیزات شرکت سیسکو و تجهیزات سایر شرکت ها پشتیبانی می شود و در صورتی که تجهیزات شما مربوط به شرکت های مختلفی باشد و می خواهید که ETHERCHANNEL را بین یک سوئیچ سیسکو و یک سوئیچ غیر سیسکوئی یا دو سوئیچ غیر سیسکو پیکره بندی کنید ، میتوانید از این پروتکل برای برقراری و مدیریت اتصال منطقی ETHERCHANNEL استفاده کنید.
در LACP تا 16 لینک را می توان معرفی کرد و تنها 8 لینک آن ACTIVE هستند و در صورت قطع شدن یکی از لینک های ACTIVE ، یکی از لینک های غیر فعال جایگزین میگردد.
PAGP
یک پروتکل اختصاصی مربوطه به شرکت سیسکو می باشد و در صورتی می توانید از این پروتکل استفاده کنید که تجهیزات 2 طرف اتصال شما CISCO باشند ، که در آن حداکثر 8 تا لینک قابل ETHERCHANNEL ( AGGREGATION ) هستند. وظیفه این پروتکل مدیریت و برقراری اتصال منطقی ETHERCHANNEL می باشد.
مدهای پروتکل LACP
1. ACTIVE 2. PASSIVE 3. ON
مدهای پروتکل PAGP
1. DESIRABLE 2. AUTO 3. ON
AUTO
در این مد هیچ پیام PAGP از طرف اینترفیس ارسال نمی شود ولی آماده پاسخگویی به پیام های PAGP از سوئیچ مقابل می باشدو قادر به آغاز پروسه PAGP NEGOTIATION نمی باشد به عبارت دیگر برای ETHERCHANNEL شدن خودش پیشنهاد نمی دهد و منتظر می ماند تا طرف مقابل به او پیشنهاد بهد که پس از دریافت درخواست آنرا قبول می کند.
DESIRABLE
در این مد اینترفیس پیام های PAGP را ایجاد و به سمت سوئیچ مقابل ارسال میکند و قادر به آغاز پروسه PAGP NEGOTIATION می باشد ، به عبارت دیگر در مذاکره و NEGOTIATION که انجام می دهد خودش به سمت مقابل پیشنهاد می دهد و یا اگر به خودش پیشنهاد داده شد قبول می کند تا ETHERCHANNEL شکل گرفته و PORT-CHANNEL ایجاد شود.
SW1(config)#INTerface RANGe FAstEthernet 0/1-4 SW1(config-if-range)#CHANNEL-PRotocol < LACP | PAGP > SW1(config-if-range)#CHANNEL-GRoup 1 MODE < active | auto | desirable | passive | on >
SW1(config)#int range fa 0/1-4 SW1(config-if-range)#channel-protocol pagp SW1(config-if-range)#channel-group 1 mode desirable sw2(config)#int range fa 0/1-4 sw2(config-if-range)#channel-protocol pagp sw2(config-if-range)#channel-group 1 mode desirable
مانیتورینگ ETHERCHANNEL
!command 1- - show etherchannel -- !-------------------------------------------------------------- SW1#show ip int brief Interface IP-Address OK? Method Status Protocol Port-channel 1 unassigned YES manual up up !command 2- - show spanning-tree -- !-------------------------------------------------------------- SW1#show spanning-tree Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Root FWD 7 128.27 Shr !command 3- - show etherchannel -- !-------------------------------------------------------------- SW1#show etherchannel Channel-group listing: ---------------------- Group: 1 ---------- Group state = L2 Ports: 4 Maxports = 8 Port-channels: 1 Max Portchannels = 1 Protocol: PAGP SW1#
همچنین اگر مک آدرسی بخواهد یادبگیرد روی لینک های فیزیک یاد نمی گیرد بلکه روی port-channel یاد می گیرد.
SW1#show mac address-table Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 1 00e0.f733.c818 DYNAMIC Po1 SW1# SW1#
حالت non-silent در پروتکل pagp
پروتکل pagp بصورت دیفالت در حالت silent کار می کند یعنی اگر ما بین یک سوئیچ و یک ftp server ، ما etherchannel ایجاد کرده ایم و چون سرور نمی تواند negotiate کرده و پکت های pagp را متوجه شود ، در این شرایط اگراز یک طرف pagp کانفیگ شد و از سمت دیگر پکت های pagp نیامد ، etherchannel ایجاد شود.به عبارت دیگر اگر بعد از مدت 15 ثانیه از دستگاه مقابل هیچ پیام pagp دریافت نکرد ، بصورت اتوماتیک etherchannel فعال شود.
در حالت non-silent ی ، etherchannel به شرطی ایجاد می شود که pagp در دو طرف ، با یکدیگر negotiate کنند ، در واقع در این حالت ما مطمئن هستیم که تجهیزات دو طرف ، سوئیچ های بوده و حالا برای etherchannel شدن حتما" باید با یکدیگر مذاکره نمایند تا etherchannel تشکیل شود.اگر از دستگاه مقابل هیچ پیام pagp دریافت نشود ، به هیچ وجه etherchannel تشکیل نمی شود.
چک کردن silent یا non-silent
IOU1#show etherchannel 1 port-channel Port-channels in the group: --------------------------- Port-channel: Po1 ------------ Ports in the Port-channel: Index Load Port EC state No of bits ------+------+------+------------------+----------- 0 00 Et0/0 Desirable-Sl 0 0 00 Et0/1 Desirable-Sl 0 Time since last port bundled: 0d:00h:14m:07s Et0/1 IOU1#
تغییر وضعیت به non-silent
IOU1(config)#int range ethernet 0/0-1 IOU1(config-if-range)#channel-protocol pagp IOU1(config-if-range)#channel-group 1 mode desirable non-silent IOU2(config)#interface range ethernet 0/0-1 IOU2(config-if-range)#channel-protocol pagp IOU2(config-if-range)#channel-group 1 mode auto non-silent IOU2#SHOW ETHerCHannel SUMmary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 1 Po1(SU) PAgP Et0/0(P) Et0/1(P) IOU2#SHOW ETHerCHannel POrt-CHannel Channel-group listing: ---------------------- Group: 1 ---------- Port-channels in the group: --------------------------- Port-channel: Po1 ------------ Age of the Port-channel = 0d:00h:03m:16s Logical slot/port = 16/0 Number of ports = 2 GC = 0x00010001 HotStandBy port = null Port state = Port-channel Ag-Inuse Protocol = PAgP Port security = Disabled Ports in the Port-channel: Index Load Port EC state No of bits ------+------+------+------------------+----------- 0 00 Et0/0 Desirable-NonSl 0 0 00 Et0/1 Desirable-NonSl 0 Time since last port bundled: 0d:00h:03m:13s Et0/1 IOU2# IOU2#
PASSIVE
در این مد هیچ پیام LACP از طرف اینترفیس ارسال نمی شود ولی آماده پاسخگویی به پیام های LACP از سمت سوئیچ مقابل می باشد و قادر به آغاز پروسه LACP NEGOTIATION نمی باَشد.
ACTIVE
در این مد اینترفیس پیام های LACP را ایجاد و به سمت سوئیچ مقابل ارسال میکند و قادر به آغاز پروسه LACP NEGOTIATION می باشد.
ایجاد ETHERCHANNEL با استفاده از LACP
SW1(config)#INTerface RANGe FAstEthernet 0/1-4 SW1(config-if-range)#CHANNEL-PRotocol < LACP | PAGP > SW1(config-if-range)#CHANNEL-GRoup 1 MODE < active | auto | desirable | passive | on >
SW1(config)#INTerface RANGE FAstEthernet 0/1-4 SW1(config-if-range)#CHANNEL-PRotocol LACP SW1(config-if-range)#CHANNEL-GRoup 1 MODE ACtive SW2(config)#INT RANge FAstEthernet 0/1-4 SW2(config-if-range)#CHANNEL-PRotocol LACP SW2(config-if-range)#CHANNEL-GRoup 1 MODE PASSive
مانیتورینگ ETHERCHANNEL
SW1#SHOW SPANning-tree Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Desg FWD 7 128.25 Shr SW1# SW1#SHOW IP INT BRief Interface IP-Address OK? Method Status Protocol Port-channel 1 unassigned YES manual up up SW1# SW1#SHOW ETherchannel PORT-channel Channel-group listing: ---------------------- Group: 1 ---------- Port-channels in the group: --------------------------- Port-channel: Po1 (Primary Aggregator) ------------ Age of the Port-channel = 00d:00h:08m:06s Logical slot/port = 2/1 Number of ports = 4 GC = 0x00000000 HotStandBy port = null Port state = Port-channel Protocol = LACP Port Security = Disabled Ports in the Port-channel: Index Load Port EC state No of bits ------+------+------+------------------+----------- 0 00 Fa0/3 Active 0 0 00 Fa0/1 Active 0 0 00 Fa0/2 Active 0 0 00 Fa0/4 Active 0 Time since last port bundled: 00d:00h:07m:03s Fa0/4 SW1# SW1#
قبلا" گفته شد که در pagp می توانیم تا 8 لینک را etherchanel کنیم اما در پروتکل lacp که یک پروتکل استاندارد است میتوانیم تا 16 لینک را معرفی کنیم که فقط 8 تای آن active بوده و اگر یکی از این 8 لینک active از کار بیفتد و قطع شود یکی از لینک های standby جایگزین آن می شود.
این سوئیچ است که تصمیم می گیرد مدام پورتها ACTIVE باشدند و یا کدامیک STANDBY
در واقع زمانیکه قصد دارید بین 2 سوئیچ ETHERCHANNEL شکل دهید و از پروتکل LACP استفاده میکنید، یکی از سوئیچ های سمت ETHERCHANNEL تصمیم گیرنده یا DECISION MAKER است ، این سوئیچ دارای یکی از 2 شرط زیر است :
1.دارای PRIORITY کمتر باشد ( دیفالت 32768 که بین 1-65535 (
2.در صورت مساوی بودن PRIORITY ، سوئیچ با کمترین مک آدرس تصمیم گیرنده است.
حال که تکلیف سوئیچ تصمبم گیرنده مشخص شد ، این سوئیچ طبق پارامترهای زیر تصمیم می گیرد کدام لینک ها AVTIVE و کدامیک STANDBY باشند :
1.مقدار PRIORITY پورتهایی که می خواهد ACTIVE باشد را کمتر بگذارد.
2.مقدار PRIORITY پورتهایی که می خواهی در وضعیت STANDBY باشد را بیشتر می گذاری که مقدار دیفالت PRIORITY برابر با 32768 است که می تواند بین 1-65535 باشد.
توجه شود که مقدار PORT-PRIORITY را می توان در هر 2 سوئیچ تنظیم کرد
sw1(config)#lacp system-priority 100 sw1(config)#int range ethernet 0/0-1 sw1(config-if-range)#channel-protocol lacp sw1(config-if-range)#channel-group 1 mode active sw1(config-if-range)#lacp port-priority 100 sw1(config-if-range)#exit sw1(config)#int range ethernet 0/2-3 sw1(config-if-range)#channel-protocol lacp sw1(config-if-range)#channel-group 1 mode active
این موضوع قابل تست در محیط gns و یا پکت تریسر نیست و کامند ها صرفا" جهت آشنایی آورده شد.
قبلا" صحبت شد که هر کدام از پروتکل های LACP یا PAGP دارای مد ON می باشد ، همچنین می دانیم که در سوئیچ های 2 طرف باید از یک پروتکل استفاده کنیم و مثلا" اگر از PAGP استفاده می کنیم ، مد سوئیچ در هر 2 طرف باید ON باشد.
تشریح مد ON
این مد باعث فعال شدن ETHECHANNEL بر روی اینترفیس بدون ارسال هیچ پیام LACP و یا PAGP می شود ، در صورتی پورت منطقی ETHERCHANNEL برقرار خواهد شد که اینترفیس های مقابل نیز در وضعیت ON باشد.یعنی کلا" NEGOTIATION انجام نمی شود و اگر یک سمت ON باشد ، طرف دیگر هر مدی غیر از ON باشد ETHERCHANNEL شکل نمی گیرد.
EtherChannel Misconfiguration Guard
سناریو ای مثل زیر را در نظر بگیرید ، برای ETHERCHANNEL از پروتکل PAGP و مد ON استفاده شد.در شرایطی که از مد ON استفاده می شود همانطور که قبلا" هم گفته شد ، هیچ NEGOTIATION بین 2 سوئیچ انجام نمی شود.قرار بر این است که پورتهای FA0/1-2 هر دو سوئیچ از طریق کابل به یکدیگر متصل شوند تا نهایتا" ETHERCHANNEL تشکیل شود اما اشتباها" در سوئیچ دوم ، کابل به پورت 1 و 3 به جای پورت های 1 و 2 متصل شود ، در شرایطی که این فیچر فعال باشد ، سوئیچی که بر روی آن کانفیگ مرتبط بصورت صحیح انجام شده است ، لاگ مربوط به این فیچر را داده و اینترفیس مجازی مربوطه به وضعیت ERROR-DISABLE می رود.
به عبارت دیگر ، فیچر EtherChannel Guard جهت جلوگیری از ایجاد LOOP ، در صورتی که کابل به جای آنکه به پورت هایی که برای ETHERCHANNEL در نظر گرفته شده اند به پورتهای دیگر متصل شوند ، پورت های مربوط ( پورت اینترفیس منطقی که شامل اینترفیس های فیزیکی تحت عنوان PORT-CHANNEL است ) به وضعیت ERROR-DISABLE برود.
این فیچر بصورت پیش فرض فعال است.
IOU1#SHOW IP INT BRief Interface IP-Address OK? Method Status Protocol Ethernet0/0 unassigned YES unset down down Ethernet0/1 unassigned YES unset down down Port-channel1 unassigned YES unset down down
بعنوان مثال ، همین سناریو در GNS3
نمایش لاگ های مربوطه
IOU1# IOU1# *May 1 08:36:29.459: %PM-4-ERR_DISABLE: channel-misconfig (STP) error detected on Po1, putting Et0/0 in err-disable state *May 1 08:36:29.460: %PM-4-ERR_DISABLE: channel-misconfig (STP) error detected on Po1, putting Et0/1 in err-disable state *May 1 08:36:29.489: %PM-4-ERR_DISABLE: channel-misconfig (STP) error detected on Po1, putting Po1 in err-disable state *May 1 08:36:30.464: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to down *May 1 08:36:30.464: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to down IOU1# *May 1 08:36:31.470: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to down *May 1 08:36:31.520: %LINK-3-UPDOWN: Interface Port-channel1, changed state to down *May 1 08:36:31.520: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to down *May 1 08:36:32.533: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel1, changed state to down IOU1# IOU1# IOU1#
مانیتورینگ این وضعیت
IOU1#SHOW IP INT BRief Interface IP-Address OK? Method Status Protocol Port-channel1 unassigned YES unset down down IOU1#SHOW INTerfaces PORT-CH IOU1#SHOW INTerfaces PORT-CHannel 1 Port-channel1 is down, line protocol is down (err-disabled) IOU1#SHOW ETHERCHannel SUMmary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 1 Po1(SD) - Et0/0(D) Et0/1(D) IOU1# IOU1(config)# IOU1(config)#INTER IOU1(config)#INTERface PORT IOU1(config)#INTERface PORT-CH IOU1(config)#INTERface PORT-CHannel 1 IOU1(config-if)#SHU IOU1(config-if)#SHUtdown IOU1(config-if)#NO SHUT IOU1(config-if)#NO SHUTdown IOU1(config-if)# *May 1 09:28:33.554: %LINK-5-CHANGED: Interface Ethernet0/0, changed state to administratively down *May 1 09:28:33.554: %LINK-5-CHANGED: Interface Ethernet0/1, changed state to administratively down *May 1 09:28:33.555: %LINK-5-CHANGED: Interface Port-channel1, changed state to administratively down IOU1(config-if)# IOU1(config-if)# *May 1 09:28:36.152: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up *May 1 09:28:36.153: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up *May 1 09:28:36.177: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up *May 1 09:28:37.161: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel1, changed state to up *May 1 09:28:37.161: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to up *May 1 09:28:37.180: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to up IOU1(config-if)#EXIT IOU1(config)# IOU1(config)#EXIT IOU1# IOU1#SHOW I *May 1 09:28:43.762: %SYS-5-CONFIG_I: Configured from console by console IOU1#SHOW INT IOU1#SHOW INTerfaces PORT IOU1#SHOW INTerfaces PORT-CH IOU1#SHOW INTerfaces PORT-CHannel 1 Port-channel1 is up, line protocol is up (connected)
جهت فعال یا غیر فعال کردن این فیچر
IOU1(config) # (NO) SPANning-tree ETHERchannel GUard MISconfig
مبحث LOAD-BALANCING در ETHERCHANNEL با مفهوم برابری ترافیک در همه ی لینک ها متفاوت است و به عبارت دیگر ترافیک در همه ی لینک ها برابر نخواهد بود بلکه براساس تنظیمات انجام شده و الگوریتم سیسکو ، ترافیک بین لینک ها تقسیم می شود.
در واقع سوال این است که وقتی ، سوئیچ ترافیکی را روی یک لینک LOGICAL ارسال میکند ، آن ترافیک روی کدام پورت فیزیکی ارسال می شود.
همانطور که گفته شد مبحث LOAD-BALANCE در ETHRERCHANNEL با مفهوم برابری ترافیک در همه ی لینک ها متفاوت است و به عبارت دیگر در همه ی لینک ها برابر نخواهد بود بلکه براساس تنظیمات انجام شده و الگوریتم سیسکو ترافیک بین لینک ها تقسیم می شود.
در اصل سیسکو از یک HASH-ALGORITHM برای تقسیم ترافیک بین لینک ها استفاده می کند که نتیجه آن یک مقدار از 0 تا 7 و براساس میزان ترافیک تعیین می شود.
تعداد لینک ها و نسبت توازن
تعداد پورتهایی که در ETHERCHANNEL می توانند AGGREGATE شوند بهتر است توانی از 2 در نظر گرفته شوند.(2 و 4 و 8 لینک )
اگر تعداد لینک ها در etherchannel توانی از 2 باشد ( 2 لینک و 4 لینک و 8 لینک ) در اینصورت نسبت توازن بار بین لینک ها برابر است.
همانطور که گفته شد هر کدام از این 8 تا لینک یک مقداری از این hash-algorithm ( 0 تا 7 ) اختصاص داده می شود ، به طور مثال برای 2 لینک
به ترتیب به لینک 1 ، H0 و به لینک دوم H1 ، به لینک سوم H 2 و همنطور تا لینک دوم H7 و اگر با دقت به HASH هایی که به لینک ها اختصاص پیدا کرد می بینیم که نسبت توازن بصورت مساوی و 4:4 شد.
پیشنهاد داده شد که تعداد لینک ها مساوی باشند ولی حالا اگر تعداد لینک ها مساوی نبانشد ، نسبت توازن مساوی نخواهد بود
به عنوان نمونه ما در اینجا 3 لینک بیم دو سوئیچ داریم که به ترتیب به هر لینک یک مقدار HASH داده شده است ، اما در کل می بیبیم که 2 لینک ابتدایی دارای 3 مقدار HASH نسبت به لینک سوم هستند که این یعنی توازن بین در بین 3 لینک بصورت NT=3:3:2 می باشد یا میتوان گفت روی 2 لینک ابتدایی نسبت به لینک سوم بار بیشتری وجود دارد.
حال سراغ الگوریتم های LOAD-BALANCING می رویم ، گفته شد مبحث LOAD-BALANCE در ETHRERCHANNEL با مفهوم برابری ترافیک در همه ی لینک ها متفاوت است و به عبارت دیگر در همه ی لینک ها برابر نخواهد بود بلکه براساس تنظیمات انجام شده و الگوریتم سیسکو ترافیک بین لینک ها تقسیم می شود.الگوریتم های LOAD-BALANCE بصورت زیر است
1.SOURCE IP ADDRESS
2.DESTINATION IP ADDRESS
3.SOURCE-DESTINATION IP ADDRESS
4.SOURCE-MAC
5.DESTINATION-MAC
6.SOURCE-DESTINATION MAC ADDRESS
7.SOURCE PORT
8.DESTINATION PORT
9.SOURCE-DESTINATION PORT
در خصوص LOAD-BALANCING ما 2 فاکتور مهم داریم :
1.نواع الگوریتم
2.تعداد لینک ها
نوع الگوریتم
الگوریتم استفاده شده می تواند تکی ( SORCE IP DEST IP SOURCE MAC DEST MAC , … ) یا ترکیبی ( SORCE-SEXT-IPSOURCE-SEST-PORT/SOURCE-DEST-MAC ) که اگر ترکیبی باشد XOR خواهند شد.
تعداد لینک ها
همانطور که قبلا" گفته شد پیشنهاد می شود تعدادد لینکها توانی از 2 باشد تا توازن بار بین آنها یکسان باشد ، حال بیائید در قالب چند مثال بیشتر با این مفاهیم آشنا شویم .
در این قسمت قصد داریم الگوریتم های تکی مثل SOURCE یا DESTINATION را جهت درک بیشتر بررسی کنیم.
مثال 1 :
ما بین 2 سوئیچ ETHERCHANNEL راه انداخته ایم ، تصور کنید که در SW1 نوع الگوریتم براساس SOURCE IP است و کامپیوتر ی که IP ی 192.168.1.7 را دارد ، بسته ای به سمت سرور با IP ی 192.168.1.14 ارسال می کند.
اول اینکه نوع الگوریتم براساس SOURCE IP است و ما با آی پی مبدا که ای پی کلاینت است سروکار داریم ، در راه اندازی ETHERCHANNEL ما از 2 لینک استفاده کرده ایم و طبق فرمول معروف 2^N ، مقدار N برابر با 1 خواهد شد.
SOURCE IP : 192.168.1.7 N = 1
اگر مقدار HOST ID ، یا همان OCTED آخر SOURCE IP را به باینری برگردانیم
( 7 ) 10 = ( 111 ) 2
در اینجا بخاطر N=1 تنها یک بیت را نگاه می کنیم که برابر با 1 است ، حالا طبق تصویر و HASH الگوریتم این بسته از لینک فیزیکی دوم عبور می کند.اگر SOURCE IP برابر با 8 بود آنگاه :
( 8 ) 10 = ( 1000 )2
به اولین بیتش که نگاه می کردیم برابر با 0 بود که از لینک اول استفاده میکرد.
مثال 2
تصور کنید در ETHERCHANNEL من از 4 لینک استفاده کرده ام
شرایط دراینجا به این صورت است که نوع الگوریتم من SOURCE IP است و کامپیوتر 192.168.1.2 می خواهد بسته ای به سمت 192.168.1.14 ارسال نماید و من از 4 لینک برای بحث ETHERCHANNEL استفاده کرده ام.
SOURCE IP : 192.168.1.2 4 LINK --> 2^N --> N= 2 ( 2 ) 10 = ( 10 ) 2
طبق HASH-ALGORITHM سیسکو ، لینک سوم دارای مقدار HASH 2 که برابر با عدد در مبنای 2 می باشد استفاده می شود
یا اگر الگوریتم ما DESTINATION IP و به سمت سرور 192.168.1.13 می بود آنگاه
DESTINATION IP : 192.168.1.13 4 LINK --> 2^N --> N= 2 ( 13 ) 10 = ( 1101 ) 2
با توجه به 2 بیت سمت راست ( 01 ) که در مبنای 2 است ، این بسته از لینک دوم به سمت سرور ارسال می شد.
مثال سوم
تصور کنید در ETHERCHANNEL من از 8 لینک استفاده کرده ام
تصور کنید که کلاینت ای که دارای ای پی 192.168.1.5 است ، قصد دارد بسته ای به سمت سرور 192.168.1.16 ارسال نماید ، نوع الگوریتم در سوئیچ 1 ، SOURCE IP است
SOURCE IP : 192.168.1.5 8 LINK -- > 2^N , N = 3 ( 5 ) 10 = ( 101 ) 2
طبق HASH-ALGORITHM بسته از لینک 6 عبور میکند.
مثال چهارم
اگر ما طبق تصویر زیر 5 لینک در بحث ETHERCHANNEL داشته باشیم
اگر نوع الگوریتم SOURCE IP باشد و کامپیوتری که دارای IP ی 192.168.1.23 است بخواهد بسته ای به سمت سروری که دارای IP ی 192.168.1.17 است ارسال کند در اینصورت
SOURCE IP : 192.168.1.23 ( 23 ) 10 = ( 10111 )2
همانطور که میبینیم اینجادیگر تعداد لینک ها توانی از N نیست ، درواقع نکته این است که ما 8 لینک داریم که هریک یک مقدار HASH بین 0 تا 7 دارند که یعنی 8 عدد که برای این عدد
8 = 2^3
ما 3 بیت سمت راست را در نظر می گیریم و نگاه میکنیم کدام لینک HASH 7 را دارد و طبق تصویر لینک سوم این مقدار HASH را در خود داردو لینک 3 را انتخاب میکند.در انتها باید این نکته را اضافه کرد که اکتد آخر آی پی مربوطه هر چه که باشد آنرا به مبنای 2 می بریم و حداکثر با 3 بیت سمت راست آن کار داریم که مجموع این 3 بیت اگر 1 باشد برابر با HASH 7 خواهند بود.
در قسمت قبل الگوریتم های تکی که تنها براساس SOURCE یا DESTINATION بود آورده شد و حالا در این قسمت قصد داریم با الگوریتم های ترکیبی مثل SOURCE-DEST-IP SOURCE-DEST-MAC SOURCE-DEST-PORT آشنا شویم ، اینجا هم ما همان فاکتورهای قبلی و بحث HASH-ALGORITHM را داریم.
2 فاکتور مهم داشتیم
1.نوع الگوریتم
2.تعداد لینک
در الگوریتم های ترکیبی ، خروجی XOR می شود ، بگذارید در یک مثال با این موضوع بیشتر اشنا شویم ) با فرض الگوریتم SOURCE-DEST-IP ) :
در سناریو ما برای ETHERCHANNEL از 4 لینک استفاه کرده ایم و کلاینتی که دارای ای پی 192.168.1.7 است بسته ای را به سمت 192.168.1.10 ارسال میکند.
SOURCE IP : 192.168.1.7 DESTINATION IP : 192.168.1.10 SOURCE IP : 192.168.1.7 -- > ( 7 ) 10 = (0111 )2 DESTINATION IP : 192.168.1.10 -- > ( 10 )10 = (1010)2 4 LINK , 2^N , N = 2 (11)2 XOR (10)2 = ( 01)
17. تابع منطقی XOR
در تابع منطقی XOR خروجی زمانی برابر با 1 خواهد بود که ورودی ها مانند هم نباشند
در هر لحظه تنها یکی از ورودی ها باید 1 باشند تا خروجی 1 باشد
طبق نتیجه خروجی بسته از لینکی که دارای HASH-CODE مذکور ( لینک 2 ) استفاده می کند.
سناریو زیر را در نظر بگیرید
در سناریو فوق ، بدون شک تمام کلاینت ها ترافیک خود را به سمت روتر ارسال میکنند پس یعنی اگر من نوع الگوریتم را در SW1 ، بصورت DESTINATION IP و یا ای پی روتر مقصد انتخاب کنم مسلما" تمام ترافیک از یک لینک عبور خواهد کرد یعنی
( 10 )10 = ( 1010 )2 2^N, N=2 HASH CODE ( 10 )2 -- > LINK 3
در صورت انتخاب الگوریتم DESTINATION IP کل ترافیک ( درسمت SW1 ) از لینک 3 عبور خواهد کرد که این جالب نیست و از 3 لینک دیگر ترافیکی عبور نمی کند.در سناریوهایی به این صورت ، پیشنهاد می شود نوع الگوریتم بصورت SOURCE IP /SOURCE MAC باشد و در یک قاعده کلی
1.اگر پراکندگی در مبدا زیاد باشد از متدهایی که SOURCE هستند استفاده می کنیم.
2.اگر پراکندگی در مقصد زیاد باشد از متدهایی که DESTINATION هستند استفاده کنیم.
3.اگر پراکندگی در 2 طرف زیاد باشد از متدهای ترکیبی SOURCE-DESTINATION استفاده کنید.
این امکان وجود دارد که الگوریتم ای که در 2 سمت ETHERCHANNEL استفاده میکنیم یکسان نباشد که در اینصورت ترافیک بصورت نامتقارن در 2 جهت رد وبدل می شود.
نکات کلیدی:
1.در متدهای LOAD-BALANCING ، متد IP به MAC اولویت دارد.
2.اگر الگوریتم خاصی را انتخاب نکنیم ، الگوریتم های زیر دیفالت خواهند بود:
در سوئیچ های لایه 2 متد SOURCE-MAC
در سوئیچ های لایه 3 متد SOURCE-DESTINATION-IP
Switch#show etherchannel load-balance EtherChannel Load-Balancing Operational State (src-mac):
IOU2#show etherchannel load-balance EtherChannel Load-Balancing Configuration: src-dst-ip
IOU1(config)#port-channel load-balance ? dst-ip Dst IP Addr dst-mac Dst Mac Addr src-dst-ip Src XOR Dst IP Addr src-dst-mac Src XOR Dst Mac Addr src-ip Src IP Addr src-mac Src Mac Addr
مثال :
در سناریو زیر نوع load-balance را طبق خواسته انجام دهید
IOU1(config)#port-channel load-balance src-ip IOU1(config)#int range ethernet 0/1-2 IOU1(config-if-range)#channel-protocol pagp IOU1(config-if-range)#channel-group 1 mode desirable IOU2(config)#port-channel load-balance dst-mac IOU2(config)#int range ethernet 0/1-2 IOU2(config-if-range)#channel-protocol pagp IOU2(config-if-range)#channel-group 1 mode auto IOU1#show etherchannel load-balance EtherChannel Load-Balancing Configuration: src-ip IOU2#show etherchannel load-balance EtherChannel Load-Balancing Configuration: dst-mac
برای این موضوع می توان از کامندهای زیر استفاده کرد
IOU2#show etherchannel port-channel IOU2#show interfaces port-channel 1 etherchannel
اگر اعدادی که نمایانگر میزان load هستند نزدیک به هم بودند اجازه دهیم کارشان را بکنند ولی اگه این اعداد خیلی متفاوت بودند بعد از 1-2 هفته نوع الگوریتم را عوض کنیم .
سناریوای مثل سناریو زیر را در نظر بگیرید
سوئیچ MLS1 به 2 سوئیچ دیگر متصل است ، در چنین شرایطی نمی توان 4 پورت سوئیچ MLS را با یکدیگر BUNDLE کرد و ETHERCHANNEL شکل داد.
در واقع در بحث ETHERCHANNEL پورت هایی که باید BUNDLE شوند باید سر آنها به 2 سوئیچ متصل باشند و نه به بیش از 2 سوئیچ.در تصویر فوق پورت هایی سوئیچ MLS 1 به جای اینکه به یک سوئیچ متصل شوند ، به 2 تا سوئیچ متصل شده اند که در این شرایط نمیتوان 4 تا پورت سوئیچ MLS1 را با یکدیگر BUNDLE کرد.
اما با استفاده از تکنولوژی هایی می توان کاری کرد که چندین سوئیچ در کنار هم ، یک سوئیچ به نظر برسد.به عنوان مثال ، با استفاده از همان تکنولوژی ها ، اینطور به نظر برسد که سوئیچ های MLS1 و MLS2 یک سوئیچ واحد به نام SW A است.
تکنولوژی هایی مثل
STACKWISE 3750 , 2960 VSS 6500 VPC IN NEXUS SWITCH
زمانی که چندین سوئیچ ، یک سوئیچ به نظر برسد آنوقت شما با 4 پورت با 2 سوئیچ ایجاد کنیم ، به نظر می رسد که PORT-CHANNEL با 4 پورت روی یک سوئیچ تشکیل شده است .
با استفاده از فیچر multichassis etherchannel سبب می شود ما نه تنها LINK REDUNDANCY داشته باشیم بلکه باعث ایجاد SWITCH REDUNDANCY هم برای ما خواهد شد.
در ETHERCHANNEL معمولی ، هدف ایجاد پهنای باند بود ولی به نوعی LINK-REDUNDANCY هم داشتیم و اگر از 4 لینک ، 3 لینک هم FAIL می شد اتفاقی نمی افتاد و STP وارد پروسه همگرایی نمیشد چرا یک از دید STP تنها یک لینک LOGICAL داشتیم که کار خودش را می کرد ولی عملا" در مقابل سوئیچ مقاوم نبود و اگر سوئیچ FAIL میشد عملا" ارتباط قطع میشد.
با استفاده از فیچر multichassis etherchannel ، ما بطور همزمان علاوه بر داشتن LINK REDUNDANCY ، SWITCH REDUNDANCY هم داریم و همانند شرایط ETHERCHANNEL معمولی ، در برابر قطع لینک مشکلی نداریم ، علا.ه بر آن اگر یکی از سوئیچ ها هم FAIL شودمشکلی برای PORT-CHANNEL ما ایجاد نمی شود و البته این مشروط به این است که با استفاده از تکنولوژی هایی ذکر شده ، عملا" کاری کرد که 2 سوئیچ ، بصورت یک سوئیچ دیده شود.
24.Etherchannel layer 2 and layer 3
در زمان ایجاد ETHERCHANNEL بین دو MLS چون تمام پورتهایش L2 هستند ، ETHERCHANNEL ما بصورت لایه 2 ای شکل می گیرد.
MLS1#SHOW ETHERchannel Channel-group listing: ---------------------- Group: 1 ---------- Group state = L2 Ports: 4 Maxports = 8 Port-channels: 1 Max Portchannels = 1 Protocol: PAGP MLS1#
در صورتی که بخواهیم ETHERCHAANEL ما بصورت لایه 3 ای باشد تا بتوانیم به PORT-CHANNEL خودمان IP بدهیم باید کامند NO SWITCHPORT را قبل از ایجاد ETHERCHANNEL بزنیم. ( در GNS3 )
مثال
IOU1(config)#INT RANGE ETH 0/0-1 IOU1(config-if-range)#NO switchport IOU1(config-if-range)#channel-protocol pagp IOU1(config-if-range)#channel-group 1 mode desirable IOU2(config)#INT RANGE ETH 0/0-1 IOU2(config-if-range)#NO switchport IOU2(config-if-range)#channel-protocol pagp IOU2(config-if-range)#channel-group 1 mode auto IOU1#show etherchannel Channel-group listing: ---------------------- Group: 1 ---------- Group state = L3 Ports: 2 Maxports = 4 Port-channels: 1 Max Port-channels = 1 Protocol: PAgP Minimum Links: 0 IOU1# IOU1(config)#interface port-channel 1 IOU1(config-if)#ip add 192.168.1.1 255.255.255.0 IOU1(config-if)#no shut IOU2(config)#interface port-channel 1 IOU2(config-if)#ip address 192.168.1.2 255.255.255.0 IOU2(config-if)#no shut IOU2#show ip int brief Interface IP-Address OK? Method Status Protocol Port-channel1 192.168.1.2 YES manual up up IOU2# IOU2#ping 192.168.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 7/8/10 ms IOU2#
کارشناس ارشد سیسکو
صادق شعبانی ( هکر قانونمند ، مهندس مایکروسافت ، کارشناس ارشد سیسکو ) : انسانی که کنار میکشه هیچوقت پیروز نمیشه و انسانی که پیروز میشه هیچوقت کنار نمی کشه.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود