میزبان کلود
CDN ابری

آشنایی کامل با BGP و AS ها

میزبان کلود میزبان کلود
1339 بازدید 0 دیدگاه 23 اردیبهشت 1402 زمان مطالعه: 25 دقیقه
/storage/post-covers/1683107755_2023-05-03_11.png
آشنایی کامل با BGP و AS ها

پروتکل دروازه مرزی یا BGP ( Border Gateway Protocol )، پروتکل مسیردهی درخواست ها و ترافیک در اینترنت است. به عبارت دیگر BGP پروتکلی است که به درخواست های کاربران مسیر بهینه برای رسیدن به سرور را معرفی می کند. برای مثال اگر برای مشاهده خوراک ها وارد اکانت فیسبوک خود شوید و یا اپلیکیشن آن را باز کنید، BGP بسته داده های شما را از سریعترین مسیر به سمت سرورهای فیسبوک هدایت خواهد کرد تا بخش خوراک برای شما نمایان گردد.

از آنجاکه این تکنولوژی سریعترین و بهینه ترین مسیر برای رساندن درخواست ها به سرورهای هدف را انتخاب می کند، گاهاً آن را "سرویس پست" اینترنت معرفی می کنند. BGP سیستم هایی را که با یکدیگر در تعاملند شناسایی کرده و داده های شما را از طریق سریعترین راه به مقصد نهایی هدایت می کند. این سیستم ها، سیستم های خودکار یا Autonomous Systems نام دارند که در ادامه این پست، به طور مفصل به آنها اشاره خواهد شد.

برخی از متخصصین، BGP را به یک نقشه همیشه بروز و AS ها را به جزایر آن نقشه تشبیه می کنند؛ از آنجا که جزایر و پل های بی شماری در نقشه اینترنت وجود دارند، BGP به شما بهینه ترین پل ها برای رسیدن به جزیره مورد نظر را نشان خواهد داد.

در واقع دو نوع BGP در وب وجود دارد:

  1. External BGP (eBGP): این پروتکلی است که به طور گسترده در وب مورد استفاده قرار می گیرد. در مثال سرویس پست، این مورد شبیه به حمل و نقل بین المللی است.
  2. Internal BGP (iBGP): یک پروتکل داخلی است که سیستم های اتوماتیک می توانند از آن برای مسیردهی به داده ها، درون شبکه داخلی شان استفاده کنند.

بنابراین، یکی از وظایف اصلی BGP اطلاع رسانی و معرفی مسیرها به داده ها در دنیای اینترنت است، که اگر این پروتکل از کار بیافتد، دیگر مسیرها قابل ردیابی نبوده و از اینترنت ناپدید خواهند شد، که در نتیجه داده ها مقصدی نداشته و ارتباطی برقرار نخواهد شد.

اما در این بین DNS ها نیز نقش بسزایی ایفا می کنند؛ همان مثال سرویس پست را تصور کنید؛ DNS همانند لیستی از آدرس ها یا به عبارت دیگر "دفترچه آدرس های مقصد" است. در این مثال، نامه ها بدون در اختیار داشتن "مسیر رسیدن به آن آدرس ها" نمی توانند به مقصد برسند؛ اینجاست که BGP به نامه ها مسیر بهینه برای رسیدن به آدرس مورد نظر را نشان می دهد ( همانند یک GPS ).

نکته حائز اهمیت این است که همیشه کوتاه ترین راه، بهترین راه نیست؛ در واقع فاکتورها یا معیارهای مختلفی هستند که یک BGP باید برای انتخاب بهترین مسیر در نظر گیرد که در ادامه به برخی از مهمترین آنها اشاره خواهیم کرد.

