إرسال البيانات عبر شبكة مع صفر MTU (وحدة القصور القصوى)

StackOverflow https://stackoverflow.com/questions/4051228

  •  27-09-2019
  •  | 
  •  

سؤال

أريد إرسال البيانات بحيث يتم تعطيل تجزئة البيانات. على سبيل المثال في بينغ ، إذا كتبنا

ping localhost -M do -s 65507

-M DO: تعطيل التجزئة -65507: الحد الأقصى لحزمة الحزمة

يعطيني خطأ مثل

From localhost (127.0.0.1) icmp_seq=1 Frag needed and DF set (mtu = 16436)

هل هناك طريقة أخرى للقيام بذلك أو استخدام بعض البرامج الأخرى. ويفضل IPerf.

هل كانت مفيدة؟

المحلول

يبدو أنك تبحث عن علامة Dont Fragment (df). يتم تعيينه على أساس لكل حزمة في أعلام رأس IP. أي شيء يتم إرساله أكبر من MTU مع مجموعة DF سيؤدي إلى إنشاء رسالة خطأ ICMP. بدون تعيين DF قد جهاز التوجيه قد جزء وإرسال. هناك الكثير من الأنظمة المكسورة التي تتناول خطأ ICMP (جدران الحماية بجنون العظمة المجنونة) أو تتصرف بشكل غريب.

RFC791 يوفر تفاصيل عن قواعد تجزئة بيانات IP.

MTUs النموذجية هي 1500 بايت. الحد الأدنى لـ MTU لـ IPv4 هو 576 ، في حين أن IPv6 هو 1280. Gigabit Ethernet وغالبا ما تدعم الروابط الأخرى MTU أكبر بكثير.

نصائح أخرى

MTU من Ethernet هو 1500 بايت بما في ذلك الرؤوس. لا يمكنك فقط تجاهل ذلك. لا توجد طريقة يمكنك من خلالها إرسال حزمة كبيرة دون تجزئة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top