عرض مشاركة واحدة
قديم 12-21-2010, 10:52 PM   #1
احمد علي ( ابو مصطفى )
:: سيسكو نشيط ::
 
تاريخ التسجيل: Aug 2010
المشاركات: 201
شكراً: 35
تم شكره 44 مرة في 11 مشاركة
احمد علي ( ابو مصطفى ) will become famous soon enough
افتراضي ال Etherchannel بالمختصر المفيد


ما هو ال etherchannel ؟

ال etherchannel هو مصطلح خاص بسيسكو للتقنية التي تسمح بجمع ما يصل الى ثمانية Physical Ethernet في Logical link واحد, في اول ظهور ال etherchannel كانت تسمى Fastethernet etherchannel (FEC) حيث كانت تطبق على ال Fastethernet فقط اما الان فاصبحت ال etherchannel تطبق على ال fastethernet وال Gigabit Ethernet وال 10 Gigabit Ethernet.

بعد الزيادة في التطبيقات التي تحتاج الى سرعة عالية مثل تطبيقات الفيديو وال Audio وتطبيقات الويب الضخمة , مما يستدعي زيادة ال Bandwidth بصورة مستمرة مما يستدعي ترقية مستمرة لجهاز ال Switch وهو امر مكلف لذا سعت شركة سيسكو للوصول الى تقنية توفر الزيادة في ال Bandwidth وبصورة رخيصة فجاءت بتقنية ال etherchannel التي تسمح بجمع ما يصل الى ثمانية Physical Links في Logical Link واحد يتمتع بسرعة ال Physical Links مجتمعة.

لنقل على سبيل المثال انك تمتلك اربع خطوط Fastethernet سرعة الواحد 100 Mbps بين Two Switches عندما تجمعها في Logical Link واحد تصبح سرعته 400 Mbps.

هذه ليست الفائدة الوحيدة لل etherchannel فهناك العديد من الفوائد لها
:

* اولا: في حالة تفعيل ال Spanning Tree Protocol فانه سوف يضع اي Link ثاني بي Two Switches في حالة Blocking لكي يمنع ال Switching Loops سواء كان الامر Two Links او ثلاثة او اربعة او ثمانية, وبالتالي فانت تخسر Path شغال وانت في امس الحاجة له (سوف نتكلم عن اثر ال etherchannel على ال STP في موضوع قادم بأذن الله).
* ثانيا: ال etherchannel يقوم بعمل Load Balancing لل traffic بين ال Physical Links ضمنه بحيث يوفر توزيع متساوي (نسبيا) بينهم مما يمكنك من استثمار ال Physical Links بافضل طريقة ممكنة.
* ثالثا: يوفر ال redundancy اي انه في تعطل احد ال Physical Links فأن ال Frames التي كانت تسلكه يتم تحويلها الى Link اخر في اجزاء الثانية, وهذا مما يساعدنا ايضا على تجاوز ال 50 ثانية التي تستغرقها ال STP لل Convergence .
* رابعا: يمكن استخدام هذه التقنية بين Switch و Switch وبين Switch و Router وبين Switch و Server اذا كان السيرفر يدعم ال EtherChannel.

كيف تقوم ال etherchannel بعملية توزيع ال Traffic أو ال Load Balancing بين Physical Links :

يقوم ال etherchannel بعميلة توزيع لل Frames القادمة اليه على حسب المصدر الذي جاءت منه أو على حسب الوجهة المتجهة لها, ال Source MAC Address القادمة منه ال Frames هو التصرف الافتراضي (حيث يمكن الاعتماد على غير ال Source MAC address كما سنرى لاحقا) بما يسمى بعملية Load Balancing وتعتمد عملية ال Load Balance هذه على ال Hashing algorithm وهي algorithm خاصة بشركة Cisco اي انها Cisco Proprietary.





آ
لية عمل ال Hashing algorithm:
تقوم ال hashing algorithm بعملية حسابية تجريها على ال Source MAC address تنتج منها قيم ما بين ال 0 – 7 وتعطي كل physical link قيمة او اكثر بالاعتماد على عدد ال physical link .


