Area بندی در OSPF قوانینی دارد و تخطی از آن قوانین منجر به مسیریابی ناصحیح می شود. دو قانون اساسی در چینش Area در OSPF به شرح ذیل می باشد:

  • همه Area ها باید با Area مرکزی در ارتباط باشند. به عبارت دیگر حداقل یک روتر مرزی باید بین هر Area با Area مرکزی وجود داشته باشد.
  • Area ها باید پیوسته باشند. مثلا Area 0 نمی تواند در نقاط مختلف شبکه و گسسته از هم باشند.

شکل زیر نمونه ای از Area بندی مجاز را نشان می دهد که در آن همه Area ها از طریق Area مرکزی به یکدیگر متصل هستند و هیچ Area ای نیز گسسته نیست.

 v1

چینش مجاز Area در OSPF

شکل های زیر دو نمونه از Area بندی غیر مجاز را نشان می دهد. در شکل اول Area 7 از طریق Area 5 به Area مرکزی متصل است. در شکل دوم نیز Area 0 گسسته است و دو بخش مختلف از Area 0 از طریق Area 1 به یکدیگر متصل هستند. علی رغم غیر مجاز بودن چینش Area در دو شکل بعدی، گاهی ناچار به پذیرش چنین حالت هایی خواهیم بود.

به عنوان مثال در شکل اول فرض کنید استان تهران Area مرکزی است و استان اصفهان از طریق روتر مرزی R2 به Area مرکزی متصل است. حال تصور کنید امکان برقراری اتصال مستقیم بین Area استان فارس با استان تهران وجود نداشته باشد و استان فارس با واسطه استان اصفهان به تهران متصل باشد. در شکل زیر Area 7 استان فارس و روتر R1 روتر مرزی استان فارس است که به جای اتصال به Area استان تهران به استان اصفهان متصل است. تا اطلاع ثانوی به خاطر عدم وجود لینک مستقیم از استان فارس به استان تهران امکان اتصال مستقیم Area 7 به Area مرکزی نیست که این با چینش صحیح Area در OSPF منافات دارد.

شکل دوم گسسته شدن Area 0 را نشان می دهد که خود این نیز گاها اتفاق می افتد و اجتناب ناپذیر است. به عنوان مثال فرض کنید دو نقطه در Area 0 از طریق فقط یک اتصال فیزیکی به هم متصل هستند و این لینک نیز بنا بر دلایلی قطع می شود. بدیهی است که در این شرایط Area 0 گسسته می شود  و تا وصل شدن لینک این گسستگی وجود خواهد داشت.

v2

مثال اول از چینش غیر مجاز Area در OSPF

v3

مثال دوم از چینش غیر مجاز Area در OSPF

همانطور که در پاراگراف های قبلی توضیح داده شد گاهی عدم رعایت چینش صحیح اجتناب ناپذیر است. سوال پیش می آید که در چنین شرایطی چه باید کرد؟ Virtual Link راه حلی است که برای شرایط این چنینی پیش بینی شده است. می توان با virtual link موقتا مشکل را مرتفع کرد تا زمانی که مشکل به صورت اساسی برطرف گردد.

Virtual link لینک مجازی است که می توانید با استفاده از آن، Area غیر مرکزی را از طریق Area غیر مرکزی دوم به Area مرکزی متصل کنید و یا آنکه دو بخش گسسته شده Area مرکزی را از طریق Area غیر مرکزی به یکدیگر متصل نمایید.

Area ای که virtual link از طریق آن Area غیر مرکزی را به Area مرکزی متصل می کند و یا دو بخش گسسته Area مرکزی را به هم متصل می کند، Transit Area نامیده می شود.

