تجمیع لینک (Link Aggregation) بخش اول؛ سیسکو
تیر 24, 1403 1403-04-24 17:34تجمیع لینک (Link Aggregation) بخش اول؛ سیسکو
تجمیع لینک (Link Aggregation) بخش اول؛ سیسکو
مثل همیشه ابتدا به طرح مسئله میپردازم و نیازی که باعث شده این مطلب را بنویسم. فرض کنید میخواهید دو سوییچ را به هم متصل کنید. بهترین راهکار برای داشتن ارتباطی پر سرعت و پهنای باندی مناسب استفاده از فیبر نوری و اینترفیسهای SFP است. اما ممکن است به هر دلیلی مثل پشتیانی نکردن سوییچ از SFP یا درحال استفاده بودن آنها یا حتی سوختن آنها. یا حتی ممکن است که پهنای باند یک پورت SFP برای شما کافی نباشد و به پهنای باند بیشتری نیاز داشته باشید. اینجاست که ما تجمیع لینک نیاز پیدا میکنیم. به زبان ساده تجمیع لینک یا Link Aggregation عبارت است از یکپارچه کردن دو یا چند اینترفیس به منظور افزایش پهنای باند و پایداری ارتباط. یعنی ما بجای اینکه یک کابل از سوییچ اول به سوییچ دوم داشته باشیم دو یا بیشتر خواهیم داشت. (مانند تصویر زیر)

تجمیع لینک توسط هر شرکتی به یک نام شناخته میشود و ممکن است که پروتکل اختصاصی خود را نیز داشته باشند. برای مثال توسط سیسکو Etherchannel توسط مایکروسافت NIC Teaming و توسط میکروتیک Bonding نامیده میشود. در این مقاله به تجمیع لینک در سیسکو میپردازم و در مقالههای بعدی میکروتیک و مایکروسافت را مورد بررسی قرار خواهم داد.
تجمیع لینک در سیسکو
همانطور که پیشتر گفته شد برای بهرهمند شدن از پهنای باند بیشتر این امکان فراهم شده که از بیش از یک اتصال فیزیکی استفاده کنیم و یک اینترفیس منطقی ایجاد کنیم که به آن اینترفیس Port Channel میگوییم و پهنای باند آن اینترفیسهای فیزیکی را تجمیع کنیم اما برای تحقق این هدف باید شرایط آن را بدانیم و رعایت کنیم. این شرایط عبارتند از:
- هر اینترفیس Port Channel میتواند در صورت استفاده از پروتکل PAgP حداکثر شامل 8 و در صورت استفاده از پروتکل LACP حداکثر شامل 16 اینترفیس فیزیکی میتواند باشد که 8 اینترفیس همزمان فعال خواهند بود.
- همه اینترفیسهای فیزیکی که تشکیل اینترفیس Port Channel میدهند از یک نوع باشند.
- همه اینترفیسهای فیزیکی که تشکیل اینترفیس Port Channel میدهند باید Speed و Duplex یکسانی داشته باشند.
- تنظیمات اولین اینترفیسی که به اینترفیس Port Channel اضافه میشود به بقیه اینترفیسها نیز اعمال میشود. تنظیماتی که باید مورد بازبینی قرار دهید عبارتند از:
- Allowed-VLAN list
- هزینه مسیر SPT به ازای هر VLAN
- اولویت پورتهای STP برای هر VLAN
- تنظیمات Port Fast
- هر سوییچ میتواند حداکثر 6 اینترفیس Port Channel داشته باشد.
- هر اینترفیس فیزیکی باید تنها عضو یک EtherChannel باشد.
- EtherChannel را با هر دو پروتکل PAgP و LACP پیادهسازی نکنید.
- یک Secure Port را در EtherChannel شرکت ندهید.
- یک SPAN Port را در EtherChannel شرکت ندهید.
با در نظر گرفتن شرایط بالا اقدام ایجاد EtherChannel میکنیم. برای این منظور من سناریویی که در ابتدای مقاله مشاهده کردید در نظر میگیرم و شروع به انجام تنظیمات و ارائه توضیحات تکمیلی میکنم.

