netem وNetwork Link Conditioner على Windows
في Linux توجد أداة tc netem، وفي Mac توجد Network Link Conditioner. أما Windows فلا يملك أداة مدمجة تضيف التأخير والفقد. تنقل هذه الصفحة ما تعرفه إلى Bean Network Tester، وتبيّن أين لا تنتقل الأرقام كما هي.
خيارات netem واحدًا واحدًا
أضف --target و--duration إلى كل أمر هنا، وإلا أثّر على الحاسوب كله.
| netem | الإعداد في النافذة | الراية |
|---|---|---|
delay 100ms | Latency | --latency 100 |
delay 100ms 20ms | Latency, Jitter | --latency 100 --jitter 20 |
loss 5% | Loss | --loss 5 |
loss 5% 25% | Loss, Losses in a row (burst) | --loss 5 --loss-burst 4 |
duplicate 1% | Duplication | --dup 1 |
corrupt 0.1% | Corruption | --corrupt 0.1 |
reorder 25% | Spike chance, Spike size | --spike-prob 5 --spike-ms 200 |
rate 1mbit | Download, Upload | --down 122 --up 122 |
limit 1000 | Buffer | --buffer 1000 |
- الفقد المتتابع. قيمة الارتباط في netem ليست طول سلسلة. Losses in a row (burst) هو متوسط عدد الحزم المفقودة على التوالي، وهو أقرب مقابل.
- إعادة الترتيب. لا توجد نسبة مئوية لإعادة الترتيب. تؤخّر القفزة حزمة واحدة فتتجاوزها الحزم المرسلة بعدها، ويُظهر عدّاد الحزم المعاد ترتيبها في صفحة Statistics ما إذا كان ذلك قد حدث فعلًا.
- حجم الطابور. قيمة limit في netem تُحسب بالحزم. أما Buffer فهو زمن بالمللي ثانية.
ثلاثة فروق تستحق المعرفة
الاتجاه. يؤخّر netem ما يغادر الواجهة، وتعود الاستجابة كما هي. تلتقط هذه الأداة الاتجاهين، لذا يضيف --latency 100 نحو 200 ms إلى الـ ping: 100 في الذهاب و100 في العودة. وللحصول على ما يفعله netem، التقط الحركة الصادرة فقط:
BeanNetworkTester.exe --filter out --latency 100 --jitter 20 --target myapp.exe --duration 120
الوحدات. معدل netem بالبت في الثانية. أما حقول حد السرعة فبوحدة KB/s حيث K = 1024. تحويل الميغابت:
| معدل netem | حقل حد السرعة، بوحدة KB/s |
|---|---|
1mbit | 122 |
5mbit | 610 |
10mbit | 1221 |
50mbit | 6104 |
100mbit | 12207 |
النطاق. يشكّل tc واجهة شبكة كاملة ويحتاج إلى root. وتستهدف هذه الأداة برنامجًا واحدًا بـ --target وتحتاج إلى صلاحيات المسؤول.
إن كنت تعرف Network Link Conditioner
تعمل أداة Apple بملفات تعريف مسمّاة. وأقربها هنا:
| Network Link Conditioner | الأقرب هنا |
|---|---|
| 100% Loss | Loss مضبوط على 100 |
| 3G | 3G network |
| DSL | Home DSL (VDSL) |
| LTE | LTE / 4G |
| WiFi | Good WiFi |
| Very Bad Network | Terrible network |
| Edge | لا يوجد ملف تعريف مقابل. اكتب حد السرعة والتأخر بنفسك ثم احفظهما كملف تعريف خاص بك بزر Save.... |
الأرقام ليست أرقام Apple، فاعتبر ملف التعريف نقطة بداية. وكل قيمة يضبطها ملف تعريف مذكورة في صفحة المرجع.
ما تكسبه على Windows
- برنامج واحد لا الحاسوب كله. وجّه التدهور إلى تطبيق واحد بينما يبقى باقي الجهاز طبيعيًا.
- خط زمني بدل سكربت شل. تغيّر السيناريوهات الزمنية الإعدادات عند ثوانٍ محددة، وهو ما يفعله سكربت من
tcوsleepفي Linux. - يمكن لخط أنابيب تشغيله. يعمل الملف التنفيذي نفسه في CI ويبلّغ برموز الخروج.
في Linux أو macOS استخدم الأدوات الأصلية. هذه الأداة تعمل على Windows فقط.