مشخصات جریان BGP نسخه 2

RTBH به یک کلاینت اجازه می دهد تا زمانی که یک حمله DoS علیه این پیشوندها صورت می گیرد، به یک ارائه دهنده خدمات بالادستی (SP) سیگنال دهد تا پیشوندهای کلاینت در روترهای انتهایی ارائه دهنده را مسدود کند. مزایا و معایب چنین رویکردی آشکار است. در حالی که این روش از بارگیری بیش از حد شبکه مشتری جلوگیری می کند، ترافیک قانونی را نیز کاهش می دهد زیرا سرور کلاینت کاملاً در دسترس نمی شود.
روش FlowSpec، از سوی دیگر، به اپراتورها اجازه می دهد تا قوانین جریان را بر اساس معیارهای مطابقت L3 و L4 (فیلترها) و اقدامات پیکربندی شده در سرور FlowSpec تعریف کنند. بنابراین، قوانین مشخصات جریان ترکیبی از فیلترها و اقدامات هستند. سپس قوانین به طور خودکار با استفاده از MP-BGP (SAFI 133) بین مشتریان FlowSpec (بلندگوهای BGP) توزیع می شوند تا مشتریان بتوانند اقدامات تعریف شده در قوانین جریان را انجام دهند.
| توجه داشته باشید: فیلترها (شرایط مطابقت) در پیام های به روز رسانی BGP در BGP FlowSpec NLRI منتقل می شوند. RFC 8955 (FlowSpec v1) و RFC 8956 (FlowSpec v1 برای IPv6) 13 نوع فیلتر مطابقت مانند پیشوندهای مقصد/منبع، پروتکل IP، پروتکل لایه بالایی، پورت، پورت مقصد/منبع و غیره را تعریف میکنند. اقدامات بر روی جوامع BGP گسترده انجام می شود که به عنوان ویژگی های مسیر در پیام های به روز رسانی BGP گنجانده شده است. ده عمل تعریف شده توسط RFC 8955 و 8956 وجود دارد، مانند نرخ ترافیک محدود بایت 0x8006، اکشن ترافیک 0x8007 و غیره. |

شکل 1 – نرخ ترافیک محدود شده توسط بایت 0x8006
ما به نحوه عملکرد FlowSpec نمی پردازیم زیرا تمام جزئیات فنی و تفاوت های ظریف FlowSpec را همراه با پیکربندی آن در مقاله محدودیت Flowspec DDoS و BGP توضیح داده ایم. در عوض، کاستیهای FlowSpec فعلی و پیشرفتهایی را که نسخه جدید FlowSpec باید به همراه داشته باشد را خلاصه میکنیم.
همانطور که در پیش نویس BGP Flow Specification نسخه 2 بیان شد، مسائل زیر در طول اجرای BGP Flow Specification v1 کشف شد:
desire to order filters rules ordering of actions to provide deterministic actions problems due to the lack of clear TLV encoding for rules for flow specifications
انباشته قوانین BGP FlowSpec v1 در مقابل v2
FlowSpec v2 در مقایسه با نسخه 1 رویکرد متفاوتی برای ترتیب قوانین دارد. FlowSpec v1 مکانیزمی را ارائه نمی دهد که توسط آن سازنده یک BGP Flowspec NLRI بتواند بر ترتیب پردازش آن تأثیر بگذارد.
در یک فایروال معمولی، قوانین از بالا به پایین اعمال می شوند و اولین قانون که با ترافیک مطابقت دارد، تمام قوانین دیگر زیر را لغو می کند. سایر قوانین بررسی نمی شوند و اقدامات مناسب انجام می شود. برخلاف فایروال، FlowSpec v1 با مقایسه مولفه های سمت چپ هر FlowSpec NLRI برای سفارش قوانین FlowSpec بر اساس الگوریتم زیر شروع می شود:
- اگر انواع متفاوت باشد، از پایین ترین نوع استفاده می شود. اگر انواع یکسان باشد، مقادیر مؤلفه در آن مؤلفه مقایسه می شود
- برای مقادیر IP، کمترین پیشوند IP انتخاب می شود. اگر آدرسهای IP یکسان باشند، پس خاصترین پیشوند اولویت بیشتری دارد
- برای همه انواع دیگر، رشته محتوای باینری برای تعیین ترتیب مقایسه می شود (برای جزئیات بیشتر قسمت 5.1 RFC895 را بخوانید)
بر اساس تجربه نویسندگان پشت پیش نویس، ترتیب مرتب سازی ارائه شده توسط FlowSpec v1 معمولاً برای کاهش DDoS کافی است. با این حال، در برخی موارد قوانین به گونه ای مرتب می شوند که بهینه سازی فایروال به طور موثر انجام نمی شود. بنابراین، BGP FlowSpec v2 یک رویکرد واضحتر برای نظمدهی قوانین ارائه میدهد، به طوری که ترتیب پردازش قوانین را میتوان به صراحت توسط سرور FlowSpec تعریف کرد.
همانند نسخه 1، ویژگی سفارشی که در FlowSpec v2 اجرا می شود مستقل از ترتیب ورود قوانین جریان در BGP FlowSPec NLRI است. برخلاف FlowSpec v1، نسخه 2 یک نشانگر سفارش برای هر قانون تعریف می کند که ترتیب پردازش قوانین را مشخص می کند.
علاوه بر این، گنجاندن نام برای هر قانون، فیلتر، و عمل امکان غیر جهت منطقی را فراهم می کند. یک جامعه گسترده موجود که چندین NLRI را برچسب گذاری می کند، می تواند به عنوان یک مرجع غیرمستقیم با نام ذخیره شود، و عمل می تواند با چندین NLRI مرتبط شود. شکل 2 یک نمودار منطقی از ترتیب قوانین و ارتباط نام برای هر قانون، عملکرد مطابقت قانون و عمل قانون ارائه می دهد.