تنظیماتی که در هر دو سوییچ باید انجام شود یکسان است و تفاوت زیادی ندارد. ابتدا وارد خط فرمان سوییچ اول شوید و دستورت زیر را وارد کنید:
Switch1> enable
Switch1# configure terminal
Switch1(config)# interface range gi1/0/1-4
Switch1(config-if)# channel-group [1-6] mode [active | auto | desirable | passive | on]
ابتدا اینترفیسهای فیزیکی را به حالت انتخاب در میآوریم که من به کمک دستور range همه اینترفیسها را با هم انتخاب نمودهام اما امکان اینکه بر روی تک تک اینترفیسها جداگانه این دستورات اعمال شود وجود دارد. سپس باید از بین 1 تا 6 یک عدد به channel-group اختصاص دهید. حالتهای channel-group عبارتند از:
- Active: این حالت channel-group را در وضعیت مذاکره کننده برای پروتکل LACP قرار میدهد. اگر سمت مقابل هم active یا passive باشد LACP فعال میشود.
- Passive: این حالت LACP را فعال میکند به شرط اینکه در سمت مقابل حالت active انتخاب شده باشد چون حالت passive شروع کننده مذاکره نیست.
- Desirable: این حالت channel-group را در وضعیت مذاکره کننده برای پروتکل PAgP قرار میدهد. اگر سمت مقابل هم desirable یا auto باشد PAgP فعال میشود.
- Auto: این حالت PAgP را فعال میکند به شرط اینکه در سمت مقابل حالت desirable انتخاب شده باشد چون حالت auto شروع کننده مذاکره نیست.
- On: این حالت بصورت دستی EtherChannel را فعال میکند و باید دو سمت در همین حالت باشند.
PAgP پروتکل اختصاصی سیسکو است که میتوان بین دو دستگاه سیسکویی استفاده کرد و LACP استاندار IEEE 802.3ad و IEEE 802.1ax که بروز شده استاندارد قبلی است اما همچنان با همان نام قبلی شناخته میشود که میتوان بین یک دستگاه سیسکویی و غیر سیسکو استفاده کرد.
برای سوییچ دوم هم همین دستورات باید به کار گرفته شود و فقط باید حالت را متناسب با چیزی که در سمت مقابل تنظیم شده تنظیم کنید.
برای مشاهده EtherChannelها از دستور زیر استفاده میکنیم:
Switch1> enable
Switch1# 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
——–+——————+————+————————
1Po1(SU) – Gi1/0/1(P) Gi1/0/2(P) Gi1/0/3(P) Gi1/0/4(P)
همچنین پس از ایجاد EtherChannel باید تنظیمات را بر روی اینترفیس Port Channel اعمال کنید و از انجام تغییر بر رو اینترفیسهای شرکت کننده در EtherChannel بپرهیزید. برای انجام تغییر بر روی اینترفیس Port Channel با آن مثل یک اینترفیس فیزیکی برخورد کنید. برای مثال میخواهیم اینترفیسی که ایجاد کردهایم را Trunk کنیم:
Switch1> enable
Switch1# configure terminal
Switch1(config)# interface port-channel 1
Swith1(config-if)# switchport mode trunk
تقسیم بار یا Load Balancing
همانطور که در تعریف تجمیع لینک گفته شد، علاوه بر افزایش پهنای باند به پایداری شبکه هم منجر میشود. این امر به وسیله تقسیم ترافیک بین لینکهای فیزیکی انجام میشود و در صورت از دست رفتن هر کدام از لینکهای فیزیکی بار به دوش بقیه لینکها میافتد. حالا چطور این تقسیم بار صورت میگیرد؟ برای اینکه به جواب برسیم دستور زیر را وارد کنید تا نتیجه را با هم بررسی کنیم:
Switch1# show etherchannel load-balance
EtherChannel Load-Balancing Configuration:
src-mac
EtherChannel Load-Balancing Addresses Used Per-Protocol:
Non-IP: Source MAC address
IPv4: Source MAC address
IPv6: Source MAC address
همانطور که مشاهده میکنید تقسیم بار بر اساس آدرس MAC مبدا انجام میشود. اما این یعنی چه؟ و آیا امکان تغییر این روش تقسیم بار وجود دارد؟ جواب این سوالها را در قالب یک سناریو پاسخ خواهم داد. سناریوی زیر را در نظر بگیرید.

در این سناریو ما چهار کامپیوتر داریم که به سوییچ SW1 متصل شدهاند و از آنجا که الگوریتم Load Balance بر اساس آدرس MAC مبدا عمل میکند (به این معنی که همه بستههای یک MAC آدرس از یک مسیر ثابت عبور خواهد کرد) کامپیوترهای یکی در میان از لینک Gi0/1 و Gi0/2 استفاده خواهند کرد. پس سوال اول مشخص شد. حال به سمت دیگر سناریو برویم جایی که یک روتر به SW2 متصل شده است و از آنجایی که بصورت پیشفرض الگوریتم Load Balance در این سوییچ هم بر اساس آدرس MAC مبدا میباشد همیشه از یکی از لینکهای فیزیکی استفاده خواهد شد و دیگری همواره بدون استفاده خواهد بود اینجاست که نیاز به تغییر الگوریتم Load Balance احساس میشود. برای مثال اگر بر اساس آدرس MAC مقصد تقسیم بار صورت میگرفت این تقسیم عادلانهتر میبود. خوشبختانه این امکان برای ما فراهم است که بتوانیم این مورد را تغییر دهیم. برای این کار دستور زیر را وارد کنید:
Switch2> enable
Switch2# configure terminal
Switch2(config)# port-channel load-balance [dst-ip | dst-mac | src-dst-ip | src-dst-mac | src-ip | src-mac]
همانطور که میبینید روشهای تقسیم بار متفاوتی وجود دارد آنچه که ما برای این سناریو نیاز داریم dst-mac میباشد.
امیدوارم که از این آموزش بهره کافی را برده باشید. منتظر نظرات شما هستیم.