تغليف التوجيه العام

بروتوكول التغليف العام للتوجيه ( GRE ) هو بروتوكول نفق طورته شركة سيسكو سيستمز ، ويمكنه تغليف مجموعة واسعة من بروتوكولات طبقة الشبكة داخل روابط افتراضية من نقطة إلى نقطة أو روابط من نقطة إلى عدة نقاط عبر شبكة بروتوكول الإنترنت . [ 2 ]

أمثلة على الاستخدام

مثال على حزمة البروتوكولات

طبقة نموذج 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 الموسع
الإزاحاتثمانية0123
ثمانيةقليل012345678910111213141516171819202122232425262728293031
00جكSمحجوز 0إصدارنوع البروتوكول
432مجموع التحقق (اختياري)محجوز 1 (اختياري)
864مفتاح (اختياري)
1296رقم التسلسل (اختياري)
ج (بت واحد)
بت التحقق من المجموع . يتم ضبطه على 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 القياسي
الإزاحاتثمانية0123
ثمانيةقليل012345678910111213141516171819202122232425262728293031
00جمحجوز 0إصدارنوع البروتوكول
432مجموع التحقق (اختياري)محجوز 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 الأصلي
الإزاحاتثمانية0123
ثمانيةقليل012345678910111213141516171819202122232425262728293031
00جRكSsتكرارالأعلامإصدارنوع البروتوكول
432مجموع التحقق (اختياري)الإزاحة (اختياري)
864مفتاح (اختياري)
1296رقم التسلسل (اختياري)
16128التوجيه (اختياري، طول متغير)

حددت وثيقة 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
الإزاحاتثمانية0123
ثمانيةقليل012345678910111213141516171819202122232425262728293031
00جRكSsتكرارأالأعلامإصدارنوع البروتوكول
432طول الحمولة الرئيسيةمعرف المكالمة الرئيسية
864رقم التسلسل (اختياري)
1296رقم الإقرار (اختياري)
ج (بت واحد)
بت التحقق من المجموع . بالنسبة لحزم 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 (معيار مقترح) 

انظر أيضاً

مراجع

  1. 1 2 س. هانكس؛ ت. لي؛ د. فاريناتشي؛ ب. تراينا (أكتوبر 1994). تغليف التوجيه العام (GRE) . مجموعة عمل الشبكة. doi : 10.17487/RFC1701 . RFC 1701 .لأغراض إعلامية.
  2. US 7801021B1 ، نيكولاوس تريانتافيليس؛ روبرت ج. أوردمان وسيمون د. باربر، "Generic routing encapsulation tunnel keepalives"، صدر في 2010-09-21، مخصص لشركة Cisco Technology Inc. 
  3. إس. هانكس؛ تي. لي؛ دي. فاريناتشي؛ بي. تراينا (أكتوبر 1994). تغليف التوجيه العام عبر شبكات IPv4 . مجموعة عمل الشبكة. doi : 10.17487/RFC1702 . RFC 1702 .لأغراض إعلامية.
  4. 1 2 سي. بيناتارو؛ ر. بونيكا؛ س. كريشنان (أكتوبر 2015). دعم بروتوكول IPv6 لتغليف التوجيه العام (GRE) . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC7676 . ISSN 2070-1721 . RFC 7676 . المعيار المقترح.
  5. إي. كرابي؛ إي. كرابيت؛ تي. هيربرت (مارس 2017). إل. يونغ (محرر). تغليف GRE-in-UDP . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC8086 . ISSN 2070-1721 . RFC 8086 . المعيار المقترح.
  6. جي. دوميتي (سبتمبر 2000). امتدادات المفتاح ورقم التسلسل لبروتوكول GRE . مجموعة عمل الشبكة. doi : 10.17487/RFC2890 . RFC 2890 .المعيار المقترح.
  7. د. فاريناتشي؛ ت. لي؛ س. هانكس؛ د. ماير؛ ب. تراينا (مارس 2000). تغليف التوجيه العام (GRE) . مجموعة عمل الشبكة. doi : 10.17487/RFC2784 . RFC 2784 .المعيار المقترح. تم تحديثه بواسطة RFC 2890 . 
  8. ك. حمزة؛ ج. بال؛ و. فيرثين؛ ج. طارود؛ و. ليتل؛ ج. زورن (يوليو 1999). بروتوكول النفق من نقطة إلى نقطة (PPTP) . مجموعة عمل الشبكة. doi : 10.17487/RFC2637 . RFC 2637 .لأغراض إعلامية.
  • تغليف التوجيه العام ، صفحة البروتوكولات الفرعية الرئيسية على موقع سيسكو
  • تغليف التوجيه العام مؤرشف بتاريخ 29-12-2018 في Wayback Machine ، مدخل في Cisco DocWiki (المعروف سابقًا باسم "دليل تكنولوجيا الشبكات").