ومن الجدير بالذكر ان هذه العملية تتكرر في كل مرة يتم فيها ارسال Frame من ال Switch لتنتج منها قيمة ما بين (0-7) بدون الاعتماد على عدد ال physical links (اي لو كان لدينا 2 او 3 او 4 links فان القيم تبقى ما بين 0-7 ) اما توزيع القيم فيختلف بحسب عدد ال physical links كما مبين في الجدول ادناه :


Etherchannel بالمختصر المفيد


من الجدول اعلاه في حال كان لدينا ثمانية خطوط فان يتم اعطاء كل Link قيمة, أما اذا كان لدينا ستة خطوط يتم اعطاء خطين منهما قيمتين ويتم اعطاء الاربعة الباقية قيمة واحدة لكل منهم, مما يعني ان خطين منهم سوف يتحملون Traffic ضعف ما يتحمله الاربعة الاخرون, لذا في حال الرغبة في الحصول على توزيع متساوي (نظريا حيث ان التوزيع المتساوي تمام هو امر نسبي) فأننا نستخدم etherchannel متكونة من 8 أو 4 أو 2 كما مبين اعلاه.

Etherchannel بالمختصر المفيد


ولكي نفهم اكثر دعنا نأخذ المثال اعلاه, ال hashing algorithm في ال Switch A تعتمد على destination MAC address وليس ال source MAC address كما هو التصرف الافتراضي, عندما يتم ارسال ال Frame يتم اجراء ال hashing algorithm على ال destination MAC address الخاص بها ومن خلال القيمة التي تنتج لنقل انها كانت رقم 6 يتم ارسالها الى ال Link الذي اعطي القيمة 6 وكل Frame متجهة الى نفس ال destination MAC Address فأنها وحسب العملية الحسابية يتم ارسالها الى ال Link رقم 6 مما يعني امران :

* كل ال Frames متجهة الى نفس ال destination سوف يتم ارسالها من خلال Link واحد فقط ولن تسلك غيره مما يضمن وصولها الى ال Destination بنفس ترتيبها الذي خرجت به من المصدر Source.
* في حال وجود طلب كبير للوصول ال Destination معين فأن هذا يعني ان يتم استخدام Link معين اكثر من البقية مما يعني عدم استثمار البقية.

في مثالنا اعلاه اختيار توزيع ال Frames على اساس ال destination MAC address يكون منطقي في حال كون الطلب متساوي على السيرفرات اي الوجهة لكن هذا الامر قليل الحدوث في الحياة الواقعية حيث انه غالبا ما يحدث ان يكون هناك طلب على احدها اكثر من البقية (مثال ذلك سيرفر الايميل) وبالتالي فأن التوزيع على اساس ال destination هو امر غير منطقي حيث ان الجميع لديهم destination واحد وبالتالي فأن الجميع سوف يسلك الطريق ذات مما يضع الضغط على احد ال physical links اكثر من غيره, لكن لو غيرنا هذ التصرف لكي يتم توزيع ال Frames على اساس ال source MAC address يكون هذا اكثر منطقي حيث ان ال Frames تتشابه في وجهتها لكن تختلف في مصادرها وبالتالي نضمن توزيعها بصورة افضل على ال physical links.
الموضوع الأصلى من هنا: منتديات سيسكو التعليمية | كن بين الخبراء ! http://www.ciscovb.com/vb/t2309.html#post16096


مما يجدر ذكره ان عملية ال hashing تطبق على ال Frames المرسلة من ال Switch وليس المستلمة, كما ان عملية ال hashing تطبق على ال Switch بالكامل أو Module بالكامل اي انك اذا اخترت ان يتم التوزيع على اساس ال Source MAC Address فانه ينطبق على جميع المستخدمين المرتبطين بال Switch كما هو الحال مع ال Switch A , أما ال Switch B الذي يربط ال Servers فأنه قد يختلف حسب الحالة وفي حالتنا هذه فأن ال Switch B يقوم بتوزيع ال Frames على اساس ال Destination MAC Address وهذا منطقي حيث ان ال Source MAC Address هو ذاته في كل مرة (وهو ال Source MAC Address لل Server).


