एक VTEP तक ECMP: VXLAN एंट्रॉपी कहाँ से आती है
दूरस्थ VTEP के पास समान लागत के कई अगले हॉप हो सकते हैं, पर /32 उन्हें उपयोगी नहीं बनाता। वितरण बाहरी टपल और स्रोत-पोर्ट हैश पर निर्भर करता है।
होस्ट रूट के लिए समान-लागत मल्टीपाथ बेकार है—यह दावा इतनी बार दोहराया जाता है कि सही लगने लगता है। /32 एक गंतव्य पता चुनता है, और उस चयन में कुछ भी पैकेट को एक भौतिक लिंक तक सीमित नहीं करता। जब गंतव्य दूरस्थ VXLAN टनल एंडपॉइंट हो, तो कई अगले हॉप अलग-अलग ओवरले फ़्लो ले जा सकते हैं, और वे ऐसा करते हैं या नहीं, यह इस पर निर्भर करता है कि फ़ॉरवर्डिंग हैश को क्या देखने की अनुमति है। बाकी बाहरी हेडर पर अंकगणित है, प्रीफ़िक्स का गुण नहीं।
रूट पहुँच तय करता है; हैश वितरण तय करता है।
मिथक: /32 का अर्थ एक ही पथ
OSPF किसी VTEP लूपबैक तक समान-लागत पहुँच की सूचना दे सकता है, जबकि फ़ॉरवर्डिंग तालिका उसी प्रीफ़िक्स के लिए अगले हॉप का समूह स्थापित करती है। प्रोटोकॉल उम्मीदवार देता है; प्लेटफ़ॉर्म तय करता है कि उनमें से कौन उपयोगी हैं और पैकेट कैसे सौंपा जाए। कोई रूटिंग प्रोटोकॉल हर एनकैप्सुलेटेड फ़्रेम के लिए नया हैश नहीं गणना करता। यही अलगाव कारण है कि समान रूट रखने वाले दो राउटर ट्रैफ़िक अलग तरह से बाँट सकते हैं।
केवल रूट डिस्प्ले नहीं, स्थापित फ़ॉरवर्डिंग प्रविष्टि देखें, क्योंकि हार्डवेयर या नीति सीमाएँ ऐसे उम्मीदवार छोड़ सकती हैं जिन्हें कंट्रोल प्लेन अभी भी घोषित करता है।
एंट्रॉपी कहाँ से आनी चाहिए
दो VTEP के बीच बाहरी स्रोत और गंतव्य पते स्थिर रहते हैं, और परंपरागत परिन्यास में UDP गंतव्य पोर्ट 4789 है। केवल वे मान पढ़ने वाला हैश स्थिर इनपुट देखता है और स्थिर पथ लौटाता है। बाहरी हेडर में कुछ बदलना चाहिए, और VTEP ही वह उपकरण है जो उसे बदल सकता है।
RFC 7348 एनकैप्सुलेटेड फ़्रेम के भीतर के फ़ील्ड से UDP स्रोत पोर्ट निकालने का सुझाव देता है। तब अलग-अलग आंतरिक बातचीत अलग-अलग बाहरी टपल बनाती हैं, जिससे साधारण ट्रांसपोर्ट हैश को काम करने के लिए कुछ मिलता है।
यदि फ़ॉरवर्डिंग हार्डवेयर पैकेट में और गहराई तक देख सकता है, तो जाँचें कि उसका हैश कार्यान्वयन किन आंतरिक फ़ील्ड का समर्थन करता है। इस गहराई को हर अंडरले उपकरण के लिए आवश्यकता नहीं मानना चाहिए, क्योंकि केवल स्रोत-पोर्ट विविधता ही पहले से उपयोगी अंतर उजागर करती है।
जो हैश वास्तव में मिलता है उसे जाँचें
मानने के बजाय मापें। एनकैप्सुलेटेड ट्रैफ़िक का नमूना लें और बाहरी स्रोत पोर्ट देखें, फिर परिणाम की तुलना फ़ॉरवर्डिंग प्रविष्टियों और प्रति-लिंक काउंटरों से करें।
show ip route 10.255.0.5/32 show ip cef 10.255.0.5 internal ip route show 10.255.0.5 tcpdump -ni eth0 -c 200 'udp port 4789' -vv
एक ही स्रोत पोर्ट कई अलग-अलग आंतरिक बातचीत में दिखे तो इसका अर्थ है कि VTEP उस फ़ील्ड को नहीं बदल रहा, और अंडरले का कोई भी ट्यूनिंग भार नहीं बाँटेगा। एक अगला हॉप उपयोग में होने पर कई भिन्न पोर्ट इसके बजाय फ़ॉरवर्डिंग समूह की ओर संकेत करते हैं।
नमूने से पहले और बाद के काउंटर दर्ज करें, और उन असंबंधित ट्रैफ़िक को नोट करें जो अपलिंक साझा करते हैं, वरना आँकड़े हैश के योग्य से बुरे दिखेंगे।
समान वितरण का अर्थ क्या नहीं है
प्रति-फ़्लो हैश एक बातचीत को एक पथ पर रखने के लिए बनाया गया है, जब तक उसके इनपुट और उपलब्ध पथ-समुच्चय अपरिवर्तित रहें। इसलिए एक बड़ा TCP स्थानांतरण हर अपलिंक को एक साथ नहीं जोड़ता, और लिंक जोड़ने से वह फ़्लो तेज़ नहीं होगा। यह सामान्य व्यवहार है, खराबी नहीं।
कई फ़्लो भी संयोग से उसी अगले हॉप पर टकरा सकते हैं। छोटा नमूना बहुत तिरछा दिख सकता है जबकि हैश ठीक वही कर रहा हो जिसके लिए उसे कॉन्फ़िगर किया गया था, और लिंक विफलता या पथ-समुच्चय में बदलाव स्थापित फ़्लो को स्थानांतरण के बीच में खिसका सकता है।
स्वीकृत योजना के अंतर्गत प्रतिनिधि पता-युग्म, ट्रांसपोर्ट और दरों के साथ परीक्षण करें, और लिंक-एग्रीगेशन सदस्य चयन को रूटेड मल्टीपाथ चयन से अलग रखें, क्योंकि दो हैशिंग चरण अपना स्वयं का पैटर्न बनाते हैं। भरा हुआ अगला-हॉप समूह और दृश्य बाहरी एंट्रॉपी परिणाम समझाते हैं; प्रीफ़िक्स की लंबाई नहीं।