मैं कम बैंडविड्थ, उच्च विलंबता वातावरण का अनुकरण कैसे करूं?


201

मुझे दूरस्थ साइट पर वीपीएन की शर्तों का अनुकरण करने के लिए एक सर्वर पर कम बैंडविड्थ, उच्च विलंबता कनेक्शन का अनुकरण करने की आवश्यकता है। बैंडविड्थ और विलंबता को घुमाया जाना चाहिए ताकि मैं हमारे सॉफ्टवेयर पैकेज को चलाने के लिए सबसे अच्छे संयोजन की खोज कर सकूं।


7
बड़ा अच्छा सवाल! मुझे ASP.NET वेब विकास से संबंधित कुछ उत्तर सुनना अच्छा लगेगा।
कार्ल

जवाबों:


79

के लिए MacOS , वहाँ है नेटवर्क लिंक कंडीशनर कि विन्यास बैंडविड्थ, विलंबता, और पैकेट क्षति simulates। यह Xcode पैकेज के लिए अतिरिक्त टूल में निहित है । Screenshot


12
"नेटवर्क लिंक कंडीशनर" वरीयता फलक XCode के लिए हार्डवेयर IO टूल्स का हिस्सा है, जिसे आप डेवलपर.
apple.com/downloads

Genymotion के साथ काम करने के लिए प्रतीत नहीं होता है। (ब्लैक स्क्रीन)
ब्रूनो

1
नए XCode संस्करणों के लिए लिंक डाउनलोड करें: developer.apple.com/download/more/?q=Additional%20Tools
jstorm31

@ jstorm31 धन्यवाद। मैंने उत्तर को पैकेज के वर्तमान नाम और वर्तमान लिंक से अपडेट किया है।
जॉन कॉल्वर्सन '’

37

ऐसा करने के लिए एक FreeBSD मशीन स्थापित करने का एक उत्कृष्ट राइटअप है - अपने मानक पुराने डेस्कटॉप को लें, एक अतिरिक्त एनआईसी में टॉस करें, और निर्माण करें।

राइटअप http://www.freebsd.org/doc/en/articles/filtering-bridges/article.html पर उपलब्ध है ।

उपरोक्त निर्देशों के चरण 5 में, आप फ़ायरवॉल को सक्षम कर रहे हैं। एक अलग आईपी कनेक्शन का अनुकरण करने के लिए, आप (उदाहरण के लिए) निम्नलिखित कार्य कर सकते हैं:

एक फ़ाइल बनाएँ /etc/rc.firewall.56kजिसमें निम्नलिखित शामिल हैं:

ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in    
ipfw pipe 1 config bw 56Kbit/s   
ipfw pipe 2 config bw 56Kbit/s

और बदलें /etc/rc.conf... लाइन को बदलें

firewall_type="open"

साथ में

firewall_type="/etc/rc.firewall.56k"

रिबूट, और आप अपने आप को एक 56K पुल मिला है!

यदि आप Macintosh से काम कर रहे हैं, तो उस OS ने डिफ़ॉल्ट रूप से इसमें ipfw बनाया है। मैंने हवाई अड्डे पर और ईथरनेट के माध्यम से नेटवर्क ट्रैफ़िक को रूट करके एक ही काम किया है, इसे स्थापित कर रहा हूं ताकि हवाई अड्डे पर आने वाली किसी भी चीज़ की समान विशेषताएं हैं जैसे मैं जो भी अनुकरण करने की कोशिश कर रहा हूं। आप टर्मिनल से सीधे ipfw कमांड को लागू कर सकते हैं और समान प्रभाव प्राप्त कर सकते हैं।


27

अतीत में, मैंने लिनक्स नेटम (नेटवर्क एमुलेशन) कार्यक्षमता का उपयोग करके एक पुल का उपयोग किया है। यह अत्यधिक विन्यास योग्य है - देरी की शुरूआत (पहला उदाहरण एक वान के लिए), पैकेट हानि, भ्रष्टाचार आदि की अनुमति देता है।

संपादित करें: सेटिंग्स को नियंत्रित करने के लिए मास्टरशेपर वेब इंटरफ़ेस भी है ।

