النضال من أجل مللي ثانية. كيفية اختيار الخادم الأقل بينغ

بالنسبة للعديد من المهام ، يعد التأخير بين العميل والخادم أمرًا بالغ الأهمية ، على سبيل المثال ، في الألعاب عبر الإنترنت ، ومؤتمرات الفيديو / الصوت ، وهواتف IP ، و VPN ، وما إلى ذلك. إذا كان الخادم بعيدًا جدًا عن العميل على مستوى شبكة IP ، فإن التأخيرات (المعروفة عمومًا باسم "ping" أو "lag") ستتداخل مع العمل.

لا يقترب القرب الجغرافي للخادم دائمًا من القرب عند مستوى توجيه IP. لذا ، على سبيل المثال ، قد يكون الخادم في بلد آخر "أقرب" إليك من الخادم في مدينتك. كل ذلك بسبب ميزات التوجيه والشبكات. كيفية اختيار خادم أقرب ما يمكن لجميع العملاء المحتملين؟ ما هو اتصال شبكة IP؟ كيفية توجيه العميل إلى أقرب خادم؟ دعونا نلقي نظرة على المقالة.





نقيس التأخيرات


أولاً ، تعرف على كيفية قياس وقت الاستجابة. هذه المهمة ليست بسيطة كما قد تبدو ، لأن البروتوكولات المختلفة وأحجام الحزم قد تختلف. لا يمكنك أيضًا ملاحظة الظواهر قصيرة المدى ، مثل الفشل الذي يدوم عدة أجزاء من الثانية.

ICMP - ping عادي


سنستخدم الأداة المساعدة Unix ping ، فهي تسمح لك بتعيين الفواصل الزمنية بين الحزم يدويًا ، والتي لا يعرفها إصدار ping لنظام التشغيل windows. هذا أمر مهم ، لأنه إذا كانت فترات التوقف المؤقت بين الحزم طويلة ، فلا يمكنك رؤية ما يحدث بينهما.

حجم الحزمة (خيار - s) - افتراضيًا ، يرسل ping حزمًا بحجم 64 بايت. مع هذه الحزم الصغيرة ، قد لا تكون الظواهر التي تحدث مع الحزم الكبيرة ملحوظة ، لذلك سنقوم بتعيين حجم الحزمة إلى 1300 بايت.

الفاصل الزمني بين الحزم (الخيار -i) - الوقت بين إرسال البيانات. بشكل افتراضي ، يتم إرسال الحزم مرة واحدة في الثانية ، ويستغرق الأمر وقتًا طويلاً جدًا ، وترسل البرامج الحقيقية مئات وآلاف الحزم في الثانية ، لذلك نقوم بتعيين الفاصل الزمني إلى 0.1 ثانية. البرنامج ببساطة لا يسمح أقل.

ونتيجة لذلك ، يبدو الأمر كما يلي:

ping -s 1300 -i 0.1 yandex.ru

يتيح لك هذا التصميم رؤية صورة أكثر واقعية للتأخيرات.

تنفيذ الأمر ping عبر UDP و TCP


في بعض الحالات ، لا تتم معالجة اتصالات TCP بنفس طريقة حزم ICMP ، وبسبب ذلك ، قد تختلف القياسات اعتمادًا على البروتوكول. غالبًا ما يحدث أيضًا أن المضيف ببساطة لا يستجيب لـ ICMP ، ولا يعمل اختبار ping العادي. لذا ، على سبيل المثال ، يقوم موقع microsoft.com المضيف بعمر افتراضي .

يمكن لأداة nping من مطوري ماسح nmap الشهير إنشاء أي حزم. يمكن استخدامه أيضًا لقياس التأخيرات.
نظرًا لأن UDP و TCP يعملان على منافذ محددة ، فإننا بحاجة إلى "تنفيذ الأمر ping" على منفذ معين. لنحاول تنفيذ الأمر ping TCP 80 ، أي منفذ خادم الويب:

$ sudo nping --tcp -p 80 --delay 0.1 -c 0 microsoft.com

