يشرح هذا المستند كيفية معالجة ترجمة عنوان الشبكة (NAT) لأجزاء بروتوكول رسائل التحكم في الإنترنت (ICMP) عند تكوين التحميل الزائد ل NAT. للحصول على معلومات حول التحميل الزائد ل NAT، ارجع إلى الأسئلة المتداولة حول NAT.
تعتمد معالجة أجزاء ICMP على حالة جدول ترجمة NAT، والترتيب الذي يستلم فيه موجه NAT أجزاء ICMP. سننظر في ثلاث حالات مختلفة، والتي نقوم فيها بإرسال مجموعتي إختبار اتصال من 172.16.0.1 إلى 172.17.1.2 بطول 3600 بايت لكل منها (ثلاث أجزاء IP).
لا توجد متطلبات خاصة لهذا المستند.
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
للحصول على مزيد من المعلومات حول اصطلاحات المستندات، ارجع إلى اصطلاحات تلميحات Cisco التقنية.
في هذا سيناريو نرى nat يخلق كامل موسع ترجمة مدخل في الترجمة طاولة. ما إن يتم ذلك، وما من أي آخر عنوان usable في ال nat بركة، nat يسقط أي جزء يستلم قبل أول جزء (الجزء 0) من ربط.
كما نبدأ، يتم تنفيذ حمل زائد فقط عنوان واحد في التجمع، وجدول ترجمة nat فارغ، ويظهر التكوين nat على النحو:
ip nat pool POOL1 10.10.10.3 10.10.10.3 prefix-length 24 ip nat inside source list 5 pool POOL1 overload access-list 5 permit 172.16.0.0 0.0.0.31
دعنا ننظر إلى ما يحدث عند بدء وصول الحزم إلى موجه NAT.
تصل الحزمة 1 الجزء 0، وينشئ NAT إدخال ترجمة موسع بالكامل. بعد ذلك NAT يترجم ويرسل ربط 1 جزء 0. يظهر جدول الترجمة الآن على هيئة:
Pro Inside global Inside local Outside local Outside global icmp 10.10.10.3:24320 172.16.0.1:24320 172.17.1.2:24320 172.17.1.2:24320
لاحظ الرقم 24320 في جدول الترجمة أعلاه. إنه قيمة معرف ICMP المضمنة في رأس ICMP لمخطط بيانات IP. يحتوي الجزء 0 فقط من مخطط بيانات IP على رأس ICMP هذا. لتحديد ما إذا كانت أجزاء متعددة جزءا من الحزمة نفسها، يحتاج NAT إلى تعقب قيمة معرف IP، التي تم العثور عليها في رأس IP لجميع الأجزاء من مخطط بيانات IP الأصلي. إذا كان لعدة أجزاء نفس قيمة معرف IP مثل الجزء 0، والذي قام بإنشاء الترجمة الموسعة، فإن NAT يترجم هذه الأجزاء باستخدام نفس إدخال الترجمة الموسعة. راجع RFC 791 للحصول على مزيد من المعلومات حول حقل تعريف IP. راجع RFC 792 للحصول على مزيد من المعلومات حول حقل تعريف ICMP.
تصل الحزمة 1 الجزء 2 والجزء 1 من الحزمة 1. بما أن هذا جزء من ال نفسه ربط أن يحتوي جزء 0 (أن يخلق الترجمة)، nat يستعمل ال أعلاه ترجمة مدخل أن يترجم ويرسل هذا جزء. يستلم الجهاز الوجهة جميع الأجزاء للحزمة 1 ويرسل ردا.
تصل الحزمة 2 الجزء 1. بما أن هذه حزمة جديدة، فإن قيمة IP الخاصة بها لا تطابق أي شيء تم تسجيله بواسطة NAT. لذلك nat يستطيع لا يستعمل الترجمة موجود. كما لا يمكنه إنشاء ترجمة جديدة نظرا لأنه يحتوي بالفعل على إدخال ترجمة موسع بالكامل ولا يحتوي على معرف ICMP لإنشاء ترجمة أخرى. NAT يقوم بإسقاط الحزمة 2 الجزء 1.
تصل الحزمة 2 الجزء 0. يمكن ل NAT إستخدام الترجمة الواردة أعلاه نظرا لتطابقات معرف ICMP. (تستخدم جميع إختبارات الاتصال ضمن مجموعة واحدة من إختبارات الاتصال نفس رقم معرف ICMP.) عند هذه النقطة، يسجل NAT عنوان IP لهذه الحزمة. nat يترجم ويرسل ربط 2 جزء 0.
تصل الحزمة 2 الجزء 2. nat يستطيع الآن استعملت الترجمة فوق بما أن هو ip قيمة التعريف يماثل ال one nat يسجل في الخطوة سابق. nat يترجم ويرسل ربط 2 جزء 2. يستلم الجهاز الوجهة الجزء 0 و 2 فقط (الجزء 1 مفقود)، لذلك فإنه لا يرسل أي رد.
في هذا السيناريو، نرى أنه إذا وصلت الأجزاء الأخرى من الجزء الأول (الجزء 0) أولا، فإن NAT يقوم بإنشاء ترجمة بسيطة طالما كان هناك عنوان في تجمع NAT لم يتم إستخدامه بالفعل في ترجمة موسعة بالكامل.
بما أن يبدأ، هناك فقط واحد عنوان في ال nat بركة، ال nat ترجمة طاولة فارغ، التشكيل يظهر ك:
ip nat pool POOL1 10.10.10.3 10.10.10.3 prefix-length 24 ip nat inside source list 5 pool POOL1 overload access-list 5 permit 172.16.0.0 0.0.0.31
تصل الحزمة 1 الجزء 1. لا يمكن ل NAT إنشاء ترجمة موسعة بالكامل في جدول الترجمة نظرا لأنه لا يحتوي على معلومات معرف ICMP في هذا الجزء. مهما، ما دام هناك أي موسع ترجمة في المكان، nat يدخل ترجمة بسيطة. بعد ذلك NAT يترجم ويرسل ربط 1 جزء 1. يظهر إدخال الترجمة على هيئة:
Pro Inside global Inside local Outside local Outside global --- 10.10.10.3 172.16.0.1 --- ---
تصل الحزمة 1 الجزء 0. بما أن معلومات معرف ICMP يتم تضمينها في هذا الجزء، فإن NAT يدخل إدخال ترجمة موسع بالكامل:
Pro Inside global Inside local Outside local Outside global --- 10.10.10.3 172.16.0.1 --- --- icmp 10.10.10.3:24321 172.16.0.1:24321 172.17.1.2:24321 172.17.1.2:24321
بعد ذلك، يقوم NAT بتسجيل معلومات معرف IP، ويترجم ويرسل الحزمة 1 الجزء 0.
تصل الحزمة 1 الجزء 2. لأن هذا الجزء يحتوي على نفس معلومات معرف IP التي قام NAT بتسجيلها في الخطوة 2، فإن NAT يستخدم الترجمة الموسعة بالكامل لترجمة وإعادة توجيه الحزمة 1 الجزء 2.
يستقبل الجهاز الوجهة جميع الأجزاء والردود. عند هذه النقطة، تنجح كل إختبارات الاتصال حتى يتم مسح جدول ترجمة NAT أو الخروج في بعض الأوقات.
في هذا السيناريو، نرى أنه إذا وصلت الأجزاء الأخرى من الجزء الأول (الجزء 0) أولا، فإن NAT يقوم بإنشاء ترجمة بسيطة طالما كان هناك عنوان في تجمع NAT لم يتم إستخدامه بالفعل في ترجمة موسعة بالكامل. إن يستعمل ترجمة موسع في ال nat طاولة بالفعل العنوان، أنت تواجه خطر nat ترجمة كل من الجزء مصدر عنوان إلى عنوان مختلف.
ما إن يبدأ، أكثر من واحد عنوان في ال nat بركة ينجز overload، الترجمة طاولة بالفعل يتلقى ترجمة موسع في مكان، والتكوين:
ip nat pool POOL1 10.10.10.3 10.10.10.5 prefix-length 24 ip nat inside source list 5 pool POOL1 overload access-list 5 permit 172.16.0.0 0.0.0.31
يظهر جدول الترجمة على هيئة:
Pro Inside global Inside local Outside local Outside global icmp 10.10.10.3:24322 172.16.0.1:24322 172.17.1.2:24322 172.17.1.2:24322
تصل الحزمة 1 الجزء 1. لا يمكن ل NAT إنشاء إدخال جدول ترجمة موسع بالكامل نظرا لأنه لا يحتوي على معلومات معرف ICMP في هذا الجزء، ولا يمكنه إنشاء إدخال ترجمة بسيط للعنوان 10.10.10.3، نظرا لوجود إدخال موسع موجود لعنوان IP هذا. nat يختار التالي عنوان IP حر (10.10.10.4) وينشئ ترجمة بسيطة. بعد ذلك NAT يترجم ويرسل ربط 1 جزء 1. يظهر جدول الترجمة الآن على هيئة:
Pro Inside global Inside local Outside local Outside global --- 10.10.10.4 172.16.0.1 --- --- icmp 10.10.10.3:24322 172.16.0.1:24322 172.17.1.2:24322 172.17.1.2:24322
تصل الحزمة 1 الجزء 0. بما أن معلومات معرف ICMP يتم تضمينها في هذا الجزء، فإن NAT يدخل إدخال ترجمة موسع بالكامل للعنوان 10.10.10.3، ويسجل معلومات معرف IP لهذه الحزمة. بعد ذلك NAT يترجم ويرسل ربط 1 جزء 0. يظهر جدول الترجمة الآن على هيئة:
Pro Inside global Inside local Outside local Outside global --- 10.10.10.4 172.16.0.1 --- --- icmp 10.10.10.3:24322 172.16.0.1:24322 172.17.1.2:24322 172.17.1.2:24322 icmp 10.10.10.3:24323 172.16.0.1:24323 172.17.1.2:24323 172.17.1.2:24323
تصل الحزمة 1 الجزء 2. بما أن معلومات عنوان IP الخاصة به تتطابق مع واحد nat مسجل في الخطوة 2، فإن NAT يستخدم الترجمة الموسعة بالكامل التي تم إنشاؤها في الخطوة 2 لترجمة وإعادة توجيه الحزمة 1 الجزء 2.
عند هذه النقطة، يستلم الجهاز الوجهة جميع أجزاء الحزمة 1، غير أن الجزء 0 و 2 يتلقى عنوان المصدر الخاص بهم مترجم إلى 10.10.10.3 والجزء 1 ترجمت إلى 10.10.10.4. لذلك، لا يمكن للجهاز الوجهة إعادة تجميع الحزمة وإرسال أي رد.
تصل الحزمة 2 الجزء 0. nat إما يستعمل ال arbre كامل ترجمة أو يخلق جديد كامل موسع ترجمة طبقا على قيمة الشظية ICMP ميناء مجال. في كلتا الحالتين، يقوم NAT بتسجيل معلومات معرف IP. بعد ذلك NAT يترجم ويرسل ربط 2 جزء 0.
تصل الحزمة 2 الجزء 2. إن معلومات عنوان IP الخاصة به تطابق ما تم تسجيله من قبل NAT في الخطوة 4، لذلك يستخدم NAT الترجمة الموسعة الكاملة الثانية التي تم إنشاؤها في الخطوة 4. nat يترجم ويرسل ربط 2 جزء 2.
تصل الحزمة 2 الجزء 1. إن معلومات عنوان IP الخاصة به تطابق ما تم تسجيله من قبل NAT في الخطوة 4، لذلك يستخدم NAT الترجمة الموسعة الكاملة الثانية التي تم إنشاؤها في الخطوة 4. NAT يترجم ويرسل ربط 2 جزء 1.
يستلم الجهاز الوجهة كل الأجزاء الثلاثة للحزمة 2 من المصدر نفسه (10.10.10.3)، لذلك هو يعيد تجميع الحزمة والردود.
يعتمد ما إذا كان NAT سيقوم بإسقاط جزء ICMP أو إعادة توجيهه على عدد من الأشياء، مثل الترتيب الذي يستقبل فيه موجه NAT الأجزاء، وحالة جدول الترجمة في ذلك الوقت. تحت ظروف معينة، nat يترجم الأجزاء بشكل مختلف، أي يجعل من المستحيل للجهاز الوجهة أن يعيد تجميع الحزمة.