بعضی از پروتکل های مسیریابی مانند IS-IS و MP-BGP که قابلیت توسعه پذیری در آنها قبلا دیده شده است، برای آنکه روی بستر IPV6 نیز قابل استفاده باشند، فقط کافی است تا فیلدهای جدیدی برای انتقال IPV6 به آنها اضافه شود اما پروتکل هایی مانند RIP، EIGRP و OSPF که توسعه پذیر طراحی نشدا اند ،
برای انتقال IPV6 محدودیت دارند و لذا مجددا بازنویسی شده اند تا به صورت خاص بتوانند IPV6 را منتقل کنند. در این راستا نسخه OSPF در IPV4 از V2 به V3 در IPV6 تغییر کرده است. لیست دیگر پروتکل های مسیریابی IPV6 نسبت به IPV4 جهت مقایسه در ذیل آمده است.
توضیحات | پروتکل های مسیریابی IPV6 | پروتکل های مسیریابی IPV4 |
RIPng (RIP Next Generation) | RIP | RIP مجددا برای IPV6 بازنویسی شده است |
OSPF V3 | OSPF V2 | OSPF مجددا برای IPV6 باز نویسیس شده است |
EIGRP for IPV6 | EIGRP for IPV4 | EIGRP مجددا برای IPV6 بازنویسی شده است |
IS-IS | IS-IS | IS-IS از پروتکل های توسعه پذیر است و قابلیت انتقال IPV6 را نیز دارد |
MP-BGP | BGP | BGP فقط قابلیت انتقال IPV4 را دارد |
MP-BGP | MP-BGP | MP-BGP علاوه بر IPV4 قابلیت انتقال انواع دیگر پروتکل ها مانند IPV6، VPNV4 و VPNV6 را نیز داراست |
مقایسه انواع LSA در OSPFV3 با OSPFV2
حال این سوال مطرح می شود که پروتکل هایی مانند RIP، EIGRP و OSPF آیا صرفا بازنویسی شده اند و هیچ تغییری نکرده اند؟ بدیهی است وقتی پروتکلی مجددا بازنویسی می شود سعی می شود تا مشکلات قبلی آن برطرف شود یا در صورت امکان بهبودهایی نیز روی آن صورت گیرد. در این بین همه پروتکل های RIPng، EIGRP for IPV6 و OSPF V3 تغییراتی داشته اند که عمده این تغییرات جزئی بوده اند و در عملکر اصلی پروتکل تغییری ایجاد نکرده است
پروتکل OSPF نسبت به دیگر پروتکل های مسیریابی بیشترین تغییر را در بستر IPV6 نسبت به IPV4 داشته است که در ادامه به آنها خواهیم پرداخت.
تغییراتی که در OSPF V3 نسبت به OSPF V2 وجود دارد به شرح ذیل می باشد:
- فعال کردن اینترفیس در OSPF از طریق خود OSPF صورت می گیرد
برای فعال کردن اینترفیس در OSPF V2 دو روش وجود دارد. استفاده از دستور network در محیط router ospf و همچنین فعال کردن اینترفیس به صورت مستقیم در محیط interface از روش های فعال کردن اینترفیس در OSPF V2 هستند. در OSPF V3 حتما باید از محیط interface برای فعال کردن اینترفیس استفاده شود. به عنوان مثال استفاده از دستور ipv6 ospf 1 area 2، اینترفیس را در Area 2 و پروسه OSPF 1 فعال می کند. ضمنا این دستور به صورت اتوماتیک ipv6 router ospf 1 را نیز در روتر فعال می کند.
interface Serial2/0 ipv6 ospf 1 area 0 |
فعال کردن اینترفیس در OSPF
- باید router-id را به صورت دستی پیکربندی کنید
در OSPF V2 شناسه و یا همان router-id روتر به صورت اتوماتیک از روی آدرس یکی از اینترفیس های روتر برداشته می شود (البته اگر به صورت دستی تنظیم نشده باشد) اما در OSPF V3 حتما باید router-id را به صورت دستی وارد نمایید زیرا ممکن است هیج آدرسی از نوع IPV4 روی روتر وجود نداشته باشد. در OSPF V3، شناسه روتر همچنان 32 بیتی است و فرمت آن شبیه به آدرس IPV4 است.
- اجرای چندین نمونه از OSPF در یک لینک
ویژگی جدیدی در OSPFV3 به نام Instance Id وجود دارد که در بسته های OSPF منتقل می شود و حتما باید بین روترهای همسایه یکسان باشد. Instance Id به صورت پیش فرض صفر است و بنابراین بین همه روترهای همسایه یکسان است. حتما این سوال در ذهن شماست که این ویژگی جدید چه کاربردی را فراهم می کند؟ اگر روی لینکی 4 روتر به نام های A، B، C و D داشته باشید و بخواهید بین دو روتر A و B همسایگی ایجاد شود و همچنین بین روترهای C و D هم همسایگی ایجاد گردد اما بین روتر های A و B با روترهای C و D هیچگونه همسایگی ایجاد نشود می تواد از Instance Id استفاده کنید بدین صورت که Instance Id روترهای A و B با روترهای C و D متفاوت باشد. به عنوان مثال روی روترهای A و B مقدار Instance Id را به 33 و روی روترهای C و D مقدار Instance Id را 44 قرار دهید. برای انجام پیکربندی فوق از دستور ipv6 ospf 1 area 0 instance 33 روی روترهای A و B و دستور ipv6 ospf 1 area 0 instance 44 روی روتر های C و D در محیط اینترفیس استفاده کنید.
- ارسال بسته های OSPF با آدرس مبدا link locally
در OSPFV3 همه بسته های OSPF غیر از بسته هایی که روی virtual link ارسال می گردد، با آدرس مبدا link locally ارسال می گردد. نه تنها این پروتکل بلکه همه پروتکل هایی که در IPV6، محدوده ارسال های آنها در سطح لینک است، از آدرس Link locally برای ارسال ترافیک استفاده می کنند. البته هدف آدرس link locally نیز همین است تا ارتباطات داخل لینک با این نوع آدرس صورت گیرد. در OSPF یک استثنا نیز وجود دارد و آن اینکه بسته های OSPF روی virtual link با آدرس globally ارسال می شود زیرا دو روتر در دو طرف virtual link واقعا روی یک لینک نیستند و در صورت استفاده از آدرس link locally قادر به ارتباط با یکدیگر نخواهند بود.
IOU#sh ipv6 ospf neighbor detail Neighbor 2.2.2.2 In the area 0 via interface Serial2/0 Neighbor: interface-id 11, link-local address FE80::A8BB:CCFF:FE00:200 Neighbor priority is 0, State is FULL, 6 state changes !!! بخشی از خروجی حذف شده است |
ارسال بسته های OSPF با آدرس Link Locally
- احراز هویت در OSPFV3
در OSPF V2 از دو روش احراز هویت clear text و md5 پشتیبانی می شود. اما در OSPF V3 و همه دیگر پروتکل های مسیریابی IPV6 از مکانیزم احراز هویت به طور مستقل پشتیبانی نمی شود. این بدان دلیل است که IPV6 خودش از قابلیت پروتکل های IPSec یعنی AH و ESP پشتیبانی می کند و OSPF V3 نیز به احراز هویت این دو پروتکل متکی است. پروتکل های IPSec علاوه بر قابلیت احراز هویت از "اطمینان از عدم تغییر محتوی" (جعل محتوی) و همچنین رمز نگاری پشتیبانی می کنند.
در ادامه چگونگی بکارگیری IPSec را در OSPF V3 با جزئیات بیشتر بررسی می کنیم.
- و مهمتر از همه ایجاد دو نوع LSA جدید در OSPF V3
شاید مهمترین تغییر در OSPF V3 نسبت به OSPF V2 در انواع LSA باشد. در OSPF V3 در محتوی LSA Type 1 و LSA Type 2 تغییراتی جزئی داده شده است و دو LSA جدید نیز به نام های LSA Type 8 و LSA Type 9 به مجموعه LSA ها اضافه شده است. در مورد انواع LSA در OSPF V3 نیز در ادامه به تفصیل بحث خواهیم نمود.
موارد فوق به تفاوت های OSPF V3 به OSPF V2 اشاره می کند. اما یادآور می شوم که عمدتا ویژگی های OSPF بین این دو نسخه تغییری نداشته است. در ذیل لیست بعضی از شباهت های این دو نسخه اشاره شده است
- روش طراحی Area
- انواع Area و Stubby Area
- Summarization
- فیلترینگ در OSPF
- Virtual Link
- انواع شبکه و اینترفیس در OSPF
- انواع متریک در OSPF
- مفاهیم DR و BDR
- و ...
در ادامه دو تا از مهمترین تفاوت های OSPFV3 که یکی احراز هویت و دیگری انواع LSA است را با جزئیات بیشتر مورد بررسی قرار می دهیم. سپس به عنوان بحث پایانی نیز نکات پیاده سازی OSPFV3 را در شبکه FrameRelay مورد بررسی قرار می دهیم.
احراز هویت در OSPF V3
پروتکل OSPF V2 از دو روش احراز هویت md5 و clear text پشتیبانی می کند. در OSPF V3 و همچنین دیگر پروتکل های مسیریابی IPV6 از روش های احراز هویت به طور مستقل حمایت نمی شود بلکه به روش های امنیتی خود پروتکل IPV6 متکی هستند. IPV6 از روش امنیتی IPSec حمایت می کند که خود شامل دو پروتکل AH و ESP است. در پروتکل AH صرفا Authentication وجود دارد که اطمینان از عدم جعل هویت و جعل سند را تضمین می کند اما پروتکل ESP علاوه بر Authentication، Encryption و یا رمز نگاری را نیز پشتیبانی می کند.
در OSPF V3 از هر دو پروتکل AH و ESP پشتیبانی می شود اما در حال حاضر صرفا از ویژگی Authentication این دو پروتکل در OSPFV3 حمایت می شود.
برای پیاده سازی Authentication در OSPFV3 از یکی از دو شیوه زیر استفاده کنید:
- فعال سازی در سطح اینترفیس
- فعال سازی Authentication در سطح Area که روی همه اینترفیس ها فعال می شود و روش منطقی تری است.
فعال سازی Authentication در سطح اینترفیس
برای فعال سازی Authentication در سطح اینترفیس نام پروتکل IPSec، پارامترSPI، روش Hashing و کلید را وارد نمایید. پارامتر SPI که 32 بیتی است همانند key id در OSPF V2 عمل می کند و اختیاری است اما در صورت استفاده باید بین طرفین یکسان باشد. دو روش hashing به نام های MD5 و SHA1 وجود دارد که در صورت استفاده از الگوریتم MD5 سایز کلید 128 بیتی و یا 32 رقم هگزادسیمال است. در صورت استفاده از الگوریتم SHA1 سایز کلید 160 بیتی و یا 40 رقم هگزادسیمال است. دقت کنید که سایز کلید با توجه به نوع الگوریتم hashing باید دقیقا 32 و 40 رقمی باشد.
می توانید از دستور dd در محیط لینوکس برای تولید کلید md5 و یا sha1 استفاده کنید
LinuxBox$ dd if=/dev/urandom count=1024 | sha1sum 954644a966d69bc14f6148b0be865b803f3bc9c9 - 1024+0 records in 1024+0 records out 524288 bytes (524 kB) copied, 0.0940048 s, 5.6 MB/s |
تولید کلید MD5 و SHA1 در محیط لینوکس
در ذیل چگونگی پیاده سازی احراز هویت در سطح اینترفیس نشان داده شده است
پیاده سازی احراز هویت در OSPFV3
راه اندازی احراز هویت در سطح اینترفیس در OSPFV3
!!! IOU1 ipv6 router ospf 1 router-id 1.1.1.1 log-adjacency-changes ! interface Ethernet0/0 ipv6 address 2001:1:1:1::1/64 ipv6 ospf 1 area 0 ipv6 ospf authentication ipsec spi 500 md5 1234567890ABCDEF1234567890ABCDEF ! !!! IOU2 ipv6 router ospf 1 router-id 2.2.2.2 log-adjacency-changes ! interface Ethernet0/0 no ip address ipv6 address 2001:1:1:1::2/64 ipv6 ospf 1 area 0 ipv6 ospf authentication ipsec spi 500 md5 1234567890ABCDEF1234567890ABCDEF ! IOU1#sh ipv6 ospf interface ethernet 0/0 | inc MD5 MD5 authentication SPI 500, secure socket UP (errors: 0) |
راه اندازی احراز هویت در سطح اینترفیس در OSPFV3
فعال سازی Authentication در سطح Area
در صورت فعال کردن Authentication در سطح Area همه اینترفیس های Area مورد نظر به ویژگی احراز هویت مجهز می شوند. شیوه پیاده سازی احراز هویت در سطح Area از همان قوانین فعال سازی احراز هویت در سطح اینترفیس تبعیت می کند. فیلد SPI اختیاری است و سایز کلید با توجه به نوع روش hashing که SHA1 و یا MD5 است باید 32 رقمی و یا 40 رقمی در فرمت هگزا دسیمال تعیین شود. دستور زیر شیوه فعال سازی احراز هویت را در سطح Area نشان می دهد.
ipv6 router ospf 1 area 0 authentication ipsec spi 400 md5 1234567890ABCDEF1234567890ABCDEF |
راه اندازی احراز هویت در سطح Area در OSPFV3