همسایگی 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.