लिनक्स पर कम-बैंडविड्थ, उच्च-विलंबता नेटवर्क कनेक्शन का अनुकरण


19

मैं अपने लिनक्स मशीन पर एक उच्च-विलंबता, कम बैंडविड्थ नेटवर्क कनेक्शन का अनुकरण करना चाहता हूं।

बैंडविड्थ की चर्चा पहले की गई है, उदाहरण के लिए, यहाँ पर , लेकिन मुझे कोई भी पद नहीं मिला है जो बैंडविड्थ और विलंबता को सीमित करता हो।

मैं या तो उच्च विलंबता या कम बैंडविड्थ का उपयोग कर प्राप्त कर सकता हूं tc। लेकिन मैं इन्हें एक ही कनेक्शन में जोड़ नहीं पाया। विशेष रूप से, उदाहरण के दर नियंत्रण लिपि यहाँ मेरे लिए काम नहीं करता है:

# tc qdisc add dev lo root handle 1:0 netem delay 100ms 
# tc qdisc add dev lo parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
RTNETLINK answers: Operation not supported

मैं एक कम-बैंडविड्थ, उच्च-विलंबता कनेक्शन, tcकिसी अन्य आसानी से उपलब्ध टूल का उपयोग कैसे कर सकता हूं ?


1
क्या आपने अपने लिंक से दृष्टिकोणों के संयोजन की कोशिश की है, जैसे। बैंडविड्थ के लिए विलंबता और ट्रिकल के लिए टीसी का उपयोग करें? (यह सिर्फ टीसी का उपयोग करने की तुलना में बदसूरत है, लेकिन अभी भी काम कर सकता है;)
एंडी

यह एक अच्छा विचार है (और, वास्तव में, ट्रिकल भी विलंबता को जोड़ देगा), लेकिन दुर्भाग्य से फ़ायरफ़ॉक्स ट्रिकल के तहत लोड नहीं करता है, और यही मुझे परीक्षण करने की आवश्यकता है।
जस्टिन एल

जवाबों:


15

अहा! यह काम करता है अगर हम आज्ञाओं के क्रम को उलट दें।

tc qdisc add dev lo root handle 1: htb default 12 
tc class add dev lo parent 1:1 classid 1:12 htb rate 20kbps ceil 20kbps 
tc qdisc add dev lo parent 1:12 netem delay 1000ms 

https://lists.linux-foundation.org/pipermail/netem/2010-May/001388.html


कोई भी क्यों, के रूप में रुचि रखते हैं, ऐसा लगता है कि netem qdisc माता-पिता नहीं हो सकता है, इसलिए आपको इसे पत्ता नोड के रूप में रखने के लिए पदानुक्रम को पुनर्व्यवस्थित करना होगा।
एंडी

3
ध्यान दें कि बैंडविड्थ सीमा केवल एक दिशा में (आउटगोइंग) है। आपको इसे दोनों दिशाओं में (जाहिरा तौर पर ifb का उपयोग करके) बनाने के लिए अतिरिक्त काम करना होगा। linuxfoundation.org/collaborate/workgroups/networking/…
रोजर

जब यह करने की कोशिश कर रहा था tc ग्रॉस। मैंने जो पहली पंक्ति पढ़ी है उससे 1: 0 बनता है, लेकिन दूसरी पंक्ति 1: 1 को संदर्भित करती है? (शायद मेरी समझ जो गलत है - लेकिन मैंने बहुत सारे पृष्ठों पर यह समझने की कोशिश की है कि कक्षाएँ / qtdiscs कैसे गिने जाते हैं)
symbbean

1

यह मुफ़्त नहीं है, लेकिन चार्ल्स वेब डिबगिंग प्रॉक्सी कम बैंडविड्थ उच्च विलंबता कनेक्शन का अनुकरण कर सकता है

http://www.charlesproxy.com/documentation/proxying/throttling/


दिलचस्प रूप से पर्याप्त है, मैं वास्तव में वेब डिबगिंग के लिए ऐसा कर रहा हूं। लेकिन निश्चित रूप से पैसे खर्च किए बिना ऐसा करने का एक तरीका होना चाहिए। :)
जस्टिन एल।

अफसोस की बात है कि चार्ल्स स्थानीय यातायात के साथ काम नहीं करता है। जब मैं प्रॉक्सी के माध्यम से 192.168.1.1 तक पहुंचने की कोशिश करता हूं तो यह मर जाता है।
जस्टिन एल।

2
या सिर्फ WANEm का उपयोग करें, मुफ्त के लिए: wanem.sourceforge.net
नाथन किड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.