Cisco CCNA · 200-301 v2.0

OSPF و منطق Link-State در یک Area

OSPF یک پروتکل مسیریابی پویا از خانواده Link-State است. واژه پویا یعنی Routerها اطلاعات شبکه را با هم مبادله می‌کنند و با تغییر Topology می‌توانند مسیرها را دوباره محاسبه کنند؛ برخلاف Static Route که مدیر شبکه مسیر را دستی وارد می‌کند. در Link-State هر Router تلاش می‌کند تصویری هماهنگ از وضعیت Linkهای همان Area بسازد و سپس با الگوریتم SPF بهترین مسیرها را محاسبه کند. برای CCNA لازم نیست وارد جزئیات ریاضی الگوریتم شوی، اما باید بفهمی Neighbor، Link-State Database، Cost و Area چگونه به هم متصل‌اند و چرا OSPF با یک جدول مسیر ساده تفاوت دارد.

در پایان این درس باید بتوانی
  • تفاوت Static Routing و Dynamic Routing را توضیح بدهی
  • مفهوم Link-State و Link-State Database را بفهمی
  • نقش Area 0 را در سناریوی Single-Area بشناسی
  • رابطه Neighbor، Database و Routing Table را توضیح بدهی
  • بدانی OSPF چه چیزی را حل می‌کند و چه چیزی را تضمین نمی‌کند

Dynamic Routing و مسئله تغییر Topology

فرض کن سه Router با نام‌های R1، R2 و R3 چند شبکه را به هم متصل کرده‌اند. اگر همه Routeها Static باشند، خراب شدن یک Link به‌تنهایی باعث نمی‌شود Routerها مسیر جایگزین را یاد بگیرند؛ مگر اینکه از قبل Floating Static Route یا سازوکار دیگری طراحی شده باشد. در OSPF، Routerها وضعیت Linkها و Prefixهای متصل را در قالب اطلاعات Link-State مبادله می‌کنند و پس از تغییر Topology دوباره مسیرها را محاسبه می‌کنند.

نمونه Topology با مسیر جایگزین
LAN-A --- R1 ===== R2 ===== R3 --- LAN-C
             \             //
              ===== R4 =====

Dynamic بودن به معنی بی‌نیازی از طراحی نیست. OSPF فقط بر اساس اطلاعات و Metricهایی که دارد بهترین مسیر را انتخاب می‌کند. اگر Interface اشتباه وارد OSPF شود، Area نادرست باشد یا Cost نامناسب تعیین شود، Router می‌تواند کاملاً منطقی اما برخلاف انتظار تو مسیر انتخاب کند.

Link-State و Database

در پروتکل‌های Link-State، Router فقط یک Next-Hop را از همسایه تقلید نمی‌کند. اطلاعاتی درباره وضعیت Linkها منتشر می‌شود تا Routerهای داخل Area بتوانند Link-State Database یا LSDB نسبتاً هماهنگی بسازند. LSDB را می‌توان نقشه منطقی Topology همان Area دانست. سپس هر Router از دید خودش روی این نقشه محاسبه انجام می‌دهد.

زنجیره تصمیم OSPF
Neighbor Exchange -> LSDB -> SPF Calculation -> Best Routes -> Routing Table

وجود یک Prefix در LSDB به‌تنهایی به معنی نصب آن در Routing Table نیست. Router باید مسیر مناسب را محاسبه کند و سپس آن Route با سایر منابع Routing مقایسه شود. بنابراین برای Troubleshooting باید بین Neighbor Table، OSPF Database و Routing Table تفاوت بگذاری.

اگر Neighbor تشکیل نشده باشد، معمولاً تبادل کامل Link-State هم رخ نمی‌دهد. اگر Neighbor سالم است ولی Route وجود ندارد، باید از مرحله بعدی یعنی Database، Advertisement و انتخاب مسیر سرنخ بگیری. این ترتیب مانع تغییرهای تصادفی می‌شود.

Area و Single-Area OSPF

Area یک محدوده منطقی در OSPF است که برای کنترل مقیاس Database و محاسبات استفاده می‌شود. Area 0 به‌عنوان Backbone Area شناخته می‌شود. در سناریوی Single-Area CCNA، همه Interfaceهای OSPF موردنظر در یک Area قرار دارند و معمولاً Area 0 استفاده می‌شود.

Single-Area ساده
R1 --- R2 --- R3
 |      |      |
Area 0  Area 0  Area 0

Single-Area به معنی یک Subnet نیست. می‌توان ده‌ها Prefix و چند Router داشت که همه در Area 0 قرار دارند. همچنین Area با VLAN یکی نیست؛ VLAN یک Broadcast Domain در Layer 2 است، در حالی که OSPF Area مفهومی در Control Plane مسیریابی است.

در Blueprint فعلی CCNA تمرکز روی Single-Area OSPFv2 برای IPv4 و OSPFv3 برای IPv6 است. شناخت Multi-Area برای درک معماری مفید است، اما پیکربندی پیچیده چند Area هدف اصلی این فصل نیست.

سه نمای مهم OSPF

