المحتويات

المقدمة

الخلفية

المتطلبات الأساسية

طوبولوجيا

التكوين

تدفق حركة المرور

استكشاف الأخطاء وإصلاحها

الحل

المقدمة

يشرح هذا المستند السيناريوهات التي يمكن أن يحدث من خلالها إستقطاب في موازنة حمل قناة المنفذ ويقدم اقتراحا حول كيفية منعها.

الخلفية

إستقطاب في حالة قيام خوارزمية التجزئة بتحديد مسارات معينة في الشبكة وترك المسارات المتكررة غير مستخدمة

المتطلبات الأساسية

يوصى بالمعرفة بالمواضيع التالية.

بروتوكول التحكم في تجميع الارتباطات

منصات Cisco Nexus

طوبولوجيا

التكوين

N7K1 و N7K2 المتصلين في VPC و Po100، Po200، Po300 و Po301 هم في VPC ميناء-channel.

يعمل كل من N7K1 و N7K2 كمحول L2 نقي دون حدوث توجيه على هذه المحولات.

تقوم جميع المحولات بتشغيل نفس خوارزمية موازنة الأحمال عبر قناة المنفذ

رأيت الاستقطاب إصدار على حركة مرور خارج N7K1 و N7K2 regardless of the حركة مرور من مصدر إلى الغاية كان في ال نفسه VLAN (ما من توجيه) أو إن هم كانوا في VLAN مختلف مع التحشد يقع على N7K3 أو N7k4.

تدفق حركة المرور

يرسل المصدر يتعدد تيار إلى الغاية (مع يتعدد مصدر وغاية عنوان، وال L4 ميناء معلومة أيضا يختلف من ربط إلى ربط). يتم إستخدام خليط جيد من حركة المرور لضمان أنه في الحالة المثالية، سيتم توزيع حركة المرور بالتساوي بين واجهات عضو القناة الميناء.

حركة المرور من أرض المصدر على N7k3/N7k4 ثم تنتقل عبر N7K1/N7K2 إلى الوجهة.

يقوم إرتباط واحد بين إرتباطات الأعضاء ل Po100 و Po200 على كل من N7K1 و N7K2 بإرسال ما يقرب من 99٪ من حركة المرور ويبقى الارتباط الآخر في وضع الخمول. ( ie، على كل محول N7K1 و N7K2، يحمل إرتباط واحد من بين 4/2 و 4/3 حركة مرور للبث الأحادي بنسبة 99٪ بينما يحمل الارتباط الآخر أقل من 1٪، وبالمثل يحمل إرتباط واحد من بين 9/2 و 9/3 حركة مرور بنسبة 99٪ بينما يحمل الارتباط الآخر أقل من 1٪. يظهر الإخراج في قسم أستكشاف الأخطاء وإصلاحها حركة مرور البيانات على واجهات أعضاء Po100 و Po200 على N7K1، ويمكن رؤية خرج مماثل على N7K2).

وبغض النظر عن نوع خوارزمية موازنة التحميل عبر قناة المنفذ المستخدمة، يمكن رؤية الإصدار طالما يتم إستخدام خوارزمية موازنة حمل قناة المنفذ نفسها على زوج N7K1/N7K2 و N7K3/N7K4. يتم توفير الأمر للتحقق من خوارزمية موازنة حمل قناة المنفذ أدناه.

N7K1# show port-channel load-balance

Warning: Per Packet Load balance configuration has higher precedence

System config:

Non-IP: src-dst mac

IP: src-dst ip-l4port-vlan rotate 0

Port Channel Load-Balancing Configuration for all modules:

Module 1:

Non-IP: src-dst mac

IP: src-dst ip rotate 0

Module 2:

Non-IP: src-dst mac

IP: src-dst ip rotate 0

Module 3:

Non-IP: src-dst mac

IP: src-dst ip rotate 0

Module 4:

Non-IP: src-dst mac

IP: src-dst ip-l4port-vlan rotate 0

Module 7:

Non-IP: src-dst mac

IP: src-dst ip-l4port-vlan rotate 0

Module 8:

Non-IP: src-dst mac

IP: src-dst ip-l4port-vlan rotate 0

