يوضح هذا المستند أساسيات بروتوكول TCP وتحليل حزمة Wireshark العميقة واستكشاف الأخطاء وإصلاحها عمليا لتحسين الأداء من نهاية إلى نهاية.
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
ملاحظة: أي أسئلة حول تكوين برامج أو أجهزة الطرف الثالث وقابليتها للتشغيل البيني تقع خارج دعم Cisco. يعد إستخدام أدوات الجهات الخارجية أفضل جهد لتوضيح التكوين والتشغيل باستخدام أجهزة Cisco.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
بروتوكول التحكم في الإرسال (TCP) هو بروتوكول طبقة نقل أساسي يعمل في الطبقة 4 من نموذج الاتصال المتبادل بين الأنظمة المفتوحة (OSI) ويوفر تسليم موثوق به، وتم طلبه، ويتم التحقق من الخطأ لتدفق من وحدات البايت بين التطبيقات التي تتصل عبر شبكة IP.
يمثل المخطط مكدس بروتوكول TCP/IP حيث يتم تضمين مقطع TCP (الطبقة 4) داخل حزمة IP (الطبقة 3)، ثم داخل إطار إيثرنت (الطبقة 2) المعرف بواسطة IEEE 802.3. يضمن هذا النهج متعدد الطبقات الاتصال النمطي، حيث تضيف كل طبقة معلومات التحكم الخاصة بها (الرؤوس) لضمان التسليم والتوجيه وسلامة البيانات.

يكون رأس الإيثرنت في العادة 14 بايت، ويتكون من:
بالإضافة إلى ذلك، تتضمن إطارات الإيثرنت مقطورة لتسلسل التحقق من الإطارات (FCS) سعة 4 بايت للكشف عن الأخطاء في الطبقة 2. يحدد IEEE 802.3 الإطارات التي تحتوي على الحد الأدنى/الأقصى للأحجام وقيود التسليم المادية التي تؤثر بشكل مباشر على بروتوكولات الطبقة العليا مثل TCP.
يحتوي رأس IPv4 على حد أدنى للحجم يبلغ 20 بايت، ويمكن توسعته حتى 60 بايت باستخدام الخيارات. تتضمن الحقول الرئيسية ما يلي:
تعد طبقة IP مسؤولة عن التوجيه والعنونة المنطقية عبر الشبكات، ولكنها لا تضمن الموثوقية.
يتراوح رأس TCP من 20 إلى 60 بايت حسب الخيارات. تتضمن الحقول الرئيسية ما يلي:
يضيف بروتوكول TCP إمكانية تسليم موثوقة وتسلسل صحيح والتحكم في التدفق إلى إتصالات IP.
تعمل خيارات بروتوكول TCP على توسيع البروتوكول الأساسي. ومن أكثر الأمور شيوعا ما يلي:
تستهلك كل من علامتي SYN و FIN رقم تسلسل واحد، حتى في حالة عدم وجود حمولة. يعمل بروتوكول TCP باستخدام نموذج تسلسل موجه للبايت، حيث يتم إرسال كل بايت - وعلامات تحكم محددة - لتطوير مساحة التسلسل. هذا السلوك ضروري لتحليل TCP الدقيق في مجموعات الحزم وتشخيص التسلسلات أو حالات عدم تناسق الإقرار.
ACK = SEQ + طول الحمولة + (SYN ؟ 1: 0) + (FIN ؟ 1: 0)
حيث:
حساب ACK:
ويعكس هذا سيناريو حيث يتم إرسال البيانات أثناء مصافحة TCP. تستهلك كل من الحمولة وعلامة SYN مساحة تسلسل.
حساب ACK:
وهذا يوضح أنه يمكن أن يتضمن TCP البيانات أثناء خفض الاتصال، وأن كل من الحمولة وعلامة FIN تزيد من رقم التسلسل.
يحدد الحد الأقصى لحجم المقطع (MSS) الحد الأقصى للحمولة التي يمكن ل TCP إرسالها في مقطع.
إذا كانت خيارات TCP موجودة، يتم خفض MSS وفقا لذلك. يتم التفاوض على MSS أثناء مصافحة TCP الثلاثية ومنع التجزئة في طبقة IP.
يتم تبادل الحد الأقصى لحجم المقطع (MSS) أثناء مصافحة TCP الثلاثية باستخدام خيار MSS في حزم syn:
وكل طرف يقول بفعالية:
هذه أكبر حمولة TCP مقبولة.
لا يتم التفاوض على نظام الإدارة السليمة بيئيا كقيمة واحدة متفق عليها.
بدلا من ذلك:
لذلك:
في مكدس TCP يعمل بشكل صحيح: م
يحدد "حجم النافذة" حجم البيانات التي يمكن أن يقبلها المستقبل دون إعلام.
ما هو:
القصد:
من اين تحصل عليها:
متغير المورد/نظام التشغيل:
شرط النافذة الصفرية:
آليات Windows المتغيرة
أستكشاف الأخطاء وإصلاحها الاستخدام:
يصف هذا القسم منهجية عملية لتشخيص ما إذا كان محول Cisco Nexus الذي يشغل NX-OS يؤثر على إعادة توجيه حركة مرور TCP أو يقدم مشاكل في الأداء. ويتم عرض هذا النهج من خلال سيناريو افتراضي.
عند ملاحظة زمن وصول TCP أو انخفاض الأداء، من الشائع في البداية الاشتباه في أن الشبكة تتسبب في ذلك. ومع ذلك، يجب التحقق من صحة هذا الافتراض من خلال التحليل الذي يستند إلى البيانات. الطريقة المخولة لاستكشاف أخطاء TCP وإصلاحها هي التقاط الحزم، ويتم تنفيذها بشكل مثالي:
وهذا يضمن إمكانية الرؤية في عملية مصافحة TCP الثلاثية، حيث يتم التفاوض حول المعلمات الحيوية مثل MSS و Window Scale و SAACK ولا يتم تكرارها في وقت لاحق من الجلسة. إذا لم يكن من الممكن التقاط الصور المتزامنة، يمكن إجراء التحليل من خلال التقاط واحد، ولكن النتائج محدودة.
تعريف السيناريو
قام أحد المستخدمين بتحديد أن عملية النسخ الاحتياطي لمجموعة بيانات التطبيقات التي تبلغ سعتها 7.5 تيرابايت تقريبا، والتي تم إكمالها سابقا في غضون 9 ساعات تقريبا، تستغرق الآن حوالي 21 ساعة. على الرغم من أنه لا يزال يتم إنشاء جلسات عمل TCP بين العميل والخادم بنجاح، إلا أن الزيادة الكبيرة في مدة النسخ الاحتياطي تشير إلى حدوث انخفاض محتمل في سعة المعالجة أو أداء TCP الإجمالي. ونظرا لأن محول Nexus هو جهاز الشبكة الوحيد في المسار ويوفر أيضا وظيفة عبارة الطبقة 3، فيشك مسؤول الشبكة في أن محول Nexus هو سبب المشكلة.