برای کار عملی OSPF سه نمای متفاوت را از هم جدا کن: Neighbor Table می‌گوید با چه Routerهایی Adjacency داریم؛ LSDB می‌گوید چه اطلاعات Link-State شناخته شده؛ Routing Table می‌گوید در نهایت کدام Routeها برای Forwarding نصب شده‌اند. یک خطا ممکن است فقط در یکی از این لایه‌ها دیده شود.

سه نقطه مشاهده
show ip ospf neighbor
show ip ospf database
show ip route ospf

اگر show ip ospf neighbor خالی باشد، بررسی Routing Table معمولاً از Root Cause دور است؛ ابتدا باید Interface، Hello، Area و پارامترهای Neighbor را بررسی کنی. اگر Neighbor در حالت FULL است اما Route مقصد دیده نمی‌شود، آن‌وقت Database و Prefix Advertisement اهمیت پیدا می‌کند.

محدوده مسئولیت OSPF

OSPF Reachability در Layer 3 را تسهیل می‌کند، اما سلامت سرویس را تضمین نمی‌کند. ممکن است Route درست باشد ولی ACL، Firewall، NAT، DNS یا Application باعث شکست ارتباط شود. برعکس، ممکن است Ping به یک IP متصل مستقیم کار کند در حالی که OSPF برای شبکه‌های دور مشکل دارد.

مرز لایه‌های عیب‌یابی
Physical/Link -> IP Addressing -> OSPF Neighbor -> OSPF Route -> ACL/Policy -> Application

در محیط شرکت بهتر است قبل از دست زدن به OSPF، وضعیت Interface و IP Addressing را تأیید کنی. اگر دو Router روی یک Link حتی نمی‌توانند آدرس مستقیم هم را Ping کنند، مشکل ممکن است قبل از OSPF باشد. اگر Link و IP سالم‌اند، آن‌وقت OSPF Configuration را بررسی کن.

این نگاه از تغییر بی‌دلیل Process، پاک کردن OSPF یا Restart کردن Router جلوگیری می‌کند. هدف عیب‌یابی این است که مرحله معیوب را محدود کنی، نه اینکه با چند تغییر هم‌زمان شانس خودت را امتحان کنی.

سناریوی عملی

در یک شعبه، R1 و R2 دو مسیر به مرکز دارند. کاربرها پس از خرابی Link اصلی هنوز به شبکه مرکزی دسترسی دارند. بررسی نشان می‌دهد OSPF Neighbor روی مسیر دوم از قبل FULL بوده و پس از حذف Route اصلی، SPF مسیر جایگزین را انتخاب کرده است. مهندس به جای نتیجه‌گیری کلی «OSPF خوب کار کرد»، Neighbor Table، Route قبل و بعد از حادثه و Cost دو مسیر را ثبت می‌کند تا رفتار قابل توضیح باشد.

اشتباهات رایج

اشتباه‌های رایج و علت آن‌ها

  • یکی گرفتن Area با VLAN یا Subnet
  • فرض اینکه Neighbor FULL به‌تنهایی سلامت Application را ثابت می‌کند
  • بررسی Routing Table بدون توجه به Neighbor و Database
  • تغییر چند پارامتر OSPF هم‌زمان بدون Evidence
تمرین عملی

تمرین عملی

  1. یک Topology سه Router رسم کن و مشخص کن کدام Prefixها در Area 0 هستند
  2. برای هرکدام از Neighbor Table، LSDB و Routing Table یک سؤال بنویس که آن ابزار پاسخ می‌دهد
  3. سناریویی بنویس که OSPF Route درست است ولی Application کار نمی‌کند
  4. Static Route و OSPF را از نظر واکنش به خرابی Link مقایسه کن

نکته‌هایی که باید با خودت ببری

  • OSPF یک Dynamic Link-State Routing Protocol است
  • LSDB نقشه منطقی Link-State همان Area را نگه می‌دارد
  • Single-Area می‌تواند چندین Subnet داشته باشد
  • Neighbor، Database و Routing Table سه مرحله متفاوت‌اند
  • OSPF سلامت سرویس‌های بالاتر از Layer 3 را تضمین نمی‌کند
خودسنجی

خودسنجی

Link-State Database چه نقشی دارد؟

اطلاعات Topology و Link-State شناخته‌شده در Area را نگه می‌دارد تا SPF بر اساس آن مسیرها را محاسبه کند.

FULL بودن Neighbor چه چیزی را ثابت می‌کند؟

Adjacency OSPF با آن Neighbor به مرحله کامل رسیده است؛ نه اینکه همه سرویس‌ها سالم باشند.

Single-Area یعنی چه؟

Interfaceهای OSPF موردنظر در یک Area قرار دارند؛ معمولاً Area 0.

برای دیدن Routeهای نصب‌شده OSPF چه چیزی را بررسی می‌کنی؟

Routing Table، مثلاً با show ip route ospf.

منابع رسمی

منابع مرجع این درس

مطالعه همیشه آزاد است

برای ذخیره پیشرفت وارد حساب شو

حساب کاربری برای آزمون و ثبت مرحله‌ها استفاده می‌شود

ورود یا ثبت‌نام