خطوات الاستخدام
أدخل حجم الحزمة (packetSize) بالبايت: أدخل الحجم الإجمالي للحزمة المراد إرسالها، بما في ذلك الرأس (header) والبيانات. يُستخدم عادةً البايت كوحدة قياس، ويجب أن تكون القيمة عددًا صحيحًا موجبًا. على سبيل المثال، حجم إطار Ethernet القياسي هو 1500 بايت، بينما قد تكون حزم VoIP صغيرة مثل 160 بايت. كلما زاد الحجم، زادت كمية البيانات المرسلة في كل حزمة، مما يؤثر على معدل الإرسال.
أدخل معدل الإرسال المستهدف (targetRate) بالميجابت في الثانية (Mbps): هذا هو المعدل الذي ترغب في الحفاظ عليه عند إرسال الحزم، والحقل بالميجابت لا بالبت — فتُدخل 10 لمعدل 10 Mbps (أي 10,000,000 bps). يجب أن تكون القيمة موجبة. كلما زاد المعدل، كلما كانت الحزم أكثر تقاربًا في الوقت.
تحويل حجم الحزمة إلى بت: نظرًا لأن معدل الإرسال يقاس بالبت في الثانية، يجب تحويل حجم الحزمة من البايت إلى البت. للقيام بذلك، اضرب حجم الحزمة في 8 (لأن كل بايت = 8 بت). أي: حجم الحزمة بالبت = packetSize × 8.
احسب الفاصل الزمني بين الحزم (Packet Pacing Interval): باستخدام المعادلة الأساسية: الفاصل الزمني (بالثواني) = (حجم الحزمة بالبت) ÷ معدل الإرسال (bps). الناتج هو الوقت بين بداية إرسال حزمة والأخرى. تُخرج الحاسبة الناتج بالميكروثانية، ومعه حجم الحزمة بالبت، والفاصل بالمللي ثانية، وعدد الحزم في الثانية عند هذا الإيقاع (1,000,000 ÷ الفاصل بالميكروثانية). على سبيل المثال، إذا كان الناتج 120 ميكروثانية فذلك يعادل 0.12 مللي ثانية وحوالي 8333 حزمة في الثانية.
تفسير النتيجة وتطبيقاتها: يمثل الفاصل الزمني المحسوب المدة التي يجب أن تنتظرها بين إرسال حزمتين متتاليتين لتحقيق معدل الإرسال المطلوب دون تجاوزه. يُستخدم هذا في جدولة الحزم في أجهزة الشبكة مثل المحولات وأجهزة التوجيه، وأيضًا في خوارزميات TCP Pacing وToken Bucket. يساعد تنظيم الإيقاع على تقليل الازدحام والحد من التقلبات (bursts) في حركة المرور، مما يحسن أداء الشبكة ويقلل من فقدان الحزم.
أمثلة محلولة
تطبيقات عملية على تنظيم إيقاع الحزم بخطوات الحل كاملة.
الحل
أولاً، نحول حجم الحزمة من البايت إلى البت: 1500 بايت × 8 = 12,000 بت. ثم نطبق المعادلة: الفاصل الزمني = 12,000 بت ÷ 100,000,000 bps = 0.00012 ثانية. لتحويله إلى ميكروثانية، نضرب في 1,000,000: 0.00012 × 1,000,000 = 120 ميكروثانية. إذن، يجب إرسال حزمة كل 120 ميكروثانية للحفاظ على معدل 100 ميجابت/ث. هذا الحساب مثالي في شبكات مركز البيانات حيث يتم ضبط أجهزة التوجيه على pacing دقيق. لكن عملياً، يجب مراعاة أيضاً رؤوس الطبقة الثانية (إيثرنت) التي تضيف 38 بايت إضافية، مما يغير الحجم الكلي إلى 1538 بايت، وبالتالي الفاصل يصبح (1538×8)/100,000,000 = 0.00012304 ثانية = 123.04 ميكروثانية. الفرق صغير لكنه مهم في التطبيقات الحساسة.
الحل
الحساب الأساسي: حجم الحزمة = 1400 بايت → 1400 × 8 = 11,200 بت. الفاصل = 11,200 ÷ 5,000,000 = 0.00224 ثانية = 2.24 مللي ثانية. ولكن إذا أضفنا رأس إيثرنت (38 بايت، مع المقدمة والبداية)، يصبح الحجم الإجمالي = 1400 + 38 = 1438 بايت، ثم نحوله إلى بت: 1438 × 8 = 11,504 بت. الفاصل = 11,504 ÷ 5,000,000 = 0.0023008 ثانية ≈ 2.3 مللي ثانية. لاحظ أن الفرق صغير (~0.06 مللي ثانية) لكنه يتراكم مع زيادة عدد الحزم. في تطبيقات الفيديو الحساسة للاهتزاز، يجب استخدام القيمة الدقيقة لتجنب التجاوز عن معدل النطاق الترددي. كما أن رأس الطبقة الثالثة (IP) والطبقة الرابعة (UDP) محسوبان بالفعل في 1400 بايت، لذا نحتاج فقط لإضافة الطبقة الثانية.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة تنظيم إيقاع الحزم.
مرجع — إطار Ethernet كامل بـ 100 Mbps
- حجم الحزمة (بايت)
- 1,500
- المعدل المستهدف (ميجابت/ثانية)
- 100
مرجع — الحزمة مع 38 بايت رؤوس إيثرنت
- حجم الحزمة (بايت)
- 1,538
- المعدل المستهدف (ميجابت/ثانية)
- 100
مرجع — فيديو UDP بحزم 1400 بايت
- حجم الحزمة (بايت)
- 1,400
- المعدل المستهدف (ميجابت/ثانية)
- 5
مرجع — أصغر إطار (64 بايت)
- حجم الحزمة (بايت)
- 64
- المعدل المستهدف (ميجابت/ثانية)
- 10
مرجع — نفس الإطار على عشر السرعة
- حجم الحزمة (بايت)
- 1,500
- المعدل المستهدف (ميجابت/ثانية)
- 10