मैं यह ध्यान नहीं दे रहा हूं कि मेरे अनुप्रयोगों के लिए नेटम ने बहुत अच्छा काम किया, लेकिन मैंने कई बार WANem का उपयोग भी किया । प्रदान किए गए बूट करने योग्य आईएसओ (और आभासी उपकरण चित्र) ने इसे काफी आसान बना दिया।


मेरी जरूरतों के लिए बिल्कुल सही, और मेरे Ubuntu 14.04 सर्वर पर बॉक्स से बाहर उपलब्ध!
रॉब डेम

21

चार्ल्स

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

मैक पर चार्ल्स

बैंडविड्थ गला घोंटना / बैंडविड्थ सिम्युलेटर

आपके इंटरनेट कनेक्शन की बैंडविड्थ और विलंबता को समायोजित करने के लिए चार्ल्स का उपयोग किया जा सकता है। यह आपके हाई-स्पीड कनेक्शन का उपयोग करके मॉडेम की स्थितियों का अनुकरण करने में सक्षम बनाता है।

बैंडविड्थ को प्रति सेकंड किसी भी मनमाने बाइट्स के लिए थ्रॉटल किया जा सकता है। यह किसी भी कनेक्शन की गति को सक्षम बनाता है।

विलंबता को किसी भी मनमाने ढंग से मिलीसेकंड पर सेट किया जा सकता है। विलंबता विलंब धीमी कनेक्शन पर अनुभव की गई विलंबता का अनुकरण करता है, जो कि एक अनुरोध बनाने और दूसरे छोर पर प्राप्त होने वाले अनुरोध के बीच देरी है।

DummyNet

आप बीएसडी या लिनक्स चलाने के लिए vmware का उपयोग भी कर सकते हैं और इस लेख (डमीनेट) या इस एक को आज़मा सकते हैं


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

6
हाय ब्रैड। क्या आप बता सकते हैं कि आपको किस तरह की समस्याएँ थीं?
खाना

17

मुझे विंडोज के लिए अनाड़ी कहा जाने वाला यह छोटा सा प्रोग्राम मिला । यह अल्फा स्थिति की तरह है, लेकिन यह मेरे लिए ठीक काम करता है, और यह खुला स्रोत है।

संपादित करें: दूसरों ने देखा है कि आप अनाड़ी के साथ बैंडविड्थ को सीमित नहीं कर सकते हैं, और यह सच है। आप केवल लेटेंसी और कुछ अन्य नेटवर्क संबंधी त्रुटियों को जोड़ सकते हैं। यह इस प्रश्न के एक वैध उत्तर के रूप में इस उत्तर को अयोग्य घोषित करेगा, हालाँकि जब मैं इसके लिए अच्छा उपयोग करता था जब मैं एक खराब नेटवर्क का अनुकरण करना चाहता था, तो मैं इसे यहाँ छोड़ दूँगा जब तक कि इसमें 0 वोट या समान हैं।


आप अनाड़ी के साथ बैंडविड्थ को कैसे नियंत्रित करते हैं?
user3731622

3
बहुत बढ़िया कार्यक्रम। मुझे जिस चीज की जरूरत थी। मेरा यही सुझाव है। एक आकर्षण और इसके सुपर आसान की तरह काम करता है।
Jh62

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

13

वानम की कोशिश करो

WANem एक वाइड एरिया नेटवर्क एमुलेटर है, जिसका अर्थ है एक वाइड एरिया नेटवर्क / इंटरनेट का वास्तविक अनुभव प्रदान करना, एक लैन वातावरण में अनुप्रयोग विकास / परीक्षण के दौरान।


1
मैंने यह कोशिश की है और काम करने के लिए इसे प्राप्त नहीं कर सकता। इसे किसी कारण से हमारे नेटवर्क से IP पता नहीं मिलेगा जबकि किसी अन्य कंप्यूटर के पास इसके साथ कोई समस्या नहीं है।
माइकल बेक

12

विंडोज के लिए आप इस एप्लिकेशन का उपयोग कर सकते हैं: http://www.softperfect.com/products/connectionemulator/

