icmp(7)

الاسم
icmp - وحدة نواة ICMP لـ IPv4 في لينكس.

الوصف
تنفذ وحدة بروتوكول النواة هذه بروتوكول رسائل التحكم بالإنترنت المُعرّف في RFC 792. تُستخدم للإشارة إلى حالات الخطأ وللتشخيص. لا يتفاعل المستخدم مباشرة مع هذه الوحدة؛ بل تتواصل مع البروتوكولات الأخرى في النواة، وهذه تمرر أخطاء ICMP إلى طبقات التطبيقات. كما تستجيب وحدة ICMP النواة لطلبات ICMP.

يمكن لبروتوكول مستخدم استقبال حزم ICMP لجميع المقابس المحلية بفتح مقبس خام بالبروتوكول IPPROTO_ICMP. انظر raw(7) لمزيد من المعلومات. يمكن ترشيح أنواع حزم ICMP الممررة إلى المقبس باستخدام خيار المقبس ICMP_FILTER. تُعالج حزم ICMP دائمًا بواسطة النواة أيضًا، حتى عند تمريرها إلى مقبس مستخدم.

يحد لينكس معدل حزم أخطاء ICMP لكل وجهة. يُحد ICMP_REDIRECT و ICMP_DEST_UNREACH أيضًا بمسار وجهة الحزم الواردة.

  واجهات /proc
يدعم ICMP مجموعة من واجهات /proc لتكوين بعض معلمات IP العامة. يمكن الوصول إلى المعلمات بقراءة أو كتابة ملفات في الدليل /proc/sys/net/ipv4/. معظم هذه المعلمات هي حدود معدل لأنواع ICMP محددة. يستخدم لينكس 2.2 مرشح دلو الرمز المميز (token bucket filter) لتحديد ICMPs. القيمة هي المهلة بالجيفي (jiffies) حتى يُمسح مرشح دلو الرمز المميز بعد انفجار. الجيفي هي وحدة تعتمد على النظام، عادة 10ms على i386 وحوالي 1ms على alpha و ia64.

icmp_destunreach_rate (لينكس 2.2 إلى لينكس 2.4.9)
    الحد الأقصى لمعدل إرسال حزم ICMP للوجهة غير القابلة للوصول. يحد هذا المعدل الذي تُرسل به الحزم إلى أي مسار أو وجهة فردية. لا يؤثر الحد على إرسال حزم ICMP_FRAG_NEEDED اللازمة لاكتشاف MTU للمسار.

icmp_echo_ignore_all (منذ لينكس 2.2)
    إذا كانت هذه القيمة غير صفرية، سيتجاهل لينكس جميع طلبات ICMP_ECHO.

icmp_echo_ignore_broadcasts (منذ لينكس 2.2)
    إذا كانت هذه القيمة غير صفرية، سيتجاهل لينكس جميع حزم ICMP_ECHO المرسلة إلى عناوين البث.

icmp_echoreply_rate (لينكس 2.2 إلى لينكس 2.4.9)
    الحد الأقصى لمعدل إرسال حزم ICMP_ECHOREPLY استجابة لحزم ICMP_ECHOREQUEST.

icmp_errors_use_inbound_ifaddr (منطقي؛ مبدئي: معطل؛ منذ لينكس 2.6.12)
    إذا كان معطلاً، تُرسل رسائل خطأ ICMP مع العنوان الرئيسي للواجهة الخارجة.

    إذا كان مفعلاً، ستُرسل الرسالة مع العنوان الرئيسي للواجهة التي استقبلت الحزمة التي تسببت في خطأ ICMP. هذا هو السلوك الذي يتوقعه العديد من مدراء الشبكات من جهاز التوجيه. ويمكن أن يسهل تصحيح تخطيطات الشبكة المعقدة بشكل كبير.

    لاحظ أنه إذا لم يوجد عنوان رئيسي للواجهة المحددة، فسيُستخدم العنوان الرئيسي لأول واجهة غير استرجاعية (non-loopback) تحتوي على واحد بغض النظر عن هذا الإعداد.