در شکل های زیر دقت کنید و ببینید که چگونه virtual link مشکلات را برطرف نمود. در شکل اول Area 7 از طریق virtual link به Area مرکزی متصل شده است. در این شکل Area 5 نقش Transit Area را دارد. در شکل دوم، دو بخش گسسته Area 0 از طریق virtual link به هم متصل شده اند. در این شکل، Area 1، Transit Area است. اگر به این دو شکل بیشتر دقت کنید متوجه خواهید شد که virtual link خود باید حتما عضو Area 0 باشد. در شکل اول virtual link از Area 5 می گذرد اما خود باید بخشی از Area 0 باشد تا بتواند اتصال Area 7 را به Area مرکزی برقرار نماید. در شکل دوم نیز اگر خود virtual link در Area 0 نباشد، اتصال دو بخش گسسته Area 0 غیر ممکن خواهد بود.

این سوال ممکن است برای شما ایجاد شود که virtual link واقعا چیست و چگونه مشکل را حل می کند؟ در واقع وقتی بین دو سر Transit Area، virtual link ایجاد می کنید، روتر آن را همانند لینک واقعی Area 0 می بیند و روی آن نیز همسایگی ایجاد می کند. سپس هر LSA ای که باید در Area 0 ارسال گردد ، توسط روترهای دو سر virtual link روی آن virtual link ارسال می گردد. چگونه؟ روتر برای ارسال LSA روی virtual link کافی است LSA را مجددا بسته بندی نماید (تونل بزند) به طوری که آدرس مبدا و مقصد بسته جدید، آدرس روترهای دو سر virtual link هستند و آن را داخل Transit Area ارسال کند. در روتر مقابل بسته دریافتی به LSA اولیه تبدیل شده و به Area مورد نظر ارسال خواهد شد.

نکته دیگر در مورد virtual link این است که بسته های hello روی virtual link همانند لینک های معمولی ارسال می شود و به صورت پیش فرض زمان hello آن 10 ثانیه است اما در لینک های عادی LSA ها هر 30 دقیقه یکبار تکرار می شوند و عدم تکرار آنها در مدت زمان 60 دقیقه باعث اتمام زمان اعتبار آن LSA ها می شود. اما LSA های که از طریق virtual link ارسال می شوند، زمان اعتبار آنها بی نهایت است بدین ترتیب که فیلد DNA در آنها تنظیم می شود و بنابراین هیچگاه اعتبار آنها تمام نمی شود. هدف از این فیلد عدم ارسال تعداد بالای LSA روی virtual link ها است.

v4

مثال اول در استفاده از virtual-link برای اتصال Area غیر مرکزی به Backbone Area از روی Transit Area

v5

مثال دوم در استفاده از virtual-link برای اتصال  نقاط گسسته Area 0 از طریق Area میانی

 در سناریوهای فوق virtual-link از یک Area میانی یا transit Area عبور کرده است. چنانچه قرار باشد Virtual Link از چند Area میانی عبور نماید، در این صورت باید حتما چندین Virtual Link ایجاد شود. به عبارت دیگر دو طرف Virtual Link حتما باید در یک Area باشند. در شکل زیر که قرار است به عنوان سناریوی بعدی پیاده سازی شود از دو virtual link استفاده شده است. اولین virtual link ارتباط Area 2 را با Area 0 از طریق Area میانی 1 برقرار نموده است. برای برقراری دو بخش گسسته Area 0 نیز از دو virtual link در دو Area میانی 1 و 2 استفاده شده است.

v6

ضرورت استفاده از چندین virtual-link برای رفع مشکل چینش Area در OSPF (هر virtual link فقط می تواند از یک Area میانی عبور کند)

برای پیاده سازی virtual link از دستور area area-id virtual-link router-id در دو روتر دو سر virtual link استفاده می شود. منظور از area-id همان شماره Transit Area است. منظور از router-id، router-id روتر طرف مقابل است.

در شکل فوق قبل از پیاده سازی virtual link نگاهی به جدول مسیریابی روتر IOU1 و IOU5 می اندازیم. خروجی جدول مسیریابی IOU1 نشان می دهد که این روتر از شبکه های داخلی Area 2 که در این سناریو 10.2.x.x هستند، نا آگاه است. زیرا این Area به Area 0 متصل نیست. همچنین این روتر مسیر شبکه 10.0.2.0/24 که داخل همان Area 0 است، را نیز نمی شناسد زیرا این شبکه در بخش دیگری از Area 0 قرار دارد و با بخشی از Area 0 که روتر IOU1 در آن قرار دارد، پیوستگی ندارد.

