मैं उच्च विलंबता लिंक पर OpenVPN विश्वसनीयता कैसे सुधार सकता हूं?


11

हम बीजीएएन उपग्रह लिंक पर एक ओपन वीपीएन वीपीएन चला रहे हैं जहां पिंग समय लगभग 3 सेकंड है। हम इसे एक ट्यून कॉन्फ़िगरेशन में उपयोग करते हैं , और हम लिनक्स (CentOS) पर चल रहे हैं। यह मुख्य रूप से ईमेल है जिसे लिंक पर भेजा जाएगा, लेकिन जैसे ही मेल में बड़े अटैचमेंट होते हैं, वीपीएन स्टाल लगता है।

"मैं सुरंग के माध्यम से पिंग कर सकते हैं, लेकिन किसी भी असली काम बंद करने के लिए यह कारण बनता है। यह एक MTU समस्या है?" OpenVPN FAQ में प्रश्न मेरी समस्या का सटीक वर्णन करता प्रतीत होता है, लेकिन स्थिति को सुधारने के लिए उपयोग करना mssfixऔर fragmentअभी भी बहुत कुछ नहीं लगता है।

मेरा मुख्य परीक्षण वीपीएन पर एक 2 एमबी फ़ाइल को स्कैप के साथ कॉपी करना है । यह लगभग 192kbytes की नकल करेगा, और फिर एक - स्टाल्ड - स्टेट की रिपोर्ट करेगा । अगर मैं कुछ सेकंड प्रतीक्षा करूँ तो यह फिर से कॉपी करना शुरू कर देगा, और फिर एक और जोड़ी के बाद फिर से स्टाल।

यह स्टालिंग होता है कि मैंने अपने OpenVPN कॉन्फ़िगरेशन में fragmentया mssfixविकल्प सेट किए हैं या नहीं (हालांकि सेटिंग fragment 1000स्टालिंग को कम करने के लिए लगती है, लेकिन इसे समाप्त नहीं करती है)। OpenVPN mtu-testने 1542 को MTU आकार की सूचना दी।

मैं उपयोग करने के लिए कैसे और कब के अधिक सुझावों के इंटरनेट खोज की है mssfixऔर fragment, लेकिन मैं केवल पृष्ठों पूछे जाने वाले प्रश्न के रूप में ही कह रही है, और कैसे और कब उपयोग करने के लिए जो पैरामीटर के रूप में जानकारी देने नहीं मिल रहा।

मेरे सवाल तब है:

  • मैं का उपयोग करते हैं करते हैं mssfixऔर fragment?
  • क्या मैं उपयोग करता हूं mssfixऔर fragmentसंयोजन में?
  • यदि mssfixऔर fragmentसमाधान हैं tun-mtu, तो link-mtuऔर mtu-discपैरामीटर क्या हैं ?

इसके अलावा, मैं बैंडविड्थ को मापने के लिए उपकरण iperf का उपयोग कर रहा हूं । वीपीएन के बिना, यह लगातार 210Kbits / sec के क्रम में मापता है।

वीपीएन ( ) पर iperf का उपयोग करते समय$ iperf -c remoteserver -t60 -i5 , यह 10Kbits / sec पर शुरू होता है, फिर तेजी से ऊपर जाता है जब तक कि यह 1.2Mbits / sec की रिपोर्ट नहीं करता है, और तब यह स्टाल लगेगा, जहां यह 0kbits / sec को कई पुनरावृत्तियों के लिए रिपोर्ट करता है (I लगता है कि 1.2Mbits / sec कुछ OpenVPN बफरिंग या इसी तरह से हो सकता है)

है iperf सबसे अच्छा तरीका है बैंडविड्थ को मापने के लिए?

इस स्थिति के साथ किसी भी मदद की बहुत सराहना की जाएगी।


क्या इस समय Openvpn TCP या UDP का उपयोग कर रहा है?
pjc50

यह वर्तमान
iWerner

सभी उत्तर के लिए धन्यवाद, लेकिन मुझे अस्थायी रूप से रोकना पड़ा है क्योंकि बीजीएएन इकाई एयरटाइम से बाहर चली गई थी। मैं आज बाद में cointinue की उम्मीद कर रहा हूं। मुझे उल्लेख करना चाहिए कि हम यूडीपी के साथ रहना पसंद करेंगे, क्योंकि टीसीपी का उपयोग नेटवर्क पर भेजे गए डेटा को दोगुना करेगा (और इसलिए लागत, जिसके लिए हमारा ग्राहक पहले से ही बहुत संवेदनशील है)
iWerner

जवाबों:


5