برخی از ویژگی های BGP

  • پشتیبانی از پارادایم پرش بعدی: این پارادایم ( Next-hop ) به یک بسته دستور می دهد که بین تمام روترهای بالقوه ای که می تواند به آنها هدایت شود، به سمت بهترین و بهینه ترین مسیر راهی شود که در نتیجه این اتصالاتِ موثرتر، عملکرد سریعترِ شبکه را ممکن می سازند.
  • اطلاعات مسیرها: درون سیستمِ معرفیِ BGP، تمام اطلاعات یک مسیر، اعم از مسیرِ بهینه ی بعدی و مقاصد قابل دسترسی نیز ذخیره می شوند.
  • قابلیت تنظیم سیاست های خاص: یک ادمین می تواند با برنامه نویسی درون سیستم BGP، سیاست هایی را طراحی و اعمال کند، از جمله انتخاب بین مسیرهای موجود درون یک AS یا خارج از آن.
  • هماهنگی با سایر پروتکل ها: از آنجایی که BGP بر پایه پروتکل TCP فعالیت می کند، با سایر پروتکل هایی که برای برقراری ارتباط از TCP استفاده می کنند نیز، سازگار است. علاوه بر این BGP با SSL، VPN و TLS نیز همخوانی دارد.
  • کاهش پهنای باند: کاهش پهنای باند به یک سازمان کمک می کند تا از شبکه خود نتیجه بهتری دریافت کند، چراکه علاوه بر کاهش هزینه ها، اتصالات شبکه ای را موثرتر و آسان تر می کند.
  • سازگاری با ابزارهای برقراری امنیت: اگرچه BGP ذاتاً ویژگی های امنیتی ندارد، اما با پروتکل ها و ابزارهای امنیتی که از شبکه های مختلفی استفاده می کنند، سازگاری کامل دارد. به این ترتیب، ادمین می تواند همزمان با بهره مندی از پروتکل BGP، برای ایمن سازی شبکه های خود از ابزارهای امنیتی نیز استفاده کند.

bgp

معیارهای انتخاب مسیر در BGP

بهترین معیار انتخاب مسیر در BGP، مکانیزمی درون این پروتکل است که به آن کمک می کند تا بهترین مسیر ممکن به سمت مقصد را انتخاب کند. زمانی که بین دو جفت ( دو روتر ) BGP را کانفیگ یا پیکربندی می کنید، هر دو جفت اطلاعات NLRI ( اطلاعات دسترسی پذیری لایه شبکه ) و اطلاعات خاص مربوط به مشخصه های ( attribute ) BGP را از طریق پیام های بروزرسانی BGP دریافت و رد و بدل می کنند.

این اطلاعات ابتدا در دیتابیس BGP روتر یا به اصطلاح Table آن ذخیره می شوند، و سپس BGP به کمک تعدادی قانون یا الگوریتم مشخص، برای هر مقصد بهترین مسیر را پردازش و محاسبه می کند.

ممکن است برای یک مقصد چندین مسیر وجود داشته باشد، که مسلماً یکی از آنها بهترین مسیر است، اما با این حال تمامی این مسیرها درون Table یا دیتابیس BGP ذخیره می شوند؛ در واقع، زمانی که مسیرهای منتهی به مقصد با در نظر گرفتن معیارهای مسیریابی BGP ارزیابی می شوند.

آن مسیرهایی که به عنوان بهترین مسیر انتخاب نمی شوند، از پروسه انتخابی حذف شده، اما درون Table نگهداری می شوند؛ چراکه ممکن است در زمان های اختلال بهترین مسیر، آن مسیرها به پروسه انتخابی باز گردند.

خرید CDN

معیارهای انتخاب بهترین مسیر در BGP

BGP برای توزیع بار طراحی نشده، و مسیرها نیز بر اساس تعدادی سیاست خاص ( Policy ) ارزیابی می شوند نه مواردی مثل پهنای باند. این پروسه با در نظر گرفتن الگوریتم هایی مشخص، تک تک مسیرهای چندگانه را به ترتیب حذف می کند تا در نهایت "تنها یک مسیر" باقی بماند. البته برای هر مقصد، پرش بعدی ( next-hop ) نیز باید در دسترس باشد، در غیر این صورت BGP مسیر را از پروسه محاسبات خود حذف خواهد کرد.

