3.6 कर्नेल से पहले लिनक्स कर्नेल IPv4 मल्टीपाथ रूटिंग करने के लिए रूट कैशिंग का उपयोग करता था, जिसका मतलब था कि दो अलग-अलग लाइनों / ISP के बीच रूटिंग काफी आसान थी। 3.6 से एल्गोरिथ्म प्रति पैकेट में बदल गया, जिसका अर्थ है कि दो लाइनों / ISP को प्राप्त करने के लिए कुछ रूट टेबल / नियम / iptables मार्कर ट्रिक्स आवश्यक थे।
हालाँकि, यदि आपके पास एक ही ISP के साथ दो पंक्तियाँ थीं, जो संतुलित / असफल फैशन में प्रति-पैकेट आधार पर दोनों पंक्तियों में एक एकल IP को रूट कर सकती हैं, तो 3.6 की वजह से आप आसानी से (IP स्तर पर) लाइन बॉन्डिंग प्राप्त कर सकते हैं। दोनों दिशाओं में प्रति-पैकेट रूटिंग।
4.4 से, कर्नेल फिर से स्रोत और गंतव्य पते पर हैश के आधार पर प्रवाह-आधारित लोड संतुलन में बदल गया ।
मैं वर्तमान में कर्नेल 4.4.36 चला रहा हूं, और पीपीपीओई कनेक्शनों पर मल्टीपाथ रूटिंग का उपयोग कर रहा हूं। ISP से मेरा डाउनस्ट्रीम ट्रैफ़िक दो अलग-अलग लाइनों पर प्रति-पैकेट आधार पर (एक IP दोनों लाइनों के नीचे रूट किया गया) रूट किया गया है। यह मुझे एक व्यक्तिगत लाइन की गति की तुलना में तेजी से डाउनलोड गति देता है। लगभग दोनों लाइनों की गति को एक साथ जोड़ा गया। यह वास्तव में अच्छी तरह से काम करता है, स्काइप वीडियो, वीओआईपी (यूडीपी), यूट्यूब आदि सभी महान काम करते हैं।
ऐसा अच्छा डाउनस्ट्रीम अनुभव होने के कारण मैं इसे अपस्ट्रीम करने की कोशिश करना चाहता हूं, लेकिन मेरे अपस्ट्रीम ट्रैफ़िक को दोनों पीपीपी डिवाइस (जिसमें एक ही आईपी एड्रेस है) में नए प्रवाह-आधारित एल्गोरिथ्म के अनुसार रूट किया गया है। इसका मतलब यह है कि मैं एक अपलोड गति प्राप्त नहीं कर सकता जो एक पंक्ति की गति से तेज है।
क्या प्रति-पैकेट एल्गोरिथ्म का उपयोग करने के लिए वर्तमान कर्नेल को कॉन्फ़िगर करने का एक तरीका है? या प्रति पैकेट मल्टीथ रूटिंग को प्राप्त करने के लिए कोई अन्य विधि? क्या मुझे एक पुराने कर्नेल (जो मैं अन्य विभिन्न कारणों से नहीं करना चाहता) को वापस करने की आवश्यकता होगी?
मेरा आईएसपी मल्टी-लिंक पीपीपी का समर्थन नहीं करता है।
यदि यह प्रासंगिक है, तो मैं वर्तमान में एक रास्पबेरी पाई 3 पर आर्क लिनक्स ARMv7 चला रहा हूं।