Route leakها میتوانند ترافیک را وارد مسیرهایی کنند که اصلاً برای آنها طراحی نشده بود 🚦. قبلاً هم درباره route leak در Border Gateway Protocol (BGP) صحبت کردهایم و دیدهایم که این رخدادها میتوانند باعث هدایت اشتباه traffic در شبکه شوند. در BGP، مسیریابی بر پایه رابطه بین Autonomous Systems (ASes) انجام میشود؛ یعنی customer-provider و peer-peer. در مدل معمول، customer برای دسترسی به بخشهای دیگر Internet به provider پول میدهد، اما peerها معمولاً در یک مدل settlement-free ترافیک را با هم exchange میکنند و پولی رد و بدل نمیشود. همین رابطهها پایه routing rules را میسازند و مشخص میکنند یک route چه مسیرهایی را میتواند طی کند. برای مثال، منطق معروف valley-free میگوید مسیری که از provider یا peer یاد گرفته شده، فقط باید به سمت customerها اعلام شود و نباید دوباره به سمت provider یا peer دیگر برگردد. در واقع، این قوانین نشان میدهند شبکه «انتظار دارد» routeها چه رفتاری داشته باشند؛ route leak زمانی رخ میدهد که این انتظار نقض شود.
در گذشته، هر شبکه مجبور بود این منطق را بهصورت جداگانه و با policyهای پیچیده و مستعد خطا پیادهسازی کند. RFC 9234 با عنوان Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages این کار را سادهتر میکند، چون intent را داخل خود protocol تعریف میکند. این RFC یک قابلیت جدید به نام BGP Role معرفی میکند که هنگام بالا آمدن session، دو BGP neighbor را مجبور میکند درباره نوع رابطهشان به توافق برسند. همچنین یک path attribute به نام Only to Customer (OTC) اضافه میکند که routeهایی را علامتگذاری میکند که نباید به مسیرهای نامناسب منتشر شوند. این طراحی، هم تشخیص route leak را دقیقتر میکند و هم جلوی پخش شدن routeهای اشتباه را از همان ابتدا میگیرد 🔐