مشخصه های BGP ( Attributes ) در پروسه انتخابی بهترین مسیر نقش بسیار مهمی ایفا می کنند، اما ادمین می تواند مقدارهای پیش فرض آن مشخصه ها را در صورت نیاز تغییر دهد.

  1. وزن ( Weight ): مسیری ارجحیت بالاتری دارد که وزن بیشتری داشته باشد.
  2. Local Preference: اگر چند مسیر، وزن یکسانی داشته باشند، مسیری ارجحیت بالاتری دارد که local preference بالاتری در سیستم خودکار ( AS ) برای آن تعریف شده باشد ( این معیار در حالت پیش فرض 100 است ).
  3. مبدأ ( Origin ): در صورتی که local preference مسیرها نیز یکسان باشد، مسیری را انتخاب می کند که از روتر محلی ( local router ) سرچشمه گرفته باشد.
  4. مسیر سیستم خودکار یا AS: اگر هیچکدام از مسیرها از مبدأ سرچشمه نگیرند، مسیری ارجحیت بالاتری دارد که کوتاه ترین فاصله را با AS داشته باشد.
  5. کد مبدأ ( Origin Code ): اگر طول تمام مسیرهای AS یک اندازه باشند، مسیر ارجحیت بالاتری دارد که پایین ترین کد مبدأ را داشته باشد ( IGP < EGP < Incomplete )
  6. MED ( Multi-exit discriminator ): اگر تمام کدهای مبدأ یک اندازه باشند، مسیری را انتخاب می کند که کمترین MED را داشته باشد.
  7. ارجحیت مسیر eBGP نسبت به iBGP: در صورتی که مسیرها MED یکسانی داشته باشند، مسیرهای خروجی ( Ebgp ) را به مسیرهای داخلی ( iBGP ) ترجیح می دهد.
  8. کوتاه ترین مسیر IGP: اگر همگام سازی BGP غیر فعال شده و فقط مسیرهای داخلی باقی بنمانند، از طریق نزدیکترین همسایه IGP ( IGP neighbor )، مسیر را انتخاب می کند. به عبارت دیگر، روتر برای رسیدن به مقصد کوتاه ترین مسیر داخلی درون AS را ترجیح می دهد.
  9. قدیمی ترین مسیرها: بین مسیرهای eBGP، قدیمی ترین مسیر را انتخاب می کند؛ چراکه مسیرهایی که قبلاً مورد ارزیابی قرار گرفته و بهترین انتخاب شده اند، نیاز به تعویض مکرر بین مسیرهای جدید را کمتر می کنند.
  10. پایین ترین Router ID: مسیری اولویت بالاتری دارد که مقدار ID روتر BGP پایین تری داشته باشد.
  11. کمترین تعداد در لیست کلاستر: اگر مسیر BGP از یک جفت سرچشمه گرفته و از طریق چند مسیر داخلی دریافت شده باشد، مسیری را ترجیح می دهد که کمترین تعداد کلاستر را داشته باشد.

کاربرد BGP در تکنولوژی Anycast

زمانی که آدرسی مانند www.example.com را در مرورگر خود وارد می کنید، سایت مورد نظر در عرض چند ثانیه بر روی مرورگر شما نمایان خواهد شد. اما در این چند ثانیه برای نمایش محتوا، چند اتفاق پشت صحنه رخ می دهد تا درخواست شما به سمت آن سایت مسیردهی و هدایت شود. اینجاست که BGP تلاش می کند تا درخواست شما از طریق بهترین مسیر به سمت سرورِ آن سایت ارسال شود.

در این بین، تکنولوژی Anycast به پروتکل BGP متصل بوده و از این موضوع اطمینان حاصل می کند که تمام همسایگان یک روتر از در دسترس بودن شبکه های موجود و فاصله های جغرافیایی مسیرها مطلع هستند.

در واقع، توپولوژی اولیه Anycast به این صورت است که رِنج یا بازه ای از IP ها در پیام های BGP موجود در تمام روترها معرفی و یا به اصطلاح Advertise می شوند. به این ترتیب، زمانی که این پروسه در سراسر اینترنت تکثیر می یابد، روترها کوتاه ترین مسیرهای رسیدن به آن IPهای معرفی شده را شناسایی کرده و اتصالات را کوتاه تر می کنند.

سیستم های خودکار یا AS ها

هر کامپیوتر یا دستگاهی که به اینترنت متصل می شود، در واقع به یک AS ( Autonomous Systems ) یا سیستم خودکار متصل است. AS ها شبیه به اداره های پست هستند؛ به طوری که نامه ها از اداره ای به اداره دیگر منتقل می شوند تا در نهایت به شهر مورد نظر و مقصد نهایی برسند.

دقیقاً همانند نامه ها در سیستم پست، بسته ها یا Packets نیز با پرش از یک AS به AS دیگر در اینترنت در جریان هستند تا در نهایت به AS نهایی که دارای آدرس IP مقصد است، برسند. روترهای درون آن AS نهایی، بسته را به IP مقصد می رسانند.

هر سیستم خودکار بازه ( رنجی ) از آدرس های IP را درون خود نگهداری می کنند؛ دقیقاً مثل اداره پستی که مسئول ارسال نامه ها به تمام آدرس های درون یک شهر است.