विंडोज 2000, XP, 2003, विस्टा, सेवन और 2008 के लिए वान कनेक्शन एमुलेटर।

शायद केवल एक ही विंडोज के लिए उपलब्ध है।


7

मैं linux पर netem का उपयोग करने की कोशिश करूंगा । इसके साथ आप अतिरिक्त विलंब, भ्रष्टाचार, पैकेट हानि और दोहराव का अनुकरण कर सकते हैं। यहां तक ​​कि यह लूपबैक डिवाइस पर भी काम करता है।


अरे क्या आपके पास netem के रूप में विंडोज़ के लिए कुछ समतुल्य कमांड है?
शशि रंजन

6

एक और क्लाइंट-साइड प्रोग्राम (केवल विंडोज), नेटलिमर है - http://www.netlimiter.com


2
Netlimiter अच्छा है, लेकिन मुझे लगता है कि यह केवल कम बैंडविड्थ करता है - यह विलंबता को बदल नहीं सकता है?
नाथन

V3 एक नियोजित विशेषता के रूप में सूचीबद्ध विलंबता सिमुलेशन के लिए योजना बनाता है। यह हाल ही में जारी किया गया था और मैं इसे इस्तेमाल नहीं किया है अभी तक अगर उस सुविधा में इसे बनाया है देखने के लिए।
kaliatech

उस फीचर ने इसे बीटा वर्जन 9. यूजी में नहीं बनाया।
cacba

4
यहां तक ​​कि वर्तमान बीटा (NetLimiter 4) आपको विलंबता को बदलने की अनुमति नहीं देता है।
प्रभावशाली

5

मैं अपने विंडोज मशीन पर NetBalancer का उपयोग करता हूं।

http://seriousbit.com/netbalancer/

2017-10-07 पर अपडेट : नेटबालक का अंतिम मुफ्त संस्करण 9.2.7 है। कार्यक्रम की हार्ड-कोडित समाप्ति तिथि है। इससे पहले कि आप NetBalancer सेवा शुरू करें, आपको 2016-10-18 से पहले सिस्टम क्लॉक को वापस करना होगा। देखें इस लेख जानकारी के लिए।


धन्यवाद!! NetBalancer इस पृष्ठ पर सूचीबद्ध एकमात्र उपकरण है जिसे मैं काम पर लाने में सक्षम था और जो विलंबता को नियंत्रित कर सकता है।
प्रभावशाली

4

फ़िडलर (मुफ्त समाधान) का उपयोग करके विंडोज के लिए यह पाया गया


2
फ़िडलर के पास एक विकल्प है: Rules -> Performance -> Simulate Modem Speedsयदि आप एक अलग प्लगइन का उपयोग नहीं करना चाहते हैं।
डेविड डी सी ई फ्रीटास

4

मुझे लगता है कि tcयह यूनिक्स आधारित प्लेटफॉर्म पर काम कर सकता है।

tcलिनक्स कर्नेल में ट्रैफिक कंट्रोल को कॉन्फ़िगर करने के लिए प्रयोग किया जाता है
http://lartc.org/manpages/tc.txt


3

वेब साइटों के परीक्षण के लिए कम बैंडविड्थ कनेक्शन का अनुकरण करने के लिए Google Chrome का उपयोग करें, आप F12 टूल्स में नेटवर्क टैब पर जा सकते हैं और अनुकरण करने के लिए कस्टम बैंडविड्थ का अनुकरण या निर्माण करने के लिए बैंडविड्थ स्तर का चयन कर सकते हैं।


1
धन्यवाद! यदि आप इसे नहीं पा सकते हैं, तो यह क्रोम कंसोल, नेटवर्क टैब में, "कैश अक्षम करें" बटन के दाईं ओर है। यह डिफ़ॉल्ट मान "नो थ्रॉटलिंग" है।
एलन विलम्स



1

Http://www.shunra.com से एक उत्पाद है जिसे वीई डेस्कटॉप कहा जाता है जिसका उपयोग विभिन्न नेटवर्क स्थितियों को अनुकरण करने के लिए किया जा सकता है। यह आपको एक साधारण यूआई के साथ विलंबता, बैंडविड्थ और पैकेटलेट को ट्विक करने की अनुमति देता है। केवल चेतावनी है, इसकी स्वतंत्र नहीं है। उम्मीद है की यह मदद करेगा।


