نحوه نگهداری از GRE Tunnel  با keep-alive

نحوه نگهداری از GRE Tunnel با keep-alive

نحوه نگهداری از GRE Tunnel  با keep-alive

نحوه نگهداری از GRE Tunnel با keep-alive

ابتدا باید به این نکته اشار کنیم که هنگامی که در تونل پروتکل GRE یکی از دو طرف ارتباط Tunnel شان قطع شود، طرف مقابل دیگر قادر به مشخص کردن قطعی تونل و down کردن line protocol  نیست. از این رو ترافیک­ها همچنان روی مسیر تونل فرستاده شده اما ترافیک تونل هیچوقت به مقصد نمی­رسد.

هنگامی که در پایان تونل Down کردن Line Protocol، در دسترس نیست، لازم است تا مسیرهایی که Interface خروجی آنها تونل است از جدول مسیریابی پاک شده و مسیرهای دیگری در جدول مسیریابی قرار گیرد.نکته جالب توجه این است که در صورتی که شرایط زیر برای اینترفیس GRE Tunnel وجود داشته باشد UP می­شود یعنی بدون وجود طرف مقابل interface Tunnel .

  • Interface آن UP باشد .همچنین آدرس مبدا تونل معتبر باشد.
  • برای مقصد Tunnel کمترین مسیر در جدول مسیریابی وجود داشته باشد.

نحوه نگهداری از GRE Tunnel با keep-alive

protocol line و اینترفیس تونل آن در وضعیتی که طرف مقابل تونل دیده نمی­شود و ارتباط تونل آن قطع است، down نمی­شود در این حالت مسیرهای اشتباه از جدول مسیریابی آن حذف نخواهند شد و مسیریابی ترافیک با مشکل روبه­رو خواهد شد حتی با وجود اینکه مسیر جایگزین هم وجود داشته باشد.

راه حل این مشکل GRE keep-alive است پس نگران نباشید. به احتمال زیاد با کلمه keep-alive در پروتکل­های مختلف آشنایی دارید. line protocol، اینترفیس مربوطه را down می­کند در صورتی که هر یک از دو طرف ارتباط، یک بسته کوچک را به صورت زمانی به طرف مقابل خود ارسال ­کند و اگر هر یک از طرفین توانایی دریافت بسته keep-alive در چند بازه زمانی را نداشته باشد.

مقدار ارسال Keep-alive در GRE با بقیه پروتکل­ها تفاوت دارد. حتی اگر یکی از طرفین ارتباط GRE سرویس keep-alive را در پروتکل GRE فعال نکرده باشد، طرف مقابل، که این سرویس روی آن فعال است، توانایی فرستادن و گرفتن مکانیزم keep-alive را خواهد داشت. مکانیزم آن بدین صورت است: محتویات بسته keep-alive شامل پاسخی ست که طرف مقابل قصد دارد برای ما ارسال کند. به این معنا که طرف مقابل وقتی بسته GRE را دریافت می­کند و سپس آن را باز می­کند، محتویات آن بسته GRE  دیگری است که قرار است به ما پاسخ دهد پس برای پاسخ دادن لازم نیست تا مکانیزم keep-alive  روی آن فعال باشد، طرف مقابل ارتباط، Tunnel به محض اینکه بسته keep-alive را باز کرد با بسته دیگری روبرو می­شود که فقط آن را ارسال می­کند و از آنجایی که این بسته، بسته پاسخ keep-alive  ارسالی است به صورت اتوماتیک به ما برمی­گردد.

برای اینکه این موضوع را بهتر درک کنید به شکل زیر توجه کنید که در آن ارتباط Tunnel میان دو روتر A و B ایجاد شده است و آدرس دو سر تونل به ترتیب ۱۲۹٫۹٫۹٫۹ و ۱۲۸٫۸٫۸٫۸ است. در زیر، شکل بسته مکانیزم keep-alive نمایش داده شده است.  keep-alive در واقع آدرس ابتدا و انتها بسته GRE بیرونی است، که به ترتیب روتر A  و B هستند. ولی داده­های این بسته،نوع دیگری از بسته GRE است که نشانی ابتدایی و مقصد آن معکوس است. به این معنی که آدرس روتر مبدا B و آدرس روتر مقصد A است. مقدار فیلد PT  همچنین هم ۰ است. هنگامی که روتر A  بسته keep-alive  را روی تونل GRE  به روتر B  ارسال می­کند، اگر روتر B بسته مورد نظر را دریافت کند، مانند دیگران، بسته­های دریافتی روی Tunnel  آن را باز کرده و ارسال می­کند.­ پاسخ keep-alive همان بسته ارسالی است که به فرستنده بر می­گردد. پس طرف مقابل بدون اینکه از keep-alive استفاده کند پاسخ را به فرستنده ارسال نموده است. پاسخ اگر به هر دلیلی باز نگردد به معنیdown  بودن طرف مقابل ارتباط تونلGRE  است. بنابراین اگر در چند بازه زمانی، فرستنده مکانیزم keep-alive پاسخ را دریافت نکند، line protocol  اینترفیس Tunnel خود را down می­کند.

دیدگاه‌تان را بنویسید: