توزیع مجدد مسیر در IS-IS « IS-IS Labs

در یک دنیای ایده آل، شما می توانید یک پروتکل مسیریابی را روی همه روترهای شبکه خود اجرا کنید و از ویژگی های پروتکل مسیریابی مانند رابط های غیرفعال در امتداد لبه های شبکه
در زندگی واقعی، اغلب نیاز به استفاده از مسیرهای ثابت به مقصدهای خارجی دارید یا چندین پروتکل مسیریابی را ترکیب کنید. در این تمرین آزمایشگاهی، نحوه پیکربندی توزیع مجدد ساده اطلاعات مسیریابی خارجی (رابط های محدود و مسیرهای استاتیک) را در IS-IS خواهید آموخت.
هشدار
توزیع مجدد مسیر احتمالاً بیش از هر عملکرد شبکه دیگری (به جز STP) باعث خرابی شبکه شده است. مگر اینکه دلیل خیلی خوبی داشته باشید، به جای تخصیص مجدد زیرشبکه های مرتبط، از رابط های غیرفعال استفاده کنید. برخی از پیاده سازی های IS-IS همچنین به شما امکان می دهند با دستور like یک مسیر پیش فرض در IS-IS را تبلیغ کنید اطلاعات پیش فرض منشا می گیرد.
الزامات دستگاه
راه اندازی آزمایشگاه
میتوانید آزمایشگاه را در زیرساخت آزمایشگاه خود یا در GitHub Codespaces اجرا کنید (جزئیات بیشتر):
- تغییر دایرکتوری به
feature/7-redistribute - اعدام نت لب بالا. شما یک آزمایشگاه با آدرس های IPv4 پیکربندی شده روی تمام رابط ها و مسیریابی سطح 2 IS-IS که بین R1 و R2 پیکربندی شده است دریافت خواهید کرد.
- با استفاده از روترهای آزمایشگاهی وارد شوید اتصال netlab و تنظیمات آنها را بررسی کنید.
شما یک آزمایشگاه با آدرس های IPv4 و تنظیمات اولیه IS-IS در R1 و R2 دریافت خواهید کرد. R1 و R2 به عنوان روترهای لایه 1-2 پیکربندی می شوند.
در صورتی که پیکربندی مسیریابی استاتیک را روی دستگاهی که برای R1 استفاده میکنید پیادهسازی کرده باشیم، مسیرهای ثابت را در R1 دریافت خواهید کرد. در غیر این صورت یک پیام هشدار دریافت خواهید کرد و باید مسیرهای ثابت را برای 0.0.0.0/0 و 172.16.0.0/16 پیکربندی کنید که به 10.0.42.42 اشاره می کند.
مشکل
دو روتر در حال اجرا IS-IS اطلاعات مسیریابی خارجی را منتشر نمی کنند. R2 هیچ مسیر پیش فرضی ندارد و R1 نمی داند چگونه به X2 برسد (پیشوند 172.16.42.0/24 اختصاص داده شده به پیوند R2-X2 در جدول مسیریابی آن وجود ندارد). بنابراین X1 نمی تواند به X2 برسد.
مسیرها در R1 در حال انجام FRRouting
$ netlab connect r1 -q --show ip route
Codes: K - kernel route, C - connected, L - local, S - static,
R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric, t - Table-Direct,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
IPv4 unicast VRF default:
S>* 0.0.0.0/0 [1/0] via 10.0.42.42, eth2, weight 1, 00:00:13
L * 10.0.0.1/32 is directly connected, lo, weight 1, 00:00:15
C>* 10.0.0.1/32 is directly connected, lo, weight 1, 00:00:15
I>* 10.0.0.2/32 [115/20] via 10.1.0.2, eth1, weight 1, 00:00:10
C>* 10.0.42.0/24 is directly connected, eth2, weight 1, 00:00:15
L>* 10.0.42.1/32 is directly connected, eth2, weight 1, 00:00:15
I 10.1.0.0/30 [115/20] via 10.1.0.2, eth1 inactive, weight 1, 00:00:10
C>* 10.1.0.0/30 is directly connected, eth1, weight 1, 00:00:15
L>* 10.1.0.1/32 is directly connected, eth1, weight 1, 00:00:15
S>* 172.16.0.0/16 [1/0] via 10.0.42.42, eth2, weight 1, 00:00:13
مسیرها در R2 در حال انجام FRRouting
$ netlab connect r2 -q --show ip route
Codes: K - kernel route, C - connected, L - local, S - static,
R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric, t - Table-Direct,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
IPv4 unicast VRF default:
I>* 10.0.0.1/32 [115/20] via 10.1.0.1, eth1, weight 1, 00:00:02
L * 10.0.0.2/32 is directly connected, lo, weight 1, 00:00:08
C>* 10.0.0.2/32 is directly connected, lo, weight 1, 00:00:08
I 10.1.0.0/30 [115/20] via 10.1.0.1, eth1 inactive, weight 1, 00:00:02
C>* 10.1.0.0/30 is directly connected, eth1, weight 1, 00:00:08
L>* 10.1.0.2/32 is directly connected, eth1, weight 1, 00:00:08
C>* 172.16.42.0/24 is directly connected, eth2, weight 1, 00:00:08
L>* 172.16.42.2/32 is directly connected, eth2, weight 1, 00:00:08
وظایف پیکربندی
- توزیع مجدد مسیر استاتیک را در IS-IS R1 پیکربندی کنید.
- توزیع مجدد زیرشبکه های متصل در IS-IS در R2 را پیکربندی کنید.
هشدار
برخی از پیاده سازی های IS-IS (به عنوان مثال FRR) از توزیع مجدد مسیر پیش فرض در IS-IS خودداری می کنند. تنها راه ایجاد یک مسیر پیش فرض با استفاده از اطلاعات پیش فرض منشا می گیرد فرمان
هنگام پیکربندی توزیع مجدد مسیر، سعی کنید:
- توزیع مجدد مسیرها فقط در پایگاه داده LSP لایه 2
- یک متریک بالا (مثلا 3000) برای مسیرهای توزیع مجدد تنظیم کنید.
مشاوره
برخی از پیاده سازی های IS-IS (به عنوان مثال Arista EOS) فقط می توانند مسیرهای خارجی را در پایگاه داده لایه 2 توزیع مجدد کنند.
اعتبار سنجی
می توانید استفاده کنید اعتبار سنجی netlab دستور هنگام استفاده از FRRouting در R1 و R2. این چاپی است که پس از پیکربندی توزیع مجدد مسیر پیشفرض در R1 دریافت میکنید و توزیع مجدد رابطهای متصل در R2 را فراموش میکنید.