MT42 के रूप में 1542? WAN लिंक के लिए ऐसा कभी नहीं सुना गया है। आमतौर पर, एमटीयू अधिकतम पेलोड है, आईपी पैकेट आकार आईपी (20 बाइट्स) और आईसीएमपी (8 बाइट्स) के लिए हैडर है। इसका मतलब है कि पारंपरिक ईथरनेट LAN के लिए MTU = 1500। इसके अलावा, अधिकांश वीपीएन उनके पैकेट एनकैप्सुलेशन के लिए एक ओवरहेड पेश करते हैं। एक विशिष्ट वीपीएन एमटीयू 1400 है।

आधुनिक नेटवर्कों में, यह निष्कर्ष निकालना मुश्किल है कि एमटीयू किसी भी समय क्या होगा, क्योंकि प्रवेश और निकास मार्ग अलग-अलग हो सकते हैं, और वे स्वचालित पथ पुन: मार्ग के कारण भी बदल सकते हैं। इस तरह के नेटवर्क के लिए, अपने होस्ट पर MTU कम सेट करना अधिक प्रभावी हो सकता है जो वीपीएन लिंक के दोनों ओर हैं, जैसे कि 576।

MSS (अधिकतम खंड आकार) MTU माइनस IP + TCP हेडर (40 बाइट्स) है। यह आमतौर पर नेटवर्क स्टैक द्वारा बातचीत की जाती है, और आमतौर पर MTU के समान बातचीत के मुद्दे नहीं होते हैं, जब तक कि MTU गलत नहीं होता है। (MTU बातचीत आमतौर पर अवरुद्ध ICMP या ब्लैक होल राउटर द्वारा बिगड़ा है)।

पहली चीज जो मैं करूंगा, वह आपके भेजने के अंत में एक नेटवर्क पैकेट कैप्चर करेगा, और फ़्रेम साइज़ द्वारा डिस्प्ले को सॉर्ट करना होगा (आपको यह कॉलम Wireshark में जोड़ना पड़ सकता है)। आपको सत्यापित करना चाहिए कि आप किसी भी फ़्रेम को ओवरसाइज़ नहीं भेज रहे हैं, आप उनसे क्या उम्मीद करेंगे। अगर बड़े सेंड ऑफलोड या जंबो फ्रेम्स जैसे विकल्प सक्षम हैं तो आधुनिक नेटवर्क कार्ड के लिए ओवरसाइज़ फ्रेम भेजना असामान्य नहीं है। जब मैंने इन विकल्पों को सक्षम किया है, तो मैंने 30,000+ बाइट फ़्रेम देखे हैं।


कुछ भी बदलने से पहले पैकेट कैप्चर के लिए +1। यहां तक ​​कि अगर आपको कोई विशाल फ्रेम नहीं मिलता है, तो आप कहीं भी 'सामान्य' पैकेट को खंडित देख सकते हैं।
जेवियर

1
डिफ़ॉल्ट रूप से OpenVPN ट्यून डिवाइस के MTU को 1500 पर सेट करता है (जो इन मशीनों पर ईथरनेट उपकरणों पर MTU के समान है)। मुझे अब भी यकीन नहीं है कि वीपीएन पैकेटों का विखंडन एक अच्छी चीज है या बुरी चीज है। इस सूत्र में दिए गए उत्तर से प्रतीत होता है कि यह बुरा है, जबकि वेब पर मुझे मिले अन्य संदर्भों का अर्थ है कि यह अच्छा है।
iWerner

2
@ वर्नर: क्या आपने पिंग के साथ एमटू के आकार को निर्धारित करने की कोशिश की है? यदि ICMP कहीं पर अक्षम नहीं है, तो आप विंडोज़ पर निम्न का उपयोग कर सकते हैं: पिंग -f -l 1372 <गंतव्य आईपी>। सफल होने तक संख्या कम करते रहें। Linux पर, ping -s 1372 -M do <गंतव्य ip>। FYI करें, OpenVPN अकसर किये गए सवाल mssfix 1200 का उपयोग करने की सिफारिश करता है, लेकिन यह मूल कारण को संबोधित नहीं करता है। टुकड़े करने के लिए वीपीएन समाधानों का उपयोग करना हमेशा एक प्रदर्शन हिट की क्षमता रखता है। यदि आपके पास एक बड़ा वीपीएन सेटअप है, तो आप केंद्रीय सांद्रता के अंत में विखंडन का उपयोग नहीं कर पाएंगे, केवल दूरस्थ कार्यालय अंत।
ग्रेग आस्क्यू

2

जिज्ञासा से बाहर, क्या आपने नेटवर्क इंटरफ़ेस के एमटीयू को कम करने की कोशिश की है? शायद उपग्रह लिंक बुरी तरह से विखंडन को पेंच करता है। काउंटर-सहज ज्ञान युक्त नोट के रूप में, आप एक बदलाव के लिए TCP पर Openvpn की कोशिश करना चाह सकते हैं। मुझे पता है कि इसे प्रदर्शन को कम करना चाहिए, लेकिन यदि आपके पास विखंडन पर कोई नियंत्रण नहीं है तो यह आपकी सहायता कर सकता है।


