StatCounter

Monday, January 23, 2012

پروتکل BGP (Border Gateway Protocol)

پروتکل BGP

Border Gateway Protocol – RFC  1771

BGP پروتکلی است که در هسته Routing اينترنت از آن استفاده می شود.

وظيفه اين پروتکل اتصال و Routing بين Autonomous System ها و شبکه های بزرگ IP است. بطور مثال ارتش برای اتصال شبکه های نيروهای زمينی،هوائي و دريايي خود – که هر کدام شبکه ای بزرگ IP دارند – از BGP بعنوان Exterior Routing Protocol استفاده ميکند.

در واقع BGP حامل اطلاعات Autonomous هاست تا از اين طريق شبکه های IP (در درون Autonomous) را پيدا کند. از مشخصات کلی اين پروتکل ميتوان به موارد زير اشاره کرد:

يک پروتکل Path Vector است تا Distance Vector.

VLSM و CIDR را پشتيبانی ميکند.

ارتباط با همسايگان را روی پورت TCP 179 برقرار ميکند و با Keep-alive آن را نگه ميدارد.

Routing Table مستقل خود را دارد.

Metric در این پروتکل، Attribute ناميده می شود.

نسبت به پروتکل های Interior کاملا متفاوت بوده و برای ارتباط بين AS هاست. بعبارتی Inter-autonomous Systems Routing Protocol است.

انعطاف پذير (Flexibility) بوده و با Policy-based Routing حرفه ای همراه است. به هرحال Routing در اينترنت بصورت Hop-by-hop است و سياست های شما در طول مسير بوسيله روترهای ميان راه – که کنترلی رويشان نداريد – ممکن است بکار گرفته نشود.

مثل RFC 1918 جهت اختصاص IP برای استفاده Private، AS Number نيز طبق RFC 1930 از 64512 به انتها (يعنی تا 65535) برای مصارف Private در نظر گرفته شده است.

RFC 1771- March 1995
Interdomain Routing Protocol – Exterior Routing Protocol
Path-Vector
Uses TCP port 179
BGP4 Implements CIDR – CIDR RFC 1519
Classless supported VLSM- Auto-Summary IANA Classful and Manual
Administrative Distance = 20 (eBGP) and 200 – iBGP
Uses several attributes – metrics
Authentication supported
Partial updates supported

پيام های BGP

در BGP چهار گونه پيام رد و بدل ميشود:

Open Messages: برای ايجاد Connection بين Peer ها استفاده ميشود.

Keepalives: برای نگهداری Connection بين Peer ها بصورت تناوبی استفاده ميشود. اگر Timer آن صفر ست شده باشد، Keepalive ارسال نميشود.

Update Messages: حاوی اطلاعات مسير و Attribute های مسير است. به ازای هر مسير يک Update ارسال ميگردد.

Notification: برای اطلاع همسايه از مشکل (Error) و در زمان قطع ارتباط ارسال ميشود.