همسایگی BGP
برای ایجاد همسایکی یکسری شرایط وجود داره که باید رعایت شود تا همسایگی برقرار شه مثلا Authentication مراحل BGP میباشد. وقتی همسایگی اتفاق افتاد جدولی بنام NEIGHBORSHIP در هر دو روتر تشکیل میشود.
روتر ها برای اینکه همسایگی تشکیل بدن از بسته های Unicast بنام OPEN استفاده میکنند.
بسته دوم ارسال UPDATE اطلاع رسانی مسیرها انجام میشه.
وقتی OPEN انجام شد دیگه OPEN ای ارسال نمیشه و باید با بسته های KEEPALIVE همسایگی را چک نماید.
NOTIFICATION زمانی که خطایی رخ داده میفرسته تا همسایگی قطع کنه.
بسته های BGP بر روی بستر TCP و IP با پورت 179 ارسال میشود.
هر روتر هر 60 ثانیه KEEPALIVE را ارسال میکنه و اگر 3 تا KEEPALIVE نرسه همسایگی قطع میشه.
در OPEN MESSAGE یک پارامتر مهم مقدار HOLD TIME میباشد که مقدارش اعلام میشه و کمترین مقدار انتخاب میشه. ما KEEPALIVE و HOLD TIME را به دو صورت میتوانیم تنظیم کنیم یا کلی یا به همسایه.
NEIGHBOR ——– TIMERS KA-INTERVAL —–KA-HOLDTIME
BGP TIMERS KA-INTERVAL —-KA-HOLDTIME
مشکل زمانی پیش میاد که ما مقدار KEEPALIVE را پایین میزاریم و منجر به بالا رفتن استفاده CPU میشه. باعث مشکل امنیتی میشه و برای حل این ما میتونیم مقدار قابل پذیرش این اعداد را مشخص کنیم.
شرایط همسایگی EBGP:
Configured Remote-AS NUMBER=Actual Remote-AS NUMBER
2 not equal bgp router-id
3 authentications
4 TCP session establishment
اول وقتی دستور Neighbor میزنیم میبینه مسیری به همسایه داره اگر نداشت برمیگرده به IDLE
اگر مسیری داشت میره به فاز Connect (three way hand shake) چک میکنه و اگر پاس شه میره به OPEN.
OPEN ارسال میشه و اگر اکی باشه OPEN CONFIRM میره و در ادامه KEEPALIVE و NOTIFICATION میگیریم و KEEPALIVE بگیریم عملا میشه ESTABLISHED . حالا فرض کنید تو مرحله Connect مشکل خوردیم و فیل میشه میره به وضعیت ACTIVE و یکمدت تو این وضعیت میمونه و اگر جوابی نگرفت میره به وضعیت IDLE.