كما لاحظنا في مثالنا اعلاه انه تم تغيير التصرف الافتراضي للاعتماد على destination MAC address, عملية تغيير التصرف الافتراضي تعتمد على الحالة المطبقة عليها يمكننا اخذ قيم اخرى لكي تقوم ال hashing algorithm بتطبيق العملية الحسابية عليها هذا القيم قد تكون :

Destination MAC Address

Source MAC Address

Source and Destination MAC Address

Destination IP Address

Source IP Address

Source and Destination IP Address

Destination TCP/UDP Port Number

Source TCP/UDP Port Numbe
r

Source and Destination TCP/UDP Port Number


اعداد ال etherchannel :

الان جئنا الى عملية اعداد ال etherchannel , قبل ان تقوم بعملية الاعداد تذكر انك لا يجب ان تقوم بذلك اثناء وقت العمل Production Time حيث انها سوف تضع ال Physical Links في حالة Down ثم تعود الى الحالة Up, الان لكي تعد ال etherchannel هناك طريقتان :

* الطريقة اليدوية Manual Bundling.
* الطريقة الاوتماتيكية Automatic Bundling.

الطريقة الاولى ال Manual تتضمن اختيار ال Physical Link التي تريد ان تجمعها وجعلها ضمن etherchannel واحدة يدويا :

Switch(config)#interface port-channel 1

بهذا الامر اعلاه تم تكوين etherchannel واعطائها الرقم 1, بعد ذلك نقوم باختيار ال Physical Link وضمها الى ال etherchannel .

Switch(config)#interface range fastethernet 0/ 17 – 20

Switch(config-if-range)#channel-group 1 mode on

الان قمنا باستخدام الامر Interface range لتطبيق الاعدادات على ال Fastethernet 17,18,18,20 كلها مرة واحدة(للمزيد عن الامر Interface Range اضغط هنا ) , بعد ذلك قمنا بضمها الى ال etherchannel رقم واحد من خلال الايعاز channel-group ثم قمنا باختيار ان تطبق ال etherchannel يدويا من خلال الايعاز Mode on وهكذا اصبح لدينا اربع خطوط Fastethernet مجتمعة في etherchannel واحدة اسمها etherchannel 1 .


الطريقة الثانية ال Automatic تعتمد هذه الطريقة على البروتوكولات لكي تقوم بتكوين ال etherchannel بصورة تلقائية في حال توفر الاعدادات المناسبة.

البروتوكولات هي PAgP وهو برتوكول خاص ب Cisco و ال LACP وهو بروتوكول قياسي Industry Standard من قبل IEEE , لا يوجد فرق في العمل بين ال Two Protocols سوى ان ال LACP يعمل مع اجهزة السيسكو وغيرها, كما يجدر الانتباه هنا انه يجب ان يعمل نفس البرتوكول على طرفي ال etherchannel اي لا يمكن ان يكون طرف PAgP والاخر LACP.


ال Modes التي يمكن ان يكون عليها كلا ال Protocols ال PAgP وال LACP هي كالتالي:

· Desirable لل PAgP ويقابله Active لل LACP هذا النوع يكون فعال اي انه يقوم بارسال اشارة الى الطرف المقابل يخبره انه يريد ان ينشأ EtherChannel.

· Auto لل PAgP ويقابله Passive لل LACP هذا النوع غير فعال اي انه ينتظر الطرف الاخر لكي يطلب منه ان يقوموا بأنشاء EtherChannel.







الجدول التالي يبين مختلف ال Modes التي ممكن ان يكون عليها الطرفان وماذا ينشأ عنها وقد اخذ ال PAgP على سبيل المثال لكنه ينطبق على ال LACP ايضا.

Etherchannel بالمختصر المفيد

نلاحظ من الجدول اعلاه ان ال Mode On لا يعمل الا اذا كان الطرفين On وفي غير ذلك يعطي رسالة الخطأ Errdisable , وفي حالة كان الطرفين Auto فان لا يحدث etherchannel لان كليهما ينتظر الطرف الاخر ان يطلب تكوين ال etherchannel وهذا لن يحدث لان Auto Mode غير فعال, اما ال Desirable فأنه اذا كان كلا الطرفين Desirable أو احدهما Desirable والاخر Auto فان يتم انشاء EtherChannel.

