تقوم مجموعة بروتوكولات IBM و DLSw و STUN و BSTUN بإنشاء أنبوب جلسة IP من موجه إلى آخر. يتم إستخدام TCP بشكل شائع كطريقة النقل بين الموجهات نظرا لموثوقيتها. يقدم هذا المستند معلومات حول قدرة TCP على اكتشاف أكبر وحدة الحد الأقصى للنقل (MTU) بشكل ديناميكي التي يمكن إستخدامها على أنبوب جلسة العمل، مما يقلل من التجزئة ويرفع الكفاءة إلى الحد الأقصى.
للحصول على مزيد من المعلومات حول اصطلاحات المستندات، راجع اصطلاحات تلميحات Cisco التقنية.
لا توجد متطلبات أساسية خاصة لهذا المستند.
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات المُقدمة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كنت تعمل في شبكة مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر قبل استخدامه.
يحدد اكتشاف وحدة الحد الأقصى للنقل (MTU) للمسار (PMTD)، كما هو موضح في RFC 1191، أن حجم البايت الافتراضي لحزمة IP هو 576. تمثل أجزاء IP و TCP الخاصة بالإطار 40 بايت تاركة 536 بايت كحمولة بيانات. تعرف هذه المساحة باسم الحد الأقصى لحجم المقطع أو MSS. يحدد القسم 3.1 من RFC1191 عدد أكبر من رسائل MSS التي يمكن التفاوض عليها، وهذا هو بالضبط ما يفعله إصدار الأمر ip tcp path-mtu-discovery في موجه Cisco. عند تكوين هذا الأمر وبدء جلسة TCP، تحتوي حزمة SYN خارج الموجه على خيار TCP الذي يحدد MSS أكبر. تمثل MSS الأكبر هذه وحدة الحد الأقصى للنقل (MTU) للواجهة الصادرة ناقص 40 بايت. إذا كانت وحدة الحد الأقصى للإرسال (MTU) الخاصة بواجهة الصادر تبلغ 1500 بايت، فإن MSS المعلن عنها تكون 1460. إذا كانت الواجهة الصادرة تحتوي على وحدة الحد الأقصى للنقل (MTU) أكبر، على سبيل المثال، ترحيل الإطارات باستخدام وحدة الحد الأقصى للنقل (MTU) بسرعة 4096 بايت، فسيكون MSS 4096 بايت ناقص 40 بايت من معلومات IP، وسيتم عرضه في إخراج أمر show tcp (الحد الأقصى لمقطع البيانات هو 4056 بايت).
لا يكون لتكوين PMTD على الموجه أي تأثير على جلسات عمل TCP الموجودة التي تم إنشاؤها بالفعل من/إلى الموجه. تم إدخال PMTD إلى مستوى 11.3.5T IOS، وفي الإصدارات اللاحقة من IOS، أصبح الأمر إختياريا. قبل IOS 11.3(5)T، كان قيد التشغيل بشكل افتراضي. بالإضافة إلى ذلك، يكون PMTD تلقائيا عندما تكون عناوين IP في الشبكة الفرعية نفسها، مما يشير إلى أنها متصلة مباشرة على نفس الوسائط.
يجب تكوين كلا الموجهين لكي يعمل PMTD بشكل صحيح. عندما كلا مسحاج تخديد يكون، ال syn من واحد مسحاج تخديد إلى الآخر يحتوي ال TCP قيمة إختياري إعلان ال MSS أعلى. ثم يعلن SYN العائد عن قيمة MSS الأعلى. وبالتالي فإن كلا الجانبين يعلن للآخر أنه يستطيع قبول برنامج أكثر شمولا. إذا تم تكوين الأمر ip tcp path-mtu-discovery، في موجه واحد فقط، فسيكون لديه أمر ip tcp path-mtu-discovery، وسيعلن عن رسائل MSS الأكبر حجما وبالتالي، يمكن للموجه 2 أن يرسل إلى الموجه 1 إطار سعة 1460 بايت. لن يعلن الموجه 2 أبدا عن MSS الأكبر، وبالتالي يتم تأمين الموجه 1 في إرسال القيم الافتراضية.
في مجموعة IBM، يمكن تكليف DLSw و STUN و BSTUN بنقل كميات كبيرة من البيانات عبر جلسة عمل TCP من الموجه إلى الموجه. قد يكون من المهم والمفيد للغاية تنفيذ PMTD، خاصة بالنظر إلى أنه تم تمكينها بشكل افتراضي في مستويات 11.2 و IOS السابقة. وفقا ل RFC، يكون أكبر إطار 576 بايت بشكل افتراضي، ناقص 40 بايت لعملية تضمين IP/TCP. يستخدم DLSw 16 بايت أخرى لعملية التضمين. البيانات الفعلية التي يتم نقلها، باستخدام MSS الافتراضي، هي 520 بايت. كما أن DLSw لديه إمكانية حمل حزمتين مختلفتين من حزم التحكم في الارتباط المنطقي 2 (LLC2) في إطار TCP واحد. إذا أرسلت كل من محطتي عمل إطار LLC2، فيمكن ل DLSw حمل كلا من إطارات LLC2 إلى النظير البعيد DLSw في إطار واحد. من خلال وجود برنامج MSS أكبر، يمكن لبرامج تشغيل TCP إستيعاب مخطط Piggyback هذا. فيما يلي ثلاثة سيناريوهات رئيسية لتوضيح قيمة الأمر path-mtu-discovery.
السيناريو 1 - النفقات العامة غير المرغوبة
عادة ما يتم تكوين أجهزة SDLC للحصول على الحد الأقصى للبيانات الذي يبلغ 265 أو 521 بايت من البيانات في كل إطار. إذا كانت القيمة 521 وأرسل الموجه 3174 إلى الموجه 1 إطار 521 بايت SDLC، فسيقوم الموجه 1 بإنشاء إطارات TCP لنقل هذا إلى الموجه النظير DLSw 2. يحتوي الإطار الأول على 520 بايت من البيانات و 16 بايت من معلومات DLSw و 40 بايت من معلومات IP لإجمالي 576 بايت. ستحتوي الحزمة الثانية على 1 بايت من البيانات و 16 بايت من معلومات DLSw و 40 بايت من معلومات IP. عند إستخدام PMTD وافتراض وحدة الحد الأقصى للنقل (MTU) بسرعة 1500 بايت للحصول على وحدة تخزين بسرعة 1460 ميجاهرتز، تم إعلام الموجه 1 بواسطة الموجه 2 بأن الموجه 2 يمكن أن يستقبل 1460 بايت من البيانات. يرسل الموجه 1 جميع 521 بايت من بيانات SDLC إلى الموجه 2 في حزمة واحدة مع 16 بايت من معلومات DLSw و 40 بايت من معلومات IP. بما أن DLSw هو حدث محول للعملية، باستخدام PMTD، فقد تم تقليل إستخدام وحدة المعالجة المركزية لمعالجة إطار SDLC هذا إلى النصف. وبالإضافة إلى ذلك، لا يحتاج الموجه 2 إلى انتظار الحزمة الثانية لتجميع إطار LLC2. مع تمكين PMTD، يستلم الموجه 2 الحزمة بالكامل ويمكن بعد ذلك إزالة معلومات IP و DLSW من الحزمة وإرسالها إلى الحزمة 3745 دون تأخير.
السيناريو 2 - التأخير من الحزم التي لم يتم طلبها
في هذا السيناريو، هناك غيوم IP متوفرة بمقاييس متساوية لموازنة الحمل أو التكرار. يمكن أن يؤدي عدم تمكين PMTD إلى إبطاء DLSw بشكل كبير. بدون تمكين PMTD، يجب أن يقوم الموجه 1 بتجميع الإطار سعة 521 بايت في حزمتين TCP-One باستخدام 520 بايت من البيانات، بينما يجب أن يقوم الثاني بتجميع 1 بايت من البيانات. إذا إجتاز الحزمة الأولى سحابة IP العليا، فهناك احتمال كبير أنها ستصل بعد الحزمة الثانية إذا تم إرسال الحزمة الثانية عبر سحابة IP الأقل، المتساوية التكلفة. يؤدي هذا إلى إنشاء ما يعرف باسم الحزمة خارج الترتيب. تكمن القدرة المضمنة في بروتوكول IP/TCP في القدرة على إدارة هذه المشكلة. يتم تخزين الحزم الخارجة عن الترتيب في الذاكرة في انتظار وصول الدفق بالكامل ثم إعادة تجميعها. وعلى الرغم من ذلك، لا تعتبر الحزم التي لا يتم طلبها غير شائعة، إلا أنه يجب إجراء جميع محاولات تقليلها لأن هذا الحدث يستخدم موارد الذاكرة ووحدة المعالجة المركزية. يمكن أن يؤدي وجود كمية كبيرة من الأوامر الصادرة إلى تأخير كبير على مستوى بروتوكول TCP. إذا تم تأجيل جلسة عمل الطبقة 3/DLSw، فسوف تتأثر جلسة عمل LLC2/SDLC التي يتم نقلها عبر DLSw هذه لاحقا. إذا تم تمكين PMTD في هذا السيناريو، يتم إرسال إطار واحد مكون من 521 بايت في إطار TCP واحد عبر أي من سحابة IP. يحتاج موجه الاستقبال فقط إلى المخزن المؤقت وإلغاء كبسلة إطار TCP واحد.
لا توجد علاقة بين PMTD وأكبر إطار تم الإعلان عنه لمحطة طرفية في بيئات SNA. وهذا يتضمن الإطار الأكبر (LF) في حقل معلومات التوجيه (RIF) على Token-Ring. يفرض PMTD بشكل صارم مقدار البيانات التي يمكن تضمينها في إطار TCP واحد. لا يحتوي LLC2 و SDLC على حزم أجزاء القدرة، ومع ذلك، لا يتوفر IP/TCP. يمكن تجزئة إطار SNA كبير لأنه يتم تغليفه في TCP. يتم مسح هذه البيانات في الموجه DLSw البعيد، ويتم تقديمها مرة أخرى كبيانات SNA غير مجزأة.
السيناريو 3 - اتصال وسعة معالجة أسرع للطراز LLC2
في هذا السيناريو، يتلقى ال 3174 ومحطة العمل جلسات من خلال ال 3745 TIC إلى الكمبيوتر الرئيسي، إذا كان كلا الجهازين يرسل البيانات الموجهة للمضيف، فمن الممكن أن يضع TCP كلا من إطارات LLC2 في حزمة واحدة. بدون PMTD، هذا غير ممكن إذا كانت البيانات المجمعة من الإطارين 521 بايت أو أكبر. في مثل هذه الحالة، سيحتاج برنامج TCP إلى إرسال كل حزمة بشكل منفصل. على سبيل المثال، إذا كان 3174 ومحطة العمل يرسلان إطارا في نفس الوقت تقريبا وكانت كل حزمة من هذه الحزم تحتوي على 400 بايت من البيانات، فإن الموجه يستقبل ويخزن كل إطار مؤقتا. يجب أن يقوم الموجه الآن بتضمين كل تدفق من تدفقات البيانات ذات 400 بايت هذه في حزم TCP المنفصلة للإرسال إلى النظير.
مع تمكين PMTD وبافتراض MSS بقيمة 1460، يستقبل الموجه حزمتي LLC2 ويخزنهما مؤقتا. سيصبح الآن قادرا على تضمين كلا الطرازين في حزمة واحدة. سوف تحتوي حزمة TCP هذه على 40 بايت من معلومات IP، و 16 بايت من معلومات DLSw لتزاوج دوائر DLSw الأول، و 400 بايت من البيانات، و 16 بايت أخرى من البيانات لتزاوج الدائرة DLSw الثاني، و 400 بايت أخرى من البيانات. يستخدم هذا السيناريو الخاص جهازين ومن ثم، دوائرين DLSw. يسمح PMTD ل DLSw بالتوسع إلى أعداد أكبر من دارات DLSw بكفاءة أكبر. تتطلب العديد من شبكات Speaker-Hub مئات المواقع البعيدة، لكل منها جهاز أو جهازان من أجهزة SNA، يتم النظر في موجه موقع مركزي متصل بنظام التشغيل المنسق (OSA) أو بروتوكول FEP الذي يوفر الوصول إلى التطبيقات المضيفة. تمنح PMTD TCP و DLSw القدرة على التطوير إلى متطلبات أكبر دون الإفراط في إستخدام وحدة المعالجة المركزية (CPU) للموجه وموارد الذاكرة، فضلا عن توفير نقل أسرع.
ملاحظة: تم العثور على خطأ برنامج في أواخر الإصدار 12.1(5)T وتم حله في الإصدار 12.2(5)T حيث لم تكن PMTD تعمل عبر نفق الشبكة الخاصة الظاهرية (VPN). هذا برمجية خلل CSCdt49552 (يسجل زبون فقط).
قم بإصدار الأمر show tcp.
havoc#show tcp Stand-alone TCP connection to host 10.1.1.1 Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Local host: 30.1.1.1, Local port: 11044 Foreign host: 10.1.1.1, Foreign port: 2065 Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes) TCP driver queue size 0, flow controlled FALSE Event Timers (current time is 0xA18A78): Timer Starts Wakeups Next Retrans 3 0 0x0 TimeWait 0 0 0x0 AckHold 0 0 0x0 SendWnd 0 0 0x0 KeepAlive 0 0 0x0 GiveUp 2 0 0x0 PmtuAger 0 0 0x0 DeadWait 0 0 0x0 iss: 3215333571 snduna: 3215334045 sndnxt: 3215334045 sndwnd: 20007 irs: 3541505479 rcvnxt: 3541505480 rcvwnd: 20480 delrcvwnd: 0 SRTT: 99 ms, RTTO: 1539 ms, RTV: 1440 ms, KRTT: 0 ms minRTT: 24 ms, maxRTT: 300 ms, ACK hold: 200 ms Flags: higher precedence, retransmission timeout Datagrams (max data segment is 536 bytes): Rcvd: 30 (out of order: 0), with data: 0, total data bytes: 0 Sent: 4 (retransmit: 0, fastretransmit: 0), with data: 2, total data bytes: 473
يتم تعريف هذا العرض كجلسة عمل DLSw TCP لأن أحد المنافذ في جلسة عمل TCP هو 2065. بالقرب من أسفل المخرجات، الحد الأقصى لمقطع البيانات هو 536 بايت. تشير هذه القيمة إلى أن موجه النظير DLSw البعيد ل 10.1.1.1 لا يحتوي على الأمر ip tcp path-mtu-discovery الذي تم تكوينه. يتم بالفعل حساب قيمة 536 بايت لمعلومات IP في إطار IP. لا تمثل قيمة 536 بايت هذه معلومات DLSw التي يمكن إضافتها إلى حزمة TCP التي تحمل حركة مرور SNA.
باستخدام الأمر ip tcp path-mtu-discovery الذي تم تكوينه، الحد الأقصى لمقطع البيانات هو الآن 1460. بالإضافة إلى ذلك، يشير إخراج الأمر show tcp إلى إمكانية وحدة الحد الأقصى للنقل (MTU) للمسار مباشرة قبل جملة الحد الأقصى لمقطع البيانات. تحتوي الواجهة الصادرة على وحدة الحد الأقصى للنقل (MTU) بمقدار 1500 بايت. يساوي MTU 1500 بايت ناقص 40 بايت من معلومات IP هو 1460 بايت. سيستخدم DLSw 16 بايت أخرى. وبالتالي، يمكن إرسال إطار بحجم يصل إلى 1444 بايت من LLC2 أو SDLC في إطار TCP واحد.
havoc#show tcp Stand-alone TCP connection to host 10.1.1.1 Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Local host: 30.1.1.1, Local port: 11045 Foreign host: 10.1.1.1, Foreign port: 2065 Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes) TCP driver queue size 0, flow controlled FALSE Event Timers (current time is 0xA6DA58): Timer Starts Wakeups Next Retrans 4 0 0x0 TimeWait 0 0 0x0 AckHold 1 0 0x0 SendWnd 0 0 0x0 KeepAlive 0 0 0x0 GiveUp 3 0 0x0 PmtuAger 0 0 0x0 DeadWait 0 0 0x0 iss: 3423657490 snduna: 3423657976 sndnxt: 3423657976 sndwnd: 19995 irs: 649085675 rcvnxt: 649085688 rcvwnd: 20468 delrcvwnd: 12 SRTT: 124 ms, RTTO: 1405 ms, RTV: 1281 ms, KRTT: 0 ms minRTT: 24 ms, maxRTT: 300 ms, ACK hold: 200 ms Flags: higher precedence, retransmission timeout, path mtu capable Datagrams (max data segment is 1460 bytes): Rcvd: 5 (out of order: 0), with data: 1, total data bytes: 12 Sent: 6 (retransmit: 0, fastretransmit: 0), with data: 3, total data bytes: 485