كيفية ضبط MTU الصحيح
مقدمة في MTU
- ما هو MTU؟
- حساب MTU
- ابحث عن قيمة MTU على Windows
- تغيير MTU على ويندوز
- ابحث عن قيمة MTU على نظام Linux
- تغيير MTU على لينكس
ما هو MTU؟
تعد وحدة الإرسال القصوى (MTU) (الحد الأقصى لحجم وحدة النقل) معلمة تحدد أطول مخطط بيانات يمكن إرساله بواسطة واجهة IP دون الحاجة إلى تجزئة إلى وحدات أصغر. يجب أن تكون وحدة الإرسال الكبرى أكبر من أكبر مخطط بيانات تريد نقله دون تجزئة. وببساطة أكثر ، تحدد وحدة الإرسال الكبرى الحجم الأقصى (بالبايت) للحزمة التي يمكن إرسالها مرة واحدة.- بالنسبة للإيثرنت ، يجب أن تكون هذه القيمة 1500 بايت.
- لاتصالات PPPOE ، 1492
- ل CTS (سرعة منخفضة) ، 576
حساب MTU
يتم تعريف كل إطار إرسال بواسطة الجسم (= MMS = الحد الأقصى لحجم المقطع) الذي يحدد الجزء الأكبر من معلومات TCP التي يمكن إرسالها والرأس.- MTU = رؤوس MSS + TCP / IP
اعتبر ذلك:
- MSS = MTU-40 <- 40 للرأس (20 بايت IP و 20 بايت TCP)
الحزم ليست مجزأة
لا الحزم المفقودة
- حجم الحزمة / السرعة
إما نقل المعلومات من 1500000 بايت باستخدام حجم مختلف من الحزم من خلال خط T1 (CTS) (T1 = 1544000 بت / ثانية) على النحو التالي:
(MSS + رأس) * 8 بت / بايت---------------------------------- = الكمون
1544000 بت / ثانية.
- باستخدام قيم مختلفة من MTU ، يمكن للمرء حساب زمن انتقال الإرسال:
إذا كانت MTU = 1500 ، إذن: (1460 + 40) * 8/1544000 = 7772 مللي ثانية
إذا كانت MTU = 576 ، إذن: (536 +40) * 8/1544000 = 2924 مللي ثانية
- في 10 حلقات ، نحصل على 77.72 مللي ثانية لوحدة الإرسال الكبرى إلى 1500 ، و 29.24 ثانية لـ 576.
- لتلخيص ، كلما زاد عدد الحزم ، زاد النقل ؛-)
باستخدام نفس الصيغة لنقل 1MB.
1 ميغابايت = 1024 كيلو بايت = 1،048،576 بايت.
- إذا كانت MTU = 1500 ، إذن: (1460 + 40) * 8/1544000 = 7772 مللي ثانية
- 1 ميغا بايت / MSS = 1048576 بايت / 1460 = 718.2 ، لذا الحزم 719 لنقل 1 ميغا بايت.
- لنقل 1Mbyte: 719 ms 7772 * الحزم (حلقة دائمًا) = 5588.068 مللي ثانية أو 5588 ثانية.
- إذا قمنا بنقل 1 ميغابايت من 10 حلقات (المعرّفة من قِبل الرأس) ، فسنقوم بشكل مثالي بما يلي:
(حلقة واحدة * 10 * 7.772 مللي ثانية تأخير) + 718 * 7772 = 5658 ثانية.
إذا كانت MTU = 576 ، إذن: (536 +40) * 8/1544000 = 2924 مللي ثانية
1 ميغا بايت / MSS = 1048576 بايت / 536 = 1956.3 ، وبالتالي 1957 الحزم لنقل 1 ميغا بايت.
- لنقل 1 ميجابايت: 1957 رزمة * 2924 مللي ثانية (حلقة دائمًا) = 5722.268 مللي ثانية ، أو 5722 ثانية لكل حلقة.
إذا قمنا بنقل 1 ميجابايت في 10 حلقات:
(حلقات حزم واحدة * 10 * 2.924 مللي ثانية) * 2924 + 1956 = 5748 ثانية.
الفرق هو أن معظم حجم الحزمة كبير ، أقل من أن حجم الرأس مهم (نسبيًا ^ ^)
لنقل 1Mbyte ، إذا كان أحد يستخدم MTU إلى 1500 ، فهناك 719 * 40 = 28،760 بايت للرأس ، بينما MTU إلى 576 ، نحصل على 1957 * 40 = 78،280 ، أكثر من 49،520 بايت من الرأس المرسلة لكل ميجابايت. على سبيل المثال لدينا 10 حلقات ، ليست كبيرة ، ولكن في عمليات النقل اليومية ...
تستخدم معظم أجهزة المودم رأسًا أكبر ، ونحن لا نأخذ في الحسبان ومثل هذه الكمون التي قد تكون مرتبطة.
ابحث عن قيمة MTU على Windows
للعثور على الحد الأقصى لوحدة الإرسال الكبرى ، يجب أن تكون في موجه الأوامر (ابدأ> تشغيل> "cmd"). بمجرد دخول موجه الأوامر (صفحة سوداء) ، من الضروري اختبار اختبار ping ، مع الإشارة إلى حجم الحزم المراد اختبارها:- ping-fl (حجم الحزمة -28) (IP لخادمك)
يسمح لك الخيار f بإجراء الاختبار من خلال مطالبة أجهزة التوجيه التي تمت مصادفتها بعدم تجزئة الحزمة
يرسل الخيار l حجم الحزمة
إزالة 28 إلى حجم الحزمة المراد اختبارها يتوافق مع رأس هذه الحزمة
يجب أن نأخذ الاختبار إلى IP. من أجل متصفح الإنترنت ، من الأفضل أن تأخذ عنوان الويب.
- هذا يعطي:
ping-fl 1372 192.168.0.1- إذا كانت إجابة الاستعلام هي:
الرد من 192.168.0.1: بايت = 1372 ....
الرد من 192.168.0.1: بايت = 1372 ....
الرد من 192.168.0.1: بايت = 1372 ....
الرد من 192.168.0.1: بايت = 1372 ....
هنا يسمح حجم الحزمة للنقل دون تجزئة ، يمكن للمرء اختبار قيمة أعلى. عندما تتلقى الرسالة: "يجب أن تكون الحزمة مجزأة ولكن DF مجموعة" ، حجم الحزمة كبير جدًا.
تغيير MTU على ويندوز
بمجرد تحديد MTU الأمثل ، هناك طريقتان لتغيير قيمة MTU. أذكر هنا أسهل تطبيق ، عبر البرنامج:- DrTCP
بمجرد التثبيت ، لديك مربع "MTU" ، حيث يجب عليك إدخال قيمة الاختبار تحت DOS بإضافة 28 للرأس.
ابحث عن قيمة MTU على نظام Linux
- فقط قم بتشغيل هذا الأمر كجذر مع name_interface لاستبداله باسم واجهة الشبكة المعنية:
interface_name ifconfig | grep-Eo "MTU: [0-9] +"
تغيير MTU على لينكس
- في الجذر باستخدام الأمر ifconfig الذي يغير MTU على Linux باستخدام بناء الجملة التالي:
interface_name ifconfig mtu value_mtu
- مثال: اضبط كتم الواجهة على 1500
ifconfig eth0 mtu 1500