!!! IOU1

IOU1#sh ip route ospf

!!! بخشی از خروجی حذف شده است

      10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks

O IA     10.1.1.0/24 [110/20] via 10.0.1.2, 00:01:34, Ethernet0/0

O IA     10.1.2.0/24 [110/30] via 10.0.1.2, 00:01:09, Ethernet0/0

خروجی جدول مسیریابی روتر IOU1 قبل از ایجاد virtual-link

نگاهی به روتر IOU5 نیز مشکلات مسیریابی در این شبکه را بیشتر نمایان می کند. خروجی جدول همسایگی روتر IOU5 نشان می دهد که این روتر با روتر IOU4 بدون مشکل تشکیل همسایگی داده است اما در عین حال نشان داده شده است که این روتر هیچ مسیری را یاد نگرفته است. این بدان دلیل است که روتر IOU5 داخل Area 2 است که به جای اتصال به Area مرکزی به Area 1 متصل شده است.

!!! IOU5

IOU5#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

4.4.4.4           1   FULL/BDR        00:00:32    10.2.1.4        Ethernet0/0

IOU5#

!

IOU5#sh ip route ospf

!!! بخشی از خروجی حذف شده است

Gateway of last resort is not set

IOU5#

خروجی جدول مسیریابی روتر IOU5 قبل از ایجاد virtual-link

برای رفع مشکلات بالا لازم است تا دو virtual link ایجاد شود. virtual link ای که Area 2 را به Area مرکزی متصل کند که در این حالت، Area 1، Transit Area است. برای اتصال دو Area 0 که از هم گسسته هستند، دو Area میانی Area 2 و Area 1 وجود دارد. لذا لازم است دو virtual link یکی در داخل Area 2 ایجاد شود و یکی هم داخل Area 1 که البته قبلا نیز ایجاد گردیده است.

در ذیل چگونگی پیاده سازی این دو virtual link نشان داده شده است. دقت کنید که در پیاده سازی virtual link، شماره Transit Area و آدرس router-id روتر مقابل باید داده شود. بهتر است router-id روترها را به صورت دستی وارد نماییم در غیر این صورت با عوض شدن router-id، virtual link از کار می افتد.

!!! IOU4

IOU4#sh running-config | section router ospf

router ospf 1

 router-id 4.4.4.4

 log-adjacency-changes

 area 1 virtual-link 2.2.2.2

 area 2 virtual-link 5.5.5.5

!

!!! IOU5
IOU5#sh running-config | section router ospf

router ospf 1

 router-id 5.5.5.5

 log-adjacency-changes

 area 2 virtual-link 4.4.4.4

!

!!! IOU2

IOU2#sh running-config | section router ospf

router ospf 1

 router-id 2.2.2.2

 log-adjacency-changes

 area 1 virtual-link 4.4.4.4

چگونگی ایجاد و پیاده سازی virtual-link

بعد از راه اندازی virtual link، مجددا خروجی جدول مسیریابی روترهای IOU1 و IOU5 را مورد بررسی قرار می دهیم. خروجی نشان می دهد که همه مسیرها در هر دو روتر IOU1 و IOU5 ایجاد شده است و شرایط نرمال می باشد. روتر IOU1 مسیر شبکه 10.2.0.0/24 را که در همان Area 0 گسسته قرار دارد را با برچسب O و در قالب Intra-Area LSA یاد گرفته است. این روتر همچنین مسیر شبکه های 10.1.x.x و 10.2.x.x را در قالب Inte-Area LSA یاد گرفته است و در جدول مسیریابی با برچسب O IA دیده می شود. روتر IOU5 نیز که از یک طرف به Area 0 متصل است، مسیر شبکه 10.0.1.0/24 را با برچسب O در جدول مسیریابی می بیند و مسیر شبکه های متصل به Area 1 با برجسب O IA در جدول مسیریابی وجود دارد.

