2009-10-10 18 views
5

मैं लिनक्स के तहत नेटवर्क इंटरफ़ेस को नियंत्रित/पूछताछ के बारे में कहां से सीख सकता हूं? मैं विशिष्ट एप्लिकेशन अपलोड/डाउनलोड गति प्राप्त करना चाहता हूं, और एक विशिष्ट अनुप्रयोग के लिए गति सीमा लागू करना चाहता हूं।लिनक्स के तहत यातायात आकार

मुझे विशेष रूप से ऐसी जानकारी पसंद है जो मुझे पाइथन का उपयोग करके यातायात आकार देने वाले एप्लिकेशन को लिखने में मदद कर सकती है।

उत्तर

6

आप iproute2 सूट चाहते हैं, जिसमें आप tc कमांड का उपयोग करते हैं। टीसी आदेशों देखो की तरह

tc class add dev eth2 parent 1: classid 1:1 htb rate 100Mbit ceil 100Mbit quantum 1600 

यहाँ an existing Python traffic-shaping application iproute2 का उपयोग करता है है।

+0

उल्लेख करने के लिए - हालांकि, अगर आप चारों ओर देखने, आप चीजों को इस तरह के रूप Click! modular router, XORP, और दूसरों है कि एक ड्रॉप में बातों के लिए प्रदान करते हैं आप क्या करना चाहते प्राप्त कर सकते हैं पायथन पॉइंटर्स के लिए +1। – whatnick

6

लिनक्स कर्नेल टूल का उपयोग करके प्रति एप्लिकेशन वास्तव में काफी कठिन आकार है, जब तक कि एप्लिकेशन विशिष्ट आईपी पते और/या बंदरगाहों का उपयोग नहीं कर लेता है।

मान लीजिए कि यह मामला है तो आपको iptables और विशेष रूप से fwmarks पर पढ़ने की आवश्यकता होगी। आपको tc पर भी पढ़ने की आवश्यकता होगी। संयोजन में उन दो औजार आप जो चाहते हैं वह कर सकते हैं। Linux Advanced Routing & Traffic Control शुरू करने के लिए एक अच्छी जगह है।

अपने आवेदन को मानते हुए बंदरगाहों/आईपी पते के अनुमानित सेट का उपयोग नहीं करते हैं तो आपको Trickle जैसे उपयोगकर्ता स्पेस का उपयोग करने की आवश्यकता होगी। यह एप्लिकेशन और कर्नेल के बीच स्वयं को सम्मिलित करता है और उस एप्लिकेशन के लिए यातायात को उपयोगकर्ता स्पेस में आकार देता है।

मुझे नहीं लगता कि इनमें से किसी भी उपकरण के लिए कोई प्रत्यक्ष पायथन बाइंडिंग है, लेकिन पाइथन का उपयोग करके उन्हें स्क्रिप्ट करना और सीधे निष्पादन योग्य को कॉल करना आसान होगा।

+1

iptables स्थानीय रूप से जेनरेट किए गए यातायात के लिए uid/gid पर मेल खा सकते हैं। यह विशिष्ट अनुप्रयोगों पर काम करने का एक सुविधाजनक तरीका बनाता है, बशर्ते आपके पास तैनाती पर्यावरण के उपयोगकर्ता/समूह सेटअप पर कुछ नियंत्रण हो। –

0

क्या कोई कारण है कि आप अजगर का उपयोग करना चाहते हैं? जैसा कि बताया गया है, यह संभवतः इस उद्देश्य के लिए पहले ही विकसित उपकरणों तक पहुंच जाएगा। नहीं सभी सुझावों को पहले से ही प्रदान की (iptables और tc जैसे)

+0

यह रखरखाव के लिए हो सकता है। एक अजगर की दुकान में अन्य उपयोगकर्ताओं को पाइथन रैपर होने पर अधिक तेज़ी से उत्पादक मिल जाएगा। – Dave

संबंधित मुद्दे