icmp_ignore_bogus_error_responses (منطقي؛ مبدئي: معطل؛ منذ لينكس 2.2)
    تنتهك بعض أجهزة التوجيه RFC1122 بإرسال استجابات مزيفة لإطارات البث. تُسجل هذه الانتهاكات عادة عبر تحذير نواة. إذا كان هذا المعامل مفعلاً، لن تصدر النواة مثل هذه التحذيرات، مما يتجنب ازدحام ملف السجل.

icmp_paramprob_rate (لينكس 2.2 إلى لينكس 2.4.9)
    الحد الأقصى لمعدل إرسال حزم ICMP_PARAMETERPROB. تُرسل هذه الحزم عند وصول حزمة برأس IP غير صالح.

icmp_ratelimit (عدد صحيح؛ مبدئي: 1000؛ منذ لينكس 2.4.10)
    يحد الحد الأقصى لمعدلات إرسال حزم ICMP التي يتطابق نوعها مع icmp_ratemask (انظر أدناه) إلى أهداف محددة. 0 لتعطيل أي تحديد، وإلا الحد الأدنى للمسافة بين الاستجابات بالميلي ثانية.

icmp_ratemask (عدد صحيح؛ مبدئي: انظر أدناه؛ منذ لينكس 2.4.10)
    قناع مكون من أنواع ICMP التي تُحد معدلاتها.

    البتات الهامة: IHGFEDCBA9876543210
    القناع المبدئي: 0000001100000011000 (0x1818)

    تعريفات البتات (انظر ملف المصدر لنواة لينكس include/linux/icmp.h):
    0 رد الصدى
    3 الوجهة غير قابلة للوصول *
    4 إخماد المصدر *
    5 إعادة التوجيه
    8 طلب الصدى
    B تجاوز الوقت *
    C مشكلة في المعامل *
    D طلب الطابع الزمني
    E رد الطابع الزمني
    F طلب المعلومات
    G رد المعلومات
    H طلب قناع العنوان
    I رد قناع العنوان

البتات المميزة بنجمة محدودة المعدل مبدئيًا (انظر القناع المبدئي أعلاه).

icmp_timeexceed_rate (لينكس 2.2 إلى لينكس 2.4.9)
    المعدل الأقصى لإرسال حزم ICMP_TIME_EXCEEDED. تُرسل هذه الحزم لمنع الحلقات عندما تعبر حزمة عددًا كبيرًا جدًا من القفزات.

ping_group_range (عددان صحيحان؛ المبدئي: انظر أدناه؛ منذ لينكس 2.6.39)
    نطاق معرفات المجموعة (الحد الأدنى والحد الأقصى لمعرفات المجموعة، شاملين) المسموح لها بإنشاء مقابس صدى ICMP. المبدئي هو "1 0"، مما يعني عدم السماح لأي مجموعة بإنشاء مقابس صدى ICMP.

الإصدارات
أُزيل دعم طلب ICMP_ADDRESS في لينكس 2.2.

أُزيل دعم ICMP_SOURCE_QUENCH في لينكس 2.2.

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

لا تُرسل حزم ICMP_REDIRECT عندما لا يعمل لينكس كموجه. كما تُقبل فقط من البوابة القديمة المعرفة في جدول التوجيه، وتنتهي صلاحية مسارات إعادة التوجيه بعد فترة.

الطابع الزمني 64-بت الذي يُرجعه ICMP_TIMESTAMP يكون بالميلي ثانية منذ الحقبة، 1970-01-01 00:00:00 +0000 (UTC).

يستخدم ICMP في لينكس داخليًا مقبسًا خامًا لإرسال رسائل ICMP. قد يظهر هذا المقبس الخام في مخرجات netstat(8) بعقدة فهرسة صفرية.

انظر أيضًا
ip(7)، rdisc(8)

RFC 792 لوصف بروتوكول ICMP.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.