!!! IOU1

IOU1#sh ip route ospf

!!! بخشی از خروجی حذف شده است

      10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks

O        10.0.2.5/32 [110/41] via 10.0.1.2, 00:00:08, Ethernet0/0

O IA     10.1.1.0/24 [110/20] via 10.0.1.2, 00:08:12, Ethernet0/0

O IA     10.1.2.0/24 [110/30] via 10.0.1.2, 00:07:47, Ethernet0/0

O IA     10.2.1.0/24 [110/40] via 10.0.1.2, 00:00:08, Ethernet0/0

!

!!! IOU5

IOU5#sh ip route ospf

!!! بخشی از خروجی حذف شده است

      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks

O        10.0.1.0/24 [110/40] via 10.2.1.4, 00:01:16, Ethernet0/0

O IA     10.1.1.0/24 [110/30] via 10.2.1.4, 00:02:29, Ethernet0/0

O IA     10.1.2.0/24 [110/20] via 10.2.1.4, 00:02:29, Ethernet0/0

خروجی جدول مسیریابی بعد از ایجاد virtual-link

تاکنون به این اطمینان رسیدیم که در صورت ایجاد شرایطی مانند قطع ارتباط Area ای از Area مرکزی و یا گسسته شدن Area 0 در شبکه OSPF می توان با virtual link موقتا مشکل را مرتفع نمود. راه حل virtual link یک راه حل موقتی است و معمولا در حالت های دائمی از آن استفاده نمی شود.

در ادامه جدول همسایگی روتر IOU4 نیز نشان داده شده است. اگر به جدول همسایگی دقت کنید مشاهده می کنید که روی هر دو virtual link همسایگی ایجاد شده است. بنابراین virtual link در OSPF همانند لینک عادی دیده می شود و روی آن همسایگی ایجاد شده و LSA ارسال می گردد. البته تنها LSA های Type 1 تا Type 3 از طریق virtual link عبور می کنند زیرا LSA Type 5 در حالت عادی در کل AS ارسال می گردد و نیازی نیست تا از طریق virtual link ارسال گردد.

دستور show ip ospf virtual-link وضعیت virtual-link را نشان می دهد. در خروجی این دستور مشاهده می کنید که LSA های ارسالی روی این لینک اجازه دارند تا با اعتبار بی نهایت ارسال شوند (Do Not Age) و نیازی نیست تا هر 30 دقیقه یکبار ارسال شوند.

!!! IOU4

IOU4#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

5.5.5.5           0   FULL/  -           -        10.2.1.5        OSPF_VL1

2.2.2.2           0   FULL/  -           -        10.1.1.2        OSPF_VL0

10.1.2.3          1   FULL/BDR        00:00:35    10.1.2.3        Ethernet0/0

5.5.5.5           1   FULL/DR         00:00:34    10.2.1.5        Ethernet0/1

!

IOU4#sh ip ospf virtual-links

Virtual Link OSPF_VL1 to router 5.5.5.5 is up

  Run as demand circuit

  DoNotAge LSA allowed.

  Transit area 2, via interface Ethernet0/1

 Topology-MTID    Cost    Disabled     Shutdown      Topology Name

        0           10        no          no            Base

  Transmit Delay is 1 sec, State POINT_TO_POINT,

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    Hello due in 00:00:06

    Adjacency State FULL (Hello suppressed)

    Index 1/3, retransmission queue length 0, number of retransmission 1

    First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)

    Last retransmission scan length is 1, maximum is 1

    Last retransmission scan time is 0 msec, maximum is 0 msec

Virtual Link OSPF_VL0 to router 2.2.2.2 is up

!!! بخشی از خروجی حذف شده است

ایجاد همسایگی روی virtual-link و مانیتورینگ وضعیت virtual-link

در ذیل نیز خروجی جدول دیتابیس نشان داده شده است. رکوردهایی از جدول دیتابیس که برچسب DNA دارند، بدین معنی است که از طریق virtua-link منتقل شده اند.

