تغليف التوجيه العام
بروتوكول التغليف العام للتوجيه ( GRE ) هو بروتوكول نفق طورته شركة سيسكو سيستمز ، ويمكنه تغليف مجموعة واسعة من بروتوكولات طبقة الشبكة داخل روابط افتراضية من نقطة إلى نقطة أو روابط من نقطة إلى عدة نقاط عبر شبكة بروتوكول الإنترنت . [ 2 ]
أمثلة على الاستخدام
- بالتزامن مع بروتوكول PPTP لإنشاء شبكات VPN .
- بالتزامن مع شبكات VPN بتقنية IPsec للسماح بتمرير معلومات التوجيه بين الشبكات المتصلة.
- في بروتوكولات إدارة التنقل .
- في واجهات A8/A10 لتغليف بيانات IP من/إلى وظيفة التحكم في الحزم (PCF).
- يمكن لأنظمة Linux و BSD إنشاء أنفاق IP مخصصة عبر GRE والتي تتوافق مع معدات Cisco.
- جهاز محمي من هجمات الحرمان من الخدمة الموزعة (DDoS) إلى نقطة نهاية غير محمية .
مثال على حزمة البروتوكولات
| طبقة نموذج OSI | مثال على البروتوكول |
|---|---|
| 7. التطبيق | HTTP |
| 4. النقل | بروتوكول التحكم بالنقل (TCP) |
| 3. الشبكة (المغلفة باختبار GRE) | IPv4 |
| التغليف | اختبار GRE |
| 3. الشبكة | IPv6 |
| 2. وصلة البيانات | إيثرنت |
| 1. جسدي | الطبقة الفيزيائية لشبكة الإيثرنت |
استنادًا إلى مبادئ طبقات البروتوكولات في نموذج OSI، فإن تغليف البروتوكولات، وليس بروتوكول GRE تحديدًا، يُخلّ بترتيب الطبقات. ويمكن اعتباره فاصلًا بين مجموعتين مختلفتين من البروتوكولات، حيث تعمل إحداهما كناقل للأخرى.
بروتوكولات التسليم
تستخدم حزم GRE المغلفة داخل بروتوكول الإنترنت (IP) مباشرةً نوع بروتوكول الإنترنت 47 في حقل البروتوكول الخاص برأس IPv4 [ 3 ] أو حقل الرأس التالي الخاص برأس IPv6 . [ 4 ]
لأسباب تتعلق بالأداء، يمكن أيضًا تغليف بروتوكول GRE في حزم UDP. [ 5 ] ويمكن تحقيق إنتاجية أفضل باستخدام توجيه متعدد المسارات متساوي التكلفة .
رأس الحزمة
رأس حزمة GRE الموسع (RFC 2890)
يتم تمثيل النسخة الموسعة من رأس حزمة GRE [ 6 ] أدناه:
تنسيق رأس GRE الموسع الإزاحات ثمانية 0 1 2 3 ثمانية قليل 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 ج ك S محجوز 0 إصدار نوع البروتوكول 4 32 مجموع التحقق (اختياري) محجوز 1 (اختياري) 8 64 مفتاح (اختياري) 12 96 رقم التسلسل (اختياري)
- ج (بت واحد)
- بت التحقق من المجموع . يتم ضبطه على 1 إذا كان هناك مجموع تحقق.
- K (1 بت)
- بت المفتاح. اضبطه على 1 إذا كان المفتاح موجودًا.
- S (1 بت)
- بت رقم التسلسل. يتم ضبطه على 1 إذا كان رقم التسلسل موجودًا.
- محجوز 0 (9 بتات)
- البتات المحجوزة؛ تم ضبطها على 0.
- الإصدار (3 بتات)
- رقم إصدار اختبار GRE؛ تم ضبطه على 0.
- نوع البروتوكول (16 بت)
- يشير إلى نوع بروتوكول الإيثرنت للحمولة المغلفة. (بالنسبة لبروتوكول IPv4 ، سيكون هذا هو 0800 بالصيغة السداسية العشرية.)
- مجموع التحقق (16 بت)
- موجود إذا تم تعيين بت C ؛ يحتوي على مجموع التحقق لرأس GRE والحمولة.
- محجوز 1 (16 بت)
- موجود إذا تم ضبط بت C ؛ يتم ضبطه على 0.
- مفتاح (32 بت)
- موجود إذا تم تعيين بت K ؛ يحتوي على قيمة مفتاح خاصة بالتطبيق.
- رقم التسلسل (32 بت)
- موجود إذا تم تعيين بت S ؛ يحتوي على رقم تسلسلي لحزمة GRE.
رأس حزمة GRE القياسي (RFC 2784)
يتم تمثيل بنية رأس حزمة GRE القياسية [ 7 ] في الرسم التخطيطي أدناه.
تنسيق رأس GRE القياسي الإزاحات ثمانية 0 1 2 3 ثمانية قليل 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 ج محجوز 0 إصدار نوع البروتوكول 4 32 مجموع التحقق (اختياري) محجوز 1 (اختياري) - ج (بت واحد)
- بت التحقق من المجموع . يتم ضبطه على 1 إذا كان هناك مجموع تحقق.
- محجوز 0 (12 بت)
- البتات المحجوزة؛ تم ضبطها على 0.
- الإصدار (3 بتات)
- رقم إصدار اختبار GRE؛ تم ضبطه على 0.
- نوع البروتوكول (16 بت)
- يشير إلى نوع بروتوكول الإيثرنت للحمولة المغلفة. (بالنسبة لبروتوكول IPv4 ، سيكون هذا بالصيغة السداسية العشرية 0x0800؛ وبالنسبة لبروتوكول IPv6 ، سيكون 0x86DD. [ 4 ] )
- مجموع التحقق (16 بت)
- موجود إذا تم تعيين بت C ؛ يحتوي على مجموع التحقق لرأس GRE والحمولة.
- محجوز 1 (16 بت)
- موجود إذا تم ضبط بت C ؛ يتم ضبط محتوياته على 0.
رأس حزمة GRE الأصلي (RFC 1701)
حلت البنية الأحدث محل البنية الأصلية: [ 1 ]
تنسيق رأس GRE الأصلي الإزاحات ثمانية 0 1 2 3 ثمانية قليل 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 ج R ك S s تكرار الأعلام إصدار نوع البروتوكول 4 32 مجموع التحقق (اختياري) الإزاحة (اختياري) 8 64 مفتاح (اختياري) 12 96 رقم التسلسل (اختياري) 16 128 التوجيه (اختياري، طول متغير)
حددت وثيقة GRE RFC الأصلية حقولاً إضافية في رأس الحزمة أصبحت قديمة في المعيار الحالي:
- ج (بت واحد)
- بت التحقق من المجموع . يتم ضبطه على 1 إذا كان هناك مجموع تحقق.
- R (1 بت)
- بت التوجيه. يتم ضبطه على 1 إذا كانت معلومات التوجيه والإزاحة موجودة.
- K (1 بت)
- بت المفتاح. اضبطه على 1 إذا كان المفتاح موجودًا.
- S (1 بت)
- بت رقم التسلسل. يتم ضبطه على 1 إذا كان رقم التسلسل موجودًا.
- s (1 بت)
- بت توجيه المصدر الصارم.
- تكرار (3 بتات)
- بتات التحكم في التكرار .
- الأعلام (5 بتات)
- محجوز للاستخدام المستقبلي، تم ضبطه على 0.
- الإصدار (3 بتات)
- اضبطه على 0.
- نوع البروتوكول (16 بت)
- يشير إلى نوع بروتوكول الإيثر للحمولة المغلفة.
- مجموع التحقق (16 بت)
- موجود إذا تم تعيين بت C ؛ يحتوي على مجموع التحقق لرأس GRE والحمولة.
- الإزاحة (16 بت)
- يظهر هذا الخيار إذا تم ضبط بت R أو بت C ؛ ويحتوي على معلومات صحيحة فقط في حال ضبط بت R. حقل إزاحة يشير إلى الإزاحة داخل حقل التوجيه إلى مدخل مسار المصدر النشط.
- مفتاح (32 بت)
- موجود إذا تم تعيين بت K ؛ يحتوي على قيمة مفتاح خاصة بالتطبيق.
- رقم التسلسل (32 بت)
- موجود إذا تم تعيين بت S ؛ يحتوي على رقم تسلسلي لحزمة GRE.
- التوجيه (متغير)
- موجود إذا تم تعيين بت R ؛ يحتوي على قائمة بإدخالات مسار المصدر، وبالتالي يكون طوله متغيراً.
رأس حزمة PPTP GRE
يستخدم بروتوكول النفق من نقطة إلى نقطة (PPTP) [ 8 ] بنية رأس حزمة GRE متغيرة، موضحة أدناه. ينشئ PPTP نفق GRE يتم من خلاله إرسال حزم PPTP GRE.
تنسيق رأس PPTP GRE الإزاحات ثمانية 0 1 2 3 ثمانية قليل 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 ج R ك S s تكرار أ الأعلام إصدار نوع البروتوكول 4 32 طول الحمولة الرئيسية معرف المكالمة الرئيسية 8 64 رقم التسلسل (اختياري) 12 96 رقم الإقرار (اختياري) - ج (بت واحد)
- بت التحقق من المجموع . بالنسبة لحزم PPTP GRE، يتم ضبط هذا على 0.
- R (1 بت)
- بت التوجيه. بالنسبة لحزم PPTP GRE، يتم ضبط هذا على 0.
- K (1 بت)
- بت المفتاح. بالنسبة لحزم PPTP GRE، يتم ضبط هذا على 1. (جميع حزم PPTP GRE تحمل مفتاحًا.)
- S (1 بت)
- بت رقم التسلسل. يتم ضبطه على 1 إذا تم توفير رقم تسلسل، مما يشير إلى حزمة بيانات PPTP GRE.
- s (1 بت)
- بت توجيه المصدر الصارم. بالنسبة لحزم PPTP GRE، يتم ضبط هذا على 0.
- تكرار (3 بتات)
- بتات التحكم في التكرار . بالنسبة لحزم PPTP GRE، يتم ضبطها على 0.
- أ (1 بت)
- رقم الإقرار موجود. يتم تعيينه إلى 1 إذا تم توفير رقم إقرار، مما يشير إلى حزمة إقرار PPTP GRE.
- الأعلام (4 بتات)
- بتات العلم. بالنسبة لحزم PPTP GRE، يتم ضبطها على 0.
- الإصدار (3 بتات)
- رقم إصدار GRE. بالنسبة لحزم PPTP GRE، يتم تعيين هذا الرقم إلى 1.
- نوع البروتوكول (16 بت)
- بالنسبة لحزم PPTP GRE، يتم تعيين هذا إلى 880B بالصيغة السداسية العشرية.
- طول حمولة المفتاح (16 بت)
- يحتوي على حجم الحمولة، باستثناء رأس GRE.
- معرف المكالمة الرئيسي (16 بت)
- يحتوي على معرف مكالمة الطرف الآخر للجلسة التي تنتمي إليها الحزمة.
- رقم التسلسل (32 بت)
- موجود إذا تم تعيين بت S؛ يحتوي على رقم تسلسل حمولة GRE.
- رقم الإقرار (32 بت)
- موجود إذا تم تعيين البت A؛ يحتوي على رقم التسلسل لأعلى حزمة حمولة GRE التي استلمها المرسل.
المعايير
- RFC 1701 : تغليف التوجيه العام (GRE) (معلوماتي)
- RFC 1702 : تغليف التوجيه العام عبر شبكات IPv4 (معلوماتي)
- RFC 2637 : بروتوكول النفق من نقطة إلى نقطة (معلوماتي)
- RFC 2784 : تغليف التوجيه العام (GRE) (معيار مقترح، تم تحديثه بواسطة RFC 2890)
- RFC 2890 : امتدادات المفاتيح وأرقام التسلسل لـ GRE (المعيار المقترح)
- RFC 8086 : تغليف GRE-in-UDP (معيار مقترح)
انظر أيضاً
- تقنية المحاكاة الافتراضية للشبكة باستخدام تغليف التوجيه العام - تنقل حزم الطبقة الثانية عبر بروتوكول GRE
- بروتوكول نفق GPRS - GTP-U مشابه لبروتوكول GRE ويستخدم في الشبكات الخلوية
مراجع
- 1 2 س. هانكس؛ ت. لي؛ د. فاريناتشي؛ ب. تراينا (أكتوبر 1994). تغليف التوجيه العام (GRE) . مجموعة عمل الشبكة. doi : 10.17487/RFC1701 . RFC 1701 .لأغراض إعلامية.
- ↑ US 7801021B1 ، نيكولاوس تريانتافيليس؛ روبرت ج. أوردمان وسيمون د. باربر، "Generic routing encapsulation tunnel keepalives"، صدر في 2010-09-21، مخصص لشركة Cisco Technology Inc.
- ↑ إس. هانكس؛ تي. لي؛ دي. فاريناتشي؛ بي. تراينا (أكتوبر 1994). تغليف التوجيه العام عبر شبكات IPv4 . مجموعة عمل الشبكة. doi : 10.17487/RFC1702 . RFC 1702 .لأغراض إعلامية.
- 1 2 سي. بيناتارو؛ ر. بونيكا؛ س. كريشنان (أكتوبر 2015). دعم بروتوكول IPv6 لتغليف التوجيه العام (GRE) . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC7676 . ISSN 2070-1721 . RFC 7676 . المعيار المقترح.
- ↑ إي. كرابي؛ إي. كرابيت؛ تي. هيربرت (مارس 2017). إل. يونغ (محرر). تغليف GRE-in-UDP . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC8086 . ISSN 2070-1721 . RFC 8086 . المعيار المقترح.
- ↑ جي. دوميتي (سبتمبر 2000). امتدادات المفتاح ورقم التسلسل لبروتوكول GRE . مجموعة عمل الشبكة. doi : 10.17487/RFC2890 . RFC 2890 .المعيار المقترح.
- ↑ د. فاريناتشي؛ ت. لي؛ س. هانكس؛ د. ماير؛ ب. تراينا (مارس 2000). تغليف التوجيه العام (GRE) . مجموعة عمل الشبكة. doi : 10.17487/RFC2784 . RFC 2784 .المعيار المقترح. تم تحديثه بواسطة RFC 2890 .
- ↑ ك. حمزة؛ ج. بال؛ و. فيرثين؛ ج. طارود؛ و. ليتل؛ ج. زورن (يوليو 1999). بروتوكول النفق من نقطة إلى نقطة (PPTP) . مجموعة عمل الشبكة. doi : 10.17487/RFC2637 . RFC 2637 .لأغراض إعلامية.
روابط خارجية
- تغليف التوجيه العام ، صفحة البروتوكولات الفرعية الرئيسية على موقع سيسكو
- تغليف التوجيه العام مؤرشف بتاريخ 29-12-2018 في Wayback Machine ، مدخل في Cisco DocWiki (المعروف سابقًا باسم "دليل تكنولوجيا الشبكات").
- بروتوكولات النفق
- أنظمة سيسكو