اغلب سیستم های خودکار به چندین سیستم خودکار دیگر متصل بوده و با آنها در ارتباطند، که معمولاً هر AS توسط یک سازمان مشخص اجرا و کنترل می شود ( مثل ارائه دهندگان خدمات اینترنتی، یک شرکت بزرگ IT، یک دانشگاه و یا یک ارگان دولتی ).

هر AS حاوی اطلاعات مهمی است که برای هدایت و مسیردهی به بسته ها مورد استفاده قرار می گیرند، از جمله:

  • آدرسهای IP تحت کنترل خود
  • لیستی از AS های متصل

بنابراین AS ها برای هدایت درست بسته ها، این گونه اطلاعات را از طریق پروتکل دروازه مرزی ( BGP ) به اینترنت معرفی می کنند.

هر AS یک دارای یک شماره رسمی است که به آن ASN ( Autonomous System Number ) گویند؛ چیزی شبیه به شماره ثبت یا گواهینامه های منحصر به فردی که کسب و کارهای مختلف در جهان دارند. طبق برآوردهای انجام شده، در حال حاضر حدود 90 هزار ASN در جهان وجود دارند. این شماره ها برای برقراری ارتباطات خارجی بین روترهای درون شبکه مورد استفاده قرار می گیرند.

 

بنابراین، همانطور که گفته شد، AS ها سیاست های مسیردهی شان را از طریق BGP به سایر AS ها و روترها، معرفی می کنند. پس به عبارت دیگر، BGP پروتکلی است که بسته ها ( Packets ) را بین AS ها منتقل می کند. با توجه به وجود AS های بی شمار در دنیای اینترنت، روترهای BGP می بایست به طور مستمر، اطلاعات جداول خود را بروز رسانی کنند.

BGP Anycast در CDN

IP یا پروتکل اینترنت در اصل برای مسیردهی مورد استفاده قرار می گیرد که مشخص می کند هر بسته می بایست به سمت "کدام مقصد" هدایت شود. اما BGP در واقع مسئول هدایت بسته ها به سمت "سریع ترین مسیر" در راه رسیدن به آن مقصد است. بدون BGP، بسته های IP در اینترنت سردرگم بوده و به طور تصادفی از یک AS به AS دیگر هدایت می شوند که ممکن است در این مسیر، زمانی زیادی برای رسیدن به مقصد صرف شود.

به کمک تکنولوژی Anycast در سیستم مسیریابی، مطابق با موقعیت جغرافیایی کاربر ( ارسال کننده بسته )، و بهره مندی از پروتکل BGP، نزدیک ترین مسیر برای رسیدن به مقصد ردیابی شده، و در سریع ترین زمان ممکن، بسته به سمت سرور مورد نظر هدایت خواهد شد.

اما با فعالسازی شبکه توزیع محتوای یا CDN، سرورهای لبه میزبان کلود در نقاط مختلف جغرافیایی و در مهمترین و معتبرترین دیتاسنترهای جهان استقرار یافته و با در اختیار داشتن محتوای کش شده سایت شما، و پیاده سازی تکنولوژی BGP Anycast، بسته ها و درخواست های کاربران را در کسری از زمان پردازش کرده و به آنها پاسخ خواهند داد.

به این صورت، سرعت لود صفحات سایت شما به طرز چشم گیری بالا رفته و تاخیر شبکه به حداقل خواهد رسید. علاوه بر این با بهره گیری از سیستم های امنیت ابری متصل به شبکه CDN، ترافیک مخرب و تهدیدات سایبری ارسال شده به سمت سایت نیز در لحظه دفع خواهند شد. پس توصیه می کنیم هرچه زودتر برای خرید cdn اقدام کنید.

پیشنهاد ویژه

CDN ابری میزبان کلود

میزبان کلود

سرعت در بارگذاری و تحویل محتوای سایت

میزبان کلود

سرعت در بارگذاری و تحویل محتوای سایت

میزبان کلود

سرعت در بارگذاری و تحویل محتوای سایت

میزبان کلود

سرعت در بارگذاری و تحویل محتوای سایت

مشاهده پلانها
میزبان کلود میزبان کلود
میزبان کلود
میزبان کلود
نویسنده مطلب میزبان کلود

ارائه دهنده خدمات زیرساخت یکپارچه ابری

آشنایی کامل با BGP و AS ها 0 دیدگاه