Linux: ping -c 10 -I 10.93.19.8 -s 1472 -M do 10.91.2.35
Windows: ping -n 10 -l 1472 -f 10.91.2.35
لماذا 1472 بايت؟
ما يمكن إستنتاجه
كيفية إستخدام هذا الأمر لاستكشاف الأخطاء وإصلاحها
صلة عملية ب TCP
لاستكشاف أخطاء أداء بروتوكول TCP بشكل فعال وإصلاحها على محول Cisco Nexus 9000 switch، فمن الضروري تحديد الواجهات التي تتلقى حركة مرور البيانات بين المصدر والوجهة وإعادة توجيهها.
في المخططات البسيطة، يمكن إستنتاج ذلك مباشرة من الاتصالات المادية. على سبيل المثال، إذا كان العميل متصلا بشبكة إيثرنت 1/1 والخادم بشبكة إيثرنت 1/2، فإن مسار حركة مرور البيانات يكون واضحا. ومع ذلك، في بيئات العالم الحقيقي التي تحتوي على العديد من الواجهات أو قنوات المنفذ أو تكوينات vPC، فإن هذا التعريف ليس دائما بسيطا.
في مثل هذه الحالات، يكون النهج الموصى به هو إستخدام وحدة محلل المنطق المضمنة (ELAM)، التي توفر إمكانية رؤية على مستوى أجهزة مستوى البيانات (ASIC).
تسمح لك ELAM بالتقاط حزمة أثناء معالجتها بواسطة خط أنابيب إعادة التوجيه وتكشف عن معلومات هامة مثل:
وهذه الطريقة أكثر دقة بشكل ملحوظ من الاعتماد على أدوات مستوى التحكم، لأنها تعكس المسار الفعلي لإعادة توجيه الأجهزة.
من المهم ملاحظة أن ELAM يلتقط حزمة واحدة فقط في كل مرة، لذلك يجب تحديد معايير التصفية بدقة لتطابق حركة المرور المطلوبة (على سبيل المثال، مصدر IP، وجهة IP، منفذ TCP). إذا كانت عوامل التصفية واسعة للغاية، فهناك خطر التقاط حركة مرور غير مرتبطة مثل ICMP أو UDP بدلا من تدفق TCP المقصود.
وبالإضافة إلى ذلك، يجب تكرار هذه العملية لكل من إتجاهي حركة المرور:
في البيئات التي تستخدم بروتوكول vPC أو ECMP، يمكن موازنة أحمال حركة مرور البيانات عبر مسارات متعددة. ونتيجة لذلك، يمكن لحركة مرور البيانات المقدمة والمرجعة عبور محولات أو واجهات مختلفة. في هذه السيناريوهات، يجب تنفيذ ELAM على كل محول من محولات Nexus ذات الصلة لضمان الرؤية الكاملة.
من خلال تحديد واجهات الدخول والخروج بشكل صحيح، يتم تقليل نطاق أستكشاف الأخطاء وإصلاحها بشكل كبير، مما يتيح التحقق المركز من عدادات الواجهة وسياسات جودة الخدمة وإعدادات وحدة الحد الأقصى للنقل (MTU) ونقاط الازدحام المحتملة على مسار إعادة التوجيه الدقيق.
يقوم هذا المثال بتصفية حركة المرور باستخدام مصدر IP 10.93.19.8، ووجهة IP 10.91.2.35، ومنفذ وجهة TCP 445.
إعداد ELAM
switch# debug platform internal tah elam
switch(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
switch(TAH-elam-insel6)# set outer ipv4 src_ip 10.93.19.8
switch(TAH-elam-insel6)# set outer ipv4 dst_ip 10.91.2.35
switch(TAH-elam-insel6)# set outer l4 l4-type 0
switch(TAH-elam-insel6)# set outer l4 dst-port 445
switch(TAH-elam-insel6)# start
بعد إنشاء حركة المرور، استرد النتيجة:
switch(TAH-elam-insel6)# report
التقاط حركة المرور العكسية (إلزامي لإمكانية الرؤية الكاملة)
للتحقق من صحة مسار الإرجاع، كرر التكوين عن طريق تبديل عناوين IP للمصدر والوجهة:
switch# debug platform internal tah elam
switch(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
switch(TAH-elam-insel6)# set outer ipv4 dst_ip 10.93.19.8
switch(TAH-elam-insel6)# set outer ipv4 src_ip 10.91.2.35
switch(TAH-elam-insel6)# set outer l4 l4-type 0
switch(TAH-elam-insel6)# set outer l4 dst-port 445
switch(TAH-elam-insel6)# start
ملاحظات عملياتية
دليل ASIC ELAM الخاص بمقياس السحابة Cisco Nexus 9000
يضمن التحقق من صحة مستوى الواجهة عدم قيام محول Nexus بإدخال أي قيود أو شذوذ تؤثر على حركة مرور TCP. ويتم التركيز على تأكيد أن التكوين وحالة التشغيل وعدادات الأجهزة تتوافق مع السلوك المتوقع لإعادة توجيه مستوى البيانات عالي الأداء.
التحقق من صحة التكوين
switch# show running-config interface ethernet1/1-2 | include access-group
switch#show running-config interface ethernet1/1-2 | include service-policyswitch#show policy-map interface ethernet1/1-2
switch# show policy-map
switch# show class-map
switch# show class-map type network-qos
switch# show policy-map type network-qos
switch#show policy-map system type network-qos
switch# show queuing interface ethernet1/1-2
switch# show policy-map type queuing
switch#show running-config interface ethernet1/1-2
switch#show interface ethernet1/1-2 switchport
switch#show spanning-tree interface ethernet1/1-2
switch# show ip interface ethernet1/1-2
التحقق من حالة التشغيل
switch#show interface ethernet1/1-2 | include MTU
switch#show interface ethernet1/1-2 | include speed|duplex
switch#show interface ethernet1/1-2 | include rate|flap
التحقق من صحة عداد الأخطاء
switch#clear counters interface all
switch#show interface counters errors non-zero | include Port|Eth1/1|Eth1/2
التحقق من صحة ما بعد الاختبار
switch#show interface counters errors non-zero | include Port|Eth1/1|Eth1/2
يعد ضمان التوجيه واستقرار ARP أمرا بالغ الأهمية للتأكد من أن محول Nexus لديه قابلية وصول متناسقة من الطبقة 3 ولا يقدم مشاكل حل متقطعة يمكن أن تؤثر على أداء TCP. يمكن أن يؤدي عدم الاستقرار في إدخالات التوجيه أو تحليل ARP إلى فقدان الحزمة أو زيادة زمن الوصول أو حجب حركة المرور.
معايير التحقق من الصحة
switch# show ip route 10.93.19.8
switch# show ip route 10.91.2.35
switch# show ip arp detail | include 10.93.19.8
switch# show ip arp detail | include 10.91.2.35
في محولات Cisco Nexus 9000، يتم إجراء إعادة التوجيه في الأجهزة (ASIC)، ولا تشارك وحدة المعالجة المركزية في عمليات مستوى البيانات العادية. لذلك، فإن مراقبة حركة مرور TCP من المضيف إلى المضيف في مستوى التحكم غير عادية وتشير إلى أنه يتم توقيع الحزم بسبب الاستثناءات أو التكوينات الخاطئة. بمجرد معالجة حركة المرور بواسطة وحدة المعالجة المركزية، تصبح خاضعة لتنظيم مستوى التحكم، ومن المتوقع أنه يمكن ملاحظة عمليات السقوط إذا تجاوزت حركة المرور معدل مستوى التحكم المسموح به.
أسلوب التحقق من الصحة
switch# ethanalyzer local interface inband display-filter "ip.addr==10.93.19.8 and ip.addr==10.91.2.35" limit-capture 0
السلوك المتوقع
سلوك غير متوقع
يعتمد زمن انتقال إعادة توجيه الحزم في محولات Nexus 9000 على حجم الحزمة ووضع إعادة التوجيه والميزات الممكنة. تشير مواصفات Cisco بشكل نموذجي إلى زمن الوصول للحزم ذات 64 بايت تحت إعادة التوجيه المباشر.
+----------------------+----------------------+-------------------------+-------------------------------+
| Switch Model | ASIC / Architecture | Ports (example config) | Typical Forwarding Latency |
| | | | (64B packet) |
+----------------------+----------------------+-------------------------+-------------------------------+
| Nexus 93180YC-EX | Cloud Scale (EX) | 48x25G + 6x100G | ~1.0 – 1.2 microseconds |
| Nexus 93180YC-FX | Cloud Scale (FX) | 48x25G + 6x100G | ~0.9 – 1.0 microseconds |
| Nexus 93180YC-FX2 | Cloud Scale (FX2) | 48x25G + 6x100G | ~0.8 – 0.9 microseconds |
| Nexus 9364C | Cloud Scale | 64x100G | ~1.0 microsecond |
| Nexus 9336C-FX2 | Cloud Scale (FX2) | 36x100G | ~0.8 microseconds |
| Nexus 93240YC-FX2 | Cloud Scale (FX2) | 48x25G + 12x100G | ~0.8 – 0.9 microseconds |
| Nexus 92300YC | Broadcom Trident II | 48x10/25G + 6x40/100G | ~2 – 3 microseconds |
| Nexus 92160YC-X | Broadcom Tomahawk | 48x25G + 6x100G | ~2 microseconds |
+----------------------+----------------------+-------------------------+-------------------------------+
يمكن أن توفر الميزات الإضافية زمن وصول إضافي:
ومع ذلك:
إن السيناريو الواقعي الوحيد الذي يزيد فيه زمن الوصول بشكل ملحوظ هو الازدحام:
حتى في هذه الحالات:
وهذا يتيح نسخ حركة مرور مستوى البيانات في مستوى التحكم لالتقاط الحزمة وتصديرها إلى ملف .pcapng، مما يسمح بالتحليل التفصيلي في Wireshark.
التكوين
monitor session 1
source interface ethernet1/1 both
source interface ethernet1/2 both
destination interface sup-eth0
no shut
تنفيذ أسر
switch# ethanalyzer local interface inband mirror capture-filter "tcp port 445" limit-capture 0 write bootflash:tcp_capture.pcapng
اعتبارات تقنية
| طريقة | الميزة | تحديد |
|---|---|---|
| شبر |
دقيق، بدون تضمين |
يتطلب اتصالا ماديا. |
| ERSPAN |
إمكانية الالتقاط عن بعد |
عرضة لازدحام الشبكة. |
لضمان موثوقية التقاط فسحة بين دعامتين إلى وحدة المعالجة المركزية، من الضروري التحقق من أن مستوى التحكم لا يقوم بإسقاط الحزم المتطابقة بسبب تحديد المعدل.
أمر التحقق من الصحة
switch(config)# show hardware rate-limiter | i Allowed|span
Allowed, Dropped & Total: aggregated bytes since last clear counters
R-L Class Config Allowed Dropped Total
span 50 0 0 0 <<<
span-egress disabled 0 0 0
منهجية التحقق من الصحة
تأويل
إن لوحظ قطرات، الالتقاط طريقة ينبغي كنت غيرت أن يجسر أو ERSPAN.
يوفر إختبار ICMP التحقق الأساسي من سلامة مستوى البيانات قبل إجراء تحليل TCP المعقد. نظرا لأن بروتوكول ICMP عديم الحالة وأبسط، فإنه يسمح بالكشف السريع عن فقدان الحزمة أو التكرار أو عدم تناسق المسار.
سلوك متوقع في فسحة بين دعامتين التقاط
وهذا يؤكد إعادة التوجيه الصحيحة وغياب فقدان الحزمة في مستوى البيانات.
سلوك شاذ
إذا تم إعادة توجيه حركة مرور ICMP بشكل متناسق دون فقد، فهناك احتمال كبير بأنه يتم أيضا إعادة توجيه حركة مرور TCP بشكل صحيح في الطبقة 2/3.
عندما قبض حركة مرور يستعمل فسحة بين دعامتين إلى CPU (أو فسحة بين دعامتين/ERSPAN)، كل ربط يستطيع كنت monitore مرتين: مرة واحدة على المدخل ومرة واحدة على المخرج. يمكن إستخدام هذا التكرار لتقدير زمن انتقال إعادة التوجيه الذي أدخله المحول Nexus عن طريق حساب فرق الوقت بين كلا المثيلين لنفس الحزمة.
عمليا، يمكن قياس هذا التأخير باستخدام حركة مرور ICMP التي تم التقاطها سابقا بمقارنة دلتا الوقت بين طلب الارتداد المضاعف وحزم الرد على الارتداد. وهذا يوفر قاعدة أساسية بسيطة وفعالة لأداء إعادة توجيه المحول. إذا كان مطلوبا تحليل أعمق، يمكن تطبيق نفس المنهجية على حركة مرور TCP من خلال التقاط التدفق وقياس فرق الوقت بين حزم TCP المكررة.
منهجية
تشكيل Wireshark
View > Time Display Format > Seconds Since Previous Displayed Packet
Right-click on "Time Delta from Previous Displayed Packet" → Apply as Column
ip.addr==10.93.19.8 and ip.addr==10.91.2.35 and tcp
Right-click packet → Follow → TCP Stream
تأويل
يوفر هذا القسم منهجية تفصيلية لتحليل التقاط حزمة TCP في Wireshark، بما في ذلك تكوين ملف التعريف، من خلال الحالة الافتراضية الموضحة مسبقا. وقد التقطت الصور التي عرضت مباشرة من موقع Wireshark. وعلى سبيل التذكير، فإن السيناريو هو:
قام أحد المستخدمين بتحديد أن عملية النسخ الاحتياطي لمجموعة بيانات التطبيقات التي تبلغ سعتها 6.5 تيرابايت تقريبا، والتي تم إكمالها سابقا في غضون 9 ساعات تقريبا، تستغرق الآن حوالي 21 ساعة. جهاز الشبكة الوحيد الذي يمكن الوصول إليه هو محول Cisco Nexus 9300 switch متصل بخادم المصدر (10.93.19.8). يبلغ حجم وحدة الحد الأقصى للنقل (MTU) التي تم تكوينها على واجهة المحول 9000 بايت (الإطارات كبيرة الحجم)، بينما لا تعرف وحدة الحد الأقصى للنقل (MTU) الموجودة على الخادم. يتوفر التقاط حزمة من خادم المصدر، وقد تم بالفعل إكمال جميع خطوات التحقق من صحة Nexus السابقة بدون اكتشاف أي حالات شاذة.
ثالثا - الملاحظات والقيود الرئيسية
في Wireshark، يمكنك إنشاء ملفات تخصيص مخصصة مخصصة مخصصة لنوع معين من التحليل الذي تريد إجراؤه.
وصف العمود
يعد التقاط مصافحة TCP ثلاثية الإتجاه إلزاميا لأنه يحتوي على معلمات حساسة مثل MSS و Window Scale و SACK التي تعرف كيفية تصرف الجلسة.
بدون هذه المعلومات، يكون أي تحليل TCP غير كامل ويمكن أن يؤدي إلى إستنتاجات غير صحيحة حول الأداء أو السبب الجذري.

من التقاط الحزمة:
يتم حساب RTT الأولي (iRTT) على النحو التالي:
هذه القيمة مشتقة من:
يوجد معظم زمن الوصول (~94٪) في المسار الأمامي (عميل → Client Server →)، بينما يكون وقت الاستجابة من المصدر أقل، مما يشير إلى عدم وجود وحدة المعالجة المركزية (CPU) أو تأخر التطبيق على العميل.
يتوافق المنفذ 445 مع Microsoft Server Message Block (SMB)، المستخدم بشكل شائع لمشاركة الملفات ومحركات أقراص الشبكة وخدمات مصادقة Windows. يعد هذا البروتوكول حساسا لكل من زمن الوصول والإنتاجية، مما يجعله معتمدا بدرجة كبيرة على كفاءة TCP واستقرار الشبكة.
يمثل إطار TCP حجم البيانات التي يمكن إرسالها قبل انتظار الإقرار. وفي هذه الحالة، يكون المصدر أكثر تقييدا من الوجهة. وهذه القيم صغيرة نسبيا بالنسبة للبيئات الحديثة، وقد تحد من الإنتاجية، وخاصة مع زيادة معدل انتقال العدوى من الأم إلى الطفل.
يمكن تقدير أقصى خرج نظري باستخدام:
الخرج = حجم نافذة TCP / RTT
إستبدال القيم التي تمت ملاحظتها:
سعة المعالجة ≈ 64240 / 0.000798 ≈ 80.5 ميجابايت/الثانية (644 ميجابت في الثانية تقريبا)
يمثل هذا الحد الأعلى لمعدل نقل البيانات بافتراض:
وبسرعة المعالجة الحالية التي تبلغ 644 ميجابت في الثانية، يستغرق نقل ملف بسعة 6.5 تيرابايت ما يقرب من 23.5 ساعة، مما يتوافق مع ميزة الانخفاض الملحوظ. لإنجاز إطار نقل لمدة 9 ساعات، يجب زيادة سعة المعالجة إلى 1.68 جيجابت في الثانية تقريبا، مما يتطلب إما نافذة TCP أكبر (زيادة حوالي 2.7 ×) أو RTT أقل بشكل ملحوظ (حوالي 291 µ).
في ظل الظروف الحالية (64 كيلوبايت من النافذة وحوالي 798 µمن RTT)، لا يمكن الوصول إلى هدف 9 ساعات، لأن خرج TCP مقيد بواسطة منتج تأخير النطاق الترددي. ودون زيادة حجم النافذة أو تقليل زمن الوصول، لا يمكن للبروتوكول إستخدام نطاق ترددي أكبر متاح، مما يجعل الهدف غير قابل للتحقيق.
| السيناريو | سعة المعالجة | الوقت المقدر للنقل (6.5 تيرابايت) | إطار TCP المطلوب | RTT المطلوب |
|---|---|---|---|---|
| الحالة الحالية |
644 ميجابت في الثانية (~80. 5 ميجابايت في الثانية) |
~23.5 ساعة |
64 كيلوبايت |
798 µs |
| الهدف (9 ساعات) |
~1683 ميجابت في الثانية (~210 ميجابايت في الثانية) |
9 ساعات |
~172 كيلوبايت |
~291 µ |
وقد تم ذلك سابقا، مما يشير إلى حدوث تغيير في الشبكة أو التطبيق أو المصدر أو الوجهة. ومن الأهمية بمكان أن نلاحظ أنه استنادا إلى هذا التحليل الأولي وحده يمكن بالفعل التوصل إلى إستنتاج هام: في ظل حجم نافذة TCP وشروط RTT الحالية، لا يمكن تحقيق هدف ال 9 ساعات.
تعرض الجداول مقارنة لكيفية تباين سعة المعالجة حسب زيادة أو نقصان حجم نافذة RTT و TCP.
تأثير RTT على سعة المعالجة (حجم النافذة الثابت = 64،240 بايت)
| RTT | سعة المعالجة (ميجابايت/ثانية) | سعة المعالجة (ميجابت في الثانية) |
|---|---|---|
| 200 µ (0.0002 ثانية) |
~321 ميجابايت/ثانية |
~2،568 ميجابت في الثانية |
| µ 798 (0.000798 s) |
~80.5 ميغابايت/الثانية |
~644 ميجابت في الثانية |
| 2 مللي ثانية (0.002 ثانية) |
~32.1 ميغابايت/الثانية |
~257 ميجابت في الثانية |
| 10 مللي ثانية (0.01 ثانية) |
~6.4 ميجابايت/ثانية |
~51 ميجابت في الثانية |
تأثير حجم نافذة TCP (RTT الثابت = 798 µ)
| حجم نافذة TCP | سعة المعالجة (ميجابايت/ثانية) | سعة المعالجة (ميجابت في الثانية) |
|---|---|---|
| 16 كيلوبايت (16 384 مليا) |
~20.5 ميغابايت/الثانية |
~164 ميجابت في الثانية |
| 64 كيلوبايت (64 240 مليا) |
~80.5 ميغابايت/الثانية |
~644 ميجابت في الثانية |
| 256 كيلوبايت (262 144 مليا) |
~328 ميجابايت/ثانية |
~2،624 ميجابت في الثانية |
| 1 ميغابايت (1،048،576 مليا) |
~1،314 ميجابايت/ثانية |
~10.5 جيجابت في الثانية |
التفسير الفني
وهذا يوضح أن كلا من حجم نافذة RTT و TCP هما عاملان حاسمان في أداء TCP ويجب تحليلهما معا عند أستكشاف أخطاء الخرج وإصلاحها.
يشير رأس IP بحجم 20 بايت إلى عدم وجود خيارات IP. يؤكد رأس TCP ذو 32 بايت أنه يتم إستخدام خيارات TCP، مع إضافة 12 بايت خارج الرأس الأساسي. تتضمن هذه الخيارات عادة MSS، قياس النافذة، و SACK المسموح به.
تم تمكين الإقرار الانتقائي (SACK) على نقطتي النهاية. هذا غير مرئي في الصورة. ويتيح SAACK للمتلقي أن يعترف بالكتل غير المتلاصقة من البيانات، وأن يبلغ المرسل على وجه التحديد بالأجزاء التي تم إستلامها بنجاح.
على سبيل المثال، إذا تم تلقي الأجزاء 1000-2000 و 3000-4000 ولكن تم فقدان 2000-3000، فيمكن أن يشير المستقبل إلى ذلك بشكل صريح. وفي غياب نظام SAACK فإن المرسل سوف يعيد إرسال كل البيانات بعد الفجوة؛ مع SAACK، فقط الجزء المفقود يتم إعادة نقله. يؤدي هذا إلى تحسين الأداء بدرجة كبيرة في البيئات التي تعاني من فقدان الحزم.
تحليل الحزمة 1 (SYN)
يقوم Wireshark بتعميم الرقم التسلسلي إلى صفر من أجل إمكانية القراءة، على الرغم من أنه عمليا يمثل قيمة عشوائية كبيرة. من المتوقع عدم وجود حمولة أثناء إنشاء الاتصال. تشير قيمة MSS البالغة 1460 بايت إلى MTU بمقدار 1500 بايت (رأس IP بحجم 20 بايت + رأس TCP بحجم 20 بايت). يمكن أن تكون مدة البقاء (TTL) ل 128 مضيف مستند إلى Windows، ومشاهدة هذه القيمة في الالتقاط تشير إلى أن الالتقاط كان من المحتمل عند المصدر أو بالقرب منه جدا عبر الطبقة 2.
تحليل الحزمة 2 (SYN-ACK)
قيمة ACK هي 1 لأن علم SYN يستهلك رقم تسلسل واحد، حتى عندما لا يوجد حمولة. لذلك، ACK = SEQ + 1.
وتشير مدة البقاء (TTL) التي تم رصدها البالغة 59 قدما إلى مدة البقاء (TTL) الأولية التي تبلغ 64، مما يعني أن الحزمة إجتازت ما يقرب من 5 نقلات توجيه (64 − 59 = 5). تقوم كل خطوة موجهة بخفض مدة البقاء (TTL) بمقدار واحد.
خطر التجزئة وأثر الشبكة
يؤدي وجود خمس نقلات توجيه تقريبا إلى فرض مخاطر محتملة على الأداء، خاصة فيما يتعلق بعدم تطابق وحدة الحد الأقصى للنقل (MTU) والتجزئة.
إذا كان لأي إرتباط متوسط وحدة الحد الأقصى للنقل (MTU) أقل من حجم الحزمة الأصلية، يمكن أن يحدث التجزئة. ويقودنا هذا إلى عواقب عديدة:
وبالنظر إلى هذه العوامل، من الأهمية بمكان ضمان اتساق وحدة الحد الأقصى للنقل عبر المسار أو تنفيذ إجراءات التشدد في إطار نظام إدارة المواد الكيميائية عند الاقتضاء.
عندما يكون ACK RTT أكبر من iRTT، فإنه يشير إلى أن زمن الوصول قد زاد مقارنة بالخط الأساسي الذي تم إنشاؤه أثناء مصافحة TCP.
هذا يعني أن الشبكة أو نقاط النهاية تتسبب في مزيد من التأخير خلال الجلسة، وذلك عادة بسبب:
إذا إستمرت هذه الحالة طوال جلسة TCP، فإنها تؤدي إلى:
في Wireshark، من الممكن عرض عدد مرات حدوث الشرط ACK RTT > iRTT باستخدام ميزة رسم I/O البياني أدناه: Statistics → I/O Graph، تطبيق مرشح العرض (tcp.analysis.ack_rtt > tcp.analysis.initial_rtt)، تحديد نمط النبضات، إعداد المحور Y على الحزم، واستخدام فاصل مقداره 50 ميكرو ثانية.
في الرسم البياني، تمثل النبضات البنفسجية عدد الحزم التي تستوفي هذه الحالة ضمن كل فاصل 50 ميكرو ثانية. وكما لوحظ، تستمر هذه الحالة طوال التقاط الحزمة بالكامل، مما يشير إلى أن زمن الوصول أثناء الجلسة أعلى بشكل متسق من الخط الأساسي الأولي. ويشير هذا السلوك بشدة إلى انخفاض مستمر في الأداء بدلا من حالة انتقالية، مما يعزز الحاجة إلى التحقيق في المصادر المحتملة مثل الازدحام أو التخزين المؤقت أو تأخيرات معالجة نقاط النهاية عبر المسار من نهاية إلى نهاية.

ومن المهم أيضا تحديد المدة التي يتم فيها تجاوز معدل نقل البيانات، وليس مجرد عدد المرات. على الرغم من أن Wireshark لا يسمح بالطرح بين الحقول مباشرة، إلا أنه يمكن إجراء مقارنة مرئية باستخدام رسومات الإدخال/الإخراج البيانية:
في هذا العرض المرئي، يمثل الرسم البياني البنفسجي الشرط ACK RTT > iRTT، والذي يكون موجودا بشكل ثابت خلال جلسة TCP بأكملها. وتظهر البيانات تضخم زمن الانتقال المستمر، حيث تصل فترات ذروة متعددة إلى 11 مللي ثانية وترتفع الحد الأقصى إلى أكثر من 100 مللي ثانية، مما يمثل 11x إلى 100 ضعف الحد الأساسي ل iRTT.
ويؤكد هذا السلوك أن زيادة زمن الانتقال ليست عابرة بل مستمرة، مما يشير إلى مسألة منهجية تؤثر على الدورة على مر الزمن. ويشير هذا الانحراف المستمر بشدة إلى عوامل مثل إزدحام الشبكة أو التخزين المؤقت (Bufferbloat) أو تأخيرات معالجة نقطة النهاية.

يقوم هذا القسم بتقييم موثوقية TCP من خلال تحليل عمليات إعادة الإرسال عبر الوقت، مما يتيح التحقق مما إذا كان فقدان الحزمة يساهم في انخفاض الأداء.
يوضح الرسم البياني توزيع عمليات إعادة إرسال TCP عبر الوقت. ولوحظ ما مجموعه 42 إعادة إرسال، تمثل 0.00125 في المائة فقط من مجموع حركة المرور.
هذا المستوى من إعادة الإرسال تافه ويشير بوضوح إلى أن فقدان الحزمة ليس عاملا مساهما في هذا السيناريو.
تكوين Wireshark (عمليات إعادة إرسال TCP)
Statistics → I/O Graphs
tcp.analysis.retransmission and !tcp.analysis.spurious_retransmission
يوضح الرسم البياني عدد عمليات إعادة الإرسال المزيفة لبروتوكول TCP في فواصل زمنية مدتها 1 ثانية تم إنشاؤها بواسطة المصدر 10.93.19.8.
في Wireshark، يشير إعادة بث TCP الاحتيالي إلى أن المضيف أعاد إرسال مقطع لم يتم فقدانه بالفعل. وصلت الحزمة الأصلية إلى المستلم بنجاح، ولكن المرسل افترض الخسارة بشكل غير صحيح بسبب تقدير التوقيت غير الدقيق. لا يشير هذا السلوك إلى خسارة حقيقية للحزمة، بل إلى منطق إعادة الإرسال غير الفعال عند المرسل.
في هذا الالتقاط:
وهذا يؤكد أن سلوك إعادة الإرسال يتم التحكم فيه بالكامل بواسطة مكدس TCP المصدر، وليس بواسطة الشبكة.
ويبلغ العدد الإجمالي لعمليات إعادة الإرسال الزائفة التي تمت ملاحظتها 112 حالة، وهو ما يمثل 0.0332٪ من إجمالي حركة المرور التي تم الاستيلاء عليها.
تكوين Wireshark (عمليات إعادة إرسال TCP المزيفة)
Statistics → I/O Graphs
tcp.analysis.spurious_retransmission and ip.src==10.93.19.8
التفسير الفني
كما يعزز هذا التحليل أن المشكلة لا تتعلق بموثوقية الشبكة، بل بسلوك TCP أو زمن الوصول أو أداء نقاط النهاية.

تظهر الرسمة البيانية سعة المعالجة الفعالة، ويتم حسابها استنادا إلى حمولة بروتوكول TCP (البيانات الفعلية المنقولة) بالموجات في الثانية. يتذبذب الخرج الذي تم رصده بشكل أساسي بين 600 ميجابت/ثانية و 800 ميجابت/ثانية، مما يشير إلى أنه في حين تعمل الشبكة على نقل البيانات بشكل نشط، فإنها لا تصل إلى إمكانات عرض نطاق ترددي أكبر.
تكوين Wireshark (سعة معالجة فعالة)
Statistics → TCP Streams Graphs → Throughout

التفسير الفني
يسلط الرسم البياني الضوء على سلوك حرج في جلسة عمل TCP بمقارنة سعة المتلقي مقابل البيانات الفعلية أثناء النقل (وحدات البايت أثناء الطيران).

وقمم البيانات التي تم رصدها في الرحلات الجوية نحو 1 ميغابايت، مع قمم إضافية تتراوح بين 8 كيلوبايت و 5 كيلوبايت، لكنها تتركز بالدرجة الأولى بين 1 كيلوبايت و 250 كيلوبايت.
وهذا يشير إلى أنه على الرغم من أن المتلقي قادر على معالجة كميات أكبر من البيانات، فإن المرسل لا يستخدم النافذة المتاحة باستمرار.
تكوين Wireshark (بيانات في الطيران مقابل النافذة)
Statistics → TCP Streams Graphs → Throughout
التفسير الفني
يساعد تحليل حجم حمولة TCP مقابل MSS عبر الوقت على تحديد ما إذا كان المرسل يستخدم كل مقطع TCP بكفاءة أم لا. يتم إجراء هذا التحليل من منظور عنوان IP المصدر (10.93.19.8).
في Wireshark، يتم تكوين الرسومات البيانية كما يلي:
من التحليل:

يوضح هذا التحليل أن تحديد السبب الجذري لمسائل أداء بروتوكول TCP يتطلب نهجا شاملا ومتكاملا، بدلا من افتراض أن الشبكة هي المصدر الرئيسي للتدهور.
تم إجراء التحقق من الصحة بشكل مكثف على المحول Cisco Nexus 9300 switch، بما في ذلك عدادات الواجهة وسياسات جودة الخدمة والتوجيه واستقرار ARP والتحقق من وحدة المعالجة المركزية (CPU) والتقاط الحزم القائم على فسحة بين دعامتين والتحقق من إعادة توجيه مستوى ASIC باستخدام ELAM. أكدت جميع النتائج بشكل ثابت أن المحول كان يعمل ضمن المعلمات المتوقعة:
بالإضافة إلى ذلك، كشف تحليل بروتوكول TCP:
يرجع انخفاض الأداء إلى تشغيل الخادم المصدر مع وحدة الحد الأقصى للنقل (MTU) 1500 في بيئة ذات قدرة فائقة على الاتصال، مما يمنع الاستخدام الفعال لسعة الشبكة المتاحة.
قم بزيادة وحدة الحد الأقصى للنقل (MTU) على الخادم المصدر من 1500 إلى 9000 بايت لمحاذاتها مع الوجهة والبنية الأساسية للشبكة. الفوائد:
ثمة فائدة أساسية يمكن إستخلاصها من هذا التحليل وهي أهمية تجنب الاستنتاجات السابقة لأوانها عند أستكشاف أخطاء أداء الشبكة وإصلاحها. في حين أنه من الشائع في البداية عزو المشاكل إلى الشبكة، فإن هذه الحالة توضح بوضوح أن الشبكة كانت تعمل بشكل صحيح عبر مسار مستوى البيانات بالكامل. لم يكن من الممكن التعرف بدقة على الاختناقات الحقيقية إلا من خلال إجراء تحليل TCP العميق من منظوري المصدر والوجهة على حد سواء - بما في ذلك معلمات مصافحة اليد وسلوك RTT واستخدام النافذة وإعادة الإرسال وكفاءة الحمولة.
إن أخذ الوقت الكافي لتحليل سلوك بروتوكول TCP بالتفصيل يمنع التشخيص الخاطئ، ويقلل من تغييرات الشبكة غير الضرورية، ويضمن توجيه جهود الإصلاح نحو السبب الجذري الفعلي.
| المراجعة | تاريخ النشر | التعليقات |
|---|---|---|
1.0 |
06-May-2026
|
الإصدار الأولي |