Module 9:

Non-IP: src-dst mac

IP: src-dst ip-l4port-vlan rotate 0

استكشاف الأخطاء وإصلاحها

إن رأيت توازن حمل غير متساو على قناة أيسر، هو يستطيع كنت بسبب إستقطاب.

عندما تصل حركة المرور إلى محولات N7K3 و N7K4، فإنها تتم إعادة توجيهها إلى محولات N7K1/N7K2 عبر Po301 من N7K4 و Po300 من N7K3. هنا، تقوم خوارزمية موازنة الأحمال بتنشيط بعض التدفقات ويتم إعادة توجيهها إلى N7K1 والتدفقات الأخرى التي تمت إعادة توجيهها إلى N7K2.

في البداية، تتم جميع حركات المرور في المحولات N7K3/N7K4 على ETH1/1 واستنادا إلى معلومات منفذ Src-dest IP و L4، ويتم تجميع تدفقات معينة على الارتباط الذي ينتقل إلى N7K1 وتدفقات أخرى مجمعة على الارتباط الذي ينتقل إلى N7K2. يتم التجزئة استنادا إلى قيمة RBH التي يتم حسابها بواسطة المحول. لتحقيق البساطة، دعنا نفترض أنه استنادا إلى خوارزمية موازنة الأحمال المستخدمة، يفصل المحول حركة المرور الواردة في دفعتين (التدفق X والتدفق Y). يتم إرسال Flow X من إرتباط عضو في قناة منفذ واحد وتدفق Y يتم إرسالهما من إرتباط عضو قناة المنفذ الآخر.

الآن، عندما تكون حركة المرور في حالة هبوط على زوج N7K1/N7K2، يمكن أن يكون هناك احتمالان. (إعتبار X و Y قابلين للتبديل)

الحالة 1:

أرسل N7K3 التدفق X إلى N7K1 وتدفق Y إلى N7K2

و

N7K4 يرسل التدفق Y إلى N7K1 وتدفق X إلى N7K2

القضية 2:

أرسل N7K3 التدفق X إلى N7K1 وتدفق Y إلى N7K2

و

N7K4 يرسل التدفق X إلى N7K1 وتدفق Y إلى N7K2

في الحالة 1، N7K1 و N7K2 يستلم كلا نوع التدفقات (flow X و flow Y) وحتى بعد إستخدام نفس خوارزمية موازنة الأحمال في قناة المنفذ كتلك المستخدمة من قبل N7K3/N7K4، لا يرى أي إستقطاب بما أن التدفقات تخرج من Po100 و Po200 على روابط مختلفة وبالتالي، نرى توزيع حركة مرور أفضل بين واجهات عضو قناة الميناء.

في الحالة 2، يستلم N7K1 فقط flow X و N7K2 يستلم فقط تدفق Y وهذا يمكن أن يخلق إستقطاب إن ال port-channel تحميل-balancing خوارزمية يستعمل على هذا مفتاح ال نفس ال يستعمل في N7K3/N7K4 زوج. بما أن N7K1 و N7K2 يستخدمان نفس خوارزمية موازنة الأحمال في قناة المنفذ، فإن N7K1 يرسل التدفق X على إرتباط عضو واحد فقط من Po100/Po200 ولن يقوم إرتباط العضو الآخر بإعادة توجيه أي حركة مرور. وبالمثل، يرسل N7K2 التدفق Y على إرتباط عضو واحد فقط من Po100/Po200 ولن يقوم إرتباط العضو الآخر بإعادة توجيه أي حركة مرور.

بما أن حركة المرور التي يستقبل المحولات N7K1 و N7K2 مصنفة بالفعل للبدء بها، سيتم إستخدام إرتباط عضو واحد فقط في قناة المنفذ لإرسال جميع حركة المرور الواردة خارج المحول N7K1/N7K2 ولن يتم إرسال أي شيء من إرتباط العضو الآخر. في حال تجاوز معدل حركة المرور الواردة النطاق الترددي للارتباط أحادي القناة، يمكن إسقاط حركة المرور الإضافية لأن الارتباط الآخر لعضو قناة المنفذ لن يقوم بإعادة توجيه حركة المرور هذه.