شکل 2 – Order Flow Specification Data FlowSpec v2
رمزگذاری فیلترهای BGP FlowSpec v2
قالب TLV (Type-Length-Value) ویژگی BGP به بلندگوهای BGP که ویژگی های جدید را درک می کنند اجازه می دهد تا با بلندگوهای BGP که ویژگی های جدید را پشتیبانی نمی کنند سازگار باشند. اگر یک ویژگی مسیر شناسایی نشود، نادیده گرفته میشود و به ویژگی بعدی میرود. این تنها به این دلیل امکان پذیر است که طول مشخصه در طول مسیر در بسته های BGP UPDATE حمل می شود و بنابراین برای بلندگوی دریافت کننده BGP شناخته می شود.
AFI/SAFI NLRI برای BGP Flow Specification v2 دارای فرمت زیر است:

شکل 3 – فرمت مشخصات جریان v2
1. طول
مقدار طول میدان اولیه در کل بایت های زیر TLV.
2. سفارش دهید
فیلد Order 2-octet نشان دهنده ترتیب قوانین مشخصات جریان است.
3. نوع می تواند یکی از موارد زیر باشد:
identifier (value = 00),
match rule (value = 01) with default action of block traffic,
match rule (value = 02) with default action of permit traffic,
match rule (value = 03) with action TLVs,
match rule (value = 04) with Wide Communities Action TLVs,
match rule (value = 05) with tunnel matching from [I-D.ietf-idr-flowspec-l2vpn]
match rule (value = 06) with tunnel matching from [I-D.ietf-idr-flowspec-nvo3]
4. طول-tlv
طول قسمت مقدار Sub-TLV.
5. ارزش
مجموعه فیلدهای زیر TLV (TLV) به مقدار نوع بالا بستگی دارد.
نتیجه
ترتیب مرتب سازی اجرا شده در BGP FlowSpec v1 به خوبی برای محدود کردن DDoS کار می کند، اما گاهی اوقات ترتیب ضمنی می تواند مشکل ساز باشد. نسخه 2 پروتکل مشخصات جریان BGP به این موضوع می پردازد و همچنین کدگذاری TLV را برای قوانین مشخص می کند. با این حال، پنج سال پس از انتشار نسخه اول، این سند تنها یک پیش نویس است و به نظر می رسد ارائه دهندگان از اجرای آن فاصله دارند.