मैं इसके विपरीत सुझाव देने जा रहा था :) - यह उच्च विलंबता मामला वह है जहां टीसीपी-इन-टीसीपी समस्याएं दिखाई देती हैं और यूडीपी इससे बचता है।
pjc50

मैं मान रहा था कि वह ओपनवीपीएन के लिए डिफ़ॉल्ट यूडीपी पोर्ट का उपयोग कर रहा था, और इस तरह इसके विपरीत का सुझाव दिया .. हाँ, आम तौर पर मैं आपसे सहमत होता हूं। लेकिन हे, हम सभी जानते हैं कि sysadmin परीक्षण और त्रुटि है, और आम तौर पर 'कोशिश-कर-के-विपरीत-देखने-अगर-यह काम करता है :) :)
lorenzog

धन्यवाद। हम इस समय यूडीपी का उपयोग कर रहे हैं, और कोशिश कर रहे हैं टीसीपी मेरे लिए कभी नहीं हुआ। (यदि मैं और अधिक प्रतिनिधि था मैं तुम्हें upvoted होगा)
iWerner

@ आईवर्नर: धन्यवाद :), एमटीयू को उत्तरोत्तर इफ़ेक्ट पर कम करने की कोशिश करें, और देखें कि यह कब बंद होता है (यदि ऐसा होता है)।
लॉरेंजॉग

2

जब आप टीसीपी का उपयोग करते हैं, तो टीसीपी की खिड़की का आकार बढ़ाएं; यह "हवा में पैकेट की संख्या" के साथ मदद करेगा।

मुझे इस सामान के साथ खेलने के लिए कुछ समय हो गया है, लेकिन यहां मेरे लिए एक लिंक Google मिला है।

मैं के बाद अपने प्रश्न मैं देख रहा हूँ आप BGAN चला रहे हैं फिर से पढ़ें - मैं अच्छी तरह से देखने होगा इस (या बस के लिए गूगल: "BGAN स्पूफिंग")।

बैंडविड्थ माप के रूप में, मैंने पाया है कि जब तक आप उचित पैकेट आकारों का उपयोग कर रहे हैं, तब तक iperf काफी सभ्य हो जाता है।


यह दिलचस्प है - इसमें उल्लेख किया गया है कि रेडहैट के लिए टीसीपी एक्सीलरेटर उपलब्ध है, जबकि इनमारसैट लोगों से हमने यह कहा था कि यह केवल विंडोज़ और ओएस एक्स के लिए उपलब्ध था (और यह वास्तव में इनमारसैट /
बीजीएएन

उनके पास अब यह नहीं हो सकता है; मैं देख रहा हूँ कि दस्तावेज़ की तारीख 07 है। यदि आप पर्याप्त धक्का देते हैं और पर्याप्त लोगों से बात करते हैं; आप किसी को इसकी पुरानी प्रति के साथ मिल सकते हैं। आमतौर पर जब आप फोन करते हैं तो आपको टियर वन सपोर्ट मिलता है। मैं अपने कुछ संपर्कों की कोशिश करूँगा लेकिन कोई गारंटी नहीं।
एडी

मुझे हमारे उपग्रह प्रदाता से भागना पड़ा; किसी को यह जानना मुश्किल है कि वे किस बारे में बात कर रहे हैं। मैं कोशिश कर रहा हूँ, इस बीच में यहाँ कुछ करने की कोशिश कर रहा हूँ: sourceforge.net/projects/pepsal परियोजना विवरण से यह इनमारसैट सॉफ़्टवेयर बहुत कुछ कर रहा है: पीपल एक एकीकृत, बहु-परत, पारदर्शी टीसीपी है प्रदर्शन बढ़ाने वाला प्रॉक्सी जो कनेक्शन को दो भागों में विभाजित करता है, डेटा भेजते समय लिनक्स टीसीपी संवर्द्धन का उपयोग करता है, और विभिन्न विशेषताओं के साथ लिंक में प्रदर्शन को बेहतर बनाता है
एड़ी

2

मुझे लगता है कि आप गलत पेड़ पर भौंक रहे होंगे। किसी भी समय मेरे पास गलत एमटीयू मुद्दे हैं, ट्रैफिक 192KB से पहले बंद हो गया। मुझे लगता है कि यह "फ्लाइट पैकेट्स" विंडो में कुछ से संबंधित है, या तो टीसीपी विंडो, या शायद सैटेलाइट में कुछ बफ़र हैं।

निश्चित रूप से कुछ लंबे पैकेट कैप्चर करते हैं (दोनों 'वीपीएन के अंदर और बाहर') और देखें कि क्या आपको सभी ACK'एस' मिल रहे हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.