Switch(config)#interface range Fastethernet 0/17 – 20

Switch(config-if-range)#channel-protocol pagp
أو

Switch(config-if-range)#channel-protocol lacp

اعلاه قمنا باختيار نوع البروتوكول الذي نريد تطبيقه اما PAgp أو LACP, بعد ذلك نختار ال etherchannel التي نريد الانضمام اليها ونختار طريقة ال Negotiation أو ال Mode


Switch(config-if-range)#channel-group 1 mode ?

active Enable LACP unconditionally

auto Enable PAgP only if a PAgP device is detected

desirable Enable PAgP unconditionally

on Enable etherchannel only

passive Enable LACP only if a LACP device is detected

هذه هي الخيارات المتوفرة والتي تقدم شرحها سابقا.


في كلا الحالتين ال Manual وال Automatic في حال عدم تكون ال etherchannel فأنك يجب أن تتأكد من التالي :

* قم بعمل Shutdown لل Interfaces ثم قم بعمل no shutdown لكي تعيدها الى حالة ال Up.

* يجب ان تعمل كل ال Ports على نفس السرعة وال Duplex mode.

* لن تتكون ال etherchannel اذا كان احد ال Ports هو وجهة لل SPAN.

* يجب ان تكون جميع ال Ports ضمن نفس ال VLAN او تكون جميعها Trunk واذا اكنت Trunk يجب ان تعمل على نفس ال Trunk Encapsulation .

* يجب ان تسمح جميع ال Ports الى نفس المدى ال Range of VLANs اذا كان هناك اختلاف لا تتكون ال EtherChannel.

* اذا كانت هذه ال etherchannel هي L3 etherchannel فأنه يجب ان يتم وضع ال IP address على ال Port-Channel اي على ال Logical Link وليس على ال Physical Links.

ما تحدثنا عنه سابقا كان L2 etherchannel أما اذا رغبت في تحويلها الى L3 etherchannel فأنك تستخدم الايعاز (No Switch Port) هذا الايعاز يستخدم لتحويل اي Port من L2 الى L3 اي انك يمكن ان تحدد له IP address, كما هو مبين ادناه:

Switch(config)#interface port-channel 1

Switch(config-if)#no switchport

Switch(config-if)#ip address 192.168.30.1 255.255.255.0

Switch(config-if)#interface range Fa0/19 - 20

Switch(config-if)# channel-group 1

Switch(config-if)#no switchport


الان في حال رغبتك ان تغير التصرف الافتراضي لل hashing algorithm التي تعتمد ال Source MAC address الى اي من الخيارات التي تكلمنا عنها سابقا تقوم بالتالي:


أولا نتأكد من الطريقة التي تستخدمها ال etherchannel حاليا من خلال هذا الامر

Switch#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


نلاحظ انه التصرف الافتراضي اي بالاعتماد على ال src-mac نستطيع القيام بهذا من خلال الايعاز التالي :


Switch(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


اخيرا سوف نتحدث عن الاوامر التي نستخدمها من اجل التأكد من عملنا, من خلال الاوامر التالية:
Switch#show etherchannel

Switch#show etherchannel port-channel

Switch#show etherchannel summary


كلها تعرض لنا معلومات عن ال etherchannel لكي نتأكد من اعداداتنا.


المعلومات في المقالة اعلاه هي من كتاب Network Warrior تجد هنا.


وللمزيد من التفاصيل اضغط هنا و هنا





hg Etherchannel fhglojwv hgltd] etherchannel


التعديل الأخير تم بواسطة احمد علي ( ابو مصطفى ) ; 12-21-2010 الساعة 11:04 PM
احمد علي ( ابو مصطفى ) غير متواجد حالياً   رد مع اقتباس
4 أعضاء قالوا شكراً لـ احمد علي ( ابو مصطفى ) على المشاركة المفيدة:
مبرمج المستحيل (12-21-2010), captain3azoz (12-23-2010), CONF T (12-22-2010), سيسكو 1 (12-25-2010)
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36