نحوه تصمیم گیری پروتکل BGP با استفاده از 6 حالت ماشین متناهی ساده
اولین حالت ، حالت Idle است که در آن BGP تمام منابع را مقدار دهی می کند ، تمام ارتباطات وارد شونده BGP را رد می کند و یک ارتباط TCP با نظیرش برقرار میکند .
حالت دوم ، Connect است که در این حالت مسیریاب منتظر می شود ارتباط TCP کامل شود و درصورت موفقیت ، منتقل شود به حالت بعدی یعنی Opensent و در صورت عدم موفقیت ، تایمر تلاش برای برقراری ارتباط (ConnectRetry timer ) برای انتقال به حالت Active شروع به کار می کند تا زمانی که منقضی شود.
در حالت Active، مسیریاب ConnectRetry timer را به صفر ریست می کند و به حالت Connect برمیگردد.
Opensent ، مسیریاب یک پیغام باز ارسال میکند و منتظر جواب می ماند به منظور انتقال به حالت Openconfirm. پیام ها عوض می شوند و به محض موفقیت آمیز بودن دریافت، مسیر یاب وارد حالت Established می شود.
در حالت Established ، مسیریاب می تواند ،پیام هارا ، ارسال و دریافت ، آپدیت و برای نظیرش زنده نگه دارد.
حال نگاه موردی به ویژگی های هریک از این حالات :
حالت Idle
- قطع تمام ارتباطات وارد شده به BGP
- مقدار دهی برای به راه انداختن رخداد ها
- راه اندازی ارتباط TCP با همان کانفیگ برای نظیر BGP
- گوش کردن به ارتباط TCP از سمت نظیر
- تغییر حالت به حالت Connect
- اگر در هرکدام از حالت ماشین متناهی خطا رخ دهد ، بخش BGP فورا از کار افتاده و به حالت Idle بر میگردد .
-
برخی از دلایلی که مسیریاب از حالتIdle فرآیند را آغاز نمیکند به قرار زیر است :
- پورت 179 TCP بسته است
- پورت تصادفی TCP بالای 1023 بسته است
- آدرس نظیر در هر مسیریاب به طور غلط کانفیگ شده است
- عدد AS در هر مسیریاب به طور غلط کانفیگ شده است
حالت Connect
- انتظار برای مذاکره موفق TCP با نظیر
- اگر بخش TCP با موفقیت برقرار شود ، BGP دیگر زمان زیادی در این حالت نمی ماند
- ارسال پیام باز به نظیر و تغییر به حالت OpenSent
- اگر در اینجا خطایی رخ دهد ، BGP به حالت Active می رود . دلایل بروز این خطا نیز مانند 4 دلیلی است که در حالت قبلی برای مسیریاب در حالت Idle گفته شد .
حالت Active
- اگر مسیریاب قادر به برقراری بخش TCP ، به صورت موفق نباشد ، درنتیجه مسیریاب در حالت Active پایان می یابد
- ماشین حالات متناهی BGP اقدام به برقراری مجدد یک بخش TCP دیگر با نظیر می کند و اگر موفق شود ، آنگاه یک پیغام باز به نظیر ارسال می کند .
- اگر مجددا نا موفق باشد ، آنگاه ماشین حالات متناهی به حالت Idle بر می گردد .
-
تکرار این ناکامی ها باعث می شود مسیریاب در یک حلقه بین حالاتIdle وActive گرفتار شود ، که دلایل بروز این مشکل :
- پورت 179 TCP بسته است
- پورت تصادفی TCP بالای 1023 بسته است
- خطای کانفیگ BGP
- اختلال شبکه
- از بین رفتن واسط شبکه
حالت OpenSent
- ماشین حالات متناهی BGP منتظر پیام باز از سمت نظیر می شود
- به محض اینکه اولین پیام دریافت شد ، مسیریاب اعتبار پیام باز را چک می کند
- اگر خطایی رخ داده باشد به دلیل یکی از فیلد های پیام باز است که بین نظیرها منطبق نشده ، سپس مسیریاب یک اطلاعیه به صورت پیام برای نظیر می فرستد تا نشان دهد علت خطا چه بوده است .
- اگر خطایی وجود نداشت ، پیام ارسال می شود ، تایمر های مختلف تنظیم می شوند و به حالت OpenConfirm می رود .
حالت OpenConfirm
- نظیر به خط گوش میکند برای دریافت پیام باز از سمت نظیر دیگر
- اگر پیام دریافت شد و هیچ تایمری قبل از دریافت پیام منقضی نشد ، BGP به حالت Established منتقل می شود .
- اگر تایمر قبل از دریافت پیام منقضی شود و یا اگر شرایط خطا رخ دهد ، انتقال مسیریاب به حالت Idle بر میگردد
حالت Established
- در این حالت ، نظیر ، یک پیغام آپدیت برای تغییر اطلاعات هر مسیر استفاده شده توسط نظیر BGP ارسال میکند .
- اگر در پیام آپدیت خطایی وجود داشت ، آنگاه پیام اطلاعیه ای برای نظیر ارسال می شود و انتقال BGP به حالت Idle بر میگردد.
- اگر تایمر قبل از اینکه پیام دریافت شود منقضی شود و یا شرایط خطا رخ دهد ، انگاه انتقال مسیریاب به حالت
Idle برمیگردد.
6 حالت، ماشین حالات متناهی برای پروتکل BGP ، در اینجا به پایان رسید ، در آینده دیگر پروتکل های شبکه جهانی اینترنت را با هم بررسی خواهیم کرد .