سألني مهندس عن العوامل المؤثرة في قيمة Ping؟
وكان سبب تساؤله أنه قام بقياس كلاً من سرعة التحميل _أو بتعبير أصح سعة قناة الاتصال_ وقيمة Ping والتي تقيس وقت الاستجابة عند استخدامه لشبكتين مختلفتين من جهازه وإلى نفس جهاز الخادم، فكانت سرعة التحميل في الشبكة الأولى 30 ميجابت لكل ثانية ووقت الاستجابة 6 ميلي ثانية، بينما كانت سرعة التحميل في الشبكة الثانية أسرع (400 ميجابت لكل ثانية) ولكن وقت الاستجابة كان أطول (40 ميلي ثانية).
فكيف يكون وقت الاستجابة في الشبكة الثانية أطول وبفارق واضح رغم أن سرعة الاتصال أسرع بكثير؟! ألا يفترض أن يقل وقت الاستجابة كلما زادت سرعة الاتصال؟
الجواب المختصر أن وقت الاستجابة يقل كلما زادت سرعة الاتصال، ولكن هذا بافتراض ثبات وعدم تغير الظروف الأخرى في الشبكة.
كيف ذلك؟ دعوني أشرح …
بداية لنشرح ماذا تعني سرعة التحميل وماذا يعني وقت الاستجابة؟
يستخدم الناس أوصاف عديدة للتعبير عن سرعة التحميل وغالبها تسميات غير دقيقة، ولكن ليس هذا حديثنا اليوم بل المهم هنا أن نعرف أن ما نشير إليه يقاس بوحدة بت لكل ثانية (bps)، وهي تمثل في حديثنا أقصى سرعة تحميل تستطيع قناة الاتصال نقل البيانات من خلالها، ويتم قياسها من خلال تنزيل مجموعة بيانات من الجهاز الخادم لقياس سرعة التنزيل (Download Speed) ثم إرسال مجموعة بيانات من جهازك للجهاز الخادم لقياس سرعة الرفع (Upload Speed).
بينما وقت الاستجابة فيقاس من خلال أمر Ping باستخدام بروتوكول ICMP حيث يرسل حزمة بيانات (Packet) إلى جهاز خادم محدد وينتظر الرد، ثم يقوم باحتساب الوقت الذي يأخذه إرسال Ping واستلام الرد، أي أنه يحسب الوقت بين جهازك وبين جهاز الخادم ذهاباً وإياباً وهو يعرف بالـ Round-Trip Time، وهو يتأثر بعدة عوامل وسرعة التحميل أحد العوامل المؤثرة، لذا ذكرت بأن وقت Ping يقل كلما زادت سرعة الاتصال ولكن الظروف الأخرى للشبكة تؤثر على وقت Ping، وذلك وفق المعادلة البسيطة التالية والتي تمثل حاصل جمع عدة أوقات على النحو التالي:
وقت المعالجة + وقت الانتظار + وقت الانتشار + وقت الإرسال
فماذا تعنيه هذه الأوقات الأربعة؟
يوضح الرسم أعلاه بشكل مبسط معنى هذه الأوقات عند إرسال حزمة بين جهازين، ولكن لنشرح هذه الأوقات بشكل أوضح كالتالي:
- وقت المعالجة (Processing Delay): هو مجموع الأوقات التي يتم فيها معالجة حزمة البيانات المرسلة من/إلى جهازك والجهاز الآخر وأي أجهزة آخرى بينكما مثل الموجهات (Routers)، وهذا الوقت يتأثر بمستوى سرعة المعالجة في الأجهزة وعددها ولا يتأثر بحركة الشبكة (Network Traffic).
- وقت الانتظار (Queuing Delay): هو مجموع الأوقات التي تقضيها حزمة البيانات في انتظار البدء بمعالجتها من كل جهاز تمر عليه بين جهازك والجهاز الآخر، وهذا الوقت يتأثر بمستوى كفاءة الأجهزة وبمقدار حركة الشبكة.
- وقت الانتشار (Propagation Delay): وهو الوقت الذي تقضيه حزمة البيانات في قطع المسافة الفيزيائية بين جهازك والجهاز الآخر ذهاباً وإياباً، وهي تحسب بقسمة المسافة بالأمتار على سرعة الموجات الكهرومغناطيسية (سرعة الضوء) في الوسط الناقل، وتقاس هذه السرعة بـ متر لكل ثانية.
- وقت الإرسال (Transmission Delay): وهذا الوقت يتأثر عكسياً بسرعة الاتصال حيث أنه حاصل قسمة حجم حزمة البيانات (بوحدة بت) على سرعة الاتصال (بوحدة بت لكل ثانية)، ولا يتأثر هذا الوقت بالمسافة بين جهازك والجهاز الآخر.
فالخلاصة أن زيادة سرعة التحميل ستقلل وقت الإرسال، ولكن تقليل وقت الاستجابة (Ping) يعتمد كذلك على العوامل الأخرى، حيث أن زيادة أحدها بشكل واضح قد يكون تأثيره أكبر من أثر تقليل وقت الإرسال (زيادة سرعة التحميل)، وبالتالي إذا رجعنا لحالة الشبكتين التي ذكرناها في بداية المقال فإن وقت الاستجابة (Ping) في الشبكة الثانية زاد بسبب مجموع الأوقات الثلاثة الأولى.