- SLAAC را از شروع Interface تا ساخت Global Address مرحلهبهمرحله توضیح بدهی
- Router Solicitation و Router Advertisement را از هم تشخیص بدهی
- اطلاعات Prefix و Default Router داخل RA را تحلیل کنی
- نقش Duplicate Address Detection را قبل از استفاده از آدرس توضیح بدهی
- Flagهای M و O را با Stateful و Stateless DHCPv6 مرتبط کنی
- مشکلات RA و SLAAC را روی Client و Router عیبیابی کنی
شروع SLAAC و کشف Router
در IPv4 معمولاً Client یا IP دستی دارد یا از DHCP آدرس میگیرد. IPv6 یک روش دیگر هم دارد: Stateless Address Autoconfiguration یا SLAAC. در SLAAC، Router اطلاعات شبکه را اعلام میکند و Client خودش آدرس مناسب را میسازد. Stateless به این معنی نیست که هیچ اطلاعاتی در شبکه وجود ندارد. منظور این است که یک Server مرکزی لازم نیست لیست کامل Lease آدرسهای Clientها را مثل DHCP معمولی نگه دارد. Client لازم نیست همیشه منتظر RA دورهای بماند. وقتی Interface فعال میشود میتواند Router Solicitation یا RS بفرستد تا Routerهای روی Link سریعتر RA ارسال کنند. RS درخواست اطلاعات Router است و RA پاسخ یا اعلان Router.
ترتیب سادهClient ---- RS ----> Routers
Client <--- RA ----- Routerاین تبادل باعث میشود دستگاه بعد از اتصال به شبکه سریعتر اطلاعات Prefix و Router را پیدا کند. Host برای SLAAC نیاز ندارد منتظر دوره بعدی RA بماند. میتواند یک Router Solicitation از ICMPv6 Type 133 به FF02::2، یعنی All Routers روی همان Link، بفرستد. Router در پاسخ RA با Type 134 ارسال میکند. پیش از این مرحله Host معمولاً Link-Local خود را دارد، چون ارتباط اولیه Neighbor Discovery و Router Discovery بر Scope محلی متکی است. اگر Layer 2 یا Link-Local مشکل داشته باشد، SLAAC هم درست پیش نمیرود؛ به همین دلیل Troubleshooting را نباید از DNS یا DHCPv6 شروع کرد.
ترتیب ساده شروعInterface up
→ Link-Local
→ Router Solicitation (RS)
→ Router Advertisement (RA)
→ ساخت IPv6
→ DAD
→ استفاده از آدرسRouter Advertisement و ساخت آدرس
Routerهای IPv6 پیام Router Advertisement یا RA میفرستند. RA میتواند Prefix شبکه، مدت اعتبار Prefix و اطلاعاتی درباره روش آدرسدهی را اعلام کند. Client با دریافت RA میفهمد چه Prefixی روی Link وجود دارد و کدام Router میتواند مسیر خروجی باشد.
نمای سادهRouter ---- RA ----> Client
RA شامل Prefix و اطلاعات Link است
Client از Prefix برای ساخت IPv6 Address استفاده میکندRA بخشی از Neighbor Discovery است و با ICMPv6 کار میکند. ICMPv6 فقط برای Ping نیست؛ چند وظیفه پایه IPv6 را هم انجام میدهد. بعد از دریافت Prefix، Client باید Interface ID را هم داشته باشد. ترکیب Prefix و Interface ID یک IPv6 Address میسازد. روش ساخت Interface ID میتواند بر اساس سیستمعامل متفاوت باشد؛ EUI-64، شناسه پایدار یا Privacy Address از گزینههای ممکن هستند.
نمونهPrefix از RA: 2001:DB8:50:10::/64
Interface ID فرضی: ::A12:34FF:FE56:7890
Address نهایی:
2001:DB8:50:10:A12:34FF:FE56:7890/64نکته اصلی این است که Router Prefix را اعلام میکند، اما Client بخش پایانی آدرس را خودش میسازد. Client میتواند از RA بفهمد کدام Router روی Link برای خروج از شبکه محلی در دسترس است. این موضوع با IPv4 DHCP فرق دارد؛ Default Router در SLAAC از RA شناخته میشود و معمولاً Link-Local Router در این فرآیند نقش دارد. به همین دلیل ممکن است روی Client ببینی Default Gateway یک آدرس FE80 است. این کاملاً طبیعی است و نباید به خاطر Link-Local بودن آن را اشتباه فرض کنی.
RA فقط یک Prefix خام نیست. Router میتواند Prefix Information، طول Prefix، On-Link بودن Prefix، Lifetimeها و اطلاعات مربوط به Default Router را اعلام کند. برای SLAAC معمول LAN، Prefix باید /64 باشد. Host Prefix advertised را با Interface Identifier خودش ترکیب میکند و آدرس میسازد. Interface Identifier ممکن است EUI-64، الگوریتم پایدار یا Temporary باشد؛ بنابراین دو Host در یک Prefix بخش ۶۴ بیتی اول مشترک دارند، اما بخش پایانی را مستقل تولید میکنند. Default Gateway در IPv6 معمولاً به شکل Link-Local Router در Route Table Host دیده میشود. این موضوع ابتدا عجیب به نظر میرسد، اما منطقی است: برای فرستادن Packet به Router، Host فقط لازم است Router روی همان Link را پیدا کند. GUA Router برای نقش Default Router ضروری نیست. اگر Host آدرس Global داشته باشد اما Default Route ندارد، ممکن است ارتباط Local کار کند ولی مقصدهای Remote قابل دسترس نباشند.
Duplicate Address Detection و اعتبار آدرس
قبل از اینکه Client یک IPv6 Address را به شکل عادی استفاده کند، باید بررسی کند همان آدرس روی Link تکراری نباشد. این فرآیند Duplicate Address Detection یا DAD نام دارد و از پیامهای Neighbor Discovery استفاده میکند. اگر Duplicate پیدا شود، آدرس نباید به شکل عادی استفاده شود. این مکانیزم جلوی بخشی از خطاهای آدرسدهی را میگیرد، اما جای مستندسازی و طراحی درست را نمیگیرد. قبل از اینکه Host آدرس جدید را عادی استفاده کند، Duplicate Address Detection یا DAD بررسی میکند آدرس روی همان Link تکراری نباشد. Host برای آدرس Tentative یک Neighbor Solicitation ارسال میکند. چون هنوز نمیتواند آن آدرس را Source معتبر بداند، Source ممکن است :: باشد. اگر پاسخ یا نشانهای از استفاده همان آدرس دریافت شود، آدرس Duplicate تشخیص داده میشود. اگر پاسخی نباشد، Host آدرس را یکتا در نظر میگیرد و استفاده عادی شروع میشود.
SLAAC در کنار DHCPv6 و Flagهای RA
Router Advertisement میتواند با چند Flag به Client نشان بدهد که اطلاعات Address یا تنظیمات دیگر از چه روشی گرفته شوند. دو علامت معروف M و O هستند. M به استفاده از DHCPv6 برای Address اشاره میکند و O میتواند نشان بدهد اطلاعات دیگری مثل DNS از DHCPv6 گرفته شود. لازم نیست این Flagها را به شکل جدول حفظ کنی. نکته اصلی این است که SLAAC و DHCPv6 میتوانند کنار هم کار کنند و Router با RA به Client درباره روش مورد استفاده شبکه سرنخ میدهد. Default Router همچنان از RA شناخته میشود. SLAAC و DHCPv6 دو چیز جدا هستند. SLAAC میتواند Address را بدون DHCPv6 بسازد. DHCPv6 میتواند برای دادن اطلاعات اضافی یا در بعضی طراحیها برای خود Address استفاده شود. Router Advertisement با Flagهای مشخص به Client میگوید چه روشی در شبکه استفاده میشود.
برای CCNA باید تفاوت کلی را بفهمی: RA همیشه در کشف Router و اطلاعات Link مهم است؛ DHCPv6 جای RA را برای Default Gateway نمیگیرد. RA دو Flag مهم برای ارتباط با DHCPv6 دارد. Managed یا M Flag به Host میگوید برای Address Configuration از Stateful DHCPv6 استفاده کند. Other Configuration یا O Flag معمولاً یعنی آدرس میتواند با SLAAC ساخته شود ولی اطلاعات دیگری مثل DNS از DHCPv6 گرفته شود. این ترکیب به پیادهسازی بستگی دارد، اما یک اصل مهم ثابت است: DHCPv6 Default Router را مانند DHCPv4 Option 3 تحویل نمیدهد؛ Default Router از Router Advertisement میآید.
نمونه تنظیم Flag روی Cisco IOSinterface GigabitEthernet0/0
ipv6 nd managed-config-flag
! یا
ipv6 nd other-config-flagLifetime، Default Router و عیبیابی Client
Prefix داخل RA میتواند مدت اعتبار داشته باشد. این ویژگی کمک میکند اگر Prefix شبکه تغییر کرد، Clientها برای همیشه آدرس قدیمی را معتبر فرض نکنند. سیستمعامل میتواند آدرس قدیمی را مدتی نگه دارد و بعد از پایان Lifetime آن را کنار بگذارد. در عیبیابی، اگر روی Client چند GUA از Prefixهای قدیمی و جدید میبینی، فقط به وجود چند Address نگاه نکن. زمان اعتبار، RAهای جدید و Configuration Router را هم بررسی کن. روی Windows با ipconfig، روی Linux با ip address و روی Router Cisco با show ipv6 interface میتوانی آدرس، Prefix و وضعیت IPv6 را بررسی کنی. اگر Client GUA ندارد، فقط نگاه کردن به DHCP کافی نیست؛ باید ببینی RA به Client میرسد یا نه.
RA و Prefixها Lifetime دارند. Preferred Lifetime مشخص میکند آدرس تا چه زمانی برای شروع ارتباطهای جدید ترجیح داده شود و Valid Lifetime مدت اعتبار کلی را محدود میکند. این مکانیزم Renumbering را سادهتر میکند، چون یک Prefix قدیمی میتواند ابتدا Deprecated شود و بعد از پایان Valid Lifetime کنار برود. در عیبیابی، اگر Client آدرسهای قدیمی و جدید را همزمان دارد، آن را فوراً Duplicate یا خرابی ندان؛ Lifetime و وضعیت Preferred/Deprecated را بررسی کن.
بررسی روی Client و RouterWindows: ipconfig /all
Linux: ip -6 addr ; ip -6 route
Cisco: show ipv6 interface
show ipv6 neighborsیک Laptop به VLAN کاربران متصل میشود و Link-Local دارد، اما هیچ Global IPv6 و Default Route دریافت نمیکند. روی Switch Access و Link Layer مشکلی دیده نمیشود. با Capture مشخص میشود RS از Client خارج میشود ولی RA برنمیگردد. این تست DHCPv6 را هنوز متهم نمیکند؛ اول باید Router Interface، ipv6 unicast-routing، وضعیت RA و Prefix /64 را بررسی کرد. اگر RA برگردد و Prefix درست باشد، آن وقت مرحله ساخت آدرس و DAD بررسی میشود.
اشتباههای رایج درباره SLAAC و DHCPv6
- SLAAC را معادل DHCPv6 ندان
- Default Router را از DHCPv6 انتظار نداشته باش
- وجود GUA بدون Default Route را اتصال کامل فرض نکن
- Prefix غیر /64 را برای SLAAC عادی LAN بدون دلیل استفاده نکن
- آدرس Tentative یا Deprecated را بدون بررسی وضعیت بهعنوان Duplicate قطعی تفسیر نکن
تمرین SLAAC و Router Advertisement
- ترتیب RS، RA، ساخت آدرس و DAD را بدون نگاه کردن به متن رسم کن
- در Packet Capture فیلتر icmpv6 بگذار و RS/RA را پیدا کن
- روی Client آدرس IPv6 و Default Route را همزمان بررسی و Link-Local Router را مشخص کن
- تفاوت M Flag و O Flag را با دو سناریوی DHCPv6 توضیح بده
- سناریویی طراحی کن که Host GUA دارد ولی به Remote Network دسترسی ندارد و علت را از روی RA پیدا کن
نکتههایی که باید با خودت ببری
- SLAAC برای ساخت آدرس از Prefix اعلامشده در RA استفاده میکند
- RS از Host برای پیدا کردن Router و RA از Router برای اعلام اطلاعات است
- SLAAC عادی روی LAN با Prefix /64 کار میکند
- DAD قبل از استفاده عادی آدرس یکتایی آن را روی Link بررسی میکند
- M و O Flag رابطه Client با DHCPv6 را مشخص میکنند
- Default Router از RA یاد گرفته میشود، نه DHCPv6
فرایند Autoconfiguration را دنبال کن
Host برای درخواست سریع اطلاعات Router چه پیامی میفرستد؟
Router Solicitation یا RS از ICMPv6 Type 133، معمولاً به FF02::2.
چرا Client میتواند Default Router را با Link-Local بشناسد؟
Router روی همان Link قرار دارد و برای Next Hop محلی نیازی به GUA Router نیست.
M Flag در RA چه مفهومی دارد؟
به Host نشان میدهد برای Configuration آدرس از Stateful DHCPv6 استفاده کند.
اگر GUA وجود دارد ولی Default Route نیست، اولین مظنون چیست؟
Router Advertisement و اطلاعات Default Router داخل آن باید بررسی شود.
منابع مرجع این درس
برای ذخیره پیشرفت وارد حساب شو
حساب کاربری برای آزمون و ثبت مرحلهها استفاده میشود