IOU1#sh ip ospf database

            OSPF Router with ID (1.1.1.1) (Process ID 1)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count

1.1.1.1         1.1.1.1         807         0x80000002 0x002DDA 1

2.2.2.2         2.2.2.2         328         0x80000003 0x00A910 2

4.4.4.4         4.4.4.4         2     (DNA) 0x80000003 0x00148D 2

5.5.5.5         5.5.5.5         3     (DNA) 0x80000003 0x007543 2

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum

10.0.1.2        2.2.2.2         808         0x80000001 0x0038E0

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum

10.1.1.0        2.2.2.2         855         0x80000002 0x001608

10.1.1.0        4.4.4.4         136   (DNA) 0x80000001 0x0040CC

10.1.2.0        2.2.2.2         772         0x80000001 0x0071A2

10.1.2.0        4.4.4.4         136   (DNA) 0x80000001 0x00D045

10.2.1.0        4.4.4.4         136   (DNA) 0x80000001 0x00CF46

10.2.1.0        5.5.5.5         640   (DNA) 0x80000001 0x00B160

نحوه ذخیره سازی LSA های یاد گرفته شده از روی virtual link در جدول دیتابیس و مقایسه آن با دیگر LSA ها

همانطور که گفته شد از virtual-link باید به عنوان راه حل موقتی استفاده شود. نکته پایانی اینکه virtual-link محدودیت هایی نیز در شبکه OSPF ایجاد می کنند. مثلا نمی توان از روی انواع Stub Area، virtual link ایجاد نمود و حتما نوع Area باید نرمال باشد.

4-10-1- استفاده از GRE Tunnel به جای Virtual Link

همانطور که متوجه شده اید استفاده از virtual link محدودیت هایی دارد از جمله اینکه virtual link نمی تواند روی انواع Area های Stubby قرار بگیرد و یا انکه دو طرف virtual link حتما در یک Area قرار داشته باشند و در صورت وجود چندین Area میانی باید چندین virtual link ایجاد نمود. ضمن اینکه گاهی اتفاق می افتد که دو بخش Area 0 توسط Area میانی که اصلا OSPF نیست از یکدیگر جدا شده اند. در چنین شرایطی امکان استفاده از virtual link اصلا وجود ندارد.

راه حل دیگری که می تواند مشکلات این چنینی را برطرف نماید از جنس OSPF نیست و GRE Tunnel نام دارد. البته این تصور پیش نیاید که استفاده از GRE Tunnel به جای virtual link در همه موارد پیشنهاد می شود. در ادامه مقایسه ای بین این دو انجام می دهیم تا قضاوت را به خودتان واگذار کنیم. اگر احیانا با مفهوم GRE Tunnel آشنا نیستید نگران نباشید زیرا قرار است در یک فصل مهم از این کتاب به موضوع VPN و DMVPN بپردازیم که GRE Tunnel مباحث ابتدایی آن را تشکیل می دهد.

بعضی از مواردی که می توان به عنوان مقایسه بین virtual link و GRE Tunnel در کاربرد وصل کردن Area های غیر معمول نام برد به شرح ذیل می باشند. فقط قبل از آن تاکید می شود که GRE Tunnel کاربردهای متعددی دارد و اصلا موضوع متفاوتی است. در این قسمت صرفا به بخشی از کاربرد GRE Tunnel اشاره می شود که جایگزین virtual link می شود:

  • در virtual link صرفا ترافیک های OSPF مجددا کپسوله (تونل) می شوند در حالی که اگر از GRE Tunnel به جای virtual link استفاده کنید همه ترافیک ها، هم ترافیک های داده و هم ترافیک های کنترلی وارد تونل می شوند.

GRE Tunnel می تواند از انواع Stubby Area نیز عبور نماید در حالی که virtual link فقط روی Area های نرمال فعال می شود. GRE Tunnel نه تنها می تواند روی هر نوع Area ای سوار شود بلکه این قابیت را دارد تا بتواند بخش های گسسته Area 0 را از طریق شبکه ای که حتی از جنس OSPF نیست، به هم متصل نماید.

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید