پروتکل BGP چیست و چرا اینترنت به آن وابسته است؟
![پروتکل BGP چیست و چرا اینترنت به آن وابسته است؟](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2021/11/edge-door-gateway-dark-light.jpg.webp)
اگر در حال کشیدن خطی صاف روی کاغذ باشید، یافتن بهترین مسیر از نقطه الف به نقطه ب بسیار آسان خواهد بود، اما وقتی نقطه الف کامپیوتر شما است و نقطه ب وبسایتی در یک گوشه دیگر از جهان، همهچیز شکلی اندک پیچیدهتر به خود میگیرد. به همین خاطر شاهد به وجود آمدن پروتکل BGP یا Border Gateway Protocol بودهایم. این پروتکل مسیریابی، عنصری مهم در اینترنت جهانی به حساب آمده و از آن برای یافتن بهترین مسیرهای انتقال داده، با درنظرگیری فاکتورهایی مانند وضعیت شبکه، دسترسپذیری و اطلاعات مسیر استفاده میشود.
پروتکل BGP به مدیریت این میپردازد که پکتهای داده چطور میان شبکههای بزرگی که اینترنت را شکل دادهاند جابهجا میشوند و اساسا همان عنصری بوده که باعث شده اینترنت امروزی ما تا این بهینه کار کند. به مطالعه این نوشتار ادامه دهید تا هرآنچه لازم است درباره BGP بدانید را به شما بگوییم.
پروتکل BGP چیست؟
![پروتکل BGP](https://blog.faradars.org/wp-content/uploads/2021/11/app-delivery.jpg)
به پروتکل BGP چسبی میگویند که تمام اینترنت و سرویسهای پستی آن را کنار یکدیگر نگه میدارد. در یک مثال، میتوان BGP را با موارد کاربرد جیپیاس در موبایلهای هوشمند مقایسه کرد. اگر قرار باشد از تهران به مشهد بروید، اپلیکیشن مبتنی بر جیپیاس شما براساس دانشی که از پیش راجع به شرایط جاده، ترافیک و تمایل شما به پرداخت یا عدم پرداخت عوارض به دست آورده، بهترین مسیر ممکن را انتخاب کرده و نمایش میدهد. گاهی از اوقات کوتاهترین مسیر را نمیتوان لزوما بهترین مسیر به حساب آورد. BGP هم مثل یک نقشه بزرگ از اینترنت است که مداوما بهروزرسانی میشود و به شناسایی بهترین مسیرها در هر لحظه مشغول است.
سازمان IETF که به صورت داوطلبانه به تعیین استانداردهای تازه و بهبود اینترنت مشغول میشود، کارکرد پروتکل BGP را اینطور توصیف میکند: تبادل اطلاعات دسترسپذیری شبکه با دیگر سیستمهای BGP. وقتی این پروتکل به بهترین شکل کار میکند، این سیستمهای مجزا از یکدیگر را به نوعی هارمونی میرساند تا اینترنت آنطور که میشناسیم شکل بگیرد.
اینترنت را شبکهای از شبکهها توصیف میکنند. در این ساختار، گروهی از شبکههای منفرد که توسط سازمانی بزرگ مدیریت میشوند، به مجموعهای دیگر از شبکهها که آنها نیز متعلق به یک سازمان بزرگ دیگر هستند متصل میگردند. این گروههای شبکه را «سیستمهای خودگردان» (Autonomous Systems یا به اختصار AS) مینامیم و از جمله سازمانهای بزرگی که چنین سیستمهایی در اختیار دارند میتوان به خدماتدهندگان اینترنتی، آژانسهای بزرگ دولتی، دانشگاهها و انستیتوهای علمی اشاره کرد.
هر سیستم خودگردان مجموعهای از قوانین و مقررات را برای چگونگی جابهجا شدن ترافیک در شبکه خود تعیین میکند. کامپیوتر خانگی شما احتمالا بخشی از سیستم خودگردانی باشد که توسط خدماتدهنده اینترنت شما مدیریت میشود. هر زمان که بخواهید به سایتی فراتر از آنچه در سیستم خودگردان شما است متصل شوید، BGP به میدان میآید.
سازمانهایی که سیستمهای خودگردان را در اختیار دارند به توافقاتی با یکدیگر دست یافته و اجازه میدهند ترافیک میان شبکههایشان جابهجا شود. مسیریابهای BGP در لبه شبکههای AS قرار میگیرند تا پیشوندهای آیپی آدرسهایی که میتوانند به آنها ترافیک برسانند را اعلام کنند. این اعلامیهها به صورت مداوم به اشتراک گذاشته میشوند تا جدول مسیریابی هر مسیریاب بهروز باقی بماند.
توافقهای تراز کردن سیستمهای خودگردان
![پروتکل BGP](https://blog.faradars.org/wp-content/uploads/2021/11/bgp-min.png)
مسیریابهای BGP از الگوریتمهای تصمیمگیری و قوانین تعیین شده در چارچوب توافقهای تراز کردن سیستمهای خودگردان برای تحلیل دادهای که از طریق اعلامیهها به دست آوردهاند استفاده کرده و راجع به این تصمیم میگیرند که کدام همتا (Peer) در هر لحظه برای ارسال جریان پکت مناسبتر است. در اکثریت مواقع، مسیری انتخاب میشود که کمترین شمار جهشها را طلب میکند. اما به خاطر عواملی مانند ازدحام و تاخیر، گاهی از اوقات استفاده از مسیرهای طولانیتر زمان کمتری میبرد. وقتی ترافیک در سراسر یک AS به جریان میافتد و به مسیریاب BGP متصل به یک AS متفاوت میرسد، این پروسه آنقدر تکرار میشود تا داده از سیستم خودگردانی سر درآورد که سایت مقصد در آن قرار گرفته.
در اکثریت مواقع، کامپیوترها، موبایلها و دیگر دیوایسهای مشابه برای اتصال به اینترنت از خدماتدهندگان اینترنتی (ISP) استفاده میکنند. شبکههای این سازمانها دائما به شبکههای ISPهای بزرگتر متصل میشود تا بالاخره دسترسی به ستون فقرات اینترنت مهیا گردد. ترافیک آنقدر در سلسله مراتب شبکه بالا میرود تا به ستون فقرات برسد و دوباره به سمت پایین و آدرس آیپی مقصد حرکت میکند.
از پروتکل BGP میتوان برای مسیریابی درون یک سیستم خودگردان واحد نیز استفاده کرد، اما چنین کاری الزامی به حساب نمیآید و پروتکلهای مسیریابی دیگری را نیز داریم که همینقدر عالی عمل میکنند. هنگامی که از پروتکل BGP به صورت داخلی استفاده میکنیم، به آن Inferior Border Gateway Protocol یا به اختصار iBGP گفته میشود.
برای اینکه اپراتورهای شبکه قادر به کنترل مسیریابی درون شبکههای خود و همینطور تبادل اطلاعات مسیریابی با ISPهای دیگر باشند، از شمارههای سیستم خودگردان (ASN) استفاده میشود. این شمارهها توسط سازمان Internet Assigned Numbers Authority (یا به اختصار IANA) تعیین و میان ISPها و دیگر اپراتورهای شبکه توزیع میشوند. درست مثل یک آیپی آدرس، ASN هم حاوی شمارههای ۱۶ بیتی (دو بایت) و هم شمارههای ۳۲ بیتی (۴ بایت) است. گزارشها نشان میدهد تا ابتدای سال ۲۰۲۱ میلادی، حدودا ۱۰۰ هزار ASN در سراسر جهان داشتهایم که ۲۹ درصد از آنها در ایالات متحد واقع شدهاند.
- مطالب پیشنهادی برای مطالعه:
BGP Hijacking یا سرقت BGP چیست؟
![پروتکل BGP](https://blog.faradars.org/wp-content/uploads/2021/11/BGP-hijacker.jpg)
با ASNهایی که مداوما به اینترنت اضافه میشوند و مسیرهای تازه برای ترافیک به وجود میآورند، شمار اعلامیههای BGP نیز افزایش مییابد و به همین ترتیب، شاهد حملات بزرگ و بزرگتر نیز خواهیم بود. به خاطر اینکه BGP پیشفرض را بر این میگذارد که هر سیستم خودگردان راجع به آیپی آدرسهای تحت تملک خود و همینطور اطلاعات مسیریابی حقیقت را میگوید، شاهد بروز مشکلی بودهایم که تحت عنوان سرقت BGP یا BGP Hijacking شناخته میشود.
با این حمله، اعلامیهها به دستکاری جدولهای مسیریابی BGP میپردازند تا یک مسیریاب آلوده به اعلام اطلاعاتی که به آن تعلق ندارد مشغول شود. اگر این اعلامیههای دروغین نشان دهند که مسیری بهتر از مسیر معتبر و اصلی وجود دارد، ممکن است ترافیک به آن سمت روانه شود. این مسیر در نهایت به سرورهای آلودهای منتهی خواهد شد که میتوانند اطلاعات حسابهای بانکی را به سرقت ببرند، به دانلود بدافزار بپردازند و هر فعالیت مشابه دیگری را در پیش بگیرند. تمام این اتفاقها درحالی رخ میدهد که کاربر پشت کامپیوتر فکر میکند در حال پرسه در وبسایتی معتبر است.
یکی از مشهورترین مثالهای سرقت BGP در سال ۲۰۱۸ اتفاق افتاد. زمانی که یک ISP روسی به شکلی دروغین به اعلام شمارههای پیشوندی پرداخت که در حقیقت به گروه سرورهای Amazon DNS تعلق داشتند. کاربرانی که در صدد ورود به یک سایت رمزارز برمیآمدند در آخر وارد سایتی جعلی میشدند و هکرها توانستند رمزارزهایی به ارزش ۱۵۲ هزار دلار را به سرقت ببرند.
در یک حادثه دیگر که جزییات آن به صورت کامل مشخص شده، شرکت خدماتدهنده اینترنت Pakistan Telecom در صدد سانسور کردن وبسایت یوتیوب برآمد و به اعلام مسیرهایی مشغول شد که باعث میگشت این وبسایت برای کاربران مسدود باشد. اما این مسیرهای تازه به تامینکنندگان جریان بالایی ISP نیز اعلام و در نهایت در سراسر اینترنت مخابره شدند. به این ترتیب، درخواستهای وب برای دسترسی به یوتیوب به Pakistan Telecom هدایت میشدند. این اتفاق نهتنها قطعی گسترده یوتیوب را به همراه داشت، بلکه شبکه این ISP پاکستانی را نیز تحت فشاری شدید قرار داد.