1

मैं थोड़ी देर के लिए इस प्रकार के परीक्षण के लिए एक आसान उपकरण का उपयोग करना चाहता हूं। मैं दूसरे दिन ही इस पार आया: नेटवर्क देरी सिम्युलेटर

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



1

NE-ONE नेटवर्क एमुलेटर पर एक नज़र डालें जो आपको बैंडविड्थ, विलंबता, पैकेट हानि, पैकेट पुन: निर्धारण, पैकेट दोहराव, पैकेट विखंडन, नेटवर्क भीड़ और कई और अधिक हानि को कॉन्फ़िगर करने की अनुमति देता है ताकि आप प्रयोगशाला में वास्तविक-विश्व नेटवर्क की स्थिति बना सकें । अप और डाउनलिंक के लिए विभिन्न हानि को कॉन्फ़िगर किया जा सकता है ताकि आपके पास वास्तव में अच्छा अपलिंक हो लेकिन वास्तव में खराब डाउनलिंक का अनुभव हो, यह देखने के लिए शानदार है कि ऐप्पल कैसे कतार को संभालती है क्योंकि एएके समय पर वापस नहीं आते हैं और समग्र विलंबता इसलिए बढ़ता है!

विशेष रूप से गेम डेवलपर्स के उद्देश्य से http://www.youtube.com/watch?v=DwtqlE7LcrQ यहाँ एक सिंहावलोकन वीडियो है , लेकिन यह दिखाता है कि यह किस बारे में है। NE-ONE को वेब ब्राउज़र का उपयोग करके कॉन्फ़िगर किया गया है, इसलिए इसे स्थापित करना और कॉन्फ़िगर करना बहुत आसान है - आपको नेटवर्क गुरु होने की आवश्यकता नहीं है :-)

एक हार्डवेयर संस्करण है - http://www.itrinegy.com/index.php/products/network-emulators/ne-one - या आप VMware ESXi सर्वर के अंतर्गत चलने वाले वर्चुअल उपकरण (सॉफ़्टवेयर) संस्करण को डाउनलोड कर सकते हैं। आभासी उपकरण VMware के समाधान एक्सचेंज से डाउनलोड किया जा सकता है - solutionexchange.vmware.com/store/products/ne-one-flex-network-emulator



0

LANforge ICE एक नेटवर्क एमुलेटर है जिसमें वर्चुअल रूटिंग, घबराहट , भ्रष्टाचार और देरी पर जोर दिया जाता है। परियोजनाओं ने इसका उपयोग उपग्रह लिंक, केबल और मॉडेम कनेक्शन और उच्च गति (10Gbit) वान अनुकरण का अनुकरण करने के लिए किया है। आप अपने वर्चुअल नेटवर्क के निर्माण और यातायात प्रवाह की बहुत विस्तृत रिपोर्ट तैयार करने के लिए जावा GUI का उपयोग कर सकते हैं। LANforge उत्पाद ट्रैफ़िक जनरेशन सुविधाएँ भी प्रदान करते हैं: फ़्रेम, इथर, लेयर -3 और स्टेटफुल ट्रैफ़िक (NFS, http)। LANforge के हालिया संस्करणों में परिष्कृत वाईफाई परीक्षण सुविधाएँ भी हैं।


0

आप इसे आज़मा सकते हैं: CovenantSQL / GNTE इस तरह से YAML लिखें:

group:
  - 
    name: china
    nodes:
      - 
        ip: 10.250.1.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.1.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "100ms 10ms 30%"
    loss: "1% 10%"
  - 
    name: us
    nodes:
      - 
        ip: 10.250.2.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.2.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "1000ms 10ms 30%"
    loss: "1% 10%"

network:
  -
    groups:
      - china
      - us
    delay: "200ms 10ms 1%"
    corrupt: "0.2%"
    rate: "10mbit"

Daud ./generate scripts/your.yaml

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