مسیریابی پویا چیست؟ داستان شهر روترها و معرفی RIP، OSPF و BGP
شبکهای را تصور کنید که از چند ساختمان، شعبه، مرکز داده و مسیر ارتباطی مختلف تشکیل شده است. هر روتر باید بداند بستههای اطلاعاتی را برای رسیدن به مقصد از کدام مسیر ارسال کند. اگر فقط یک مسیر وجود داشته باشد، تصمیمگیری ساده است؛ اما در شبکهای دارای چند روتر، چند لینک و چند مسیر جایگزین، مدیریت دستی تمام Routeها بهسرعت پیچیده میشود.
مسیریابی پویا یا Dynamic Routing به روترها اجازه میدهد اطلاعات شبکه را با یکدیگر مبادله کنند، مسیرهای جدید را یاد بگیرند، بهترین مسیر را انتخاب کنند و هنگام قطع یک لینک یا تغییر توپولوژی، جدول مسیریابی خود را بهصورت خودکار بهروزرسانی کنند.
در شبکههای کوچک میتوان از Static Route استفاده کرد، اما با افزایش تعداد روترها، شبکهها و مسیرهای جایگزین، مدیریت دستی Routeها احتمال خطا را بالا میبرد. پروتکلهای مسیریابی پویا مانند RIP، OSPF و BGP برای حل این مشکل طراحی شدهاند.
در این مقاله ابتدا مفهوم مسیریابی را با داستان «شهر روترها» توضیح میدهیم و سپس وارد جزئیات تخصصی مانند Routing Table، RIB و FIB، تفاوت IGP و EGP، خانوادههای Distance Vector، Link State و Path Vector، مفهوم Convergence و تنظیم پروتکلهای مسیریابی در MikroTik RouterOS v7 میشویم.
نتیجه سریع: RIP یک پروتکل Distance Vector ساده با معیار Hop Count است؛ OSPF یک پروتکل Link State برای مسیریابی داخلی سازمانها محسوب میشود و BGP برای تبادل Route میان Autonomous Systemها و اعمال Policyهای پیچیده استفاده میشود. انتخاب پروتکل باید براساس اندازه شبکه، سرعت همگرایی، پیچیدگی توپولوژی و سیاستهای مسیریابی انجام شود.
داستان شهر جادویی روترها
در شهری بزرگ، هر محله یک شبکه مستقل داشت. خانهها، فروشگاهها، کارخانهها و ساختمانهای اداری به خیابانهای محلی متصل بودند و در ورودی هر محله یک روتر قرار داشت.
هر بسته اطلاعاتی مانند یک نامه بود که باید از مبدا به مقصد میرسید. روی هر نامه آدرس مقصد نوشته شده بود، اما نامه نمیدانست از کدام خیابان یا شهر عبور کند. روترها نقش اداره پست و راهنمای مسیر را بر عهده داشتند.
در ابتدا مدیر شهر تمام مسیرها را بهصورت دستی روی روترها ثبت میکرد:
برای رسیدن به محله شمالی، نامه را به Router B بده.
برای رسیدن به کارخانه، از Router C عبور کن.
برای اینترنت، تمام نامههای ناشناخته را به Router ISP بفرست.تا زمانی که شهر کوچک بود، این روش بهخوبی کار میکرد. اما با اضافهشدن محلههای جدید، مسیرهای پشتیبان و ارتباط با شهرهای دیگر، دفترچه مسیرها بسیار بزرگ شد.
مشکل اصلی زمانی رخ داد که یکی از پلهای اصلی شهر خراب شد. روترها همچنان نامهها را به مسیر قبلی میفرستادند، زیرا هیچکس Routeهای دستی آنها را تغییر نداده بود.
برای حل مشکل، روترها تصمیم گرفتند با یکدیگر صحبت کنند. آنها درباره شبکههای متصل، فاصله مقصدها، وضعیت لینکها و مسیرهای قابل استفاده اطلاعات ردوبدل کردند. به این ترتیب Dynamic Routing متولد شد.
مسیریابی یا Routing چیست؟
Routing فرایند انتخاب مسیر برای ارسال بستههای IP از یک شبکه به شبکه دیگر است. روتر برای هر بسته، آدرس مقصد را بررسی کرده و آن را با Routeهای موجود در جدول مسیریابی مقایسه میکند.
هر Route معمولاً شامل اطلاعات زیر است:
- شبکه یا Prefix مقصد
- Next Hop یا Gateway بعدی
- Interface خروجی
- Metric یا هزینه مسیر
- Distance یا میزان ترجیح منبع Route
- وضعیت فعال یا غیرفعال مسیر
- پروتکلی که Route را ایجاد کرده است
نمونه یک Route ساده:
Destination: 192.168.20.0/24
Gateway: 10.10.10.2
Interface: ether1
Distance: 110
Protocol: OSPFاین Route به روتر اعلام میکند بستههای مقصد شبکه 192.168.20.0/24 باید به Gateway با آدرس 10.10.10.2 تحویل داده شوند.
Next Hop چیست؟
Next Hop روتر بعدی در مسیر رسیدن به مقصد است. هر روتر الزاماً مسیر کامل انتهابهانتهای بسته را در اختیار ندارد؛ بلکه معمولاً فقط میداند بسته را به کدام همسایه تحویل دهد.
مثال:
Client
│
Router A
│ Next Hop: Router B
Router B
│ Next Hop: Router C
Router C
│
ServerRouter A برای رسیدن به Server فقط لازم است بداند Router B گام بعدی مناسب است. Router B نیز تصمیم جداگانهای برای گام بعدی میگیرد.
Routing Table چیست؟
Routing Table مجموعه Routeهایی است که روتر برای تصمیمگیری درباره بستهها استفاده میکند. Routeها میتوانند از منابع مختلف ایجاد شوند:
- Connected Route
- Static Route
- DHCP Client
- PPPoE یا VPN
- RIP
- OSPF
- BGP
- پروتکلها یا سرویسهای دیگر
در RouterOS v7 میتوان Routeهای IPv4 و IPv6 را از منوی یکپارچه Routing مشاهده کرد:
/routing route printنمایش Routeهای IPv4 به شکل سادهتر:
/ip route print detailنمایش Routeهای IPv6:
/ipv6 route print detailتفاوت RIB و FIB چیست؟
در فرایند مسیریابی دو پایگاه اطلاعاتی مهم وجود دارد:
| بخش | نام کامل | وظیفه |
|---|---|---|
| RIB | Routing Information Base | نگهداری Routeهای شناختهشده و انتخاب بهترین Route |
| FIB | Forwarding Information Base | نگهداری اطلاعات موردنیاز برای Forward کردن سریع بستهها |
ممکن است چند پروتکل، چند Route برای یک Prefix یکسان ارائه دهند. RIB آنها را مقایسه میکند و Route منتخب در FIB قرار میگیرد تا Data Plane از آن برای هدایت بستهها استفاده کند.
روتر چگونه بهترین مسیر را انتخاب میکند؟
انتخاب مسیر در دو مرحله کلی انجام میشود:
- انتخاب بهترین Route برای هر Prefix در Routing Table
- انتخاب Route دارای دقیقترین Prefix برای بسته مقصد
برای Forward کردن بسته، Route دارای طولانیترین Prefix یا Longest Prefix Match ترجیح داده میشود.
اگر جدول شامل Routeهای زیر باشد:
0.0.0.0/0
10.0.0.0/8
10.10.0.0/16
10.10.20.0/24بسته مقصد 10.10.20.50 با Route شبکه 10.10.20.0/24 ارسال میشود؛ زیرا این Route از همه دقیقتر است.
برای مقایسه Routeهایی که Prefix یکسان دارند، عواملی مانند Distance، Metric و مشخصات خود پروتکل بررسی میشوند. نحوه انتخاب دقیق در RIP، OSPF و BGP یکسان نیست.
Static Routing چیست؟
در Static Routing، مدیر شبکه Route را بهصورت دستی تعریف میکند:
/ip route
add dst-address=192.168.20.0/24 gateway=10.10.10.2مزایای Static Routing:
- پیکربندی ساده در شبکه کوچک
- مصرف بسیار کم CPU و پهنای باند
- رفتار کاملاً قابل پیشبینی
- نبود تبادل Routing Update
- سطح حمله کمتر نسبت به پروتکلهای باز
محدودیتها:
- نیاز به تغییر دستی هنگام خرابی مسیر
- مدیریت دشوار در شبکه بزرگ
- احتمال خطای انسانی
- نبود آگاهی خودکار از توپولوژی
- نیاز به ثبت Route در روترهای متعدد
Dynamic Routing چیست؟
در Dynamic Routing، روترها با استفاده از یک پروتکل مشخص اطلاعات Reachability را با یکدیگر مبادله میکنند.
هر پروتکل قوانینی برای موارد زیر دارد:
- شناسایی همسایهها
- Advertise کردن Prefixها
- انتخاب بهترین مسیر
- تشخیص خرابی لینک یا Neighbor
- حذف Routeهای قدیمی
- جلوگیری از Routing Loop
- اعمال Policy و Filter
- همگراکردن اطلاعات روترها
مزایای Dynamic Routing:
- یادگیری خودکار شبکهها
- واکنش به قطع لینک
- پشتیبانی از مسیر جایگزین
- مقیاسپذیری بهتر
- کاهش تغییرات دستی
- امکان Load Balancing در سناریوهای سازگار
محدودیتها:
- پیچیدگی بیشتر طراحی
- مصرف CPU، RAM و پهنای باند
- نیاز به مانیتورینگ
- ریسک Route Leak یا Route Loop
- نیاز به Filtering و امنیت
- وابستگی به همگرایی صحیح پروتکل
مقایسه Static Routing و Dynamic Routing
| ویژگی | Static Routing | Dynamic Routing |
|---|---|---|
| نحوه ایجاد Route | دستی | خودکار از طریق پروتکل |
| واکنش به خرابی | نیازمند تنظیم یا Tracking | براساس پروتکل انجام میشود |
| مناسب شبکه کوچک | بله | ممکن است غیرضروری باشد |
| مناسب شبکه بزرگ | مدیریت دشوار | مناسبتر |
| مصرف منابع | کم | بیشتر |
| پیچیدگی | کم | متوسط تا زیاد |
| پشتیبانی از Policy پیچیده | محدود | در OSPF و BGP گستردهتر |
Autonomous System یا AS چیست؟
Autonomous System مجموعهای از شبکهها و روترها است که تحت مدیریت یک سازمان یا سیاست مسیریابی مشترک قرار دارند.
برای مثال:
- شبکه داخلی یک سازمان میتواند یک Routing Domain باشد.
- شبکه یک اپراتور اینترنتی یک AS مستقل است.
- مرکز داده یا Provider دارای ASN میتواند با چند اپراتور BGP برقرار کند.
در BGP، هر Autonomous System با یک شماره به نام ASN شناسایی میشود.
IGP چیست؟
IGP یا Interior Gateway Protocol برای تبادل اطلاعات مسیریابی داخل یک Autonomous System یا محدوده مدیریتی واحد استفاده میشود.
نمونههای شناختهشده:
- RIP
- OSPF
- IS-IS
- EIGRP در پلتفرمهای سازگار
در شبکه سازمانی دارای چند شعبه، OSPF میتواند Routeهای داخلی را میان روترها توزیع کند.
EGP چیست؟
اصطلاح Exterior Gateway Protocol به پروتکلهایی اشاره دارد که Routeها را میان Autonomous Systemهای مستقل مبادله میکنند.
پروتکل اصلی مورد استفاده در اینترنت امروز BGP-4 است.
نباید دسته عمومی EGP را با پروتکل تاریخیای که نام آن نیز EGP بوده است اشتباه گرفت. در معماریهای جدید، وقتی درباره مسیریابی بین ASها صحبت میشود، معمولاً منظور BGP است.
خانوادههای اصلی پروتکلهای مسیریابی
پروتکلهای مسیریابی را میتوان براساس نوع اطلاعاتی که مبادله میکنند و نحوه محاسبه مسیر دستهبندی کرد.
| خانواده | نمونه | اطلاعات اصلی | کاربرد |
|---|---|---|---|
| Distance Vector | RIP | فاصله و Next Hop | شبکههای کوچک |
| Link State | OSPF و IS-IS | وضعیت لینکها و نقشه توپولوژی | شبکههای متوسط و بزرگ |
| Enhanced Distance Vector | EIGRP | Metric، Neighbor و Topology Table | پلتفرمهای سازگار Cisco |
| Path Vector | BGP | Prefix، AS Path و Attributeها | مسیریابی بین ASها |
Distance Vector چیست؟
در پروتکلهای Distance Vector، هر روتر درباره فاصله مقصد و جهت یا Neighbor بعدی اطلاعات دریافت میکند.
روتر نقشه کامل توپولوژی را ندارد و تا حد زیادی به اطلاعات همسایههای خود اعتماد میکند.
مثال ساده:
Router B به Router A میگوید:
شبکه 192.168.30.0/24 دو Hop با من فاصله دارد.
Router A نتیجه میگیرد:
این شبکه از طریق Router B و با سه Hop قابل دسترسی است.مزایا:
- پیادهسازی ساده
- مصرف منابع کمتر
- مناسب برای شبکههای کوچک
محدودیتها:
- همگرایی کندتر در مقایسه با پروتکلهای پیشرفته
- احتمال Count to Infinity
- نیاز به Split Horizon و Route Poisoning
- دید محدود نسبت به توپولوژی
RIP چیست؟
RIP یا Routing Information Protocol یکی از شناختهشدهترین پروتکلهای Distance Vector است.
RIP بهترین مسیر را براساس کمترین تعداد Hop انتخاب میکند. هر روتر موجود در مسیر یک Hop محسوب میشود.
در RIPv2:
- Metricهای ۱ تا ۱۵ قابل استفاده هستند.
- Metric برابر با ۱۶ به معنی Unreachable است.
- حداکثر فاصله عملی شبکه ۱۵ روتر است.
- Updateها بهصورت دورهای ارسال میشوند.
- از Split Horizon و Poison Reverse برای کاهش Loop استفاده میشود.
برای آشنایی بیشتر با جلوگیری از حلقه در RIP، مقاله Split Horizon چیست؟ را مطالعه کنید.
Link State چیست؟
در پروتکل Link State، روترها وضعیت لینکهای خود را به دیگر اعضای Routing Domain اعلام میکنند. هر روتر با دریافت این اطلاعات، یک پایگاه داده از توپولوژی شبکه میسازد.
فرایند عمومی:
- روتر Neighborها را کشف میکند.
- وضعیت لینکهای خود را Advertise میکند.
- اطلاعات Link State در محدوده مربوط Flood میشوند.
- روترها پایگاه داده توپولوژی هماهنگ ایجاد میکنند.
- هر روتر الگوریتم SPF را اجرا میکند.
- بهترین Routeها وارد جدول مسیریابی میشوند.
مزایای Link State:
- دید دقیقتر نسبت به توپولوژی
- همگرایی سریعتر
- پشتیبانی از ساختار سلسلهمراتبی
- نداشتن محدودیت ۱۵ Hop
- ارسال Update عمدتاً هنگام تغییر توپولوژی
محدودیتها:
- مصرف بیشتر CPU و RAM
- پیچیدگی طراحی و عیبیابی
- نیاز به هماهنگی Area و Timerها
- اهمیت زیاد Router ID و Network Type
OSPF چیست؟
OSPF یا Open Shortest Path First یک پروتکل IGP مبتنی بر Link State است که برای شبکههای سازمانی و زیرساختهای داخلی استفاده میشود.
OSPF برای انتخاب مسیر از Cost استفاده میکند. هر روتر با استفاده از الگوریتم Dijkstra یا SPF، کوتاهترین درخت مسیر را براساس مجموع Cost لینکها محاسبه میکند.
مفاهیم مهم OSPF:
- Router ID
- Neighbor و Adjacency
- Hello و Dead Interval
- Link State Advertisement یا LSA
- Link State Database یا LSDB
- Backbone Area یا Area 0
- Area Border Router یا ABR
- Autonomous System Boundary Router یا ASBR
- Designated Router و Backup Designated Router
- Cost
Area در OSPF چیست؟
برای جلوگیری از بزرگشدن بیش از حد LSDB و محاسبات SPF، شبکه OSPF میتواند به چند Area تقسیم شود.
Area اصلی OSPF:
Area 0.0.0.0این Area با نام Backbone شناخته میشود. Areaهای دیگر معمولاً باید از طریق ABR به Backbone متصل شوند.
مزایای طراحی Area:
- کاهش حجم LSDB
- محدودکردن دامنه تغییرات توپولوژی
- کاهش دفعات SPF در بخشهای دیگر
- امکان Summarization در مرز Areaها
- مقیاسپذیری بهتر
EIGRP و اصطلاح Hybrid
در برخی منابع قدیمی، EIGRP بهعنوان Hybrid معرفی میشود؛ زیرا ویژگیهایی از پروتکلهای Distance Vector و Link State دارد.
بااینحال طبقهبندی دقیقتر و رایجتر، Enhanced Distance Vector است. EIGRP از الگوریتم DUAL، Neighbor Table و Topology Table برای یافتن مسیرهای Loop-Free استفاده میکند.
RouterOS از EIGRP پشتیبانی نمیکند. در شبکههای MikroTik، گزینههای اصلی Dynamic Routing شامل RIP، OSPF و BGP هستند.
Path Vector چیست؟
در پروتکل Path Vector، علاوه بر Reachability مقصد، اطلاعات مسیر عبوری نیز Advertise میشود.
در BGP، Attribute مهم AS_PATH نشان میدهد یک Route از کدام Autonomous Systemها عبور کرده است.
مثال:
Prefix: 203.0.113.0/24
AS_PATH: 64510 64520 64530این اطلاعات به روتر کمک میکند:
- مسیرهای دارای AS محلی را رد کند.
- از Loop جلوگیری کند.
- براساس طول AS_PATH تصمیم بگیرد.
- Policyهای ورودی و خروجی اعمال کند.
BGP چیست؟
BGP یا Border Gateway Protocol پروتکل اصلی مسیریابی بین Autonomous Systemها و زیربنای تبادل Route در اینترنت است.
BGP صرفاً کوتاهترین مسیر فیزیکی را انتخاب نمیکند؛ بلکه برای اعمال سیاستهای مدیریتی طراحی شده است.
Attributeهای مهم BGP:
- AS_PATH
- NEXT_HOP
- LOCAL_PREF
- MED
- ORIGIN
- COMMUNITY
- WEIGHT در RouterOS و بعضی پلتفرمها
دو نوع Session اصلی BGP:
- eBGP: ارتباط میان دو AS متفاوت
- iBGP: ارتباط BGP داخل یک AS
BGP از TCP پورت 179 استفاده میکند و پس از برقراری Session، Routeها و تغییرات Reachability را میان Peerها مبادله میکند.
مقایسه RIP، OSPF و BGP
| ویژگی | RIP | OSPF | BGP |
|---|---|---|---|
| نوع | Distance Vector | Link State | Path Vector |
| محدوده | IGP | IGP | EGP و بعضی کاربردهای داخلی |
| Metric اصلی | Hop Count | Cost | Attribute و Policy |
| حداکثر Hop | ۱۵ | محدودیت مشابه RIP ندارد | بر مبنای Hop Count عمل نمیکند |
| سرعت همگرایی | معمولاً کندتر | سریعتر با طراحی مناسب | پایداری و Policy مهمتر از سرعت بالا است |
| پیچیدگی | کم | متوسط تا زیاد | زیاد |
| کاربرد رایج | Lab و شبکه کوچک | شبکه سازمانی و داخلی | ISP، دیتاسنتر و Multi-Homing |
| پشتیبانی RouterOS | دارد | دارد | دارد |
Convergence یا همگرایی چیست؟
Convergence فرایندی است که طی آن روترهای یک Routing Domain پس از تغییر توپولوژی، به اطلاعات صحیح و سازگار درباره مسیرهای قابل دسترسی میرسند.
فرض کنید لینک اصلی میان Router A و Router B قطع شود:
- روتر خرابی را تشخیص میدهد.
- Route یا Neighbor مربوط نامعتبر میشود.
- تغییر به سایر روترها Advertise میشود.
- Routeهای قدیمی حذف یا اصلاح میشوند.
- مسیر جایگزین انتخاب میشود.
- Forwarding Table بهروزرسانی میشود.
زمان بین وقوع خرابی و رسیدن شبکه به وضعیت پایدار، زمان همگرایی نام دارد.
چه عواملی روی زمان همگرایی تأثیر دارند؟
- Hello و Dead Timer
- Update Interval
- روش تشخیص خرابی Interface
- پشتیبانی از BFD
- اندازه شبکه
- تعداد Prefixها
- سرعت CPU روتر
- ساختار Areaها
- کیفیت لینک
- وجود مسیر جایگزین
- Routing Filterها
- تعداد تغییرات همزمان
کاهش بیش از حد Timerها همیشه مناسب نیست. Timerهای تهاجمی میتوانند در لینکهای ناپایدار باعث Flapping و محاسبات مکرر شوند.
داستان بستهشدن پل در شهر روترها
در شهر روترها، مسیر اصلی میان محله مرکزی و منطقه صنعتی از روی یک پل عبور میکرد. یک مسیر فرعی نیز وجود داشت، اما طولانیتر بود.
در حالت عادی:
Central → R1 → R2 → Industrial
Cost = 20مسیر پشتیبان:
Central → R1 → R3 → R4 → Industrial
Cost = 50وقتی پل بین R1 و R2 خراب شد، پروتکل مسیریابی باید:
- خرابی Neighbor یا Link را تشخیص دهد.
- Route اصلی را از جدول خارج کند.
- اطلاعات تغییر را منتشر کند.
- مسیر دارای Cost 50 را فعال کند.
- از ایجاد Loop جلوگیری کند.
اگر شبکه از Static Route ساده استفاده کند و Tracking وجود نداشته باشد، Route خراب ممکن است همچنان فعال باقی بماند. در OSPF، تغییر Link State منتشر شده و روترها SPF را مجدداً اجرا میکنند.
تنظیم OSPF در MikroTik RouterOS v7
در RouterOS v7، پیکربندی OSPF شامل سه بخش اصلی است:
- Instance
- Area
- Interface Template
سناریوی نمونه:
Router R1: 10.0.12.1/30
Router R2: 10.0.12.2/30
LAN R1: 192.168.10.0/24
LAN R2: 192.168.20.0/24تنظیم Router R1
/routing ospf instance
add name=ospf-v2 \
version=2 \
router-id=1.1.1.1
/routing ospf area
add name=backbone \
area-id=0.0.0.0 \
instance=ospf-v2
/routing ospf interface-template
add area=backbone \
interfaces=ether1 \
type=ptp
/routing ospf interface-template
add area=backbone \
networks=192.168.10.0/24 \
passive=yesتنظیم Router R2
/routing ospf instance
add name=ospf-v2 \
version=2 \
router-id=2.2.2.2
/routing ospf area
add name=backbone \
area-id=0.0.0.0 \
instance=ospf-v2
/routing ospf interface-template
add area=backbone \
interfaces=ether1 \
type=ptp
/routing ospf interface-template
add area=backbone \
networks=192.168.20.0/24 \
passive=yesقرار دادن LAN در حالت Passive باعث میشود Prefix آن Advertise شود، اما OSPF Hello روی شبکه کاربران ارسال نشود.
بررسی وضعیت OSPF
مشاهده Instance:
/routing ospf instance print detailمشاهده Areaها:
/routing ospf area print detailمشاهده Interfaceهای فعال:
/routing ospf interface print detailمشاهده Neighborها:
/routing ospf neighbor print detailمشاهده Routeهای OSPF:
/ip route print detail where ospfدلایل تشکیلنشدن OSPF Neighbor
- نبود ارتباط IP دوطرفه
- تفاوت Area ID
- تفاوت Subnet یا Prefix
- تفاوت Hello و Dead Interval
- تفاوت Network Type
- تفاوت Authentication
- فیلترشدن Protocol 89 در Firewall
- تکراریبودن Router ID
- Passive بودن Interface اشتباه
- MTU یا مشکلات لایه دوم
تنظیم RIP در MikroTik RouterOS v7
در RouterOS v7 دیگر مانند نسخه قدیمی نیازی به تعریف Networks در منوی RIP نیست. ابتدا Instance و سپس Interface Template ایجاد میشود.
/routing rip instance
add name=rip-v4 \
afi=ip \
routing-table=main \
redistribute=connected
/routing rip interface-template
add instance=rip-v4 \
interfaces=ether1 \
split-horizon=yes \
poison-reverse=noهشدار: استفاده مستقیم از redistribute=connected ممکن است تمام شبکههای Connected، از جمله شبکه مدیریت یا WAN را Advertise کند. در شبکه عملیاتی باید از Routing Filter استفاده شود.
بررسی وضعیت RIP
/routing rip instance print detail
/routing rip interface-template print detail
/routing rip interface print detail
/routing rip neighbor print detail
/ip route print detail where ripتنظیم پایه eBGP در RouterOS v7.20 و جدیدتر
سناریوی نمونه:
Router R1:
IP: 192.0.2.1
AS: 65001
Router R2:
IP: 192.0.2.2
AS: 65002محدوده 192.0.2.0/24 مخصوص مستندات است و باید در شبکه واقعی با آدرسهای صحیح جایگزین شود.
Router R1
/routing bgp instance
add name=as65001 \
as=65001
/routing bgp connection
add name=to-as65002 \
instance=as65001 \
remote.address=192.0.2.2 \
local.role=ebgpRouter R2
/routing bgp instance
add name=as65002 \
as=65002
/routing bgp connection
add name=to-as65001 \
instance=as65002 \
remote.address=192.0.2.1 \
local.role=ebgpدر ساختار جدید RouterOS، Remote AS میتواند از پیام OPEN همسایه تشخیص داده شود؛ اما در طراحی عملیاتی باید Session، Filter و Peerهای مجاز بهدقت کنترل شوند.
بررسی Sessionهای BGP
/routing bgp connection print detail
/routing bgp session print detailSession سالم باید در حالت Established قرار بگیرد.
موارد مهم قابل بررسی:
- Remote Address
- Remote AS
- Uptime
- Hold Time
- Keepalive Time
- تعداد Messageهای دریافتی و ارسالی
- AFIهای Negotiated
- آخرین Notification
آیا فعالکردن BGP بهتنهایی Routeها را Advertise میکند؟
خیر. ایجاد Session بهتنهایی به معنی انتشار تمام Routeها نیست. Prefixهای خروجی و ورودی باید با Policy و Routing Filter مدیریت شوند.
بدون Filter صحیح ممکن است مشکلات زیر ایجاد شوند:
- Route Leak
- Advertise شدن Default Route ناخواسته
- دریافت تعداد بیش از حد Prefix
- پذیرش Routeهای غیرمجاز
- تغییر مسیر ترافیک سازمان
- مصرف بیش از حد RAM و CPU
Routing Filter در RouterOS v7
RouterOS v7 از Syntax شرطی برای Filter کردن Routeها استفاده میکند.
نمونه پذیرش فقط یک Prefix مشخص:
/routing filter rule
add chain=bgp-out \
rule="if (dst == 203.0.113.0/24) { accept } else { reject }"محدوده استفادهشده در مثال مخصوص مستندات است.
Filterها باید قبل از اتصال شبکه عملیاتی آزمایش شوند. یک Rule اشتباه ممکن است تمام Routeها را Reject یا Advertise کند.
برای هر شبکه کدام پروتکل مناسب است؟
| سناریو | انتخاب عمومی |
|---|---|
| شبکه بسیار کوچک با یک خروجی | Static Route و Default Route |
| آزمایشگاه آموزشی | RIP یا OSPF |
| چند شعبه و چند مسیر داخلی | OSPF |
| شبکه سازمانی بزرگ | OSPF یا IS-IS براساس تجهیزات و طراحی |
| ارتباط با یک ISP با Default Route | Static Route یا eBGP براساس نیاز |
| اتصال به چند ISP | BGP |
| دیتاسنتر دارای ASN و Prefix مستقل | BGP |
| اعمال Policy براساس Provider | BGP |
| مسیریابی داخلی MikroTik | OSPF در بیشتر سناریوهای متوسط و بزرگ |
آیا RIP برای شبکه واقعی مناسب است؟
RIP میتواند در شبکههای کوچک و ساده کار کند، اما محدودیت ۱۵ Hop، همگرایی کندتر و Metric بسیار ساده آن باعث شده در شبکههای حرفهای معمولاً OSPF ترجیح داده شود.
RIP همچنان برای موارد زیر مفید است:
- آموزش مفاهیم Distance Vector
- آزمایش Split Horizon
- شبکه Legacy
- توپولوژی بسیار کوچک
- تجهیزات دارای گزینههای محدود
آیا BGP جایگزین OSPF است؟
این دو پروتکل هدف یکسانی ندارند.
- OSPF برای شناخت توپولوژی و مسیرهای داخلی یک Routing Domain طراحی شده است.
- BGP برای تبادل Reachability و Policy میان ASها طراحی شده است.
در بسیاری از شبکههای حرفهای هر دو همزمان استفاده میشوند:
OSPF:
دسترسی داخلی به Loopbackها و Next Hopها
BGP:
تبادل Prefixهای مشتری، Provider و اینترنتRedistribution چیست؟
Route Redistribution به معنی واردکردن Routeهای یک منبع یا پروتکل به پروتکل دیگر است.
مثالها:
- Redistribute کردن Static Route داخل OSPF
- انتشار Connected Route داخل RIP
- واردکردن OSPF Routeها به BGP
- اعلام Default Route به یک Routing Domain
Redistribution دوطرفه بدون Filter و Route Tag میتواند Routing Loop ایجاد کند.
پیش از اجرا باید مشخص شود:
- کدام Prefixها باید وارد شوند؟
- Metric اولیه چه مقدار باشد؟
- Route برگشتی چگونه شناسایی شود؟
- چه Filterهایی اعمال شوند؟
- در زمان قطع لینک چه رفتاری رخ دهد؟
ECMP چیست؟
Equal-Cost Multi-Path زمانی ایجاد میشود که چند Route معتبر با Cost یا Metric برابر برای یک Prefix وجود داشته باشند.
در این حالت روتر میتواند چند Next Hop را داخل FIB قرار دهد و Flowهای مختلف را میان مسیرها توزیع کند.
ECMP با Per-Packet Load Balancing یکسان نیست. در بسیاری از پیادهسازیها Hash مربوط به Flow تعیین میکند هر ارتباط از کدام Next Hop عبور کند.
امنیت پروتکلهای مسیریابی
Dynamic Routing باید فقط روی Interfaceها و Neighborهای موردنیاز فعال شود. بازکردن پروتکلهای مسیریابی روی WAN یا شبکه کاربران میتواند باعث دریافت Route جعلی یا افشای اطلاعات شبکه شود.
اقدامات پیشنهادی:
- پروتکل را فقط روی لینکهای مسیریابی فعال کنید.
- LAN کاربران را Passive کنید.
- Routing Updateها را با Firewall محدود کنید.
- از Authentication پشتیبانیشده استفاده کنید.
- Route Filter ورودی و خروجی ایجاد کنید.
- Default Route را بدون Policy Advertise نکنید.
- حداکثر Prefix دریافتی را در BGP محدود کنید.
- Neighborها و Sessionها را مانیتور کنید.
- تغییرات Route را به Syslog ارسال کنید.
- دسترسی مدیریتی روتر را محدود کنید.
- RouterOS را بهروزرسانی نگه دارید.
- از تنظیمات Export و Backup تهیه کنید.
عیبیابی مسیریابی در RouterOS v7
بررسی ارتباط مستقیم
/ping 10.0.12.2 count=5بررسی مسیر بسته
/tool traceroute 192.168.20.10بررسی Routing Table
/routing route print detailبررسی Route فعال مقصد
/ip route print detail where dst-address=192.168.20.0/24بررسی OSPF Neighbor
/routing ospf neighbor print detailبررسی RIP Neighbor
/routing rip neighbor print detailبررسی BGP Session
/routing bgp session print detailبررسی Logها
/log print where topics~"route|ospf|rip|bgp"بررسی مصرف منابع
/system resource printاشتباهات رایج در Dynamic Routing
استفاده از دستورهای RouterOS v6 در نسخه 7
ساختار OSPF، RIP، BGP و Routing Filter در نسخه هفتم بازطراحی شده است. راهنماهای قدیمی ممکن است اجرا نشوند یا نتیجه متفاوتی داشته باشند.
تکراریبودن Router ID
هر روتر OSPF یا BGP باید Router ID یکتا داشته باشد.
فعالکردن OSPF روی شبکه کاربران
شبکه کاربران باید معمولاً Passive باشد تا Hello Packet و Neighbor ناخواسته ایجاد نشود.
Redistribute کردن تمام Connected Routeها
ممکن است Prefixهای WAN، مدیریت و سرویسهای غیرمرتبط نیز Advertise شوند.
نداشتن Routing Filter
بهخصوص در BGP، نبود Filter میتواند Route Leak جدی ایجاد کند.
کاهش شدید Timerها
Timerهای بیش از حد کوتاه ممکن است روی لینکهای دارای Packet Loss باعث Flapping شوند.
استفاده از RIP در توپولوژی بزرگ
محدودیت Hop Count و Convergence آن برای شبکههای بزرگ مناسب نیست.
فرض اینکه Dynamic Routing جایگزین Firewall است
پروتکل مسیریابی فقط Reachability را مدیریت میکند و کنترل دسترسی را بر عهده ندارد.
نداشتن مسیر برگشت
وجود Route در مسیر رفت کافی نیست. Route برگشت نیز باید روی روترهای مقصد موجود باشد.
نادیدهگرفتن NAT و Stateful Firewall
تغییر مسیر ممکن است باعث Asymmetric Routing و قطع Sessionهای NAT یا Firewall شود.
چکلیست طراحی مسیریابی پویا
- توپولوژی فعلی شبکه را مستند کنید.
- Prefixهای تمام سایتها را مشخص کنید.
- از همپوشانی شبکهها جلوگیری کنید.
- پروتکل متناسب با اندازه شبکه را انتخاب کنید.
- Router ID یکتا تعیین کنید.
- لینکهای Point-to-Point را مشخص کنید.
- شبکههای کاربران را Passive کنید.
- ساختار Areaهای OSPF را طراحی کنید.
- Policyهای BGP را پیش از Session آماده کنید.
- Route Filter ورودی و خروجی بسازید.
- Redistribution را محدود و مستند کنید.
- سناریوی خرابی لینک را آزمایش کنید.
- زمان Convergence را اندازهگیری کنید.
- CPU و RAM روترها را مانیتور کنید.
- Backup و Rollback Plan داشته باشید.
انتخاب روتر مناسب برای Dynamic Routing
پشتیبانی نرمافزاری از OSPF یا BGP بهتنهایی به معنی مناسببودن هر روتر برای هر شبکه نیست. تعداد Routeها، تعداد Peerها، حجم Updateها و تعداد Interfaceها روی منابع سختافزاری تأثیر میگذارند.
معیارهای انتخاب روتر:
- معماری و توان CPU
- تعداد هستهها
- مقدار RAM
- ظرفیت Storage
- تعداد پورتهای Gigabit، 2.5G، 10G یا بیشتر
- پشتیبانی از SFP و SFP+
- ظرفیت Firewall و Connection Tracking
- تعداد Routeهای مورد انتظار
- تعداد BGP Peerها
- نیاز به Full Table یا Partial Route
- پشتیبانی از VRF، MPLS یا VPN
- برنامه توسعه آینده
برای BGP با تعداد بالای Prefix، تجهیزات دارای RAM محدود یا پردازنده ضعیف انتخاب مناسبی نیستند.
تأمین تجهیزات و مشاوره Routing با گروه بیستون
گروه فناوری ارتباطات پندار بیستون در زمینه تأمین تجهیزات شبکه، محصولات MikroTik، روترها، سوئیچها، تجهیزات وایرلس و زیرساخت ارتباطی فعالیت میکند.
انتخاب روتر برای Dynamic Routing باید براساس توپولوژی، تعداد کاربران، پهنای باند، تعداد Prefixها و برنامه توسعه انجام شود. خرید صرفاً براساس تعداد پورت یا قیمت ممکن است در آینده محدودیت پردازشی یا حافظه ایجاد کند.
خدمات مشاوره گروه بیستون میتواند شامل موارد زیر باشد:
- انتخاب روتر MikroTik متناسب با پروژه
- بررسی ظرفیت OSPF و BGP
- طراحی Routing میان شعب
- بررسی توپولوژی و Addressing Plan
- عیبیابی Route و Next Hop
- بررسی Routing Loop و Route Leak
- مشاوره Route Filtering
- طراحی ارتباط چند اینترنت
- بررسی Failover و افزونگی لینکها
- انتخاب سوئیچ و ماژولهای ارتباطی سازگار
برای مشاهده روترها، سوئیچها و تجهیزات ارتباطی به صفحه محصولات میکروتیک گروه بیستون مراجعه کنید. برای بررسی توپولوژی و دریافت مشاوره فنی نیز درخواست خود را در صفحه پشتیبانی و مشاوره فنی ثبت کنید.
گارانتی و خدمات پس از فروش بیستون
در خرید روترهای سازمانی و تجهیزات زیرساختی، اصالت کالا، Part Number، وضعیت گارانتی و امکان دریافت خدمات پس از فروش اهمیت زیادی دارد.
محصولاتی که براساس شماره سریال، فاکتور و اطلاعات ثبتشده تحت پوشش گروه بیستون باشند، مطابق شرایط ضمانت مربوط پشتیبانی میشوند.
وجود یک محصول یا مقاله در سایت بهتنهایی به معنی برخورداری تمام نمونههای آن در بازار از گارانتی گروه بیستون نیست. نوع و مدت ضمانت باید هنگام استعلام و خرید تأیید شود.
برای محصولات مشمول میتوانید شماره سریال را در صفحه اعتبارسنجی گارانتی بیستون بررسی کنید.
شرایط کامل پوشش ضمانت و موارد خارج از آن در صفحه شرایط گارانتی گروه بیستون درج شده است.
سؤالات متداول درباره مسیریابی پویا
مسیریابی پویا چیست؟
روشی است که در آن روترها با استفاده از پروتکلهای مسیریابی، Routeها و تغییرات توپولوژی را بهصورت خودکار یاد میگیرند.
تفاوت Static Routing و Dynamic Routing چیست؟
در Static Routing مسیرها دستی تعریف میشوند؛ در Dynamic Routing روترها اطلاعات مسیر را با یکدیگر مبادله میکنند.
IGP چیست؟
پروتکل مسیریابی داخل یک Autonomous System است؛ مانند RIP و OSPF.
EGP چیست؟
دستهای از پروتکلها برای تبادل Route میان Autonomous Systemهای مختلف است. BGP پروتکل اصلی این حوزه است.
RIP چیست؟
یک پروتکل Distance Vector است که بهترین مسیر را براساس کمترین Hop Count انتخاب میکند.
حداکثر Hop در RIP چند است؟
حداکثر Metric قابل استفاده ۱۵ است و Metric برابر ۱۶ به معنی مقصد غیرقابلدسترسی خواهد بود.
OSPF چیست؟
یک پروتکل Link State و IGP است که با ساخت LSDB و اجرای الگوریتم SPF بهترین مسیرها را محاسبه میکند.
Backbone Area در OSPF چیست؟
Area با شناسه 0.0.0.0 است که هسته ساختار چندناحیهای OSPF محسوب میشود.
BGP چیست؟
پروتکل اصلی مسیریابی بین Autonomous Systemها است که از Attributeها و Policy برای انتخاب مسیر استفاده میکند.
تفاوت OSPF و BGP چیست؟
OSPF برای مسیریابی داخلی و شناخت توپولوژی استفاده میشود؛ BGP برای تبادل Reachability و Policy میان ASها کاربرد دارد.
Path Vector چیست؟
روشی است که مسیر عبوری مانند AS_PATH همراه Prefix Advertise میشود.
Convergence چیست؟
مدتی است که شبکه پس از تغییر توپولوژی نیاز دارد تا روترها به Routeهای صحیح و پایدار برسند.
کدام پروتکل برای شبکه سازمانی مناسبتر است؟
در بسیاری از شبکههای متوسط و بزرگ، OSPF انتخاب رایجی است؛ اما تصمیم نهایی به توپولوژی و نیاز پروژه بستگی دارد.
آیا RouterOS از EIGRP پشتیبانی میکند؟
خیر. RouterOS از RIP، OSPF و BGP پشتیبانی میکند، اما EIGRP در آن پیادهسازی نشده است.
آیا میتوان RIP و OSPF را همزمان اجرا کرد؟
بله، اما تبادل Route میان آنها نیازمند Redistribution و Filter دقیق است.
چرا OSPF Neighbor تشکیل نمیشود؟
Area، Timer، Subnet، Network Type، Authentication، Router ID و Firewall را بررسی کنید.
چرا BGP Session در حالت Established قرار نمیگیرد؟
دسترسی TCP پورت 179، Remote Address، ASN، Local Address، Route به Peer و Firewall را بررسی کنید.
آیا Dynamic Routing امنیت شبکه را افزایش میدهد؟
Dynamic Routing پایداری و مدیریت Routeها را بهبود میدهد، اما بهتنهایی یک مکانیزم امنیتی نیست و به Firewall، Filter و Authentication نیاز دارد.
آیا RouterOS v7 با تنظیمات Routing نسخه 6 یکسان است؟
خیر. ساختار OSPF، RIP، BGP، Routing Table و Routing Filter در نسخه هفتم تغییرات مهمی داشته است.
جمعبندی
مسیریابی پویا به روترها امکان میدهد شبکههای مقصد را بهصورت خودکار یاد بگیرند و هنگام تغییر توپولوژی، مسیرهای خود را بهروزرسانی کنند.
RIP یک پروتکل ساده Distance Vector است که بر پایه Hop Count کار میکند و برای شبکههای کوچک مناسبتر است. محدودیت ۱۵ Hop و سرعت همگرایی پایینتر، استفاده آن را در زیرساختهای بزرگ محدود میکند.
OSPF یک پروتکل Link State است که نقشه توپولوژی را داخل LSDB نگهداری و با الگوریتم SPF بهترین مسیر را براساس Cost محاسبه میکند. ساختار Area، Neighbor و LSA آن برای شبکههای سازمانی مقیاسپذیری بیشتری فراهم میکند.
BGP برای مسیریابی میان Autonomous Systemها و اعمال Policyهای پیچیده طراحی شده است. این پروتکل از Attributeهایی مانند AS_PATH، LOCAL_PREF و MED برای انتخاب مسیر استفاده میکند.
در RouterOS v7، پیکربندی این پروتکلها نسبت به نسخه ششم تغییر کرده است. OSPF با Instance، Area و Interface Template، RIP با Instance و Interface Template و BGP جدید با Instance، Connection، Template و Session مدیریت میشود.
انتخاب پروتکل مناسب باید براساس تعداد روترها، Prefixها، سرعت همگرایی، نوع لینکها، سیاستهای ترافیکی و منابع سختافزاری انجام شود. استفاده از Dynamic Routing بدون Route Filter، مانیتورینگ و تست Failover میتواند مشکلاتی مانند Route Leak، Loop یا قطع دسترسی ایجاد کند.
گروه بیستون با تأمین تخصصی تجهیزات MikroTik، ارائه مشاوره فنی، بررسی سازگاری تجهیزات و خدمات پس از فروش، امکان انتخاب و توسعه زیرساختهای مسیریابی متناسب با نیاز پروژه را فراهم میکند.
برای انتخاب روتر مناسب، بررسی توپولوژی و دریافت مشاوره درباره OSPF، BGP یا ارتباط میان شعب، با کارشناسان فنی گروه بیستون در ارتباط باشید.
دیدگاه خود را بنویسید