مشكلة مماثلة يستطيع كنت رأيت عندما استعملت أكثر من إثنان خطوة في القناة أيسر. على سبيل المثال، إذا استعملت أربعة روابط في قناة ميناء، بعد ذلك بناء على التجزئة يحدث، إما أنه لن يحدث أي إستقطاب أو أننا سنرى استقطابا جزئيا حيث إثنين فقط من الروابط الأربعة لأعضاء قناة الميناء سيتم إستخدامهما لإعادة توجيه حركة المرور الواردة والروابط الأخرى لن تقوم بإعادة أي شيء

الاستقطاب بسبب التصميم، وبالتالي من المهم تحليل التصميم لضمان عدم حدوث أي إستقطاب. يتم أدناه عرض الناتج الذي يشير إلى حدوث إستقطاب على Po100 و Po200 على N7k1 (يمكن رؤية ناتج مماثل على N7K2 أيضا).

N7K1# show port-channel summary | i 200

200   Po200(SU)   Eth      LACP      Eth9/2(P)    Eth9/3(P)

N7K1# show port-channel traffic interface port-channel 200

NOTE: Clear the port-channel member counters to get accurate statistics

ChanId      Port Rx-Ucst Tx-Ucst Rx-Mcst Tx-Mcst Rx-Bcst Tx-Bcst

------ --------- ------- ------- ------- ------- ------- -------

200    Eth9/2    0.0%  99.99%  44.44%   4.00%    0.0% 100.00%

200    Eth9/3    0.0%   0.00%  55.55%  96.00%    0.0%    0.0%

N7K1# show port-channel summary | i 100

100   Po100(SU)   Eth      LACP      Eth4/2(P)    Eth4/3(P)

N7K1# show port-channel traffic interface port-channel 100

NOTE: Clear the port-channel member counters to get accurate statistics

ChanId      Port Rx-Ucst Tx-Ucst Rx-Mcst Tx-Mcst Rx-Bcst Tx-Bcst

------ --------- ------- ------- ------- ------- ------- -------

100    Eth4/2    0.0%  99.99%  40.55%   7.00%    0.0% 100.00%

100    Eth4/3    0.0%   0.00%  54.44%  93.00%    0.0%    0.0%

CSCvq26885 تم إيداعه للحصول على وثائق خارجية.

الحل

اتباع بعض الحلول التي يمكن إستخدامها للتأكد من عدم حدوث الاستقطاب.

1. التصميم الصحيح: حيث أن السبب الرئيسي للاستقطاب هو التصميم غير الصحيح، فمن الأفضل التأكد من تغيير تصميم الشبكة للتأكد من عدم وجود مساحة للاستقطاب في المخطط

إذا لم يكن من الممكن إجراء أي تغييرات على التصميم، يمكننا القيام بما يلي.

2. أستخدم خوارزميات موازنة الأحمال عبر قنوات المنفذ المختلفة على كل مستوى من مستويات المحولات (خوارزمية واحدة على زوج N7K1/N7k2 وخوارزمية مختلفة على زوج N7K3//N7K4). عندما يتم تغيير خوارزمية موازنة الأحمال، تقوم المحولات N7k1/N7k2 الآن بتقسيم حركة المرور الواردة استنادا إلى بعض المعلومات الأخرى مقارنة بتلك التي تستخدمها محولات N7k3/N7k4 وبالتالي حركة المرور الصادرة باستخدام جميع روابط أعضاء قناة المنفذ. (يعتمد القرار على أي خوارزمية تريد إختيارها على نوع حركة مرور البيانات التي يتم استقبالها بواسطة المحول)

3. إذا كان العميل يريد إستخدام نفس خوارزمية موازنة الأحمال، فاستخدم قيم تدوير مختلفة على كل مستوى من المحولات. يقوم أمر التدوير بتقديم العشوائية في خوارزمية التجزئة من خلال تعويض إدخال التجزئة عن طريق وحدات البايت التي قام المستخدم بتكوينها، كما يساعد على تجنب الاستقطاب. (أستخدم قيمة تدوير واحدة لزوج N7k1/N7k2 وقيمة تدوير مختلفة لزوج N7k3/N7k4)