تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة
كيفية تحليل خوارزمية TCP Nagle وتفاعلات ACK المتأخرة في عمليات التقاط الحزم، وزمن وصول الحزم الصغيرة، وأكشاك الطلب/الاستجابة، وتأخيرات البروتوكول التفاعلي، وأدلة TCP_NODELAY.
تبدو بعض تطبيقات TCP بطيئة حتى مع عدم فقدان الحزمة وانخفاض وحدة المعالجة المركزية وعرض النطاق الترددي السليم. يمكن أن يكون السبب هو التفاعل بين خوارزمية Nagle وسلوك ACK المتأخر. يبحث المستخدمون عن "TCP Nagleتأخر ACK pcap"، و"تأخير TCP 40 مللي ثانية"، و"زمن وصول الحزمة الصغيرة"، و"التقاط حزمة TCP_NODELAY"، و"استجابة طلب بطيئة TCP"، و"لماذا ينتظر TCP قبل إرسال حزم صغيرة" عندما يتوقف البروتوكول التفاعلي عند عمليات الكتابة الصغيرة.
تعد جراحة PCAP مفيدة لأن هذه المشكلة تعتمد بالكامل على التوقيت. تحتاج إلى الحفاظ على الطوابع الزمنية للحزمة وأحجام الحمولة وتوقيت ACK واتجاهها وحدود رسائل التطبيق.
ماذا يفعل نيجل
تعمل خوارزمية Nagle على تقليل حمل الحزم الصغيرة عن طريق إعاقة عمليات الكتابة الصغيرة عندما تكون هناك بالفعل بيانات غير معترف بها أثناء الطيران. بالنسبة للنقل بالجملة، يمكن أن يكون هذا فعالاً. بالنسبة لبروتوكولات الطلب/الاستجابة التفاعلية التي ترسل العديد من الرسائل الصغيرة، يمكنها تقديم زمن وصول مرئي.
النمط النموذجي:
- يرسل التطبيق شريحة صغيرة.
- كتابة صغيرة أخرى جاهزة.
- ينتظر المرسل ACK قبل إرسال المزيد.
- يقوم المتلقي بتأخير ACK على أمل الحصول عليه.
- كلا الجانبين ينتظر لفترة وجيزة.
يمكن أن يبدو هذا التأخير وكأنه توقف مؤقت غامض للتطبيق.
ما يفعله تأخير ACK
يتيح ACK المؤجل للمتلقي الانتظار قبل الاعتراف بالبيانات، غالبًا لتقليل حركة مرور ACK أو ACKs على بيانات الاستجابة. يعد هذا سلوكًا صالحًا عادةً لبروتوكول TCP.
تظهر المشكلة عندما:
- ينتظر المرسل بسبب Nagle.
- ينتظر المتلقي بسبب تأخير ACK.
- ينتظر التطبيق الجزء الصغير الثاني.
- لا يرسل أي طرف بيانات كافية لكسر الانتظار على الفور.
يُظهر التقاط الحزمة فجوة متكررة، غالبًا ما تكون حول تأخير ثابت صغير.
الأعراض الشائعة
غالبًا ما يصف الباحثون:
- "لا يعاني بروتوكول TCP من فقدان الحزمة ولكن التطبيق بطيء."
- "كل طلب له تأخير قدره 40 مللي ثانية."
- "الكتابة الصغيرة بطيئة."
- "تعطيل زمن الاستجابة الثابت لـ TCP_NODELAY."
- "بروتوكول قاعدة البيانات بطيء عبر VPN."
- "واجهة المستخدم البعيدة بطيئة مع وجود العديد من الحزم الصغيرة."
- "تحتوي مكالمات RPC على فجوات غريبة."
- "يحدث زمن الاستجابة فقط على نظام التشغيل Linux لنظام التشغيل Windows."
قد يكون السبب الجذري هو خيارات مأخذ التوصيل أو أنماط كتابة التطبيق أو سياسة ACK الخاصة بجهاز الاستقبال.
أدلة الحزمة
بحث:
- حمولات TCP صغيرة.
- جانب واحد يرسل أقل من MSS.
- تأخرت رسالة التطبيق الثانية.
- يصل ACK بعد فجوة ثابتة تشبه المؤقت.
- لا يحدث إعادة الإرسال.
- النافذة ليست ممتلئة.
- RTT أقل من المماطلة الملحوظة.
- الإنتاجية ليست عنق الزجاجة الرئيسي.
وهذا ما يميز Nagle/تأخر ACK عن الخسارة والازدحام وتأخير DNS وتفاوض TLS ووقت معالجة الخادم.
بروتوكولات الطلب/الاستجابة
البروتوكولات التفاعلية حساسة بشكل خاص:
- استعلامات قاعدة البيانات.
- تأطير RPC.
- بروتوكولات تشبه Telnet.
- بروتوكولات التحكم الصناعية المخصصة.
- قنوات التحكم بسطح المكتب البعيد.
- بوابات التداول المالي.
- مكتبات عملاء Chatty HTTP.
- بروتوكولات الأوامر الموجهة نحو الخط.
إذا أرسل أحد التطبيقات الرؤوس وحقول الطول وأجزاء النص كعمليات كتابة صغيرة منفصلة، فقد يكشف تتبع الحزمة عن زمن الوصول الذي يمكن تجنبه.
TCP_NODELAY وتجميع التطبيقات
يمكن أن يؤدي تعطيل Nagle باستخدام TCP_NODELAY إلى تقليل زمن الوصول لبعض التطبيقات التفاعلية. لكنه ليس دائما الحل الأفضل.
تشمل الخيارات ما يلي:
- تمكين
TCP_NODELAYللرسائل الصغيرة الحساسة لزمن الاستجابة. - دفعة صغيرة يكتب في تطبيق واحد الكتابة.
- مسح إطارات البروتوكول الكاملة فقط.
- تجنب أنماط الكتابة والكتابة والقراءة ذات الأجزاء الصغيرة.
- قم بضبط سلوك ACK المؤجل إذا كان النظام الأساسي يسمح بذلك.
- حافظ على تمكين Nagle لعمليات النقل المجمعة.
يجب أن يوجه PCAP القرار.
التشخيصات الكاذبة
غالبًا ما يتم تشخيص هذه المشكلة بشكل خاطئ على النحو التالي:
- فقدان الحزمة.
- وحدة المعالجة المركزية للخادم بطيئة.
- TLS النفقات العامة.
- الكمون واي فاي.
- ازدحام VPN.
- تأخير DNS.
- مشكلة MTU.
قد تكون هذه حقيقية في حالات أخرى، ولكن إذا أظهر التتبع فجوات متسقة في الحزم الصغيرة دون عمليات إعادة الإرسال، فإن تفاعل إرسال TCP/ACK يستحق الاهتمام.
التقاط المتطلبات
للحصول على تحليل مفيد، احتفظ بما يلي:
- مصافحة TCP.
- أول طلب بطيء
- أحجام الحمولة.
- الطوابع الزمنية للحزمة بدقة عالية.
- حزم ACK فقط.
- اتجاه كل شريحة.
- الطوابع الزمنية لسجل التطبيق إذا كانت متوفرة.
- معرفة خيار المقبس إذا كان متاحًا.
لا تقم بقص الفجوات الصغيرة الخاملة. هم الأدلة.
قائمة التحقق من التصحيح
استخدم سير العمل هذا:
- تحديد فجوات الكمون المتكررة.
- قياس مدة الفجوة.
- تحقق مما إذا كانت الحمولات صغيرة.
- تحقق مما إذا كان لدى المرسل بيانات لم يتم الإقرار بها.
- تحقق من توقيت ACK.
- تأكيد عدم إعادة الإرسال يفسر الفجوة.
- قارن مع RTT.
- اختبار كتابة التطبيق التجميعي.
- اختبر
TCP_NODELAYإذا كان ذلك مناسبًا. - الحفاظ على قبل / بعد PCAPS.
التشخيص النهائي
مشاكل TCP Nagle وACK المتأخرة هي مشاكل التوقيت والكتابة الصغيرة، وليست مشاكل عرض النطاق الترددي. الدليل المهم هو المقاطع الصغيرة، وتأخير ACK، وسلوك انتظار المرسل، وفجوات زمن الاستجابة الثابتة المتكررة.
تساعد جراحة PCAP في الحفاظ على توقيت الحزمة المطلوب ومقارنته لإثبات ما إذا كان تطبيق الطلب/الاستجابة البطيء قد تم حظره بواسطة سلوك الحزمة الصغيرة لـ TCP.
<!-- pcap-localized-evidence-foundation-v1:start -->إجابة مبنية على الحزم لموضوع «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة»
الإجابة المباشرة هي أن label في أداة التحليل أو رسالة التطبيق لا تكفي لتحديد السبب. ابدأ بنقطة الالتقاط واتجاه التدفق، ثم أثبت آخر حد بروتوكول نجح وأول حد فشل. في «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة» يجب أن يستطيع مراجع آخر العثور على packet أو gap أو interval الذي يدعم الجملة، وأن يعرف ما الذي يمكن أن ينفيها.
ضع الالتقاط على خريطة المسار
سجّل client وserver وأي proxy أو load balancer أو NAT أو firewall بينهما. اكتب interface ومكان الالتقاط والساعة ونظام التشغيل وهل ترى الاتجاهين. capture قرب client يثبت ما وصل إلى client، لكنه لا يثبت أن server لم يرسل شيئًا. capture قرب server يثبت الإرسال عند تلك النقطة، لكنه لا يثبت عبور المسار. إذا اختلف ملفان من نقطتين، صحّح clock offset وطابق flow tuple وTCP sequence أو معرف المعاملة قبل مقارنة الزمن.
تحقق من سلامة القياس: snap length، dropped packets، offload، capture filter،حدود ring buffer ووقت البدء. checksum غير الصحيح في capture على host قد يكون offload artifact. segment كبير قد يكون نتيجة GRO/TSO وليس packet واحدًا على السلك. packet غائب من ملف محدود لا يصبح network loss قبل إثبات أن نقطة القياس كان يجب أن تراه.
اقرأ الحدود بالترتيب
| الحد | دليل النجاح | دليل الفشل المفيد |
|---|---|---|
| Link وIP | الاتجاه والعناوين والمسار متسقة | ARP/NDP مفقود، ICMP، MTU أو asymmetry |
| TCP | SYN وSYN-ACK وACK مع sequence صحيح | retransmission أو RST أو zero window أو timeout |
| TLS | ClientHello وServerHello وتقدم handshake | alert أو SNI/ALPN/certificate boundary |
| التطبيق | request كامل ورد مرتبط به | status أو gap أو إغلاق قبل الرد |
| تجربة المستخدم | زمن الاستجابة أو failure window | stall مرتبط بحد مثبت |
توقف عند أول حد بلا دليل نجاح. إذا لم يكتمل TCP، لا تبدأ بتفسير HTTP. إذا وصل request إلى proxy ولم يظهر على upstream، فالحد يقع داخل proxy أو مساره. إذا وصل إلى upstream ولم يظهر response قبل policy timeout، افصل application delay عن فقد network بالنظر إلى ACK والتقدم في bytes.
افصل الملاحظة عن الفرضية
الملاحظة قابلة للإشارة: «أرسل client bytes حتى sequence محدد، ثم كرر المرسل segment ثلاث مرات ولم يصل ACK متقدم عند نقطة الرصد». الفرضية هي «المسار أسقط segment». قد تنفيها capture أخرى ترى ACK أو تظهر أن نقطة الالتقاط فقدت records. اكتب لكل فرضية دليلًا مؤيدًا ودليلًا يمكن أن يرفضها.
لا تجعل كلمة retransmission أو duplicate ACK حكمًا على المالك. reordering وloss وcapture artifact وreceiver delay قد تنتج علامات متشابهة. اربط direction وsequence وACK وSACK وRTT وwindow ووقت التطبيق. وفي DNS أو DHCP اربط transaction ID والعناوين والمحاولات، وفي HTTP اربط request/response، وفي TLS اربط اتجاه handshake بدل الاعتماد على لون packet.
حافظ على الأصل قبل التحرير
احسب checksum للملف الأصلي واجعله read-only في القضية. أنشئ working copy للتصفية والقص وإخفاء البيانات. سجّل كل عملية: المدخل، نوع التحويل، وقت التنفيذ، packet count قبل وبعد، checksum الناتج وسبب التغيير. إذا عدّلت timestamp أو حذفت packet، اذكر أن النسخة لم تعد مناسبة لقياس بعض التوقيت أو التسلسل.
عند إخفاء البيانات، استبدل addresses وidentifiers بصورة ثابتة حتى يبقى نفس endpoint قابلًا للتتبع. لا تحذف ports أو directions أو lengths إذا كانت ضرورية للحكم. افصل secret mapping عن التقرير المشترك. استخدم نطاق الالتقاط والتصدير لمراجعة حدود الملف، ونظرة PCAP Surgery العامة لتسليم نسخة مشتقة مع سجل قابل للتدقيق.
QA قبل نشر الإجابة
اسأل: هل العنوان والجواب يتناولان flow نفسه؟ هل كل زمن يذكر الساعة المستخدمة ونقطتي القياس؟ هل أول failure boundary محدد؟ هل alternative explanation مكتوبة؟ هل يمكن إعادة الاختبار بتغيير واحد؟ هل الأصل محفوظ؟ الإجابة الجيدة تحدد أيضًا حدودها: «يثبت هذا الملف سلوكًا قرب client خلال interval محدد؛ لا يثبت ما حدث داخل server».
كلمات Semrush لا تُوزع آليًا على المقالات. العبارة العامة الموثقة PCAP analyzer يملكها مسار المنتج وحده؛ هذه الصفحة تبقى على سؤالها التقني ولا تدعي volume أو KD غير موجود.
<!-- pcap-localized-evidence-foundation-v1:end --><!-- multilingual-blog-closeout:start -->إجابة مباشرة وحدود القبول
الإجابة المختصرة عن «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة» هي: كيفية تحليل خوارزمية TCP Nagle وتفاعلات ACK المتأخرة في عمليات التقاط الحزم، وزمن وصول الحزم الصغيرة، وأكشاك الطلب/الاستجابة، وتأخيرات البروتوكول التفاعلي، وأدلة TCP_NODELAY. تعامل مع هذه العبارة كنتيجة يجب التحقق منها، لا كوعد ينطبق على كل إدخال أو جهاز أو مشروع أو بيئة. النتيجة المكتملة تسجل الحالة الأولية والإجراء الدقيق والمخرج المرئي والشرط الذي يثبت اكتمال المهمة في PCAP Surgery.
إجراء يبدأ من الأدلة
ابدأ بحالة صغيرة قابلة للتكرار قبل تغيير مشروع كامل. سجل إصدار التطبيق ونظام التشغيل وهوية الإدخال أو الجهاز والإعدادات المهمة والنتيجة المتوقعة. نفذ إجراءً واحدًا مقصودًا، واحتفظ بأول انتقال غير متوقع، وقارنه بحالة سليمة معروفة إن توفرت. تغيير عدة عناصر معًا يخفي الشرط الذي أنشأ المشكلة أو أصلحها.
نقطة التحقق 1: تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات ا
حوّل «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة» إلى عبارة نجاح أو فشل يستطيع شخص آخر تكرارها. حدد ما يجب أن يظهر وما يجب أن يغيب وما إجراء الاستعادة الآمن. اترك المشروع أو الالتقاط الأصلي دون تغيير حتى تجتاز النسخة المصححة الاختبار نفسه.
نقطة التحقق 2: كيفية تحليل خوارزمية TCP Nagle وتفاعلات ACK المتأخرة في عمليات التقاط الحزم، وزمن وصول الح
تعامل مع «كيفية تحليل خوارزمية TCP Nagle وتفاعلات ACK المتأخرة في عمليات التقاط الحزم، وزمن وصول الحزم الصغيرة، وأكشاك الطلب/الاستجابة، وتأخيرات البروتوكول التف» كبوابة قبول مستقلة لموضوع «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة». سجل الحالة قبل الإجراء وأول تغير ظاهر والحالة النهائية. إذا اختلفت النتيجة عن الهدف الموصوف، فارجع إلى آخر نقطة مؤكدة بدل الاستمرار اعتمادًا على افتراضات.
نقطة التحقق 3: ماذا يفعل نيجل
حوّل «ماذا يفعل نيجل» إلى عبارة نجاح أو فشل يستطيع شخص آخر تكرارها. حدد ما يجب أن يظهر وما يجب أن يغيب وما إجراء الاستعادة الآمن. اترك المشروع أو الالتقاط الأصلي دون تغيير حتى تجتاز النسخة المصححة الاختبار نفسه.
نقطة التحقق 4: ما يفعله تأخير ACK
تعامل مع «ما يفعله تأخير ACK» كبوابة قبول مستقلة لموضوع «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة». سجل الحالة قبل الإجراء وأول تغير ظاهر والحالة النهائية. إذا اختلفت النتيجة عن الهدف الموصوف، فارجع إلى آخر نقطة مؤكدة بدل الاستمرار اعتمادًا على افتراضات.
نقطة التحقق 5: الأعراض الشائعة
حوّل «الأعراض الشائعة» إلى عبارة نجاح أو فشل يستطيع شخص آخر تكرارها. حدد ما يجب أن يظهر وما يجب أن يغيب وما إجراء الاستعادة الآمن. اترك المشروع أو الالتقاط الأصلي دون تغيير حتى تجتاز النسخة المصححة الاختبار نفسه.
نقطة التحقق 6: أدلة الحزمة
تعامل مع «أدلة الحزمة» كبوابة قبول مستقلة لموضوع «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة». سجل الحالة قبل الإجراء وأول تغير ظاهر والحالة النهائية. إذا اختلفت النتيجة عن الهدف الموصوف، فارجع إلى آخر نقطة مؤكدة بدل الاستمرار اعتمادًا على افتراضات.
نقطة التحقق 7: بروتوكولات الطلب/الاستجابة
حوّل «بروتوكولات الطلب/الاستجابة» إلى عبارة نجاح أو فشل يستطيع شخص آخر تكرارها. حدد ما يجب أن يظهر وما يجب أن يغيب وما إجراء الاستعادة الآمن. اترك المشروع أو الالتقاط الأصلي دون تغيير حتى تجتاز النسخة المصححة الاختبار نفسه.
نقطة التحقق 8: TCPNODELAY وتجميع التطبيقات
تعامل مع «TCPNODELAY وتجميع التطبيقات» كبوابة قبول مستقلة لموضوع «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة». سجل الحالة قبل الإجراء وأول تغير ظاهر والحالة النهائية. إذا اختلفت النتيجة عن الهدف الموصوف، فارجع إلى آخر نقطة مؤكدة بدل الاستمرار اعتمادًا على افتراضات.
نقطة التحقق 9: التشخيصات الكاذبة
حوّل «التشخيصات الكاذبة» إلى عبارة نجاح أو فشل يستطيع شخص آخر تكرارها. حدد ما يجب أن يظهر وما يجب أن يغيب وما إجراء الاستعادة الآمن. اترك المشروع أو الالتقاط الأصلي دون تغيير حتى تجتاز النسخة المصححة الاختبار نفسه.
نقطة التحقق 10: التقاط المتطلبات
تعامل مع «التقاط المتطلبات» كبوابة قبول مستقلة لموضوع «تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة». سجل الحالة قبل الإجراء وأول تغير ظاهر والحالة النهائية. إذا اختلفت النتيجة عن الهدف الموصوف، فارجع إلى آخر نقطة مؤكدة بدل الاستمرار اعتمادًا على افتراضات.
مصفوفة القبول
| النقطة | الدليل الواجب حفظه | شرط النجاح |
|---|---|---|
| تحليل TCP Nagle وتأخر ACK PCAP: زمن وصول الحزم الصغيرة، والأكشاك 40 مللي ثانية، وتطبيقات الطلب/الاستجابة البطيئة | الحالة الأولية وإجراء واحد والحالة الناتجة | يستطيع مشغل ثان تكرار النتيجة |
| كيفية تحليل خوارزمية TCP Nagle وتفاعلات ACK المتأخرة في عمليات التقاط الحزم، وزمن وصول الحزم الصغيرة، وأكشاك الطلب/الاست | الحالة الأولية وإجراء واحد والحالة الناتجة | يستطيع مشغل ثان تكرار النتيجة |
| ماذا يفعل نيجل | الحالة الأولية وإجراء واحد والحالة الناتجة | يستطيع مشغل ثان تكرار النتيجة |
| ما يفعله تأخير ACK | الحالة الأولية وإجراء واحد والحالة الناتجة | يستطيع مشغل ثان تكرار النتيجة |
| الأعراض الشائعة | الحالة الأولية وإجراء واحد والحالة الناتجة | يستطيع مشغل ثان تكرار النتيجة |
| أدلة الحزمة | الحالة الأولية وإجراء واحد والحالة الناتجة | يستطيع مشغل ثان تكرار النتيجة |
عزل الفشل والاستعادة والتسليم
توقف عند أول حد يفشل. احتفظ بالمصدر أو المشروع أو الجلسة أو الالتقاط، وأنشئ نسخة قبل التحرير المدمر، وغيّر متغيرًا واحدًا في كل تجربة. إعادة سير واسع بعد عدة تغييرات قد تعطي نتيجة مختلفة من دون تفسير السبب.
افصل غياب الدليل عن دليل الغياب. قد تعني الشاشة الفارغة إدخالًا أو نطاقًا أو مرشحًا أو صلاحية أو جهازًا أو فترة أو حالة مشروع خاطئة. أثبت مسار الالتقاط أو الاستيراد قبل تفسير decoder أو المحرر أو التقرير أو التصدير.
قبل التسليم، أعد فتح الأثر الدائم وافحص بدايته ونقطة القرار ونهايته. سجل الإصدار والمنصة والإعداد والتوقع والملاحظة وأصغر إعادة إنتاج. احذف البيانات الحساسة أو احجبها وتأكد من أن المستلم مخول.
أسئلة وأجوبة
ما أسرع بداية موثوقة؟
استخدم أصغر حالة ممثلة، واكتب النتيجة المتوقعة، وغيّر متغيرًا واحدًا. أثبت المسار الأساسي قبل إضافة المرشحات أو التأثيرات أو التعديلات أو الأتمتة أو مصدر أكبر.
ما الأدلة التي ينبغي حفظها؟
احتفظ بهوية الإدخال والإصدار والمنصة والإعدادات والإجراء الدقيق وأول انتقال غير متوقع والمخرج النهائي. أغلق المشروع أو الجلسة أو التقرير أو التصدير وأعد فتحه.
متى يجب تكرار الإجراء؟
كرره بعد تغيير مؤثر في التطبيق أو النظام أو driver أو firmware أو النموذج أو المصدر أو سير العمل. احتفظ بالحالة المقبولة السابقة كأساس مقارنة دون تعديل.
متى تصبح المهمة جاهزة للتسليم؟
عندما يستطيع شخص مخول آخر تحديد الإدخال وتكرار الإجراء ورؤية النتيجة نفسها وفهم القيود وفتح الأثر المحفوظ دون الاعتماد على حالة محلية غير موثقة.
أدلة مرتبطة
تغطي الصفحات التالية باللغة نفسها المراحل المجاورة من دون تغيير المالك القانوني لهذا الموضوع:
<!-- multilingual-blog-closeout:end -->