راه اندازی EtherChannel در سوئیچ های سیسکو، در این مقاله قصد داریم نحوه راه اندازی EtherChannel در سوئیچ های سیسکو را مورد بررسی قرار دهیم. در ابتدا به یک معرفی کوتاه در مورد EtherChannel خواهیم پرداخت.
راه اندازی EtherChannel در سوئیچ های سیسکو
فهرست مطالب
- دلایل استفاده از EtherChannel
- روش های پیاده سازی
- نکات کلیدی در پیاده سازی
- پیاده سازی Manual
- پیاده سازی LACP
- پیاده سازی PAgP
- مکانیزم Load-Balance
دلایل استفاده از EtherChannel
یکی از قابلیت های فوق العاده در سوئیچ های سیسکو Spanning Tree Protocol یا همان STP می باشد که وظیفه آن جلوگیری از Loop در شبکه می باشد. چنانچه Spanning Tree Protocol وجود نداشته باشد شبکه ما با Broadcast Storm مواجه خواهد گردید. اما مکانیزم پروتکل STP در عین حال لینک های افزونه ما را مسدود خواهد نمود. شرکت ها همواره هزینه های زیادی را در جهت ایجاد لینک های افزونه بین سوئیچ های خود متحمل می شوند و چنانچه این لینک ها به واسطه STP مسدود شوند اصلا مقرون به صرفه نخواهد بود. به واسطه EtherChannel می توان لینک های افزونه را تجمیع نمود به نحوی که تمامی لینک های تجمیع شده تشکیل یک لینک منطقی خواهند داد و به همین واسطه می توان از تمامی ظرفیت لینک ها بهره برد. EtherChannel یک قابلیت بسیار کاربردی است اما در عین حال اگر به درستی پیاده سازی نشود ممکن است شبکه را با مشکلات فراوانی روبرو نماید. با استفاده از EtherChannel گروهی از لینک ها تبدیل به یک لینک خواهند شد و به همین دلیل هنگامی که STP به این فرآیند به عنوان یک اتصال نگاه می نماید در چنین شرایطی هیچ پورتی مسدود نخواهد شد.
لینک های تجمیع شده تشکیل یک اینترفیس Port-channel خواهند داد و این همان اینترفیس منطقی متشکل از چند لینک می باشد. یکی دیگر از مزایای EtherChannel بهره بردن از مکانیزم تسهیم بار ( Load Balancing ) می باشد. تجمیع لینک فقط بین 2، 4 و یا 8 لینک امکان پذیر می باشد و همچنین استفاده از لینک هایی با تعداد فرد امکان پذیر نمی باشد. باید به این نکته اشاره داشت که مکانیزم تسهیم بار ( Load Balancing ) در EtherChannel بی عیب و کامل نیست اما همواره از مسدود شدن پورت بهتر می باشد.
انواع روش های پیاده سازی EtherChannel
پیاده سازی EtherChannel خیلی دشوار نیست اما در تنظیمات مطابق در هر دو سمت از اهمیت ویژه ای برخوردار است. سه روش جهت پیاده سازی EtherChannel وجود دارد.
- Manual: در این روش به صورت دستی وارد اینترفیس های مورد نظر می شویم و EtherChannel را روشن ( On ) می نماییم. اما در این روش چالشی بزرگ وجود دارد. ممکن است که تنظیمی را در یکی از سمت ها به درستی انجام نداده باشیم و یا یک فرد یکی از لینک ها را جدا و قصد اتصال دستگاهی به سوئیچ را داشته باشد، در اینجا ممکن است مشکل LOOP در شبکه به وجود آید و STP از وجود آن بی خبر خواهد بود چرا که به صورت دستی On شده است. همواره پیشنهاد می شود EtherChannel را به صورت دستی راه اندازی نکنیم و از یکی از پروتکل های LACP و یا PAgP که مکانیزم مذاکره ای دارند استفاده نماییم.
- PAgP: این پروتکل منحصرا در سیسکو مورد استفاده قرار گرفته. سیسکو ابداع کننده EtherChannel می باشد. PAgP از مکانیزم مذاکره ای استفاده می نماید و چنانچه دو طرف اتصال به درستی پیکربندی شده باشند به صورت اتوماتیک اتصال EtherChannel برقرار می گردد.
- LACP: کارایی این پروتکل همانند PAgP می باشد با این تفاوت که این پروتکل به صورت استاندارد در تمامی دستگاه ها و با هر برندی قابل پیاده سازی می باشد. این پروتکل را می توان بین سوئیچ های سیسکو با هر برند دیگری پیاده سازی نمود. حتی این امکان وجود دارد تا این پروتکل را بین سوئیچ و سرور ها نیز پیاده سازی نمود.
در EtherChannel باید مشخص کنیم که از چه Mode قصد داریم استفاده نماییم. در LACP می از ( Active/Passive )، در PAgP از ( Desirable/Auto ) و در حالت دستی از ( On ) استفاده می نماییم. هنگامی که از Active / Passive استفاده می کنیم سوئیچ به صورت هوشمند می داند که قصد استفاده از پروتکل استاندارد LACP را داریم و به همین شکل در PAgP به همین ترتیب می باشد. همچنین باید در هنگام پیاده سازی EtherChannel از Trunk بودن سوئیچ پورت ها اطمینان حاصل نماییم.
نکته بعدی که باید به آن توجه داشته باشیم این است که اگر قصد پیاده سازی LACP را داریم نمی توانیم دو سمت اتصال را در حالت Passive قرار دهیم چرا که EtherChannel نیاز دارد حداقل در یک سمت Active وجود داشته باشد تا مذاکره شکل بگیرد. همچنین پیشنهاد می شود در هر دو سمت از Active استفاده شود.
در PAgP نیز به همین شکل می باشد. نباید در PAgP هر دو سمت را Auto قرار دهیم و یک سمت حتما باید Desirable باشد و همچنین پیشنهاد می شود در هر دو سمت از Disable استفاده شود.
نکات کلیدی در پیاده سازی EtherChannel
- تمامی اینترفیس هایی که قرار است در EtherChannel مشارکت داشته باشند می بایست در یک Channel-group قرار داشته باشند.
- در هر دوسمت باید از یک نوع پروتکل ( LACP / PAgP ) پیکربندی شده باشند.
- هر اینترفیس که در Channel-group قرار می گیرند می بایست تنظیمات همسانی داشته باشند. تنظیمات مربوط به Speed، Duplex، Access/Trunk، VLAN، Native VLAN و STP می بایست در همه لینک هایی که در Channel-group قرار می گیرند یکسان باشند.
اگر هر کدام از موارد بالا به درستی رعایت نشود EtherChannel شکل نخواهد گرفت.
پیاده سازی Manual
روش پیاده سازی Manual یا دستی به صورت زیر می باشد.
Switch1(config)#interface range gigabitEthernet 0/0 – 1
Switch1(config-if-range)# channel-group 1 mode on
Switch2(config)#interface range gigabitEthernet 0/0 – 1
Switch2(config-if-range)# channel-group 1 mode on
دقت داشته باشید که در شماره ای که جهت گروه در نظر می گیریم می تواند در دو سوئیچ متفاوت باشد اما اگر در یک سوئیچ 2 گروه مجزا داریم نمی توان از شماره یکسان برای آن ها استفاده نمود. این قانون در پروتکل های LACP و PAgP نیز صدق می نماید.
جهت مشاهده جزئیات EtherChannel از دستور زیر استفاده می نماییم.
Switch1# show etherchannel summary
خروجی دستور فوق به صورت زیر نمایش داده می گردد. همانطور که مشاهده می فرمایید به دلیل اینکه EtherChannel به صورت دستی پیکر بندی شده در قسمت پروتکل هیچ مقداری وارد نشده است. در قسمت Port نیز پورت هایی که در EtherChannel مشارکت دارند نمایش داده می شود.
همواره پیشنهاد می شود بعد از پیکربندی EtherChannel اینترفیس های مربوطه را یک بار Shutdown و مجدد No shutdown نمایید. همچنین این نکته قابل ذکر است که پس انجام دستورات فوق یک اینترفیس منطقی با نام Port-channel 1 به سوئیچ اضافه خواهد گردید.
پیاده سازی LACP
روش پیاده سازی LACP به صورت زیر می باشد. همانطور که قبلا نیز اشاره نمودیم بهتر است در LACP در هر دوسمت از Active استفاده نماییم. این به ما کمک می کند تا در تنظیمات بعدی اشتباهات کمتری داشته باشیم. اما چنانچه تمایل داشته باشید می توانید از حالت Active/Passive نیز استفاده نمایید. هرگز از Passive/Passive استفاده نشود چرا که LACP شکل نخواهد گرفت. برای درک بهتر این فرایند دو قطب آهن ربا را تصور نمایید که دو قطب مشابه جذب یکدیگر نخواهند شد.
Switch1(config)#interface range gigabitEthernet 0/0 – 1
Switch1(config-if-range)# channel-group 1 mode active
Switch2(config)#interface range gigabitEthernet 0/0 – 1
Switch2(config-if-range)# channel-group 1 mode active
جهت مشاهده جزئیات EtherChannel از دستور زیر استفاده می نماییم.
Switch1# show etherchannel summary
خروجی دستور فوق به صورت زیر نمایش داده می گردد. همانطور که مشاهده می فرمایید این بار در قسمت پروتکل عبارت LACP وجود دارد.
پیاده سازی PAgP
روش پیاده سازی PAgP کاملا مشابه روش قبل است ولی این بار از Desirable استفاده خواهیم نمود.
Switch1(config)#interface range gigabitEthernet 0/0 – 1
Switch1(config-if-range)# channel-group 1 mode desirable
Switch2(config)#interface range gigabitEthernet 0/0 – 1
Switch2(config-if-range)# channel-group 1 mode desirable
جهت مشاهده جزئیات EtherChannel از دستور زیر استفاده می نماییم.
Switch1# show etherchannel summary
خروجی دستور فوق به صورت زیر نمایش داده می گردد. همانطور که مشاهده می فرمایید در قسمت پروتکل عبارت PAgP وجود دارد.
مکانیزم Load-Balance در EtherChannel
مکانیز Load-balancing در اکثر ورژن های IOS سیسکو در حالت پیش فرض بر اساس آدرس MAC مبدا می باشد ( Source Mac ). به این صورت که دستگاه بر اساس آدرس های MAC ارسال کننده تسهیم بار در شبکه را انجام می دهد برای مثال دستگاه اول یک ترافیک را ارسال می نماید از لینک اول عبور می کند و دستگاه دوم چنانچه ترافیکی ایجاد نماید این ترافیک از لینک دوم موجود در EtherChannel عبور می نماید. تفکیک این ترافیک ها بر اساس آدرس MAC مبدا خواهد بود. همانطور که گفته شد این مکانیزم خیلی بهینه نمی باشد چرا که ممکن است یک دستگاه با آدرس MAC مشخص ترافیک بیشتری را نسبت به دستگاه دیگر به شبکه ارسال نماید. هرچند امکان ایجاد تغییرات در این مکانیز نیز وجود دارد. برای مثال Load-balancing بر مبنای آدرس MAC مبدا و مقصد. این به شما بستگی دارد که قصد دارید از چه الگوریتمی جهت Load-balancing استفاده نمایید. جهت ایجاد تغییرات در مکانیزم Load-balancing می توانید از دستورات زیر استفاده نمایید. البته تنوع مکانیزم ها بسته به نوع IOS دستگاه ها متفاوت خواهند بود.
در اکثر مواقع استفاده از src-dest-mac که بر مبنای آدرس MAC مبدا و مقصد می باشد و src-dest-ip که بر مبنای آدرس IP مبدا و مقصد می باشد بهینه تر می باشد.
همچنین برای مشاهده نوع مکانیزم Load-balance مورد استفاده در سوئیچ از دستور زیر استفاده می گردد.
Switch1#show etherchannel load-balance