Starting Nping 0.7.80 ( https://nmap.org/nping ) at 2020-04-30 13:07 MSK
SENT (0.0078s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
SENT (0.1099s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.2068s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.2107s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.3046s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.3122s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.4247s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=42 id=0 iplen=44  seq=2876862274 win=64240 <mss 1398>

Max rtt: 112.572ms | Min rtt: 93.866ms | Avg rtt: 101.093ms
Raw packets sent: 4 (160B) | Rcvd: 3 (132B) | Lost: 1 (25.00%)
Nping done: 1 IP address pinged in 0.43 seconds

بشكل افتراضي ، يرسل nping 4 حزم ويتوقف. يمكّن الخيار -c 0 الإرسال اللانهائي للحزم. لإيقاف البرنامج ، اضغط على Ctrl + C. في النهاية ، سيتم عرض الإحصائيات. نرى أن متوسط ​​rtt (وقت الذهاب والعودة) هو 101 مللي ثانية.

MTR - traceroute على المنشطات


برنامج MTR (English My Traceroute) هو أداة مساعدة متقدمة لتتبع المسارات إلى مضيف بعيد. على عكس traceroute لأداة النظام المعتادة (في Windows هي أداة tracert) ، يمكن أن تظهر تأخيرات لكل مضيف في سلسلة الحزم. يعرف أيضًا كيفية تتبع المسارات ليس فقط عبر ICMP ، ولكن أيضًا عبر UDP و TCP.

$ sudo mtr microsoft.com


(قابل للنقر) واجهة برنامج MTR. بدأ تتبع المسار إلى microsoft.com

MTR على الفور بينغ لكل مضيف في السلسلة ، علاوة على ذلك ، يتم تحديث البيانات باستمرار أثناء تشغيل البرنامج ويمكنك رؤية التغييرات على المدى القصير.
تُظهر لقطة الشاشة وجود خسائر في الحزم على العقدة رقم 6 ، ولكن في الواقع هذا ليس صحيحًا تمامًا ، لأن بعض أجهزة التوجيه يمكنها ببساطة إسقاط الحزم ذات مدة صلاحية منتهية الصلاحية وعدم إرجاع استجابة خطأ ، لذلك يمكن تجاهل البيانات حول خسائر الحزم هنا.

واي فاي مقابل كابل



هذا الموضوع ليس له صلة كاملة بالمقال ، ولكن في رأيي أنه مهم للغاية في سياق التأخير. أنا حقًا أحب شبكة WiFi ، ولكن إذا توفرت لدي أدنى فرصة لتوصيل كابل بالإنترنت ، فسأستخدمه. أيضًا ، أنا دائمًا لا أشجع الأشخاص على استخدام كاميرات WiFi.
إذا كنت تلعب ألعاب إطلاق نار خطيرة عبر الإنترنت ، فقم ببث مقاطع الفيديو ، وقم بالتداول في البورصة: يرجى استخدام الإنترنت عبر الكابل.

فيما يلي اختبار مرئي لمقارنة اتصال واي فاي والكابل. هذا أمر ping على جهاز توجيه WiFi ، ولا حتى الإنترنت. (قابل للنقر) مقارنة بينغ لموجه WiFi عبر كابل وواي فاي ، يمكن ملاحظة أن تأخيرات WiFi أطول بمقدار 1 مللي ثانية وأحيانًا هناك حزم ذات تأخير أطول بعشر مرات! وهذه ليست سوى فترة زمنية قصيرة. في هذه الحالة ، ينتج عن نفس جهاز التوجيه تأخيرات ثابتة <1 مللي ثانية.

صورة




في المثال أعلاه ، يتم استخدام WiFi 802.11n بتردد 2.4 جيجا هرتز ، فقط الكمبيوتر المحمول والهاتف متصلان بنقطة الوصول عبر WiFi. إذا كان هناك المزيد من العملاء في نقطة الوصول ، فإن النتائج ستكون أسوأ بكثير. لذلك أنا ضد نقل جميع أجهزة الكمبيوتر المكتبية إلى WiFi ، إذا كانت هناك فرصة للوصول إليها بكابل.

اتصال IP


لذلك ، تعلمنا كيفية قياس التأخير للخادم ، حاول العثور على أقرب خادم لنا. للقيام بذلك ، يمكننا أن نرى كيف يتم ترتيب توجيه مزود الخدمة الخاص بنا. لهذا ، من الملائم استخدام خدمة bgp.he.net



عند الدخول إلى الموقع ، نرى أن عنوان IP الخاص بنا ينتمي إلى النظام المستقل AS42610 .

بالنظر إلى الرسم البياني للاتصال بالأنظمة المستقلة ، يمكننا أن نرى من خلال مقدمي الخدمة المتفوقين الذين يتصل بهم مزودنا ببقية العالم. كل نقطة قابلة للنقر ، يمكنك الدخول وقراءة نوع مقدم الخدمة.


الرسم البياني لاتصال الموفر

باستخدام هذه الأداة ، يمكنك معرفة كيفية ترتيب قنوات أي مزود ، بما في ذلك الاستضافة. تعرّف على مقدمي الخدمة الذين يتصلون بهم مباشرةً. للقيام بذلك ، قم بقيادة عنوان IP للخادم في بحث bgp.he.net وانظر إلى الرسم البياني لنظامه المستقل. يمكنك أيضًا فهم كيفية ارتباط مركز بيانات أو موفر استضافة بمركز آخر.

توفر معظم نقاط تبادل الحركة أداة خاصة تسمى الزجاج الزجاجي ، والتي تتيح لك تنفيذ الأمر ping و traceroute من جهاز توجيه محدد في نقطة التبادل.

على سبيل المثال ، النظر إلى الزجاج من MGTS

لذلك ، باختيار خادم ، يمكننا أن نرى مسبقًا كيف سيبدو من نقاط مختلفة لتبادل الحركة. وإذا كان عملاؤنا المحتملون موجودين في منطقة جغرافية معينة ، فيمكننا العثور على الموقع الأمثل للخادم.

اختر أقرب خادم


قررنا تبسيط عملية العثور على الخادم الأمثل لعملائنا وعملنا صفحة مع اختبار تلقائي لأقرب المواقع: مراكز بيانات RUVDS .
عندما تدخل الصفحة ، يقيس النص البرمجي التأخيرات من متصفحك إلى كل خادم ويعرضها على خريطة تفاعلية. عند النقر فوق مركز بيانات ، يتم عرض المعلومات التي تحتوي على نتائج الاختبار. يؤدي الزر إلى صفحة اختبار التأخير لجميع مراكز البيانات لدينا. لمشاهدة نتائج الاختبار ، انقر على نقطة مركز البيانات على الخريطة








All Articles