همچنین می توانید به صورت دستی جداول مسیریابی R1 و R2 را تأیید کنید:
- پیشوند 172.16.42.0/24 باید در جدول مسیریابی R1 باشد.
- پیشوندهای 0.0.0.0/0 و 172.16.0.0/16 باید در جدول مسیریابی R2 باشند.
- X1 باید بتواند X2 را پینگ کند. از آن استفاده کنید اتصال نت لب x2 پینگ x1 اگر نمی خواهید با جزئیات لینوکس گرفتار شوید دستور دهید.
- شما می توانید جزئیات LSP های جداگانه را در پایگاه داده LSP بررسی کنید و بررسی کنید که مسیرهای توزیع مجدد در LSP سطح 1 نیستند.
پشت صحنه
پس از پیکربندی توزیع مجدد مسیر، پایگاه داده LSP را بررسی کنید. تعداد LSP ها تغییر نکرده است. هر روتر هنوز یک LSP را تبلیغ می کند. برخلاف OSPF (که از LSA نوع 5 برای مسیرهای خارجی استفاده می کند)، IS-IS شامل مسیرهای توزیع شده مجدد در LSP روتر است و بین مسیرهای خارجی و داخلی تمایز قائل نمی شود..
LSP سطح 2 در R1 در حال انجام FRRouting. هیچ تفاوتی بین زیرشبکه های IS-IS و مسیرهای خارجی وجود ندارد.
IS-IS Level-2 link-state database:
LSP ID PduLen SeqNumber Chksum Holdtime ATT/P/OL
r1.00-00 * 104 0x00000005 0x0b5f 1679 0/0/0
Protocols Supported: IPv4
Area Address: 49.0001
Hostname: r1
TE Router ID: 10.0.0.1
Router Capability: 10.0.0.1 , D:0, S:0
SR Algorithm:
0: SPF
Extended Reachability: 0000.0000.0002.00 (Metric: 10)
IPv4 Interface Address: 10.0.0.1
Extended IP Reachability: 10.0.0.1/32 (Metric: 10)
Extended IP Reachability: 10.1.0.0/30 (Metric: 10)
Extended IP Reachability: 0.0.0.0/0 (Metric: 3000)
Extended IP Reachability: 172.16.0.0/16 (Metric: 3000)
مشاوره
گنجاندن مسیرهای خارجی در LSP روتر تخلیه LSP را افزایش می دهد (روتر باید LSP خود را هر بار که یک مسیر خارجی تغییر می کند تغییر دهد). از سوی دیگر، محدودیت سختی در مورد تعداد مسیرهایی که یک روتر می تواند در IS-IS توزیع کند وجود دارد. کابوس های FUBAR BGP به OSPF در IS-IS بسیار کمتر مضر هستند.
برخی از پیاده سازی های IS-IS ممکن است ویژگی های اضافی را در مسیرهای IS-IS خارجی تنظیم کنند. به عنوان مثال، Arista EOS به شما امکان می دهد تگ های مسیر را در مسیرهای خارجی تنظیم کنید (از یک برچسب مدیریتی 32 بیتی TLV تعریف شده در RFC 5130 برای حمل برچسب ها استفاده می کند)
R1 LSP تولید شده توسط Arista EOS ممکن است شامل برچسب های مسیر باشد
r1#show isis data detail level-2 r1.00-00
Legend:
H - hostname conflict
U - node unreachable
IS-IS Instance: Gandalf VRF: default
IS-IS Level 2 Link State Database
LSPID Seq Num Cksum Life Length IS Received LSPID Flags
r1.00-00 11 43343 928 133 L2 0000.0000.0001.00-00
LSP generation remaining wait time: 0 ms
Time remaining until refresh: 628 s
NLPID: 0xCC(IPv4)
Hostname: r1
Area addresses: 49.0001
Interface address: 10.1.0.1
Interface address: 10.0.0.1
IS Neighbor : r2.00 Metric: 10
Reachability : 10.0.0.2/32 Metric: 20 Type: 1 Up
Reachability : 172.16.0.0/16 Metric: 3000 Type: 1 Up
Route Tag: 2020
Reachability : 0.0.0.0/0 Metric: 3000 Type: 1 Up
Route Tag: 2020
Reachability : 10.1.0.0/30 Metric: 10 Type: 1 Up
Reachability : 10.0.0.1/32 Metric: 10 Type: 1 Up
Router Capabilities: Router Id: 10.0.0.1 Flags: []
Area leader priority: 250 algorithm: 0
بعدی: از BFD برای سرعت بخشیدن به تشخیص خرابی IS-IS استفاده کنید
اطلاعات مرجع
سیم کشی آزمایشگاه
| دستگاه اولیه | بندر مبدا | دستگاه هدف | بندر مقصد |
|---|---|---|---|
| r1 | eth1 | r2 | eth1 |
| r1 | eth2 | x1 | eth1 |
| r2 | eth2 | x2 | eth1 |
توجه داشته باشید
نام رابط ها به دستگاه های آزمایشگاهی که استفاده می کنید بستگی دارد. پرینت با دستگاه های آزمایشگاهی که FRRouting را اجرا می کنند تولید شد.
آدرس دهی آزمایشگاه
| گره/رابط | آدرس IPv4 | آدرس IPv6 | توضیحات |
|---|---|---|---|
| r1 | 10.0.0.1/32 | Loopback | |
| eth1 | 10.1.0.1/30 | r1 -> r2 | |
| eth2 | 10.0.42.1/24 | r1 -> x1 | |
| r2 | 10.0.0.2/32 | Loopback | |
| eth1 | 10.1.0.2/30 | r2 -> r1 | |
| eth2 | 172.16.42.2/24 | r2 -> x2 | |
| x1 | |||
| eth1 | 10.0.42.42/24 | x1 -> r1 | |
| x2 | |||
| eth1 | 172.16.42.3/24 | x2 -> r2 |




