پروتکل GRE یا Generic Routing Encapsulation پروتکلی برای کپسولهسازی پکتهای اطلاعاتی که از یک پروتکل مسیریابی یکسان استفاده میکنند درون پکتهای یک پروتکل دیگر است. واژه کپسولهسازی یا encapsulating به معنای قرار دادن یک دیتا پکت درون یک دیتا پکت دیگر است. برای فهم بهتر میتوان آن را به گذاشتن یک جعبه درون یک جعبه دیگر تشبیه کرد. این پروتکل راهی برای ایجاد اتصال مستقیم نقطه به نقطه در سراسر یک شبکه به منظور سادهسازی اتصالات بین شبکههای مجزا است.
GRE قابلیت استفاده از پروتکلهایی که به طور معمول توسط یک شبکه پشتیبانی نمیگردند را از طریق الحاق پکتهای آنها به پکتهایی که از پروتکل قابل پشتیبانی استفاده میکنند مهیا میکند. برای درک بهتر موضوع یک ماشین و یک کشتی را متصور شوید. ماشین به خودی خود امکان حرکت در دریا را ندارد اما این مورد با قرار دادن ان داخل یک کشتی به نوعی امکانپذیر میشود. در این مثال دریا شبکهای با پشتیبانی از نوع خاصی از پروتکلهای مسیریابی(Routing) و خودرو و کشتی پکت یا بستههای اطلاعات هستند. به بیانی دیگر پروتکل GRE روشی برای الحاق پکت الف به پکت ب برای عبور از از یک شبکه است. پکت الف قابلیت عبور بدون قرار گرفتن در پکت ب را دارا نیست.
به عنوان یک مثال دیگر شرکتی را در نظر بگیرید که از پروتکلهای مربوط به IPv6 استفاده مینماید و قصد اتصال بین دو شبکه داخلی خود در دو ساختمان مجزا را دارد. ترافیک برای رسیدن از ساختمان اول به ساختمان دوم میبایست از یک شبکه دیگر که توسط شرکت دیگری فراهم میشود و از پروتکلهای IPv4 استفاده میکند برای انتقال استفاده کند. در اینجا پکتهای IPv6 ماشین، پکتهای IPv4 کشتی و شبکه رابط بین دو ساختمان دریا است.
GRE tunneling به چه معنا است؟
واژه tunneling یا تونل زدن به معنای کپسولهسازی پکتهای دیتا درون پکتهای دیگر و GRE tunneling به معنای استفاده از پروتکل مذکور در این تانلینگ است. تونلهای بنا شده بر پایه پروتکل GRE به طور معمول بین دو روتر مشخص برقرار میشوند به شکلی که هر روتر نقش یک سر تونل را ایفا میکند. تنظیمات روترها به شکلی ایجاد شده تا پکتهای GRE را مستقیما یه یکدیگر انتقال دهند. هر روتر دیگری بین این دو، پکتهای کپسولهسازی شده را باز نمیکند و تنها آنها را انتقال میدهد.
برای درک بهتر موضوع مجدد یک ماشین را در نظر بگیرید. کوتاه ترین راه رسیدن از یک سمت کوه به سمت دیگر آن عبور از وسط آن به شکل مستقیم است ولی این مورد برای یک ماشین تنها در صورت وجود یک تونل در دل کوه میسر است. حال دو سمت کوه را دو دستگاه بکار رفته در شبکه، ماشین را پکت دیتا و کوه را خود شبکه در نظر بگیرید. در صورت عدم وجود تونل GRE پکتهای دیتا یا همان ماشین امکان عبور مستقیم از شبکه یا همان دل کوه را نداشتند و نیاز بود مسیر طولانی تری را از میان شبکههای دیگری برگزینند.