الشبكات / المتقدم: السياسة والأدلة والسعة والتصميم المرن / الدرس 17
تمييز السعة والتأخير والإنتاجية وضغط الصفوف
استخدم وحدات صريحة ونماذج محدودة لفهم الاختناق دون توليد حمل أوضبط عام.
في هذه الصفحة
أهداف الدرس
- تمييز سعة الوصلة والمتاح والإنتاجية وحمولة التطبيق المفيدة.
- حساب ميزانية حاصل المعدل والتأخير ونموذج صف محدود.
حدد ما يعده المعدل
لا يساوي معدل الوصلة السعة المتاحة لتدفق أوحمولة التطبيق المفيدة. تستهلك الرؤوس والإقرارات والإعادة والمنافسة والمعالجة الموارد. لفظ bandwidth غامض دون تعريف. حدد البت والبايت والوحدة والفترة والاتجاه والحد البروتوكولي. قد يخفي متوسط ملف كبير دفعات ازدحام وتأخيراً تفاعلياً؛ فلا تقارن إلا كميات متوافقة بفترة مناسبة معلنة.
تشمل RTT أكثر من زمن الانتشار
قد تشمل RTT الانتشار والتسلسل والانتظار والمعالجة بين الحدثين. يزيدها طول المسار أوالصف ولكل علاج مختلف. لا يساوي الاتجاه الواحد نصفها تلقائياً لعدم التماثل. حدد خط أساس وميّز الحمل والدفعات؛ ولا يصف رقم منخفض الذيل ولا تدعم عينة صغيرة مئيناً إنتاجياً موثوقاً. احفظ الطريقة والغموض مع الرقم.
حاصل المعدل والتأخير مدخل نموذج لا أمر ضبط
يعطي ضرب المعدل في RTT كمية بيانات قيد العبور بنموذج مبسط، وقد تقيد نافذة أصغر الإنتاجية. يعتمد TCP أيضاً على الازدحام والاستقبال والفقد والتطبيق والمعالجة. يستخدم المثال بتات عشرية و RTT معلنة أربعين مللي ثانية ولا يغير مخازن مقابس. قد تستهلك الزيادة العامة الذاكرة أوتزيد الصف دون إصلاح الاختناق.
rate_bps = 50_000_000
rtt_ms = 40
window_bytes = 64_000
bdp_bytes = rate_bps * rtt_ms // (8 * 1000)
window_ceiling_mbps = window_bytes * 8 / (rtt_ms / 1000) / 1_000_000
print(f'bdp_bytes={bdp_bytes}')
print(f'window_only_ceiling_mbps={window_ceiling_mbps:.1f}')
bdp_bytes=250000
window_only_ceiling_mbps=12.8
تعطي الافتراضات 250000 بايت قيد العبور وسقفاً12.8 ميغابت للنافذة وحدها، وهي 64000 بايت عشرية. لا تقيس مساراً أوتضمن إنتاجية أوتوصي بتعديل النقل.
لا ينشئ التخزين سعة خدمة
يمتص الصف دفعة مؤقتة، ويحتاج الحمل المستمر الزائد سعة أوتحكماً أوطلباً أقل. قد يحتفظ التخزين الأكبر بالحزم ويزيد التأخير. تعالج الجدولة وإدارة الصف النشطة جوانب مختلفة. يفترض المثبت أربع خطوات ووحدات ثابتة ووصولاً قبل الخدمة دون حزم واقعية أوإعادة أوتكيّف. يساوي الوافد المخدوم والمفقود والباقي، فيوضح حدوده.
arrivals = [4, 14, 2, 8]
buffer_limit, service_limit = 10, 5
queued = served = dropped = 0
for count in arrivals:
assert 0 <= count <= 100
dropped += max(0, queued + count - buffer_limit)
queued = min(buffer_limit, queued + count)
departing = min(service_limit, queued)
served += departing
queued -= departing
assert sum(arrivals) == served + dropped + queued
print(f'arrived={sum(arrivals)} served={served} dropped={dropped} queued={queued}')
arrived=28 served=19 dropped=4 queued=5
تصل 28 وحدة وتُخدم 19 وتُسقط 4 وتبقى 5. العمل محدود في الذاكرة؛ وليس للخطوة زمن مفترض، ولا يمثل الناتج قياس موجه أومعدل فقد فعلياً.
خطط للمتطلبات والتشغيل المتدهور
يشمل التخطيط نوع العمل والدفعات والتزامن والذيل والاعتماديات والنمو والخدمة بعد فشل محدد. لا تضاعف وصلتان السعة مع اختناق مشترك أصغر. ميّز ضغط المسار عن المعالج والتخزين والتطبيق. تكشف النماذج الافتراضات قبل قياس مصرح مستقل، ولا تجيز اختبارات حمل أوحركة أومسح أوتعديل؛ ولا نفعل ذلك هنا.
الأخطاء الشائعة وإصلاحها
مقارنة الميغابت والميغابايت كوحدة واحدة
- لماذا يحدث؟
- أُهملت الوحدات أوحُولت بصورة غير متسقة.
- كيف تصلحه؟
- وحّد الوحدات واذكر فترة القياس.
- كيف تتجنب تكراره؟
- أدرج الوحدات في المتغيرات والعناوين ومعايير القبول.
اعتبار المخزن الأكبر زيادة في سعة الوصلة
- لماذا يحدث؟
- اختلط انتظار الحركة بمعدل خدمتها.
- كيف تصلحه؟
- قيّم التأخير والفقد والسعة والطلب منفصلة.
- كيف تتجنب تكراره؟
- راجع حفظ الوحدات والتأخير لا الإسقاط وحده.
تحويل حساب BDP إلى إعداد مضيف عام
- لماذا يحدث؟
- اعتُبر نموذج العبور متطلبات نقل مقاسة.
- كيف تصلحه؟
- حدد القيد والسلوك الحقيقي قبل الضبط.
- كيف تتجنب تكراره؟
- افصل الافتراض الحسابي عن التغيير التشغيلي المصرح.
اختبر فهمك
1. ماذا يتغير عند زيادة المخزن إلى 20 بالوافدين أنفسهم؟
اعرض الحل المشروح
يخدم النموذج 19 ولا يسقط شيئاً ويبقي 9. لم تزد الخدمة؛ بقيت الوحدات الأربع منتظرة. راع تأخيرها والعمل اللاحق ولا تعد خفض الفقد زيادة سرعة.
2. لماذا قد يقدم مسار اسمي 50 ميغابت حمولة مفيدة أقل؟
اعرض الحل المشروح
قد تقيد الرؤوس والمنافسة والنوافذ والازدحام والإعادة والأطراف المعدل. حدد بايتات التطبيق والفترة ثم ميّز الأسباب بالأدلة. ليست السعة الاسمية وعد إنتاجية تطبيق.
أهم ما تعلمته
- حدد حدود المعدل والتأخير والبايت قبل المقارنة.
- استخدم النماذج المحدودة لفحص الافتراض لا الضبط العام.