انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

فقدان حزم الشبكة: التشخيص والحل

دليل تشخيص وحل فقدان حزم الشبكة باستخدام أدوات ping و traceroute و mtr و tcpdump، مشاكل MTU وتحسين أداء الشبكة.

وقت القراءة: 13 دقيقة استكشاف الأخطاء وإصلاحها
pingtraceroutemtrtcpdumpفقدان حزمشبكةnetwork

جدول المحتويات

مقدمة

فقدان حزم الشبكة مشكلة خطيرة تؤثر مباشرة على أداء الخادم وتجربة المستخدم. يمكن أن يسبب فقدان الحزم بطء تحميل المواقع وانقطاع اتصالات SSH وتأخر في خوادم الألعاب وتدهور جودة VoIP.

في هذا الدليل، سنستعرض الأدوات والطرق لاكتشاف فقدان الحزم وتحديد مصدره وحله.

ما هو فقدان الحزم؟

يحدث فقدان الحزم عندما لا تصل حزم البيانات المرسلة عبر الشبكة إلى وجهتها. في الظروف العادية، يُتوقع 0% فقدان.

فقدان الحزمالتأثير
0%طبيعي — لا مشاكل
1-2%خفيف — ملحوظ في VoIP والألعاب
3-5%متوسط — تبطؤ صفحات الويب
5-10%شديد — بدء انقطاع الاتصالات
10%+حرج — الخدمة غير قابلة للاستخدام

اكتشاف فقدان الحزم باستخدام ping

hljs bash
# اختبار ping بسيط
ping -c 100 IP_الهدف

# اختبار بحجم حزمة محدد
ping -c 50 -s 1400 IP_الهدف

# ping سريع (flood — يتطلب root)
sudo ping -f -c 1000 IP_الهدف

تفسير المخرجات:

100 packets transmitted, 97 received, 3% packet loss, time 99145ms
rtt min/avg/max/mdev = 1.234/5.678/45.123/8.901 ms

بعض الخوادم قد تحظر حزم ICMP. عدم استجابة ping لا يعني دائمًا فقدان حزم. تحقق باختبارات TCP.

تحليل القفزات باستخدام traceroute

traceroute يعرض كل عقدة شبكة (قفزة) تمر بها الحزم:

hljs bash
# traceroute أساسي
traceroute IP_الهدف

# قائم على ICMP (يتطلب root)
sudo traceroute -I IP_الهدف

# قائم على TCP (المنفذ 80)
sudo traceroute -T -p 80 IP_الهدف

المراقبة المستمرة باستخدام mtr

mtr أداة قوية تجمع بين ping و traceroute:

hljs bash
# التثبيت
sudo apt install mtr -y

# الوضع التفاعلي
mtr IP_الهدف

# وضع التقرير (100 حزمة)
mtr -r -c 100 IP_الهدف

# وضع TCP
mtr -T -P 80 IP_الهدف

# إخراج واسع
mtr -r -c 100 -w IP_الهدف

قراءة مخرجات mtr:

HOST                   Loss%   Snt   Last   Avg  Best  Wrst StDev
1. gateway              0.0%   100    1.2   1.3   0.8   5.4   0.6
2. isp-router           2.0%   100    5.4   6.1   4.2  25.3   3.2
3. core-router          0.0%   100   15.2  15.8  14.1  22.4   1.5
4. IP_الهدف             0.0%   100   20.1  20.5  19.2  28.7   1.8

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

التقاط الحزم باستخدام tcpdump

hljs bash
# التقاط كل حركة المرور على واجهة
sudo tcpdump -i eth0 -c 100

# التقاط حركة المرور إلى IP محدد
sudo tcpdump -i eth0 host IP_الهدف -c 100

# حركة مرور منفذ محدد
sudo tcpdump -i eth0 port 80 -c 50

# حفظ في ملف (لتحليل Wireshark)
sudo tcpdump -i eth0 -w capture.pcap -c 1000

# التقاط حزم ICMP
sudo tcpdump -i eth0 icmp -c 50

فحص أخطاء واجهة الشبكة

hljs bash
# إحصائيات الواجهة
ip -s link show eth0

# عدادات الأخطاء التفصيلية
ethtool -S eth0 | grep -i error

# عدد الحزم المسقطة
netstat -i

# إحصائيات شبكة النواة
cat /proc/net/dev

مشاكل MTU

عدم تطابق MTU (وحدة النقل القصوى) يمكن أن يسبب فقدان حزم:

hljs bash
# فحص قيمة MTU الحالية
ip link show eth0 | grep mtu

# اختبار اكتشاف مسار MTU
ping -c 5 -M do -s 1472 IP_الهدف

# تغيير قيمة MTU (مؤقت)
sudo ip link set eth0 mtu 1400

MTU القياسي لـ Ethernet هو 1500 بايت. إذا كنت تستخدم VPN أو أنفاق، قد تحتاج لتخفيض MTU (عادة 1400-1420).

اختبار عرض النطاق

hljs bash
# تثبيت iperf3
sudo apt install iperf3 -y

# البدء في وضع الخادم
iperf3 -s

# الاختبار كعميل
iperf3 -c IP_الخادم -t 30

# اختبار UDP (قياس فقدان الحزم)
iperf3 -c IP_الخادم -u -b 100M -t 30

خطوات الحل

1. تحديد المصدر

hljs bash
# تحليل قفزة بقفزة مع mtr
mtr -r -c 200 IP_الهدف

# هل المشكلة محلية أم عند مزود الخدمة أم في الوجهة؟
# - فقدان في القفزات الأولى → مشكلة شبكة محلية
# - فقدان في القفزات الوسطى → مشكلة مزود الخدمة
# - فقدان في القفزة الأخيرة → مشكلة الخادم الهدف

2. مشاكل الشبكة المحلية

hljs bash
# إعادة تشغيل واجهة الشبكة
sudo ip link set eth0 down && sudo ip link set eth0 up

# فحص حل DNS
dig google.com +short

# فحص جدول التوجيه
ip route show

الخلاصة

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