- کاربرد و Scope آدرس Link-Local را توضیح بدهی
- FE80::/10 را در خروجیها تشخیص بدهی و محدودیت Routing آن را بفهمی
- Interface Identifier و Modified EUI-64 را مرحلهبهمرحله محاسبه کنی
- Link-Local خودکار و دستی را روی Cisco IOS بررسی کنی
- Zone ID را برای آدرسهای Link-Local روی سیستمعامل توضیح بدهی
- استفاده Link-Local بهعنوان Next Hop را درست تحلیل کنی
Link-Local و Scope یک Link
Link-Local Address از Prefix FE80::/10 استفاده میکند. معنی Scope محلی این است که این آدرس فقط داخل همان Link معتبر است. اگر دو Interface پشت یک Router در دو شبکه مختلف باشند، Link-Local یک سمت به سمت دیگر Route نمیشود. این محدودیت اتفاقاً مزیت است. دستگاهها میتوانند بدون داشتن GUA با Neighborهای همان لینک صحبت کنند و فرآیندهای پایه IPv6 را انجام بدهند. Link در IPv6 به مجموعه Interfaceهایی گفته میشود که بدون عبور از Router میتوانند مستقیماً با هم تبادل لایه ۲ داشته باشند؛ یک VLAN نمونه رایج آن است. FE80::/10 برای همین محدوده تعریف شده است. Router ممکن است روی هر Interface خود یک Link-Local داشته باشد و حتی میتوان همان مقدار FE80::1 را روی Interfaceهای مختلف Router استفاده کرد، چون هرکدام در Scope یک Link جدا قرار دارند. چیزی که ممنوع و مشکلساز است Duplicate بودن آدرس در یک Link مشترک است.
بسیاری از عملیات پایه IPv6 حتی اگر Global Unicast نداشته باشیم با Link-Local کار میکنند. دو Node روی یک VLAN میتوانند با Link-Local ارتباط داشته باشند، Router Advertisement از Link-Local Router استفاده میکند و Routeها ممکن است Next Hop را به شکل Link-Local نشان دهند. بنابراین در Troubleshooting، سالم بودن Link-Local یک تست میانی مهم بین سلامت Layer 2 و سلامت کامل Routed Connectivity است.
Interface Identifier و Modified EUI-64
در یک /64، ۶۴ بیت اول Prefix شبکه هستند و ۶۴ بیت دوم معمولاً Interface ID نام دارند. Interface ID بخشی است که Interface را داخل همان Prefix مشخص میکند. لازم نیست همیشه از MAC ساخته شود؛ میتواند دستی، تصادفی، Privacy-based یا با روشهای دیگر تولید شود.
نمونهFE80::1234:5678:9ABC:DEF0
FE80::/64 بخش Prefix محلی را نشان میدهد
1234:5678:9ABC:DEF0 نمونه Interface ID استدر بعضی مستندات FE80::/10 را میبینی و در نمایش Interface معمولاً Link-Local با /64 استفاده میشود. برای CCNA کافی است محدوده FE80::/10 و نقش ۶۴ بیت Interface ID در LAN را بشناسی. EUI-64 روشی است که میتواند از MAC Address یک Interface ID 64 بیتی بسازد. MAC معمولی ۴۸ بیت است. برای تبدیل، مقدار FFFE وسط MAC قرار میگیرد و یک بیت مشخص در بخش اول تغییر میکند. نتیجه یک شناسه ۶۴ بیتی است.
نمونه سادهشدهMAC: 00:1A:2B:3C:4D:5E
میانه اضافه میشود:
00:1A:2B:FF:FE:3C:4D:5E
سپس U/L bit تغییر میکند و Interface ID نهایی ساخته میشود.لازم نیست هر بار این تبدیل را دستی در شبکه واقعی انجام بدهی، اما CCNA از تو انتظار دارد مفهوم Modified EUI-64 را بشناسی و بتوانی ساختار کلی آن را توضیح بدهی. Modified EUI-64 یک روش تاریخی و آموزشی برای ساخت Interface Identifier ۶۴ بیتی از MAC ۴۸ بیتی است. ابتدا MAC را به دو بخش ۲۴ بیتی تقسیم میکنیم، FFFE را وسط آن قرار میدهیم تا ۶۴ بیت شود، سپس بیت U/L در اولین Byte را معکوس میکنیم. برای MAC برابر 00:1C:42:2E:60:4A، بعد از درج FFFE مقدار 00:1C:42:FF:FE:2E:60:4A بهدست میآید و با تغییر بیت U/L، Byte اول از ۰۰ به ۰۲ تبدیل میشود.
Modified EUI-64MAC: 00:1C:42:2E:60:4A
Insert FFFE: 00:1C:42:FF:FE:2E:60:4A
Flip U/L bit: 02:1C:42:FF:FE:2E:60:4A
Interface ID: 021c:42ff:fe2e:604aتولید خودکار و پیکربندی دستی Link-Local
وقتی IPv6 روی یک Interface فعال میشود، سیستم میتواند یک Link-Local بهصورت خودکار بسازد. روش دقیق تولید Interface ID به سیستمعامل و تنظیمات بستگی دارد. پس انتظار نداشته باش Link-Local همیشه از MAC قابل حدس باشد. روی سیستمهای جدید Privacy و روشهای تصادفیسازی باعث میشوند Interface ID لزوماً MAC را نشان ندهد. این موضوع برای عیبیابی مهم است؛ از ظاهر آدرس درباره MAC نتیجه قطعی نگیر. روی Router Cisco میتوان Link-Local را دستی تعیین کرد. این کار گاهی برای خوانایی و مستندسازی مفید است، مثلاً FE80::1 روی Gateway یک LAN. دستور در Interface Configuration وارد میشود.
نمونه Configurationinterface GigabitEthernet0/0
ipv6 address FE80::1 link-local
no shutdownکلمه link-local به IOS میگوید این آدرس با Scope محلی تنظیم میشود. همین Interface میتواند همزمان یک GUA هم داشته باشد. در سیستمهای امروزی نباید انتظار داشته باشی همه Interface IDها از MAC و EUI-64 ساخته شوند. سیستمعاملها ممکن است از شناسههای پایدار یا Temporary Address برای حریم خصوصی استفاده کنند. در Cisco IOS میتوان EUI-64 را صریحاً در Configuration درخواست کرد یا Link-Local را دستی تعیین کرد. پس اگر بخش پایانی آدرس شبیه MAC نبود، نتیجه نگیر Configuration خراب است؛ ابتدا ببین آدرس با چه روشی ساخته شده است.
Cisco IOSinterface GigabitEthernet0/0
ipv6 address 2001:db8:10:1::/64 eui-64
! یا Link-Local دستی
ipv6 address FE80::1 link-local
no shutdownZone ID و تکرار آدرس روی Interfaceهای مختلف
چون Link-Local از Router عبور نمیکند، یک Router میتواند روی Interfaceهای مختلف Link-Local یکسانی مثل FE80::1 داشته باشد. این موضوع در نگاه اول عجیب است، ولی Scope هر آدرس به Interface مربوط خودش محدود میشود. به همین دلیل هنگام Ping کردن یک Link-Local روی بعضی سیستمها باید Interface خروجی یا Zone ID را هم مشخص کنی. بدون این اطلاعات سیستم ممکن است نداند FE80::1 مربوط به کدام Link است. اگر یک سیستم چند Interface داشته باشد، ممکن است روی هرکدام Neighborی با Link-Local مشابه وجود داشته باشد. چون خود FE80 فقط روی Link محلی معنی دارد، سیستمعامل گاهی باید بداند Packet از کدام Interface خارج شود. برای همین کنار Link-Local ممکن است یک Zone ID یا نام Interface ببینی.
نمونه مفهومیFE80::1%Ethernet
FE80::1%12علامت % و مقدار بعد از آن جزو خود IPv6 Address نیست. این اطلاعات فقط به سیستمعامل کمک میکند Scope را به Interface درست وصل کند. در Cisco IOS معمولاً Interface خروجی را در Command یا Route مشخص میکنی. چون Link-Local فقط در Scope یک Interface معنا دارد، سیستمعامل هنگام استفاده از آن گاهی باید بداند Packet از کدام Interface خارج شود. به این مشخصکننده Zone ID یا Scope ID گفته میشود. در Windows ممکن است آدرسی مثل fe80::1234%۱۲ ببینی که %۱۲ شناسه Interface است. در بعضی Linuxها نام Interface بعد از % میآید. این علامت بخشی از ۱۲۸ بیت IPv6 نیست؛ فقط به سیستم محلی میگوید کدام Link مورد نظر است.
Link-Local بهعنوان Next Hop و روش بررسی
در IPv6 ممکن است Routing Table، Next Hop را به شکل Link-Local نمایش دهد. این رفتار طبیعی است چون Router بعدی روی همان لینک مستقیماً با Link-Local قابل شناسایی است. لازم نیست Next Hop حتماً GUA باشد. در مرحله Routing این موضوع را با Static Route و OSPF کاملتر میبینیم. فعلاً مهم است که دیدن FE80 در Routing Table را خطا تصور نکنی.
دستورهای مفیدshow ipv6 interface brief
show ipv6 interface gigabitEthernet 0/0دستور اول خلاصه Interfaceها و آدرسهای IPv6 را نشان میدهد. دستور دوم اطلاعات جزئیتر همان Interface را نمایش میدهد. با این خروجی میتوانی Link-Local و GUA را کنار هم ببینی و وضعیت Interface را هم بررسی کنی. در Routing IPv6 استفاده از Link-Local بهعنوان Next Hop رایج است. چون FE80::1 ممکن است روی Linkهای مختلف تکرار شود، Router برای Routeهای دستی معمولاً باید بداند این Next Hop از کدام Interface قابل دسترسی است. این موضوع دلیل خوبی است که Route Table را فقط از روی آدرس Next Hop نخوانی؛ Exit Interface و Prefix مقصد را هم بررسی کن. در پروتکلهای Routing IPv6 نیز همسایگی روی Link میتواند با Link-Local شکل بگیرد.
بررسی روی Cisco IOSshow ipv6 interface brief
show ipv6 interface GigabitEthernet0/0
show ipv6 neighbors
show ipv6 routeدو Router روی VLAN 100 به هم متصلاند. R1 روی G0/0 آدرس FE80::1 و R2 آدرس FE80::2 دارد. ارتباط Link-Local بین آنها بدون نیاز به Global Unicast روی همان Link ممکن است. اگر روی R1 یک Route با Next Hop برابر FE80::2 تعریف شود، Exit Interface نیز اهمیت دارد تا R1 بداند FE80::2 مربوط به کدام Link است. این سناریو نشان میدهد Link-Local فقط یک آدرس خودکار جانبی نیست؛ بخشی از عملکرد واقعی IPv6 است.
اشتباههای رایج درباره Link-Local و EUI-64
- Link-Local را به اینترنت یا Site دیگر Route نکن
- فرض نکن هر Interface ID باید از MAC ساخته شده باشد
- FFFE را بدون تغییر بیت U/L بهعنوان EUI-64 نهایی در نظر نگیر
- Zone ID مثل %۱۲ را بخشی از خود IPv6 حساب نکن
- Next Hop لینکلوکال را بدون توجه به Exit Interface تحلیل نکن
تمرین Link-Local و Interface ID
- برای MAC برابر 00:25:96:12:34:56 مقدار Modified EUI-64 را مرحلهبهمرحله محاسبه کن
- روی Router آزمایشگاهی یک Link-Local دستی تنظیم و با show ipv6 interface brief بررسی کن
- روی سیستم خودت Link-Local و Scope ID کارتهای شبکه را پیدا کن
- توضیح بده چرا FE80::1 میتواند روی دو Interface جدا از یک Router استفاده شود ولی روی یک VLAN مشترک نباید Duplicate باشد
- یک Route نمونه با Next Hop لینکلوکال طراحی کن و مشخص کن چرا Exit Interface مهم است
نکتههایی که باید با خودت ببری
- Link-Local با FE80::/10 فقط روی همان Link معتبر است
- هر Interface فعال IPv6 معمولاً Link-Local دارد
- Modified EUI-64 با درج FFFE و تغییر بیت U/L ساخته میشود
- سیستمهای مدرن الزاماً از EUI-64 برای همه آدرسها استفاده نمیکنند
- Zone ID Interface محلی را مشخص میکند و جزو آدرس نیست
- Link-Local میتواند Next Hop یک Route IPv6 باشد
Link-Local را عملی تحلیل کن
چرا Router آدرس Link-Local را به Link دیگر Forward نمیکند؟
Scope این آدرس فقط همان Link است و برای ارتباط خارج از آن طراحی نشده است.
در Modified EUI-64 چه مقداری وسط MAC قرار میگیرد؟
FFFE؛ سپس بیت U/L در Byte اول نیز معکوس میشود.
%۱۲ بعد از یک Link-Local در Windows چه مفهومی دارد؟
Scope یا Interface ID محلی سیستم است تا Link خروجی مشخص شود و بخشی از ۱۲۸ بیت آدرس نیست.
چرا هنگام استفاده از Link-Local بهعنوان Next Hop ممکن است Exit Interface لازم باشد؟
چون همان Link-Local میتواند روی Linkهای دیگر نیز وجود داشته باشد و Router باید Link درست را تشخیص دهد.
منابع مرجع این درس
برای ذخیره پیشرفت وارد حساب شو
حساب کاربری برای آزمون و ثبت مرحلهها استفاده میشود